Ana içeriğe atla

Kayıtlar

Nisan, 2010 tarihine ait yayınlar gösteriliyor

UML ve Modelleme – Bölüm 11 (4+1 Bakış)

Önceki 10 bölümde, UML diyagramlarının sistem yaşam döngüsünün farklı aşamalarında kullanıldığını görmüştük. Bu makalemizle birlikte UML ve Modelleme serimizi sonlandırmış oluyoruz. Geçmişteki UML makalelerimize şöyle bir göz atalım; Bölüm 1: Giriş Bölüm 2: Diyagramlar Bölüm 3: Use Case Diyagramlar Bölüm 4: Class Diyagramlar Bölüm 5: Object Diyagramlar Bölüm 6: State Diyagramlar Bölüm 7: Sequence Diyagramlar Bölüm 8: Collaboration Diyagramlar Bölüm 9: Activity Diyagramlar Bölüm 10: Component ve Deployment Diyagramlar Ayrıca analiz süreci ile ilgili aşağıdaki makalelerimiz de ilginizi çekebilir; Analiz Süreci ve Rol Tanımları Analist Yazılım Uzmanı İş Analisti Müşteri İhtiyacını Ön Analiz ile Anlamak Bu yazımızda 4+1 bakışı ile UML diyagramlarını sınıflandıracağız. 4+1 bakışı aslında sistemin yazılım yaşam döngüsündeki görünüşünü anlatır. Her bir bakış sistemin nasıl modelleneceğini gösterir.

Birim (Unit) Testinde Dikkat Edilecekler

Bundan önceki yazılarmızda Birim testleri ve TDD (Test Driven Development) ile ilgili genel bilgiler vermiştik. TDD (Test Güdümlü Geliştirme); Production kodunu yazmadan önce test kodlarını geliştirme yaklaşımıdır. Kısa development döngülerinin tekrarlanması üzerine kurulu bir yazılım geliştirme tekniğidir… Birim (Unit) testleri; Birim testi bir yazılım projesindeki metotların, fonksiyonların doğru çalışıp çalışmadığını anlamak için oluşturulan testtir. Bir testin birim testi olabilmesi için test edilecek birimlerin ayrı ayrı ele alınması gerekmektedir. Şu andaki tecrübelerimizle (!), gerçek hayatta, Birim testlerinde nelere dikkat etmeliyiz bir göz atalım; Test fonksiyonları küçük ve hızlı olmalı. (Her check-inden sonra çalıştırmak ideal olacağı için.) Otomatik olarak çalışabilir olmalı. Bir buton click ile kolayca çalıştırılabilmeli. Code covarage yüksek olmalı ve ölçülebilmeli, gözlenmeli. Birim testinde hata alınan yer derhal düzeltilmeli. Sadece birimlerin işlevlerini test edecek ş…

Online İtibar Nedir?

İnternet ve dijital içerikler, teknolojik örümcek ağlarıyla etrafımızı öyle bir sardı ki; orada yazılan herşeye inanır olduk. Bu sanal çıktılar hayatımız ve önemli kararlarımız için yönlendirici oldu, olmaya da devam ediyor. Aziz Google, muhterem Yahoo,  değerli Facebook, çılgın Twitter, LinkedIn, FriendFeed, Blogger, MySpace, YouTube … diye liste uzuyor. Peki burada yazılanların hepsi doğru mu, birileri size kızdığı veya sizinle rekabet ettiği için bu dünyayı kötüye kullanabilir mi? Elbette kullanabilir. Adınızı ve markanızı karalayabilir. Kısaca itibarınızı zedeleyebilir. Internet stratejisti Atıf ÜNALDI, Türkiye’de Online İtibarın geldiği nokta ile ilgili şunları diyor: “Aslında Türkiye’de durum iyi. Hayatımda ilk defa bir teknolojik bilginin Türkiye’ye geç ulaşmasından memnunum. Zira özellikle Amerika’da e-devlet faaliyetlerinden tutun da, vatandaşlık bilgilerine kadar birçok bilgi internet üzerinden yapılabildiğinden, her türlü bilgiyi toplayıp, indeksleyen ve bu indekslediği bil…

UML ve Modelleme – Bölüm 10 (Component ve Deployment Diyagramlar)

