Proje Gerekirleri Analizi
Yazılım Geliştirme Projesi
Bilgi Teknolojileri Sertifika Programı
İDEA: ODTÜ Sanal Kampüsü
  Geliştiren: Ömürden Tekin
 
 


 
 
 
 

Özet:

Bu raporda projenin sağlıklı bir şekilde yürümesi için gerekenler anlatılmıştır. Yazılımın bölümleri ve gerçekleştirecekleri fonksiyonlar burada açıklanmıştır. Gerekirler analizinde müşteriye önemli bir rol düşmüştür. Çünkü sistem müşterinin isteklerine göre şekillenecektir. Dolayısıyla müşteri ile yapılan toplantılara büyük önem verilmiştir. Aynı zamanda gerekirlerin belirlenmesi sırasında yapılan hatalar en zararlı hatalardan olduğu için gerekirlerin doğru belirlenmesi önemlidir. Bundan dolayı daha sonraki safhalarda da gerekirler tekrar gözden geçirilecek, yerine göre değiştirilecektir. Ayrıca müşteri de başta ne istediğini tam olarak bilmediği için sistem geliştikçe ihtiyaçlar daha da belirginleşecektir.

 

 

Motivasyon:

 

World Wide Web HTTP protokolü, platformdan bağımsız, multimedia dökümanlarının interaktif bir şekilde izlenmesini mümkün kılmıştır. HTML (Hypertext Markup Language) dökümanları sadece yazı olarak (text) olarak hazırlanmasına ve transfer olmasına rağmen web tarayıcıları sayesinde bu bilgiler multimedia (yazı, grafik, video ve ses ) olarak elde edilebilir. Günümüzde internet üzerinden verilen eğitimin öneminin gün geçtikçe önem kazanması da bu dilin vazgeçilmez bir unsur olarak yazılım dilleri arasında yer almasını sağlamıştır. İnternet üzerinden eğitim, akademik ortamlara da taşınmaktadır. Bu eğitim şeklini benimseyenlarden birisi de Sabancı Üniversitesi'dir.

 

Bu projede yer alan fizik simulasyonlarının hazırlanması sırasında benzer siteler de araştırılmıştır. Örneğin

Oregon University Dept. of Physics - Virtual Laboratory
University of Colorado Dept. of Physics - Physics 2000
University of Florida - Dept. of Physic - Physics3054
The University of Texas, Austin - Dept. of Physics - The World Lecture Hall
University of California, Irvine - Dept. of Physics -  Irvine Physics
University of Winnipeg - Dept. of Physics- Introductory Physics
Raymond Walters College of the University of Cincinnati - College Physics for Students of Biology and Chemistry
 

benzer uygulamaları olan sitelerdendir. Bu sitelerde görülen, amacın öğrenciye mümkün olduğu kadar görsel ve uygulamalı bilgi sunmak olduğudur. Simulasyonda öğrenci tarafından girilen bilgiler, bu bilgiler etkisiyle değişen çıktılar olmalı, öğrencinin merakı giderilebilmeli ve kafasındaki sorular cevaplanabilmelidir.

 

Proje Hakkında:

 

Proje, Sabancı Üniversitesi'nin 1999-2000 öğretim yılında internet üzerinden verilecek olan dersleri için Java diliyle simulasyon geliştirmektir. Amaç belli fizik kurallarını simule etmektir.

Program, internet üzerinden web tarayıcıları ile çalışabilecektir. İnternet üzerinden programın yüklenmesi zaman alacağından hafıza verimli bir şekilde kullanılabilmeli fakat aynı zamanda istenilen fonksiyon ve özellikler ödün vermeden elde edilebilmelidir.

Simulasyonlar, fiziksel kurallara uymalıdır. Buradaki tehlike, en küçük hatanın öğrenciye doğru olmayan bilgiler verebilmesidir. Dolayısıyla bu üç simulasyon hakkında araştırmalar yapılmalıdır. Simulasyonlar şunlardır;

 

Modül 1. Harmonik Osilatör

 

Bu simulasyonda yayın hareketi sürtünmeli ve sürtünmesiz ortamlarda ayrı olarak incelenecek, açıklayıcı grafikler yayın hareketiyle eş zamanlı çizilecektir. Bu simulasyonda yaya bağlı bir kütlenin, belli bir noktaya çekilip bırakıldıktan sonra ne yaptığının gösterilmesi gereklidir. Bu simulasyonun belli bir kısmı tamamlanmış fakat iyileştirme çalışmaları yapılması gereklidir. Bu programda yapılması istenenler, aşağıda yer alan ve daha önce müşteri ile yapılan buluşma sırasında oluşturulan prototip yardımıyla daha iyi anlaşılabilir.

  
Şekil 1

 

 

