You are on page 1of 18

EK-A

EVRAK TAKİP SİSTEMİ MİMARI TANIM RAPORU

Hazırlayanlar:
Mehmet BAĞKUR & EMRE TÜRKİŞ

1) Amaç ve Kapsam
Bu belge, ürünün tanımlanan müsteri gereksinimlerine uygun olarak elde edilmesi
yönünde, gelistiriciler için ön tasarım tanımlamalarının yapılarak, yazılımın tasarımını
gerçeklestiren gelistiricilere müsterinin beklediği, olmasını istediği tasarım hakkında bilgi
vererek yazılımın basarımını arttırmaktır.
Bu dokümanda tasarımın gelistirilmesinde etkili olan ve kurumsal kıstaslar veya
projeye
özgü durumlar nedeniyle alınan tasarım kararları tanımlandı. Mimari tasarım asamasında
tanımlanan tasarım modeli detaylandırıldı. Bilesenleri olusturan sınıflar ile ilgili özellikleri
ve operasyonlar, ayrıntılı olarak tanımlandı. Bilesenler ve sınıflar arasındaki iliskilerin
görünürlüğü, iletisimin yönü ve çokluğu gibi bilgiler tanımlandı. Gereksinim belgesinde
tanımlanan use-case’lere karsılık gelen sıralama veya isbirliği diyagramları ile yazılımın
davranıs modeli olusturuldu. Veri modelini olusturan elemanları ve aralarındaki iliskiler
tanımlandı. Kullanıcı arayüzleri tanımlandı.

2) Paydaşlar
Mimari tanımın paydaşlarını, ilgili bakışlara referans ederek belirtin.

İsim Tanım Sorumluluklar


Sistem Yöneticisi Sisteme bölüm ve Sistemin teknik bakımını
personelleri tanımlayan yapar.
teknik bir kişidir. Sistemin gereksinimlerini
günceller.
Sisteme yeni bölüm açar ve
personel ekler.
Evrak takip sisteminin
temelinden
sorumludur.
Personel En fazla bir bölümde İlgili evrakı onaylar veya
çalışabilen bir kurum reddeder.
çalışanıdır. Evraka ek dosya ekleyebilir.
Evrak üzerinde yorumda
bulunabilir.
Evrakı bir başka bölüme
iletebilir.
Başka bir bölümden iletilen
evrakı alabilir.
Geliştirici Ekip Sistemin geliştirmesini ve Sistem yazılımını belli bir iş
teslimatını yapan gruptur. planına göre
gerçekleştiren ve
dökümantasyonunu
yaparlar.
Araştırma Sistemin geliştirilmesi Yazılımın
Görevlileri boyunca tasarımı,yazılımı analizi,tasarımı,kodlanması,test
kontrol eden kişilerdir. aşamasını kontrol ederler.
Geliştirici ekip tarafından
üretilen
dökümanları kontrol ederler.
Eğitmen Geliştirici ekibe sistemin Java EE hakkında eğitim
geliştirmeleri için gerekli haftada bir gün
teknik bilgiyi öğreten kişiler. eğitim verirler.
Yazılım Mimarı Geliştirilecek olan sistemin Yazılım geliştirme, yazılımın
mimarisini oluşturmaktan geliştirilme aşamasını, sürecini
sorumlu olan kişiler anlayan ve de buna uygun
mimariyi ortaya koymaktır.
Geliştirici

3) Sistem Bağlamı
Gelistirilecek olan yazılım merkezi bir rol oynamaktadır.Asagıdaki cizim-1’deki tüm
elemanlar görüldügü gibi sistemle bir sekilde iletisime gececektir.Cizim- 1 deki sekil verinin
analizi ve yeniden olusturulması icin bir iskelet gorevi gormektedir.
Bu sistemi kullanan kullanıcıları, 3 gruba ayırdık.Bu gruplamayı yaparken kişilerin
sınıflarından cok sistemle etkileşime gecme sekillerini goz onune aldık.Bu nedenle, bir kişi
birden fazla gruba dahil olabilmektedir.

Kullanıcılar:: Sistemi kullanacak olan yani baska bir deyişle musteri tarafındaki kullanıcıları
icermektedir.Personel, sistem yöneticisi bu gruba dahildir.Sistem gereksinimlerinde belirtilen
işlemleri yapmak icin sistemi kullanırlar.

Gelistirici Ekip::Gereksinimlerin belirlenmesi, kodlanması, test edilmesi, musteri ile


