Yazılım Mühendisliğinin Temelleri Dersi Proj

advertisement
FIRAT ÜNİVERSİTESİ
TEKNOLOJİ FAKÜLTESİ
Yazılım Mühendisliği
YMT114 - Yazılım Mühendisliğinin Temelleri Dersi
Proje Uygulamaları ve Dökümantasyonu
Fırat Üniversitesi Elektronik
İmza Sistemi
Proje Çalışma Grubu
UĞUR GÜRTÜRK
Proje Yürütücüleri
MAYIS –2013
1
İÇİNDEKİLER
1. GİRİŞ
ÖNSÖZ…………………………………………………………………………………………………………………………………………07
1.1 Projenin Amacı…………………………………………………………………………………………………………………………….08
1.2 Projenin Kapsamı…………………………………………………………………………………………………………………………08
1.3 Tanımlamalar ve Kısaltmalar………………………………………………………………………………………………………..08
2. PROJE PLANI
2.1 Giriş……………………………………………………………………………………………………………………………………………09
2.2 Projenin PlanKapsamı………………………………………………………………………………………………………………….09
2.3 Proje Zaman-İş Planı…………………………………………………………………………………………………………………..15
2.4 Proje Ekip Yapısı…………………………………………………………………………………………………………………………15
2.5 Önerilen Sistemin Teknik Tanımları……………………………………………………………………………………………16
2.6 Kullanılan Özel Geliştirme Araçları ve Ortamları………………………………………………………………………..17
2.7 Proje Standartları, Yöntem ve Metodolojiler……………………………………………………………………………..18
2.8 Kalite Sağlama Planı…………………………………………………………………………………………………………………..21
2.9 Konfigürasyon Yönetim Planı…………………………………………………………………………………………………….23
2.10
Kaynak Yönetim Planı…………………………………………………………………………………………………………..23
2.11
Eğitim Planı………………………………………………………………………………………………………………………….23
2.12
Test Planı …………………………………………………………………………………………………………………………….25
2.13
Bakım Planı………………………………………………………………………………………………………………………….25
3. SİSTEM ÇÖZÜMLEME
3.1
3.2
Mevcut Sistem İncelemesi…………………………………………………………………………………………27
3.1.1
Örgüt Yapısı……………………………………………………………………………………………………………………27
3.1.2
İşlevsel Model………………………………………………………………………………………………………………..27
3.1.3
Veri Modeli……………………………………………………………………………………………………………………29
3.1.4
Varolan Yazılım/Donanım Kaynakları….…………………………………………………………………………30
3.1.5
Varolan Sistemin Değerlendirilmesi………………………………………………………………………………35
Gereksenen Sistemin Mantıksal Modeli……………………………………………………………………36
3.2.1
Giriş……………………………………………………………………………………………………………………………..36
3.2.2
İşlevsel Model………………………………………………………………………………………………………………36
3.2.3
Genel Bakış……………………………………………………………………………………………………………………37
2
3.3
3.4
3.2.4
Bilgi Sistemleri/Nesneler……………………………………………………………………………………………….37
3.2.5
Veri Modeli……………………………………………………………………………………………………………………39
3.2.6
Veri Sözlüğü………………………………………………………………………………………………………………….40
3.2.7
İşlevlerin Sıradüzeni………………………………………………………………………………………………………41
3.2.8
Başarım Gerekleri………………………………………………………………………………………………………….42
Arayüz (Modül) Gerekleri………………………………………………………………………………………….42
3.3.1
Yazılım Arayüzü……………………………………………………………………………………………………………..42
3.3.2
Kullanıcı Arayüzü…………………………………………………………………………………………………………..42
3.3.3
İletişim Arayüzü…………………………………………………………………………………………………………….43
3.3.4
Yönetim Arayüzü…………………………………………………………………………………………………………..44
Belgeleme Gerekleri………………………………………………………………………………………………..44
3.4.1
Geliştirme Sürecinin Belgelenmesi………………………………………………………………………………..44
3.4.2
Eğitim Belgeleri……………………………………………………………………………………………………………..44
3.4.3
Kullanıcı El Kitapları……………………………………………………………………………………………………….44
4. SİSTEM TASARIMI
4.1 Genel Tasarım Bilgileri……………………………………………………………………………………………………45
4.1.1
Genel Sistem Tanımı………………………………………………………………………………………………………45
4.1.2
Varsayımlar ve Kısıtlamalar…………………………………………………………………………………………….47
4.1.3
Sistem Mimarisi……………………………………………………………………………………………………………..48
4.1.4
Dış Arabirimler……………………………………………………………………………………………………………….49
4.1.4.1 Kullanıcı Arabirimleri……………………………………………………………………………………………….49
4.1.4.2 Veri Arabirimleri……………………………………………………………………………………………………..49
4.1.4.3 Diğer Sistemlerle Arabirimler………………………………………………………………………………….50
4.1.5
Veri Modeli…………………………………………………………………………………………………………………….50
4.1.6
Testler…………………………………………………………………………………………………………………………….50
4.1.7
Performans……………………………………………………………………………………………………………………..50
4.2 Veri Tasarımı……………………………………………………………………………………………………………………51
4.2.1
Tablo tanımları…………………………………………………………………………………………………………………51
4.2.2
Tablo- İlişki Şemaları…………………………………………………………………………………………………………52
4.2.3
Veri Tanımları…………………………………………………………………………………………………………………..52
4.2.4
Değer Kümesi Tanımları……………………………………………………………………………………………………52
4.3 Süreç Tasarımı…………………………………………………………………………………………………………………52
4.3.1
Genel Tasarım…………………………………………………………………………………………………………………52
4.3.2
Modüller…………………………………………………………………………………………………………………………54
3
4.3.2.1 Giriş Modülü……………………………………………………………………………………………………………54
4.3.2.1.1
İşlev…………………………………………………………………………………………………………54
4.3.2.1.2
Kullanıcı Arabirimi…………………………………………………………………………………..54
4.3.2.1.3
Modül Tanımı………………………………………………………………………………………….55
4.3.2.1.4
Modül iç Tasarımı……………………………………………………………………………………55
4.3.2.2 Kullanıcı Modülü……………………………………………………………………………………………………..56
4.3.3
Kullanıcı Profilleri…………………………………………………………………………………………………………..56
4.3.4
Entegrasyon ve Test Gereksinimleri……………………………………………………………………………….56
4.4 Ortak Alt Sistemlerin Tasarımı…………………………………………………………………………………………57
4.4.1
Ortak Alt Sistemler…………………………………………………………………………………………………………57
4.4.2
Modüller arası Ortak Veriler…………………………………………………………………………………………..57
4.4.3
Ortak Veriler İçin Veri Giriş ve Raporlama Modülleri………………………………………………………57
4.4.4
Güvenlik Altsistemi…………………………………………………………………………………………………………57
4.4.5
Veri Dağıtım Altsistemi ………………………………………………………………………………………………….58
4.4.6
Yedekleme ve Arşivleme İşlemleri………………………………………………………………………………….58
5. SİSTEM GERÇEKLEŞTİRİMİ
5.1. Giriş………………………………………………………………………………………………………………………………………….59
5.2. Yazılım Geliştirme Ortamları……………………………………………………………………………………………………..59
5.2.1
Programlama Dilleri…………………………………………………………………………………………………….59
5.2.2
Veri Tabanı Yönetim Sistemleri……………………………………………………………………………………59
5.2.2.1 VTYS Kullanımının Ek Yararları……………………………………………………………………………..60
5.2.2.2 Veri Modelleri……………………………………………………………………………………………………..62
5.2.2.3 Şemalar……………………………………………………………………………………………………………….62
5.2.2.4 VTYS Mimarisi……………………………………………………………………………………………………..63
5.2.2.5 Veritabanı Dilleri ve Arabirimleri………………………………………………………………………….64
5.2.2.6 Veri Tabanı Sistem Ortamı…………………………………………………………………………………..68
5.2.2.7 VTYS'nin Sınıflandırılması…………………………………………………………………………………….68
5.2.2.8 Hazır Program Kütüphane Dosyaları…………………………………………………………………….68
5.2.2.9 CASE Araç ve Ortamları……………………………………………………………………………………….68
5.3. Kodlama Stili……………………………………………………………………………………………………………………………68
5.3.1
Açıklama Satırları………………………………………………………………………………………………………….69
5.3.2
Kod Biçimlemesi……………………………………………………………………………………………………………69
5.3.3
Anlamlı İsimlendirme……………………………………………………………………………………………………..69
4
5.3.4
Yapısal Programlama Yapıları…………………………………………………………………………………………69
5.4. Program Karmaşıklığı……………………………………………………………………………………………………………….69
5.4.1
Programın Çizge Biçimine Dönüştürülmesi…………………………………………………………………….70
5.4.2
McCabe Karmaşıklık Ölçütü Hesaplama…………………………………………………………………………70
5.5. Olağan Dışı Durum Çözümleme………………………………………………………………………………………………..71
5.5.1
Olağandışı Durum Tanımları…………………………………………………………………………………………..71
5.5.2
Farklı Olağandışı Durum Çözümleme Yaklaşımları………………………………………………………….71
5.6. Kod Gözden Geçirme………………………………………………………………………………………………………………..72
5.6.1
Gözden Geçirme Sürecinin Düzenlenmesi………………………………………………………………………72
5.6.2
Gözden Geçirme Sırasında Kullanılacak Sorular………………………………………………………………72
5.6.2.1 Öbek Arayüzü………………………………………………………………………………………………………….73
5.6.2.2 Giriş Açıklamaları…………………………………………………………………………………………………….73
5.6.2.3 Veri Kullanımı………………………………………………………………………………………………………….73
5.6.2.4 Öbeğin Düzenlenişi…………………………………………………………………………………………………74
5.6.2.5 Sunuş……………………………………………………………………………………………………………………..74
6. DOĞRULAMA VE GEÇERLEME
6.1. Giriş……………………………………………………………………………………………………………………..…………………….75
6.2. Sınama Kavramları……………………………………………………………………………………………………………………..75
6.3. Doğrulama ve Geçerleme Yaşam Döngüsü………………………………………………………………………………….76
6.4. Sınama Yöntemleri………………………………………………………………………………………………………………………76
6.4.1
Beyaz Kutu Sınaması………………………………………………………………………………………………………..76
6.4.2
Temel Yollar Sınaması………………………………………………………………………………………………………77
6.5. Sınama ve Bütünleştirme Stratejileri……………………………………………………………………………………………78
6.5.1
Yukarıdan Aşağı Sınama ve Bütünleştirme……………………………………………………………………….78
6.5.2
Aşağıdan Yukarıya Sınama ve Bütünleştirme……………………………………………………………………78
6.6. Sınama Planlaması………………………………………………………………………………………………………………………79
6.7. Sınama Belirtimleri………………………………………………………………………………………………………………………80
6.8. Yaşam Döngüsü Boyunca Sınama Etkinlikleri……………………………………………………………………………….81
7. BAKIM
7.1 Giriş……………………………………………………………………………………………………………………………………………..83
7.2 Kurulum……………………………………………………………………………………………………………………………………….84
7.3 Yerinde Destek Organizasyonu…………………………………………………………………………………………………….84
5
7.4 Yazılım Bakımı………………………………………………………………………………………………………………………………84
7.4.1
Tanım…………………………………………………………………………………………………………………………………….84
7.4.2
Bakım Süreç Modeli………………………………………………………………………………………………………………85
8. SONUÇ
9. KAYNAKLAR
6
ÖNSÖZ
7
1. GİRİŞ
1.1. Projenin Amacı
Üniversitemizdeki dosya,rapor ve hertürlü işlemin web üzerinden daha hızlı ve güvenli yapılarak
gerek akademisyen gerekse öğrencilere daha az maliyet ve daha hızlı bir şekilde verimli bir çalışma
ortamı sağlamaktır.Yani elektronik ortamda belgelerin hangi kuruma ya da kişiye ait olduğunu
doğrulamak ve üniversitemizde ıslak imza ile aynı hukuki yetkiye eşdeğer hale getirmek projenin
hedefleri arasındadır.
1.2 Projenin Kapsamı
Üniversitenin ağı üzerinde çalışacak bu sistem aynı zamanda ; bankalar,finans kurumları, sigorta
şirketleri, kamu kurum ve kuruluşları, holdingler, büyük şirketler,üniversiteler gibi uzun vadede yaygın
kullanım alanı bu- labilecek bir teknolojik sistemdir.Bazı uygulama alanları ;
•
Sosyal güvenlik uygulamaları,
•
Vergi ödemeleri,
•
Ticari uygulamalar,
•
E-sözleşmeler,
•
E-sipariş.
1.3 Tanımlamalar ve Kısaltmalar
-EİS:Elektronik İmza Sistemi,
-YS:Yönetim Sistemi.
8
2. PROJE PLANI
2.1 Giriş
Elektronik İmza başka bir elektronik veriye eklenen veya elektronik veriyle mantıksal bağlantısı
bulunan ve kimlik doğrulamak amacıyla kullanılan elektronik veriyi tanımlar.Aynı zamanda bilginin
üçüncü bir kişinin erişimine kapalı bir ortamda , bütünlüğü bozulmadan ve tarafların kimlikleri
doğrulanarak iletildiğini elektronik ve benzeri araçlarla garanti eden harf, karakter veya sembollerden
oluşur.
Şekil 2.1 Projenin Genel Yapısı
2.2 Projenin Plan Kapsamı
Projenin plan kapsamında genel olarak mevcut sistem, sistemin gerekliliği ve bu sistemin
güvenilirliğinden yola çıkıldı. E-imza ıslak imzaya eşdeğer olup, internet üzerinden her türlü kağıt ısrafını
önleyerek ve elektronik ortamda arşivlenerek yürütülmesini sağlar.E-imza ile bilgiler, raporlar,dosyalar
vb. bilgisayar ortamında tutulduğu için gerekli olan evrak ve dosyalar vakit kaybı olmadan ve daha kolay
bir şekilde elde edilecektir.
9
Şekil 2.2 Projenin Genel İşleyişi
-- E-İMZA SİSTEMİ ÜNİVERSİTEMİZDE NEDEN GEREKLİ ?
•
Verinin izinsiz ya da yanlışlıkla değiştirilmesini, silinmesini ve ekleme yapılmasını önlediği için
yani veri bütünlüğü sağladığı için,
•
Mesajın ve sahibinin belli olması yani kimlik doğrulama ve onaylama imkanı sağladığı için,
•
Bireylerin elektronik ortamda gerçekleştirdiği işlemleri inkar edemedikleri için,
ve israfı önlediği için bu teknolojinin başta Fırat Üniversitesi olmak üzere her türlü sektörde
kullanılmasını gerekli kılmıştır.
----- Kamusal ve ticari iş ve işlemlerin elektronik ortamda yapılmaya başlaması ile birlikte, bu iş ve
işlemlerin geçerliliğinin, bütünlüğünün, erişilebilirliğinin ve inkar edilemezliğinin sağlanması sorunu
ortaya çıkmıştır. Bu sorunu çözmek için en uygun çözüm olarak elektronik imza uygulaması başlatılmış ve
tüm dünyada kullanılmaya başlanmıştır.
10
Şekil 2.3 E-imza projesiyle tasarruf Şekil 2.4 E-imza Avantajları
Bu teknoloji ekonomik ve zamansal katkı sağladığı için birçok destek sağlayan kuruluşlar tarafından da
desteklenmektedir.
Şekil 2.4 E-imza Avantajları
11
Şekil 2.5 E-imza’lı Bir Mesaj Nasıl Oluşur
Güvenli Elektronik İmza ancak Nitelikli Elektronik Sertifika ile sağlanabilir. Nitelikli Elektronik Sertifika
almak için başvurulabilecek yerler olan Elektronik Sertifika Hizmet Sağlayıcıları Telekomünikasyon
Kurumu’nun internet sayfasından yayımlanacaktır.
Kamu kurumunda çalışan ve elektronik imzaya sahip olan memurlar ve e-imzaları kurum içi ve kamu
kurumları arasında işlemlerde kullanacaklardır. Sertifika Başbakanlık Genelgesi gereği TÜBİTAK
UEKAE 'den temin edilebilir. Bunun için kamu kurumları personelleri için TÜBİTAK UEKAE 'ye
kurumsal başvuru yaparak çalışanları için e-imza temin edebilirler. Eğer kamu kurumu çalışanı değilseniz
ya da kamu çalışanı olduğunuz halde vatandaş olarak kurum dışındaki işlemlerinizde elektronik imzayı
kullanmak istiyorsanız, bu işi yapmaya yetkili özel şirketlerden, yani elektronik sertifika hizmet
sağlayıcılardan, sertifikanızı ücret karşılığında almanız gerekmektedir. Telekomünikasyon Kurumu
nitelikli elektronik sertifika vermeye yetkili olan kuruluşları internet sayfasında duyurmaktadır. Burada
önemli olan husus, internet sayfasında da duyurulan hizmet sağlayıcılar dışındaki kuruluşlardan
elektronik sertifika temin edilmemesidir
Elektronik İmza Altyapısı Nasıl Çalışır:
• Kullanıcı elektronik sertifika için elektronik sertifika hizmet sağlayıcısına başvurur.
• Sertifika hizmet sağlayıcısı kullanıcının kimliğini geçerli ve güvenilir belgelerle tasdik eder.
• Sertifika hizmet sağlayıcısı sertifikanın kaydını bir dizinde toplar.
• Kullanıcı kendi gizli anahtarıyla mesaj sahibinin kimlik doğrulaması, mesajın bütünlüğünü ve inkar
edilemezliğini sağlayarak mesajı imzalar ve karşı tarafa gönderir.
• Karşı taraf mesajı alır. Elektronik imzasını kullanıcının açık anahtarıyla onaylar ve kullanıcının
sertifikasının geçerliliğini ve durumunu kontrol etmek için veri kütüğünde sorgulama yapar. Veri kütüğü
sertifikanın geçerli/iptal durum bilgilerini karşı tarafa iletir.
12
Maliyet Kestirim Dökümanı
Proje adı : Fırat Üniversitesi Elektronik İmza Sistemi
Ölçüm Parametresi
Kullanıcı Girdi Sayısı
Kullanıcı Çıktı Sayısı
Kullanıcı Sorgu Sayısı
Kütük Sayısı
Dışsal Arayüz Sayısı
Ana İşlev Nokta Sayısı
Sayı
4
4
6
12
13
Ağırlık
3
4
3
7
5
Toplam
12
16
18
84
65
401
Teknik Karmaşıklık Sorusu
1. Uygulama, güvenilir yedekleme ve kurtarma gerektiriyor mu?
2. Veri iletişimi gerekiyor mu?
3. Dağıtık işlem işlevleri var mı?
4. Performans kritik mi?
5. Sistem mevcut ve ağır yükü olan bir işletim ortamında mı
çalışacak?
6. Sistem, çevrim içi veri girişi gerektiriyor mu?
7. Çevrim içi veri girişi, bir ara işlem için birden çok ekran gerektiriyor
mu?
8. Ana kütükler çevrim-içi olarak mı günleniyor?
9. Girdiler, çıktılar, kütükler ya da sorgular karmaşık mı?
10. İçsel işlemler karmaşık mı?
11. Tasarlanacak kod, yeniden kullanılabilir mi olacak?
12. Dönüştürme ve kurulum, tasarımda dikkate alınacak mı?
13. Sistem birden çok yerde yerleşik farklı kurumlar için mi
geliştiriliyor?
14. Tasarlanan uygulama, kolay kullanılabilir ve kullanıcı tarafından
kolayca değiştirilebilir mi olacak?
TOPLAM
0:
1:
2:
3:
4:
5:
Hiçbir Etkisi Yok
Çok Az etkisi var
Etkisi Var
Ortalama Etkisi Var
Önemli Etkisi Var
Mutlaka Olmalı, Kaçınılamaz
İN = AİN x (0.65 x 0.01 x TKF)
İN=401*(0,65*0,01*60)
İN=156,39
Satır Sayısı = İN *30
13
Puan
5
5
5
4
1
5
0
5
3
2
3
1
5
1
60
SATIR SAYISI=156,39*30=4691,7 SATIR YAKLAŞIK 4700 SATIR
Etkin Maliyet Modeli – COCOMO
Organik proje: a=2,4 , b=1,05 , c=2,5 , d= 0,38
Yarı – Gömülü Projeler İçin: a=3,0 , b=1,12 , c=2,5 , d= 0,35
Gömülü Projeler İçin: a=3,6 , b=1,20 , c=2,5 , d= 0,32
Öncelikle projemizin türünü belirlememiz gerekiyor. Küçük ekip tarafından geliştirildiği için organik
projeler
arasına giriyor.
Aylık Kişi Başı İş Gücü = E = a x (KSS)b
Geliştirme Süresi (Ay) = D = c x (E)d
Eleman Sayısı = E / D
Formülde verilen değişkenler şöyle:
KSS = Kod Satır Sayısı manasına gelmektedir ve birimi bin satırdır. Projenin tahmini kaç bin satırdan
oluşacağını
belirtmemizi sağlar.
Aylık Kişi Başı İş Gücü = E= 2,4*0,81,05=1,89
Geliştirme Süresi =D= 2,5 x = 10 ay
Tahmini Gerekli Personel Sayısı = 3,18 / 1,89= 2 (yaklaşık)
14
2.3 Proje Zaman-İş Planı
Şekil 2.6 Proje İş-Zaman Çizelgesi
2.4 Proje Ekip Yapısı
Şekil 2.6 Proje Ekibi
15
Şekil 2.7 Proje Ekip görevleri
2.5 Önerilen Sistemin Teknik Tanımları
Kullanılan Teknoloji
 Açık Anahtarlı Altyapı Teknolojisi
 Matematiksel şifreleme yöntemleri kullanılır. Şifreleme için büyük sayı dizilerinden oluşan 2
