Yazlm Mhendislii Temel Sreler Tasarm II Do Dr

  • Slides: 23
Download presentation
Yazılım Mühendisliği Temel Süreçler – Tasarım II Doç. Dr. Recep ERYİĞİT 1

Yazılım Mühendisliği Temel Süreçler – Tasarım II Doç. Dr. Recep ERYİĞİT 1

Kullanıcı Ara yüz Tasarımı üKullanıcı ile ilişkisi olmayan ara yüzler • Modüller arası ara

Kullanıcı Ara yüz Tasarımı üKullanıcı ile ilişkisi olmayan ara yüzler • Modüller arası ara yüz • Sistem ile dış nesneler arası ara yüz üKullanıcı arayüzleri • Kullanım kolaylığı ve işlevsel gereksinimlerin kısa sürede ve kısa adımlarla yapılması önemlidir. • Kullanıcıda çoğunlukla yazılım = arayüz yaklaşımı vardır. 2

Genel Prensipler üVeri giriş formlarının tutarlı olması üÖnemli silmelerde teyit alınmalı üYapılan çoğu işlem

Genel Prensipler üVeri giriş formlarının tutarlı olması üÖnemli silmelerde teyit alınmalı üYapılan çoğu işlem geri alınabilmeli üHataların affedilmesi, yanlış girişte kırılmama üKomut isimlerinin kısa ve basit olması üMenülerin ve diğer etkileşimli araçların standart yapıda kullanımı 3

Bilgi Gösterimi üYalnızca içinde bulunulan konu çerçevesi ile ilgili bilgi gösterilmeli üVeri çokluğu ile

Bilgi Gösterimi üYalnızca içinde bulunulan konu çerçevesi ile ilgili bilgi gösterilmeli üVeri çokluğu ile kullanıcı bunaltılmamalı, grafik ve resimler kullanılmalı üTutarlı başlık, renkleme ve kısaltma kullanılmalı üHata mesajları açıklayıcı ve anlaşılır olmalı üDeğişik tür bilgiler kendi içinde sınıflandırılmalı üRakamsal ifadelerde analog görüntü verilmeli (%89 değil) 4

Veri Girişi üKullanıcı hareketleri en aza indirilmeli üGösterim ve girdi sayfaları birbirinden ayrılmalı üKullanıcının

Veri Girişi üKullanıcı hareketleri en aza indirilmeli üGösterim ve girdi sayfaları birbirinden ayrılmalı üKullanıcının tema oluşturmasına izin verilmeli üHer bir işlev için minimum koşullar ve detay bilgiler ayrı sayfalarda tutulmalı üBütün girdiler için yardım kolaylıkları olmalı 5

Kullanıcı Arayüz Prototipi üTasarım çalışması sonucunda, daha önceden gereksinim çalışması sırasında hazırlanmış olan kullanıcı

Kullanıcı Arayüz Prototipi üTasarım çalışması sonucunda, daha önceden gereksinim çalışması sırasında hazırlanmış olan kullanıcı arayüz prototipi, ekran ve rapor tasarımları biçimine dönüşür. Ekranlar son halini alır, raporlar kesinleşir. Kullanıcıya gösterilerek onay alınır. üTüm programın tek elden çıktığının ifade edilebilmesi açısından tüm ekranların aynı şablon üzerine oturtulması önerilmektedir. • • Menü Çubuğu Araç Çubuğu Gövde (Değişebilir) Durum Çubuğu 6

Başlangıç Tasarım Gözden Geçirme üYapılan tasarım çalışmasının bir önceki geliştirme aşaması olan analiz aşamasında

Başlangıç Tasarım Gözden Geçirme üYapılan tasarım çalışmasının bir önceki geliştirme aşaması olan analiz aşamasında belirlenen gereksinimleri karşılayıp karşılamadığının belirlenmesidir. • • Sistem gereksinimlerine yardımcı olan kullanıcılar Sistem analizini yapan çözümleyiciler Sistemin kullanıcıları Tasarımcılar Yönlendirici Sekreter Sistemi geliştirecek programcılar dan oluşan bir grup tarafından yapılır. 7