Önceki makalemizde UML modellemede kullanılan en önemli diyagram türlerinden biri olan Activity diyagramlarını incelemiştik. Bu makalemizde fiziksel diyagramlardan component ve deployment diyagramları inceleyeceğiz. Component diyagramları, sistemin yazılım bileşenlerini ve birbirleri arasındaki bağlantının nasıl olduğunu gösteren diyagramlardır. Sisteme daha yüksek seviyeden yani bileşenler seviyesinden bakabilmeyi sağlarlar. Bileşenler “alt sistemleri” oluştururlar. Component diyagramların diğer UML diyagramlarından farkı nedir?
Component diyagramları sistemin uygulanma perspektifini gösterir.Component diyagramı içerisinde yer alan bileşenler; sistemdeki farklı tasarım öğelerinin gruplandırılmasını yansıtır. (Örn: sistemin sınıfları)Sistemin uygulanabilirliğinde farklı bileşen tipleri kullanılabilir. Basit çalıştırılabilir bileşenler, kütüphane bileşenleri (sistem kütüphanelerini ve sistemdeki uygulama kütüphanelerini gösterir), dosya bileşenleri (kaynak kod dosyalarını ya da doküman do…

Univera bir Dünya şirketi olabilir mi?

Merhabalar... Yazılım Grup Müdürümüz Deniz Kılınç’ın önderliğinde kurulan bu Blog’da 100. yazıyı yazma onurunu bana verdiler... Öncelikle bu jest leri için başta Deniz beye e ve tüm Univera Yazılım grubuna teşekkür edeiyorum .. Ben bu 100. yazı için kendime bir başlık düşündüm ve aklıma “Univera bir Dünya şirketi olabilir mi?” başlığı geldi... (Dervişin Fikri neyse Zikri de oymuş hesabı :) herhalde) Evet bu yıl bizim 18. yılımız... Üniversiteden sınıf arkadaşım Selahattin Tosuner ile birlikte bir iş hanının 20 m2 lik odasında 4 kişilik dev :) bir kadroyla 15 Eylül 1992’de kurduğumuz şirketimiz bugün 100 kişilik bir bilişim şirketi oldu... İlk kurulduğumuz yıla göre; bugün eleman sayımız 25 kat, ciromuz 60 kat artmış durumda... Bize direkt bağlı çalışan 13-14 şirkete sağladığımız aylık düzenli gelirleri de hesap edersek; belki bu gün Univera her ay 500-600 kişinin rıskını sağlıyor, ekmeğini çıkarıyor... Bu hiç sermayesi olmadan , sırf idealleri ile, kendi işini kuran iki mühendis için zat…

UML ve Modelleme – Bölüm 9(Activity Diyagramlar)

Önceki makalemizde işbirliği diyagramları olarak adlandırılan collaboration diyagramlarından bahsetmiştik. Bu makalemizde UML modellemede kullanılan en önemli diyagram türlerinden biri olan Activity diyagramlarını inceleyeceğiz. Activite diyagramları sistemin dinamik görünümünün modellendiği diyagramlardır. Bir aktiviteden diğer aktiviteye geçerken temelde işlem akışı(flowcart) diyagramlarına benzerler. Aktivite sistemin işleyişini açıklamaktadır. İşlemler arasındaki akış; ardışık, dallanma ya da eş zamanlı olabilir. Activity diyagramları tüm kontrol akışını ele almaktadır(Örn: kollara ayrılmak, birleşmek ...). Activity diyagramlarından önce incelediğimiz diyagramlarda akış nesneler arasındaki modellemelerde kullanılırken activity diyagramlarında akış bir aktiviteden diğer bir aktiviteye geçişleri modellemede kullanılır. Aktivite sistem işleyişinin bir parçasıdır. Activity diyagramları sistemin sadece dinamik yapısını göstermek için kullanılmaz, çalıştırılabilir sistemin düzenlenmesind…

Bilişim Tatili 2010

Bilişim sektöründeki kaliteli insan kaynağı eksiğini bir nebze olsun azaltmak için güzel bir etkinlik ile karşı karşıyayız. Bu sefer fikir  farklı, organizasyon Dev Ajans tarafından yapılmış. Slogan “Hiçbir eğitim bu kadar tatil olmamıştı”. 1000 kişinin katılımının hedeflendiği etkinlikte bilişim alanlarında öğrenci, öğretim görevlisi  ve bilişime ilgi duyan gençlerin sektörün temsilci ve yöneticileri ile tanışmak, kariyer veya staj fırsatı yakalamak, sektördeki gelişmeleri ve yeni nesil teknolojileri detaylı olarak anlayabilmeleri için lansmanlar ve söyleşiler düzenlenecek. Biz de Univera ailesi olarak bu etkinliği sonuna kadar destekliyoruz. Etkinlik Yeri: Çeşme Altınyunus Otel
Etkinlik Tarih: 07 – 09 Mayıs 2010

Univera Mobil Teknolojiler Günü Etkinliği – 15 Nisan 2010