anahtar kullanılır.
Özel anahtar (imza oluşturma verisi)
•
E-imzayı oluşturmak için kullanılır.
•
Sadece kişinin kendisinde bulunur.
•
Akıllı kart içinde saklanır ve bu araçtan dışarıya çıkarılamaz.
Açık anahtar (imza doğrulama verisi)
•
E-imzayı doğrulamak için kullanılır.
•
Gizli olmayan, herkese açık bir veridir.
16
Şekil 2.8 E-imzada Kullanılan Akıllı Kart
2.6 Kullanılan Özel Geliştirme Araçları ve Ortamları
Çözümleme Ve
Tasarım Araçları
• Smart Draw
2010
Professional
• IBM Rational
Software Article
• Adobe
Photoshop CS5
• Adobe
Dreamweaver
CS5
• Adobe Flash CS5
Programlama
Araçları
Sınama Araçları
• PHP
• MYSQL
• Action Script
2.0(Flash)
• HTML
• JAVA
• XML
• Microsoft
Windows 7
• Iphone OS'X
• Android
17
Destek Araçlar
• Mozilla Firefox
11
• Google
Chrome17
• Internet
Explorer 9
• Safari 5
2.7 Proje Standartları, Yöntem ve Metodolojiler
Spiralin başladığı ilk çeğrek içinde ilk isterler toplanır ve buna göre proje planlaması yapılır.
İkinci çeyrekte, ilk tanımlanan isterlere göre risk çözümlemesi yapılır. Üçüncü çeyrekte, risk
çözümlemesi sonunda ortaya çıkan isterlerin tanımlanmasındaki belirsizlikleri ortadan
kaldırmak için prototipleme yöntemi kullanılır. Gerekirse benzetim(simülasyon) veya diğer
modelleme kullanılarak isterlerin daha sağlıklı tanımlanması sağlanır. Dördüncü çeyrekte,
müşteri, ortaya çıkan ilk ürünü inceleyerek değerlendirme yapar, önerilerde bulunur. Bu
şekilde tenımlanan ilk döngü bir sonraki döngü için bir girdi oluşturur.
Şekil 2.9 Proje Aşamaları
Proje standartları yukarda belirtildiği gibidir. Bunu yanı sıra kullanılan sistem modelinde ise
helezonik model kullanılmıştır.
18
Şekil 2.10 Proje Gelişim Modeli
Şekil 2.11 Planlama Aşaması
Bu aşamalar yazılım geliştirmede önemli unsurlardır.Bu kullandığımız yazılım geliştirme
metodolojilerinden Spiral Model dir.Bunu kullanmamızın amacı döngü şeklinde kontrol edip
hataları en aza indirebilmektir.
19
Şekil 2.11 Proje Risk Çözümleme Aşaması
Şekil 2.12 Proje Üretim Aşaması
Üretim aşaması uzun zaman alan bir aşamadır.Tasarıma yer verilir ve projenin büyük çoğunluğu
bitmiş olur.Bu aşamada ara ürün üretilir.Proje bu aşamayla epeyce bir yol almış olacaktır.
20
Şekil 2.13 Kullanıcı Değerlendirme Aşaması
Şekil 2.13 Ekip Yapısı Zaman Planı
21
2.8 Kalite Sağlama Planı
Şekil 2.14 Kalite Sağlama Planı
Projedeki kalite sağlama planımız yukardaki tabloda da belli olduğu üzere;
1.Ekonomi: Ekonomik açıdan yazılımın maliyeti her ne kadar ilk seferde pahalı olsa da
ileriye dönük düşünüldüğünde ve zaman tasarrufundan ötürü gayet uygundur.
2.Tamlık: Projede herhangi bir açık olmamalı ve programda bulunan tüm butonlar textler vs.
çalışır ve tamdır.
3.Yeniden Kullanılabilirlik: Otomasyon her koşulda tekrardan düzenlenip kullanılabilecek.
4.Etkinlik: Kullanıcı sistemin her alanına hakim olduğu için sistemi etkin bir biçimde
kullanacak.
5.Bütünlük: Admin1 sistemin tüm kısımlarına hakim olacak ve program bir bütün halinde
çalışacaktır.
6.Güvenilirlik: Otomasyon gerekli güvenlik önlemlerinin alınması yanı sıra şuan devlet
bünyesinde bulunan çok yüksek güvenlik önlemli serverlarda saklanacaktır.
7.Modülerlik: Modülerlik otomasyonun her seviyesindeki kişinin ayrı ayrı sayfalardan söz
sahibi olmasını sağlar. Örneğin: Yönetim modülü, Giriş Modülü…
8.Belgeleme: Bu belgeden de anlaşılacağı üzere tam anlamıyla sistemin özeti olacak bu
22
doküman oluşturulmuştur.
9.Kullanılabilirlik: Kullanılabilirlik olarak her seviyedeki insana hitap edeceğinden zor
renkler karmaşık sistemlerden kaçınılmıştır.
10.Temizlik:
11.Değiştirilebilirlik: Otomasyonun veri tabanını erişme yetkisi olan ve sistem hakkında
bilgisi olan herkes sistemde değişiklik yapabilecek.
12.Esneklik: Proje farklı platformlarda ve internet üzerinden çalışacağından gayet esnektir.
13.Genellik: Proje her üniversitede kullanılabileceğinden geneldir. Ve Türkiye genelinde
kullanılacaktır.
14.Sınanabilirlik: Projedeki pilot bölge uygulaması sınana bilirliğinin göstergesidir.
15.Taşınabilirlik: Sistem internet üzerinden kullanılacağından herhangi bir özel cihaz
gerektirmez ve istenilen cihazlarda taşınabilir ve kullanılabilir.
16.Birlikte Çalışılabilirlik: Bu projedeki en büyük sıkıntı olacak veri girişi şuanda var olan
ve her bireyin bilgilerinin saklayan sistemle birleşik ve eş zamanlı çalışmakta.
2.9 Konfigürasyon Yönetim Planı
Sistemin ilerde kullanıcının yeni istemlerini karşılayamaması veya sistemin yapısındaki bazı
bileşenlerin değişmesi sonucu güncelliğini kaybettiğinde olası konfigürasyon planı
hazırlandı.