ilşkilerin gerceklestirilmesi asamalarında gorev alanları iceren bir gruptur.

Yazılım Mimarı::Belirlenen gereksinimler dahilinde sistemin mimarisini hazırlamak,


degisen gereksinimlere karar vermekle yukumlu insan grubudur.
Evrak Takip Sistemi, J2EE Standartlarına göre yapılacaktır. J2EE ortamı ayrık çok katmanlı
bir uygulama modeli sunar. Uygulama mantığı fonksiyonlarına göre componentlere
ayrılmıştır.Burada uygulamayı oluşturan componentler bulundukları çok katmanlı J2EE
ortamına göre farklı makinelerde de kurulu olabilirler.Sistemin fiziksel bir gorunumu cizim-
2’den gorulebilmektedir.J2EE uygulamaları 3 ya da 4 katmandan oluşabilir ama genelde 3
ayrı konuma dağıldığı için 3 katman olarak oluşturulur. Evrak Takip Sistemi Projeside 3
katman üzerine kurulacaktır. Bunlar : İstemci makineleri , J2EE Sunucu makinesi ve geri
tarafta database makinesidir. Katmanlar arasındaki baglantı cizim-2’den gorulebilmektedir
Ayrıca temel olarak, sql kullanılarak bir dbserver üzerinden yapılan işlemlerin java
fonksiyonları ve kendine özgü hql ile objeler üzerinden, dbserverdan bağımsız olarak
yapılması mantığı ile ortaya çıkmış bir teknoloji olan Hibernate kullanacağız.Veriler
işlenirken,objeler üzerinden iterator ile teker teker işlem yapmak yerine hql ile sqlde olduğu
gibi veri kümeleri üzerinde işlem yapabileceğiz.
Sistemde cok katmanlı mimari kullanılacaktır.Sistemdeki katmanları kabaca aşağıdaki gibi
simule edebiliriz.

Veri Katmanı (Data Layer) :


Mimarideki en alt katmandır. Veri tabanı, program içerisinde bu katmanda temsil edilir. Bu
katmanın yapısı, kullanılan veri tabanı bağlantısının tipine göre değişiklik gösterebilir.
Bağlantı modeli olarak postgreSql kullanılacaktır.. Veri tabanındaki verilere erişim,
değişiklikler, işlemler, verilerin güvenliği , doğruluğu hep bu katmanın sorumlulugu
altındadır.

İş Katmanı (Business Layer):


Mimarideki orta ve en önemli katmandır. İş katmanı, veri tabanı sorgularını içeren ve alt
katman yardımıyla veri tabanına bu sorguları gönderen katmandır. Bu sorgular veri
katmanında oluşturulan veri tipleriyle uygun olmak zorundadır. İş katmanında, veri tabanı
sorgularının yanında, gerekli sınıflar da bulunacaktır. Sistemin veri katmanı ve de sunum
katmanı arasında bir köprü görevi görmektedir.Sistemle ilgili kontroller, denetlemeler,
işlemler, yetkiler, işlevler hep bu katmanın sorumluluğu altındadır.

Sunum Katmanı (Presentation Layer):


Çok katmanlı mimaride, kullanıcı arayüzünü içeren katmandır. İşlemler bu katman üzerinde
döner. Veri tabanı işlemleri ise iş katmanı aracılığıyla gerçekleşmektedir.Kullanıcının bire bir
iletişimde olduğu tek katmandır.