Ayrıntılı Tasarım Gözden Geçirme üBaşlangıç tasarımı gözden geçirme çalışmasının başarılı bir biçimde tamamlanmasından sonra,

Ayrıntılı Tasarım Gözden Geçirme üBaşlangıç tasarımı gözden geçirme çalışmasının başarılı bir biçimde tamamlanmasından sonra, tasarımın teknik uygunluğunu belirlemek için Ayrıntılı Tasarım Gözden Geçirme çalışması yapılır. Bu çalışmada; • • Çözümleyiciler Sistem Tasarımcıları Sistem Geliştiriciler Sekreter den oluşan bir ekip kullanılır. 8

Tasarım Kalite Ölçütleri üBağlaşım (Coupling) Tasarımı oluşturan modüller arası ilişki ile ilgilidir. üYapışıklık (Cohesion)

Tasarım Kalite Ölçütleri üBağlaşım (Coupling) Tasarımı oluşturan modüller arası ilişki ile ilgilidir. üYapışıklık (Cohesion) Modüllerin iç yapısı ile ilgilidir. 9

Bağlaşım üModüller arası bağlılığın ölçülmesi için kullanılan bir ölçüttür. üYüksek kaliteli bir tasarımda bağlaşım

Bağlaşım üModüller arası bağlılığın ölçülmesi için kullanılan bir ölçüttür. üYüksek kaliteli bir tasarımda bağlaşım ölçümü az olmalıdır. üBağlaşımın düşük olması • Hatanın dalgasal yayılma özelliğinin azaltılması • Modüllerin bakım kolaylığı • Modüller arası ilişkilerde karmaşıklığın azaltılması nedenleri ile istenmektedir 10

Yalın Veri Bağlaşımı üHerhangi iki modül arası iletişim yalın veriler (tamsayı, karakter, boolean, vs)

Yalın Veri Bağlaşımı üHerhangi iki modül arası iletişim yalın veriler (tamsayı, karakter, boolean, vs) aracılığı ile gerçekleştiriliyorsa bu iki modül yalın veri bağlaşımlıdır şeklinde tanımlanır. 11