Üniversiteye giren yeni akademik görevli için sistem üye kadrosu açması,

Herhangi bir sebepten dolayı ayrılan personel olması,

Sistemde herhangi bir istenmeyen durum halinde,
Durumları için konfigürasyon yönetim planı oluşturuldu.
2.10
Kaynak Yönetim Planı
Mevcut bir kaynağımız olmadığından kaynak olarak sadece bu proje dokümantasyonu var.
Bunun yanında 5070 Sayılı Elektronik İmza Kanununu kaynağından yola çıkarak mevcut
sistemi geliştirdik.
23
2.11
Eğitim Planı
Projeden kazanılacak en önemli olaylardan biride eğitimdir. Kullanılacak dillerin arayüz
editör ve programların kullanımında hakim olunamaması halinde bu program başarıyla
neticelendirilemez. Bu yüzden projede bazı eğitimler alınması gereklidir.
Proje kapsamında alınacak olan eğitimler;
•
Adobe Flash CS5.5 Kullanım Eğitimi
•
Adobe Fireworks CS5.5 Kullanım Eğitim
•
PHP Dil Eğitimi
•
SQL Dil Eğitimi
Gereken eğitimlerdir.
Tablo 2.1 Eğitim Planı
24
Eğitimlerin zamana göre çizelgesi;
Tablo 2.2 Proje Eğitim Planı
Başlama Tarihi
Bitiş Tarihi
Adobe Flash CS5.5 Kullanım Eğitimi
Mar.13
Haz.13
AdobeFireworks CS5.5 Kullanım Eğitim
Mar.13
Haz.13
PHP Dil Eğitimi
Mar.13
Haz.13
SQL Dil Eğitimi
Mar.13
Haz.13
Uğur
Gürtürk
Bu şekilde bir eğitim planı uygulanmaktadır.Sistem tam olarak hazırlandığında eğitim
planıda
garanti olarak ayarlanacaktır ve ona göre eğitim semineri verilecektir.Zira verilmemesi
halinde kullanıcılar sistemi tam olarak kullanamayaca ve bazı açıklıklar meydana gelecektir.
2.12
Test Planı
Proje test ekipleri ve görevleri şu şekildedir;



Fırat Üniversitesi bölgesindeki bir kısım personel kullanıcı ve admin olarak görev
yapacak.
Gerekli resmi kısımlarda ise resmi olarak ekip yapıları yapılacak.
Bu ekiplerin test aşamasında yapacağı işler aşağıdaki gibidir;
25

2.13
Bu ekiplerden kullanıcı sadece gidip imzasını kullanacak. Ön hazırlık olarak ise
üniversitemizden başlamak koşuluyla gerekli hiyerarşi takip edilecek ve pilot belgede bir
uygulama gerçekleştirilecek.
Bakım Planı
Projenin bakım planına gelecek hergün kullanılacak bu sistem tüm değişim ve bazı
durumlarda kullanıcı eklenip çıkarılacak tüm bu sistemsel değişiklikler bakım planında
yapılacaktır.
Şekil 2.15 Proje Bakım Planı
Şekil 2.17 Üretim Sahası
26
3. SİSTEM ÇÖZÜMLEME
3.1
Mevcut Sistem İncelemesi
Mevcut sistem incelemesi öncelikleüniversitemizde ilk olacağından çok zor olacaktır.
Bunun yanı sıra internet üzerinde genellikle Elektronik imza kanunu ve E-GÜVEN , ESERTİFİKA gibi kaynaklardan incelenerek sistemin genel yapısı incelenmiş ve bizim
sistemimize nasıl katkı yapılacağı araştırılmış sisteme uygulanmıştır.
3.1.1 Örgüt Yapısı
Örgüt yapısı olarak E-Güven bünyesindeki bilgi işlem personellerinin ortak çalışmasıyla
oluşan bir örgüt yapısı vardır.
Şekil 3.1 Sistemin Örgüt Yapısını Oluşturan Örnek Bir Şirket
 E-imzaya Geçiş Süreci
•
Kurumun Yapması Gereken Çalışmalar Belirlemesi Gereken Politikalar
•
Belgenin E-imza ile İmzalanması Süreci
•
Kurumlar Arası E-imzalı Yazışma
•
E-mühür
27
3.1.2
İşlevsel Model
Şekil 3.2 Use-Case Diyagramı
Şekil 3.3 Basit Bir Use-Case
28
Admin1
Admin2
 Dosya Belirlenir
 Admin2’ye Gönderir.
Sistem Düzenleyiciler
 Bu Görev Yönetici
Görevindeki Admin1’e
Aittir.

 Yönetici görevlendirmesine göre çalışırlar.
 İmzalanacak Veriyi Gerekli Yere Gönderir.
 İmza Doğrulama İşlemine Ortam Hazırlar.
