Bugün benim doğum günüm. Tam 32 sene önce bugün dünyaya geldim. Türkçe blogumda da 100. yazım. Çok fazla yazan bir adam değilim. Bir şeyler yazmak için hele ki sektör ile ilgili olacaksa ilham gelmesi yada birilerinin beni kızdırması lazım. Ancak o zaman sular seller gibi yazabiliyorum. Tabii birde yazdıklarımın kalitesi ve doğruluğu mümkün olduğu kadar yüksek olmalı.

Bu doğum günü  ve 100. yazı olması vesilesi ile önemli bir şeylerden bahsedeyim.

Yazılım geliştirme alanında gereksinim analizi aşamasını bilirsiniz. Müşterinin ihtiyaçlarını veya problemlerini analiz ederek bilgisayar ortamında nasıl çözüm bulacağınızı araştırırsınız. Müşterinin farkında olduğu veya olmadığı tüm gereksinimlerini ortaya çıkarır çeşitli yöntemler ile bunları dosyalar ve sistemi modellemeye çalışırsınız. Bu gereksinimleri ne kadar iyi yönetirseniz sonuçta ortaya çıkacak üründe o kadar hatasız olacaktır.

Gereksinim Yönetimi

Gereksinim analizi sırasında ortaya çıkabilecek ürünlere bir bakalım.

  1. Senaryolar
  2. İş akışı diyagramları
  3. İş kuralları
  4. Hedef ve Kapsam belgesi
  5. Data definition diyagramları
  6. Dahili ve harici arayüz gereksinimleri
  7. Çeşitli UML diyagramları
  8. Sistem gereksinimleri spesifikasyonları
  9. Test senaryoları
  10. Prototipler
  11. Sürüm politikası
  12. Değişiklik istek belgesi
  13. Güvenlik politikası
  14. Risk dökümanı

Bu listeyi daha uzatmak mümkün. Bunlar ilk etapta aklıma gelen şeyler. Daha kod yazmaya geçmeden elimizde bir sürü döküman oluşuyor. Müşteri isteklerini değiştirebilir, yenilerini ekleyebilir veya bazı gereksiz gördüğü kısımları silebilir. Bu kadar fazla ürünün yönetilmesi kesinlikle mecburidir. Aksi takdirde ipin ucunu kaçırırsak ve bazı gereksinimleri müşterinin istediği gibi değiştirmezsek bu proje salıncak hikayesine döner.

Müşteri odaklı bir yazılım firmasının en büyük bilgi kaynağı müşteridir. Çünkü işi bilen ve her türlü girdi çıktısını tanımlayabilecek tek kişidir. Programı hatasız yazabilmek için müşteriyi sürecin her türlü aşamasına sokmanız gerekir ve müşterinin ağzından çıkan her türlü bilgi kayıt edilmeli ve iyi yönetilmelidir.

Bunlar yazılı döküman olduğuna göre rahatça bir kelime işlem programı (Word, wiki, Open Offıce vs.) ile hazırlayacağınız şablonları kullanarak belli bir biçimde kayıt edilmelerini sağlayabilirsiniz. Her türlü dökümanın bir şablonu olunca işler biraz daha kolaylaşır.

İkinci aşamada bunların sürüm kontrolünü yapmalısınız. Böylece kim ne değiştirmiş görmek mümkün olur. Örneğin wiki ortamında kimin ne değiştirdiğini görmek kolay olur yada Subversion gibi bir program ile sürüm kontrolünü yapabilirsiniz.

Değişikliklerin onaylanması içinde bir iş akışı düzenleyip belgelere uygulanacak değişikliklerin onaylanmasını sağlayabilirsiniz. Onay ya müşteriden yada bu iş ile ilgili firma içindeki birimden gelecektir. Değişiklik ancak onaylanırsa (değişiklik istek belgesi bu iş içindir) esas belge içine gömülür.

Son hali onaylanan belgeler üzerinde değişiklik istenirse; bu değişikliğin etkilediği diğer alanlar çok iyi tanımlanmalıdır. Eğer maliyeti ve zamanı arttıran bir değişiklik ise başka bir sürüme bırakılabilir. Bu da sürüm politikası belgesinde belirtilmelidir.

Her yazılan fonksiyonun hangi senaryoda nasıl kullanıldığını gösterecek akış şemaları ile koddan gereksinimlere doğru takibi kolaştıracak UML diyagramları oluşturmalısınız. İlk sürüm verildiğinde boşuna yazılmış kod var mı yada boşuna üretilmiş bir senaryo var mı analiz edebilirsiniz. Bu size ürettiğiniz ürünün gereksinimleri ne kadar kapsadığı hakkında bilgi verir.

