Yazılım Tasarımı ve Kodlama (PDF)
Document Details
Uploaded by SleekBongos4857
Yıldız Teknik Üniversitesi
Tags
Summary
Bu belge, yazılım tasarımı, kodlama ve inceleme konularını ele alan bir sunum. Yazılım geliştirme süreçleri, gereksinimler, ve farklı inceleme teknikleri hakkında bilgi vermektedir.
Full Transcript
3.3.4.4. Yazılım Tasarımı Yazılım Tasarımı basamağında, veri yapıları, program yapısı ve işlemler ele alınmaktadır. Önce ön tasarım, sonra da ayrıntılı tasarım gözden geçirilmektedir. Ön tasarımın incelenmesinde; gereksinimlerin tasarıma dönüştürülmesi ve yazılım mimarisi konuları...
3.3.4.4. Yazılım Tasarımı Yazılım Tasarımı basamağında, veri yapıları, program yapısı ve işlemler ele alınmaktadır. Önce ön tasarım, sonra da ayrıntılı tasarım gözden geçirilmektedir. Ön tasarımın incelenmesinde; gereksinimlerin tasarıma dönüştürülmesi ve yazılım mimarisi konuları üzerinde durulmaktadır. Genellikle; gereksinimlerin yazılım mimarisine doğru yansıtılmış olması, modüllerin etkenliği ve işlevsel bağımsızlığı, program yapısının uygunluğu, dış sistem öğeleri ve modüllere ait arabirimlerin tanımlanması, veri yapısının bilgi alanı ile tutarlığı, bakım ve onarım sorunları incelenmektedir. 3.3.4.5. Yazılım Kodlama Kodlama (gerçekleme)basamağında, ayrıntılı tasarımın programlama diline dönüştürülmesi sırasında hata yapılabilmektedir Kodlamanın izlenmesinde: tasarımın kaynak programa dönüştürme işleminin doğruluğu, yazım hataları, kodlama standartlarına uygunluk, açıklamaların tutarlığı ve uygunluğu, tasarım hatalarının düzeltilmiş olduğu vb. araştırılmaktadır. 3.3.5. Gözden Geçirme Standartları Örnekleri SDR – System Design Review (Sistem Tasarım Değerlendirme) Software Spesification Review; (SSR) Ön Tasarım (PDR) Preliminary Design Review Sınama işlerine Hazır olmanın Değerlendirilmesi, Test Readinness Review (TRR) 4. YAZILIM İNCELEME 4.0.Bolum Hedefleri Yazılım Kalite değerlendirmede incelemenin (inspection) yerini anlama Test ve İncelemenin farkını anlama İnceleme ekibi yapısı ve rollerini öğrenme Teknik İnceleme Raporu Yazılım incelemesi Temel Kavramlar Yazılım incelemesi, test yöntemiyle birlikte yazılım kalitesinin sağlanması için en çok kullanılan yöntemdir. Test yönteminin aksine hataları kodları çalıştırmadan tespit etme esasına dayanır. Statik geçerleme yöntemidir (Şekil 4.1). Şekil 4.1. Statik ve Dinamik geçerleme ve Doğrulama Yazılım İncelemeleri Gereksinim Yüksek Formal Ayrıntılı Spesifikasyo seviye Spesifikasy Program Tasarım nu Tasarım on Prototip Program Test 4.1.2. Genel Yazılım inceleme süreci Yazılım inceleme süreci genel olarak 3 aşamadan oluşur (sekil 4.2). Planlama ve Hazırlık Aşaması: İnceleme ile ilgili genel soruları cevaplamayı amaçlar. Bu sorular, İncelemenin amaç ve hedefleri nelerdir? İncelenecek yazılım parçaları hangileri olacaktır? Bu incelemeyi kim yapacak? İncelemeyi yapacak kişiler hangi özellikleri taşımalılar? Bütün süreç boyunca hangi inceleme teknikleri ve takip eylemleri uygulanacak? Şekil 4.2. İNCELEME SÜRECİ G Planlama & İnceleme & Düzeltme &Ç ir Hazırlık Toparlama Tamamlama ı i k ş Yeniden ı inceleme ş Genel Yazılım inceleme süreci İnceleme ve toparlama aşaması: Belirlenen kriterlere uygun olarak inceleme işleminin yapılması, hataların tespit edilmesi ve bu hataların bir sonraki aşamada düzeltilmek amacıyla kayıt altına alınması. Düzeltme ve tamamlama aşaması: Bulunan hataların, yazılımları incelemekle sorumlu kişiler tarafından düzeltilmesi ve takip edilmesidir. İstenen sonuçlar elde edilemezse yeniden inceleme için sürecin başına dönülür. Şekil.4.3. İnceleme (inspection) Süreci, Fagan (1986) Planlam a Tamamlam Gözden a ve Rapor Geçirme Kişisel Kod Düzeltme İnceleme İnceleme Toplantısı. İnceleme (inspection) Süreci, Fagan (1986) Kod okuma Etkili bir kod okuma tekniği hem yukarıdan-aşağıya hem de aşağıdan –yukarıya incelemenin bir birleşimi olmalıdır. Program mümkün olan en küçük parçalara ( örneğin fonksiyon, prosedür, altprogram) ayrılarak öncelikle bu parçaların kendi içindeki bütünlüğü ve doğruluğu incelenmeli sonra da programın bütünü ile olan uyumları incelenmelidir. 4.4. İnceleme Ekibi İnceleme Ekibi, İnceleme Sorumlusu - İnceleyiciler - Yazar – Kod Okuyucu ve Kayıtçı dan oluşmaktadır. Teknik İnceleme Özet Raporu Teknik inceleme raporunda; – Neyin gözden geçirildiği – Kimin gözden geçirdiği – Hangi hata ve eksiklerin bulunduğu ve ne yapılması gerektiği konuları açıklanmaktadır. Sonuç olarak da: – a) Değişiklik yapılmaksızın kabul edilmesi, b) Belirtilen önemsiz hataların düzeltilmesi koşulu ile kabul edilmesi, c) Reddedilerek düzeltme sonunda yeniden incelenmesi kararlarından biri verilmektedir. 5.GEÇERLEME ve DOĞRULAMA TEKNİKLERİ 5.0.Bolüm Hedefi – Dinamik Geçerleme (verification), yazılım test sürecini tanımlama – Birim test ve Bütünlük test işlemlerini özetlenmesi – Regresyon testini tanıma – Saydam kutu Kara kutu Test tiplerini inceleme – Performans, Dayanıklılık ve Güvenlik Testi olarak Sistem Testini tanımlama 5.1.Yazılım Sınama (Test) 5.1.Yazılım Sınama Sınama (testing); bir programdaki hataları bulmak amacı ile yapılan işlemlerdir. Sınama, yazılımın a) fonksiyonel, b) performans, c) dayanıklık, d) yapısal bakımlardan yeterliğini denetlemektedir. V Model yaklaşımı Müşteri GEÇERLE ME İşlemsel Gereksiniml kullanım eri Ürün Yazı ktivitel G/D Geçerleme/ Sistem Spesifikasyo Test lım G n Doğrulama A elişt i Doğrulam Yüksek a Bütünlük irme er düzey Test tasarım Alçak Doğrulam Bileşen düzey a Test Tasarım Kodlama & Birim Test Şekil 3.2 Yazılım geliştirme ve Test sürecindeki Geçerleme & Doğrulama Aktiviteleri (V Model yaklaşımı) 5.GEÇERLEME ve DOĞRULAMA TEKNİKLERİ Dinamik Geçerleme (verification), yazılım test sürecini tanımlama Birim test ve Bütünlük test işlemlerini özetlenmesi Regresyon testini tanıma Saydam kutu Kara kutu Test tiplerini inceleme Performans, Dayanıklılık ve Güvenlik Testi olarak Sistem Testini tanımlama Şekil –5.1. Yazılım sınama basamakları Müşteri Geçerlem Teşhis e İşlemsel Gereksiniml Test Beta kullanım eri Test Ürün Yazı ktivitel G/D Spesifikasy Geçerleme/ Sistem Kabul Test Test lım G on Doğrulama A elişt i Doğrulam Yüksek a Regresyon Bütünlük irme er düzey Test Test tasarım Alçak Doğrulam Bileşen düzey a Test Tasarım Kodlama & Birim Test Şekil 5.6 Test sürecindeki Alt Test Adımları (V Model yaklaşımına göre) 5.2.1.Birim Test Ünite (birim) testi, yazılım tasarımının en küçük birimi olan modül üzerinde uygulanmaktadır. Ayrıntılı tasarım tanımlarına dayanılarak, modül içerisindeki hataları bulmak üzere, önemli kontrol yolları sınanmaktadır. Saydam kutu testi olarak uygulanan bu işlem, çok sayıdaki modül üzerinde, paralel olarak yürütülmektedir. Birim testinde; modülün arabirim, lokal veri yapısı, kontrol yapıları arasındaki ana yollar, hata arama yolları ve modül sınırları sınanmaktadır. Şekil 5.2. Birim Test Ortamı Test Sonuçla Sürücü r Test Test edilen Programı birim Koçan 1 Koçan 2 Koçan n Birim Test Test senaryosu (test case); belirli bir program yolunu işlemek ya da özel bir gereksinime uygunluğu onaylamak amacı ile düzenlenen bir dizi sınama verisinden ve buna ilişkin işlemlerden oluşturulmaktadır. Test programlarının geliştirilmesi, diğer yazılımlar gibidir. Geliştirmeye de, test plânı uyarınca ve yazılım tasarımı ile birlikte başlanmalıdır. Modülün bağımsız olmaması halinde, sınamada diğer modüller de dikkate alınmalıdır. Bu amaçla her ünite testi için bir “test sürücü”(driver) ve/veya “koçan”(stub) yazılımı geliştirilmektedir.