Kullanıcılar
 İmzalama
Yapan
görevliler
Değerlendiriciler
 İmza Doğrulaması
Yapar
Şekil 3.4 Temel Görevlendirme
3.1.3
Veri Modeli
Veri tabanı ilişkisel veri modelinde veriler tablolar üzerinden kurulan ilişkiye dayanmaktadır.
Kayıtlı Üye
İMZA KULLANMA
BÖLÜM
NO
KULLANICI NO()
NUMARA
BÖLÜM NO()
ADI
USER
Şekil 3.5 Sistem Veri Modeli
29
3.1.4 Varolan Yazılım/Donanım Kaynakları

Elektronik Sertifika Sağlayıcılar,

Ms Word,

Argo UML,

RSA.
Şekil 3.6 Donanımsal Kaynaklar
Şekil 3.6 İmza Doğrulama Ve Veri Transferi
30
Şekil 3.6 İmza Doğrulama Ve Veri Transferi
31
Şekil 3.7 Elektronik Sertifika Oluşturma
Şekil 3.8 Sertifika Başvuru Sistemi
32
Şekil 3.9 Sertifika Başvuru İşlemi Ve Giriş Seçimi
33
Şekil 3.10 Şifre Giriş Ekranı
3.1.5 Varolan Sistemin Değerlendirilmesi
Yukarda da söylediğimiz gibi şifre var kullanıcılar bu şifre sayesinde sisteme giriş yapacaklar.
Kullanıcıların şifrelerini yani güvenlik sözcüğünü unuttukları vakit cep telefona sms gelecek
tir.
Şekil 3.11 Şifre Unutma Durumunda Yapılacaklar
34
Gibi avantajlar sunarak kullanıcıya daha verimli bir çalışma sağlamak amaçlarımız
arasındadır.
3.2
Gereksenen Sistemin Mantıksal Modeli
3.2.1 Giriş
Mevcut sistemler incelendiğinde sonuca giden yolda epeyce bir eksikler ve resmi
olmayan durumlar söz konusu artık bu sistemi Türkiye hukuk standartlarına uydurmak
bize kalıyor.
Sistemin işlevsel modeli ile başlamak gerekirse…
3.2.2 İşlevsel Model
Şekil 3.12 Use-Case Diyagramı
Durum İsmi
Aktör başlatılıyor
Aktör Katılımcı
Giriş Durumu
Olayların akışı
Durum çıkışı
Dosya paylaşımı
Admin1
Admin2
Rektörlüğe Bağlı Admin1 Giriş Yapmış
1. Admin1 Dosya seçmesi
2. Seçtiği Dosyayı Admin2’ye gönder
Evrak Paylaşımı ve İmza Doğrulama başarılı ise mesaj vermesi
35
Durum İsmi
Aktör başlatılıyor
Aktör Katılımcı
Giriş Durumu
Olayların akışı
Durum çıkışı
Gelen Dosyayı Onayla
Admin1
Admin2
Admin1 Giriş Yapmış
1.Adminin dosyayı onaylaması
Onaylama başarılı ise mesaj vermesi
Durum İsmi
Aktör başlatılıyor
Aktör Katılımcı
Giriş Durumu
Olayların akışı
Durum çıkışı
Resmi Açıklama Yapar
Admin1
Admin2
Admin1 Giriş Yapmış
1. Admin2 den işlem sonuçlarının gelmesi
2. Admin1 kamuya sonuçları açıklaması
İşlemler doğru ise mesaj vermesi
Durum İsmi
Aktör başlatılıyor
Aktör Katılımcı
Giriş Durumu
Olayların akışı
Durum çıkışı
Kullanıcıdan Gelen Dosyayı Onayla
Admin1
Admin2
Admin1 Giriş Yapmış
Admin1 in dosyayı onaylaması
Onaylama başarılı ise mesaj vermesi
Durum İsmi
Aktör başlatılıyor
Aktör Katılımcı
Giriş Durumu
Olayların akışı
Durum çıkışı
Arşiv Oluştur
Admin1
Admin2
Admin1 Giriş Yapmış
Arşiv kurullarını oluşturması
Oluşturma başarılı ise mesaj vermesi
3.2.3 Genel Bakış
Genel hatlarıyla sistemi inceleyecek olursak mevcut
imza yönetim sisteminde
mevcut olan tüm olaylar burada da var dökuman yönetim sistemiyle kıyaslayacak
olursak sonuçlara hiçbir şekilde Admin1 dahil müdahale edilemiyor. Bunun yanı sıra
olayın akış şekli USE-CASE diyagramında mevcuttur. Yani dosya,veri,evrak hiçbir şekilde başkası tarafından alınamaz, görülemez , işlem yapılamaz .
3.2.4 Bilgi Sistemleri/Nesneler
ADMİN1: Yapının en üstünde bulunan ve en yetkili yapılanmadır. Admin2’ye ve
kullanıcıya yetki verir.
ADİMN2: Yapının ikinci nesnesidir.Kullanıcının isteğine, gerekli olan dosyaya göre
36
ADİMN1’e gereksinimi bildirir.
KULLANICI: Yapının üçüncü nesnesidir .Evrak istemi imzalaması gibi birçok istemde bulunur.
ARŞİV: Dosyaların elektronik ortamda saklanarak evrak azalımına olanak veren bir stok
nesnesidir. Gerekli evrağı,dosyayı admin1 e göndermekle sorumludur. İkinci planda olduğu için
Use-Case diyagramında işleme almadık.
Şekil 3.13 Veri Tabanı İlişkileri
37
3.2.5
Veri Modeli
Şekil 3.14 Veri Modeli
38
Şekil 3.15 Bazı İşleyiş Diyagramları
Şekil 3.16 İmza-Kullanıcı
39
3.2.6 Veri Sözlüğü

Ana bilgilerinin tanımlanması
Tc_no = *11 haneli integer değer tipinde bir sayıdan oluşur*
İsim= *String tipinde bir değerden oluşur*
Soyisim= *String tipinde bir değerden oluşur*
Gorev= *String tipinde bir değerden oluşur o kişinin görevlerini içeren kelimeye sahiptir*
Yetki= *integer veri tipinde bir karakterdir ve kişinin yetkisine göre değişir.*
Durum= *Boolean veri tipindedir imza durumunu gösterir *

Akademik bilgilerinin tanımlanması
Kisi= *Ana tablosundaki kişinin tc_no suna göre gelen bilgileri alır*
Gorevlendirme= *Kendi altındaki kişiyi görevlendirip görevlendirmediği değerini içeren boolen
tipindeki veridir *
Gorev= *Kendi üstündeki kişi tarafından görevlendirilip görevlendirilmediği değerini içeren
boolean tipindeki veridir*
Sayım=*imza atan kişinin imzasının doğru olduğunu gösteren veridir*
Gorevlendirme= * Kendi altındaki kişiyi görevlendirip görevlendirmediği değerini içeren boolen
tipindeki veridir *
Gorev= *Kendi üstündeki kişi tarafından görevlendirilip görevlendirilmediği değerini içeren
boolean tipindeki veridir*
Sayım=*İmza atan kişinin imzasının doğru olduğunu gösteren veridir*
3.2.7 İşlevlerin Sıradüzeni
İmzalanan veri akademik görevli tarafından admin1 e gönderir,Admin1 fakülteye göre
dosyayı admin2’yegönderir.Veriye,dosyaya göre o kullanıcı olan akademik personele
gönderir ve imzalama işlemi gerçekleşir.
40
Şekil 3.17 Bazı İşleyiş Diyagramları
Şekil 3.18 Aktivite Diyagramları
41
3.2.8 Başarım Gerekleri
Mevcut sistemler incelendi ve mevcut sistemin eksiklerinden yola çıkılarak, sistemin başarımı
için

Sistemin sonuç üretim doğrulukları

Tepki sürelerinin en aza indirilmesi

Mali külfetin azaltılması

Hile hata ve yanlışlıkların en aza indirilmesi

Kullanım kolaylılığı

Anlaşılabilirlik

Tarafsızlık
temel gereklilikler olarak tespit edilmiştir.
3.3
Arayüz (Modül) Gerekleri
3.3.1 Yazılım Arayüzü
Projenin çalışması esnasında böyle bir açık verilmemesine özen gösterildi. Gerekli olan
her türlü değişiklik seurce kodları üzerinden yapılıp tekrar derlenecek.
3.3.2 Kullanıcı Arayüzü
Projede kullanıcının arayüzü tasarlanırken herhangi bir şekilde renkler seçilerek tarafsız
rahat büyük puntolu yazılı bir arayüz tasarlanacaktır.
42
Şekil 3.18 Kullanıcı İş Akışı
Şekil 3.19 Kullanıcı Arayüzü
3.3.3 İletişim Arayüzü
İletişimle ilgili olarak iletişim modülümüzü yazacağız lakin üniversite ile yapılan
anlaşmada bu modül konmayacak denirse çünkü bu onların hakkı olası bir kötü durumda
muhatap biz olmamamız açısından koyulmayabilir.
3.3.4 Yönetim Arayüzü
Projenin %90 ı genelde yönetimsel arayüzlerden oluşacak sadece personelin göreceği
ekran kullanıcı arayüzüne girecek dışındaki her yer yönetimsel arayüz olacak.
Yöneticinin ekrana girdiğinde karşılaşacağı arayüzdür.İki arayüz vardır:Biri Kullanıcı
Arayüzü diğeri ise yönetimsel arayüzdür.Yani bu arayüz admin tarafından sisteme
girişlerde gerçekleşecektir.
43
Şekil 3.120 Yönetimsel Arayüz
3.4
Belgeleme Gerekleri
3.4.1 Geliştirme Sürecinin Belgelenmesi
Geliştirme sürecinde genel olarak belgelendirilmesi hem ileriye dönük hem de şimdiki
geliştirme sürecinde projenin tamamlanma yüzdesini nerede kalınıp nerelerde eksikler
olduğunu genel hatlarıyla göstermesi amacıyla yapıldı. Bunun yanı sıra projeye yeni
dahil olan personellerin olaya hakimiyeti açısından bu yönteme başvuruldu.
3.4.2 Eğitim Belgeleri
Mevcut bir belgemiz bulunmamaktadır.
3.4.3 Kullanıcı El Kitapları
Bu kısma projenin en son safhasında kullanıcılara verilecek eğitimlerden pilot
uygulamalardan yola çıkılarak hazırlanacak.Yani proje sonunda rahat ve kolay
kullanımdan dolayı bir eğitim semineri ve bir kullanım kitapcığı hazırlanacaktır.
44
4. SİSTEM TASARIMI
4.1 Genel Tasarım Bilgileri
4.1.1 Genel Sistem Tanımı
Şekil 4.1 Genel Sistem Tanımı

Gereksinimler
Gereksinimler kısmında üniversitede bir anket düzenlenecek ve ona göre bir tasarım
oluşturmaya başlanacaktır.Çünkü her ne kadar da Teknoloji Çağı’nda yaşasakda
bilgisayarı açıp kapamayı zor yapan insanlar var.