4) Sistem Özellikleri
Evrak takip sistemi web tabanlı bir uygulamadır. Java EE kullanılarak geliştirilecektir.
Ürünü kullanacak olan kişiler system yöneticisi ve kurum(bölüm) personelidir. Ürün(Yazılım)
verileri kalıcı bir veri tabanında tutacaktır. Bu veri tabanı ile ilişki hibernate ile kurulacaktır.
Ürün , Kurum evrak iletişiminin hızlandırılmasını amaçlamaktadır. Sisteme evrak
eklenebilmektedir. Eklenen evraklar, pdf formatında olmak zorundadır. Yeni bir evrak
eklendikten sonra, evrakla ilgili işlemler ekran üzerinde görüntülenebilir. Evrağın eklenip
eklenmediği ile ilgili bilgi ekranda belirtilecektir. Aynı şekilde evraklar silindiği zaman yine
ekranda, evrağın silindiğine dair bir mesaj çıkacaktır. Evrak için geçerli olan bu özellikler,
aynı şekilde personel ve bölümlerin eklenip silinmesi durumunda da geçerlidir. Sistemde,
farklı kullanıcılar farklı yetkilere sahiptirler. Sistemde misafir kullanıcılara birtakım kısıtlar
getirilmektedir, bunlar evrak takip sisteminde online kullanıcıdan farklı haklara sahiptirler.
Kayıtlı kullanıcılar ETS'ye göre belli bir onayı almış oldukları için bunların fazladan hakları
olmalıdır. Örneğin üye kullanıcılar sistem veri tabanı üzerinde fazladan haklara sahip
olabilirler. İki çeşit çalışma kipi vardır. Biri authentication kipi ile çalışmadır. Diğeri ise
“authentication”sız çalışmadır. Personel veya sistem yöneticisi şifre girmeden site üzerinde
dolaşırsa uygulama “authentication”sız kipte çalışır ve kullanıcı ekleme ve çıkarma yapamaz.
Bu yüzden kullanıcı(personel veya system yöneticisi) authentication hakkı istiyorsa mutlaka
login olmalıdır. Burada hedef veri bütünlüğünü ve güvenliğini dolayısıyla firma menfaatlerini
sağlamaktır. Aşağıda bu yetkilerle ilgili bilgilendirme yapılmaktadır.

Bu aşamada sistemin işlevsel özellikleri kullanıcı türlerine göre açıklanacaktır.

Personel

Personel istenen evrak adına tıklayarak evrak izleme sayfasına gidebilir. İstenen evrak
sistemden silinebilir. İlgili evrağa ek dosya ekleyebilir. Evrak hakkında yorumda bulunabilir.
Evrak başka bir bölüme gönderilebilir. Evrak onaylanabilir.

Sistem Yöneticisi

Sistem yöneticisi yazılım hakkında temel bir bilgiye sahip olmalıdır. Eğer sistemde bir
sorun,çökme vb. bir durum yaşanırsa yazılımcıları bilgilendirebilmelidir. Personelin teknik bir
bilgiye sahip olması beklenmez; sadece evraklar ve yazılımın nasıl kullanılacağı hakkında
bilgiye sahip olması yeterlidir.
Sistem yöneticisi hesabında sistemde kayıtlı olan bütün bölümleri görebilir. Sistem
yöneticisi buradan bölümleri silebilir, ekleyebilir ve güncelleyebilir. Ayrıca sistem yöneticisi
ilgili bölümde kayıtlı bütün personellerin bilgilerini görebilir, personelleri silebilir ve
güncelleme yetkisine sahiptir. Bunlara ek olarak, sistem yöneticisi, normal personelin tüm
yetkilerine de sahiptir.
Kullanıcıların timeout süresi dolduğunda otomatik olarak inaktif duruma geçmesi de
veri bütünlüğünü koruma ve sağlama adına önemli bir özelliktir. Çünkü sistem firmanın
genelini ilgilendiren ve özellikle firma çalışanlarının dikkatli olması gereken bir sistemdir ve
amaç burada doğabilecek olumsuz sonuçların olabildiğince önüne geçmektir. Sistem
çalışanları belirlenmiş bir veri tabanı yöneticisi haricinde firma ile ilgili kararlar
verme hakkına sahip değildir. Bunun için yetkilendirilmemiştir. Sisteme bölüm veya personel
ekleyebilmek için sistem yöneticisi program içerisinde gömülü olarak bulunmalıdır. Evrak
üzerinde işlem yapabilmek için yani evrakı başka bir bölüme gönderebilmek, evrak üzerinde
yorum yapabilmek, evrak onaylayabilmek, evraka dosya ekleyebilmek, evrak
görüntüleyebilmek için en az bir evrakın sisteme eklenmiş olması gerekmektedir. Yukarıda
belirtilen evrak üzerinde belirtilen işlemlerin yapılabilmesi için en az bir personelin
tanımlanmış olması gerekmektedir. En az bir personelin var olabilmesi için en az bir bölümün
sistem yöneticisi tarafından tanımlanmış olması gerekmektedir.

Sistem web tabanlı bir mimari üzerine geliştirilecektir. Tüm işlemler internet
üzerinden yapılacaktır, bunun için kullanıcıların uygulamayı kullanabilmeleri için internet
erişimlerinin olması şarttırt. Bunun sağlanması için J2EE platformu kullanılacaktır.
Kullanılılacak olan uygulama sunucusu apache tomcat olacaktır. Uygulama, spring
framework çatısı altında, sistemi MVC altyapısını kullanarak kullanıcıya JSP sayfaları olarak
sunacaktır. http üzerinden gönderilen mesajlar, TCP/IP protokolüne uygun olacaktır.
Veritabanı yönetim sistemi olarak postgresql kullanılacaktır.

