A N A L İ Z     R A P O R U

 

SANAL ARABA PAZARI

 

M. Attila ALKOÇ

S02012

Waterfall (Çağlayan) yaklaşımı uygulanacak

Analiz Raporu

Yazılım Geliştirme Projesi

Bilgi Teknolojileri Sertifika Programı

İDEA: ODTÜ Sanal Kampüsü
  

10 Nisan 2000


Öz

Bu analiz raporu Ortadoğu Teknik Üniversitesi(ODTÜ) Bilgisayar Mühendisliği(CENG) bölümünün internete dayalı uzaktan eğitim (İDEA-internete dayalı eğitim _ asenkron) kapsamında oluşturulan sanal kampüste yapılmakta olan Bilgi Teknolojileri sertifika programı (BTSP) çerçevesinde alınan Yazılım Geliştirme Projesi(YGP) dersi için yürütülmekte olan yazılım projesinin analiz(çözümleme) safhasını belgelemek için hazırlanmıştır.

Proje teklif belgesinde verilen fikirden yola çıkılmış olup, verilen analiz raporu şablon belgesi istenenlere göre hazırlanmıştır. Bu rapor projenin budan sonraki aşaması olan tasarım raporu için bir temel teşkil etmektedir. Gerekli görüldüğü takdirde tasarımda ihtiyaç duyulan özellikler bu belgeye eklenecek ve ikinci bir versiyonu yayınlanacaktır. Sonuç olarak bu belgenin gayesi proje ile ilgili taleplerin, isteklerin açığa çıkarılması olup NE YAPILACAK sorusuna cevap aramaktır.

Proje Tanımı

Konsept Belirlenmesi: İkinci el araba alım satımı çeşitli yollar ile sağlanmaktadır. Gazete ilanları vasıtasıyla, semtlerde kurulan araba pazarları ile veya oto galerileri(komisyoncular) ile bu süreç sağlanılmaktadır. Gelişen bilgi teknolojileri vasıtasıyla belki bu üç ortam tek bir sanal ortamda toplanabilir. Gerek satıcı ve gerekse alıcıların ortak buluşabilecekleri, günlük ve kolay bir şekilde ilanlarını sunabilecekleri veya arayabilecekleri bir arayüz gelişen internet teknolojileri kullanarak sağlanabilir. Buna SANAL ARABA PAZARI (SAP) denilmeye karar verilmiştir ve projenin ismi için bunun uygun olacağı düşünülmüştür. Bu sistemin avantajları arasında, etkileşimli olması, kullanımının kolaylığı, anında kullanılabilir olması, kişiye özel düzenlenebilmesi ve farklı platformlarda çalışabilmesi sayılabilinir.

Problemin Anlaşılması: Internet üzerinde etkileşimli web sitesi oluşturularak ikinci el otomobil satış sürecinin sanal ortamda sağlanması projenin esas gayesidir. Bu amaçla İnternet üzerinde bir kullanılmış otomobil satış veritabanı oluşturularak araba satanların ve araba arayanların çeşitli kriterlere göre bilgileri girme ve sorgulama yapmalarına imkan tanıyacak bir etkileşimine ihtiyaç vardır. Bunu sağlayacak bir sistemin tasarlaması için müşteri isteklerinin ve fonksiyonel olan ve olmayan isteklerin ve taleplerin belirlenmesi gerekmektedir.

Kişilerle yapılan mülakatlar, gazetelerde çıkan araba ilanlarının taranması, benzer çözümler sunan sitelerin araştırılması, ve araba pazarında araba satın alma süreci nin incelenmiştir.

Sistem Mimarisi

Sistemin dışında satıcı ve alıcı diye adlandırılan iki dış varlık vardır. Satıcılar satmak istedikleri otomobille ilgili bilgileri kayıt için sağlarlar ve üyelik hakkına sahip olurlar bunun sonucunda muhtemel müşterilerin onlarla irtibat kurmaları sağlanır. Alıcılar ise kendilerine uygun araba ararlar. Gazete ilanlarından veya araba galerilerinden uygun bir araba listesi elde etmeye çalışırlar. Müspet bir teklif sonucu satıcı ile irtibata geçerler. Genel Durum Mimari Şeması (Architecture Context Diagram) şekil1 de gösterilmiştir.