İşlevsel Belirtimler
Bu kısımda ilk önce sistemin ne yapacağı sorusuna cevap verelim. Sistem Türkiye de
kâğıt üstünde yapılan ve birçok külfeti olan sistemin dijital ortama aktarılması diye
özetlenebilir. Seçim öncesinde gerekli hiyerarşiler gene dijital ortamda yapılarak imza
ortamı oluşturulacak ve personel imzasını atacak,dosya ve evrak paylaşımı yapacaktır.
İkinci olarak yazılım ne yapacağı sorusuna cevap vermek gerekirse, yazılım ilk aşamada
Admin1 ile her fakülte arasındaki iletişimi sağlayacak. Bundan sonra imzalama sırasında
kimlik kontrolü yapmasını ve personelin rahat bir şekilde imzalama ve paylaşım ortamı
sağlayacak.

Tasarım
Tasarım aşamasında neler olacağını grafiksel olarak aktarmak isterim.
1. İlk önce bir Süreç tasarımı olacak ve adımlar aşağıdaki gibi olacak.
45
2.Süreç tasarımı bittikten sonra sıra Arayüz tasarımına geldi ve arayüz tasarımı aşağıda
göründüğü adımlarla gerçekleştirildi.
3.Arayüz tasarımını aştıktan sonra sora yapısal tasarıma geldi. Yapısal tasarımda izlenen yollar
aşağıdaki gibi oldu.
46
4.Yapısal tasarımı da yapıp Veri tasarımına geçildi ve şu adımlar izlendi.
Şekiller 4.2 Tasarım Aşamaları
4.1.2 Varsayımlar ve Kısıtlamalar
Sistemde varsayılan değerler bulunmamakta bunun yanı sıra başlıca kısıtlamalar
şunlardır:

Üniversiteye ait personel olması

Dosya paylaşımını sağlaması

Daha önce bu konuda eğitilmiş olması
47

Dosya içeriğinin gizli tutulması
4.1.3 Sistem Mimarisi
Şekil 4.3 Genel Sistem Mimarisi
48
Şekil 4.5 Veri Tabanı Sistemi
Sistemin mimarisinin akış diyagramı şeklinde verilmesinin temel nedeni sistemin işleyiş
mantığının
nasıl olduğu ve nasıl bir yol çizileceğinin bilinmesidir.Akış diyagramı sistemin temel mantığı
hakkında bize fikie verecektir.
4.1.4 Dış Arabirimler
4.1.4.1 Kullanıcı Arabirimleri
Kullanıcı arabirimlerin ilk başında sistem giriş ekranı bulunacak. Ve her birimin kendine ait
ekranları olacak. Kullanıcı girişi bu arabirimde amaçlanmıştır.Kullanıcı bilgilerini girerek bu
sisteme giriş yapmış olacaktır.
Şekil 4.6 Admin Doğrulaması
4.1.4.2 Veri Arabirimleri
Veri arabirimlerinde sistem flash ile çalışacağından veritabanından kayıt yazıp okurken arada
XML ve Php arabirimleri olacaktır. Veriler,dosyalar,evraklar bunlar veri halinde iletim
sağlanacaktır. Eskiden var olan dosya ve evraklarda optik olarak okutulup arşivde tutulacaktır.
49
Şekil 4.7 İmza İşlemi
4.1.4.3 Diğer Sistemlerle Arabirimler
Şuan tam bilgi sahibi olmadığımız için bu arabirim kullanılmayacaktır.
4.1.5 Veri Modeli
Şekil 4.8 Veri Tabanı Diyagramları
50
«uses»
«bind»
Ekleme Islmeleri
Islemler
«uses»
«uses»
«bind»
VeriTabanı
Güncelleme İslemleri
«bind»
«uses»
Silme Islemleri
«bind»
«uses»
Listeleme Islemleri
Şekil 4.8 Veri Tabanı Diyagramları
4.1.6 Testler
Genel hatlarıyla testlerimiz iki aşamada gerçekleştirilecek. Bilinen adıyla pilot bölge
uygulaması yapılacak.
Alfa Aşaması: Sistemin geliştirildiği yerde kullanıcıların gelerek katkıda bulunması sistemi
test etmesi ile yapılacak.
Beta Aşaması: Kullanıcı, geliştirilen sistemi kendi yerleşkesinde, bir gözetmen eşliğinde
yapılacak.
4.1.7 Performans
Sistemin performansını etkileyen faktörlerin test verileri değerlendirilecek
Sistemin Tasarıma Uygunluk Performansı;
Tasarımı yapılan sistemin stabilitesi ve işleyiş performansı değerlendirilecek.
Veri Yapısının Sistemle Performansı;
Veri yapısının sistemle stabilitesi ve çalışma zamanındaki uyumluluk düzeyindeki
performansı değerlendirilecek.
4.2 Veri Tasarımı
4.2.1 Tablo tanımları
Sistem 5 tablodan oluşmaktadır. Bunun yanı sıra kullanıcının ekstra istekleri
doğrultusunda ek tablolara açık bir sistem tasarlanmaktadır. İlk olarak sistemi kullanacak
her varlığın insan olduğunu kabul edersek bu insanları tek bir tabloda tutmak en
mantıklısı olacaktır böyle bir sistem ile ANA tablosunu yaptık. Bunun yanı sıra her
kuruluş için ayrı tablo yapıldı ve kuruluşların içindeki en yetkili kişi tablonun ikincil
51
anahtarı oldu ve ANA tablosu ile ilişkilendirildi.
Tablo 4.1 Kullanıcı Tablosu Veri Çeşitleri
Kullanıcı Tablosu
Veri Adı
Veri Tipi
KullanıcıId
İnt (Primary Key)
KullanıcıAdı
Varchar(50)
KullanıcıSifresi
Varchar(50)
KullanıcıTipId
İnt (Foregin Key)
Adi
Varchar(50)
Soyadı
Varchar(50)
Email
Varchar(50)
4.2.2
Tablo- İlişki Şemaları
Tablo 4.2 ilişki Şemaları
52
4.2.3 Veri Tanımları
Veri tipi olarak integer(int) kullanılmasının amacı sayısal değerleri almaktan ötürüdür. String
olarak kullanılan değerler kelime içeren değerleri tutacağından ötürü kullanıldı. Boolean veri tipi
işte işin can alıcı noktası burası boolean veri tipi iki faklı değer alır ya truedir ya false eğer ki
görevlendirme varsa true olur yada imzalamış ise kişi ANA tablosunun DURUM kısmı true
olacak ve kişi bir daha imza kullanamayacak.
4.2.4 Değer Kümesi Tanımları
Sayım, Sonuc: Kullanılan imzalar doğrultusunda oluşacak olan değerdir.
Yetki: Yetki kişinin akademik kariyer derecesine göre değişen bir değerdir.
4.3 Süreç Tasarımı
4.3.1 Genel Tasarım
Genel olarak tasarımda ilk önce veri tabanı modeli oluşturuldu. Ardından giriş modülü onun
ardından yönetici modülleri ve en sonda kullanıcı arayüzü oluşturduk.
53
Şekil 4.10 Giriş Sayfası Modülleri
54
4.3.2
Modüller
4.3.2.1 Giriş Modülü
4.3.2.1.1
İşlev
Kullanıcının sisteme müdahale edecebileceği ekrana erişmesi için aşması
gereken bir modüldür.
4.3.2.1.2
Kullanıcı Arabirimi
55
Şekil 4.11 Kullanıcı Modülleri
4.3.2.1.3
Modül Tanımı
Hükümet yetkilileri tarafından kullanıcılara verilecek çok gizli güvenlikli kullanıcı adı ve
56
şifreden meydana gelir.
4.3.2.1.4
Modül iç Tasarımı
Kullanılacak değişkenler:
private Connection con: Veri tabanı için bağlantı nesnesi.
private String vtURL: Veritabanının bulunduğu yol.
private String kullaniciAdi: veritabanına bağlantı için kullanıcı adı.
private String sifre: veri tabanına bağlantı için şifre.
Tablo 4.4 Metodlar
4.3.2.2 Yönetici Modülü
4.3.2.3 İşlev
Sistem içindeki tüm arabirimler aslına bakacak olunursa yönetim modülüdür. Arayüzler tamamı
ile birbirinin aynısı lakin işlevler farklıdır. Butonların isimleri farklıdır .
57
4.3.3 Kullanıcı Profilleri
ADMİN1: Yapının en üstünde bulunan ve en yetkili yapılanmadır. Admin2’ye ve kullanıcıya
yetki verir.
ADİMN2: Yapının ikinci nesnesidir.Kullanıcının isteğine, gerekli olan dosyaya göre ADİMN1’e
gereksinimi bildirir.
KULLANICI: Yapının üçüncü nesnesidir .Evrak istemi imzalaması gibi birçok istemde
bulunur.
ARŞİV: Dosyaların elektronik ortamda saklanarak evrak azalımına olanak veren bir stok
nesnesidir.Gerekli evrağı,dosyayı admin1 e göndermekle sorumludur.İkinci planda olduğu için
Use-Case diyagramında işleme almadık.
4.3.4 Entegrasyon ve Test Gereksinimleri
Sistemimizin daha öncede belirttiğimiz gibi devletin mevcut veri tabanlarıyla entegrasyon
halinde olması gerekir bu yüzden devlet yetkililerinden bir ekibe gereksinimimiz var. Bunun
yanı sıra pilot bölgedeki test süresince 1.derece yazılım yetkilileri orda bulunmalı ve sistem
testini gözlemleyip notlar çıkartmalı.
58
4.4 Ortak Alt Sistemlerin Tasarımı
4.4.1 Ortak Alt Sistemler
Kullanılacak tek ortak sistem devletin mevcut sistemidir bu sistemle tc numarası bazında
kişinin tüm bilgisi alınacaktır.
4.4.2 Modüller arası Ortak Veriler
Modüller arasında ilişkili veri modelinde olduğu üzere ortak veriler mevcuttur. Bunlar
Tc_no, Görevlendirme, Görev ve sonuç birbirleriyle ilişkili ortak verilerdir.
4.4.3 Ortak Veriler İçin Veri Giriş ve Raporlama Modülleri
Ortak veriler için böyle bir modül kullanılmadı
4.4.4 Güvenlik Altsistemi
Yazılım sistemlerinin güvenilirliğe ilişkin nicelikleri, kullanıcıların gereksinimlerini
karşılayacak şekilde ortaya koymak ve güvenilirliğin hesaplanmasına yönelik verileri
toplama, istatistiksel tahminleme, ölçütlerin tespiti, yazılıma ait mimari özelliklerin
belirlenmesi, tasarım, geliştirme ve bunlara yönelik çalışma ortamının belirlenmesi ve
modellenmesini kapsamaktadır.
1. Model seçme ve düzenlemeye yönelik faaliyetlerin temelinde uygun
hedeflerin tespit edilmesi bulunmaktadır.
2. Hata ve aksaklıkların analiz edilmesi için uygun verilerin tanımlanması
gerekmektedir. Örneğin, arıza veya hataları önemine göre sınıflandırmak,
hatalar arası ortalama süreyi bulmak, hata nedenlerini araştırmak, hataları
bulmaya yönelik test verilerine karar vermek.
3. Belirtilen hedeflere yönelik veriler modellenir.
4.
5.
6.
7.
8.
9.
Geçmişe yönelik verilerin zaman bilgilerini de içerecek şekilde elde edilerek
yazılım geliştirme sürecine dâhil etmek.
Yazılım geliştirme sürecinin modellenmesi, hata ile karşılaşılıp, test sürecine
başlamak ve model doğrulama işlemlerine gerçekleştirmek.
Güvenilirlik tahminleme modelinin seçilmesini sağlamak.
Güvenilirlik modeli tarafından kullanılacak olan parametrelerini tespit etmek.
Verilen bir noktayı kullanarak gelecekteki olası hatalar hakkında tahmin
yapmak.
Tahmin edilen hata ve arıza oranları ile gerçekleşen değerleri kıyaslamak.
59
4.4.5 Veri Dağıtım Altsistemi
Veri dağıtımından ziyade veri alma üzerine bir sistem kuruldu. Dağıtılan sistemlerde
zararlı kişilerin müdahalesi kolay olmaktadır bunun yanı sıra bizim sistemimizde
terminaller serverlardan veri çekecek serverlar terminallere veri göndermeyecek.
4.4.6 Yedekleme ve Arşivleme İşlemleri
Depolanan verilerin, herhangi bir nedenle zarar görmesi, sistemin çalışma süreçlerinde
ciddi zararlar oluşturabilir. Yaşanabilecek bir felaket durumu sonrasında, depolanan
verilerin geri yüklenememesi, sistemin sağlandığı kullanıcılara veya kurumlara çok ciddi
zararlar verebilir.
Bu nedenle sistemin çalışma süreçlerine bağlı olarak, yedekleme sistemleri kurulmalı ve
yedekleme işlemleri günlük olarak takip edilmelidir.
Yedekleme sistemlerinin kurulumu; yedeklenecek veri miktarı, yedekleme sıklığı,
yedeklenen verinin zaman içerisinde değişme oranı ve maksimum veri kaybı gibi
parametrelere bağlıdır.
Sistemin birden fazla sunucusunun eş zamanlı yedekleme işlemini yapabilmesi, işletim
sistemlerinin kayıt dosyalarını tam ve eş zamanlı olarak yedekleyebilmesi ve işletim
sistemleri üzerinde çalışan veri tabanı uygulamasının yedeklerini sistem kapatılmadan
alabilmesi gerekmektedir.
60
5.1 Giriş
Gerçekleştirim çalışması, tasarım sonucu üretilen süreç ve veri tabanının fiziksel yapısını
içeren fiziksel modelin bilgisayar ortamında çalışan yazılım biçimine dönüştürülmesi
çalışmalarını içerir. Yazılımın geliştirilmesi için her şeyden önce belirli bir yazılım geliştirme
ortamının seçilmesi gerekmektedir.
Şekil 5.1 Sistem Gerçekleştirim Modeli
4.1 Yazılım Geliştirme Ortamları
Yazılım geliştirme ortamı, tasarım sonunda üretilen fiziksel modelin, bilgisayar ortamında
çalıştırılabilmesi için gerekli olan:

