17 Ağustos 2013 Cumartesi

VB.NET Form Özellikleri

VB.NET'te formun pek çok  özelliğini değiştirebilirsiniz. Bu konu ile ilgili bir örnek aşağıda verilmiştir.
Formun boyutu,transparan özelliği,vb özellikleri değiştirilmiştir.



       Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
       Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.BackColor = System.Drawing.Color.Black
        Me.ClientSize = New System.Drawing.Size(334, 312)
        Me.Controls.Add(Me.Label1)
        Me.ForeColor = System.Drawing.SystemColors.ControlLightLight
        Me.FormBorderStyle =System.Windows.Forms.FormBorderStyle.FixedSingle
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.Name = "Form1"
        Me.Opacity = 0.45R
        Me.StartPosition =System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "Merhaba Dünya"
        Me.ResumeLayout(False)
        Me.PerformLayout()

VB.DE IF Kullanımı

Aşağıdaki örnekte Vb.net'te if kontrolünün nasıl yapıldığı gösterilmiştir.

İndirme Adresi

VB.Net Giriş Örneği

Değişkenlere değer atama ve görsel programlama ile ilgili vb.net'teki ilk örnek

İndirme Linki

Proje Yönetim Araçları

Giga Plan: Çok kullanılan bir proje yönetim aracı
Microsoft Project: En çok satan ve dünya üzerinde en çok kullanılan proje yönetim aracıdır.
Technology Associates: Project : Yazılım Maliyetlerini detaylı bir şekilde belirleyen bir yönetim aracıdır.
Project World:  Profesyonel bir proje yönetim aracıdır.
The Project Management Foundation: Standartlara uygun bir yazılım projesi geliştirenler için etkin bir proje yönetim aracıdır.
System Solvers: Servis ve hizmet odaklı yazılımların geliştirilmesi için geliştirilmiş bir proje yönetim aracıdır.
Tenrox Corporation: Bir başka yazılım proje yönetim aracıdır.

Proje Başarısı ve Başarısızlığı

Bilgi Teknolojileri sektöründe gerçekleştirilen projelerin büyük çoğunluğu, planlama aşamasında belirlenen sürelerde tamamlanamaz, bütçelerini ciddi miktarlarda aşar, dolayısıyla “başarısız proje” damgasını yemekten kurtulamazlar. Bunun tüm uzmanlarca kabul edilen en önemli nedeni de proje yönetiminde ortaya konulan başarısızlık, iyi bir “proje yönetimi” yapılamamasıdır.

Bir projeyi başarılı yapan üç önemli faktör: kullanıcı/müşteri katılımı, üst yönetim desteği, ihtiyaçların açık biçimde tanımlanmış olması. Projelerde başarısızlık genellikle birbirini etkileyen birçok nedenden ortaya çıkıyor. Nedenler arasında: deneyimsiz proje yöneticisi ve yetersiz eğitimler,  beklentileri belirleme ve yönetimsel başarısızlıklar, zayıf liderlik,  gereksinimleri gerektiği şekilde belirlememek ve dokümante etmemek, planlama sürecinin ve yapılan planların yetersiz olması,  kaynak tahminlerinin zayıflığı,  kültürel ve etik zaaflar,  proje ekibinin alan bilgisi eksikliği,  hatalı metotlar ve metodoloji kullanılmaması,  İletişim sorunları gibi eksikler sayılabilir. 


Diğer taraftan proje ekibinin büyüklüğü, en son teknolojinin kullanılma eğilimi, yazılım projelerinde metodoloji kullanılmaması, süreç yaklaşımının olmaması da başarısızlık nedenleri arasına eklenirse proje yönetiminde bir başka boyut ortaya çıkacaktır. Yapılan araştırma sonuçları değerlendirildiğinde başarılı yazılım projelerinin süresinin 1 yılı aşmadığı görülmektedir.  Bütün bu nedenler projenin risklerine işaret ediyor. Projelerde risklerin artıyor olması, proje yönetim ihtiyacını arttırır, projenin daha iyi yönetilmesi gereğini ortaya koyar.

İş Planı Hazırlama (Business Case)

Bir fikrin, isteğin, zorunluluğun ya da önerinin hayata geçirilebilmesi için öncelikle iş planının hazırlanması gerekmektedir.

Yapılacak iş planları ele alınan projeye ilişkin doğru adımların atılmasında kritik rol oynamaktadır:
projeye yol açan sebepler,seçenekler,beklenen fayda,riskler,maliyet ve zaman,yatırımın geri dönüşü, değerlendirme.

İş planının taslak hali Proje Yönergesi içerisinde bulunmalıdır. Proje Özeti içerisinde bulunup bulunmadığı kontrol edilir ve düzenlenmiş tam hali Proje Başlangıç Belgesi içerisinde yer alır. Proje süresince belirli noktalarda (örneğin her aşamanın sonunda) güncellenir.

Yazılım Projelerini Sınıflandırma Yolları