büyük resim için tıklayınız

İsterler Analizi

Bu safha keşfetme ve geliştirme sürecidir.Yazılımın faaliyet alanı detaylı bir şekilde anlatılmıştır.
Sistem yapılan çözümleme sonucunda aşağıdaki bir modüler yapıya ihtiyaç duyduğuna karar verilmiştir. Bu yapıda sistem çeşitli modüllere bölünmüştür ve satıcı üyelik, araba kayıt, alıcı üyelik, araba istek, araba bulma, araba kısmet ve teyit ve onay modüllerinden oluşmaktadır.Modüler yapı şekil 2 de gösterilmektedir.

büyük resim için tıklayınız

Satıcı Üyelik Modülü:Bu modül ile sanal araba pazarında satıcı konumunda faydalanacak kişiler hakkında bilgilerin sağlanması maksadıyla kullanılacaktır.Her gelen yeni kişiye bir üyelik numarası verilebilmeli ve bu anahtar bilginin diğer araba girişlerinde kullanılması vasıtasıyla o kişinin bir daha aynı bilgileri tekrar tekrar her yeni araba girişinde yazması engellenmesi sağlanmalıdır. Üye numara verilmesi konusunda çeşitli isim ve numara kombinasyonlarına gidilebilmeli veya sırayla her yeni üye kayıdı için bir numara verilebilmelidir.(Üyelik bilgileri: isim, soyad, adres, telefon vb.)

Araba Kayıt Modülü:Sitede yer alınması istenen araçlar kişiler tarafından girilebilmelidir. Her giren kişinin bir üye numarası olması sağlanmalıdır. Eğer yeni üye ise ilk başta üyelik bilgileri alınacak bunu takiben araba kayıtları girilmeye başlanabilmelidir. Araba kayıtlarıda bir sırayla indekslenebilmelidir. Araba Kayıt Bilgileri: markası, model yılı, kilometresi, motor hacmi, motor gücü, istenen fiyat, rengi(metalik mi?), motor tipi(benzinli, dizel), aksesuarlar vb. Kayıt değişiklik ve silme gibi fonksiyonları da içermelidir.

Alıcı Üyelik Modülü:Araba aramak isteyenlerin zorunlu olmadıkları kayıt olabileceği bir modüldür. Kullanıcı isteğe bağlı olarak email adresini ve bir şifre girebilmelidir. Böylece Araba Kısmet Modülü fonksiyonelliğini gösterebilecektir.

Araba İstek Modülü:Araba arayan kişilerin kullanacağı bir modül olup, aranılan arabanın kriterlerinin kullanıcıdan doğru bir şekilde alınmasına özen gösterilmelidir. Çeşitli yöntemler ile arama kriterleri bildirilebilmelidir. İlk örnek olarak; belli bir marka şeçilir, daha sonra model seçilir en son olarak belli bir tip belirlenir. Örnek: BMW, 3 Serisi, Sedan, daha sonrada diğer anahtar kriterler arasından seçime gidilebilinir. Genel olarak seçim kriterleri: Marka, model, tip, fiyat aralığı, renk, kilometre, vites şekli, motor tipi (benzinli, dizel), trafiğe çıkış tarihi, motor gücü ve çeşitli diğer kriterler (havayastığı, dört çeker, abs) vb.Bu seçenekler tamamiyle belirtilebilmeli veya kısmen işaret edilebilmelidir.Mesela sadecene arzu edilen ödeme koşulları ile belirtilebilmelidir.

