Yazlm Mhendislii Temel Sreler Sistem Analizi Do Dr

  • Slides: 20
Download presentation
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi Doç. Dr. Recep ERYİĞİT 1

Yazılım Mühendisliği Temel Süreçler - Sistem Analizi Doç. Dr. Recep ERYİĞİT 1

HEDEFLER üPlanlama raporu içeriği üYazılım Yaşam Döngüsü üAnaliz- Greksininim nedir? Gereksinim türleri üGereksinim Verisi

HEDEFLER üPlanlama raporu içeriği üYazılım Yaşam Döngüsü üAnaliz- Greksininim nedir? Gereksinim türleri üGereksinim Verisi Toplama Yöntemleri üKullanıcı Arayüz Prototipleme (KAP) üSistem Analiz Raporu 2

Proje Planı(Faaliyet-Zaman-Maliyet Çizelgesi) Proje Kaynakları 1. İnsan kaynakları : Proje şamalarında görev alacak personelin

Proje Planı(Faaliyet-Zaman-Maliyet Çizelgesi) Proje Kaynakları 1. İnsan kaynakları : Proje şamalarında görev alacak personelin nitelikleri ve çalışma zamanları 2. Sistemin geliştirilmesinde ve nihai sistemde kullanılacak donanım kaynaklarının edinilme zaman çizelgesi 3. Sistem geliştirme sunumunda kullanılacak yazılım kaynaklarının edinilme tarihleri Bu aşamanın en önemli görünür çıktısı projenin çıktılarına ait zaman çizelgesidir. İlk maliyet hesaplama bu aşamada olmasına karşın proje planı raporunda genellikle yer almaz. 3

Yazılım Yaşam Döngüsü Kaynak: –insan, donanım-yazılım İş zaman çizelgesi Maliyet hesabı Halihazırda işin yapılmakta

Yazılım Yaşam Döngüsü Kaynak: –insan, donanım-yazılım İş zaman çizelgesi Maliyet hesabı Halihazırda işin yapılmakta olan işlerin algoritmalarının belirlenmesi 4

Analiz (Çözümleme) ü Amaç: Sistemin işlevlerini ve kesin gereksinimleri açıklığa kavuşturmak ve sonucunda bunları

Analiz (Çözümleme) ü Amaç: Sistemin işlevlerini ve kesin gereksinimleri açıklığa kavuşturmak ve sonucunda bunları belirli bir formatta dokümante etmektir. Analiz çalışması; müşteri, yazılım mühendisi, sistem analisti, iş analisti, ürün yöneticisi vb. rollerin bir araya geldiği gruplar tarafından yapılabilir. İhtiyaçların net olmadığı durumlarda yazılım mühendisi ve müşteri arasında iletişim ve birlikte çalışmanın çok daha fazla olması gerekir. Çeşitli yazılım geliştirme metodolojilerinde bu aşamada kullanıcı dokümanlarının taslakları ile ve test plan dokümanları da oluşturulabilir. 5

Gereksinim Nedir? Gereksinim, sistemin amaçlarını yerine getirme yeteneği olan bir özellik ya da belirtim

Gereksinim Nedir? Gereksinim, sistemin amaçlarını yerine getirme yeteneği olan bir özellik ya da belirtim olarak tanımlanmaktadır. üGereksinim işlevlerinin nasıl yerine getirileceği ile ilgili değildir. Ne olduğu ile ilgilidir. 6

İşlevsel Gereksinim üİşlevsel gereksinim (Kullanıcı gereksinimi); sistem ile çevresi arasındaki iletişimi belirleyen gereksinimlerdir. Geliştirilecek

İşlevsel Gereksinim üİşlevsel gereksinim (Kullanıcı gereksinimi); sistem ile çevresi arasındaki iletişimi belirleyen gereksinimlerdir. Geliştirilecek olan sistemi kullanacak aktörlerin ihtiyaçlarını karşılayacak gereksinimlerdir. • bordronun ne zaman alınacağı • hangi verilerin alınacağı • çıktı formatı 7

İşlevsel Olmayan Gereksinimler üİşlevsel olmayan gereksinimler, kullanıcının sorunundan bağımsız olarak çözülmesi gereken işlemlerdir. üSistem

İşlevsel Olmayan Gereksinimler üİşlevsel olmayan gereksinimler, kullanıcının sorunundan bağımsız olarak çözülmesi gereken işlemlerdir. üSistem kısıtları olarak ta adlandırılabilir • kullanılacak bilgisayarın türü • yazılım geliştirme ortamı • kullanılacak veri tabanı yönetim sistemi 8

Gereksinim Türleri üFiziksel Çevre üArayüzler üKullanıcı ve İnsan etmeni üİşlevsellik üBelgeleme üVeri üKaynaklar üGüvenlik

Gereksinim Türleri üFiziksel Çevre üArayüzler üKullanıcı ve İnsan etmeni üİşlevsellik üBelgeleme üVeri üKaynaklar üGüvenlik üKalite Güvencesi 9

Fiziksel Çevre üİşlevlerin geliştirileceği, işletileceği aygıtlar nerededir? üSistem tek bir yerde mi olacak? Fiziksel

Fiziksel Çevre üİşlevlerin geliştirileceği, işletileceği aygıtlar nerededir? üSistem tek bir yerde mi olacak? Fiziksel olarak ayrı yerler söz konusu mu? üSıcaklık nem oranı veya manyetik etkileşim gibi çevresel kısıtlamalar var mı? 10

Arayüzler üGirdiler bir mi yoksa birden çok sistemden mi geliyor? üÇıktılar bir mi yoksa

Arayüzler üGirdiler bir mi yoksa birden çok sistemden mi geliyor? üÇıktılar bir mi yoksa birden çok sisteme mi gidiyor? üVerilerin nasıl biçimlendirileceğine ilişkin bir yol var mı? üVerilerin kullanılacağı önerilen bir ortam var mı? 11

Kullanıcı ve İnsan etmeni üSistemi kim kullanacak? üFarklı tiplerde kullanıcılar olacak mı? üHer bir

Kullanıcı ve İnsan etmeni üSistemi kim kullanacak? üFarklı tiplerde kullanıcılar olacak mı? üHer bir kullanıcı tipinin yetenek düzeyi nedir? üHer kullanıcı tipi için ne tür eğitimler gerekli? üBir kullanıcının sistemi kötü amaçlı kullanması ne ölçüde zordur? 12

İşlevsellik üSistem ne yapacak? üSistem bunu ne zaman gerçekleştirecek? üSistem nasıl ve ne zaman

İşlevsellik üSistem ne yapacak? üSistem bunu ne zaman gerçekleştirecek? üSistem nasıl ve ne zaman değiştirilebilir ve/veya güçlendirilebilir? üÇalışma hızı, yanıt süresi ya da çıktı üzerinde kısıtlayıcı etmenler var mı? 13

Belgeleme üNe kadar belgeleme gereklidir? üBelgeleme hangi kullanıcı kitlesini hedeflemektedir? üGeliştirilecek sistemin bakım sürecine

Belgeleme üNe kadar belgeleme gereklidir? üBelgeleme hangi kullanıcı kitlesini hedeflemektedir? üGeliştirilecek sistemin bakım sürecine ait belgeleme gerekli mi? 14

Veri üHem giriş hem çıkış için verinin biçimi ne olmalıdır? üBu veri ne sıklıkla

Veri üHem giriş hem çıkış için verinin biçimi ne olmalıdır? üBu veri ne sıklıkla alınacak veya gönderilecektir? üBu verinin doğruluk ölçüsü ne olmalıdır? üHesaplamaların sonuçları hangi hassasiyette olmalıdır? üSistemde ne kadar veri akışı olacaktır? üVerinin depolanma ve işleme süresi ne kadar olacak? 15

Kaynaklar üSistemi kurmak, kullanmak ve bakımını yapmak için ne kadar malzeme, personel ve diğer

Kaynaklar üSistemi kurmak, kullanmak ve bakımını yapmak için ne kadar malzeme, personel ve diğer kaynaklara ihtiyaç var? üGeliştiriciler hangi yeteneklere sahip olmalı? üSistem ne kadar fiziksel yer kaplayacak? üGüç, ısıtma ve soğutma için kısıtlar nelerdir? üGeliştirim için tavsiye edilen bir zaman çizelgesi var mı? 16

Güvenlik üSisteme ya da bilgiye erişim denetlenmeli midir? üBir kullanıcının verisi diğerinden nasıl ayrılacaktır?

Güvenlik üSisteme ya da bilgiye erişim denetlenmeli midir? üBir kullanıcının verisi diğerinden nasıl ayrılacaktır? üKullanıcı programları, diğer program ve işletim sisteminden nasıl ayrı tutulacaktır? üSistem hangi sıklıkla yedeklenecektir? üYedek kopyaları başka yerde saklanacak mıdır? üYangın ve hırsızlığa karşı ne tür önlemler alınacaktır? üInternet erişimi var mı? Güvenlik kullanılıyor mu? 17

Kalite Güvencesi üGüvenirlilik için gereksinimler nelerdir? üSistemin özellikleri insanlara nasıl aktarılmalıdır? üSistem çökmeleri arasında

Kalite Güvencesi üGüvenirlilik için gereksinimler nelerdir? üSistemin özellikleri insanlara nasıl aktarılmalıdır? üSistem çökmeleri arasında öngörülen zaman aralığı nedir? üKaynak kullanımı ve yanıt süresine ilişkin verimlilik ölçütleri nelerdir? 18

Gereksinim Özellikleri Gereksinimler üç amaca hizmet eder üGeliştiricilerin, müşterilerin sistemin nasıl çalışmasını istediklerini anlamalarını

Gereksinim Özellikleri Gereksinimler üç amaca hizmet eder üGeliştiricilerin, müşterilerin sistemin nasıl çalışmasını istediklerini anlamalarını sağlar. üGereksinimler, sonuç sistemin ne özellikte ve işlevsellikte olacağını söyler. üGereksinimler sınama ekibine, kullanıcıyı, sunulan sistemin istenen sistem olduğuna ikna etmek için neler göstermeleri gerektiğini söyler. 19

Doğrulama Süreci 1. Gereksinimler doğru oluşturulmuş mu? 2. Gereksinimler tutarlı mı? 3. Gereksinimler tam

Doğrulama Süreci 1. Gereksinimler doğru oluşturulmuş mu? 2. Gereksinimler tutarlı mı? 3. Gereksinimler tam mı? (Dışsal tamlık / İçsel tamlık) 4. Gereksinimler gerçekçi mi? 5. Her gereksinim kullanıcı tarafından istenen bir şeyi mi tanımlamaktadır? 6. Gereksinimler doğrulanabilir mi? 7. Gereksinimler izlenebilir mi? 20