Programlama Dili

Veri Tabanı Yönetim Sistemi

Hazır Program Kitapçıkları
CASE Araçları belirlendi ve yazılım geliştirme ortamı hazırlandı.
4.1.1
Programlama Dilleri
Sistemde kullanılan başlıca programlama dillerini daha öncelerde de yazmıştık fakat
burada bir kez daha dile getirelim. Kendi içlerinde sınıflandırılan bu diller arasından
bizim seçtiğimiz sınıf şüphesiz ki veri işleme yoğunluklu uygulamalarda kullanılacak
dillerden olacaktır. Bu yüzden daha çok görsel programlamaya önem verilecek
kullandığımız diller arasında FLASH,PHP,SQL,XML başlıcalarıdır. Flash sistemlerde
her ne kadar görsel tasarım gibi gözükse de arka planda ki ACTİON SCRİPT kodları
61
gayet başarılı ve hızlıdır. Veri tabanı işlemleri içinde diğer dilleri kullandık. Çünkü flash
direk veri tabanına bağlanamıyor.
4.1.2
Veri Tabanı Yönetim Sistemleri
Flash ile hazırladığımız sistem ara yüz burada ki kullanıcı/programcının kullandığı
uygulama kısmına denk geliyor.
Xml sorgu ve programları işleyen yazılıma denk geliyor.
Php ise veriye erişen yazılım oluyor.
Veri tabanı tanımları ve Depolanmış veri tabanı ise SQL ile çözümleniyor.
Veri tabanı yönetiminde kullandığımız hiyerarşiyi bir göstermek gerekirse:
Şekil 5.2 Veri Tabanı Sistemi
62
4.1.2.1 VTYS Kullanımının Ek Yararları
Şekil 5.3 VTYS nin Ek Yararları
4.1.2.2 Veri Modelleri
Şekil 5.4 Veri Modeli
Fiziksel Veri Modelinde verilerin Mysql de tablolar içindeki alanlarda saklanacağı ve
birbirleriyle ilişki içinde olduğunu söyleyebiliriz. Kavramsal Veri Modelini iki ana başlık
63
altında inceleyebiliriz.
Şekil 5.5 Şema Mimarisi
Üçlü şema mimarisinde görülen yapıların, kullanıcı gereksinimlerinden yola çıkılarak
aşamalı bir şekilde fiziksel olarak gerçekleştirilmesidir.
1.
-
Gereksinimlerin belirlenmesi
Veri tipleri
Veri grupları
Veriler ile ilgili kurallar
Veriler üzerinde yapılması gereken işlemler
2. Kavramsal Model
Kullanıcıdan elde edilecek gereksinimler ile ilgili bir analiz çalışmasının yapılması ve
birbiriyle bağlantılı verilerin gruplanarak bir düzenleme içinde modellenmesi gerekmektedir. Bu
modeli grafiksel olarak varlık bağıntı seçenekleri ile gösteririz.
3. Mantıksal Model
Veri tabanı tasarımlarımızın ilişkisel veritabanı modelinde tablolar ile ifade edilebilmesi için
yapılması gereken dönüşümü içerir.
4. Fiziksel Model
Fiziksel olarak sistemin kurulması sağlanır. Kullanılacak VTYS ile ilgili ilk temas burada
kurulur.
64
«uses»
Kullanıcı
«uses»
Admin
User
Şekil 5.6 Kullanıcı Şemaları
4.1.2.3 Şemalar
Şekil 5.7 Şemalar
Herhangi bir veri modelinde veri tabanının tanımlanması ile kendisini ayırmak önemlidir.
Veri tabanının tanımlamaları veri tabanı şeması veya meta-veri olarak adlandırılır. Veri tabanı
65
şeması, tasarım sırasında belirtilir ve sıkça değişmesi beklenmez. Pek çok veri modeli şemaları,
diyagramlar halinde göstermek için belli gösterim biçimlerine sahiptir. Diyagramlar her kayıt
tipinin yapısını gösterir fakat kaydın gerçek örneğini göstermez.
4.1.2.4 VTYS Mimarisi
VTYS mimarisini üç başlık altında ele aldık bunları özetlemek gerekir ise:
66
Şekil 5.6 Veri Tabanı Şemaları
4.1.2.5 Veritabanı Dilleri ve Arabirimleri
Sistemimizde veritabanı dili olarak SQL kullanıldı. Henüz prototip aşamasında olan
sistemimiz için MYSQL arabirimini yeterli gördük.
Şekil 5.7 Veritabanı Dilleri ve Arabirimleri
1.1.1.1 Veri Tabanı Sistem Ortam
Veri tabanı sistem ortamında phpMyAdmin bizim kahrımızı çekti. Tüm Yükleme,
yedekleme, performans ölçme, sıralama, veri sıkıştırma, ve benzeri fonksiyonları yerine
getirmek amacıyla bu ortamı kullandık.
1.1.1.2 VTYS'nin Sınıflandırılması
En fazla kullanılan veri modelleri ilişkisel, ağ, hiyerarşik, nesne-yönelimli ve kavramsal
modellerdir. Bizim Kullandığımız ise ilişkisel veri modelidir.
1.1.1.3 Hazır Program Kütüphane Dosyaları
Zaten entegre olduğu için böyle bir şeye ihtiyaç duymadık.
1.1.1.4 CASE Araç ve Ortamları
Case araçları olarak ise Microsoft un Visio Project ürünlerini kullandık. Bunun yanı sıra
IBM RSA yazılımı Smart Draw yazılımını kullandık.
1.2 Kodlama Stili
Kendimize has kodlama bicini kullandık herhangi bir hazır düzene bağlı kalmadık Bakım
programcımıza da aynı stil üzerine eğitim verdik ve sorunları ortadan kaldırdık.
67
5.3.1 Açıklama Satırları
Açıklama satırları karmaşık her satırın sonunda yapıldı. Ve biten her günün sonunda
kodun kalındığı yere o günün tarihi atıldı.
5.3.2 Kod Biçimlemesi
Kod biçimlemesine değinmek gerekirse alt alta oluşan kodlarda tabi indexleri kullandık
ve iç içe bir biçimde hiyerarşi oluşturduk.
5.3.3 Anlamlı İsimlendirme
Sistem kodlamasının genel yapısında kullanılan değişkenlerin veri tabanında karşılığı
varsa önce “tabloadı_islevadı_sayısı” seklinde bir anlamlı isimlendirme yaptık.
5.3.4 Yapısal Programlama Yapıları
Genel olarak 3 başlıkta incelersek:

Ardışık işlem yapıları: Bu tür yapılarda genellikle fonksiyon, altprogram ve
buna benzer tekrarlı yapıları tek bir seferde çözdük.

Koşullu işlem yapıları: Bu yapıları ise neredeyse programın tamamında
kullandık karşılaştırma yapılan her yerde bunlara yer verildi.