Modül 2. Dairesel Hareket
 
 
 
 

Bu simulasyonda rotasyonal hareket eden bir kütlenin hareketi incelecektir. Buna ek olarak x ve y koordinatlarında kütleyle beraber eşzamanlı olarak iki kütle hareket etmelidir. bu iki kütle dönen asıl kütlenin izdüşümlerini belirtmek için oluşturulacaktır.

 
 

 

 
Şekil 2

 

Modül 3. Bohr Atom Modeli
 
 
 
Bu simulasyonda bir atom çekirdeği etrafında ancak belli yörüüngelerde bir elektronun(dalga) bulunabileceği ve atomun ancak bu bölgelerde kararlı halde olabileceği gösterilecektir. Simulasyonun akışı sırasında dairesel eksenler etrafına çizilecek olan sinus grafikleri belli yörüngelerde üstüste binecek(kararlı yapı), diğer yörüngelerde ise grafikler birbirini söndürecektir. Aşağıda yine oluşturulmuş bir prototip yer almaktadır. Burada kırmızı renkli yörüngeler elektronın bulunamayacağı, siyahlar ise bulunabileceği yani kararlı olabileceği yörüngeleri temsil etmektedir.
Şekil 3
 
Not: Yukarıdaki şekiller müşterinin isteklerinin daha iyi anlaşılması için oluşturulan prototiplerdir. Tasarım için değillerdir.

 
 
 

Teknik Analiz:
 
 

Yakın zamanda Java programlama dilinin tanıtılması, yukararıdaki motivasyon kısmında bahsedilen platformdan bağımsız multimedia uygulamalarına yeni bir boyut kazandırmıştır. Java'nın platformdan bağımsız olmasının sebebi bu dilin kendi sanal makinasını kendisinin yaratmasıdır. Aynı zamanda Java nesneye yönelik bir dildir. Böylece şu anda uygulanacak programdaki nesneleri simule etmek için uygun bir araçtır. Kullanılacak Java derleyicisinin JDK1.1.5 olması düşünülektedir.

Programlar PC'de Windows 98 işletim sistemi ortamında oluşturulacaktır. Sistemin çalışacağı ortam ise yine PC ve Windows95/98 işletim sistemlerinden oluşacaktır. Web tarayıcısı olarak Internet Explorer 4.0 (veya üstü), Netscape Communicator 4.5 (veya üstü) kulanılacaktır.

Gerekirler Analizi:

 

Nesneler
 
 
Harmonik Osilator
 
 
Aşağıda yer alan kütle ve yaydan oluşan nesne sınıfı bu programın asıl parçasıdır. Yayı fare ile çekip harekete başlamadan önce ilk konumu vermek mümkün olacaktır. Yani bu nesnenin fare(el) ile çekilmesini mümkün kılacak bir fonksiyon olacaktır. Sistem hareket etmeye başladıktan sonra enerji ve konum bilgileri grafiksel bir şekilde gösterilebilecektir. Ayrıca sistem değisik noktalarda değişik hızlara sahip olmalıdır. Dolayısıyla yay sisteminin konum ve hız özellikleri vardır. Kütleye ilk konumu verilir. Daha sonra da kütlenin zamanla konumu hesaplanır ve grafiksel bir şekilde gösterilir. Sistemin hızı hesaplanarak, bu değer yardımıyla simulasyonda iki çerçeve arasındaki geçiş süresi ayarlanır. Sistemin bulundugu ortam ise sürtünmeli ve sürtünmesiz zeminler olarak ikiye ayrılır. Zemin olarak kastedilen yaya bağlı kütlenin yüzeyidir. Sürtünmeli zeminde sistem belli bir zaman sonra durur. Çünkü yay çekilirken verilen potansiyel enerji sürtünmede harcanan enerjiye eşitlenir ve toplam enerji 0 olur. Sürtünmesiz zeminde ise sistem sonsuza kadarhareket edebilir. Çünkü enerji kaybı yoktur. Sistem iki tür enerjiye sahiptir. Potansiyel ve kinetik. Potansiyel enerji sistemi çekerek verilen enerjidir. Kinetik enerji ise sistemin hızlanırken kazandığı enerjidir. Potansiyel ve kinetik enerjiler hesaplanarak, bu değerler yukarıda bahsedilen enerji grafiğinin (parabol) gösterilmesinde kullanılırlar.
Şekil 4
 
