PROJE TASARIM BELGESİ |
GEZGİN ( TÜRKİYE TURİZM REHBERİ )
CÜNEYT KOÇ
Proje Tasarım Belgesi
Yazılım Geliştirme Projesi
Bilgi Teknolojileri Sertifika Programı
İDEA: ODTÜ Sanal Kampusu
Tarih 29 Mayıs 2008
Öz Tasarım belgesini hazırlamamızdaki amaç, projenin mimari, veri ve arayüz tasarımının sunulmasıdır. Tasarım belgesi projemizin analiz belgesine bağlı kalınarak hazırlanmıştır. Proje takvimi tekrar gözden geçirilmiştir. Kapsam Projemizde müşteri isterlerinin başında bir turizm alanının tanıtımı gelmektedir. Projede bir turizm alanının tanıtımını en dikkat çekici hale getirmek çok önemlidir. Bunun için sisteme kayıt eklenirken bu kaydın resimlerinin de sistemde bulunması tanıtım açısından çok önemlidir. Tasarım aşamasında bu özellik üzerinde önemle durulacaktır. Diğer bir müşteri isteği olarak karşımıza arama işlemleri çıkmaktadır. Bir kaydın eklenmesi kadar arama da önemlidir. Sistemde aramanın etkin bir şekilde olması gerekmektedir. Diğer müşteri isterleri olarak kayıtlara yorum yapma, sistemin güvenliği için giriş çıkış işlemleri, yönetim panelinden sisteme eklenen kayıtların ve yorumların yayınlanıp yayınlanmayacağının güvenlik açısından kontrolü, her kayıt aramalarında o kayıt hakkındaki yorumların listelenmesi, kullanıcılara kendi ekledikleri kayıtları kontrol edebilme hakkı, kullanıcıların profillerini güncelleme hakkı, sistem yöneticisinin sistemin güvenliği açısından kullanıcılar üzerinde değişiklik yapabilmesidir. Yukarıda müşteri isterleri genel olarak verilmiştir. Bunların yanında kullanıcı arayüzlerinin anlaşılır olması, menüler arasındaki geçişin kolay olması, sistemin her kullanıcı için kullanılmasının kolay olması önemlidir. Sistemde kullanıcılar genel olarak arama işlemlerini yaparak bir kaydı görüntüleyebilecek, o kayıt hakkındaki yorumları okuyabilecektir. Üye kullanıcılar normal kullanıcılardan farklı olarak kayıt ekleme, yorum ekleme, profil güncelleme, eklediği kayıtları güncelleme gibi işlemleri yapabilecektir. Sistem yöneticisi ise eklenen kayıtları gözden geçirme, yorumları gözden geçirme, il ekleme, ilçe ekleme, kullanıcı yetki verme veya silme gibi işlemleri yapabilecektir. Yani her kullanıcı yetkisi dahilinde çeşitli işlemleri yapabilecektir. Sistem tasarım belgesinde analiz belgesinde sunulan her kullanım örneği için bir işbirliği diyagramı çizilerek mimari tasarım ayrıntılı bir şekilde verilecektir. Analiz belgesindeki veritabanı analiz kısmından hareketle veritabanı tasarımı yapılacaktır, analiz belgesindeki ER diyagramına bağlı kalınarak normalizasyon çalışmaları sonucunda veritabanının son hali ortaya konulacaktır. Arayüz tasarımında her modül için arayüzler belirlenecek ve bunlar arasındaki bağlantı gösterilecektir. Uygulama takvimi tekrar gözden geçirilip son olarak yararlanılan kaynaklar belirtilecektir.
Mimari Tasarım
Şekil1'de verdiğimiz işbirliği diyagramında kullanıcılar kişisel bazı bilgilerini üye kayıt modülüne girerek sistemimize kayıt olmaktadırlar. Üye kayıt modülümüz tarafından alınan bilgiler veritabanına işlenerek kayıt işlemi tamamlanmaktadır. Şekil2'de verdiğimiz işbirliği diyagramında projemizin genel amacı olan arama işlemleri verilmiştir. Kullanıcılar arama modülüne bir ilin ismini ve o ile ait bir ilçenin ismini yazarak turizm alanı araması yapabilecekler veya sadece turizm alanı ismi girerek arama yapabileceklerdir. arama modülü işlemini tamamladığında bulunan kayıtlar listelenecektir. Listelenen kayıtlardan biri seçilerek o kayıt hakkındaki bilgiler gösterilecek ve o kayıt hakkında yapılan yorumlar gösterilen kaydın altına sıralanacaktır. Seçilen kayıt için bir de yorum ekleme modülü kullanılmıştır. Yorum eklemek için kullanıcıların kayıt ol modülünde verdikleri kendilerine ait bazı bilgileri kullanarak sisteme giriş yapmaları gerekmektedir. Sisteme giriş yapıldıktan sonra gösterilen kayıt için yorum eklenebilecektir. Burada anlattığımız modüllerimiz veritabanı ile etkileşim içindedirler. Şekil3'de verdiğimiz işbirliği diyagramımızda kullanıcıların sisteme bir kayıt eklemeleri anlatılmıştır. Kullanıcıların sisteme bir turizm alanı kaydı girmeleri için sisteme giriş yapmaları gerekmektedir. Sisteme giriş işlemini yapan kullanıcı kayıt ekle modülünü kullanarak bir turizm alanı ekleyebilecektir. Kayıt eklemek için kullanıcının turizm alanı hakkında istenilen bilgileri kayıt ekleme modülüne vermeleri gerekmektedir. Bütün işlemler sonunda alınan bilgiler veritabanına işlenmektedir. Şekil4'de verdiğimiz iş birliği diyagramında kullanıcıların kayıt olurken verdikleri bilgileri düzeltmeleri için gereken işlevler belirtilmiştir. Kullanıcılar sisteme giriş yaptıklarında profil bilgilerini listeleyerek değiştirmek istedikleri bilgileri düzeltip profillerini güncelleyebileceklerdir. Güncellenen bilgiler veritabanına yansıtılarak veritabanında da güncellemeler yapılabilecektir. Şekil5'de verdiğimiz işbirliği diyagramımızda kullanıcılar sisteme giriş yaptıklarında istekleri doğrultusunda önceden ekledikleri kayıtları listeleyebilirler. Listeden herhangi bir kayıt seçerek bu kaydın içeriğini görebileceklerdir. İstekleri doğrultusunda gösterdikleri kaydı düzeltebilecek veya kaydı bütünüyle silebileceklerdir. Kullanıcıların bu düzenlemeleri veritabanında güncellenecektir. Şekil6'da verdiğimiz işbirliği diyagramında sistem yöneticisi olan kullanıcılar yönetim paneline giriş yapabileceklerdir. Yönetim panelinde bulunan kullanıcılar il ekleme modülünü kullanarak bir il hakkında bilgileri girebileceklerdir. (Sistemimizin kullanıcı kullanımına açılması için sistem veritabanında bütün illerin hazır olarak bulunması gerekmektedir. Sistem yöneticisi il ekleme modülünü kullanarak bütün il bilgilerini önceden veritabanına girecektir.)
Şekil7'de verdiğimiz işbirliği diyagramında yine yönetim paneline giriş yapan sistem yöneticisi bir ile ait ilçeleri ekleyebilecektir. Bunun için bütün illerin listelenmesi ve bu listeden bir il seçilmesi ve seçilen ile ait bir ilçenin girilmesi gerekmektedir. (Sistemimizin kullanıcı kullanımına açılması için sistem veritabanında bütün illere ait ilçelerin hazır olarak bulunması gerekmektedir. Sistem yöneticisi ilçe ekleme modülünü kullanarak bütün illere ait ilçe bilgilerini önceden veritabanına girecektir.)
Şekil8'de verdiğimiz işbirliği diyagramında sistem yöneticisi yönetim paneline giriş yaptıktan sonra eğer kullanıcılar tarafından eklenmiş kayıtlar varsa bunları görebilecektir. Kullanıcıların eklediği kayıtları listeleyerek bu kayıtlardan birini seçerek sistem yöneticisi kaydı gözden geçirip bu eklenen kaydın yayınlanıp yayınlanmayacağına karar verecektir ve veritabanında gerekli düzenlemeler yapıldıktan sonra kayıt ya silinecek yada yayınlanacaktır. (güvenlik açısından kayıtları gözden geçir modülü çok önemlidir).
Şekil9'da verdiğimiz işbirliği diyagramında sistem yöneticisi yönetim paneline giriş yaptıktan sonra eğer kullanıcılar tarafından eklenmiş yorumlar varsa bunları görebilecektir. Kullanıcıların eklediği yorumları listeleyerek bu yorumlardan birini seçerek sistem yöneticisi yorumu gözden geçirip bu eklenen yorumun yayınlanıp yayınlanmayacağına karar verecektir ve veritabanında gerekli düzenlemeler yapıldıktan sonra yorum ya silinecek yada yayınlanacaktır. (güvenlik açısından yorumları gözden geçir modülü çok önemlidir).
Şekil10'da verdiğimiz işbirliği diyagramında sistem yöneticisi yönetim paneline giriş yaptıktan sonra istediği doğrultusunda kullanıcı arama modülünü kullanarak bir kullanıcıya ulaşabilecektir. Ulaşılan kullanıcıyı sistem yöneticisi silebilecek veya kullanıcıya yetki vererek kullanıcının yönetim paneline giriş yapabilmesini sağlayabilecektir.
Veri Tasarımı
Şekil 11: "Class" (ilişki) Diyagramı Şekil11'de verilmiş olan Class (ilişki) Diyagramında sistemimizde kullanılacak olan her modül için bir sınıf oluşturulmuştur. Her sınıfın kullandığı nitelikler belirtilmiş ve her sınıfın işlevleri belirtilmiştir. Diyagramımızda bulunan bütün sınıflar veritabanı bağlantı modülü ile etkileşim halindedir. Class (ilişki) Diyagramı işbirliği diyagramlarıyla paralel olarak oluşturulmuştur.
-Veritabanı Tasarımı -Normalizasyon Çalışması: Analiz belgesinde verilmiş olan ER diyagramımızdan hareketle normalizasyon çalışmalarımızı yapıp tablolarımızın son haline ulaşacağız. İlk olarak ER diyagramımızda belirttiğimiz nesneleri ve niteliklerini alalım. *Aşağıda bulunan şekil 12'de kullandığımız "ifade biçimi" niteliklerimizi normalizasyon çalışmaları boyunca ifade edecek harflerdir.
Şekil 12 : Analiz Belgesindeki Er diyagramındaki nesneler ve nitelikleri Yorumlar Nesnesi: fb1 {A} -> {B,C,D,E,F} Yorumlar nesnesinde sadece bir tane fonksiyonel bağımlılık bulunmaktadır. Diğer niteliklerden hiç biri kismi yada geçişli bir fonksiyonel bağımlılık göstermediği için herhangi bir ayrıştırmaya gerek yoktur. Bu durumda yorumlar tablomuz sistem tasarımı için hazır diyebiliriz. Anahtar nitelik A Kullanıcı Nesnesi: fb1 {C} -> {A,B,D,E,F,G} , fb2 {F} -> {A,B,C,D,E,G} kullanıcı nesnemizin niteliklerinde de herhangi bir kismi yada geçişli bir fonksiyonel bağımlılık bulunmamaktadır bu durumda herhangi bir ayrıştırmaya gerek yoktur. Kullanıcı tablomuz bu şekilde tasarım için hazırdır. Anahtar nitelik C,F birincil anahtar F Kayıtlar Nesnesi: R1{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,R} fb1 {H} -> {A,C,E,G,I,J,K,L,M,N,O,P,R} fb2 {B,F,H} -> {A,C,D,E,G,I,J,K,L,M,N,O,P,R} fb3 {B,F} -> {E} fb4 {D} -> {B,C} fb5 {B} -> {C,D}
Burada birincil anahtarımız BFH 'dır yukarı fonksiyonel bağımlılıklara bakacak olursak; fb3 {B,F} -> {E} Burada kismi fonksiyonel bağımlılık vardır ve 2nf'i bozar bunu ayrıştırmamız gerekiyor. Böylece R2{B,F,E} olur fb5 {B} -> {C,D} Burada yine kismi fonksiyonel bağımlılık vardır ve 2 nf'i bozar ayrıştırma sonunda R3{B,C,D}
Kayıtlar ilişkimiz ayrıştırmalar sonunda şu hale gelmiştir. R1{A,B,F,G,H,I,J,K,L,M,N,O,P,R} R2{B,F,E} R3{B,C,D}
Kayıpsız birleştirme algoritması uygularsak, R1 ilişkimizde B'yi bildiğimiz için C ve D ye ulaşabiliriz. R1'de B ve F yi bildiğimiz için E'ye de ulaşabiliriz bu yüzden algoritmamız doğrudur.
Normalizasyon çalışmaları sonunda sistemimizde 5 tane tablo bulunması gerektiğine karar vermiş bulunmaktayız. Aşağıda oluşturduğumuz veri sözlüğünde bu tabloların son hali bulunmaktadır. Gerçekleştirim aşamasında veri sözlüğü kullanılarak sistem veritabanı oluşturulacaktır.
Şekil 13 : Veri Sözlüğü
Arayüz Tasarımı
Şekil 14: Sistemde Bulunacak Olan Arayüzler ve Aralarındaki İlişkiler
Şekil 14'de kullanıcıların sistemde kullanacakları bütün arayüzler öntiplemeli olarak aralarındaki ilişkilerle birlikte verilmiştir. Bu arayüzleri tek tek ayrıntılarıyla anlatacak olursak; Menü: Kullanıcıların sisteme girdiklerinde ilk olarak ulaşacakları alandır, kullanıcılar istekleri doğrultusunda menüden seçim yapıp ilgili alana geçiş yapacaklardır. Menümüzde bulunan seçenekleri tek tek inceleyelim
Arama Seçeneği: Kullanıcı menüden arama seçeneğini üzerine geldiği zaman karşısına iki seçenek sunulacaktır isimle arama ve il,ilçe ismiyle arama. -İsimle Arama: Kullanıcı isimle arama seçeneğini seçtiğinde karşısına bir form çıkacaktır bu forma kullanıcı istediğini yazıp aratma yapacaktır. -İl, İlçe İsmiyle Arama: Kullanıcı il,ilçe ismiyle ara seçeneğini seçtiği zaman karşısına bir form gelecektir bu formda kullanıcıdan üç tane bilgi istenmektedir. Kullanıcı bir tane il seçmelidir, kullanıcı seçtiği ile ait bir ilçe seçmeli veya hepsini göster diyip bütün ilçelerde arama yapabilir, kullanıcı tür seçmelidir (tarihi, coğrafi, kültürel) veya hepsini göster diyip bütün türlerdeki alanları görebilecektir. Yukarıdaki iki arama işleminde hangisi yapılırsa yapılsın bir sonraki adımda kullanıcının karşısına gelen pencerede arama sonucunda bulunan kayıtların isimleri gelecektir veya hiç bir kayıt bulunmazsa bu ifade edilecektir. Bulunan kayıtlardan birini seçen kullanıcı bir diğer adımda karşısında seçtiği kayda ait bütün bilgilere ulaşacaktır. Bu bilgiler (kayıt ismi, kayıt açıklaması, kaydı ekleyen kişi, kayda ait resimler, kayıt türü, hangi ile ait olduğu, hangi ilçeye ait olduğu, adresi) ve aynı pencerede kayda ait bilgilerin altında önceden eklenen yorumlar gözükecektir her bir yorumda bulunan bilgiler (yorum, ekleyen kişi, ekleme tarihi) Bu penceremiz içinde yorum ekleme seçeneği bulunacaktır herhangi bir kullanıcı yorum ekleme seçeneğini seçtiğinde sisteme giriş penceresi kullanıcı karşısına gelecektir. giriş işlemini yapan kullanıcı karşısına gelen yorum ekleme formunu doldurup yorum ekleme işlemini tamamlayacaktır.
Turizm Alanı Ekle Seçeneği: Kullanıcı menüden turizm alanı ekle seçeneğini seçtiğinde karşısına ilk olarak sisteme giriş modülü gelecektir. Giriş işlemini yapan kullanıcıdan karşısına gelen kayıt ekleme modülünde kayıt ile ilgili bilgiler istenmektedir. Burada istenen bilgiler *il seçiniz (sıralı bir şekilde bulunan illerden birini kullanıcı seçecektir) *ilçe seçiniz (il seçildikten sonra o ile ait ilçeler sıralı halde bulunacaktır kullanıcı bir ilçe seçecektir.) *Tür (sıralı halde bulunan (tarihi, coğrafi, kültürel) seçeneklerinden birini kullanıcı seçecektir.) *ismi (Turizm alanının ismini kullanıcı yazacaktır) *adres (Turizm alanının açık adresini kullanıcı forma yazacaktır) *resim1,2,3,4,5 (formda 5 tane resim ekleme alanı bulunacaktır. kullanıcı buradaki gözat butonuna tıkladığında kendi bilgisayarında bulunan bir resmi kayda ekleyebilecektir) *Açıklama (Turizm alanı hakkında kullanıcı istediği bilgileri verecektir.) Yukarıdaki bahsedilen bütün bilgileri kullanıcı doldurduktan sonra kaydet butonuna basarak turizm alanı ekle işlemini bitirecektir.
Kayıtlarım Seçeneği: Kullanıcı menüden kayıtlarım seçeneğini seçtiği zaman yine sisteme giriş modülüne yönlendirilecektir giriş işlemi tamamlandıktan sonra kullanıcı karşısına sisteme daha önceden eklediği kayıtların listesi gelecektir. Bu listede eklediği kayıtların sadece ismi gözükecektir veya hiç kayıt yoksa hiç bir kayıt bulunamadı yazacaktır. Kullanıcı buradaki kayıtlarından herhangi birini seçtiğinde kullanıcının karşısına o kayda ait bütün bilgiler bir form içinde gelecektir. Buradaki form turizm alanı ekleme formunun aynısıdır ama kullanıcının eklediği kaydın bütün bilgileri bu formlar içinde yazılı halde bulunacaktır. Kullanıcı bunları istediği şekilde değiştirebilecektir değişiklik işlemini yapan kullanıcı altta bulunan güncelle butonuna tıklayarak işlemi bitirecektir ve üzerinde değişiklik işlemi yapılan kayıt veritabanında güncellenmiş şekilde bulunacaktır. Kullanıcı isteği doğrultusunda altta bulunan sil butonuna tıklayarak kaydı veritabanından silebilecektir.
Giriş Seçeneği: Kullanıcı menüden giriş seçeneğini seçtiğinde karşısına giriş formu gelecektir. Burada kullanıcıdan istenen bilgiler (kullanıcı adı, şifre). Kullanıcı giriş işleminden sonra anasayfaya yöneltilir.
Kayıt Ol Seçeneği: Kullanıcı menüden kayıt ol seçeneğini seçtiği zaman açılan pencerede karşısına kayıt ol formu gelecektir. Bu formda kullanıcıdan istenecek olan bilgiler (Adı, Soyadı, Kullanıcı Adı, Şifre, Eposta). Kullanıcı bu bilgileri doldurup kaydet butonuna tıkladığında kayıt olma işlemi tamamlanacaktır kullanıcı anasayfaya yönlendirilecektir.
Profilim Seçeneği: Kullanıcı profilim seçeneğini seçtiğinde eğer giriş işlemini yapmamışsa ilk olarak karşısına gelen pencerede sisteme giriş işlemini yapması gerekmektedir. Sisteme giriş işlemini yapan kullanıcının karşısına gelen formda iki bölüm bulunacaktır eğer kullanıcı şifresini değiştirmek istiyorsa eski şifresini ve iki kere yeni şifresini forma girerek şifre değiştir butonuna bastığında şifresi değişecektir. Eğer kullanıcı kayıt olurken verdiği diğer bilgileri değiştirmek istiyorsa profilim formunda karşısına gelen bilgileri değiştirerek güncelle dediğinde bilgileri değişecektir. Bu bilgiler ( adı, soyadı, eposta). Güncelleme işleminden sonra kullanıcı anasayfaya yönlendirilecektir.
Admin Paneli Giriş: Kullanıcı admin paneline giriş seçeneğini seçtiğinde karşısına giriş formu gelecektir. Bu formda kullanıcıdan kullanıcı adı ve şifresi istenecektir. Kullanıcının eğer yetkisi varsa kullanıcı adı ve şifresini girdikten sonra admin paneli menüsüne ulaşacaktır. Bu menüde aşağıdaki seçenekler bulunmaktadır.
İl Ekle Seçeneği: Sistem yöneticisi il ekle seçeneğini seçtiği zaman karşısına il ekleme formu gelecektir. Burada istenen bilgiler (İl adı, Plaka No). Ekle butonu tıklandığında il ekleme işi sona erecektir.
İlçe Ekle Seçeneği: Sistem yöneticisi menüden ilçe ekleyi seçtiği zaman karşısına gelen pencerede ilçe ekleme formu olacaktır. bu formdan önce sıralı halde bulunan illerden biri seçilecek ve o ile ait ilçenin adı yazılacaktır. Ekle butonuna basıldıktan sonra ilçe ekleme işlemi sona erecektir.
Kullanıcı Bul Seçeneği: Sistem yöneticisi menüden kullanıcı bul seçeneğini seçtiği zaman karşısına kullanıcı bul formu gelecektir. herhangi bir kullanıcının ismini forma girip ara butonuna basıldığında kullanıcı gözden geçir modülünde bulunan kullanıcı gösterilecektir. Burada sistem yöneticisi yetki ver butonuna tıkladığında kullanıcı sistem yöneticisi olacaktır, sil butonuna basıldığında kullanıcı veritabanından silinecektir.
Yeni Kayıtlara Bak Seçeneği: Sistem yöneticisi menüden yeni kayıtlara bak seçeneğini seçtiğinde eklenen kayıtları listeleme modülü devreye girerek en son eklenen onay bekleyen kayıtların listesini görecektir. Bu kayıtlardan herhangi birini seçtiğinde kayıt gözden geçir modülüyle kayıt hakkındaki bütün bilgiler listelenecektir. Bu bilgiler (kayıt ismi, türü, ekleyen kişi, resimler, açıklama, adres, hangi ile ait, hangi ilçeye ait). Bütün bunları gözden geçiren yönetici isteği doğrultusunda onayla butonuyla kaydı yayınlayacak veya reddet butonuyla kaydı sistemden atacaktır.
Yeni Yorumlara Bak Seçeneği: Sistem yöneticisi menüden yeni yorumlara bak seçeneğini seçtiğinde eklenen yorumları listeleme modülü devreye girerek en son eklenen onay bekleyen yorumların listesini görecektir. Bu yorumlardan herhangi birini seçtiğinde yorum gözden geçir modülüyle yorum hakkındaki bütün bilgiler listelenecektir. Bu bilgiler (Yorum, ekleyen kişi, tarih, yorumun eklendiği kaydın ismi). Bütün bunları gözden geçiren yönetici isteği doğrultusunda onayla butonuyla yorumu yayınlayacak veya reddet butonuyla yorumu sistemden atacaktır.
Çıkış Seçeneği: Kullanıcılar giriş işlemlerini yaptıklarında menüde bulunan giriş seçeneği çıkış olarak değişecektir. Kullanıcı çıkış seçeneğini seçtiği zaman sistemden güvenli bir şekilde çıkış işlemini yapabilecektir.
Proje Planı ve Uygulama Takvimi
Gerçekleştirim (29 Mayıs - 18 Haziran):
-MySQL veritabanı sunucusunda veritabanının oluşturulması
-Arayüz Gerçekleştirim
-Programlama
Test (18 Haziran - 27 Haziran):
-Testlerin Belirlenmesi
-Testlerin Gerçekleştirilmesi
Sunum (5-6 Temmuz ):
-Projenin Sunumu
Şekil 15 : Proje Planı ve Uygulama Takvimi (Gantt Şeması)
Kaynakça Daşdemir, Y. (2004), "Veritabanı Yönetim Sistemleri" Türkmen Yayınevi.
Arifoğlu, A. Doğru, A. (2001), "Yazılım Mühendisliği" Yayınevi:Sas Bilişim.
www.yazilimmimarlari.com ve diğer internet araştırmaları
|