Sistemin kalite özellikleri aşağıdaki gibi ayrı ayrı sınıflandırılmaktadır.

Bakımı yapılabilirlik: Yazılım, degisen ihtiyaçlara göre degisebilir olmalıdır. Aslında burada
bahsedilmesi gereken özellik daha çok modülerliktir. Çünkü bir yazılımın genel anlamda
bakımının kolay yapılabilmesini sağlayan en büyük etken modülerliktir. Bu sayede yazılımın
anlaşılması ve incelenmesi oldukça kolaylaşacak, hata sınama gibi olanaklar gelişecektir.
Güvenilirlik: Yazılım, güvenilir olmalıdır. Burada yazılımın kendisinden bekleneni tam ve
doğru olarak yapabilmesi anlaşılmaktadır. Çünkü yazılımın etkin olarak kullanılabilmesi onun
güvenilir oluşuyla tam bir ilişki içerisindedir.
Güvenlik:
Sistemde yer alacak temel güvenlik önlemleri şunlar olacaktır:
1. Kullanıcı girişi: Sistemde gerçekleştirilecek bazı özellikler kullanıcının login olması
durumunda gerçekleştirilebilecek, böylece sistem güvenliği sağlanmış olup yetkisiz
kullanımın önüne geçilecektir
2. Yetkilendirme: Sistemin yapısının doğal sonucu olarak her kullanıcı her özelliğe
erişemeyecek, tasarımda belirtildiği üzere yetki seviyesine göre birtakım haklara sahip
olacaktır

5) İşlevsel Bakış
Evrak Takip Sistemi, evrakların hızlı bir şekilde yönetilmesini ve güvenli bir şekilde
saklanmasını sağlamaktadır. İki tür kullanıcı bulunmaktadır. Bunlar sistem yöneticisi ve de
sistemi kullanan personeldir. Sistem yöneticisi sistemde en fazla yetkiye sahip olan aktördür.
Sistemde evraklar, personel bilgileri, ilgili kurumdaki bölümler ile ilgili bilgiler mevcuttur.
Bu bilgilerin yönetimi sistem yöneticisinin yetkisindedir.
Sistemin fonksiyonel özellikleri aşağıda madde madde özetlenmiştir:
Bölüm tanımlama/silme/güncelleme: Sistem yöneticisi bölüm ekleyebilir, silebilir ve
güncelleyebilir.
Personel tanımlama/silme/güncelleme:Sistem yöneticisi personel ekleyebilir, silebilir ve
güncelleyebilir.
Evrak görüntüleme: Personel kendi bölümünde bekleyen evrakı izleyebilir.
Evraka ek dosya ekleme: Personel kendi bölümünde bekleyen evrakın yanına dosya
ekleyebilir.
Evrak üzerine yorumda bulunma: Personel kendi bölümünde bekleyen evrak hakkında
yorum yapabilir.
Evrakı başka bir bölüme iletme: Personel kendi bölümünde bekleyen evrakı başka bir
bölüme iletebilir.
Evrak sil/ekle: Personel kendi bölümünde bulunan evrakı silebilir veya ekleyebilir.

Sistemdeki evraklar pdf formatındaki dosyalar halinde saklanmaktadır. Ayrıca sisteme


