20.12.10

Yazılım Mühendisliği Pratikleri

TAI'de katıldığım bir eğitimde aldığım notlarımı sizinle paylaşmak istiyorum. Bunlar yazılım mühendisliği gerektiren işlerde göz önünde bulundurulması gereken pratiklerdir. Kaliteli bir iş için dikkat edilmesi gerekir.


PRATİKLER

1.Yönetim
  • Planlama
  • Check-list (Başlamadan önce yapılması gerekenler)
  • Görev paylaşımı
  • Risklerin tanımlanması
  • Başarının ölçülmesi ve değerlendirilmesi
  • Süreç yönetimi
  • Kayıtlı çalışma

2.Kaynak Yönetimi
  • İdeal ekip sayısı 5-7 (Tecrübe olarak söyleniyor)
  • Çalışanlara değer verme, adil olma, ödüllendirme
  • Eğitim
  • Uzmanlaşma
  • Etkin iletişim

3.Bütçe Yönetimi
  • İşgücü, zaman, yatırım ve maliyetler
  • Proje başlamadan önce deneysel kestirimler
  • Sürekli izleme ve ölçme

4.Metrik Yönetimi
  • Nokta atışı sayısal değerler
  • Amaç, başarımı ölçmek ve riskleri tanımlamak
  • Efor metrikleri
  • Geliştirilen kodun metrikleri
  • Gereksinim metrikleri
  • Değişiklik istekleri metrikleri
  • Hata metrikleri
  • Test metrikleri

5.Disiplin*
  • En önemlisi. Yetki ve sorumluluklar belli olmalı.
  • Saha kurallarını koymak ve kurum kültürü (Birçok toplantının verimsiz geçmesinin nedeni saha kurallarının tam konulamaması)
  • Son sözü söylememek projeye zarar verir. Hayır demeyi herkes bilmeli. Net olunmalı.
  • Sonuç odaklı olunmalı.

6.Gereksinim Yönetimi
  • Gereksinimlerin belirlenmesi
  • Gereksinimlerin herkesce anlaşılması
  • Gereksinim belirlemenin son aşaması olarak gereksinimlerin dondurulması.

7.Sistem Mühendisliği
  • İç içe çalışma (Geliştiriciler ile)
  • Sistem mimarisine hakim olma
  • Sistem yazılım uyumunun sağlanması

8.Arayüz Tanımlama ve Denetleme
  • Gereksinim analizi bitmeden önce tüm dış arayüzler tanımlanmalı
  • Çökmeler genellikle arayüzlerde olur. Genellikle iç arayüzlerde değil dış arayüzlerde hata çıkar. Bunun nedeni ekipler arası iletişim eksikliğidir.

9.Tasarım
  • Standartlara hakimiyet (178B, IEEE12207)
  • Planlara uyum
  • Sistem ve yazılım geliştirilmeye açık olmalı
  • Bir arayüzün başka bir arayüzle bağlantısı mümkün olduğunca az olmalı
  • Sadelik ve basitlik önemli
  • İnsan makine arayüz(GUI) tasarımına dikkat edilmeli. (Bir istatistiğe göre burada harcanan efor projeye harcanan eforun %47’si kadarmış)

10.Kodlama
  • Anlaşılabilir
  • Kısa yordamlar
  • Açıklamalar
  • Sık sık yedekleme
  • Hatalara teslim olmayın. Hatalar tecrübeleri arttırır.

11.Test
  • Projenin kritik bileşenleri fonksiyonel olarak test edilmeli (White-Box)
  • Aşırı yüklemelerle test edilmeli (Aşırı yükleme testi)
  • Projenin sonuna doğru, en gerçekçi senaryolarla denenmeli

12.Hata ayıklama (Debugging)
  • Hatalar birer birer ayıklanmalı

Hiç yorum yok:

Yorum Gönderme

Related Posts Plugin for WordPress, Blogger...