Dalış Simülatörü ve Veritabanı
Uygulaması
DSD
Nesip
Aral
Analiz Belgesi
Yazılım Geliştirme
Projesi
Bilgi Teknolojileri Sertifika
Programı
İDEA: ODTÜ Sanal Kampüsü
22 Ekim 1999
Öz
Analiz Belgesinde DSD
uygulamasının sistem çözümlemesi yapılmış ve uygulamanın yerine getirmesi
beklenen işlevlerin ne olduğu ele alınmıştır. Çözümleme daha çok uygulamayı
kullanacak kişi olan "Dalgıç" açısından ele alınmış ve dalgıç için anlamlı
olabilecek konular üzerinde yoğunlaşılmıştır. Tasarım aşamasında alınacak
kararları gereksiz yere sınırlamaktan kaçınılmış ve ihtiyacın ne olduğunun
belirtilmesi ile yetinilmiştir
Çözümleme çalışması
UML (Unified Modeling Language) metodolojisine uygun olarak yapılmış ve
uygulamanın "Kullanım Şekilleri" (Use Cases) ortaya konmuştur. Bu kullanım
şekillerinin dalgıç için bir yarar ifade edebilecek tüm kullanımları içerdiği
düşünülmektedir. Her kullanım şeklinin kısmen veya tümüyle gerçekleştirilmesi,
"Proje planı ve uygulama takvimi" bölümünde anlatıldığı gibi, farklı "Build"lere
karşılık gelen farklı aşamalarda yapılacaktır.
Proje Tanımı
Proje tanımı proje
teklifi belgesinde detaylı olarak açıklanmış olduğu için burada aynı
bilgilerin tekrarlanmasından kaçınılmıştır. Bu konuda gerek duyuldukça
proje
teklifi belgesine başvurulmalıdır.
Sistem Kullanım
Şekilleri Ana Şeması
Kullanım şekilleri ana şeması aşağıda
verilmiştir. Bu kullanım şekilleri bir sonraki bölümde detaylı olarak açıklanmaktadır.
Kullanım Şekilleri
Analizi (Use Case Analysis)
Aktörler:
1- Dalgıç:Dalgıçlık
eğitimi görmekte olan veya dalgıç sertifikalı bir kişi.
2- Yazıcı:
DSD uygulamasının üzerinde koştuğu bilgisayardan erişilebilen, grafik özelliği
olan bir yazıcı.
3- Başka
uygulama: Dalgıçlıkla ilgili veya ilgisiz herhangi bir uygulama.
4- Dalış
bilgisayarı: Gerçek dalışlarda kullanılmak üzere tasarlanmış,
dalış sırasında kaydettiği bilgileri bir bilgisayara aktarma özelliği olan,
bir cihaz ve bu cihaza ait bilgisayar arayüzü donanım ve yazılımı.
Kullanım Şekilleri:
1- (R1)"DSD
uyglamasının kurulması" (setup) kullanım şekli (use case)
Tanım:
Dalgıç bu kullanım şeklini DSD uygulamasını
bilgisayarına kurmak için kullanır.
Açıklamalar:
Dalgıç burada amacına uygun olmayan kullanımların tehlikeli olabileceği,
bu durumda sorumluluğun kendisine ait olacağı ve uygulamayı geliştiren
kişinin sorumlu tutulamayacağı konusunda uyarılacaktır.
2- (YGP) "DSD
uygulamasının açılması" kullanım şekli (use case)
Tanım:
Dalgıç bu kullanım şeklini DSD uygulamasını kullanıma hazırlamak amacıyla
kullanır.
Temel olay akışı:
1- Kullanım şekli dalgıcın DSD uygulamasını çalıştırması ile başlar.
2- Uygulama dalgıca kendisini tanıtabileceği bir ortam sunar.
3.1- Dalgıç kendisini yeni bir kullanıcı, misafir kullanıcı veya kayıtlı
kullanıcılardan biri olarak tanıtır ve kullanım şekli sona erer.
Alternatif olay akışları:
3.2- (R1) Dalgıcın seçtiği kayıtlı kullanıcı
kişisel çalışma alanını diğer dalgıçların erişimine kapatmak istemiş olan
biri ise uygulama dalgıcın gerçekten seçtiği kişi olup olmadığını ayırdedecek
bir işlem yapar ve kullanım şekli sona erer.
Açıklamalar:
Dalgıç burada amacına uygun olmayan kullanımların tehlikeli olabileceği,
bu durumda sorumluluğun kendisine ait olacağı ve uygulamayı geliştiren
kişinin sorumlu tutulamayacağı konusunda uyarılacaktır.
3- (YGP) "Kişisel
bilgileri gir" kullanım şekli (use case).
Tanım:
Dalgıç bu kullanım şeklini kendisine uygulamayı kullanan diğer dalgıçlardan
bağımsız bir çalışma ortamı yaratmak, uygulamaya kişisel bilgilerini girebilmek,
daha önceden girilmiş olan bilgileri incelemek ve bu bilgileri değiştirmek
amacıyla kullanır.
Temel olay akışı:
1- Kullanım şekli dalgıcın yeni kullanıcı yaratma veya mevcut bilgilerini
inceleme isteğini belirtmesi ile başlar.
2- Uygulama incelemesi için dalgıca mevcut bilgileri sunar.
3.1- Dalgıç bilgileri değiştirmek veya yeni bilgi eklemek istediğini
belirtir.
4- Uygulama dalgıca bilgileri değiştirebileceği veya yeni bilgi ekleyebileceği
bir ortam sunar.
5- Dalgıç yapmak istediği değişik veya eklemeleri yapar ve değişiklik
işleminin bittiğini bildirir.
6- Uygulama bilgilerin yeni halini dalgıca sunar.
7- Dalgıç yeni hali onaylar ve kullanım şekli tamamlanır.
Alternatif olay akışı:
3.2- Dalgıç mevcut durumu değiştirmek istemediğini belirterek kullanım
şeklini bitirebilir.
Dalgıcın girebileceği bilgiler:
1- Tanıtıcı bilgiler: İsim, soyadı, fotoğraf, doğum tarihi, boy, kilo,
göz rengi, saç rengi.
2- (R1) İletişim bilgileri: Ev adresi,
ev telefonu, iş adresi, iş telefonu, e-mail adresi
3- (R1) Sağlık bilgileri: kan grubu, geçirdiği
önemli hastalıklar, allerjiler.
4- (R1) Yakınları ile iletişim bilgileri:
En yakın üç kişi için ev adresi, ev telefonu, iş adresi, iş telefonu.
5- (R1) Sağlık kontrolları bilgileri:
her sağlık kontrolu için tarih, doktorun ismi, ünvanı, numarası, adresi
ve telefon numarası.
6- Dalış sertifikaları bilgileri: Her sertifika için veren kuruluş,
sertifikanın cinsi, numarası, veriliş tarihi, öğrenci numarası, sertifikayı
veren kişinin ismi, bağlı bulunduğu kuruluş, ünvanı ve numarası.
7- (R1) Özel bilgiler: Dalgıç bu alanların
hem tanımını hem de bilginin kendisini ayrı ayrı girer. Tanım bilgi çiftlerinin
sayısında bir kısıtlama yoktur.
8- (R1) Çalışma alanını diğer dalgıçların
erişimine kapatmak isteyip istemediği. Burada dalgıç, acil bir durum oluştuğunda,
diğer dalgıçların kendisine yardım edebilmek için buradaki bilgilere
ihtiyaç duyabilecekleri konusunda uyarılmalıdır.
4- (YGP) "Dalış
simülasyonu yap" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini gerçek bir dalış sırasında çeşitli dokularda
oluşan azot kısmi basınçlarının simülasyonunu gerçekleştirerek vurgun olayını
kavramak amacıyla kullanır.
Temel olay akışı:
Tasarım aşamasında detaylandırılacak.
Alternatif olay akışı:
Tasarım aşamasında detaylandırılacak.
Açıklamalar:
Dalgıç sanal bir dalışa başlar ve gerçek bir dalışta olduğu gibi derinlere
dalma, yukarı çıkma veya bulunduğu yerde istediği kadar kalma seçenekleri
vardır. Çeşitli grafik pencerelerde nasıl bir yol (dalış profili) izlediğini,
bu dalış profiline göre hesaplanmış olan dokularında biriken azot miktarını,
vurgun açısından tehlikeli sınıra ne kadar yaklaştığını, tüpünde ne kadar
hava kaldığını ve seçtiği (muhtemelen gerçek dalışlarında kullandığı veya
satın almayı düşündüğü) bir dalış bilgisayarının ekranını görür. Dalışı
bitirip yüzeye çıktıktan sonra da simülasyon devam eder ve dalgıcın bu
aşamada da yeni bir dalışa başlamak, deniz seviyesinden yükseklere çıkmak
(R1) , uçağa binmek (R1)
gibi seçenekleri vardır. Tüm bu olayların etkilerini de aynı grafiklerden
izler.
Veritabanına gerçek veya sanal dalışların bilgileri kaydedilebilir
ve bu bilgiler kullanılarak dalışlar sanal ortamda tekrarlanabilir.
Başlangıç değerlerinin girilmesi ve simulasyonun incelenmesi de kullanım
şeklinin kapsamı içindedir.
Bunlara ek olarak:
1- (R1) Dalışlar deniz seviyesinde yapılabildiği
gibi istenen herhangi bir yükseklikte de yapılabilecek.
2- Vücuttaki değişik dokular azotu değişik hızlarda aldıkları ve verdikleri
için programda değişik doku grupları için erimiş azot kısmi basınçları
hesaplanacak ve her doku grubunun anlık durumu kullanıcıya grafik olarak
gösterilecek.
3- (R1) Uçağa binme seçeneğine ilave olarak
uçakta arıza olması ve kabin basıncının dış basınca eşitlenmesi durumu
da bir seçenek olarak bulunacak.
4- (R1) Uygulamanın dil sseçenekleri olacak,
yeni bir dil kolaylıkla ilave edilebilecek.
5- Giriş sırasında bir kullanıcı ismi ile girilecek ve bu şekilde her
kullanıcı kendi verileri ile çalışabilecek.
6- (R1) Hava dışında nitrox gibi (belli
bir oranda oksijen ilave edilmiş hava) değişik gaz karışımları kullanmak
mümkün olacak.
7- (R2) Azot sarhoşluğu, oksijen zehirlenmesi
gibi dalış sırasında tehlikeli olabilecek olayların gerçekleşme ihtimali
içinde bulunulan koşulların fonksiyonu olarak hesaplanacak ve bu olaylar
stochastic olarak üretilecek.
8- (R2) Vurgun olayının kendisi de stochastic
olarak ele alınacak.
5- (YGP) "Dalış
bilgilerini gir" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini gerçek veya sanal dalış bilgilerini uygulamanın
veri tabanına girmek amacıyla kullanır.
Temel olay akışı:
1- Kullanım şekli dalgıcın mevcut kayıtları inceleme isteğini belirtmesi
ile başlar.
2- Uygulama incelemesi için dalgıca mevcut kayıtların bir listesini
sunar.
3.1- Dalgıç seçtiği bir kaydı incelemek istediğini belirtir.
4- Uygulama incelemesi için dalgıca seçtiği kaydın bilgilerini sunar.
5.1- Dalgıç kaydın bilgilerini değiştirmek veya yeni bilgi eklemek
istediğini belirtir.
6- Uygulama dalgıca bilgileri değiştirebileceği veya yeni bilgi ekleyebileceği
bir ortam sunar.
7- Dalgıç yapmak istediği değişik veya eklemeleri yapar ve değişiklik
işleminin bittiğini bildirir.
8- Uygulama bilgilerin yeni halini dalgıca sunar.
9- Dalgıç yeni hali onaylar ve kullanım şekli tamamlanır.
Alternatif olay akışı:
3.2 Dalgıç yeni kayıt eklemek istediğini belirtir. Bu durumda olay
akışı 6'dan devam eder.
5.2- Dalgıç mevcut durumu değiştirmek istemediğini belirterek kullanım
şeklini bitirebilir.
Dalgıcın girebileceği bilgiler:
1- Dalışa ilişkin bilgiler: derinlik, süre, dalış başlangıcında ve
sonunda hava basıncı
2- Kullandığı teknik malzemeye ilişkin bilgiler: hava tankının hacmi,
tankın kullanım basıncı, dalış bilgisayarının marka ve modeli, taşıdığı
ağırlık, fotoğraf makinesi, video.
3- Çevre koşullarına ilişkin bilgiler: su sıcaklığı, görüş mesafesi,
akıntı hızı, karşılaşılan balıklar.
4- Birlikte daldığı organizasyon ve kişilere ilişkin bilgiler: Organizasyonun
ve rehber dalgıcın ismi, dalışa katılanların isimleri, seviyeleri ve tabiyetleri.
6- (R1) "Dalış
bilgilerini ara" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini dalış kayıtları üzerinde arama yapmak amacıyla
kullanır.
7- (R1) "Dalış
kayıtlarını yazdır" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini kişisel bilgilerini ve dalış kayıtlarını
bir dalış defteri halinde bastırmak amacıyla kullanır.
Açıklamalar:
Her dalış kaydı için rehberinin veya yetkili kişinin imzalaması ve
organizatör kuruluşun damgası için uygun yer bırakılır.
8- (R2) "Başka
uygulamaya veri aktar" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini DSD ortamında varolan bilgileri başka bir
ortama aktarmak amacıyla kullanır.
Açıklamalar:
Başka uygulamadan veri almak veya o uygulamaya veri aktarmak benzer
amaçlı başka bir ortamda varolan bilgilerin diğer ortama aktarılması amacıyla
olabileceği gibi aktarılan ortamın veri işleme veya gösterim olanaklarının
kullanılması amacıyla da yapılabilir. Aktarma işlemi doğrudan uygulamalar
arası iletişim yoluyla olabileceği gibi standart veri veya dosya formatları
aracılığıyla da olabilir.
9- (R2) "Başka
uygulamadan veri al" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini benzer amaçlı başka bir ortamda varolan
bilgileri DSD ortamına aktarmak amacıyla kullanır.
10- (R2) "Dalış
bilgisayarından veri al" kullanım şekli
Tanım:
Dalgıç bu kullanım şeklini kullandığı dalış bilgisayarının gerçek dalışlar
sırasında topladığı verileri DSD uygulamasına aktarmak amacıyla kullanır.
Proje Planı
ve Uygulama Takvimi
Proje teklif belgesinde
de belirtildiği gibi evrimsel (evolutionary) bir geliştirme stratejisi
kullanılarak geliştirilecektir.
Projenin tek seferde
geliştirilmemesinin veya artımsal (incremental) bir geliştirme stratejisi
seçilmemesinin sebebi YGP dersinin süresinin seçilen proje için kısa olması
ve gereklerin ve gerçekleştirme sırasında karşılaşılabilecek zorlukların
şimdiden kesin olarak bilinememesidir. Ortaya çıkacak ara ürünlerden edinilen
deneyime ve kullanıcılardan alınacak geri beslemeye göre son ürün şekillendirilecektir.
Geliştirmenin 3 iterasyonda
(build) gerçekleştirilmesi planlanmıştır
.
1- Build
1 (YGP sürümü - YGP)
YGP dersi süresince
ve proje teklifinde verilen plana uygun olarak gerçekleştirilecek. Kullanım
şekli analizinde bu aşamada gerçekleştirilecek olan özellikler (YGP)
olarak işaretlenmiştir.
2- Build
2 (Release 1 - R1)
Mayıs 2000 sonuna
kadar gerçekleştirilecek. Kullanım şekli analizinde bu aşamada gerçekleştirilecek
olan özellikler (R1) olarak işaretlenmiştir.
3- Build
2 (Release 2 - R2)
Ekim 2000 sonuna kadar
gerçekleştirilecek. Kullanım şekli analizinde bu aşamada gerçekleştirilecek
olan özellikler (R2) olarak işaretlenmiştir.
Build 1 dönemi için
hazırlanan belgeler Build 2 ve Build 3 dönemlerinin başında güncellenerek
o dönem için geçerli olan belgeler oluşturulacaktır.
Kaynakça
1- ABYSS-Technical
Diving Article
(http://www.abysmal.com/technical/technical-calculating.html)
2- IDRC
- Internet Dive Computer Review
(http://www.egr.unlv.edu/SCUBA/idcr/reviews/suunto.html)
3- Suunto
Dive Log for Windows
(http://www.suunto.fi/dlogexe.html)
|