Tasarım Belgesi
 
 
Banka Veri Tabanı Sistemi
 
Yalçın Bostan
(s03092)
 
Tasarım Belgesi
 
Yazılım Geliştirme Projesi
Bilgi Teknolojileri Sertifika Programı 
İDEA: ODTÜ Sanal Kampüsü
 
 
8.5.2000 

ÖZ: 
Bu rapor; Banka Veri Tabanı Sistemi tasarım raporudur.Raporda;projenin kapsamlı tasarımının verilmesi amaçlanmıştır.Proje tasarımı ; mimari tasarım ,veri tasarımı ,arayüz tasarımı,prosedürel tasarım ve proje planı ile uygulama takvimini içermektedir. 

KAPSAM: 

YAZILIMIN HEDEFLERİ:

Yazılımın gayeleri; bankaya kayıt yapan bir müşterinin bilgilerinin banka veri tabanına girilmesi,hesabını kapatan bir müşterinin bilgilerinin veri tabanından silinmesi,herhangi bir müşterinin bulunarak bilgilerinin güncellenmesi,müşterinin hesap numarasının değiştirilmesine olanak verilmesi ve de o ana kadar bankaya kayıltlı tüm müşterilerin hesap numaralarının ekrana bastırılması olarak sınıflandırabiliriz.Kısacası bu yazılım programı müşterinin bilgilerinin araştırılması,banka tarafından takibe alınması,değişikliklerin gözlenmesi ve bu değişikliklerin kayıtlara geçirilmesini amaçlamaktadır. Bu değişiklikler adres bilgisi,telefon numarası bilgisi ..vs .. olabilir.Sistemden çıkıldığında bu değişikliklerin hepsi kayıt edilir ve sistem yeniden açıldığında değiştirilmiş olan müşteri bilgileri güncellenir. Proje'nin tanımı ve amaçları , proje teklif ve proje analiz belgelerinde detaylı olarak açıklanmış olduğu için burada aynı bilgilerin tekrarlanmasından kaçınılmıştır.Proje teklifinde ve analizinde kullanılan terimler yeri geldikçe proje tasarım belgesinde de kullanılacak ve bu terimlerin de tanımlamalarından kaçılınacaktır.Bu konuda gerek duyuldukça proje teklif ve proje analiz belgelerine başvurulmalıdır. 

MÜŞTERİ İSTERLERİ:

  • Yeni müşteri kaydının yapılabilmesi
  • Kaydı silinen müşterinin hesap numarasının ve diğer kişisel bilgilerinin veri tabanından çıkartılması. 
  • Program,müşterinin hesap numarasına göre yada soyadına göre kişisel bilgilerine ulaşılmasına olanak vermeli.
  • Program,müşterinin hesap numarasının değiştirilmesine olanak vermeli.
  • Program rapor çıktısı vermeli.Yani o ana kadar bankaya kayıtlı tüm insanların hesap numaralarının görünmesine olanak sağlamalı(Breath First Order Traverse'le,bu konuyla ilgili ayrıntılar analiz belgesinde)
  • Sistem açıldığında tüm müşteri bilgileri disk ünitesinden güncellenmeli,sistem kapatıldığında ise müşteri bilgileri disk ünitesine yazılmalı.
TASARIM SINIRLAMALARI:
Projenin gerçekleştirimesinde snırlamalardan kaçınılmıştır.Bilgilerin ortak bir veri bankasında toplanmasını ve yine aynı veri bankasından ihtiyaçlara göre arama yapma,müşteri kaydı girme,müşteri kaydı silme,.. imkanları sağlanmaktadır. 

MİMARİ TASARIM: 

 
Yukarıdaki şekilde de görüldüğü üzere programda 10 adet modül bulunmakta ve bazı modüller arası bağlantı bulunmaktadır.Örneğin saga_yerlestir modülü ve sola_yerlestir modülü Agac_yap modülünü kullanır. Yada Kaydı_silinicek_musteriyi_bul modülü,Sil modülünü kullanır.Yukarıda ki modüllerden Dosyadan_oku modülü sadece sistem ilk açıldığında otomatik olarak çağırılır ve veritabanındaki bilgileri okuyup Agac_yap modülüne verir ve Agac_yap modülüde müşterilerin hesap numaralarına göre ikili ağaç (Binary Search Tree) oluşturur.Dosyaya_yaz modülü ise sadece sistemden çıkıldığında çağrılır ve ağaçın elemanlarını(node) veritabanına kaydeder. 

VERİ TASARIMI: 

 
Yukarıdaki şekilde bir müşteri kaydının(record) modeli çizilmiştir.Yazdığım bu programda nesneler arası ilişki olmadığından nesneye yönelik yaklaşım kullanılmamıştır ve bu nedenle ER diagramıda çizilmemiştir.Programda kullanıcı kayıt(record) ve göstergeç(pointer) özelliklerini kullanarak yeni müşteri kayıtları yaratmakta ve bu kayıtların özelliklerinden faydalanarak bir takım işlemler yapmaktadır. 

ARAYÜZ TASARIMI: 

VERİ AKIŞ DİYAGRAMLARI: 

 
 
 

KONTROL AKIŞ DİYAGRAMI: 

 

PROSEDÜREL TASARIM: 

 
 

GANNT DİYAGRAMI:  

 

      KAYNAKÇA: 

  • DATA STRUCTURES USİNG PASCAL / Aaron M. Tenenbaum,Moshe J. Augenstein 
  • DATA ABSTRACTION AND PROBLEM SOLVING WITH C++ / Frank M. Carrano,Paul Helman,Robert Veroff 
  • DATA STRUCTURES IN C++ / Timothy Budd 
  • C++,AN INTRODUCTION TO COMPUTING / Joel Adams,Sanford Leestma,Larry Nyhoff 
  • SOFTWARE ENGINEERING / Roger S.Pressman,Ph.D. 
  • YAZILIM MÜHENDİSLİĞİ DERS NOTLARI 

İDE_A KATILIMCILAR ANA SAYFA PROJE SAYFASI
TEKLİF BELG. ANALİZ BELG. GERÇEKLEŞTİRME BELG. TEST BELG.