Araba Bulma Modülü:Arzu edilen arabanın kriterleri ile sınırlandırılmış bölgeye denk gelen elde bulunan araba veritabanından en uygunları seçilip getirilebilmelidir. Bulunan bu araçlar çeşitli sıralama kriterleri kullanılarak listelenebilmelidir. Mesela renklerine göre sırala gibi. Denk gelen bir kayıt bulunamaz ise en yakın olanları getirebilmelidir.

Araba Kısmet Modülü:Bu modül istenilen arama sonucunda bir araç çıkmaz ise, belli bir süre için yeni gelen arabalardan otomatik olarak kullanıcıya uyan olup olmadığına bakabilmeli böyle bir durumda kişiyi hemen haberdar edebilmelidir. Burada istekte bulunan kişinin isteğini ilettiği anda ulaşılabileceği bir email adresi olmalıdır.

Teyit ve Onay Modülü:Bu modül yapılan işlemler sonucunda istenilen tipte bir araç bulunmaması ve kullanıcı teyidi ile aktif hale gelebilmelidir. Kullanıcı istediği aracı belirtecek ve onun bu aracı satan şahısla temas kurmasına imkan tanımalıdır. Çeşitli yöntemler mevcut olsada etik olarak en çok dikkat edilmesi gereken bir kısımdır. Doğru kişiye doğru bilgi konusuna önem verilmesi gerekmektedir. Burada yapılması gereken kişinin bu seçimi kabul ettiğine dair bilginin elde edilebilmesidir.

Opsiyonel Modülü: Bu modülde seçeneğe bağlı özellikler olacaktır. Bunlara örnek olarak günün tavsiyesi,kasko sigortası hesabı,devir maliyet hesabı,haftalık top5, top 10, en iyi alış, reklam verme, araba servisleri, galeriler, aksesuarcılar hakkında bilgiler, yedek parça fiyatları, oyuncak araba satışı verilebilinir.

Genel Durum Mimari Şeması (veri akış diyagramı seviye 0) sistemin gerekli olan fonksiyonlarının elde edilmesi, fonksiyonların girdi ve çıktılarının belirlenmesi ve mantıksal görünüşten fiziksel görünüşe geçiş için seviyelendirilerek detaylandırılacaktır. Bu maksatla Veri Akış Diyagramı birinci seviyesi (DFD Level 1) şekil 3 te gösterilmiştir.

büyük resim için tıklayınız

Sistem bir veritabanı uygulaması olduğundan ve girdi ve çıktı bilgiler ve aralarındaki ilişkiler Nesne İlişki diyagramına (E-R Diyagramı) ihtiyaç duyulmuştur.Nesne ilişki diyagramı(ER) aşağıda şekil 4 te gösterilmiştir.

büyük resim için tıklayınız

Veri Sözlüğü

İsim Tür Veri yapısı Tanım
Kişi Nesne tlf + email + adres + isim Kalıtım mevcut
Alıcı Nesne . .
Satıcı Nesne üye_no(key) + şifre .
tlf özellik string telefon numarası
email özellik string elektronik posta
adres özellik string .
İsim özellik string .
Satar ilişki 1:N . Satıcı Araba arasında.
Alır İlişki 1:N . Alıcı Araba arasında
Araba Nesne kayıt_no(key) + renk + marka + model + model yılı + fiyatı + km_de .
kayıt_no özellik(key) integer .
marka özellik string .
model özellik string .
fiyatı özellik real .
km_de özellik real .
İlan Nesne ilan_no(key) + tarih + slogan + veren .
ilan_no özellik(key) integer .
tarih özellik date .
slogan özellik string .
veren özellik string .

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