Döngü yapıları: Tıpkı ardışık işlemler gibi alt alta birkaç satır yazıcığımıza tek
bir döngüyle bu sorunların üstesinden geldik.
1.3 Program Karmaşıklığı
Program karmaşıklığını ölçmek için bir çok teorik model geliştirilmiştir. Bu modellerin
en eskisi ve yol göstericisi McCabe karmaşıklık ölçütüdür. Bu bölümde bu ölçüt
anlatılmaktadır. Söz konusu ölçüt 1976 yılında McCabe tarafından geliştirilmiştir. Bu
konuda geliştirilen diğer ölçütlerin çoğu, bu ölçütten esinlenmiştir.
McCabe ölçütü, bir programda kullanılan "koşul" deyimlerinin program karmaşıklığını
etkileyen en önemli unsur olduğu esasına dayanır ve iki aşamada uygulanır:
Şekil 5.8 Program Karmaşıklığı
68
5.4.1
Programın Çizge Biçimine Dönüştürülmesi
Şekil 5.9 Programın Çizgi Hali
5.4.2 McCabe Karmaşıklık Ölçütü Hesaplama
k = 13 Kenar sayısı
d = 9 Düğüm sayısı
p = 1 Bileşen sayısı
V(G)=k-d+2p (Formülüyle bulunur)
69
V(G)= k – d + 2p
VG= 30 – 25+2*31
= 67
Şekil 5.10 Akış Diyagramı
1.4 Olağan Dışı Durum Çözümleme
Olağan dışı durum, bir programın çalışmasının, geçersiz ya da yanlış veri oluşumu ya da
başka nedenlerle istenmeyen bir biçimde sonlanmasına neden olan durum olarak
tanımlanmaktadır.
5.5.1 Olağandışı Durum Tanımları
Olağandışı gelişen durumlarda try-catch blokları devreye girecek ve program kırılmadan
çalışmasına devam edebilecek şekilde tasarladık.
70
5.5.2 Farklı Olağandışı Durum Çözümleme Yaklaşımları
Tüm olağan dışı durumlarda program kırılmadan hata mesajlarıyla tekrar başa dönecek
şekilde tasarladık.
Şekil 5.11 Olağan Dışı Halde Yapılacaklar
1.5 Kod Gözden Geçirme
Hiç kimse, önceki sürümlerini gözden geçirmeden ve incelemeden okunabilir bir program
yazamaz. Hiçbir yazı editörün onayını almadan basılamayacağı gibi hiçbir program da
incelenmeden, gözden geçirilmeden işletime alınmamalıdır. Kod gözden geçirme ile
program sınama işlemlerini birbirinden ayırmak gerekir.
Program sınama, programın işletimi sırasında ortaya çıkabilecek yanlış ya da hataları
yakalamak amacıyla yapılır. Kod gözden geçirme işlemi ise, programın kaynak kodu
üzerinde yapılan bir incelemedir. Kod gözden geçirmelerinde program hatalarının %3-5
oranındaki kesimi yakalanabilmektedir. Eğer programı yazan kişi, yazdığı programın
hemen sonra bir "kod inceleme" sürecine girdi olacağını bilerek program yazdığında daha
etkin, az hatalı ve okunabilir programlar elde edilebilmektedir.
5.6.1 Gözden Geçirme Sürecinin Düzenlenmesi
Gözden geçirme sürecinin temel özellikleri;



Hataların bulunması, ancak düzeltilmemesi hedeflenir,
Olabildiğince küçük bir grup tarafından yapılmalıdır. En iyi durum deneyimli bir
inceleyici kullanılmasıdır. Birden fazla kişi gerektiğinde, bu kişilerin, ileride program
bakımı yapacak ekipten seçilmesinde yarar vardır.
Kalite çalışmalarının bir parçası olarak ele alınmalı ve sonuçlar düzenli ve belirlenen
bir
biçimde
saklanmalıdır.
biçiminde özetlenebilir. Burada yanıtı aranan temel soru, programın yazıldığı gibi
çalışıp çalışmayacağının belirlenmesidir.
71
5.6.2 Gözden Geçirme Sırasında Kullanılacak Sorular
Bir program incelenirken, programın her bir öbeği (yordam ya da işlev) aşağıdaki
soruların yanıtları aranır. Bu sorulara ek sorular eklenebilir. Bazı soruların yanıtlarının
"hayır" olması programın reddedileceği anlamına gelmemelidir.
5.6.2.1 Öbek Arayüzü
Oluşturduğumuz öbekleri test etmek için belli sorular sorduk bu sorular:

Her öbek tek bir işlevsel amacı yerine getiriyor mu?

Öbek adı, işlevini açıklayacak biçimde anlamlı olarak verilmiş mi?

Öbek tek giriş ve tek çıkışlı mı?

Öbek eğer bir işlev ise, parametrelerinin değerini değiştiriyor mu?
Şeklinde oldu.
5.6.2.2 Giriş Açıklamaları
Oluşturduğumuz giriş açıklamalarını test etmek için belli sorular sorduk bu sorular:

Öbek, doğru biçimde giriş açıklama satırları içeriyor mu?

Giriş açıklama satırları, öbeğin amacını açıklıyor mu?

Giriş açıklama satırları, parametreleri, küresel değişkenleri içeren girdileri ve
kütükleri tanıtıyor mu?

Giriş açıklama satırları, çıktıları (parametre, kütük vb) ve hata iletilerini
tanımlıyor mu?

Giriş açıklama satırları, öbeğin algoritma tanımını içeriyor mu?

Giriş açıklama satırları, öbekte yapılan değişikliklere ilişkin tanımlamaları
içeriyor mu?

Giriş açıklama satırları, öbekteki olağan dışı durumları tanımlıyor mu?

Giriş açıklama satırları, Öbeği yazan kişi ve yazıldığı tarih ile ilgili bilgileri
içeriyor mu?

Her paragrafı açıklayan kısa açıklamalar var mı?
Şeklinde oldu.
72
5.6.2.3 Veri Kullanımı
Oluşturduğumuz veri kullanımlarını test etmek için belli sorular sorduk bu sorular:

İşlevsel olarak ilintili bulunan veri elemanları uygun bir mantıksal veri yapısı
içinde gruplanmış mı?

Değişken adları,işlevlerini yansıtacak biçimde anlamlı mı?

Değişkenlerin kullanımları arasındaki uzaklık anlamlı mı?

Her değişken tek bir amaçla mı kullanılıyor?

Dizin değişkenleri kullanıldıkları dizinin sınırları içerisinde mi tanımlanmış?

Tanımlanan her gösterge değişkeni için bellek ataması yapılmış mı?
Şeklinde oldu.
5.6.2.4 Öbeğin Düzenlenişi

Modüller birleşimi uyumlumu?

Modüller arası veri aktarımları sağlanıyor mu?

Bütün modüller birleştiğinde sistem çalışıyor mu?
Gözden geçirme sırasında referans alınacak sorular olacaktır.
5.6.2.5 Sunuş
Artık son kısma gelindiğinde ise şu sorular soruldu:

Her satır, en fazla bir deyim içeriyor mu?

Bir deyimin birden fazla satıra taşması durumunda, bölünme anlaşılabilirliği
kolaylaştıracak biçimde anlamlı mı?

Koşullu deyimlerde kullanılan mantıksal işlemler yalın mı?

Bütün deyimlerde, karmaşıklığı azaltacak şekilde parantezler kullanılmış mı?

Bütün deyimler, belirlenen program stiline uygun olarak yazılmış mı?

Öbek yapısı içerisinde akıllı "programlama hileleri" kullanılmış mı?
73
6. DOĞRULAMA VE GEÇERLEME
6.1. Giriş
Geliştirilecek bilgi sistemi yazılımının doğrulanması ve geçerlenmesi, üretim süreci boyunca
süren etkinliklerden oluşur. Söz konusu etkinlikler:



Yazılım belirtimlerinin ve proje yaşam sürecindeki her bir etkinlik sonunda alınan
çıktıların, tamam, doğru, açık ve önceki belirtimleri tutarlı olarak betimler durumda
olduğunun doğrulanması.
Proje süresince her bir etkinlik ürününün teknik yeterliliğinin değerlendirilmesi ve uygun
çözüm elde edilene kadar aktivitenin tekrarına sebep olması.
Projenin bir aşaması süresince geliştirilen anahtar belirtimlerin önceki belirtimlerle
karşılaştırılması.
Yazılım ürünlerinin tüm uygulanabilir gerekleri sağladığının gerçeklenmesi için sınamaların
hazırlanıp yürütülmesi biçiminde özetlenebilir.
Şekil 6.1 Doğrulama Geçerleme
6.2. Sınama Kavramları
Birim Sınama: Sistemin birimleri olan YSK-YSK il-YSK İlçe-Sandık Kurulu-Seçmen
sırasıyla kendi içlerinde birimleri sınandı ve sonuçları çıkartıldı.
Alt Sistem Sınama: Birimlerin birleşmesiyle modüller oluşturulup bunların kendi içinde
sınaması yapıldı. Genel olarak arayüzde ki eksiklikler giderildi.
74
Sistem Sınama: Sistemin bütün olarak sınanması yapıldı ve programın eksiksiz olduğu onaylandı.
Kabul Sınama: Sistem prototipten çıkartılıp gerçek veriler girildi ve sorunsuz olduğu bir kez daha
onaylandı.
6.3. Doğrulama ve Geçerleme Yaşam Döngüsü
Şekil 6.2 Yaşam Döngüsü
6.4. Sınama Yöntemleri
Sınama işlemi, geliştirmeyi izleyen bir düzeltme görevi olmak ile sınırlı değildir. Bir "sonra"
operasyonu olmaktan çok, geliştirme öncesinde planlanan ve tasarımı yapılması gereken bir
çaba türüdür.
6.4.1 Beyaz Kutu Sınaması
Denetimler arasında:




