ÖNSÖZ
Günümüz şartlarını göz önüne alırsak, internetin günümüzde ki etkileri göz ardı edilemez, bu etkileri Yazılım Mühendislik bilimi ile bilgiye ve analiz ile pozitif bilgiye çevirmek mümkün. Bu alanda yapılan birçok çalışma ülkelerin en önemli stratejik silahı olmaktadır. Gelişen Türkiye’de ise internet ve verinin önemi anlaşılmaktadır. Anketler birçok sosyal kesimin ve analizcilerin yakından ilgilendiği bir sistemdir.
Anketler ile toplanan verileri analiz ederek, farklı sosyal insanlardan toplanan öz veriyi kullanmaktayız. Bu şekilde 10 milyon kişi yerine 10 bin kişi ile yakın yüzdeler yakalayabiliriz.
Anket yapmanın esas amacı farklı sosyal çevreden seçilen insanlara sorulan sorulara verilen cevaplar ile yapılan istatistik bilgilerdir. Şirketler, okullar, hastaneler vb. yerlerde anketler uygulanabilir ve bu veriler göz önüne alınarak bir amaç doğrultusunda yeni şirketler açılabilir ve ürünler pazarlanabilir. Bu amaçlar doğrultusunda yapacağımız proje kişinin dilediği anketi yapıp, verileri analiz edebileceği bir sistem olacaktır.
Projede anketi hazırlayan kişinin istediği doğrultudaki sosyal kesimlere hizmet verecek ve istatistik yapacaktır. Proje kapsamı içerisinde,
- Sisteme üye olma
- Misafir olarak anket doldurma
- Üye olarak anket oluşturma
- Üye olarak anket sonuçlarına erişme
Sisteme 3 tip erişim vardır,
- Yönetici
- Üye
- Misafir
Üye olan kişi, misafirin; Yönetici, üye olan kişinin yaptığı bütün etkinlikleri yapabilir ve ayrıca yönetici; Kullanıcı silme, ekleme; Anket silme, ekleme işlemleri yapabilmektedir.
Projenin en önemli hizmeti, anketör olarak çalışan insanların yaptığı binlerce ankette giden binlerce kâğıt israfı ve anketörün uzun uzun anketi doldurmak yerine, tabletten on saniye de doldurarak daha hızlı sonuca varmasıdır. Bu sadece bir tane hizmettir. Yapılan sosyal anketler sonucu ise büyük sonuçlar alınabilir.
Proje maliyet kestirim planı orta ölçekli projeler için geliştirilen temel cocomo modeli kullanılmıştır.
Projemizde süreç modeli olarak ÇAĞLAYAN MODELİ kullanılacaktır. Çağlayan modelini inceleyecek olursak;
ÇAĞLAYAN MODELİ HAKKINDA
Sonraki faz bir önceki faz tamamlanmadan başlayamaz.Her fazın sonucu bir ya da birden fazla onaylanan belgedir.Gerektiğinde geliştirme aktivitelerinde iterasyonlar olabilir.
AVANTAJLARI
Müşteriler ve son kullanıcılar tarafından da iyi bilinen anlaşılabilen adımlardan oluşur.İterasyonlar bir sonraki ve bir önceki adımlarda gerçekleşir.Değişiklik süreci yönetilebilir birimlere bölünmüştür.Gereksinim adımı tamamlandıktan sonra sağlam bir temel oluşur.Aşamaları iyi anlaşılabilir.
Sisteme yeni bir modül eklenmesi gerektiğinde bu plan devreye girer. Yeni bir sisteme adaptasyon olarak adlandırılabilir. Versiyon yükseltme, modül ekleme gibi işlemler yapılabilir. Bu sistemin gelişmeye açık olduğunu gösteren bir etkendir.
Yapılan testler sonucunda elde edilen bilgiler doğrultusunda yeni özellikler sisteme kazandırılır veya güncellenir. Proje ekibi için yeni eğitim ihtiyaçları var ise eğitimler hazırlanır. Yeni araçlara ihtiyaç kontrol edilir. İş planında değişiklik gereksinimi varsa iş planı güncellenir. Proje Ekip yapısı gereksinimler doğrultusunda yeniden şekillendirilir. Proje kaynaklarının kullanımı uygun şekilde düzenlenir.
Sistemin işlevsel olarak; kullanıcı(misafir), üye, yöneticiler anket doldurabilecek ve üye ve yöneticiler anketleri istediği sayıda soru ile yapabilecektir. Misafirlerin bir anketi bir kere doldurmasına yönelik çalışmalar bulunacaktır. İşlevsel modelde mevcut sistemden farklı olarak bir sosyal anket platformu özelliği eklenecektir. Bu özellik ile insanlar herkes tarafından görülen sosyal anketler doldurabilecektir.
Use Case Diyagramı
Nesne Diyagramı
Sınıf Diyagramı
ER Diyagramı
Misafir: Sisteme erişimi vardır. Anket doldurabilir.
Üye: Misafirin yetkilerine sahiptir, ayrıca anket doldurabilir, doldurduğu anketin istatistiklerine bakabilir.
Admin: Üyenin bütün yetkilerine sahiptir, ayrıca anket onaylama, anket silme ve üye düzenleme işlemleri yapabilir.
Aktiviti Diyagramı
Yazılım başarım gerekleri gereğince sistem incelemesi yapılır ve varsa sistemi daha iyi hale getirecek değişiklikler yapılır. Bu iyileştirmeler sonucunda elde edilen değerler başarım gerekleri için önemlidir.
Sistem tasarlanırken önemli olan noktalardan birisi kullanıcı dostu bir tasarım olması ve bunla beraber anlaşılır olmasıdır. Her kullanıcının rahatlıkla kullanabileceği bir tasarım olmalıdır.
Bu kısımda kullanıcıların kullanacağı, direk etkileşim sağlayacakları arabirimleri göreceksiniz, bu arabirimler bize, şimdiye kadar üzerinde çalıştığımız ve açıkladığımız bilgiler hakkında daha ayrıntılı bilgi verecektir. Bu arabirimler şu şekilde sıralanıyor:
- Üye Girişi Modülü
- Üye Kayıt Modülü
- Doldurulacak Anketler Modülü
- Anket Doldurma Modülü
- Kullanıcı Profili Modülü
- Anket Oluşturma Modülü
- Kişisel Bilgi Güncelleme Modülü
- Anket İstatistikleri Modülü
- Listelenen Anketler Modülü
Gördüğünüz üzere bu modüller aşağıda gösterilmiştir.
ÜYE GİRİŞ MODÜLÜ
Üye Kayıt Modülü
Doldurulacak Anketler Modülü
Kullanıcı Profil Modülü
Anket Yapım Sayfası
Anket İstatistik Modülü
- Admin Paneli Giriş Modülü
- Ana Panel Modülü
- Kullanıcı Düzenle Modülü
- Anket Onaylama Modülü
- Onaylanan Anketler Modülü
- Admin Listesi Modülü
Admin Paneli Giriş Modülü
Ana Panel Modülü
Kullanıcı Düzenle Modülü
Anket Onaylama Modülü
Onaylanan Anketler Modülü
Proje tamamlandıktan sonra belirli test işlemlerinden geçmektedir. Bu işlemleri şöyle sıralayabiliriz;
1) Fonksiyonel test
Geliştirilen sistemin fonksiyonlarının sınandığı test çalışmasıdır. Sistemde geliştirilen fonksiyonların tamlığının, doğruluğunun ve tutarlılığının test edilmesidir. ALFA aşamasında gerçekleştirilen fonksiyonel test, yazılım geliştirme çalışmaları sırasında teknik ekibin yaptığı hataları ortaya çıkarır ve sistemin kullanıcı kabulüne sunulmadan önce fonksiyonel hatalardan arındırılmasını sağlar.
2) Kullanılabilirlik testi
Sistem üzerinde geliştirilen fonksiyonların kullanılabilirlik seviyesinin testidir. Hem ALFA, hem BETA aşamalarında gerçekleştirilen bir test alanıdır. Fonksiyonel gereksinimler müşteriden alındıktan sonra, gereksinimi karşılayacak yapılar sistem üzerinde teknik ekip tarafından farklı şekillerde geliştirilebilir. Bazı durumlarda sistem, müşterinin belirttiği fonksiyonel gereksinimleri karşılasa da, kullanım açısından beklentileri karşılayamayabilir. Bu durum, genellikle yapılan fonksiyonel tasarımlar için müşteriden onay alınmamasından kaynaklanır. Böylesi durumlar ancak BETA aşamasında ortaya çıkar. Bazı durumlarda ise fonksiyonel tasarımları müşteri onaylamış olmasına karşın, tasarım sistem üzerinde onaylanan tasarımlardan farklı şekilde yapılandırılmış olabilir. Bu tür durumların ALFA aşamasında düzeltilmesi beklenir. Bazı durumlarda da tasarım gereksinimleri karşılıyor gibi görünse de, sistem üzerinde yapılandırıldığında uygunsuz olabilir.
3) Performans testi
Bir sistemin kabul edilebilir bir hızda işlemesi beklenir. Sistemin tüm fonksiyonel gereksinimleri karşılamasına rağmen kabul edilebilir olmayan bir yavaşlıkta çalışması, müşterinin geliştirilen sistemi kabul etmemesine neden olabilir. Bir yazılım sisteminin hızı, sistemin birim zamanda yapması gereken işlem sayısına, işlediği veri büyüklüğüne ve veri deposunun büyüklüğüne göre değişkenlik gösterir. Bu bağlamda performans testi kapsamında, sistemin veritabanında çok fazla kayıt olduğunda nasıl davrandığı, veritabanında çok büyük kayıtlar olduğunda nasıl davrandığı, aynı anda çok sayıda kullanıcı tarafından işlem yapıldığı durumda nasıl davrandığı ve aynı anda çok sayıda büyük veriler işlenmesi gerektiğinde nasıl davrandığının test edilmesi gerekir.
4) Güvenlik testi
Geliştirilen sistemin depoladığı verileri, işlediği bilgileri, barındırdığı fonksiyonları ve özellikleri sadece yetkili kullanıcı ve rollerin erişimine sunduğunu garanti altına almak için yapılan testlerdir. Bu bağlamda yapılan testler yazılımın farklı katmanlarına özel olarak yapılır. Veritabanı üzerinden yetkisiz erişim, kullanıcı önyüzüne yetkisiz erişim, uygulama bileşenleri arasındaki iletişime müdahale, veri alış verişi sırasındaki yetkisiz erişim gibi noktalar güvenlik testinde sıkça sınanan senaryolardır.
5) Kullanıcı login testleri
Kullanıcıların oyuna sorunsuz girip çıkması aşamasının test edilmesidir. Sorunsuz login olup olmadıkları kontrol edilir. Kullanıcı adı ve şifre kısmında sorun olup almadığı bakılır ve test verileri elde edilir. Tasarımcıya ve daha sonra web tasarımcısına en son programlama şefine elde edilir. Eldeki veriler kontrol edilir eksiklikler giderilir ve test aşaması sona erdirilir.
6) Arşivleme ve yedekleme testi
Geliştirilen sistemin depoladığı verileri tanımlanan şekilde arşivleyip arşivleyemediği, arşivlenen verilerin erişilebilir olup olmadığı, depoladığı verilerin tanımlanan şekilde yedeklenip yedeklenmediği, yedeklenen verilerin erişilebilir olup olmadığının sınandığı test alanıdır. Arşivlemede, depolanan veriler sistem bünyesinde tutulmaya devam edilirken, sistemdeki fonksiyonların erişimine kapatılır. Yedeklemede ise veriler sistemin dışına kopyalanarak, olası veri kayıp risklerine karşı güvence yaratılır. Arşivleme kullanım kolaylığı odaklı, yedekleme ise risk odaklıdır. Arşivleme ve Yedekleme testi dahilinde geliştirilen sistemin arşivleme gereksinimi olduğu tanımlanan verileri fonksiyonların kullanımına tam ve tutarlı biçimde kapatıp kapatmadığı ve arşivlenmiş verilerin arşivden tam ve tutarlı biçimde çıkarılıp normal veri konumuna getirilip getirilemediği test edilir.
Yapılan yazılım 10 soruluk bir evet-hayır anketi, bu ankette her soruda kaç evet, kaç hayır var. Anket geneli kaç evet, kaç hayır var elde edilen bir anket sistemidir. Sonuç olarak, insanlar bu sistemi kullanarak anket yapabilir, 10 soruluk bir anket hazırlayabilir, sisteme üye olup ya da olmadan anket doldurabilirler.
- Ali Arifoğlu – Yazılım Mühendisliği Dokümantasyonu
- Vikipedia
- Kodlab Bootstrap Kitabı
Bir Cevap Yazın