Projeler, farklı teknik ürünleri oluşturmak üzere değişebilir. Bu yüzden, planlanmasına ve yönetilmesine bağlı olarak bir projenin karakteristiklerini tanımlamaya gereksinim duyarız. 

Bu tanımlamayı yaparken aşağıdaki faktörleri göz önünde bulundurmak gerekir:
kullanıcılara karşı sorumluklar,
gömülü sistemlere karşı bilgi sistemleri,
ürünlere karşı hedefler.


Kullanıcılara karşı sorumluluklar: geliştirilecek yazılım projesi bir ERP projesi ise, bu ERP yazılımını kullanacaklar için gerekli kullanım kolaylıkları, güvenlik özellikleri gibi bir takım gereksinimler karşılanmalıdır.

Gömülü sistemler de kontrol makineye ait iken, bilgi sistemlerinde kontrol bilgi sisteminin kullanıcısına aittir. Bilgi sistemine örnek olarak stok kontrol sistemi verilebilir. Gömülü sistemlere ise, bir bina içindeki klima kontrol (havalandırma) sistemini örnek olarak verebiliriz. Bina içersindeki ısıya göre sistem ya sıcaklığı arttırıyor ya da azaltıyor.

Projeleri sınıflandırırken ürününün belirli hedefleri karşılayıp karşılamadığına yönelik olarak gerekli ayrımları yapabiliriz. Müşteri tarafından belirlenen detaylara bağlı olarak bir ürününün geliştirilmesine yönelik bir proje olabilir. 


Kullanıcılara karşı sorumluluklar: geliştirilecek yazılım projesi bir ERP projesi ise, bu ERP yazılımını kullanacaklar için gerekli kullanım kolaylıkları, güvenlik özellikleri gibi bir takım gereksinimler karşılanmalıdır.


Gömülü sistemler de kontrol makineye ait iken, bilgi sistemlerinde kontrol bilgi sisteminin kullanıcısına aittir. Bilgi sistemine örnek olarak stok kontrol sistemi verilebilir. Gömülü sistemlere ise, bir bina içindeki klima kontrol (havalandırma) sistemini örnek olarak verebiliriz. Bina içersindeki ısıya göre sistem ya sıcaklığı arttırıyor ya da azaltıyor.


Projeleri sınıflandırırken ürününün belirli hedefleri karşılayıp karşılamadığına yönelik olarak gerekli ayrımları yapabiliriz. Müşteri tarafından belirlenen detaylara bağlı olarak bir ürününün geliştirilmesine yönelik bir proje olabilir. 

Kurumsal Paydaşlar

Kurumsal paydaş (stakeholder) kavramı, bir kurum veya sistemin (proje) varlığından olumlu veya olumsuz yönde etkilenen veya bu kurum veya sistemi bilinçli veya bilinçsiz olarak etkileyen kişi veya gruplardır.

Bir projenin kurumsal paydaşlarını, “kurum içi paydaşlar” ve “kurum dışı paydaşlar” olmak üzere iki grupta sınıflandırmak mümkündür:
Kurum içi paydaşlar; şirketin sahibi, hissedarlar, proje yöneticileri, teknik yöneticiler, takım liderleri, programcılar ve diğer çalışanlardan oluşur.
Kurum dışı  paydaşlar ise hükümet, ordu, müşteriler, tedarikçiler, rakip firmalar vs. kesimlerden oluşur.

İşletmeler günümüzde toplumu oluşturan birçok farklı kesimle ilişki içindedir ve başarıları bu öğelerle olan ilişkilerinin iyi yönetilmesine bağlıdır. Literatüründe bu konuyu açıklayan kavrama “kurumsal paydaşlar (stakeholders)” adı verilmektedir.

Planlar, Metotlar ve Metodolojiler

Bir aktivite için plan yapılacaksa, çalışma yöntemine ilişkin amaç temel alınmalıdır.

Örneğin; bir yazılımı test etmemiz istendi ve test edilecek yazılım hakkında hiçbir şey bilmiyoruz. Böyle bir durumda bu test işlemini gerçekleştirmek için aşağıdakilere gereksinim duyulmaktadır;
Yazılım gereksinimlerinin analizi,
Her gereksinimin yerine getirilip getirmediğini kontrol edecek test durumlarının yazılması ve düzenlemesi,
Her test durumu için beklenen sonuçlar ve test  kodlarının yaratılması,
Beklenen sonuçlar ile gerçek sonuçların karşılaştırılması ve uyuşmazlıkların belirlenmesi.


Metot genel olarak bir aktivite türü ile ilgilidir, plan ise bu metodu alır ve gerçek aktivitelere dönüştürür. 

Ayrıca her bir aktivite için;
başlangıç ve bitiş tarihi,
kimin gerçekleştireceği,
hangi araç ve materyallere gereksinim duyulacağı belirlenir.

Bir metodun çıktısı, diğer bir metot için girdi olabilir.

Metot grupları veya teknikleri, metodoloji altında toplanmaktadır.
Örn: Nesne-tabanlı tasarım (object-oriented design)