yeni bir evrak eklenmek istendiğinde eklenmek istenen evrak pdf formatında olmak
zorundadır. Evraklar personel ve sistem yöneticisi tarafından eklenebilir. Tek koşul bu
kişilerin kullanıcı adı ve şifrelerinin olmasıdır. Burdan da anlaşılabileceği üzere sistemde
işlem yapabilen personelin adı, soyadı, kullanıcı adı ve şifresi saklanmaktadır. Yeni evrak
eklendikten sonra onaylama, yorum yapma, dosya ekleme gibi işlemlerde evrak ekran
üzerinde görüntülenebilir. Personel evrakı sisteme eklediğinde veya başka bir bölüme
iletildiğinde evrakın ekranda eklendiği bilgisi görülebilir. Bir personel, sadece kendi bölümü
ile ilgili olan bir evrakı silme yetkisine sahiptir. Personel kendi bölümünde bulunan evrakı
sildiğinde evrak silindi bilgisi ekranda görülebilir.
Bölümler sadece sistem yöneticisi tarafından eklenebilmektedir. Bölümle ilgili sadece
isim bilgisi tutulmaktadır. Her personelin bir bölümü olmak zorundadır. Aksi takdirde üyelik
yapılamamaktadır. Yeni bölüm, sistem yöneticisi tarafından eklendiğinde bölüm eklendi
bilgisi ekranda görülür. Aynı şekilde silme işleminde de bölümün silindiğine dair bilgi
ekranda görülecektir.
Sisteme yeni personel sadece sistem yöneticisi tarafından eklenebilir. Ve eklendiği
zaman personel eklendi bilgisi ekranda görülür. Aynı şekilde sistem yöneticisi personelleri
sistemden silme yetkisine sahiptir. Sistem yöneticisi herhangi bir personelin bilgilerini
güncelleme yetkisine de sahiptir. Ve güncelleme işleminin ardından ekranda yeni bilgiler
görülecektir.
Yukarıda tanımlanan işlevsel özelliklerin bir kısmının ekran görüntüleri aşağıda
görüldüğü gibidir:

Üstteki sayfa anasayfayı göstermektedir. Sistem yöneticisi kullanıcı adını ve şifresini girerek
Sistem yöneticisi hesabına ulaşabilir.
Sistem yöneticisi hesabında sistemde kayıtlı olan bütün bölümleri görebilir. Sistem yöneticisi
buradan bölümleri silebilir ve güncelleyebilir. Yönetici ilgili bölümün karşısındaki “Git”e
tıklayarak ilgili bölüm sayfasına gidebilir.

Sistem yöneticisi ilgili bölümde kayıtlı bütün personellerin bilgilerini görebilir, personelleri
silebilir ve güncelleyebilir.

Yukarıdaki sayfadan personel istenen evrak adına tıklayarak evrak izleme sayfasına gidebilir.
İstenen evrak sistemden silinebilir. Sisteme evrak ekleme bu sayfadan yapılmaktadır.
Yukarıdaki sayfada personel, ilgili evrağa ek dosya ekleyebilir. Evrak hakkında yorumda
bulabilir.Evrak başka bir bölüme gönderilebilir. Evrak onaylanabilir
Bu model sistemde 3 birim olduğunu göstermektedir. Bunlar;
 Web browser
 Sistem yöneticisi
 Kullanıcı

Bu sistem 7 adet temel işlevsel bileşenden oluşmaktadır. Örnek olarak; mesaj


bus, controller ve kullanıcı bilgi sistemi arasındaki bağlantıyı kurmaktadır. Kullanıcı
yeni bir evrak eklediğinde evrak kataloğu ile bağlantı kurarak yeni bir evrağın
eklenmesini sağlamaktadır. Bu bağlantı kullanıcı arayüzü sayesinde yapılmaktadır.
Kullanıcının evrak eklemesi web tabanlı bir arayüz ile kullanıcının istediği şekilde
gerçekleşmektedir. Kullanıcının bölüm kataloğu ve de kullanıcı kataloğuna erişimi
yoktur. Sistem yeni bir evrak eklenecek durumda olmadığı zaman evrak takip sistemi
kontroller’ı kullanarak kullanıcıya uyarı mesajı göndermektedir. Sistemde en fazla
1TB’lık dosya bulunabilir. Ve kullanıcının yükleyebileceği evrak boyutu en fazla
10MB olabilmektedir.
Sistem yöneticisi evrakları, bölümleri ve de kullancıları yönetmek için katalog
yönetme arayüzünü kullanmaktadır. Bu arayüz sayesinde web tabanlı olarak gerek
bölümleri, gerek evrakları, gerekse kullanıcılar ile ilgili bilgileri ekleyebilir, silebilir ve
güncelleyebilir.
Sisteme aynı anda en fazla 50 kullanıcı bağlanabilmektedir. Evrak yükleme
işlemi paralel olarak elli kullanıcı ayna anda yapılabilir. Evrak kataloğu, bölüm
kataloğu ve de kullanıcı kataloğu spesifik bir protokol üzerinden ulaşılabilmektedir.
Ve TCP/IP protokolünün standartlarına uygundur.
Şunu da belirtmek gerekir ki, şekilden sistemin tüm altyapısı tam olarak
anlaşılamamaktadır. Şekildeki bileşenlerin sorumlulukları, arayüzler, bileşenlerin
birbirleri ile olan ilişkisi tam olarak açık değildir. Bunun için bileşenler aşağıda
açıklanmaktadır:
 Evrak Takip Sistemi: Web browser kullanılarak kullanıcıların html tabanlı
