T.C. ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ UÇAK TAKİP SİSTEMİ Damla Ok 080401041 Mesutcan Kurt 080401013 2 Ağustos 2011 Çanakkale Ali Murat Tiryaki 1
Projenin Konusu: Uçak Takip Sistemi Vizyon Amaçları Uçak ile insan ve kargo taşıma amacıyla yapılan yolculukları ve bu yolculukları yapan uçakları ve uçak içerisinde bulunan kişi ve kargoları takip eden bir yazılım sistemi geliştirilmesi. Uçak ile yolculuk yapmak isteyen kişilerin istedikleri tarih ve sefere uygun seçenekleri görebilmesi. Uçak ile kargo göndermek isteyen kişilerin istedikleri tarih ve sefere uygun seçenekleri görebilmesi. Yolcuların çocuk/öğrenci/yetişkin olarak ayrılması ve yolcu çeşidine göre çeşitli ücretlendirmelerin ayarlanması. Yolcular için bagaj miktarının belirlenmesi ve belirli bir limitin üstündeki bagaj için fazladan ücret belirlenmesi. Yolcu uçağındaki koltuk tipleri business ve ekonomik koltuk olarak ikiye ayrılması, her uçakta bu koltuk tiplerinin belirlenmesi ve farklı koltuk tiplerine farklı ücretlendirme yapılması. Uçakların marka ve modellerine göre ayrı oluşturulup hepsi için ayrı pilot, sefer, yolcu kapasitesi gibi özelliklerinin belirlenebilmesi. Uçakların yolcu ve kargo listelerinin gösterilebilmesi. Yolcunun biletinin iptal edilebilmesi. Uçuş seferlerine rötar yazılabilmesi. Yolcu ve Kargo uçakları için bilet satın alma ve rezervasyon işlemlerinin yapılabilmesi. Her uçuş, uçak ve seferler için toplam kazanılan paranın gösterilebilmesi. Herhangi bir yolcu ve pilot için herhangi bir zaman diliminde veya toplamda yapılan uçuş listesini gösterme. 2
Projenin Taslağı Aşağıdakiler sistemin barındıracağı maddelerdir. Uçak Ekleme/Değiştirme/Çıkartma Sefer Ekleme/Değiştirme/Çıkartma Uçuş Ekleme/Değiştirme/Çıkarma Bilet Satın Alma/İptal Etme Bilet Rezervasyonu Yapma Pilot Ekleme/Değiştirme/Silme Satış Elemanı Ekleme/Değiştirme/Silme Actor-Goal Model Actor Sistem Yöneticisi Satış Elemanı Müşteri Goal Uçak Ekleme/Değiştirme/Çıkartma/listeleme ve uçuşlarını listeleme Sefer Ekleme/Değiştirme/Çıkartma/listeleme/kazanç listeleme Uçuş Ekleme/Değiştirme/Çıkartma/listeleme/kazanç listeleme Pilot Ekleme/Değiştirme/Çıkartma/listeleme ve uçuşlarını listeleme Satış Elemanı Ekleme/Değiştirme/Çıkartma/listeleme Yolcu tipleri için indirim belirleme Uçuş seferleri için rötar belirleme Bilet satın alma/iptal etme Bilet rezervasyonu Müşteri Ekleme/Değiştirme/Çıkartma Bilet satın alma/iptal etme Bilet rezervasyonu 3
Yardımcı Gereksinimler: Bilet/kargo alanı satış işlemi hatasız ve güvenilir olmalı. Bilet/kargo alanı satış işlemi en fazla 1 saniye sürmeli. Sefer sistemi ülkeler arası saat farklarını göz önünde bulundurmalı. Business Rule: ID Rule Changeability Source RULE1 Vergi kuralı. Satışlara Vergiler devlet tarafından Hükümet vergi miktarı eklenmeli. Vergilerin değişmesi yasaların çıkartılan yasalara göre belirlenir. değişmesine bağlıdır. Bu süreç değişiklik gösterebilir. Vergiler sistem yöneticisi tarafından daha RULE2 Yaş kuralı. 18 yaşından küçükler yanlarında ebeveynleri olmadan uçuş hizmetlerinden faydalanamazlar. RULE3 Kimlik kanıtlama kuralı. Bilet işlemi yapan müşterilerin logları tutulmalı ve bu loglar belirli sürelerin sonunda emniyete bildirilmelidir. sonra değiştirilebilmelidir. Yaş kuralı yasalar tarafından belirlenir. 18 yaş sınırının değişkenliği fazla değildir. Bu kural sabit kabul edilebilir. Kimlik kanıtlama kuralı emniyete bildirme zorunluluğu olmasa dahi daha sonra uçuş firmasının bazı durumlarda sorumluluk üstlenmemesi için önemlidir. Kanuni durumlarda kimin, ne zaman uçtuğu belli olur. Hükümet 4
Glossary: Term Definition and Information Format Validation Rules Aliases Müşteri Bilet satış/rezervasyon işlemini satış elemanı ile yapan, bilet ile ilişkilendirilen uçuş müşterisidir. Satış Elemanı Satış elemanı, bir uçuş firması personelidir. Firma ile ilgili olan bilet satış ve rezervasyon gibi işlemleri yapar. Sistemin de bir kullanıcısıdır. Uçuş Firması Sistemin tüm işlemlerinin gerçekleştiği fiziksel mekandır. Rezervasyon Rezervasyon işlemi, belirli bir güne kadar, belirli bir gün için, belirli bir kişiye, belirli bir bileti (koltuk) ayırtma işlemidir. Satış Herhangi bir rezervasyon işlemini, ücret karşılığında gerçekleştirme işlemidir. Ya da herhangi bir durumda bir biletin (koltuğun) o kişiye uçuş boyunca verilmesi işlemidir. Rötar Uçuşun herhangi bir sebeple gecikmesi durumu. Dakika/saat/gün gibi bir süre olarak belirtilebilir. Kargo Bir yerden bir yere taşınan ürün/mal/eşya. Sefer Sefer, belirli bir seferid si, kalkış ve iniş havalimanı gibi bilgilere sahip bir çeşit güzergah tanımıdır. Uçuş Uçuş, bir sefer in belirli bir uçak tarafından gerçekleştirilme işlemidir. Pilot Belirli bir uçuş için, uçağı uçurmaya yetkin kişi. Uçak Uçuşların gerçekleştirildiği, yolcu/kargo taşıma işlemini yapan araç. 5
Use Case 1: Yolcu Bilet Satın Alma Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Satış Elemanı Stakeholders and Interests: Satış Elemanı: Müşteri için bilet satın almak işlemini yapmak ister. Daha sonra bu bilet için belirlenmiş ID ile buna erişmek ister. Müşteri: Bilet satın alma işleminin sorunsuz tamamlanmasını ister. Preconditions: Müşteri sistemde kayıtlı olmalı. Satış Elemanı sisteme kayıtlı ve sisteme giriş yapmış olmalı. Sistemde en az 1 adet uçuş tanımlı olmalı. Postconditions: Müşterinin bileti sisteme kaydedilmiş olmalı, bilet satın alma işlemi tamamlanmış olmalı. Main Success Scenario (or Basic Flow): 1. Müşteri havalimanına Kimlik No ile gelir ve Satış Elemanına talebini iletir. 2. Satış Elemanı, sisteme yeni bilet satışı için istek gönderir. 3. Sistem, Satış Elemanıden biletin alınacağı tarihi ister. 4. Satış Elemanı, müşteriden aldığı tarih bilgisini sisteme girer. 5. Sistem, o tarihteki uygun boş yer olan uçuş seferlerini listeler. 6. Satış Elemanı, müşterinin isteğine uygun uçuşu seçer. 7. Sistem, o uçuşla ilgili boş koltukları listeler. 8. Satış Elemanı, müşterinin isteğine uygun koltuk ve bagaj bilgisini sisteme girer. 9. Sistem ücreti gösterir. 10. Satış Elemanı, müşteriden ödeme yapmasını ister ve bilet satın alma işlemini bitirir. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 5a. Belirtilen tarihte uygun uçuş yoksa: 1. Müşteriden başka uygun tarih istenir. 6
Contract 1: Yolcu bilet satış işlemini başlat Operation: YolcuBiletSatisIsleminiBaslat(yolcuKimlikNo) Cross References: Use cases: Yolcu Bilet Satın Alma Preconditions: Yok YolcuBilet sınıfının nesnesi b oluşturulmuş olmalı. b nin özellikleri başlatılmış olmalı. Musteri nesnesi parametre olarak gelen yolcukimlikno özelliği ile doldurulmuş olmalı. Contract 2: Tarih secme Operation: tarihsec(tarih) Cross References: Use cases: Yolcu Bilet Satın Alma Preconditions: Yolcu bilet satış işlemi başlamış olmalı. Bilet satış işleminin ilgili bilet nesnesinin tarih özelliği parametre olarak gelen tarih ile ilişkilendirilmeli. Contract 3: Uçuş secme Operation: ucussec(ucus) Cross References: Use cases: Yolcu Bilet Satın Alma Preconditions: Yolcu bilet satış işlemi başlamış olmalı. Bilet satış işleminin ilgili bilet nesnesinin uçuş özelliği parametre olarak gelen ucus ile ilişkilendirilmeli. Contract 4: Koltuk ve bagaj secme Operation: koltukvebagajsec(koltuk, bagaj) Cross References: Use cases: Yolcu Bilet Satın Alma Preconditions: Yolcu bilet satış işlemi başlamış olmalı. 7
Bilet satış işleminin ilgili bilet nesnesinin koltuk özelliği parametre olarak gelen koltuk ile ilişkilendirilmiş olmalı. Bilet satış işleminin ilgili bilet nesnesinin bagaj özelliği parametre olarak gelen bagaj ile ilişkilendirilmiş olmalı. Contract 5: Satış işlemini bitir Operation: satisisleminibitir() Cross References: Use cases: Yolcu Bilet Satın Alma Preconditions: Yolcu bilet satış işlemi başlamış olmalı. Bilet satış işleminin ilgili bilet nesnesinin tamamlandimi özelliği doğru olarak belirlenmeli. b, biletcatalog nesnesiyle ilişkilendirilmiş olmalı. 8
Use Case 2: Kargo Bileti Satın Alma Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Satış Elemanı Stakeholders and Interests: Satış Elemanı: Müşteri için bilet satın almak işlemini yapmak ister. Daha sonra bu bilet için belirlenmiş ID ile buna erişmek ister. Müşteri: Bilet satın alma işleminin sorunsuz tamamlanmasını ister. Preconditions: Müşteri sistemde kayıtlı olmalı. Satış Elemanı sisteme kayıtlı ve sisteme giriş yapmış olmalı. Sistemde en az 1 adet uçuş tanımlı olmalı. Postconditions: Müşterinin bileti sisteme kaydedilmiş olmalı, bilet satın alma işlemi tamamlanmış olmalı. Main Success Scenario (or Basic Flow): 1. Müşteri, Kimlik No ile havalimanına gelir ve Satış Elemanına talebini iletir. 2. Satış Elemanı, sisteme yeni bilet satışı için istek gönderir. 3. Sistem, Satış Elemanından biletin alınacağı tarihi ister. 4. Satış Elemanı, müşteriden aldığı tarih bilgisini sisteme girer. 5. Sistem, o tarihteki uygun boş yer olan uçuşları listeler. 6. Satış Elemanı, müşterinin isteğine uygun uçuşu seçer. 7. Sistem, o uçuşla ilgili boş hacmi gösterir. 8. Satış Elemanı, müşterinin isteğine uygun kargo hacmini sisteme girer. 9. Sistem ücreti gösterir. 10. Satış Elemanı, müşteriden ödeme yapmasını ister ve bilet satın alma işlemini bitirir. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 5a. Belirtilen tarihte uygun uçuş yoksa: 1. Müşteriden başka uygun tarih istenir. 7a. Seçilen uçuşnde müşteri için yeterli miktarda boş hacim yoksa: 1. Müşteriden başka bir uçuş istenir. 9
Contract 1: Kargo bilet satış işlemini başlat Operation: KargoBiletSatisİsleminiBaslat(yolcuKimlikNo) Cross References: Use cases: Kargo Bilet Satın Alma Preconditions: Yok Bilet sınıfının nesnesi b oluşturulmuş olmalı. b nin özellikleri başlatılmış olmalı. Musteri nesnesi parametre olarak gelen yolcukimlikno özelliği ile doldurulmuş olmalı. Contract 2: Tarih secme Operation: tarihsec(tarih) Cross References: Use cases: Kargo Bilet Satın Alma Preconditions: Kargo bilet satış işlemi başlamış olmalı. Bilet satış işleminin ilgili bilet nesnesinin tarih özelliği parametre olarak gelen tarih ile ilişkilendirilmeli. Contract 3: Uçuş secme Operation: ucussec(ucus) Cross References: Use cases: Kargo Bilet Satın Alma Preconditions: Kargo bilet satış işlemi başlamış olmalı. Bilet satış işleminin ilgili bilet nesnesinin ucus özelliği parametre olarak gelen ucus ile ilişkilendirilmeli. Contract 4: Kargo alan belirle Operation: kargoalanbelirle(hacim) Cross References: Use cases: Kargo Bilet Satın Alma Preconditions: Kargo bilet satış işlemi başlamış olmalı. 10
Bilet satış işleminin ilgili bilet nesnesinin hacim özelliği parametre olarak gelen hacim ile ilişkilendirilmiş olmalı. Contract 5: Satış işlemini bitir Operation: satisisleminibitir() Cross References: Use cases: Kargo Bilet Satın Alma Preconditions: Kargo bilet satış işlemi başlamış olmalı. Bilet satış işleminin ilgili bilet nesnesinin tamamlandimi özelliği doğru olarak belirlenmeli. b, biletcatalog nesnesiyle ilişkilendirilmiş olmalı. 11
Use Case 3: Uçuş Oluşturma Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Sistem Yöneticisi Stakeholders and Interests: Sistem Yöneticisi: Uçağı ilgili sefere ekleyip yeni bir uçuş oluşturma işleminin tamamlanmasını bekler. Preconditions: Sistem yöneticisi sistemde ekli ve giriş yapmış olmalı. Uçak sistemde kayıtlı olmalı. Sefer sistemde kayıtlı olmalı. Postconditions: Uçuş sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Sistem Yöneticisi yeni uçuş talebini ucusid ile sisteme iletir. 2. Sistem, uçuş tipini ister. 3. Sistem Yöneticisi, uçuş tipini girer. 4. Sistem, uygun seferleri listeler. 5. Sistem Yöneticisi, seferi seçer. 6. Sistem, uçuş için tarih ister. 7. Sistem Yöneticisi, tarihi girer. 8. Sistem, sefere uygun uçakları listeler. 9. Sistem Yöneticisi, uçağı seçer. 10. Sistem, ilgili uçakta olan tüm koltuk tipleri için fiyat ister. 11. Sistem Yöneticisi, koltuk tipleri için fiyat girer. 12. Sistem, uçak için uygun pilotları listeler ve bir tane ister. 13. Sistem yöneticisi pilotu seçer. 14. Sistem bilgileri gösterir ve onay bekler. 12
15. Sistem Yöneticisi bilgileri onaylar ve işlemi bitirir. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 1a. Aynı ID li başka bir uçuş varsa 1. Sistem, başka bir uçuş idsi girilmesini ister. 4a. Uçuş tipine uygun sefer yoksa: 1. Sistem, başka bir uçuş tipi girilmesini ister. 6a. Sefer için uygun uçak yoksa: 1. Sistem, başka bir sefer girilmesini ister. 13
Contract 1: Uçuş ekleme işlemini başlat Operation: ucuseklemeisleminibaslat(ucusid) Cross References: Use cases: Ucus Oluşturma Preconditions: Yok Ucus sınıfının nesnesi u oluşturulmuş olmalı. u nesnesinin ucusid özelliği, parametre olarak gelen ucusid ile doldurulmuş olmalı. Contract 2: Uçuş Tipi secme Operation: ucustipisec(ucustipi) Cross References: Use cases: Uçuş Oluşturma Preconditions: Uçuş Oluşturma işlemi başlamış olmalı. Uçuş Oluşturma işleminin ilgili ucus nesnesinin ucustipi özelliği parametre olarak gelen ucustipi ile ilişkilendirilmeli. Contract 3: Uçuş secme Operation: ucussec(ucus) Cross References: Use cases: Uçuş Olusturma Preconditions: Uçuş oluşturma işlemi başlamış olmalı. Uçuş Oluşturma işleminin ilgili ucus nesnesinin ucus özelliği parametre olarak gelen sefer ile ilişkilendirilmeli. Contract 4: Tarih Seçme Operation: tarihsec(tarih) Cross References: Use cases: Uçuş Oluşturma Preconditions: Uçuş Oluşturma işlemi başlamış olmalı. 14
Uçuş Oluşturma işleminin ilgili ucus nesnesinin tarih özelliği parametre olarak gelen tarih ile ilişkilendirilmiş olmalı. Contract 5: Uçak Seçme Operation: ucaksec(ucak) Cross References: Use cases: Uçuş Oluşturma Preconditions: Uçuş Oluşturma işlemi başlamış olmalı. Uçuş Oluşturma işleminin ilgili ucus nesnesinin ucak özelliği parametre olarak gelen ucak ile ilişkilendirilmiş olmalı. Contract 6: Fiyat belirle Operation: fiyatbelirle(fiyatlar) Cross References: Use cases: Uçuş Oluşturma Preconditions: Uçuş Oluşturma işlemi başlamış olmalı. Uçuş Oluşturma işleminin ilgili ucus nesnesinin koltukfiyatlari özelliği parametre olarak gelen fiyatlar ile ilişkilendirilmiş olmalı. Contract 6: Pilot belirle Operation: PilotBelirle(pilot) Cross References: Use cases: Uçuş Oluşturma Preconditions: Uçuş Oluşturma işlemi başlamış olmalı. Uçuş Oluşturma işleminin ilgili ucus nesnesinin pilot özelliği parametre olarak gelen pilot ile ilişkilendirilmiş olmalı. Contract 7: Kayit işlemini bitir Operation: kayitisleminibitir() Cross References: Use cases: Uçuş Oluşturma Preconditions: Uçuş Oluşturma işlemi başlamış olmalı. 15
Uçuş Oluşturma işleminin ilgili ucus nesnesinin tamamlandimi özelliği doğru olarak belirlenmeli. u, UcusCatalog nesnesiyle ilişkilendirilmiş olmalı. 16
Use Case 4: Müşteri Ekleme Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Satış Elemanı Stakeholders and Interests: Satış Elemanı: Müşterinin doğru bir şekilde eklenmiş olmasını bekler. Preconditions: Satış Elemanı sistemde ekli ve giriş yapmış olmalı. Postconditions: Müşteri sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Müşteri, kayıt talebi için Kimlik Numarası ile Satış Elemanına talebini iletir. 2. Satış Elemanı, yeni müşteri kayıt işlemini başlatır. 3. Sistem, müşteri bilgilerini ister. 4. Satış Elemanı, müşteriden aldığı bilgileri sisteme girer. 5. Sistem, bilgileri gösterir ve onay ister. 6. Satış Elemanı, bilgileri onaylar ve işlemi bitirir. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 2a. Aynı Kimlik Numaralı başka bir müşteri varsa: 1. Sistem, hata verir ve işlemi sonlandırır. 4a. Müşteri bilgileri eksik veya yanlış ise: 1. Sistem, gerekli bilgilerin tekrar girilmesini ister. 17
Use Case 5: Satış Elemanı Ekleme Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Sistem Yöneticisi Stakeholders and Interests: Sistem Yöneticisi: Satış Elemanının doğru bir şekilde eklenmiş olmasını bekler. Preconditions: Sistem Yöneticisi sistemde ekli ve giriş yapmış olmalı. Postconditions: Satış Elemanı sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Satış Elemanı, kayıt talebi için Kimlik Numarası ile Sistem Yöneticisine talebini iletir. 2. Sistem Yöneticisi, yeni satış elemanı kayıt işlemini başlatır. 3. Sistem, Satış Elemanı bilgilerini ister. 4. Sistem Yöneticisi, Satış Elemanından aldığı bilgileri sisteme girer. 5. Sistem, bilgileri gösterir ve onay ister. 6. Sistem Yöneticisi, bilgileri onaylar ve işlemi bitirir. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 2a. Aynı Kimlik Numaralı başka bir satış elemanı varsa: 1. Sistem, hata verir ve işlemi sonlandırır. 4a. Satış elemanı bilgileri eksik veya yanlış ise: 1. Sistem, gerekli bilgilerin tekrar girilmesini ister. 18
Use Case 6: Pilot Ekleme Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Sistem Yöneticisi Stakeholders and Interests: Sistem Yöneticisi: Pilotun doğru bir şekilde eklenmiş olmasını bekler. Preconditions: Sistem Yöneticisi sistemde ekli ve giriş yapmış olmalı. Postconditions: Pilot sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Pilot, kayıt talebi için Kimlik Numarası ile Sistem Yöneticisine talebini iletir. 2. Sistem Yöneticisi, yeni pilot kayıt işlemini başlatır. 3. Sistem, Pilot bilgilerini ister. 4. Sistem Yöneticisi, pilottan aldığı bilgileri sisteme girer. 5. Sistem, bilgileri gösterir ve onay ister. 6. Sistem Yöneticisi, bilgileri onaylar ve işlemi bitirir. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 2a. Aynı Kimlik Numaralı başka bir pilot varsa: 1. Sistem, hata verir ve işlemi sonlandırır. 4a. Pilot bilgileri eksik veya yanlış ise: 1. Sistem, gerekli bilgilerin tekrar girilmesini ister. 19
Use Case 7: Uçak Ekleme Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Sistem Yöneticisi Stakeholders and Interests: Sistem Yöneticisi: Uçağın doğru bir şekilde eklenmiş olmasını bekler. Preconditions: Sistem Yöneticisi sistemde ekli ve giriş yapmış olmalı. Postconditions: Uçak sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Sistem Yöneticisi, yeni uçak kayıt işlemini başlatır. 2. Sistem, uçak ID si ister. 3. Sistem Yöneticisi, uçak ID sini girer. 4. Sistem, diğer uçak bilgilerini ister. 5. Sistem Yöneticisi, uçak bilgilerini girer. 6. Sistem, uçak bilgilerini gösterir ve onay ister. 7. Sistem Yöneticisi bilgileri onaylar ve işlemi sonlandırır. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 3a. Aynı ID li başka bir uçak varsa: 1. Sistem, hata verir ve işlemi sonlandırır. 5a. Uçak bilgileri eksik veya yanlış ise: 1. Sistem, gerekli bilgilerin tekrar girilmesini ister. 20
Use Case 8: Sefer Ekleme Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Sistem Yöneticisi Stakeholders and Interests: Sistem Yöneticisi: Seferin doğru bir şekilde eklenmiş olmasını bekler. Preconditions: Sistem Yöneticisi sistemde ekli ve giriş yapmış olmalı. Postconditions: Sefer sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Sistem Yöneticisi, yeni sefer kayıt işlemini başlatır. 2. Sistem, sefer ID si ister. 3. Sistem Yöneticisi, sefer ID sini girer. 4. Sistem, Kalkış ve İniş Havalimanını ister. 5. Sistem Yöneticisi, Kalkış ve İniş Havalimanını girer. 6. Sistem, diğer sefer bilgilerini ister. 7. Sistem Yöneticisi, diğer bilgileri girer. 8. Sistem, sefer bilgilerini görüntüler ve onay ister. 9. Sistem Yöneticisi, bilgileri onaylar ve işlemi sonlandırır. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 3a. Aynı ID li başka bir sefer varsa: 1. Sistem, hata verir ve işlemi sonlandırır. 5a. Kalkış ve İniş Havalimanı aynıysa veya uygun değilse: 1. Sistem, hata verir ve başka bir havalimanı ister. 7a. Sefer bilgileri eksik veya yanlış ise: 1. Sistem, gerekli bilgilerin tekrar girilmesini ister. 21
Use Case 9: Havalimanı Ekleme Scope: Uçak Takip Sistemi Level: User Goal Primary Actor: Sistem Yöneticisi Stakeholders and Interests: Sistem Yöneticisi: Havalimanının doğru bir şekilde eklenmiş olmasını bekler. Preconditions: Sistem Yöneticisi sistemde ekli ve giriş yapmış olmalı. Postconditions: Havalimanı sisteme başarıyla eklenmiş olmalı. Main Success Scenario (or Basic Flow): 1. Sistem Yöneticisi, yeni havalimanı kayıt işlemini başlatır. 2. Sistem, havalimanı ID si ister. 3. Sistem Yöneticisi, havalimanı ID sini girer. 4. Sistem, Havalimanı bilgilerini ister. 5. Sistem Yöneticisi, Havalimanı bilgilerini girer. 6. Sistem, havalimanı bilgilerini görüntüler ve onay ister. 7. Sistem Yöneticisi, bilgileri onaylar ve işlemi sonlandırır. Extensions (or Alternative Flows): *a Senaryodaki herhangi bir ölümcül hatada: 1. Bütün işlemler iptal edilip her şey baştan yazılır. 3a. Aynı ID li başka bir havalimanı varsa: 1. Sistem, hata verir ve işlemi sonlandırır. 5a. Havalimanı bilgileri eksik veya yanlış ise: 1. Sistem, gerekli bilgilerin tekrar girilmesini ister. 22
Use-Case Model 23