18 Ocak 2017 Çarşamba

Yazılım Uygulamasının 4 Boyutu

1. İnsan
“It’s always a people problem” Gerald Weinberg, “The Secrets of Consulting”
  • Yazılım Uygulamasını İyileştirmek İçin
  • Yazılım Ekip Seçimi (Doğru kişi doğru iş)
  • Takım Organizasyonu
  • Motivasyon
2.Süreç
  • Süreç doğru tanımlanmış mı?
  •  Süreç için Tanımlanan Yöntem ve Teknik doğru mu?
  • Başlangıç nasıl belirlenecek(temelleri)?
  • Hangi kalite güvencesi standartları uygulanacak?
  • Risk yönetimi olacak mı?
  • Yaşam Döngüsü planlaması yapıldı mı?
  • Müşteri odaklı olarak mı geliştirildi?
  • Süreç  gelişme sırasında süreç olgunluğuna bakıldı mı(bütün işleri yerine getirip getirmediği sınandı mı?)

  • Takip(Tracking)
  • Maliyet, çaba, program
  • Planlanana karşılık Gerçekleşen
  • Planının dışına çıktığınızda neler yapılacak?

Ölçüm
Yazılım Nasıl Ölçülür ve Neleri Ölçmek gerekir?
Tarih ve öngörülen     maliyet     program     çaba     ürün özellikleri
Alternatifler     kazanılan değer analizi     kusur oranları
            verimlilik (örn: SLOC)
        karmaşıklık (örn: function noktaları)

Teknik ve Temeller
Gereksinimleri,Analiz,Dizayn,Kodlama,Kalite Güvence,Dağıtım

3.Ürün
  • Gözle görülür ilerleme sağlandı mı?
  • Yazılım büyüklüğünün belirlendi mi? Ve ne kadarı gerçekleşti?
  • Ürün özellikleri ve gereksinimleri neler?
  • Özellikler farklı şartlarda sınandı mı?
4.Teknoloji

  • Genellikle en önemli bir boyutu
  • Dil ve araç seçimi belirlendi mi?
  • Yazılımın değeri ve oluşturma maliyeti nasıl hesaplandı?


Yazılım başarısı için Zamanında, İsterleri karşılayan ve planlanan bütçeyi aşmayan yazılımlar üretin.

Proje Yönetimi Tarihi

Yazılım Uygulamalarının doğuşu Manhattan Project
1970’lerde askeri, savunma işlerinde software uygulamaları kullanıldı.
1990’larda: Büyük yazılım projeleri geliştirildi.
1985: TQM
1990-93: Yeniden üretim.
1996-99: Risk yönetimi, Yazılım evleri
2000: Global projelerin oluşumu.



Yazılım Uygulaması nedir?

Yıllar sürebilir mi?
Sonuçlar kesin midir?
Yazılım ekibi kalıcımıdır?
Ölçüleri nelerdir? (Büyüklük)

Yazılım Proje Yöneticisinde Arananlar

Liderlik,İletişim Yeteneği, Problem Çözme Yeteneği
Uzlaşı, Organizasyonun Süreçlerine Hakimiyet
Yönetim becerisi (Süreç tecrübesi ve teknoloji bilgisi)
Proje Yöneticisi. Proje Yöneticisi yardımcısı (asistan)
Program Yöneticisi.

Yazılım Yöneticisinin İlgilenecekleri
Finansal Destek Veren (Sponsor)
Yazılım Ekibi
Müşteri
Süreç Yöneticisi

Yazılım Yöneticisi
Yazılım İçin Gerekli Olan Kaynakları Temin Et.
Proje ihtiyaçları için onay al.
Liderlik ve Rehberlik sağla.





17 Ocak 2017 Salı

Koddan Döküman Oluşturan Araçlar

Doxygen
  Doxygen Programının İnternet Sitesi http://www.stack.nl/~dimitri/doxygen/
  Doxygen Programı çizim aracı Grphviz Programının İnternet Sitesi http://www.graphviz.org/

Doxygen ve Grphviz Programının Eğitim Videosu



Sharpdox
C# için Koddan döküman oluştruma araçı Programının İnternet Sitesi http://sharpdox.de/en/


Diğer Dokuman Oluştruma Programları

Javadoc
ROBODoc
POD
TwinText

Dökümantasyon nasıl test edilir?

Dokuman testi kara kutu testinin bir parçasıdır!
Buradaki bir hata yazılımın içerisindeki hata gibidir!
Hazırlanan doküman çok temel yada çok karmaşık olmamalıdır.
Dökümanın Terminoloji incelenmelidir!
Okuyucular için yeteri kadar uygun mu?
Bilgiler düzenli bir sırada mı?
Kısaltmalar bir dizin içerisinde verilmiş mi?
Teknolojik bilgilere yer verildi mi?
Web sayfası,telefon num ve bilgilerin yer aldığı bir index var mı?
Yazılımın özellikleri tam olarak anlatılmış mı?
Verilen örnekler doğru olarak çalışıyor mu?


Dokümanı yazan kişi ile test eden kişi neden farklı kişiler olmalıdır?

Yazılım Dokümanı Test Soruları

Hangi şartlar altında çalışıyor?
Mac yada düşük özellikli bilgisayarlarda çalışıyor mu?
Hatalara ilişkin yardım bilgilerini içermelidir

Yazılım Dokümanında neler bulunur?

Text ve grafikler içermeli.
Uyarılar ve kayıt bilgileri içermeli
End User License Agreement (EULA)
Kurulum ve kurulmun ne şekilde yapılacağı
User’s manual
Online help
Örnekler uygulamalar
Hata mesajları

Yazılım Dokümanı


Günümüzde yazılımların yapılarının ve içeriklerinin artması ile birlikte yazılım dokümanları bir readme.txt olmaktan çıkmıştır.
Yazılım içeriğinin doğru anlatılması oldukça önemlidir.
Yazılım test uzmanı tarafından yazılım dokümanın test edilmesi gerekmektedir.

Önce Test


Test güdümlü yazılım geliştirme.
Önce yapılacak test yada testler belirlenir.
Kod testlerden geçilecek şekilde geliştirilir.
1. ve 2. adımlar tekrarlanır.
Kod bol miktarda refactor edilir.


Önce Test-Avantajları

Kod yazılmadan önce test programı yazılır. Bu sayede mevcut sorunların daha erkenden ortaya çıkması sağlanarak, daha güvenli bir yazılım gerçekleştirilmeye çalışılır.
Bu yöntemde testler yazılmaya başlandığı esnada aslında ne şekilde bir kod yazılacağı da belli bir ölçüde belirlenmiş olur.
Test işleminin önemli bir kısmı bu süreç içerisinde tamamlanır.