arayüzlere erişiminin sağlar. Kullanıcı arayüzlerini yönetir. Sistemin tüm
elemanları ile iletişime geçer ve kullanıcı bilgilendirilir.
 Kullanıcı Bilgi Sistemi: Sistemdeki tüm kullanıcıların, halihazırda
veritabanında bulunan verilerini yönetir. Kullanıcıların erişebilecekleri
bilgilere sorgular sayesinde erişmelerini sağlar. Kullanıcılara sistemin diğer
bileşenleri tarafından gönderilen mesajların kullanıcı tarafından
görüntülenmesini sağlar.
 Controller: Kullanıcı ile evrak takip sistemi arasındaki iletişimin sağlanmasını,
veri alışverişinin yapılmasını sağlar.
 Katalog Yönetme Arayüzü: Sistem yöneticisinin evrakları, bölümleri ve de
kullanıcıları yönetmesini sağlar.
 Sistem Yöneticisi Arayüzü: Sistem yöneticisinin erişebileceği bilgilere
erişmesini ve de değiştirebileceği verileri değiştirebilmesini sağlar.

6) Bilgi bakışı

Sisteme ait üye verileri hariç tüm veri yapısı yönetici kullanıcı tarafından
olusturulur. Üye kullanıcı kendi üyelik bilgileri ve kisisel bilgilerini olusturabilir. Yönetici
kullanıcını
sistemin diğer veri elemanlarını (organizatör/organizasyon/salon) tanımlaması ile bu
veriler ile sistemde etkilesimde bulunarak, kendine ait rezervasyon ve bilet alım verisini
olusturur. Yönetici sisteme ait verilere müdahale edebildiği gibi, üye kullanıcının
olusturduğu (kisisel/kullanıcı bilgileri, rezervasyon bilgileri) müdahale ederek veriyi
sekillendirebilir.

Sistemde bölüm, sistem yöneticisi, personel, evrak, gibi veri varlıkları vardır. Her personelin
adı, soyadı kullanıcı adı ve şifresi vardır. Her bölümün bir adı vardır. Sistem yöneticisinin
kullanıcı adı ve şifre bilgileri yazılımcı grup tarafından sistemde default olarak tanımlanır ve
veri tabanında saklanır. Her evrakın bir adı vardır ve bu ad kütük uzantısı olan .pdf ile
sonlanır. Yani bir bölümde çalışan personeller vardır. Bir bölümde 1 ya da birçok personel
çalışabilir ancak 1 personel yalnız ve yalnız bir bölümde çalışabilir. Bu anlamda bölüm ve
personel arasında “Çalıştığı” ya da “Çalışan” bağıntısı kurulabilir. Personelin sorumlu olduğu
evraklar vardır. Yani evrakların bağlı olduğu personeller vardır. Bir personel birçok evraktan
sorumlu olabilir. Sorumlu olduğu bu evraklar personelin kayıtlı olduğu bölümde bulunan
evraklardır. Bir evrak kendi bölümündeki birçok personele bağlı olabilir. Bu durumda
personel ile evrak arasında “Sorumlu Olduğu” ya da “Bağlı Olduğu” ilişkileri vardır.. Aynı
ilişkiler sistem yöneticisi ile personel arasında da vardır. Zira sistem yöneticisi tüm
personellerden sorumludur ve 1 personel sadece 1 sistem yöneticisine bağlıdır. Fakat burada
görüldüğü üzere bire-bir ve bire-birçok olarak birbirinin tersi sayısal kısıtlamalar vardır.
Evrak- Personel arasındaki “Sorumlu Olduğu” ya da “Bağlı Olduğu” ilişkilerinde ise bire-
birçok ve birçoğa-bir sayısal kısıtlamalar vardır.

Sistemde 6 adet sınıf bulunmaktadır. Bunlar;


 Evrak
 Personel
 PersonelEvrak
 Bolum
 PersonelBolum
 SistemYoneticisi’dir.

Evrak: Sistemde kullanılan evrakları simgeler. 3 adet özelliği bulunmaktadır. Bunlar veri
türleri ile birlikte şu şekilde özetlenebilir:
 id: long
 ad: string
 eklenmeTarihi: Date

