4 Ekim 2016 Salı

Yazılımı kullanacak müşterinin ihtiyaçları nasıl belirlenir?

  • Planlama oyunu toplantıları.
  • Anket ile bilgi toplama.
  • Yazılımının bir önceki sürüme bakılır.
  • Benzer yazılımları inceleme.
  • Prototip çıkarma
  • Başka?
  • Sanırım böyle olmalı (tahmin)? (Tahminlerden uzak durulmalıdır.)


Müşteriden elde edilen bilgiler bizim için bir harita niteliği taşıyacaktır!

Testin yazılım yaşam çevrimi içerisindeki yeri nedir?

Yazılım testti; yazılım geliştirmenin her aşamada ayrıca ele alınmalıdır. Sadece kodlamadan sonraki test kısmında değil.

Yazılım işi için harcanması gereken efor nelerdir?

1.Proje başlangıç çalışmaları
2.Gereksinimleri belirle ve Gereksinim dökümanını oluştur.
(Planlama oyunu,benzer sistemleri inceleme,vb teknikleri kullan)
3.Şartnameyi oluştur.
4.Görevlendirme
5.Yazılım testlerini ve test planları
6.Tasarım dokmanlarını oluştur.
(Donanım ve yazılıma ait çalışma ortamı için arayüzleri oluştur.)
7.Kaynak kodu
(Yazılım mimarisi,Programlama)
8.Bakım safası
... Başka neler olabilir?

Yazılımı Test Eden Kişinin Amacı Nedir?


  • Hataları bulmak.
  • Yazılımın gelişimine mümkün olan en büyük katkıyı sağlamak.
  • Hatanın giderildiğinden emin olmak.

Hatasız yazılım üretilebilir mi?

Yazılımların sahip oldukları özelliklerin artması. İsterlerin farklılaşması hatasız yazılımların üretilmesini neredeyse imkansız hale getirmiştir!!!

Teknik bariyerleri kaldıracak imkanı ve zaman sorununu giderebilmek mümkün olsa o zaman
hatasız yazılımlar üretilebilir.
(Sonsuz işlemci gücüne sahip bir bilgisayar & Sonsuz zaman)

Yazılım Hatalarının bulunduğu noktaya göre maliyeti

Erken safhalarda bulunan bir yazılım hatasının birim maliyeti daha az olacaktır.

İsterler                         1$
Tasarım                     10$
Kodlama                 100$
Kullanım              1000$

Yazılımda hata hangi safhalarda daha çok meydana gelir?

Yazılım geliştirilmesi sırasında karşılaşılan hataların çoğu, yazılımların gereksinimlerini yanlış belirlenmesindendir. Aşağıda istatiksel olarak yazılım hatalarının yaşam döngüsü içerisindeki oranları verilmiştir.

1.Tanımlama (~= 55?%)
2.Design (~= 25?%)
3.Code (~= 15%)
4.Other (~= 5%)

Algoritmada Kullanılan Terimler


Tanımlayıcı: Programcı tarafından oluşturulur. Programdaki değişkenleri, sabitleri, kayıt alanlarını, özel bilgi tiplerini vb. adlandırmak için kullanılan kelimelerdir. Tanımlayıcılar, yerini tuttukları ifadelere çağrışım yapacak şekilde seçilmelidir.

  1. İngiliz alfabesindeki A-Z veya a-z arasındaki 26 harf ile 0-9 arası rakamlar kullanılabilir. 
  2. Sembollerden sadece alt çizgi (_) kullanılabilir. 
  3. Tanımlayıcı isimleri harfle veya alt çizgiyle başlayabilir. 
  4. Tanımlayıcı ismi, rakamla başlayamaz veya sadece rakamlardan oluşamaz.

Değişken: Programın her çalıştırılmasında, farklı değerler alan bilgi/bellek alanlarıdır. Değişken isimlendirilmeleri, tanımlayıcı kurallarına uygun biçimde yapılmalıdır. Aşağıda çeşitli örnekler verilmiştir.

Dikdörtgenin uzun kenarının aktarıldığı değişken:
  • uzun_kenar,
  • UzunKenar,
  • uzunKenar
Bir öğrenciye ait ismin aktarıldığı değişken:
  • isim,
  • ogrenci_isim,
  • ogrenciIsim


Atama:Değişkenlere değer aktarma işlemidir. Değişkenlere atanan bu değerler daha sonra tekrar kullanılabilirler. Sağdaki Değer sonucu Değişken’e aktarılır. Bu durumda Değişken’in bir önceki değeri varsa silinir.

Sayaç: Bazı işlemlerin belirli sayıda yaptırılması ve üretilen değerlerin sayılması gerekebilir.
Bu tür sayma işlemlerine algoritmada Sayaç adı veriler.Sayaçlar da birer değişkendir.

Sayac=Sayac+1 Bu işlemde Sayac değişkenine 1 eklenmekte ve oluşan sonuç yine kendisine yani Sayac değişkenine aktarılmaktadır.


Döngü: Bir çok programda bazı işlemler, belirli ardışık değerlerle gerçekleştirilmekte veya belirli sayıda yaptırılmaktadır.
Programlardaki belirli işlem bloklarını, verilen sayıda gerçekleştiren işlem akış çevrimlerine “döngü” denir.
Örneğin; 1 ile 1000 arasındaki tek sayıların toplamını hesaplayan programda T=1+3+5 …. yerine 1 ile 1000 arasında ikişer artan bir döngü kurulur ve döngü değişkeni ardışık toplanır.




3 Ekim 2016 Pazartesi

İşlemler ve Operatörler

İşlemler 3’e ayrılır:
1-Matematiksel İşlemler
    Temel Aritmetik İşlemler: Toplama, çıkarma, çarpma, bölme.
    Matematiksel Fonksiyonlar: Üstel, logaritmik, trigono-metrik, hiperbolik vb.
2-Karşılaştırma İşlemleri
    Değişkenlerin büyük olma, küçük olma ve eşit olma durumlarını kontrol eden işlemlerdir.
3-Mantıksal (Logic) İşlemler
    «Ve, Veya, Değil» operatörleri hem matematiksel işlemlerde hem de karar ifadelerinde kullanılır.
    VE bağlacı ile söylenmek istenen her iki koşulun da sağlanmasıdır. VE bağlacı ile bağlanmış önermelerden en az birinin yanlış olması sonucu yanlış yapar.
    VEYA bağlacı ile bağlanan koşullardan bir tanesinin doğru olması sonucu doğru yapar.
DEĞİL bağlacı; doğruyu yanlış, yanlışı doğru yapar.

Örnek: Yazılım departmanında çalışan erkek personellerden yaşı 30’un üzerinde olanları ekrana yazdır.

Eğer;
------1.Koşul-------          ------2.Koşul----
(perCinsiyet = Erkek) VE   (perYas > 30)       ise ekrana yazdır.