Gereksinim Analizi Dokümanı Hazırlama
-
Upload
cumhuriyet-ueniversitesi-bilgisayar-muehendisligi-boeluemue -
Category
Engineering
-
view
897 -
download
20
Transcript of Gereksinim Analizi Dokümanı Hazırlama
![Page 1: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/1.jpg)
Yrd. Doç. Dr. Hidayet Takcı
[email protected] | [email protected]
Cumhuriyet Üniversitesi Bilgisayar Müh. Bölümü
Öğretim Üyesi
![Page 2: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/2.jpg)
Nedir? Projenin başarıya ulaşabilmesi için yapılması gereken
en önemli iştir.
Doğru şekilde isterleri ortaya konmuş projeler ancakbaşarılı olabilirler.
İki aşamadan meydana gelir;
Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi
2
![Page 3: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/3.jpg)
Yöntemleri nelerdir? Yazılım öncesi problemin nasıl çözüldüğünün anlaşılması
Mevcut yazılımların incelenmesi ve varsa eksiklerin notedilmesi
Mevcut yazılımların çıktılarının elde edilmesi ve analizedilmesi
İlgili sektör çalışanlarıyla yüz yüze görüşme
Olası sistem senaryolarının akıl yürütme yoluyla açığaçıkarılması
Müşteri ile veya potansiyel müşteri ile karşılıklı görüşme
Konuyla ilgili yapılmış tez, makale v.s. inceleme.
3
![Page 4: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/4.jpg)
Gereksinim analiz dokümanı (GAD) Gerçeklenecek sistemin amaç ve kapsamından
başlayıp, fonksiyonel ve fonksiyonel olmayangereksinimlerinin açığa çıkarıldığı, aktörler, olaylar,senaryolar ve arayüz detayına kadar projeninirdelendiği temel dokümandır.
4
![Page 5: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/5.jpg)
GAD bölümleri Giriş
Teklif edilen sistem
Fonksiyonel gereksinimler
Fonksiyonel olmayan gereksinimler
Sistem modelleri
5
![Page 6: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/6.jpg)
Giriş bölümü Temel olarak üç bölümden oluşur;
Amaç ve kapsam
Hedefler ve başarı kriterleri
Genel bakış
6
![Page 7: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/7.jpg)
Amaç ve kapsam Projenin başlatılma gerekçesi bu kısımda yazılır. Örnek bir
amaç ifadesi şu şekilde olabilir. “Projemizin amacı, okulumuzda öğrenim görmekte olanöğrencilerin kayıt ve işlem verilerini kolayca saklayabilecek,hızlıca öğrenciye erişim imkanı sağlayacak, uzaktan öğrencikayıt işlemine imkan verecek, not girişleri ve düzeltmelerininkolayca yapılabileceği bilgisayar destekli bir sistemin ortayakonmasıdır.”
Kapsam ifadesi ise genellikle projede bir budamayı ifadeeder. Örneğin; “Proje kapsamında dersliklerin takibi ve haftalık ders programıgibi detaylar yer almayacaktır.”
7
![Page 8: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/8.jpg)
Amaç ve kapsam nasıl olmalı? Projenin amaç ve kapsamı genel hatlarıyla projenin ne
yaptığını ifade etmelidir.
Bütün detayların verilmesi okuyucuyu sıkacağı içinöne çıkan konular bu kısımda verilmelidir.
Özgün olduğunu düşündüğünüz (diğer projelerdeolmayan) konular mutlaka bu kısımda verilmelidir.
8
![Page 9: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/9.jpg)
Hedefler ve başarı kriterleri Projenin amacı kısmında verilen ifadelerin bir miktar daha
açılarak yazılmasıyla hedefler ortaya çıkar. Hedeflermaddeler halinde ve mümkünse ya geliştirilme sırasınagöre ya da önem sırasına göre verilmelidir. Örneğin;
Projemizin öncelikli hedeflerinden birisi kesintisiz çalışmaolanağı sağlamasıdır.
Uzaktan ders seçimi yapılabilmelidir.
Öğrenciler online olarak anketlere katılabilmelidir.
Eğitim kalitesi için bu sistem geri bildirimleri uygun şekildedesteklemelidir.
…
9
![Page 10: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/10.jpg)
Başarı kriterleri Projenin başarılı sayılabilmesi için gereken şartlar bu
kısımda verilir. Örneğin;
Ders seçimi döneminde bütün öğrenciler aynı andasistemi kullandığında sistemin performans sorunuvermemelidir.
Öğrencilere sorunsuz şekilde sistem üzerinden mailatılabilmelidir.
…
Başarı kriterleri ölçülebilir ve açık olmalıdır.
10
![Page 11: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/11.jpg)
Genel bakış Detaylardan arındırılmış şekilde, proje amacından bile
daha yüzeysel şekilde projenin anlatılmasıdır.
Genel bakış, ürün pazarlama sistemlerinde ürünleilgili yazılmış kısa bilgilere benzetilebilir.
Örneğin;
“Eğitim kurumları otomasyonu bir şehirdeki bütüneğitim kurumlarının birbiriyle koordineli şekildeçalışmasına imkan sağlayacak bilgisayar destekli biruygulamadır.”
11
![Page 12: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/12.jpg)
Sistem detayları Sistem detayları işin uygulamaya dönük tarafını ifade eder.
Giriş kısmında kabaca tarif edilen sistem bu bölümdedetaylandırılır.
Önce fonksiyonel gereksinimler ile bir nevi yazılımın yerinegetireceği işlevler ortaya konulur.
Ardından fonksiyonel olmayan gereksinimler sayesindesistemin görevi yerine getirirken harici unsurları da ihmaletmemesi sağlanır. Örneğin, aynı işi yapan iki yazılımdan daha kullanıcı dostu“user friendly” daha fazla tercih edilir.
En sonunda sistemin aktörleri, olayları, senaryoları ve use-case modelleri ortaya konur.
12
![Page 13: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/13.jpg)
Fonksiyonel gereksinimler Her uygulamanın amacı bir veya birçok fonksiyonu yerine
getirmektir. Yerine getirilecek fonksiyonların neler olduğubu adımda ortaya çıkarılır.
Bitmiş bir uygulamadaki ana menü ve alt menü detaylarıveya modüler yazılım geliştirmedeki modül ve altmodüllerin ortaya çıkarılması bu alanda yapılır.
Fonksiyonlar bireysel olarak ele alınsa bile fonksiyonlarıgruplandırarak probleme yaklaşmak daha akılcı olacaktır.
Örneğin bir öğrenci işleri sisteminde önce öğrenci kayıt, dersişlemleri, öğretim elemanı kayıt v.s. Belirlenip ardından herbiriyle ilgili fonksiyonları yazmak daha akıllıca olacaktır.
13
![Page 14: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/14.jpg)
Fonksiyonel gereksinimler Fonksiyonel gereksinim yazarken
Sistemin yerine getirmesi gereken her işlev kısa veanlaşılır şekilde yazılmalıdır.
İşlevler kendi arasında önem sırasına göre sıralanabilirolmalıdır.
Daha önemli, daha önemsiz gibi etiketler kullanılabilir.
Her işlev “–meli”, “-malı” şeklinde gereklilik bildirenifadeler şeklinde yazılmalıdır.
Örneğin, “bu uygulama kimlik numarası üzerinden sorguyaimkan sağlamalıdır” gibi.
14
![Page 15: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/15.jpg)
Fonksiyonel olmayan gereksinimler Yedi madde şeklinde ele alınır.
Kullanılabilirlik
Güvenilirlik
Performans
Desteklenebilirlik
Gerçekleştirim
Arayüz
Gizlilik gereksinimi
15
![Page 16: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/16.jpg)
Kullanılabilirlik Uygulamanın rahat ve hızlı şekilde kullanımı
desteklenmelidir. Örneğin; En kullanışlı menü tasarımları yapılmalıdır (aşağı doğruaçılanmenüler gibi)
Kısa yollar ve hızlı erişim olanakları olmalıdır (klavyekısayolları ve popup menüler)
Menülerde ve kısayollardaki standartlara uyulmalıdır.Örneğin, help menüsü en sonda, programdan çıkış ilk anamenünün en sonunda gibi.
Butonlar uygun yerlere konulmalıdır. Kapat butonu sağ altköşe gibi.
Yerleşim, fontlar, renk ayarları v.s. Dikkatle yapılmalıdır.
16
![Page 17: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/17.jpg)
Güvenilirlik Bir uygulamanın her seferinde aynı girişler için aynı
çıkışları vermesine güvenilirlik denir. Güvenilirlik için;
Veri kaybı mümkünse sıfıra indirilmelidir
Veritabanı kısıtları ile hatalı veri girişi engellenmelidir
Yazılım mantık hatalarından arındırılmalı ve yazılımınnon-determenistik (beklenmeyen) hareketleryapmasının önüne geçilmelidir.
Hata yakalama prosedürleri çalıştırılmalı ve yazılımınkesilmesi yerine uygun hata mesajları sunulmalıdır.
17
![Page 18: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/18.jpg)
Performans Bir uygulamanın kısa sürede istenen işleme cevap
vermesi performans başlığı altında ele alınır.Performans problemlerinin çözümü için;
Sistemin aynı anda maksimum kaç kullanıcıylaçalışabildiği belirtilmelidir.
Performans ihtiyacı varsa yazılımsal (cache mekanizmasıgibi) veya donanımsal olarak çözümüne gidilmelidir.
Ayrıca kimi zaman yazılımın hangi donanım üzerinde eniyi performans vereceği belirtilmelidir.
18
![Page 19: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/19.jpg)
Desteklenebilirlik Geliştirilecek yazılım hangi ortam koşullarında
çalışacağı bu kısımda belirtilir.
Örneğin bir yazılımın çalışabilmesi için başkayazılımların yüklenmesi gerekebilir, java eklentileri gibi.
Ayrıca yazılımın hangi işletim sistemi tarafındandesteklendiği verilmelidir.
Mümkünse eklentiler yazılımla birlikte setup şeklindeverilmeli ve uygulama birden çok işletim sisteminidesteklemelidir.
19
![Page 20: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/20.jpg)
Gerçekleştirim Bu kısımda kodlamaya hızlı bir geçiş için uygulamanın
sunduğu avantajlar varsa ondan bahsedilir.
Örneğin akıllı yazılım araçları kullanımı ve
Uml diyagramlarından java kodlarının elde edilmesi bukategoride yer alabilecek örneklerden bazılarıdır.
20
![Page 21: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/21.jpg)
Arayüz Uygulamanın girişinde ve çıkışında neler olacağı,
uygulamanın komut satırı veya grafik arayüzüdesteklemesi durumu belirtilir. Örneğin;
Veri girişi klavye ve fare ile yapılacaktır.
Çıkış ekran ve yazıcıdan alınacaktır.
Çıktı pdf olarak da sunulabilecektir.
Seri ve paralel port üzerinden haberleşme imkanıolacaktır.
21
![Page 22: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/22.jpg)
Gizlilik gereksinimi Bir uygulama çok farlı türde verilere erişimi
destekleyebilir fakat kullanıcıların bütün verilerigörme hakkı olmayabilir. O nedenle kullanıcılarınsadece hakları olduğu verileri görmesi istenir. Gizlilikgereksinimi bu konuyla ilgilidir.
Örneğin, A kullanıcısı f1, f2 ve f3’e erişebilir, B kullanıcısıf1 ve f4’e erişebilir gibi.
22
![Page 23: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/23.jpg)
Sistem modelleri Dört farklı bileşenden oluşur
Aktörler
Olaylar
Senaryolar
Use-case modeli
23
![Page 24: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/24.jpg)
Aktörler Sistemde yer alan, yazılım tarafından bilgileri
yönetilecek varlıklardır. Gereksinim analizdokümanında aktörler tanımlarıyla birlikte verilir. Buaşamada bir aktör ve onun yapacağı işlevler şeklindesunulur.
Fonksiyonel gereksinimler adımıyla bağlantılıdır.
Örnek bir aktör ve tanımı şöyle olabilir.
Aktör Tanımı
Öğretmen Ders seçimi yaparDers onayı yaparNot girişi yaparDevam bilgisi girerÖğrenci raporları alır 24
![Page 25: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/25.jpg)
Olaylar Bu kısımda bütün aktörlerin görevleri bir arada
sunulur. Böylece sistemde yapılacak bütün işlemlerhakkında bilgi toplanmış olur.
Bir ekran birden fazla olayı destekleyebilir.
Olay güdümlü programlamada (event drivenprogramming) her bir buton aslında bir olay ileilişkilidir.
25
![Page 26: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/26.jpg)
Senaryolar • Uygulamadaki akış senaryolar şeklinde sunulur.• Bir senaryo hem aktörün hem de olayların dahilolduğu işlemler bütünüdür.
26
![Page 27: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/27.jpg)
Use-case model
27
![Page 28: Gereksinim Analizi Dokümanı Hazırlama](https://reader034.fdocument.pub/reader034/viewer/2022050701/55a680391a28ab666f8b48f1/html5/thumbnails/28.jpg)
Not Son iki sayfada yer alan görseller haricinde materyal
tamamen Hidayet Takcı’nın özgün eseridir.
28