Yazlm Mhendislii Temel Sreler Tasarm Do Dr Recep

  • Slides: 24
Download presentation

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

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

HEDEFLER Tasarım, Sistem Analizi çalışması sonucunda üretilen Mantıksal Modelin Fiziksel Modele dönüştürülme çalışmasıdır. ü

HEDEFLER Tasarım, Sistem Analizi çalışması sonucunda üretilen Mantıksal Modelin Fiziksel Modele dönüştürülme çalışmasıdır. ü Tasarım kavramları: Soyutlama, İyileştirme ve Modülerlik olmak üzere 3 çeşittir. ü Yapı Tasarımı, arayüz tasarımı ve süreç tasarımından önce yapılması gereken ilk tasarım veri tasarımıdır. ü Veri Akışları Üç parçada incelenebilir: Girdi Akışı, Çıktı Akışı ve İşlem Akışı ü Süreç tasarımı; veri, yapı ve ara yüz tasarımından sonra yapılır. ü Program Akış Diyagramları: Tekrarlı, ardışıl ve koşullu şeklindedir. ü Tasarlanması Gereken Ortak Alt Sistemler § § § Yetkilendirme altsistemi Güvenlik altsistemi Yedekleme altsistemi Veri transferi altsistemi Arşiv altsistemi Dönüştürme altsistemi 3

HEDEFLER üTasarım Kavramları üMODÜL-işlevsel Bağımsızlık üVeri Tasarımı üTasarlanması Gereken ortak alt sistemler üTasarım Kalitesi

HEDEFLER üTasarım Kavramları üMODÜL-işlevsel Bağımsızlık üVeri Tasarımı üTasarlanması Gereken ortak alt sistemler üTasarım Kalitesi üBağlaşıklık -Yapışıklık 4

TASARIM üTasarım, Sistem Analizi çalışması sonucunda üretilen Mantıksal Modelin Fiziksel Modele dönüştürülme çalışmasıdır. üFiziksel

TASARIM üTasarım, Sistem Analizi çalışması sonucunda üretilen Mantıksal Modelin Fiziksel Modele dönüştürülme çalışmasıdır. üFiziksel Model geliştirilecek yazılımın; • • hangi parçalardan oluşacağını, bu parçalar arasındaki ilişkilerin neler olacağını, parçaların iç yapısının ayrıntılarını, gerekecek veri yapısının fiziksel biçimini (dosya, veri tabanı, hash tablosu, vektör, vs) tasarımını içerir 5

TASARIM KAVRAMLARI üSoyutlama (abstraction): Detayları gizleyerek yukarıdan bakabilme imkanı sağlanır. üİyileştirme (enhancement): Soyutlama düzeyinde

TASARIM KAVRAMLARI üSoyutlama (abstraction): Detayları gizleyerek yukarıdan bakabilme imkanı sağlanır. üİyileştirme (enhancement): Soyutlama düzeyinde irdeleme bittikten sonra, daha alt seviyelere inilerek tanımlamalarda ayrıntı, bazen de düzeltme yapılarak tasarımın daha kesinlik kazanması sağlanır. üModülerlik (modularity): Sistemi istenen kalite faktörleri ışığında parçalara ayrıştırma sonucu elde edilir. 6

MODÜL üBütün karmaşıklığın tek bir modülde toplanması yerine, anlaşılabilir ve dolayısıyla projenin zihinsel kontrol

MODÜL üBütün karmaşıklığın tek bir modülde toplanması yerine, anlaşılabilir ve dolayısıyla projenin zihinsel kontrol altında tutulması için sistem bir çok modüle ayrılır. üModüller, isimleri olan tanımlanmış işlevleri bulunan ve hedef sistemi gerçekleştirmek üzere tümleştirilen birimlerdir. 7

MODÜL Sistem A derinlik A A Çıkış yelpazesi=3 B C A A Giriş yelpazesi