Personel: Sistemde kullanılan tüm kullanıcıları, yönetici hariç, simgeler. Bu kullanıcı türünün
kullanıcı adı ve şifre bilgileri de bu sınıfın içinde tutulmaktadır. Bu sınıfın tüm özellikleri
şunlardır:
 id: long
 ad: string
 soyad: string
 dogumTarihi: Date
 kullanıcıAdı: string
 sifre: string

PersonelEvrak: Sistemdeki personellerin yükledikleri evrakları personellerle ilişkilendiren


sınıftır. Her iki sınıfla bire bir ilişki kurarak sistemde personel bilgisi olmayan evrak
yaratılmasının önüne geçerek veri bütünlüğünü korur. Bu sınıfın özellikleri şu şekilde
sıralanabilir:
 id: long
 evrakId: long
 personelId: long

Bölüm: Sistemde varolan bölümlerin veri modellemesini bu sınıf sunmaktadır. Sınıf yapısı
içinde id’si dışında sadece bölümün adı saklanmaktadır. Özellikleri:
 id: long
 ad: string

SistemYöneticisi: Sistemde kayıtlı olan, yönetici önceliklerine sahip kullanıcı tipini tanımlar.
Veri türleri açısından personelden bir farkı olmamasına rağmen, önceliklerin farklılaştırılması
amacıyla bu sınıfın yaratılmıştır. Alternatif bir tasarım yaklaşımı da, hem personel hem de
sistem yöneticisinin kullanıcı adlı bir ata sınıftan türemeleri olarak tanımlanabilir. Böylece
nesneye yönelik paradigmalar anlamında daha tutarlı bir tasarım ortaya çıkacaktır. Bu sınıfın
özellikleri ise şöyledir:
 id: long
 ad: string
 soyad: string
 dogumTarihi: Date
 kullanıcıAdı: string
 sifre: string
7) Geliştirme Bakışı
User-Interface-Module: Sistemi kullanmaya baslayan her kullanıcı sistem için tanımlanan
(yönetici, operatör, üye, misafir) kullanıcı ile eslestirilir ve bu kullanıcı için sistemde
tanımlanan haklar, sisteme giris yapan kullanıcıya verilir. Sisteme yapılan her girisi User-
Interface Modülü karsılamaktadır. Sisteme giris yapan her kullanıcıyı, kullanıcı için
tanımlanan hakları vererek Web-Modüle iletir. Kullanıcıya ait bilgiler kurabiyelerde
güvenlik nedeni ile tutulmayacaktır. Bu nedenle sisteme giren her kullanıcı, misafir
kullanıcı hakları ile Web-Modüle yönlendirilir.

Web-Module: Sistemin yer aldığı kullanıcıların sistemin ayrıntılarına erisebildiği


bölümdür. Misafir kullanıcılar site içerisinde içerikleri inceleyebilir, üyeliğini veya yönetici
olduğunu ispatlayabilir. Modül, Web-Security modülüne bağlanabilir ve kullanıcı
doğrulamasına cevap üretebilir. User-Interface modülü ile iletisime geçerek kullanıcının
sahip olduğu hakları verebilmek için arayüz tanımlarını değistirebilir. Üye kullanıcının
sahip olduğu haklar çercevesinde tanımlanan islevleri yerine getirmek için Core-Modüle
bağlanır. Bu islemleri yerine getiremez islem istekleribi core modülüne iletir.

Core-Module: Tüm islemler core module tarafından yapılabilir. Modul sadece kendisinden
istenen islemi yapar, islemin yapılmasını isteyenin bu islemi yapmaya yetkisi olup
olmadığını sorgulamaz. İşlemin gereği veri tabanına bağlanması gerektiğinde Connection-
Module bağlanma isteği yapar. Veri tabanından gereken bilgiyi veya veri tabanına
eklenmesi gereken bilgiyi connection modülü ile gerçeklestirir.

Connection-Module: Web modülü ile DataBase modülü arasında ki bağlantıyı


gerçeklestirir.

DataBase-Process: Gerçek veri tabanına bağlanan modüldür. Connection modülünden


gelen isteklere DataBase Main modülüne bağlanarak cevap verir. Burda uyulması gereken
güvenlik kuralları tanımlanmıstır. DataBase Main modülüne bağlanmadan sistemi kullanan
kullanıcıyı DataBase-Security modülüne ileterek veritabanı için güvenlik onayı alır. Bu
onay ile DataBase Main modülüne ulasabilir ve islem yapabilir.