Bütün bağımsız yolların en azından bir kere sınanması,
Bütün mantıksal karar noktalarında iki değişik karar için sınamaların yapılması,
Bütün döngülerin sınır değerlerinde sınanması,
İç veri yapılarının denenmesi yapıldı.
75
Şekil 6.3 Beyaz Kutu Sınaması
6.4.2
Temel Yollar Sınaması
Şekil 6.5 Sınama Şekli
76
6.5. Sınama ve Bütünleştirme Stratejileri
Genellikle sınama stratejisi, bütünleştirme stratejisi ile birlikte değerlendirilir. Ancak bazı
sınama stratejileri bütünleştirme dışındaki tasaları hedefleyebilir. Örneğin, yukarıdan aşağı
ve aşağıdan yukarı stratejileri bütünleştirme yöntemine bağımlıdır. Ancak işlem yolu ve
gerilim sınamaları, sistemin olaylar karşısında değişik işlem sıralandırmaları sonucunda
ulaşacağı sonuçların doğruluğunu ve normal şartların üstünde zorlandığında dayanıklılık
sınırını ortaya çıkarır.
6.5.1 Yukarıdan Aşağı Sınama ve Bütünleştirme
Yukarıdan aşağı bütünleştirmede, önce sistemin en üst düzeylerinin sınanması ve sonra
aşağıya doğru olan düzeyleri, ilgili modüllerin takılarak sınanmaları söz konusudur. En
üst noktadaki bileşen, bir birim/modül/alt sistem olarak sınandıktan sonra alt düzeye
geçilmelidir. Ancak bu en üstteki bileşenin tam olarak sınanması için alttaki bileşenlerle
olan bağlantılarının da çalışması gerekir. Genel hatlarıyla özetlemek gerekirse şu
mantıkla sitem sınaması yapıldı.
Şekil 6.6 Yukarıdan Aşağı Sınama
6.5.2
Aşağıdan Yukarıya Sınama ve Bütünleştirme
Aşağıdan yukarı bütünleştirmede ise, önceki yöntemin tersine uygulama yapılır. Önce en
alt düzeydeki işçi birimleri sınanır ve bir üstteki birimle sınama edilmesi gerektiğinde bu
üst bileşen, bir 'sürücü' ile temsil edilir. Yine amaç, çalışmasa bile arayüz oluşturacak ve
alt bileşenin sınanmasını sağlayacak bir birim edinmektir. Fakat bu sınama sistemi
kullanılmadı.
77
Şekil 6.7 Aşağıdan Yukarı Bütünleştirme
6.6. Sınama Planlaması
Bir tablo ile özetlemek gerekirse şu şekilde özetleyebiliriz.
Test raporu hazırlanırken şu özellikler mutlaka planda belirtilmelidir;
Test planı kimliği: Test planının adı veya belge numarası
Giriş: Test edilecek yazılımın elemanlarının genel tanıtım özetleri. Ayrıca bu plan kapsamı
ve başvurulan belgeler. Kısaltmalar ve terim açıklamaları bu bölümde bildirilmelidir.
Test edilecek sistem: Sistemde bileşenleri sürüm sayıları olarak sıralar ve sistemin
özelliklerini bileşenlerini ve nasıl kullanıldıkları açıklanmalıdır. Ayrıca sistemde test
edilmeyecek parçalar belirtilmelidir.
Test edilecek ana fonksiyonlar: Sistemin test edilecek ana fonksiyonlarının kısa bir
tanıtımı yapılmalıdır.
Test edilmeyecek ana fonksiyonlar: Sistemde test edilmeyecek fonksiyonları ve bunların
neden test edilmedikleri açıklanacaktır.
Geçti/Kaldı Kriterleri: Bir test sonucunda sistemin geçmiş veya kalmış sayılacağını
açıklanmalıdır.
Test dokümanı: Test süresince yapılan işlemleri alınan raporları elde edilen bilgileri rapor
içinde sunulmalıdır.
Sorumluluklar: Hangi kişilerin nelerden sorumlu olduğu ve test takım lideri bilgileri
mutlaka raporda belirtilmelidir.
Riskler ve Önlemler: Test planında varsayılan ve olası yüksek riskli durumları belirtir ve
bu durumların olması durumunda, etkilerinin en aza indirilebilmesi için alınması gereken
78
önlemleri açıklar.
6.7. Sınama Belirtimleri
Sınama belirtimleri, bir sınama işleminin nasıl yapılacağına ilişkin ayrıntıları içerir.
79
Sınama verilerinin elle hazırlanması çoğu zaman kolay olmayabilir ve zaman alıcı olabilir. Bu
durumda, otomatik sınama verisi üreten programlardan yararlanılabilir.
Sınama senaryoları, yeni sınama senaryosu üretebilmeye yardımcı olacak biçimde
hazırlanmalıdır. Zira sınama belirtimlerinin hazırlanmasındaki temel maç, etkin sınama
yapılması için bir rehber oluşturmas
Sınama raporları, sınama bitiminde imzalanır ve yüklenici ile iş sahibi arasında resmi belge
niteliği oluşturur.
6.8. Yaşam Döngüsü Boyunca Sınama Etkinlikleri
Bütün bu etkinlikleri bir hiyerarşi altında incelemek gerekirse:
Planlama aşamasında genel planlama sınaması gerçekleştirilir. Bu olan tüm planların basit
bir ön hazırlığı niteliğindedir.
Çözümleme aşamasında sınama planı alt sistemler bazında ayrıntılandırılır.
Tasarım aşamasında sınama plana detaylandırılır ve sınama belirtimleri oluşturulur. Bu
oluşumlar daha sonra eğitim ve el kitabında kullanılır.
Gerçekleştirim aşamasında teknik sınamalar yapılır sınama raporları hazırlanır ve elle tutulur
ilk testler yapılır.
Kurulum aşamasında sistemle ilgili son sınamalar yapılır ve sınama raporları hazırlanır.
80
Şekil 6.8 Sınama Etkinlikleri
Bu ayrıtılar temel olarak:




sınanan program modülü ya da modüllerinin adları,
sınama türü, stratejisi (beyaz kutu, temel yollar vb.),
sınama verileri,
sınama senaryoları
türündeki bilgileri içerir.
Sınama sırasında bulunan her hata için, değişiklik kontrol sistemine (DKS), "Yazılım
Değişiklik İsteği" türünde bir kayıt girilir. Hatalar, DKS kayıtlarında aşağıdaki gibi gruplara
ayrılabilir:
•
•
•
•
Onulmaz Hatalar: BT projesinin gidişini bir ya da birden fazla aşama gerileten ya da
düzeltilmesi mümkün olmayan hatalardır.
Büyük Hatalar: Projenin kritik yolunu etkileyen ve önemli düzeltme gerektiren
hatalardır.
Küçük Hatalar: Projeyi engellemeyen, ve giderilmesi az çaba gerektiren hatalardır.
Şekilsel Hatalar: Heceleme hatası gibi önemsiz hatalardır.
81
Şekil 6.9-10 Gerçekleştirme aşama ve tarihleri diyagramlar
7.BAKIM
7.1 Giriş
Sistemin tasarımı bittikten sonra artık seçimden seçime sistemin bakıma sokulması gerekir
daha öncede belirttiğimiz gibi sistem hassas ve hata kabul etmeyecek bir sistemden
bahsediyoruz. Bakım bölümüne ilişkin yapılan açıklamalarda IEEE 1219-1998 standardı baz
olarak alınmıştır.
82
Değerlendirme İseği
Bakım
Kontrolcüsü
Değerlendirme Sonucu
Teknik
Danışman
Bakım İsteği
Değişiklik Önerisi
İsteğin reddi
Değişiklik
Kontrol Kurulu
Değişiklik onayı ve görevlendirme
Değişiklik
Sorumlusu
Kullanıcı
İş Planı
Son Sürüm
Yeni Sürüm
Bakım
Personeli
Düzenleşim
Yönetimi
Yeni Sürüm
Teslim Personeli
Şekil 7.1 Bakım Aşaması
7.2 Kurulum
Sistem kurulumuna değinmek gerekirse devlet güvencesinde verilecek olan serverlara
yüklenecek olan sistemimizde FTP arayüzü ile dosyaları servera aktaracağız ve internet
explorer olan tüm cihazlarda çalışacak.
83
7.3 Yerinde Destek Organizasyonu
Bu konuyla ilgili pilot bölgede bizzat desteği ben vereceğim bunun yanında sistem
canlandırılıp gerçeğe geçirilirse sistem tanımlaması kurulum için bölgelerde bayilik sistemi
gibi alt kuruluşlara yetki verilecek eğer profesyonel destek istenirse yol uçak masrafını
karşılamak şartıyla bölgeye yetkili gönderilip orada bir organizasyon yapılacaktır.
7.4 Yazılım Bakımı
Değişim isteği
Sözleşme
Destek Ekibi
Kullanıcılar
Hizmet İsteği
Satıcı
Yeni Arabirim
Düzenleme Süreci
Şekil 7.2 Bakım Aşaması
7.4.1
Tanım
Şekil 7.3 Bakım Çeşitleri
7.4.2 Bakım Süreç Modeli
Aslına bakmak gerekirse bakım süreç modeli yukardaki yapılan işlemlerin tümünün
baştan yapılması demek bunları adım adım bir inceleyelim.
84
Şekil 7.4 Bakım Süreç Modeli
1. Adım: Sorunu Tanımlama Süreci
İlk önce bakım ne için yapılıyor sorun ne buna bir bakalım.
Şekil 7.5 Sorun Tanımlama
2. Adım: Çözümleme Süreci
Sorun tanımlamadan çıkan karar doğrultusunda problemi kâğıt üzerinde çözelim.
85
Şekil 7.6 Çözümleme Süreci
3. Adım: Tasarım Süreci
Çözümlenen sistem sonucunda tasarımı güncelleştirmeye geldi sıra.
Şekil 7.7 Tasarım Süreci
4. Adım: Gerçekleştirim Süreci
Tasarımı yapılan sistemin gerçekleştirmesine sıra geldi.
86
Şekil 7.8 Gerçekleştirim Süreci
5. Adım: Sistem Sınama Süreci
Artık tekrardan tasarlanan sistemin sınama sürecini tekrar ele almak gerekiyor.
Şekil 7.9 Sınama Süreci
87
6. Adım: Kabul Sınaması Süreci
Kendi içimizde sınadığımız sistemi birde müşteri karşısında sınıyoruz.
Şekil 7.10 Kabul Sınama Süreci
7. Adım: Kurulum Süreci
Kabul sınamasını geçen sistemimiz artık tekrardan kurulum aşamasına geçiyor.
7.11 Şekil Kurulum Süreci
88
Sonuç olarak sistem hayata geçirildiği zaman neler değişeceği gözler önüne serdik. Bunun yanı
sırabasit ama bir o kadarda güvenli olan bu sistemle ek masraflar ortadan kalkacak hataları
ortadan kaldırılacak ve adil bir imza sistemi gerçekleştirilmiş olacak.
Hem personel için hem yetkililer için oturdukları yerden işletebilecekleri bu sistem sayesinde
artık eskisi kadar yorulmayacak ve herkes bu sisteme minnettar kalacak. Kurumumuz içinde iyi
bir referans olacak olan bu sistem sayesinde hem biz hem kullanıcılar için çok güzel olacak. Bu
zorlu süreç boyunca bize destek olan herkese bir kez daha teşekkürlerimi iletiyorum.
89
[1] G. Eason, B. Noble, and I. N. Sneddon, “On certain integrals of Lipschitz-Hankel type
involving products of Bessel functions,” Phil. Trans. Roy. Soc. London, vol. A247, pp. 529–
551, April 1955. (references)
[2] J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford:
Clarendon, 1892, pp.68–73.
[3] I. S. Jacobs and C. P. Bean, “Fine particles, thin films and exchange anisotropy,” in
Magnetism, vol. III, G. T. Rado and H. Suhl, Eds. New York: Academic, 1963, pp. 271–350.
[4] K. Elissa, “Title of paper if known,” unpublished.
[5] R. Nicole, “Title of paper with only first word capitalized,” J. Name Stand. Abbrev., in press.
[6] Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy studies on magnetooptical media and plastic substrate interface,” IEEE Transl. J. Magn. Japan, vol. 2, pp. 740–
741, August 1987 [Digests 9th Annual Conf. Magnetics Japan, p. 301, 1982].
[7] M. Young, The Technical Writer's Handbook. Mill Valley, CA: University
İnternet kaynakları
1-http://www.fao.org., (25.03.2011)
2-www.atsdr.cdc.gov., (03.06.2010)
3-http://en.wikipedia.org/wiki/File:4-Hydroxybenzoic_acid.svg, (07.12.2011)
90
Download