Ayrıca her bir aktivite için;
- Aktivitenin başlangıç ve bitiş tarihi,
- Aktiviteyi kimin gerçekleştireceği,
- Hangi araç ve materyallere gereksinim duyulacağı belirlenir.

Proje Yönetimine Gelecekte Etki Edecek Faktörler 

Mühendislik ve teknoloji ağırlıklı işlerin ağırlığı her 5 yılda bir kendini katlayacaktır.
Bilgisayar teknolojisi her 2 yılda bir kendini katlayacaktır.
Ürün-yaşam çevrimleri kısalacaktır.
Daha kısa ürün geliştirme süresinde yeni ürün talebi artacaktır.
Yönetici ve idareciler daha hızlı stratejik karar almak için daha çok bilgiye ihtiyaç duyacaklardır.
Bir çok yönetici, işten çok insana odaklanacaktır.
Yöneticiler, yıllık 10 milyon $’lık iş hacmini yönetmekten 50 milyon $’lık iş hacimlerini yönetmeye başlayacaklardır.

ISO 12207 Yazılım Geliştirme Yaşam Döngüsü

ISO 12207 Yazılım Geliştirme Yaşam Döngüsü 7 Kısımdan Oluşmaktadır.

Gereksinim Analizi (Requirements Analysis)
Tanımlama (Specification)
Tasarım (Design)
Kodlama (Coding)
Doğrulama ve Sağlama (Verification & Validation)
Kurulum (Installation)
Bakım ve Destek (Maintenance & Support)


Gereksinim Analizi
Gerçekleştirilmesi planlanan projedeki kullanıcı sistem beklentileri tanımlanır. Analiz önce bir fizibilite çalışması gerektirebilir. Yazılımın servisleri, kısıtları ve hedefleri belirlenir. Kullanıcı gereksinimlerinin belirlenmesinde değişik yaklaşımlar kullanılabilir. Örneğin kullanıcıların bütün gereksinimlerini karşılamayan ancak düşük maliyetli bir çözüm ile bütün gereksinimlerin karşılandığı yüksek maliyetli bir çözüm karşılaştırılabilir.

Tanımlama
Gerçekleştirilecek sistemden beklenenlerin detaylı bir şekilde dokümante edilmesi. Yazılım projelerinde projenin amaçları 3 farklı kavram ile tanımlanır: İşlevsel Gereksinimler (Functional Requirements): Projeden elde edilecek son ürünün neler yapması gerektiği tanımlanır. Bu tanımlamalar için çeşitli sistem analizi ve tasarım yöntemleri kullanılır. Kalite Gereksinimleri (Quality Requirements): Sistemin ne yaptığı ile değil, nasıl yaptığı ile ilgili uygulama özellikleri mevcuttur. Bunlar hala kullanıcılara açık olan taraflardır. (Sistemin yanıt verme süresi, kullanım kolaylığı vb.) Kaynak Gereksinimleri (Resource Requirements): Kuruluşun sistem için ne kadar harcama yapmak istediğinin göstergesidir. Bu, sistemin tamamlanma süresi ile ters orantılıdır. 

Tasarım
Tanımlamaları bütünüyle karşılayan bir tasarımın hatları belirlenir. Tasarım iki aşamadır: Uygulamanın dış görünüşü ile ilgili dış tasarım veya kullanıcı arayüz tasarımı. Verilerin ve yazılım modüllerinin içsel olarak yapısallaştırıldığı fiziksel tasarım. 
Kodlama
C, C++, C# veya Java gibi seçilmiş bir programlama dili kullanılarak, uygulamanın kodlamasıdır. Hazır paket yazılımlar kullanılmış olsa bile, bu paket yazılımlarda yeni uygulamanın gerektirdiği değişikliklerin yapılması gerekebilir. 
Doğrulama & Sağlama

Yazılım o andaki uygulama için geliştirilmiş olsun veya olmasın, sistemin gereksinimleri karşılayıp karşılamadığının testi gereklidir. Her safhanın sonunda yapılan test işlemine doğrulama (verification) denir. Projenin sonunda, müşteriye ürünü teslim etmeden önce yapılan test işlemine ise sağlama (validation) denir. 
Kurulum
Bazı sistem geliştiriciler, tasarımdan sonraki bütün proje sürecini gerçekleştirim olarak görmekte, bazıları ise sistem geliştirme bittikten sonraki kurulumu gerçekleştirim olarak görmektedir. İkinci durum, aynı zamanda veri dosyalarının ve sistem parametrelerinin belirlenmesi, kullanıcı kılavuzlarının yazılması ve yeni sistem kullanıcılarının eğitimini de içermektedir.  
Bakım & Destek 

Sistem kurulduktan sonra, oluşmuş hataların düzeltilmesi veya sistemdeki iyileştirmeler veya gelişmeler için devamlı bir bakım söz konusudur. Bakım ve destek aktiviteleri zaman zaman ayrı küçük yazılım projeleri gibi görülmelidir.  Bazı ortamlardaki yazılım geliştirme faaliyeti aslında bir bakım gibi değerlendirilebilir.