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.


KAYNAKÇA

1- ARAL Nesip İDEA 2 Grup Öğrencisi YGP Projesi

2- İlgili Mevzuatlar.

Abdurrahman ŞANDA s03002 İDEA