Bolum9
-
Upload
suleyman-demirel -
Category
Documents
-
view
4 -
download
0
Transcript of Bolum9
YAZILIM GEREKSİNİM ANALİZİ (SOFTWARE REQUIREMENTS ANALYSIS)
Maltepe Üniversitesi Yazılım Mühendisliği Bölümü YZM 210
NESNE-TABANLI ANALİZ (ÖRNEK: KÜTÜPHANE OTOMASYON SİSTEMİ)
2
YZM 210 – Yazılım Gereksinimleri Analizi
9. BÖLÜM
YZM 210 – Yazılım Gereksinimleri Analizi
3
• Varlık Sınıflarının Çıkarılması:
‒ İşlevsel Modelleme: Kütüphane Otomasyon Sistemi
‒ Sınıf Modelleme: Kütüphane Otomasyon Sistemi
‒ Dinamik Modelleme: Kütüphane Otomasyon Sistemi
• Sınır ve Kontrol Sınıflarının Çıkarılması
• Use-case’lerin Gerçekleştirilmesi
Bölüm Kapsamında İncelenecek Konular
YZM 210 – Yazılım Gereksinimleri Analizi
4
Varlık Sınıflarının Çıkarılması
• Varlık sınıflarının çıkarılmasında, arttırımsal ve dönüşümlü olarak aşağıdaki üç adım uygulanır:
► İşlevsel modelleme (functional modeling)
Use-case’lerin tamamı için senaryolar hazırlanıp, sunulur. (Senaryo use-case’in bir örneğidir.)
► Sınıf modelleme (class modeling)
Varlık sınıfları ve bu varlık sınıflarının nitelikleri (attributes) belirlenir.
Varlık sınıfları arasındaki etkileşimler ve karşılıklı ilişkiler belirlenir.
Bu bilgiler sınıf diyagramları (class diagram) içinde sunulur.
► Dinamik modelleme (dynamic modeling)
Her bir varlık sınıfı tarafından icra edilen işlemler belirlenir.
Bu bilgiler de durum diyagramı (statechart) ile sunulur.
YZM 210 – Yazılım Gereksinimleri Analizi
5
• Bir kütüphane için bir bilgi sistemi geliştirilecektir. Geliştirilecek bu bilgi sistemi kitaplar, alıcılar ve kütüphane görevlileri arasındaki iş sürecini düzenleyecektir. Kütüphane içerisinde alıcıların ödünç alıp, daha sonra geri getirdiği birçok kitap yer almaktadır. Her kitap bir barkod numarasına ve her bir alıcı da üzerinde barkod numarası bulunan bir karta sahiptir. Alıcı bir kitabı ödünç alırken, kütüphaneci alıcının kartını ve kitabın barkod numarasını tarar ve bilgisayar terminalinde “O” tuşuna basar. Aynı şekilde, bir kitap geri getirildiğinde, kitabın barkodu taranır ve kütüphaneci bilgisayar terminalinde “G” tuşuna basar. Kütüphaneci (+) tuşuna basarak detayları ile birlikte kütüphaneye yeni kitaplar ekleyebilir veya (-) tuşuna basarak kitaplar çıkarabilir. Alıcılar bir terminal üzerinde kütüphane içindeki bütün kitapları belirli bir yazar adına (author’s name) göre {alıcı terminalde A tuşuna basar}, belirli bir başlığa (title) göre {alıcı terminalde T tuşuna basar} veya belirli bir konu alanına (subject area) göre {alıcı terminalde S tuşuna basar} arayabilir. Sonuç olarak, alıcı ödünç verilmiş bir kitabı isterse, kütüphaneci kitap üzerinde “B” tuşuna basarak bekletme koyabilir. Kitap geri getirildiğinde bekletme yapılan kişi için, kitap beklemeye alınacaktır.
İşlevsel Modelleme:
Kütüphane Otomasyon Sistemi
YZM 210 – Yazılım Gereksinimleri Analizi
6
• Kütüphane otomasyon sistemi için, beş olası use-case vardır;
Kitap Ödünç Verme,
Kitap Geri Getirme,
Kitap Ekleme-Çıkarma,
Kitap Bekletme,
Katalog Sorgulama.
İşlevsel Modelleme:
Kütüphane Otomasyon Sistemi (Devam..)
YZM 210 – Yazılım Gereksinimleri Analizi
7
• Kitap ödünç verme use-case’i için olası birinci senaryo;
Kitap Ödünç Verme Use-Case’i
1. Kütüphane görevlisi, terminalde “O” tuşuna basar ve kitabın ve alıcının kütüphane kartındaki barkod numaralarını tarar.
2. Sistem, kitabın başka biri tarafından bekletilmediğini belirler.
3. Sistem, ilgili kitap bilgisini günceller.
Görevli kitabı damgalar ve kartıyla birlikte alıcıya teslim eder.
YZM 210 – Yazılım Gereksinimleri Analizi
8
• Kitap ödünç verme use-case’i için olası ikinci senaryo;
Kitap Ödünç Verme Use-Case’i (devam…)
1. Kütüphane görevlisi, terminalde “O” tuşuna basar ve kitabın ve alıcının kütüphane kartındaki barkod numaralarını tarar.
2. Sistem, kitabın başkası tarafından bekletildiğini tespit eder.
Görevli kitabın alınmasına izin vermez.
YZM 210 – Yazılım Gereksinimleri Analizi
9
• Kitap ödünç verme use-case’i için olası üçüncü senaryo;
Kitap Ödünç Verme Use-Case’i (devam…)
1. Kütüphane görevlisi, terminalde “O” tuşuna basar ve kitabın ve alıcının kütüphane kartındaki barkod numaralarını tarar.
2. Sistem, bu kitabın alıcı için bekletildiğini belirler.
3. Sistem bekleme durumunu kaldırarak kitap bilgisini günceller.
Görevli kitabı damgalar ve kartıyla birlikte alıcıya teslim eder.
YZM 210 – Yazılım Gereksinimleri Analizi
10
• Kitap geri getirme use-case’i için olası birinci senaryo;
Kitap Geri Getirme Use-Case’i
Kitap görevliye verilir. Kitap üzerinde bekletilme yoktur.
1. Görevli terminalde “G” tuşuna basar ve kitabın barkodunu tarar.
2. Sistem, gerekli kitap bilgisini günceller.
Görevli, kitabı rafa kaldırmak üzere bir kenara koyar.
YZM 210 – Yazılım Gereksinimleri Analizi
11
• Kitap geri getirme use-case’i için olası ikinci senaryo;
Kitap Geri Getirme Use-Case’i (devam…)
Kitap görevliye verilir. Kitap üzerinde başkası için bir bekletme vardır.
1. Görevli terminalde “G” tuşuna basar ve kitabın barkodunu tarar.
2. Sistem, gerekli kitap bilgisini günceller.
Görevli, kitabı bekletilmek üzere ayrı bir rafa koyar.
YZM 210 – Yazılım Gereksinimleri Analizi
12
• Kitap ekleme-çıkarma use-case’i için olası birinci senaryo;
Kitap Ekleme-Çıkarma Use-Case’i
1. Görevli terminalde “+” tuşuna basar ve yeni kitabın barkodunu tarar.
2. Sistem kitabı veritabanına ekler.
YZM 210 – Yazılım Gereksinimleri Analizi
13
• Kitap ekleme-çıkarma use-case’i için olası ikinci senaryo;
Kitap Ekleme-Çıkarma Use-Case’i (devam…)
1. Görevli terminalde “-” tuşuna basar ve kitabın barkodunu tarar.
2. Sistem kitabı veritabanından siler.
YZM 210 – Yazılım Gereksinimleri Analizi
14
• Kitap bekletme use-case’i için olası birinci senaryo;
Kitap Bekletme Use-Case’i
Alıcı, kütüphane kartı ile birlikte üzerinde kitabın barkod numarası yazan formu görevliye uzatır.
1. Kütüphane görevlisi, terminalde “H” tuşuna basar ve formun ve alıcının kütüphane kartındaki barkod numaralarını tarar. Kitabın üzerinde zaten diğer bir alıcı için bekletme vardır.
2. Sistem, bu durumu bir mesaj olarak görüntüler.
Kütüphane görevlisi, alıcıyı bu konu hakkında bilgilendirir ve alıcıya kartını geri iade eder.
YZM 210 – Yazılım Gereksinimleri Analizi
15
• Kitap bekletme use-case’i için olası ikinci senaryo;
Kitap Bekletme Use-Case’i (devam…)
Alıcı, kütüphane kartı ile birlikte üzerinde kitabın barkod numarası yazan formu görevliye uzatır.
1. Kütüphane görevlisi, terminalde “H” tuşuna basar ve formun ve alıcının kütüphane kartındaki barkod numaralarını tarar. Kitabın üzerinde diğer bir alıcı için herhangi bir bekletme yoktur.
2. Sistem, kitap ile ilgili bilgileri günceller ve bu alıcı için kitap üzerinde bir bekletme koyar.
Görevli, alıcıya kartını geri iade eder ve alıcının teslim etmiş olduğu formu geri dönüşüm kutusuna atar.
YZM 210 – Yazılım Gereksinimleri Analizi
16
• Kitap sorgulama use-case’i için olası birinci senaryo;
Katalog Sorgulama Use-Case’i
1. Kütüphaneci veya alıcı terminalde “A” tuşuna basar ve ardından yazarın adını girer.
2. Sistem istenen bilgileri görüntüler.
YZM 210 – Yazılım Gereksinimleri Analizi
17
• Kitap sorgulama use-case’i için olası ikinci senaryo;
Katalog Sorgulama Use-Case’i (devam…)
1. Kütüphaneci veya alıcı terminalde “T” tuşuna basar ve ardından kitap adını girer.
2. Sistem istenen bilgileri görüntüler.
YZM 210 – Yazılım Gereksinimleri Analizi
18
• Kitap sorgulama use-case’i için olası üçüncü senaryo;
Katalog Sorgulama Use-Case’i (devam…)
1. Kütüphaneci veya alıcı terminalde “S” tuşuna basar ve ardından konu başlığını girer.
2. Sistem istenen bilgileri görüntüler.
YZM 210 – Yazılım Gereksinimleri Analizi
19
• Uygulama sahası hakkında tecrübe sahibi olmayan geliştiriciler, aday varlık sınıfları ortaya çıkarırken isim çıkarma (noun extraction) yönteminden yararlanırlar.
• İsim çıkartma yöntemi iki adımda gerçekleştirilen bir süreçtir:
1. Problemi kısaca tanımlama,
2. İsimleri belirleme.
Sınıf Modelleme:
Kütüphane Otomasyon Sistemi
YZM 210 – Yazılım Gereksinimleri Analizi
20
• Yazılımın tek paragraflık tanımı:
Bir Kütüphane Otomasyon Sistemi geliştirilecektir.
Kütüphanedeki her kitap ve de her alıcı bir barkod
numarasıyla tanımlanır. Bir kitap, eğer başkası için
bekletilmiyorsa ödünç alınabilir. Başka biri tarafından
alınmış bir kitaba en fazla bir kişi bekletme yapabilir. Bir
kitap geri getirildiğinde görevli tarafından alınır. Alıcıların ve
görevlilerin kitap sorgulamaya yetkileri vardır.
Sınıf Modelleme:
Kütüphane Otomasyon Sistemi (devam…)
YZM 210 – Yazılım Gereksinimleri Analizi
21
• İsimleri belirleme:
Bir Kütüphane Otomasyon Sistemi geliştirilecektir.
Kütüphanedeki her kitap ve de her alıcı bir barkod
numarasıyla tanımlanır. Bir kitap, eğer başkası için
bekletilmiyorsa ödünç alınabilir. Başka biri tarafından
alınmış bir kitaba en fazla bir kişi bekletme yapabilir. Bir
kitap geri getirildiğinde görevli tarafından alınır. Alıcıların ve
görevlilerin kitap sorgulamaya yetkileri vardır.
Sınıf Modelleme:
Kütüphane Otomasyon Sistemi (devam…)
YZM 210 – Yazılım Gereksinimleri Analizi
22
• Alıcı ve Görevli isimleri aktörlerdir.
• Barkod numarası kitap ve alıcı için bir özelliktir (attribute).
Dolayısıyla bu isimler sınıf olmaya uygun değildirler.
• Kütüphane, bekletme, sistem kelimeleri de soyut isimlerdir.
Dolayısıyla bu isimler de sınıf olamaya uygun değildirler.
• Böylece geriye Kitap ismi kalmaktadır.
Aday sınıfımız Kitap Sınıfı dır.
Sınıf Modelleme:
Kütüphane Otomasyon Sistemi (devam…)
YZM 210 – Yazılım Gereksinimleri Analizi
24
• Sınır Sınıfları:
Görevli Ekranı Sınıfı,
Sorgulama Ekranı Sınıfı
• Kontrol Sınıfları:
Kütüphane Kontrol Sınıfı
Sınıf Modelleme:
Kütüphane Otomasyon Sistemi (devam…)
YZM 210 – Yazılım Gereksinimleri Analizi
26
Use-Case’leri Gerçekleştirme:
Kütüphane Otomasyon Sistemi
• Use-case’leri yeniden düzenleme ve genişletme süreci use-case’i gerçekleştirme (use-case realization) olarak adlandırılır.
• Bir use-case’e ait belirli bir senaryonun gerçekleştirilmesi için, bir etkileşim diyagramı (interaction diagram) kullanılır.
‒ Etkileşim diyagramı olarak ta ya sıralama (sequence) diyagramı ya da işbirliği (collaboration) diyagram kullanılır.
YZM 210 – Yazılım Gereksinimleri Analizi
27
Kitap Ödünç Verme Use-Case’i – Senaryo 1
• Kitap ödünç verme use-case’ine ait birinci senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
28
Kitap Ödünç Verme Use-Case’i – Senaryo 1 (devam…)
• Kitap ödünç verme use-case’ine ait birinci senaryoyu gerçekleştirdiğimizde oluşan sıralama diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
29
Kitap Ödünç Verme Use-Case’i – Senaryo 2
• Kitap ödünç verme use-case’ine ait ikinci senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
30
Kitap Ödünç Verme Use-Case’i – Senaryo 2 (devam…)
• Kitap ödünç verme use-case’ine ait ikinci senaryoyu gerçekleştirdiğimizde oluşan sıralama diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
31
Kitap Geri Getirme Use-Case’i – Senaryo 1
• Kitap geri getirme use-case’ine ait birinci senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
32
Kitap Geri Getirme Use-Case’i – Senaryo 1
• Kitap geri getirme use-case’ine ait birinci senaryoyu gerçekleştirdiğimizde oluşan sıralama diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
33
Kitap Geri Getirme Use-Case’i – Senaryo 2
• Kitap geri getirme use-case’ine ait ikinci senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
34
Kitap Geri Getirme Use-Case’i – Senaryo 2
• Kitap geri getirme use-case’ine ait ikinci senaryoyu gerçekleştirdiğimizde oluşan sıralama diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
35
Kitap Ekleme-Çıkarma Use-Case’i – Senaryo
• Kitap ekleme-çıkarma use-case’ine ait senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
36
Kitap Ekleme-Çıkarma Use-Case’i – Senaryo
• Kitap ekleme-çıkarma use-case’ine ait senaryoyu gerçekleştirdiğimizde oluşan sıralama diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
37
Kitap Bekletme Use-Case’i – Senaryo
• Kitap bekletme use-case’ine ait senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
38
Kitap Bekletme Use-Case’i – Senaryo
• Kitap bekletme use-case’ine ait senaryoyu gerçekleştirdiğimizde oluşan sıralama diyagramı şekilde görüldüğü gibidir.
YZM 210 – Yazılım Gereksinimleri Analizi
39
Kitap Bekletme Use-Case’i – Senaryo
• Kitap bekletme use-case’ine ait senaryoyu gerçekleştirdiğimizde oluşan işbirliği diyagramı şekilde görüldüğü gibidir.