Çağlayan Süreç Modeli ve yapısal yani işlevsel yaklaşım uygunlanılmaya devam edilmektedir. Analiz safhasının tamamlanması ile tasarım safhasına geçilmiştir. Tasarım da eğer ihtiyaç görülürse analiz raporu için geri besleme yolları açık tutulacak gerekli görüldüğü takdirde analiz raporunda gerekli yenilikler eklenecek ve ikinci versiyonu hazırlanacaktır. Tasarım safhasıyla gerçekleştirim safhasının kısmi olarak paralel götürülmesine kara verilmiştir. Gerçekleştirimin esas kısmını oluşturulacak kodların yazılabilmesi için çalışır vaziyette bir sistem fonksiyonel hale geçirilecektir. Ev sayfası gibi tasarımlar yapılırken kodlamasınada gidilenilecektir.
Gerçekleştirmde ihtiyaç duyulacak bazı programlama dillerinin bilinmesi için çalışmalar tasarım safhasında eş zamanlı olarak öğrenilenecektir. Bunlar, HTML, JavaScript, C, Perl ve SQL'dir.

Internet Veritabanı Sunucusu olarak IDEA'nın sağlayacağı imkanlar gözönünde bulundurulacaktır dolayısı ile işletim sistemi olarak unix seçilmiştir. Sistem temel olarak Web tarayıcısı ile internet veritabanı sunucu arasında etkileşimi CGI vasıtasıyla sağlayacak ve bir veritabanı imkanlar ölçüsünde işletmeye alınacaktır buna cevaben MiniSQL bir alternatif oluşturabilir. Web sayfasının inşasında HTML ve JavaScript kullanılacaktır. CGI ve MiniSQL konularında detaylı bir araştırmaya girişilecektir, varsa örnekler uygulanıp sistemin aktifliğinden emin olunacaktır. Kısaca gerçekleştirim esnasında yazılım geliştirme ortamı ile ilgili herhangi bir enstlasyon(kurulum) problemi karşılaşılmaması esas hedeftir.

DNS ve IP konularında araştırma yapılması gerekmektedir. İhtiyaç duyulacak DNS adresinin uzantısının .com mu yoksa .gen mi olacağı Alan Adlarının Belirlenmesinde İzlenen Politika isimli belgeler incelendikten sonra verilecektir.

Önemli Kilometre Taşları

3. KM Taşı: Tasarım, 8 Mayıs 2000
Sistemin tasarlanması, yazılım hedefleri, müşteri istekleri ve tasarım sınırlamaları, yazılım modülleri yapısal tasarımı ve aralarındaki ilişkiler, veri tasarımı, veri yapıları, dosya yapıları, grafik kullanıcı arayüzünün tasarlanması, Türkçe ve C programlama dilini esas alan program tasarım dili ile program akışları belirtilecek ve program akış diyagramları hazırlanacak. NASIL sorusuna cevap aranacak.

4. KM Taşı: Gerçekleştirim, 5 Haziran 2000
Programın kodlanması esnasında karşılaşılan sorunlar ve uygulanan çözümler, varsa sapmalar, GUI ekran çıktıları, kullanıcı kılavuzu, programın kaynak kodlarından çeşitli kesitler sunulacak.

5. KM Taşı: Test, 19 Haziran 2000
Test planlaması, test tekniklerinin belirlenmesi, test sonuç belgesi hazırlanması.

6. KM Taşı: Sunum, 1-2 Temmuz 2000
ODTÜ Bilgisayar Mühendisliği Bölümünde 4.dönem sonu itibariyle projenin MS PowerPoint kullanılarak sunumu yapılacak, imkanlar ölçüsünde projenin demosu gösterilecek.

Kaba Proje Planı ve Uygulama Takvimi

G a n t t     Ş e m a s ı
       HAFTA         /
GÖREV      

1
28 Sbt

2
6 Mrt

3
13 Mrt

4
20 Mrt

5
27 Mrt

6
3 Nsn

7
10 Nsn

8
17 Nsn

9
24 Nsn

10
1 Mys

11
8 Mys

12
15 Mys

13
22 Mys

14
29 Mys

15
5 Hzr

16
12 Hzr

17
19 Hzr

18
26 Hzr

19
1 Tem

Proje Teklifi

X

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Analiz

 

 

X

X

X

X

 

 

 

 

 

 

 

 

 

 

 

 

 

Tasarım

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gerçekleştirim

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Test

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sunum

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


A