PProje Teklifi
 
Dalış Simülatörü ve Veritabanı Uygulaması

DSD


Nesip Aral
 
 
 

Proje Teklifi

Yazılım Geliştirme Projesi

Bilgi Teknolojileri Sertifika Programı 

İDEA: ODTÜ Sanal Kampüsü
 
 

4 Ekim 1999


Amaç

Dalış Simülatörü ve Veritabanı Uygulaması ODTÜ Sürekli Eğitim Merkezinin (SEM) İDE_A (İnternete Dayalı Eğitim – Asenkron) Bilgisayar Teknolojileri Sertifikası Programı Yazılım Geliştirme Projesi Dersi Kapsamında geliştirilmektedir. Uygulamanın yaklaşık 3 ay sürecek olan ders döneminde kısmen geliştirilmesi, bazı özelliklerin gerçekleştirilmesinin ise daha sonraya bırakılması planlanmıştır. 

Bu uygulama amatör dalgıçlar veya dalgıçlık eğitimi almakta olan kişilerin karşılaşabilecekleri tehlikelerden biri olan vurgun olayını daha iyi anlamaları için tasarlanmış bir dalış simülatörü ve gerçek veya sanal dalışlara ilişkin bilgilerin saklanacağı bir veritabanından oluşmaktadır.

Dünyadaki benzer uygulamalara bakarsak bunları iki başlık altında toplayabiliriz: 
1. Dalış Bilgisayarı üreticilerinin kendi ürünlerine yönelik olarak geliştirdikleri yazılımlar.
2. Profesyonel dalgıçlara yönelik yazılımlar.
Birinci gruba girenler genellikle dalış bilgisayarında dalış sırasında toplanan bilgilerin bir masaüstü bilgisayara aktarılmasına ve kullanıcıya grafik bir arayüzle sunulmasına yönelik olmaktadır. Bunlardan bir kısmı kullanıcının sanal dalışlar yapabilmesi için dalış simülatörleri de içermektedir ancak burada da hedef daha çok kulanıcıyı dalış bilgisayarının arayüzüne alıştırmak ve dalış sırasında algılamayı hızlandırmaktır.
İkinci gruptaki ürünler daha çok profesyonel dalgıçların dalış planlaması (özellikle derin su dalışları) yapmalarına yönelik olarak geliştirilmiş ve derin su dalışlarında kullanılan trimix (oksijen, azot ve helyum karışımı) ve benzeri gaz karışımlarını da destekleyen ürünlerdir.
Birinci gruptaki yazılımlar genellikle ücretsiz olarak bulunabilirken ikinci gruptakilerin fiyatları $200’den başlayarak $1000’in üzerine çıkabilmektedir.

Bu proje kapsamında geliştirilecek uygulama yukarda anlatılan iki farklı sınıf ürünün arasında yer alacak ve özellikle dalış eğitimi, dalış olayının kavranması, gerçek dalışların analizi yoluyla dalgıcın dalış sırasında oluşmuş olabilecek riskli durumların farkına varması konularına yönelik olarak tasarlanacaktır. Amaç dalgıçların olabildiğince tehlikeden uzak dalışlar yapabilmelerine katkıda bulunmaktır. 

Dalış planlaması ise "Dalış Simülatörü ve Veritabanı Uygulaması"nın tamamen konusu dışındadır ve bu amaçla kullanılması tehlikeli sonuçlar doğurabileceği için yazılımın kullanımı sırasında (yükleme, açılış, v.b. durumlarda) kullanıcı uygulamayı bu amaçla kullanmaması için uyarılacaktır.
 

Proje Tanımı

Dalış Simülatörü ve Veritabanı Uygulaması amatör dalgıçlar veya dalgıçlık eğitimi almakta olan kişiler için dalış sırasında karşılaşabilecekleri muhtemel tehlikelerden biri olan vurgun olayını oluşturan mekanizmaların anlaşılması ve daha iyi kavranması için tasarlanmış bir sanal dalış simülatörü ve dalgıçların gerçek dalışlarına ilişkin bilgilerin saklanacağı bir veritabanından oluşmaktadır.