Karmaşık Veri Bağlaşımı üHerhangi iki modül arasındaki iletişimde kullanılan parametrelerin karmaşık veri yapısı (kayıt,

Karmaşık Veri Bağlaşımı üHerhangi iki modül arasındaki iletişimde kullanılan parametrelerin karmaşık veri yapısı (kayıt, dizi, nesne, vs) olması durumunda modüller karmaşık veri paylaşımlı olarak tanımlanır. 12

Denetim Bağlaşımı üİki Modül arasında iletişim parametresi olarak denetim verisi kullanılıyorsa bu iki modül

Denetim Bağlaşımı üİki Modül arasında iletişim parametresi olarak denetim verisi kullanılıyorsa bu iki modül denetim bağlaşımlı olarak tanımlanır. 13

Ortak Veri Bağlaşımı üEğer iki modül ortak bir alanda tanımlanmış verilere ulaşabiliyorsa bu iki

Ortak Veri Bağlaşımı üEğer iki modül ortak bir alanda tanımlanmış verilere ulaşabiliyorsa bu iki modül ortak veri bağlaşımlı olarak tanımlanır. üVerilerin ortak veri bağlaşımlı olmaları şu nedenlerden dolayı fazla istenmez; • Ortak veri alanını izlemek zordur. • Ortak veri kullanan modüllerde yapılan değişiklikler diğer modülleri etkiler. • Ortak veri üzerinde yapılacak değişikliklerde bu veriyi kullanacak bütün modüller göz önüne alınmalıdır. 14

Ortak Veri Bağlaşımı üEğer iki modül ortak bir alanda tanımlanmış verilere ulaşabiliyorsa bu iki

Ortak Veri Bağlaşımı üEğer iki modül ortak bir alanda tanımlanmış verilere ulaşabiliyorsa bu iki modül ortak veri bağlaşımlı olarak tanımlanır. üVerilerin ortak veri bağlaşımlı olmaları şu nedenlerden dolayı fazla istenmez; • Ortak veri alanını izlemek zordur. • Ortak veri kullanan modüllerde yapılan değişiklikler diğer modülleri etkiler. • Ortak veri üzerinde yapılacak değişikliklerde bu veriyi kullanacak bütün modüller göz önüne alınmalıdır. 15

İçerik Bağlaşımı üModüllerin iç içe tasarlanması sonucu, bir modülün başka bir modül içerisinde tanımlanmış

İçerik Bağlaşımı üModüllerin iç içe tasarlanması sonucu, bir modülün başka bir modül içerisinde tanımlanmış veri alanına erişebilmesi olanaklaşır ve bu durum içerik bağlaşımına yol açar. 16

Yapışıklık üBir modülün kendi içindeki işlemler arasındaki ilişkilere ilişkin bir ölçüttür. Modül gücü olarak

Yapışıklık üBir modülün kendi içindeki işlemler arasındaki ilişkilere ilişkin bir ölçüttür. Modül gücü olarak ta tanımlanır. üTasarımda yapışıklık özelliğinin yüksek olması tercih edilir. üYapışıklık ile Bağlaşım ters orantılıdır. 17

İşlevsel Yapışıklık üİşlevsel Yapışık bir modül, tek bir iş problemine ilişkin sorunu çözen modül

İşlevsel Yapışıklık üİşlevsel Yapışık bir modül, tek bir iş problemine ilişkin sorunu çözen modül olarak tanımlanır. üMaas_Hesapla, Alan_Hesapla gibi 18

Sırasal Yapışıklık üBir modülün içindeki işlemler incelendiğinde, bir işlemin çıktısı, diğer bir işlemin girdisi

Sırasal Yapışıklık üBir modülün içindeki işlemler incelendiğinde, bir işlemin çıktısı, diğer bir işlemin girdisi olarak kullanılıyorsa bu modül sırasal yapışık bir modül olarak adlandırılır. Ham_Veri_Kaydını_Düzelt Duzeltilmis_Ham_Veri_Kaydini_Dogrulanmis_Kaydi_Gonder 19

İletişimsel Yapışıklık üBir modülün içindeki farklı işlemler aynı girdi ya da çıktıyı kullanıyorlarsa bu

İletişimsel Yapışıklık üBir modülün içindeki farklı işlemler aynı girdi ya da çıktıyı kullanıyorlarsa bu modül iletişimsel yapışık bir modül olarak adlandırılır. Sicil_No_yu_Al Adres_Bilgisini_Bul Telefon_Bilgisini_Bul Maas_Bilgisini_Bul 20

Yordamsal Yapışıklık üYordamsal Yapışık modüldeki işlemler arasında denetim ilişkisi bulunmaktadır. üİşlemlerin birbirleri ile veri

Yordamsal Yapışıklık üYordamsal Yapışık modüldeki işlemler arasında denetim ilişkisi bulunmaktadır. üİşlemlerin birbirleri ile veri ilişkisi yoktur, ancak işlem sırası önemlidir. Ekran_Goruntusunu_Yaz Giris_Kaydini_Oku 21

Mantıksal Yapışıklık üMantıksal olarak aynı türdeki işlemlerin bir araya toplandığı modüller mantıksal yapışık olarak

Mantıksal Yapışıklık üMantıksal olarak aynı türdeki işlemlerin bir araya toplandığı modüller mantıksal yapışık olarak adlandırılır. Dizilere değer atama işlemleri 22

Gelişigüzel Yapışıklık üİşlemler arasında herhangi bir ilişki bulunmaz. Ara_Kayit_Oku B_dizisine_baslangic_deger_ata Stok_kutugu_oku Hata_iletisi_yaz 23

Gelişigüzel Yapışıklık üİşlemler arasında herhangi bir ilişki bulunmaz. Ara_Kayit_Oku B_dizisine_baslangic_deger_ata Stok_kutugu_oku Hata_iletisi_yaz 23