Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Ders 4: Sistem Çözümleme
Yazılım Mühendisliği Ders 4: Sistem Çözümleme
2
Giriş Sistem çözümleme çalışması, üretim sürecinin başlangıcıdır. Bu aşamada temel olarak mevcut sistemin nasıl çalıştığı araştırılır. Bu işlemden sonra önerilen sistem için mantıksal modelleme yapılır. Çözümleme çalışmasında mutlaka bir model/yöntem kullanma zorunluluğu vardır. Aksi durumda, çalışma dağınık biçimde sürer, denetlenemez ve başarısız olur. Yöntemler, veri modelleme ve süreç modelleme yöntemleri olarak ikiye ayrılabilir. Örneğin, Veri akış diyagramları ve Nesne ilişki şemaları yaygın olarak kullanılan süreç modelleme ve veri modelleme yöntemleridir. Yazılım Mühendisliği
3
Gereksinim Nedir? Gereksinim, kullanıcı ve tasarımcı ya da yazılım mühendisi ile ilgili olarak iki amaca yönelik olacak biçimde tanımlanmalıdır: Kullanıcılar, geliştirilecek sistemin amaçları istenilen ölçüde tanımlanmış mı sorusuna yanıt ararken, Tasarımcılar ise gereksinimlerin tasarıma dönüştürülebilme uygunluğunu ararlar. Bu nedenle Gereksinim Çözümleme amacıyla kullanılacak araç ve yöntemler hem kullanıcı hem de tasarımcı tarafından algılanabilir düzeyde olmalıdır. Yazılım Mühendisliği
4
Gereksinimler kaça ayrılır?
Temel olarak, gereksinimler iki ana grupta incelenebilir: İşlevsel Gereksinimler Sistem ile çevresi arasındaki iletişimi belirleyen gereksinimlerdir. Örneğin hangi koşullarda bir kişiye mesai parası ödenmeyeceği gibi. İşlevsel Olmayan Gereksinimler Kullanıcı sorunundan bağımsız olarak çözülmesi gereken sorunlardır. Kullanılacak bilgisayarın türü, yazılım geliştirme ortamı v.b. Yazılım Mühendisliği
5
Gereksinim Türleri Yazılım Mühendisliği
6
Gereksinim Türleri Yazılım Mühendisliği
7
Gereksinim Türleri Yazılım Mühendisliği
8
Gereksinim Türleri Yazılım Mühendisliği
9
Gereksinim Özellikleri
Gereksinimler üç amaca hizmet eder. Geliştiricilerin, müşterilerin sistemin nasıl çalışmasını istediklerini anlamalarını sağlar. Tasarımcılara, sonuç sistemin ne işlevsellik ve özellikte olacağını söyler. Sınama ekibine, kullanıcıyı, sunulan sistemin istenen sistem olduğuna ikna etmek için neler göstermeleri gerektiğini söyler. Özellikle, gereksinimlerde belirtilen performans özellikleri ölçülebilir birimler olmalıdır ve böylece her sınama için bir hedef sağlanmalıdır. Yazılım Mühendisliği
10
Gereksinimler geçerli midir?
Hem geliştiriciler hem de kullanıcılar gereksinimleri kullandığı için, gereksinimlerin geçerliliğinin doğrulanması gerekir. Gereksinimler doğru oluşturulmuş mudur? Gereksinimler tutarlı mıdır? Gereksinimler tam mıdır? Gereksinimler gerçekçi midir? Her gereksinim kullanıcı tarafından istenen bir şeyi mi tanımlamaktadır? Gereksinimler doğrulanabilir mi? Gereksinimler izlenebilir mi? Yazılım Mühendisliği
11
Gereksinimler Örnek Bir uzay mekiği sistemi için bir gereksinimin aşağıdaki şekilde öngörüldüğünü varsayalım: Bu gereksinimi karşılayıp karşılamadığını görmek için sistem nasıl sınanabilir? Benzer şekilde, sınanamayacak gereksinimlerden kaçınılmalıdır. "Gerçek-zamanlı yanıtın" tanımı net olarak bilinmelidir. Eğer gereksinim; biçiminde olsaydı, sistemi sorgulama işlevinin nasıl sınanacağı kesin olarak bilinebilirdi. Yazılım Mühendisliği
12
Sistem Çözümleme Temel olarak sistem çözümleme çalışması:
Mevcut Sistemin İncelenmesi Önerilen Sistemin Modellemesi Yazılım Mühendisliği
13
Mevcut Sistemin İncelenmesi
Bu çalışmada temel amaç yazılım geliştirilecek olan sistemin anlaşılması ve tanınmasıdır. Bu amaçla görüşme yapma, gerekirse anket yapma yöntemleri kullanılır. Yapılacak görüşmelerde, mevcut sistemdeki tüm işlemler, girdi, işlev, çıktı ve diğer işlevlerle olan ilişkiler sorgulanır. İlgili yönerge, kanun ve yöntemler kullanıcıdan edinilir. İnceleme işleminin belirtilmesi amacıyla çeşitli yöntemler kullanılır. İnceleme sonucu elde edilen bulgularla ilgili olarak kullanıcıdan geri bildirim alınır. Yazılım Mühendisliği
14
Önerilen Sistemin Modellemesi
Mevcut sistemin modellenmesinden sonra, bilgisayar ortamında işlerin yapılabilmesi amacıyla önerilecek sistemin modeli oluşturulur. Bu model, önerilen sistemin işlevsel yapısı, veri yapısı ve kullanıcı ara yüzünü içerir. Bu model aynı zamanda “mantıksal model” olarak da tanımlanır. Mantıksal model, önerilen sistemin veri yapısını ve süreç yapısını hem genel hem de ayrıntılı olarak tanımlar. Yazılım Mühendisliği
15
Gereksinim Verisi Toplama
Mevcut sistemin incelenmesi sırasında kullanılabilecek temel yöntemler: Soru Sorma Psikolojik Türetme Teknikleri İstatistiksel Teknikler Yazılım Mühendisliği
16
Soru Sorma Yöntemi İkiye ayrılır: Karşılıklı Görüşme Anket Uygulaması
Sorular, dağınık olarak değil, yapısal bir biçimde sorulmalıdır. Bu nedenle aşağıdaki üç tarzdan biri seçilmelidir. Yazılım Mühendisliği
17
Anket Uygulaması Anket yöntemi, bir başka veri toplama yöntemidir.
Kullanıcı sayısının fazla olduğu durumlarda, eğilimleri ve davranış biçimlerini saptamak amacıyla yapılır. Genelde yazılı test biçiminde hazırlanır. Bir anket sorusu temel olarak soru kısmı ve yanıt kısmı olmak üzere iki kısımdan oluşur. Yanıt kısmı da tanımlama ve ölçek kısmı olmak üzere iki bölümden oluşur. Yazılım Mühendisliği
18
Psikolojik Türetme Teknikleri
Özellikle, belirsizliğin fazla olduğu ve zayıf yapılı ortamlarda, bilgi edinebilmek amacıyla insan psikolojisine dayalı teknikler kullanılır. Bu teknikler temelde görüşme ve ankete dayalı tekniklerdir. Diğerlerinden farkı, bilgi üretmek için psikolojide bilinen "üçleme" tekniğini kullanmasıdır. Bazı diğer psikolojik türetme yöntemleri, karar verme ortamlarında bilgi gereksinimlerini saptamak amacıyla algılama haritaları ve neden-etki çizelgeleri kullanmaktadır. Yazılım Mühendisliği
19
İstatistiksel Teknikler
Verinin yoğun ve veri hacminin yüksek olduğu ortamlarda, verinin özelliklerini belirlemek amacıyla istatistiksel teknikler kullanılır. Bu yöntemlerden en çok bilinen ikisi Örnekleme Yöntemi ve PIRA Modelidir. Örnekleme yöntemi, bir topluluk içerisinden, sistematik yolla temsili bir örnek alma olarak tanımlanır. Amaç, veri toplama hızını arttırmak ve verilerdeki çelişkileri önlemektir. PIRA (Personal, Interactive, Report and Analysis) Modeli, bilgi gereksinimlerinin tanımlarını belirli normlara bağlı olarak açıklamayı hedefler. Kişilerin bilgiye dayalı tercihlerini belirlemek amacıyla kullanılır. Yazılım Mühendisliği
20
Veri Modelleme Yöntemleri
Önerilen sistemin mantıksal modelinde veri yapısını açıklamak için “Veri Modelleme” yöntemleri kullanılmaktadır. Bu yöntemler, veri yapısını en soyut düzeyden en ayrıntı düzeye kadar çeşitli düzeylerde tanımlamayı amaçlar. Sistem çözümleme aşamasında en yaygın olarak kullanılan veri modelleme yöntemleri iki tanedir: Nesne İlişki Şemaları: Veri yapısını en soyut düzeyde tanımlamak amacıyla kullanılır. Veri Sözlüğü: Veri yapısına ilişkin ayrıntı bilgileri içerir. Yazılım Mühendisliği
21
Nesne-İlişki Şemaları
Yazılım Mühendisliği
22
Nesne-İlişki Şemaları
Bir veri nesnesi, üç temel özelliği ile bilinir: Veri nesnesi varlığının adı: Veri nesnesi varlığını tanımlayan özelliktir. Veri nesnesi varlığının özellikleri Veri nesnesi varlığının diğer veri nesnesi varlıklarına referansı: Veri nesnesi varlığının diğer veri nesneleri ile olan ilişkisinin belirtilmesi amacıyla kullanılır. Bu amaçla her bir veri nesnesini tek olarak belirleyen bir belirteç (anahtar) kullanılır. Söz konusu anahtar veri nesnesi varlığının ad özellikleri arasında yer alır. Yazılım Mühendisliği
23
Nesne-İlişki Şeması Örnek
Araba ve İnsan adlı iki veri nesnesi ele alalım. Yazılım Mühendisliği
24
Nesne İlişkileri Veri nesneleri arasındaki ilişkiler bire bir (1-1), bir den çoğa (1-N ya da N-1) ya da çoktan çoka (M-N) tanımlanabilir. Örneğin: ilişki : Bir İnsan ancak bir Araba sahibi olabilir. 1 - N ilişki: Bir İnsan birden çok Araba sahibi olabilir: M - N ilişki: Birden çok İnsan birden çok Araba sahibi olabilir. Yazılım Mühendisliği
25
Veri Sözlüğü Nesne ilişki şemalarında belirtilen nesne özelliklerinin ayrıntılı tanımları Veri Sözlüğünde yer alır. Söz konusu ayrıntılı tanımlar genel olarak: Veri Adı Veri Eş-adı (Aynı veri için kullanılan diğer ad) Nerede/nasıl kullanıldığı İçerik tanımı türünde bilgileri içerir. Örnek: Kişi telefon bilgisinin tanımlanması telefon no = [ yer kodu | numara ] yer kodu = [ 212 | 242 | ….. | 312 ] numara = * yedi basamaklı herhangi bir sayı * Yazılım Mühendisliği
26
Veri Sözlüğü Yazılım Mühendisliği
27
Süreç/İşlem Modelleme Yöntemleri
Süreç/İşlem modelleme yöntemleri, geliştirilecek sistemin süreç ya da işlemlerini ve bu süreçler arasındaki ilişkileri tanımlamak amacıyla kullanılan yöntemlerdir. Veri Akış Diyagramları (VAD) Süreç Tanımlama Dili (STD) Karar Tabloları Karar Ağaçları Nesne Şemaları Yazılım Mühendisliği
28
Veri Akış Diyagramları
Veri Akış Diyagramları kullanılarak geliştirilecek sistemin mantıksal modeli, 'Yukarıdan Aşağıya' bir yaklaşımla oluşturulur. Sistem önce en genel biçimiyle ele alınır, yalnızca dışsal ilişkileri incelenir. Daha sonra, sistemin iç yapısındaki süreçler ve bu süreçler arasındaki ilişkiler belirlenen bir ayrıntı düzeyine kadar modellenir. 4 temel sembol kullanılarak oluşturulur. Yazılım Mühendisliği
29
Veri Akış Diyagramları
Mantıksal veri yığınlarını göstermek amacıyla ucu açık dikdörtgenler kullanılmaktadır. Süreçler arası, süreçler ile veri kaynakları ve veri depoları arasındaki veri akış ilişkileri göstermek amacıyla oklar kullanılır. Temel olarak bir sistemin mantıksal modelinin süreç yapısı, üç tür Veri Akış Diyagramı çizilerek elde edilir. Yazılım Mühendisliği
30
(DB: Dış birim, BS: Bilgi Sistemi)
Kapsam Diyagramı (DB: Dış birim, BS: Bilgi Sistemi) VAD, bilgi sisteminin durağan yapısını gösterir. VAD, bilgi sisteminin süreçlerini, bu süreçler arasındaki veri akış ilişkilerini gösterir. VAD bilgi sistemi süreçlerinin zamana ilişkin durumunu ve bu durumla ilgili bilgileri göstermez. Yazılım Mühendisliği
31
(S: Süreç, VD: Veri Deposu, a,b,c,d,e,f,g,h,i,k : Veri akışları)
Genel Bakış Diyagramı (S: Süreç, VD: Veri Deposu, a,b,c,d,e,f,g,h,i,k : Veri akışları) VAD, bilgi sistemi süreçleri ile ilgili olan kurum birimlerini ya da dış birimleri bilgi kaynakları olarak gösterir. VAD, bilgi sistemi süreçlerinin kendi aralarındaki "karar" ilişkisini göstermez. Yazılım Mühendisliği
32
Detay Ayrıntı Diyagramı
(a,b,c,l,m : Veri akışları) VAD, bilgi sistemi için gerekli olan ana veri depolarının neler olduğunu ve hangi süreçler tarafından kullanıldığını gösterir. VAD, gerek bilgi sistemi süreçleri, gerek veri akışları gerekse bilgi kaynakları ve bilgi depoları için ayrıntı içermez. Yazılım Mühendisliği
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.