Rotasyonal Hareket
Buradaki kütle nesnesi dairesel hareket eden kütleyi temsil eder. Bu kütle belli bir noktadan baslayarak, belli bir hızla dairesel bir yörünge izleyerek hareket eder. Yine burada hız iki çerçeve arasındaki geçişin olduğu süreyi bulmak için kullanılır. Kütlenin yatay ve düşey eksenlerde izdüşümleri vardır. Bu kütleler ana kütleye bağlıdır ve onunla beraber hareket etmelidirler.
Şekil 5

Bohr Atom Modeli

Burada atom sınıfı elekton, çekirdek ve yörüngeleri toplu halde temsil eder. Elektron belli bir yörüngede dönerken bu yörüngedeki konumuna bağlı olan bir hıza sahiptir. Merkezden uzaklaştıkça potansiyel enerji artar. Toplam enerji sabit olduğundan dolayı kinetik enerji azalır. Bu da hızın düşmesi demektir. Düzensizlik ise tamamen hızdan bağımsız bir olaydır. Elektronun düzensiz hareket etmesi onun bulunduğu konumla ilgilidir. Dalga ise atomun o andaki durumunu değiştirebilecek bir etkiyi temsil eder. Bu dışarıdan bir etki veya atomun kendini indirgemesi için kullandığı dalga olabilir. Bu dalgalar belli bir enerjiye sahiptir. Dalgaların sahip oldukları bu enerji elektronun geçmek istediği yörüngeye göre değişir. Elektronun hareketi bulunacağı yörünge şeçildikten sonra başlatılır(veya hareket halindeyse durdurulur). Hızı bulunduğu yörüngeye göre değiştirilir. Dalgaboyu bir yörüngeden başka bir yörüngeye geçtiğinde artar veya azalır.

 
Şekil 6

Not: Her üç simulasyon için belirlenen nesneler birbirinden bağımsızdır. Şu anda nesne ilişki diagramı oluşturabilecek sayıda nesne ortamı veya üç simulasyonun birbirine bağlanması, müşteri isteklerinden dolayı mümkün değildir. Daha sonra belirlenecek istekler ışığında yeni nesneler ve nesne ilişki diagramları oluşturulabilir.

Sistem Mimarisi

Yukarıda açıklanan nesneler simulasyon sistemini oluşturmaktadır. Müşterinin isteklerine göre bu üç nesne birbirinden bağımsızdır. Sistem mimarisi daha sonra gelecek müşteri isteklerine göre değişecektir.
Şekil 7

 

Gerçekleştirim ve Teslim Raporu

Tasarım

Nesne ve Sınıfların Tasarımı

Ortamı oluşturan bütün sınıf ve nesnelerin hiyerarşik bir şekilde gruplanması, bu sınıf ve nesnelere görevlerin atanması. Görevler atanırken öncelikler oluşturulmalı ve her nesneye uygun görevler atanmalıdır.

22Mayıs-9 Haziran

Arayüz ve İletişim Tasarımı

Kullanıcıların belirlenmesi,kullanıcıların girdi olarak verecekleri komutların hiyerarşik bir şekilde tanımlanması.Grafik arayüz sınıflarının birleştirilmesi.

Nesnelerin ve alt fonksiyonlarının birbiriyle ve sistemle etkileşiminin tanımlanması.

27Mayıs-14.Haziran

Kodlama, Test ve Dokumantasyon

Bu safhada kodlama ve testin paralel yürütülmesinin amacı satır sayısı arttıkça(zaman geçtikçe) hatanın bulunmasının güçleşmesini önlemek ve erken bulunan hataya teslim zamanından önce müdahale etmeyi mümkün kılmaktır. Dolayısıyla burada, modüllerin oluştukça test edilerek programa eklenmesi gerekmektedir. Dokumantasyon ise kodlama sırasında oluşturularak ek bir iş olmaktan çıkarmak amacıyla bütün bunlara paralel olarak yürütülecektir.

9Haziran-10.Temmuz

Teslim Raporu
 

11.Temmuz-18Temmuz

 

 

Gantt Diagramı


Şekil 8

 

 

Kaynaklar: