Gereksinim Analizi Çalışmaları

Slides:



Advertisements
Benzer bir sunumlar
E-İÇİŞLERİ KARŞILAŞILAN SORUNLAR
Advertisements

Yazılım Geliştirme Süreci
MILLENIUM MOBILE SUNUMU
AVEA SAHA GÜCÜ OTOMASYON PROJESİ
Sistem Analizi ve Planlama
AKM WEB SAYFASI ONLINE KİŞİ İŞLEMLERİ YARDIM MENÜSÜ
Taşınır Mal Yönetmeliği Modülü
UZAKTAN EĞİTİM SİSTEMİ
KONTROL ÖZELLİKLERİ.
LEBİB YALKIN-MEVBANK Lebib Yalkın tarafından 1996 yılında geliştirilmiş olan Mevbank, güncel mevzuata elektronik ortamda ulaşılmasını sağlayan bir mevzuat.
BELGELEME Ian Sommerville, “Software Documentation”,
Eğitim İhtiyaçları Değerlendirmesi (TNA)
ARAŞTIRMA RAPORUNUN HAZIRLANMASI
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
ISO 9001:2008 Değişiklikleri Mart Madde No ve Değişiklikler Madde 1.2 “ürünün veya kuruluşun yapısı gereği bu standardın bir veya birkaç maddesinin.
DANIŞMAN: Yrd. Doç. Dr. Funda YİRMİBEŞOĞLU
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
Yazılım Test Süreci. Yazılım test süreci Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile.
Nesneye Dayalı Programlama
Görsel C# ile Windows Programlama
DERS AÇMA İŞLEMLERİ Akademik birimlere; yıl, dönem ve eğitim türü seçilerek ders açma ve açılan dersleri düzenleme ekranıdır. Bu ekran içerinde 3 bölüm.
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
Öğrencinin aldığı tüm derslerin dönem bazında görülebildiği ve dersler üzerinde tüm değişikliklerin yapılabildiği ekrandır. İlk yapılması gereken Hızlı.
ÖĞRENCİ İŞLERİ ÖĞRENCİ OTOMASYON SİSTEMİ BİLGİ SUNUMU
YAZILIM Bilgisayarın kullanılmasını sağlayan her türlü program yazılım olarak adlandırılır. Başlıca iki yazılım çeşidi vardır. Bu yazılımlar, sistem yazılımı.
TEFBİS ÖZEL OKULLAR MODÜLÜ KULLANICI EĞİTİMİ TEFBİS ÖZEL OKULLAR MODÜLÜ KULLANICI EĞİTİMİ.
Dokuz Eylül Üniversitesi Akademik Özgeçmiş CV programına bilgi girişi
Microsoft Office Access
Grup üyeleri: Selen ERGÜ Galip Kaya Nazgül BARPİEVA
İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ BİLGİLENDİRME TOPLANTISI
Muhtar Bilgi Sistemi.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Microsoft Office Access
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Web Tasarımı ve Adobe Muse
AMAÇ Muhtarlarımızın kamu hizmetlerini daha kaliteli ve etkin şekilde yürütmeleri amacıyla kamu kurum ve kuruluşlarından yapacakları taleplerin takip edilip.
Bilgisayarın kullanılmasını sağlayan her türlü program yazılım olarak adlandırılır. YAZILIM Başlıca iki yazılım çeşidi vardır. Bu yazılımlar, sistem yazılımı.
İKS OKUL RAPORLARI NASIL ALINIR?
TABLETLERİN OKULLARA TESLİMATI. Okullara Tablet Teslimatı Nasıl Yapılacak? Tabletler Dağıtım Planına göre Üretici Firma tarafından kargoya verilir. Tablet.
YBS Yönetim Bilgi Sistemleri SED Sosyo Ekonomik Destek
NetKafem Kullanımı Basit, Maliyeti Düşük, İşlevleri Güçlü
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 3. Hafta.
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
POWERPOINT 2010 KULLANIMI TEMEL SUNUM İŞLEMLERİ
Üniversiteler İçin Proje Yönetim Bilgi Sistemi
Bilgisayar Görmesi Ders4:GUI OLUSTURMA Yrd. Doç. Dr. Serap KAZAN.
Ders 2 Algoritma İfade Şekilleri
Yrd. Doç. Dr. Hidayet Takcı. Ders Hakkında Bu ders; veritabanı tasarım ve uygulama işlevi bir yazılım geliştirme görevi olarak ele alınacaktır. Derste.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Bilgisayar Mühendisliğindeki Yeri
Geleneksel Tasarım Araçları
T.C. BİLİM, SANAYİ VE TEKNOLOJİ BAKANLIĞI BİLİM VE TEKNOLOJİ GENEL MÜDÜRLÜĞÜ AR-GE DESTEK PROGRAMLARI İL MÜDÜRLÜKLERİ EĞİTİM VE BİLGİLENDİRME TOPLANTISI.
Sistem Analizi ve Tasarımı
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bitirme Tezi/Mühendislik Tasarımı Proje Türkçe Başlığı
YAZILIM DEĞERLENDİRME
UZAKTAN EĞİTİM SİSTEMİ
Bilişim Teknolojileri ve Yazılım Dersi
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
ERP Projesinin Aşamaları İzmir. ERP Projesinin Aşamaları SatışSatış - Başlangıç – Kurulum – Analiz – Plan – Uyarlama – Eğitim – Geliştirme.
Problem Çözme Yaklaşımları
KASTAMONU ÜNİVERSİTESİ
Uzm. Rıdvan YAYLA – Bilecik Üniversitesi Müh. Fak. Bilg. Müh. Bölümü
Bitirme Tezi/Mühendislik Tasarımı Proje Türkçe Başlığı
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
İLERİ VERİ TABANI UYGULAMALARI
Gereksinim Analizi Çalışmaları
Sunum transkripti:

Gereksinim Analizi Çalışmaları Yrd. Doç. Dr. Hidayet Takcı htakci@gmail.com | htakci@cumhuriyet.edu.tr Cumhuriyet Üniversitesi Bilgisayar Müh. Bölümü Öğretim Üyesi

Nedir? Projenin başarıya ulaşabilmesi için yapılması gereken en önemli iştir. Doğru şekilde isterleri ortaya konmuş projeler ancak başarılı olabilirler. İki aşamadan meydana gelir; Gereksinimlerin ortaya çıkarılması Gereksinimlerin öncelik durumuna göre analiz edilmesi

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 not edilmesi Mevcut yazılımların çıktılarının elde edilmesi ve analiz edilmesi İ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.

Gereksinim analiz dokümanı (GAD) Gerçeklenecek sistemin amaç ve kapsamından başlayıp, fonksiyonel ve fonksiyonel olmayan gereksinimlerinin açığa çıkarıldığı, aktörler, olaylar, senaryolar ve arayüz detayına kadar projenin irdelendiği temel dokümandır.

GAD bölümleri Giriş Teklif edilen sistem Fonksiyonel gereksinimler Fonksiyonel olmayan gereksinimler Sistem modelleri

Giriş bölümü Temel olarak üç bölümden oluşur; Amaç ve kapsam Hedefler ve başarı kriterleri Genel bakış

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 öğrenci kayıt işlemine imkan verecek, not girişleri ve düzeltmelerinin kolayca yapılabileceği bilgisayar destekli bir sistemin ortaya konmasıdır.” Kapsam ifadesi ise genellikle projede bir budamayı ifade eder. Örneğin; “Proje kapsamında dersliklerin takibi ve haftalık ders programı gibi detaylar yer almayacaktır.”

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 projelerde olmayan) konular mutlaka bu kısımda verilmelidir.

Hedefler ve başarı kriterleri Projenin amacı kısmında verilen ifadelerin bir miktar daha açılarak yazılmasıyla hedefler ortaya çıkar. Hedefler maddeler halinde ve mümkünse ya geliştirilme sırasına göre ya da önem sırasına göre verilmelidir. Örneğin; Projemizin öncelikli hedeflerinden birisi kesintisiz çalışma olanağı 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 şekilde desteklemelidir. …

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ı anda sistemi kullandığında sistemin performans sorunu vermemelidir. Öğrencilere sorunsuz şekilde sistem üzerinden mail atılabilmelidir. … Başarı kriterleri ölçülebilir ve açık olmalıdır.

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ünle ilgili yazılmış kısa bilgilere benzetilebilir. Örneğin; “Eğitim kurumları otomasyonu bir şehirdeki bütün eğitim kurumlarının birbiriyle koordineli şekilde çalışmasına imkan sağlayacak bilgisayar destekli bir uygulamadır.”

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ümde detaylandırılır. Önce fonksiyonel gereksinimler ile bir nevi yazılımın yerine getireceği işlevler ortaya konulur. Ardından fonksiyonel olmayan gereksinimler sayesinde sistemin görevi yerine getirirken harici unsurları da ihmal etmemesi 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.