MODÜL Sistem A derinlik A A Çıkış yelpazesi=3 B C A A Giriş yelpazesi A A genişlik 8

İşlevsel Bağımsızlık üModüllere parametre ile veri gönderilir ve sonuç değer alınır. Bu modülü çağıran

İşlevsel Bağımsızlık üModüllere parametre ile veri gönderilir ve sonuç değer alınır. Bu modülü çağıran program parçası sadece bu sonucu kullanabilir. Çağrılan modülün işlevsel olarak yaptıkları ile ilgili değildir. 9

Veri Tasarımı üYapı Tasarımı, arayüz tasarımı ve süreç tasarımından önce yapılması gereken ilk tasarım

Veri Tasarımı üYapı Tasarımı, arayüz tasarımı ve süreç tasarımından önce yapılması gereken ilk tasarım veri tasarımıdır. üBilgi saklama ve soyutlama bu işlem için önemli kavramlardır. 10

Veri tasarımında dikkat edilecek konular üDeğişik veri yapıları değerlendirilmelidir. üBütün veri yapıları ve bunlar

Veri tasarımında dikkat edilecek konular üDeğişik veri yapıları değerlendirilmelidir. üBütün veri yapıları ve bunlar üzerinde yapılacak işlemler tanımlanmalıdır. üAlt düzeyde tasarım kararları tasarım süreci içerisinde geciktirilmelidir. üBazı çok kullanılan veri yapıları için bir kütüphane oluşturulmalıdır. üKullanılacak programlama dili soyut veri tiplerini desteklemelidir. 11

Yapısal Tasarım üYapısal Tasarımın ana hedefi modüler bir yapı geliştirip modüller arasındaki kontrol ilişkilerini

Yapısal Tasarım üYapısal Tasarımın ana hedefi modüler bir yapı geliştirip modüller arasındaki kontrol ilişkilerini temsil etmektir. üAyrıca yapısal tasarım bazen de veri akışlarını gösteren biçime dönüştürülebilir. üVeri Akışları Üç parçada incelenebilir • Girdi Akışı • Çıktı Akışı • İşlem Akışı 12

AYRINTI TASARIM- Süreç Tasarımı üSüreç tasarımı; veri, yapı ve arayüz tasarımından sonra yapılır. üİdeal

AYRINTI TASARIM- Süreç Tasarımı üSüreç tasarımı; veri, yapı ve arayüz tasarımından sonra yapılır. üİdeal şartlarda bütün algoritmik detayın belirtilmesi amaçlanır. üAyrıca süreç belirtiminin tek anlamı olması gerekir, değişik şahıslar tarafından farklı yorumlanmamalıdır. üDoğal diller kullanılabilir (açıklamalarda, çünkü doğal dil tek anlamlı değildir) üSüreç Tanımlama Dili (PDL) 13

Yapısal Program Yapıları üYapısal programlamanın temel amacı; • program karmaşıklığını en aza indirmek, •

Yapısal Program Yapıları üYapısal programlamanın temel amacı; • program karmaşıklığını en aza indirmek, • program anlaşılabilirliğini artırmaktır. üBu amaçla şu yapılar kullanılır; • Ardışıl İşlem yapısı • Koşullu işlem yapısı • Döngü yapısı 14

Karar Tabloları üBazen karmaşık koşul değerlendirmeleri yapmak gerekir. Bunların düzenli bir gösterilimi karar tablolarında

Karar Tabloları üBazen karmaşık koşul değerlendirmeleri yapmak gerekir. Bunların düzenli bir gösterilimi karar tablolarında yapılabilir. üÖncelikle, bütün işlemler saptanmalı, sonra ön koşullar belirlenmelidir. üBelirli işlemler ile belirli koşulları birleştirerek tablo oluşturulur. üAlt tarafta ise işlemler benzer satırlar olarak gösterilir. 15

Program Tanımlama Dili üProgram Tanımlama Dilleri süreç belirtiminde doğal dillerin programlama dili ile sentezlenmesi

