Yazlm Mhendislii Blm 6 Gerekletirim Yrd Do Dr
Yazılım Mühendisliği Bölüm - 6 Gerçekleştirim Yrd. Doç. Dr. Güray YILMAZ Mayıs 2007 Yazılım Mühendisliği Yönetimi 1
Bölüm – 6 Gerçekleştirim 2 Giriş n Tasarım sonucu üretilen süreç ve veri tabanının fiziksel yapısını içeren fiziksel modelin bilgisayar ortamında çalışan yazılım biçimine dönüştürülmesi çalışmasıdır. n Her şeyden önce bir yazılım geliştirme ortamı seçilmelidir (programlama dili, veri tabanı yönetim sistemi, yazılım geliştirme araçları (CASE)). n Kaynak kodların belirli bir standartta üretilmesi düzeltme için faydalıdır. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 3 Programlama Dilleri n Geliştirilecek Uygulamaya Göre Programlama Dilleri seçilmelidir. n Veri İşleme Yoğunluklu Uygulamalar n n n Hesaplama Yoğun Uygulamalar n n n Assembly C Sistem programlamaya yönelik uygulamalar n n Fortran C Paralel Fortran ve C Süreç ağırlıklı uygulamalar n n Cobol, Görsel Programlama Dilleri ve Veri Tabanları C Yapay Zeka Uygulamaları n n Yazılım Mühendisliği Yönetimi Lisp Prolog Güray YILMAZ
Bölüm – 6 Gerçekleştirim 4 VTYS dosya yapısından farkı n Katalog Bilgisi, Veri Sözlüğü Varlığı n Veri Soyutlama n Kullanıcıdan verinin saklanması konusundaki detayları gizleyerek veri soyutlamasının sağlanması n Program-veri, program-işlem bağımsızlığı n Geleneksel Dosya işleme yöntemlerinde veri dosyalarının yapısı bu dosyalara erişen programların içine gömülmüşlerdir. Bu sebeple değiştirmek zor. n Birden çok kullanıcı desteği n Birden fazla işlem arası paylaşım Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 5 Veri Modelleri n Fiziksel veri modelleri verinin bilgisayarda nasıl saklandığının detayları ile ilgili kavramları sağlar. n Yüksek Düzey Veri Modelleri n Varlık: Veri tabanında saklanan, gerçek dünyadan bir nesne veya kavramdır (proje, işçi). n Özellik: Varlığı anlatan bir özelliği gösterir (işçinin adı, ücreti). n İlişki: Birden fazla varlık arasındaki ilişkidir (işçi ve proje arasındaki çalışma ilişkisi). Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 6 Şemalar n Herhangi bir veri modelinde veri tabanının tanımlaması ile kendisini ayırmak önemlidir. n Veri tabanının tanımlanması, veri tabanı şeması veya meta-veri olarak adlandırılır. n Veri tabanı şeması tasarım sırasında belirlenir ve fazla değişmesi beklenmez. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 7 VTYS Mimarisi n VTYS mimarisi üç seviyede tanımlanabilir. n İçsel Düzey: Veri tabanının fiziksel saklama yapısını açıklar. n Kavramsal Düzey: Kavramsal şema içerir ve kullanıcılar için veritabanının yapısını açıklar. n Dışsal Düzey: Dış şemalar ve kullanıcı görüşlerini içerir. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 8 Veritabanı Dilleri ve Arabirimleri n Veri tabanı tasarımı tamamlandıktan sonra bir VTYS seçilir. VTYS Dilleri Veri Tanımlama Kavramsal şemaları tanımlamak üzere kullanılır. Dili Saklama Tanımlama Dili İşsel şemayı tanımlamak üzere kullanılır. Görüş Tanımlama Dili Dışsal şemayı tanımlamak için kullanılır. Veri İşleme Dili Veri tabanı oluşturulduktan sonra veri eklemek, değiştirmek ve silmek için kullanılır. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 9 VTYS nin Sınıflandırılması Sınıflandırmalar kullanılan Veri Modeline göre yapılır. n İlişkisel Model: Veri tabanı tablo yığınından oluşmuştur. Her bir tablo bir dosya olarak saklanabilir. n Ağ Modeli: Veriyi kayıt ve küme tipleri olarak gösterir. n Hiyerarşik Model: Veri ağaç yapısında gösterilir. n Nesne Yönelimli Model: Veri tabanı nesneler, özellikleri ve işlemleri biçiminde gösterilir. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 10 Hazır Program Kütüphaneleri n Hemen hemen tüm programlama platformlarının kendilerine özgü hazır kütüphaneleri bulunmaktadır. n n n Pascal C Java *. tpu *. h *. jar n Günümüzde bu kütüphanelerin temin edilmesi internet üzerinden oldukça kolaydır. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 11 CASE Araç ve Ortamları n Günümüzde bilgisayar destekli yazılım geliştirme ortamları oldukça gelişmiştir. n CASE araçları yazılım geliştirme sürecinin her aşamasında üretilen bilgi ya da belgelerin bilgisayar ortamında saklanmasına ve bu yolla kolay erişilebilir ve yönetilebilir olmasına olanak sağlar. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 12 Kodlama Stili n Hangi platformda geliştirilirse geliştirilsin yazılımın belirli bir düzende kodlanması, yazılımın yaşam döngüsü açısından önem kazanmaktadır. n Etkin kod yazılım stili için kullanılan yöntemler: n n Açıklama Satırları Kod Yazım Düzeni Anlamlı İsimlendirme Yapısal Programlama Yapıları Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 13 Kodlama Stili Açıklama Satırları n Modülün başlangıcına n n n genel amaç, işlevi desteklenen platformlar, eksikler, düzeltilen yanlışlıklar gibi genel bilgilendirici açıklamaları yapılır n Aynı zamanda modülün kritik bölümleri vurgulanarak açıklanır. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 14 Kodlama Stili Kod Biçimlemesi n Programın okunabilirliğini artırmak ve anlaşılabilirliğini kolaylaştırmak amacıyla açıklama satırlarının kullanımının yanı sıra, belirli bir kod yazım düzeninin de kullanılması gerekmektedir. for i: =1 to 50 do begin i: =i+1; end; // Kötü kodlanmış for i: =1 to 50 do begin i: =i+1; end; Yazılım Mühendisliği Yönetimi // iyi kodlanmış Güray YILMAZ
Bölüm – 6 Gerçekleştirim 15 Kodlama Stili Anlamlı İsimlendirme n Kullanılan tanımlayıcıların (değişken adları, dosya adları, veri tabanı tablo adları, fonksiyon adları, yordam adları gibi) anlamlı olarak isimlendirilmeleri anlaşılabilirliği büyük ölçüde etkilemektedir. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim Kodlama Stili 16 Yapısal programlama Yapıları n Yapısal programlama yapıları temelde içinde goto komutlarının bulunmadığı, tek giriş ve tek çıkışlı öbeklerden oluşan yapılardır. Bunlar temelde; n n n Ardışıl işlem yapıları, Koşullu işlem yapıları, Döngü yapıları. n Teorik olarak herhangi bir bilgisayar programının sadece bu yapılar kullanılarak yazılabileceği kanıtlanmıştır. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 17 Program Karmaşıklığı n Program karmaşıklığı konusunda çeşitli modeller geliştirilmiştir. n Bunların en eskisi ve yol göstericisi Mc. Cabe tarafından 1976 yılında geliştirilen modeldir. n Bunun için önce programın akış diyagramına dönüştürülmesi, sonra da karmaşıklık ölçütünün hesaplanması gerekmektedir. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim Program Karmaşıklığı 18 Akış Diyagramına Dönüştürme Bir ya da birden fazla ardışık işlem If-Then işlemi Yazılım Mühendisliği Yönetimi If-Then-Else işlemi Case işlemi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 19 Program Karmaşıklığı Akış Diyagramına Dönüştürme (2) While Döngüsü Yazılım Mühendisliği Yönetimi Repeat Döngüsü Güray YILMAZ
Bölüm – 6 Gerçekleştirim 20 Program Karmaşıklığı Mc. Cabe Karmaşıklık Ölçütü V(G)= k – d + 2 p K: Diyagramdaki kenar çizgi sayısı D: Diyagramdaki düğüm sayısı P: programdaki bileşen sayısı (ana program ve ilgili alt program sayısını göstermektedir. Alt program kullanılmadı ise p=1, 3 alt program kullanıldı ise p=4 tür) Örnek: Şekil 6. 5 Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 21 Olağandışı durum Çözümleme n Olağandışı durum: Bir programın çalışmasının, geçersiz ya da yanlı veri oluşumu ya da başka nedenlerle istenmeyen bir biçimde sonlanmasına neden olan durumdur. n Genelde kabul edilen; program işletiminin sonlandırılmasının bütünüyle program denetiminde olmasıdır. Yazılım Mühendisliği Yönetimi Güray YILMAZ
Bölüm – 6 Gerçekleştirim 22 Kod Gözden Geçirme n Bir gazetede hiç bir yazı editörün onayı alınmadan basılamayacağı gibi, kod gözden geçirme olmadan da yazılım sistemi geliştirilemez. n Kod gözden geçirme ile program sınama işlemleri birbirlerinden farklıdır. n Kod gözden geçirme, programın kaynak kodu üzerinde yapılan bir işlemdir ve bu işlemlerde program hatalarının %3 -5‘lik bir kısımı yakalanabilmektedir. Yazılım Mühendisliği Yönetimi Güray YILMAZ
- Slides: 22