GERÇEKLEŞTİRİM
BELGESİ
VERİTABANI ÜZERİNDE PERSONEL VE ÖĞRENCİ TAKİP YAZILIMI
(PERÖTAY)
Abdurrahman ŞANDA
Yazılım Geliştirme
Projesi
Bilgi Teknolojileri Sertifika Programı
Öğretim
Üyesi:
Yrd.
Doc. Dr. Veysi İŞLER
Asistan:
Attila
ALKOÇ
İDEA
ODTÜ Sanal Kampüsü
05 Haziran 2000
Öz
Gerçekleştirim belgesinde
PERÖTAY yazılımının nasıl gerçekleştirildiği, gerçekleştirim aşamasında
karşılaşılan sorunlar ve bu sorunlara bulunan çözümler üzerinde durulacaktır.
PERÖTAY yazılımı proje teklifi ve analiz belgelerinde anlatıldığı
şekli ile oldukça kapsamlı ve tam zamanlı başka bir görevi de olan tek bir öğrenci
tarafından geliştirileceği de gözönüne alındığında, 16 haftalık uygulama ve 8
haftalık asenkron bir ders kapsamında gerçekleştirilmesi mümkün olamayacak boyutta
olduğu bilinen bir uygulamaydı. Bu durum gözönüne alınarak teklif aşamasında
uygulamanın geliştirilmesinde evrimsel (evolutionary) bir geliştirme stratejisi
kullanılarak geliştirilmesi öngörülmüştü. Analiz aşamasında da bu stratejiye
uygun olarak PERÖTAY'ın 3 iterasyonda (Build) gerçekleştirilmesi planlanmış her
iterasyon için düşünülen takvim ve geliştirilmesi planlanmış olan işlevler
verilmişti. Bu belgede bu iterasyonlardan birincisi olan YGP sürümünün
gerçekleştirilmesi için yapılan çalışmalar, karşılaşılan sorunlar, bu sorunlara
bulunan çözümler ve varılan nokta ele alınmaktadır.
Karşılaşılan
Sorunlar ve Uygulanan Çözümler
YGP süresince PERÖTAY'ı geliştirmek
aslında sonderece zor. Tek avantajım ise iş yerinde PERÖTAY'ı boş zamanlarımda
geliştirirken amirlerimce bu işe daha ciddi eğilmem yönünde gelen istek oldu.
Açıkcası benden başka bir uygulama isteniyordu ama konuyu irdelediğimde istenilenin
aynı zamanda PERÖTAY'ın başka bir modülü olduğunu anladım. PERÖTAY'a başlarken
amacım okulda bilgisayar destekli eğitimin varlığından söz edebilmek için yönetim
kademesininde işlemlerini bilgisayar ortamına taşımak tüm öğrenci ve personelin
veritabanını oluşturarak bütün işlemlerin kurulacak bir LAN ile bu veri tabanı
üzerinden yönetilmesini sağlamak idi. Ancak amirlerimden gelen acil istek ise gelen
ziyaretcilerin takibinin bir an önce bilgisayar ortamında yapılması idi. Bende
projeyi hiç değişitirip tadil etmeden sadece teklif kısmının son satırına
Ziyaretci Takip İşlemlerini ekleyerek projeyi yaşattım.
UML dili için kullanılacak toolların
demo olması ve bunları kullanmadaki acemiliğim enbüyük sorunum oldu. Tasarım
belgesinde bu kısım açık kaldı.
ER Diyagramı ve ISA çizimlerini
VTYS dersinde tasarım belgesinden verdikten sonra almamızda bu kısmın açık
kalmasına neden olmuşsada sonrasında bir pach ile çizimi tamamladım.
Farkındayım ki projemin kayıtları
ile gerçekleştirim arasında oldukca büyük uçurumlar var. Bu durum şairin şu
sözleri ile açıklanabilir. "Hislerimi kelimelerle anlatmak mümkün değil."
Gerçektende YM açısından güzel kayıtlar tutamadımsada düşüncelerimi uygulamaya
gayet güzel yansıttığım kanısındayım.
Yazılımın
Bileşenleri ve Görevleri
PERÖTAY uygulamasının YGP
sürümünde veri tabanı Microsoft Visual FoxPro6.0 ın özel VT kullanılarak
geliştirilmiştir. Kullanıcı arayüzü ve simülasyon ise Microsoft Visual
FoxPro6.0 ve FoxPro'nun desteklediği oranda SQL kullanılarak VT kontrol edilmiş grafik
gösterimi FoxPro'nun sağladığı destek ile ilişkilendirilmiştir.
Bu bağlamda yazılımda bulunan dosyalar
aşağıdaki gibidir.
1.Tabldot.dbc:
Database taşıyıcısı olup aşağıdaki tabloları barındırır.
bgorev.dbf : Birlikde görevli personelin ismini
ve bağlı olduğu birlik numarasını tutar.
birlik.dbf : Birlik isimlerini
tutar.
dbirlik.dbf : Personel ünvanlarını tutar.
function.dbf: Program içersinde fonksiyon tuşlarına
yapılan atamaları tutar.
kullanıcı.dbf : Programı kullanmaya yetkili kişileri
ve bu kişilerin numeric kodlanmış şifrelerini barındırır.
menu.dbf : Program menü/modül
isim ve numaralarını tutar.
menu2.dbf : Programı kullanmaya yetkili
kişi numaraları kullanabilecekleri menü/modül ve yetki bilgilerini tutar.
personel.dbf : Programın asıl tablosu olup tüm
bilgiler bu tabloda birleştirilerek tutulur.
rutbe.dbf : Ziyaretcilerin
kullanacağı kart numara bilgileri tutar.
sinif.dbf : Ziyaret
türleri bilgisi tutar.
tsinif.dbf : Birlik
telefon rehberi bilgilerini tutar.
yetkiper.dbf : Raporlarda imzaları bulunması gerekli
personel bilgilerini tutar.
Local View
:
Yukarıdaki tablolardan oluşturulan
görüntüler tutulmakta olup programın kapanması ile silindikleri için ancak SQL
kodlarını görebilirsiniz.
Stored Procedures:
Program içersinde kullanılan userdel ve userins trigerları bulunmaktadır.
2.Formlar:
Database ile kullanıcı arasında
grafik ara yüz oluştururlar.
bgorevgir.scx : Birlik
personelin tanımlanır.
bgorevlist.scx : Personel kayıtları, listeleme ve ilgili birliğin
personel girşi yapılır.
birlikgir.scx
: Birlik
girişi yapılır.
birliklist.scx
: Kayıtlı
birlikler listelenir.
function.scx
: Programda
kullanılan kestirme tuşları verileri alanır.
kullanici_gir.scx: Programı kullanmaya yetkili personel girişi
yapılır.
kullanıcı_list.scx: Kayıtlı kullanıcılar listelenir ve kayıt,
düzeltme, işlemleri yapılır.
login.scx
: Yetkili kullanıcılar sorgulanır.
menugir.scx
:
Kullanıcıların menü/modül yetkileri belirlenir.
Perlist.scx
: Ziyaretcilerin personel.dbf ına giriş ve bu dbf dan sorgulanması
amacıyla kullanılır.
perlist2.scx
:
personel.dbf'ın giriş, düzeltme ve silme işlemleri bu formadan yapılır.
Perrapor.scx : Bu form kullanıcıya gerekli raporları hazırlar.
personel.scx
:
Ziyaretcilerin personel.dbf'ına girişinde kullanılır.
rutbegir.scx
: rutbe.dbf'e
giriş yapmak için kullanılır.
rutbelist.scx : rutbe.dbf de düzeltme, silme ve izleme yapmak için
kullanılır.
sinifgir.scx
:
sinif.dbf'e giriş yapmak için kullanılır.
siniflist.scx
: sinif.dbf de
düzeltme, silme ve izleme yapmak üzere kullanılır.
start.scx
: Programın ana menüsü olup kullanıcı buradan istediği işlemlere
ulaşır.
tsnifgir.scx : tsinif.dbf'e giriş yapmak için kullanılır.
tsiniflist.scx : tsinif.dbf de düzeltme, silme ve izleme yapmak
üzere kullanılır.
yetkiper.scx : yetkiper.dbf'a bilgi girmek için kullanılır.
3.Class Library:
Tabldot.vcx ve Tabldot.vct: Programın OOP lama tekniğinde tutulan
sınıflarını barındırmaktadır.
4.Code:
Programda gerekli *.prg uzantılı küçük program dosyalarını
barındırmaktadır.
asciinumber : ascii kodları mumerik yapar. Şifreleme için
gerekli.
birad.prg
: Birlik adı bulur.
createdata.prg: Setup aşamasında kurulmakta olan programda
dbfların yaratılması için kullanılır.
func_key.prg : Programda fonksiyon tuşlarına atamayı sağlar.
gendbc.prg
: Programın setup aşamasında gerekli
dbc dosyaları yaratır.
menuok.prg : Programda kullancının yetkilerini menü bazında
kontrol eder.
mesajwin.prg : Programda standart mesaj vermek için kullanılır.
packing.prg : Program dbflarını güncelleyerek işaretli
kayıtları dbfden siler.
perad.prg
:
Kayıtlı personel olup olmadığını kontrol eder.
perrut.prg
: rutbe değerlerini kontrol eder.
settings.prg : Programın genel ayarlarını yapar.
sifrecoz.prg : Login formunda girilen kodlanmış ascii değerleri
kontrol eder.
sifreyap.prg : Kullanıcı şifrelerini hazırlar.
start.prg
:
Temel uygulama programıdır.
trhcevir.prg : date değerli tarihleri ascii değerlere çevirir.
vazgec.prg
: Programda evet hayır sorularını
sorar.
5.Rapor:
perliste.frx : Kullanıcılara istediği raporları verir.
Yazılımdan
Kesitler
Bu bölümde PERÖTAY
ekranlarından bazı örnekler verilmiştir.
Login Penceresi
Start Penceresi
Ziyaretci Gir/Sorgula Penceresi
Ziyaretci Gir Penceresi
Ziyaretci Düzelt/Sil/
Penceresi
Ziyaretci Rapor Hazırlama
Penceresi
Örnek Ziyaretci Rapor Çıktısı
Kullanıcı
Kılavuzu
PERÖTAY uygulamasının basılı
bir kullanıcı kılavuzu olmayacak, bu işlev Microsaft Visual FoxPro'da yeralan
çeşitli yardım işlevleri ile sağlanacaktır. Bunlardan en önemlileri olarak yardım
menüsü, "context sensitive help", butonlar ve benzeri kontrol araçları için
kısa açıklamalar içeren "tooltips" sayılabilir. Ancak bu yardım işlevleri
henüz gerçekleştirilemediğinden yazılımın YGP sürümü için aşağıda verilen
kullanıcı kılavuzu hazırlanmıştır. Bu kılavuz da her konuyu içermemekle beraber
yazılımın sınırlı fonksiyonlar içermesi ve basit bir kullanımı olması
gözönüne alındığında yeterli olacaktır. Kılavuz esas olarak Analiz döneminde
hazırlanan ve daha sonra tasarım döneminde bazı bölümleri detaylandırılan
kullanım şekillerine (use cases) dayanmaktadır. Burada kullanım şekillerinin dili ve
ifade tarzı kullanıcıya hitap edildiği düşünülerek değiştirilmiş,
gerçekleştirim sırasında oluşan farklılıklar da gözönüne alınmıştır.
Ek:
PERÖTAY ZİTAP(Ziyaretci Takip Programı) Modülü Kullanma Klavuzu:
1- Giriş
Zitap PERÖTAY uygulamasının acil
öncelikli modülü olarak ortaya çıkmış olmakla amacı okul personelinin ziyaertci
kayıt ve takibini yaparak oluşturulan database üzerindende ilgililere raporlar sunmak
üzere tasarlanmıştır.
2- PERÖTAY ZİTAP
modülünün açılması
Zitap kurulduğunda kısa yolulu
programlar menüsüne koyacağı gibi kullanıcı istediği bir alana Ziyaretci.exe
programı sayesinde bir kısa yol oluşturabilir. Kısa yol tıkladığında program
çalışacak ve login ekranı ile kullanıcıdan kendisini tanımlamasını isteyecektir.
3- Login Penceresi
Program ilk kez
çalıştırılıdığında, login penceresi Kullanıcı combobox'ında "Sistem Ana
Kullanıcısı" isimli kullanıcı görülecektir. Bu ilk kullanıcı
"ZITAP" passwordüne sahip olup bu password ile programa giriş yapacaktır.
Anamenüye ulaşan kullanıcı, ilk iş olarak "Kullanıcılar"
menüsündenkullanıcı adını ve şifresini düzeltmelidir.
4- Ana Menü
Ana menü programa tam hakimiyeti
sağlamak bakımından görsel yapılmıştır ve her işlem modülü bir butonda
gösterilmiştir.
5- Sabit Bilgi
Menüleri
Ana menü sağ
tarafında bulunan kırmızı yazılı menüler
Geliş Sebebi
Telefon Rehberi
Ziyaretci Giriş Kartı
Birlik İşlemleri
Rütbe Tanımlama
sabit Bilgi menüleridir.
6-Taslak Proje
Menüleri
Ana menü
soltarafında bulunan mavi yazılı menüler Taslak proje menüleri olup zaman içersinde
PERÖTAY'a dahil edileceklerdir.
7-Program Utulity
Menüleri
Ana menü alt
kenarına paralel ve siyah dikdörtgen çerçeve içersine konulmuş menüler program
Utulity menüleridir.
8-Ziyaretci Giriş
Menüsü
Ana menü sol
üstündeZiyaretci giriş/sorgulama/ düzeltme ve silme menüsü olup Zitap'ın temel
işlevi olan Ziyaretci girişi bu menüden yapılır.
9-Rapor Menüsü
Ana menü sağ
üst kenarında Raporlar menüsü bulunmakta olup girilen ziyaretci bilgileri çeşitli
sorgulamama kriterleri altında rapor tablolarına dönüştürülür. Kullanıcı bu
raporların ekran çıktısına ulaşabileceği gibi dilerse herhangi bir yazıcıdan
hardcopylerini alabilir.
10-Yardım
Menüsü
Bu menü tam
işleve sahip olmamakla birlikte Program Utulity menüleri içersinde bulunur. Ancak Mouse
imleci herhangi bir menü butonu üzerinde tutulduğunda "tooltiptext" yardım
görüntülenecektir.
|