Program Tanımlama Dili üProgram Tanımlama Dilleri süreç belirtiminde doğal dillerin programlama dili ile sentezlenmesi şeklinde ortaya çıkmıştır. üHangi programlama dilinin kullanılacağından bağımsız özellikler bulunmalıdır. DO Hesap Numarasını Oku IF (hesap numarası geçerli değil) başlangıca dön işlem türünü iste IF (para yatırma islemi) { para_yatir(); Başlangıca dön} IF (yeterli bakiye yok) başlangıca dön WHILE 16

Tasarlanması Gereken Ortak Alt Sistemler üYetkilendirme altsistemi üGüvenlik altsistemi üYedekleme altsistemi üVeri transferi altsistemi

Tasarlanması Gereken Ortak Alt Sistemler üYetkilendirme altsistemi üGüvenlik altsistemi üYedekleme altsistemi üVeri transferi altsistemi üArşiv altsistemi üDönüştürme altsistemi 17

Yetkilendirme Alt Sistemi üÖzellikle kurumsal uygulamalarda farklı kullanıcıların kullanabilecekleri ve kullanamayacakları özellikleri ifade eder.

Yetkilendirme Alt Sistemi üÖzellikle kurumsal uygulamalarda farklı kullanıcıların kullanabilecekleri ve kullanamayacakları özellikleri ifade eder. • İşlev bazında yetkilendirme • Ekran alanları bazında yetkilendirme 18

Güvenlik Alt Sistemi ü Yapılan bir işlemde, işlemi yapan kullanıcının izlerinin saklanması işlemleri. ü

Güvenlik Alt Sistemi ü Yapılan bir işlemde, işlemi yapan kullanıcının izlerinin saklanması işlemleri. ü LOG files (Sistem günlüğü) 19

Yedekleme Alt Sistemi üHer bilgi sisteminin olağandışı durumlara hazırlıklı olmak amacıyla kullandıkları veri tabanı

Yedekleme Alt Sistemi üHer bilgi sisteminin olağandışı durumlara hazırlıklı olmak amacıyla kullandıkları veri tabanı (sistem) yedekleme ve yedekten geri alma işlemlerinin olması gerekmektedir. 20

üCoğrafi olarak dağıtılmış hizmet birimlerinde çalışan makineler arasında veri akışının sağlanması işlemleri üÇevirim içi

üCoğrafi olarak dağıtılmış hizmet birimlerinde çalışan makineler arasında veri akışının sağlanması işlemleri üÇevirim içi veri iletimi (real-time) üÇevirim dışı veri iletimi (disketler, teypler) 21

Arşiv Alt Sistemi üBelirli bir süre sonrasında sık olarak kullanılmayacak olan bilgilerin ayrılması ve

Arşiv Alt Sistemi üBelirli bir süre sonrasında sık olarak kullanılmayacak olan bilgilerin ayrılması ve gerektiğinde bu bilgilere erişimi sağlayan alt sistemlerdir. üAktif veri tabanı. 22

Dönüştürme Alt Sistemi üGeliştirilen bilgi sisteminin uygulamaya alınmadan önce veri dönüştürme (mevcut sistemdeki verilerin

Dönüştürme Alt Sistemi üGeliştirilen bilgi sisteminin uygulamaya alınmadan önce veri dönüştürme (mevcut sistemdeki verilerin yeni bilgi sistemine aktarılması) işlemlerine ihtiyaç vardır. 23

Dönüştürme Alt Sistemi üGeliştirilen bilgi sisteminin uygulamaya alınmadan önce veri dönüştürme (mevcut sistemdeki verilerin

Dönüştürme Alt Sistemi üGeliştirilen bilgi sisteminin uygulamaya alınmadan önce veri dönüştürme (mevcut sistemdeki verilerin yeni bilgi sistemine aktarılması) işlemlerine ihtiyaç vardır. ENFYL-851502 24