DataBase-Security: Amacı veri tabanına yapılan yetkisiz erisimleri engellemektir.


DataBase Main modülü bu modülden onay almayan istekleri tanımaz.

DataBase-Main-Module: Veri tabanında ekleme, silme, güncelleme islemlerini yapan


birimdir. Gelen sorgulama isteklerine veri tabanından veri toplayarak cevap üretir.
Yukarıda UML module diyagramdan da goruldugu uzere yazılımı aslında genel olarak üç
parçada inceleyebiliriz. İlki kullanıcılar için, kullanıcıların sistem ile etkilestiği, kullanabildiği
ve sistemi yönlendirebildiği arayüz. Üçüncüsü ise en alt katmanda yer alan veri tabanı
islemlerini gerçeklestiren veri tabanı katmanıdır. İkincisi ise kullanıcı ile veri tabanı arasında
bağlantı kuran orta katmanda yer alan iletisim katmanıdır. Genel anlamda sistem temel üç
katmana bu sekilde ayrılabildiği gibi her katman da kendi arasında bölümlere ayrılabilir.
Programa yakından bakmak
gerekirse, program aslında veri tabanı uygulamasının web ortamında çalısan versiyonu
olarak düsünülebilir. Kullanıcı arayüz sayesinde programda tanımlanan islemleri görür,
yapmak istediği isi orta katmana iletir, bağlantıyı sağlayan orta katman da istenen isi veri
tabanına iletir. Veri tabanı katmanı isi veriler üzerinde çalıstırır. Sistemin genel tanımından
sonra sisteme ait bilesenler ve ayrıntılar verilecektir.
Yazılım genel olarak üç bilesenden olusmaktadır. Sunucu olarak kullanılan TomCat 7,
kullanıcıların sisteme web üzerinden ulasmalarını sağlamaktadır. Veri tabanı bilesenini
gerçeklemek için postgresql veri tabanı kullanılmıstır. En önemli bilesen ise diğer iki
bileseni de birlestiren sistem bilesenidir. Sistem misafir kullanıcı ile üye ve admin
kullanıcı icin arayüz sağlar. Sistem yetki/islem olarak üç sınıfa ayrılmıstır. En düsük yetki
Yaptığı islemler sistemin ve veri tabanının, üye kullanıcının hesabı üzerinde etkilenmesine
neden olur. Yatayda arayüz sistem ve veri tabanı üzerinde islemler yapabilir ve kendine
tanımlı alan içinde geleceğe dönük uyarılma etkileri tanımlayabilir.Yönetici kullanıcı ise
yatayda ve dikeyde sistemi, sistem bilesenlerini ve tanımlı kullanıcısınıflarını etkileyecek
islemler tanımlayabilir. Yöneticiye verilen haklar gereği sistemde tanımlı tüm iseleri yapma
becerisi yönetici kullanıcıya verilmistir. Gerçeklestirdiği islemler sonucu hem sistemi hem
veri tabanını etkiler.
Tomcat Sunucu ile sisteme bağlanan her kullanıcı etkilesime girecektir.
Veri Tabanı ile üye kullanıcı ve yönetici kullanıcı etkilesime girecektir.

Bu sistemde Spring frameworku kullanılacaktır.Codeline modulu asagıda goruldugu gibidir.


8) Yayılma Bakışı

Sistem iki adet server uzerinde calısacaktır.Bunlardan bir tanesi Uygulama


Sunucu digeri ise Veritabanı sunucusu olarak gorev yapacaktır.Uygulama Sunucusu J2EE
platformunda Spring uygulama catısı altında calısacaktır.Http uzerinden gonderilen mesajlar
TCP/Ip protokolune uygun olacaklardır.Veri tabanı PostgreSQL kullanılarak yapılacaktır
ayrıca ORM araclarından Hibernate kullanılacaktır.Sistemin kullanılabilmesi icin
kullanıcalırın bilgasayarlarında internet baglantısı olmalıdır.Kullanıcıların kullancakları
İşletim sistemi Windows veya Linux olmalıdır

Kullanıcı basına bellekte 100kb’lık bir veri kumesi gereksinimi oldugundan dolayı
sisteme ayni anda en fazla 50 kullanıcı baglanabilmektedir.Bu buyuklukte bir veri transferi
gereksinimi de minumum 8 mbit’lik bir baglantısı gerektirmektedir.

You might also like