Fonksiyonel gereksinimler Her uygulamanın amacı bir veya birçok fonksiyonu yerine getirmektir. Yerine getirilecek fonksiyonların neler olduğu bu 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 alt modü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, ders işlemleri, öğretim elemanı kayıt v.s. Belirlenip ardından her biriyle ilgili fonksiyonları yazmak daha akıllıca olacaktır.

Fonksiyonel gereksinimler Fonksiyonel gereksinim yazarken Sistemin yerine getirmesi gereken her işlev kısa ve anlaşılır şekilde yazılmalıdır. İşlevler kendi arasında önem sırasına göre sıralanabilir olmalıdır. Daha önemli, daha önemsiz gibi etiketler kullanılabilir. Her işlev “–meli”, “-malı” şeklinde gereklilik bildiren ifadeler şeklinde yazılmalıdır. Örneğin, “bu uygulama kimlik numarası üzerinden sorguya imkan sağlamalıdır” gibi.

Fonksiyonel olmayan gereksinimler Yedi madde şeklinde ele alınır. Kullanılabilirlik Güvenilirlik Performans Desteklenebilirlik Gerçekleştirim Arayüz Gizlilik gereksinimi

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ğru açılan menüler gibi) Kısa yollar ve hızlı erişim olanakları olmalıdır (klavye kısayolları ve popup menüler) Menülerde ve kısayollardaki standartlara uyulmalıdır. Örneğin, help menüsü en sonda, programdan çıkış ilk ana menünün en sonunda gibi. Butonlar uygun yerlere konulmalıdır. Kapat butonu sağ alt köşe gibi. Yerleşim, fontlar, renk ayarları v.s. Dikkatle yapılmalıdır.

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ın non-determenistik (beklenmeyen) hareketler yapmasının önüne geçilmelidir. Hata yakalama prosedürleri çalıştırılmalı ve yazılımın kesilmesi yerine uygun hata mesajları sunulmalıdır.

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 en iyi performans vereceği belirtilmelidir.

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şka yazılımların yüklenmesi gerekebilir, java eklentileri gibi. Ayrıca yazılımın hangi işletim sistemi tarafından desteklendiği verilmelidir. Mümkünse eklentiler yazılımla birlikte setup şeklinde verilmeli ve uygulama birden çok işletim sistemini desteklemelidir.

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 bu kategoride yer alabilecek örneklerden bazılarıdır.

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.

Gizlilik gereksinimi Bir uygulama çok farlı türde verilere erişimi destekleyebilir fakat kullanıcıların bütün verileri görme hakkı olmayabilir. O nedenle kullanıcıların sadece hakları olduğu verileri görmesi istenir. Gizlilik gereksinimi 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.

Sistem modelleri Dört farklı bileşenden oluşur Aktörler Olaylar Senaryolar Use-case modeli

Aktörler Sistemde yer alan, yazılım tarafından bilgileri yönetilecek varlıklardır. Gereksinim analiz dokümanında aktörler tanımlarıyla birlikte verilir. Bu aşamada bir aktör ve onun yapacağı işlevler şeklinde sunulur. 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 yapar Ders onayı yapar Not girişi yapar Devam bilgisi girer Öğrenci raporları alır

Olaylar Bu kısımda bütün aktörlerin görevleri bir arada sunulur. Böylece sistemde yapılacak bütün işlemler hakkında bilgi toplanmış olur. Bir ekran birden fazla olayı destekleyebilir. Olay güdümlü programlamada (event driven programming) her bir buton aslında bir olay ile ilişkilidir.

Senaryolar Uygulamadaki akış senaryolar şeklinde sunulur. Bir senaryo hem aktörün hem de olayların dahil olduğu işlemler bütünüdür.

Use-case model

Not Son iki sayfada yer alan görseller haricinde materyal tamamen Hidayet Takcı’nın özgün eseridir.