Yılda 2 kez İzmir ve İstanbul’da düzenlediğimiz, Univera Mobil Teknolojiler Günü etkinliğimizin sonuncusunu 15 Nisan 2010 tarihinde İstanbul Marriott otelde gerçekleştirdik. Univera çalışanları ile beraber yaklaşık 200 kişi katılımda bulundu. Etkinliğin en vurucu tarafı Univera olarak yol arkadaşlığı yaptığımız Müşterilerimizin de projeleri ile ilgili sunum yapmalarıydı. Univera Yazılım teknolojileri, vizyonu ve İş Zekâsı üzerine ben de bir sunum yaptım. Tüm organizasyon dört dörtlüktü. Kısa notlar;
Univera ailesinde çalışmaktan bir kez daha gurur duydum. Ne kadar büyük olduğumuzu tekrar gördüm. Oldukça motive ediciydi. Kurumsallaşmanın ve kalite odaklılığın etkisini her yerde hissettim (Geçen seneye göre çok daha fazla…). Bu ceket, bize tam olmaya başladı. Tüm süreç iyileştirmelerine, yatırımlara, karlılık çalışmalarına, kalite odaklı çalışmaya devam…

UML ve Modelleme – Bölüm 8(Collaboration Diyagramlar)

UML ve Modelleme-Bölüm7 makalemizde etkileşim diyagramlarından ilki sequence diyagramlarını incelemiştik. Bu makalemizde etkileşim diyagramlarından ikincisi olan işbirliği diyagramları olarak adlandırılan collaboration diyagramları inceleyeceğiz. Nesneler arasındaki mesajlaşmaların numaralandırılmış akış sırası ile ifade eden diyagramlar Collaboration diyagram olarak adlandırılır. Bu diyagramlar sequence diyagramlar ile aynı bilgileri taşırlar fakat sequence diyagramlara göre nesneler arasındaki modelleme farklıdır. Collaboration diyagramlarında nesnelerin iki farklı karakteri olduğundan sözedilir, şayet bir nesne (örneğin A) diğer bir nesnenin (B’nin) fonksiyonunu çağırıyorsa; A istemci (client) B ise tedarikçi (supplier) terimleri ile bu nesneler adlandırılır. A ---> B. Collaboration diyagramlarında kullanılan elemanlar aşağıdaki gibidir;
Modellemede nesnelerin isimlendirilmesi ve tip belirtimi aşağıda belirtilmiştir.

Mesaj : Sequence diyagramlardaki mesaj tipleri collab…

Visual Studio 2008 Test Edition Web ve Load Test İncelemesi (Bölüm 7) – Load Test

Bir önceki makalemizde Web Testi ile test senaryosunu oluşturmuş ve yük testi için hazır hale gelmiştik. Load Test/Yük testi, uygulamanın farklı senaryolarda sergileyeceği performansın ölçülmesini sağlayan bir test yöntemidir. Çoğu zaman, eğer uygulamamız tek bir makinede çalışıyorsa, performansı hakkında bir fikir sahibi olabiliriz. Fakat web uygulaması gibi performansın etkilenebileceği pek çok faktörün bir araya geldiği durumlarda, uygulamamızı ancak yük testinden geçirerek sonuçlarına göre iyileştirmeler yaptıktan sonra daha sağlıklı fikrimiz olur. Visual Studio içerisinde gelen yük testi, farklı tarayıcılarla, farklı kullanıcı profilleri için hafif ve ağır yük senaryolarını oluşturabilecek pek çok özellik içermektedir. Bunu, yerel makinemizde basitçe uygulayabileceğimiz gibi (gerçekçi sonuçlar vermeyebilir), pek çok farklı makineyi dâhil ederek de (bir “Controller”, bir veya birden fazla “Agent”) uygulayabiliriz. Yük Testi Oluşturulması Daha önce oluşturduğumuz test projesi içerisi…

.NET Framework 4.0 ile Genel Yenilikler – Visual Studio 2010 IDE Yenilikler

Bu kısımda Visual Studio 2010 geliştirme ortamı ile gelen ve ortamı kullanmamızı kolaylaştıracak olan özelliklere göz atacağız. Göz atacağımız özellikler şu şekildedir: Data TipsBreakpointIntellisenseDump FileData Tips
Bildiğimiz gibi data tipler, debug sırasında fare işaretçisini değişkenlerin üzerine getirdiğimizde değişkenlerin değerlerini gösteren yardımcılardır. Visual Studio 2010 ile birlikte datatiplerle ilgili bir takım yenilikler gelmiştir. Böylece data tipler daha kullanışlı hale gelmiştir. Bu yeni özellikler şu şekildedir. Data tiplerin sabitlenebilmesi: Önceden datatipler sadece üzerine gelindiğinde gözüküyordu. Pin butonu yardımıyla istenilen data tipler değişkenin bulunduğu satıra sabitlenebilmektedir. Debug bittiğinde görünmez hale gelen sabitlenmiş datatipler bir sonraki debugta yeniden çıkmaktadır. Datatiplerin altına VS 2010 ile birlikte yorum da eklenebilir. Şekilde pinlenmiş ve yorum eklenmiş bir datatip görülmektedir.