Evet, toparlamak gerekirse gereksinim yönetimi çok önemli bir konu ve önümüzü görerek kod yazmak istiyorsak şart. Düşünün petrol yüklü bir tankeri yönetiyorsunuz ve sis içinde yol alıyorsunuz. Bir yere çarpsanız hem çevre kirliliğine hemde para kaybına neden olacaksınız. Ayrıca kaybedeceğiniz itibar da cabası. Böyle bir riski almaktansa bir iki radar sistemine yatırım yapmak yada sisin kaybolması için beklemek en akıllıca iş olur. Gereksinimleri akıllıca yönetirsek üstesinden gelemeyeceğimiz proje yok değil mi?

Reklamlar


Bu girdiye atılan yorumlar:

# re: 100. yazı ve Doğum Günü

doğum günün kutlu olsun :)

nice başarılı yıllara.

Huseyin tarafından  5/25/2006 3:45 AM tarihinde atılmıştır.
# re: 100. yazı ve Doğum Günü

Teşekkürler Hüseyin.

Gurkan Yeniceri tarafından  5/25/2006 4:28 PM tarihinde atılmıştır.
# re: 100. yazı ve Doğum Günü

Dostum,

Ailecek bir grip salgınına kapıltık, bir haftadır evde yatak döşek perişanız. Ancak bugün yazını okuyabildim.

Doğumgünü tüm Öztürk'ler olarak kutluyoruz. Böyle yazmaya devam edersen sanırım O'Reilly'den falan yakında bir kitap talebinde bulunacaklardır.

Zeynep, Gülden, Mehmet tarafından  5/29/2006 2:26 PM tarihinde atılmıştır.
# re: 100. yazı ve Doğum Günü

Ah nerde bende o şans. Geçmiş olsun tekrar Mehmet.

Gurkan Yeniceri tarafından  6/8/2006 8:51 PM tarihinde atılmıştır.

Yorumunuzu buradan giriniz

Yorumlar onaylandıktan sonra yayınlanacaktır

*


*


 (Görüntülenmeyecek)


 (İsminizde link olarak görüntülenecek)

*
Bold Italic Underline Blockquote Hyperlink Hyperlink

 

Please add 1 and 6 and type the answer here:

Yorum Önizleme:

 

Arama



Hakkımda

Merhaba, ben Gürkan Yeniçeri. 9 yılı aşkın süredir özel sektör ve hükümet iştiraklerinde yazılım mühendisliği yapıyorum. Bu sitede 2005 Mart ayından beri genelde yazılım mühendisliği ve Microsoft teknolojileri hakkında yazmaktayım. Profesyonel iş geçmişim hakkında daha fazla bilgiyi aşağıdaki Çember.net linkinden alabilirsiniz.
Çember.net
Faturaları ödeyen günlük işim dışında Açık Kaynak Subtext Projesine katkıda bulunuyorum. Bu blogun alt yapısıda Subtext ile hazırlanmıştır. Ayrıca 1999 yılından beri Programlama.com sitesinde VB6 editörlüğü yapıyorum. Fakat takdir edersinizki VB6 artık ölü bir dil, bu nedenle beta sürümlerinden beri C# ve ASP.NET programcılığı ile uğraşıyorum.

kontak

Soru sormak veya öneride bulunmak isterseniz buradaki kontak formunu kullanın. Mesajlarınıza en kısa zaman içinde cevap vermeye çalışacağım. Ayrıca Windows Live Messenger kullanarak gyeniceri {AT} hotmail {DOT} com adresinden bana ulaşabilirsiniz.
Eğer İngilizce blogumu okumak isterseniz buraya buyrun.
Blogumu RSS Bandit gibi bir RSS okuyucusu ile de takip etmek için kullanın.
RSS 2.0

Reklamlar


imleme

Yumilerime ekle   Reddit Türkçe'ye ekle   Limkle   Bag-kur

Vezir

Vezir Proje Danışmanı
Sitede birde Vezir isminde wikimiz var. Bu wikiyi yazmayı düşündüğüm bir kitap için oluşturmuştum daha sonra herkese açmaya karar verdim. Vezir yazılım firması kurmak isteyenlere tavsiyeler vermek için hazırlandı. Ayrıca UML ve Modül Tabanlı Geliştirme hakkında da bilgiler mevcut. Vakit buldukça yeni eklemeler yapıyorum. Değişikliklerden haberdar olmak için RSS çıktısına üye olabilirsiniz.
www.flickr.com
This is a Flickr badge showing public photos from gurkanyeniceri. Make your own badge here.
Bu blogda 250 yazı ve 336 yorum var. Diğer sitelerden 7 adet link gelmiş.

Buradayım

my blogmap

Reklamlar