Vurgun olayı derinlerde suyun oluşturduğu basınç (her 10 metre için 1 atmosfer) altında azot gazının dokularda erimesi ve daha sonra yukarı çıkarken basıncın azalması sonucunda dokularda gaz haline geçmesi, buradan da kabarcıklar halinde dolaşım sistemine geçerek damarları tıkaması sonucunda ortaya çıkar. Tıkanan damarın önemine göre de kişinin ölümüne kadar varabilen kötü sonuçlar doğurabilir.

Dalış Simülatörü gerçek zamanda (veya kullanıcının istediği oranda hızlandırılmış olarak) çalışan, grafik arayüzü olan, interaktif bir uygulamadır. Kısaca özetlersek 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, uçağa binmek 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.

Projenin Kapsamı

Yazılımın yukarıda anlatılan özelliklerine ek olarak:

  • Dalışlar deniz seviyesinde yapılabildiği gibi istenen herhangi bir yükseklikte de yapılabilecek.
  • 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.
  • 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.
  • Uygulamanın dil sseçenekleri olacak, yeni bir dil kolaylıkla ilave edilebilecek.
  • Giriş sırasında bir kullanıcı ismi ile girilecek ve bu şekilde her kullanıcı kendi verileri ile çalışabilecek.
  • Hava dışında nitrox gibi (belli bir oranda oksijen ilave edilmiş hava) değişik gaz karışımları kullanmak mümkün olacak.
  • 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. Buna vurgun olayının kendisi de dahil edilebilir.


Yöntemler, Yazılım Araçları ve Platform

Proje evrimsel bir helezon süreç modeli kullanılarak geliştirilecektir. Yazılım Geliştirme Projesi Dersinde çeşitli aşamalarda tamamlanması istenen çıktılar helezon sürecinin birinci döngüsünü oluşturacaktır. Bu birinci çevrimde analiz sırasında belirlenecek temel fonksiyonları yerine getiren ve daha sonra eklenmesi planlanan özelliklerin (gene analiz sırasında belirlenmiş ancak helezon süreç modelinin daha sonraki döngülerinde gerçekleştirilmesi düşünülen özellikler) yazılımın temel tasarımında değişiklik gerekmeden eklenebilecegi bir versiyonun gelistirilmesi hedeflenmektedir. Sürecin daha sonraki döngülerinde bir taraftan yukarıda bahsedilen eklemeler yapılırken bir taraftan da kullanıcılardan alınacak geri beslemeler degerlendirilerek degişiklikler yapılabilecek ve yeni özellikler eklenebilecektir.

Proje nesneye yönelik olarak ve UML (Unified Modeling Language) metodolojisi kullanılarak geliştirilecektir. UML için Rational firmasının Rose veya I-Logix firmasının Rhapsody araçlarından biri kullanılacaktır. Programlama dili olarak Visual C++ ve C++, Veri tabanı olarak da Access kullanılacaktır.

Uygulama 32 bit Windows (Win32) ortamında kullanılmak üzere geliştirilecektir. 
 

Önemli Kilometre Taşları

Projenin temel kilometre taşları ve tarifi dersin "Ders Materyali" sayfasında uyulması istenen zamanlama, içerik ve formatlara uygun olacaktır. Ders kapsamında belirlenenecek olan zamanlarda istenen belgeler hazırlanacaktır. Kısaca özetlersek temel kilometre taşları: Proje Teklifi, Analiz, Tasarım, Gerçekleştirim, Test ve Sunum olarak sayılabilir. Sunum aşamasında yazılımın yardım sayfaları ve kullanıcı kılavuzları da hazırlanmış olacaktır.

Hazırlanması istenen bu belgeler dışında, seçilen metodoloji ve araçların gereği olarak üretilen belgeler ve uygulamanın kendisi de bir önceki paragrafta sayılan aşamalarda verilmesi istenen belgelerin ekleri olarak verilecektir. 

Kaba Proje Planı ve Uygulama Takvimi

Projenin kaba planı ve uygulama takvimi de "Ders Materyali" sayfasında uyulması istenen zamanlamaya uygun olacaktır, ancak zamanlama şu anda belli olmadığı için "Gantt Chart"ı çizemiyorum. Zamanlama belli olduğunda ilave edeceğim.