.NET Framework 4.0 ile Genel Yenilikler – Visual Basic 10

Bu bölümde VB 10 ile birlikte gelen yeniliklere göz atacağız. Bu kapsamda bahsedeceğimiz konular aşağıdaki gibidir. Auto-Implemented PropertiesCollection InitializersImplicit Line ContinuationStatement LambdasAuto-Implemented Properties
Vb 10.0 ile birlikte C# da olduğu gibi property tanımlarını get ve set kullanmadan yazabilme imkanı gelmiştir. VB9 ile tanımlanan bir property’nin VB10 ile get ve set kullanmadan nasıl tanımlanabileceği aşağıda gösterilmiştir.

.NET Framework 4.0 ile Genel Yenilikler – C# 4.0

Bu bölümde C# 4.0 ile birlikte gelen yeniliklere göz atacağız. Bu kapsamda bahsedeceğimiz konular aşağıdaki gibidir. Dynamic Typing Generic Variance Named Arguments Optional Parameters COM InterOp Enhancements Dynamic Typing
C# 4.0 ile birlikte dinamik tipinde nesnelere kullanılarak dinamik olarak programlamaya odaklanılmıştır. Dynamic anahtar kelimesi C# 4.0 ile birlikte gelen bir kelimedir. Bu anahtar kelime, derleyiciye bu değişkeninin tipinin değişebileceğini ve çalışma zamanına kadar bilinemeyeceğini söylemektedir. Yani Dynamic Language Runtime-DLR mekanizması ile nesnelerin tipleri derleme zamanında değil çalışma zamanında belirlenmektedir. Bir nesnenin metodlarına veya propertylerine nasıl erişiyorsak, dynamic keyword ile yaratılan nesnelerin de property ve metodlarına aynı şekilde erişebiliriz. Tipler dinamik olarak yaratıldığı için çağrılan metod veya property ismi doğru yazılmalıdır. Çünkü metodun veya property’nin geçerli olup olmadığı çalışma zamanında belli olmaktadır. Faka…

.NET Framework 4.0 ile Genel Yenilikler – Paralel Programlama

Bu makale serimizde .NET Framework 4.0 ile gelen yenilikleri aşağıdaki ana başlıklarda toparlayıp, özet içerikte anlatmaya çalışacağız; .NET 4.0 ile Paralel Programlama C# 4.0 ile Gelen Yenilikler Dynamic Typing Generic Variance Named Arguments Optional Parameters COM InterOp Enhancements Visual Basic 10 ile Gelen Yenilikler Auto-Implemented Properties Collection Initializers Implicit Line Continuation Statement Lambdas Visual Studio 2010 IDE Yenilikleri Data Tips Breakpoint Intellisense Dump File .NET 4.0 ile Paralel Programlama
.Net 4.0 ile birlikte gelen task parallel library ve parallel.for, parallel.foreach ve PLINQ’ya göz atmaya çalışalım. Task Paralel Library
.Net 4.0 ile birlikte gelen Task Parallel Library paralleliği soyut bir şekilde gerçekleştirmemizi sağlamaktadır. TPL ile eş zamanlı yürütülen işlemlerin daha basit bir şekilde kodlanabilmesi sağlanmaktadır. Task Paralel Library kütüphanesinde bulunan Task sınıfı ile yeni görevler başlatılabilir, iptal edilebili…

ASP.NET Web Ortamında Active Directory İşlemleri – Şifre Resetleme

Daha önceki makalemizde (ASP.NET Web Ortamında Active Directory İşlemleri) ASP.NET projelerinde active directory’ye ulaşılarak yapılan bazı işlemlerden bahsetmiştik. (domain’e bağlı kullanıcı ismini alma, active directroy’ye login olma, active directory gruplarını çekme). Bu makalemizde de kullanıcı şifresini değiştirme ve resetleme işlemleri ve son şifre değiştirme tarihinin bulunması üzerinde duracağız. Kullanıcının şifresini değiştirmek ya da resetlemek için yine DirectoryServices sınıfı kullanılabilir. Bu sınıftaki “invoke” metodu ile de istenilen işlem active directory’de yapılır. Dim objDE As DirectoryEntry
objDE = New DirectoryEntry(LDAP://DC=Univera,DC=NET)
Dim objDS AsNew DirectorySearcher(objDE)
objDS.Filter = String.Format("(SAMAccountName={0})", userName)
Dim objRslt As SearchResult
objRslt = objDS.FindOne
Dim objLoginE AsNew DirectoryEntry
IfNot objRslt IsNothingThen
         objLoginE = objRslt.GetDirectoryEntry()�…