Ders 4: Sistem Çözümleme

Slides:



Advertisements
Benzer bir sunumlar
Yazılım Geliştirme Süreci
Advertisements

YAZILIM GELİŞTİRME SÜRECİ
Yazılım Mühendisliği Bölüm - 4 Sistem Analizi
İHTİYAÇ BELİRLEME VE ANALİZİ
Problemi Çözme Adımları
Simülasyon Teknikleri
Yazılım Mühendisliği Bölüm - 6 Gerçekleştirim
Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği
Ölçme Düzeyleri Ölçeklerin Kullanılması
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
HASTANE ÇAĞRI MERKEZİ İYİLEŞTİRME ÇALIŞMASI Yalın 6 Sigma Projesi
BENZETİM Prof.Dr.Berna Dengiz 4. Ders Modelleme yaklaşımları
Gereksinim Analizi ve Varlık Bağıntı Diyagramı
Algoritma ve Akış Diyagramları
Sistem Geliştirme Sistemin tanımı. Sistemin Temel özellikleri
Yazılım Proje Yönetimi
VERİ TABANI VE VERİ TOPLAMA YÖNTEMLERİ
FMEA Failure Mode and Effects Analysis-Hata Türü ve Etkileri Analizi
ÜÇÜNCÜ BÖLÜM İÇ DENETİM VE İÇ KONTROL SİSTEMİ
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
PROGRAM TASARIMI
DEĞİŞKENLER VE VERİ TİPLERİ
Veri tabani nedir? Veritabanı basit olarak bilgi depolayan bir yazılımdır. Bir çok yazılım bilgi depolayabilir ama aradaki fark, veritabanın bu bilgiyi.
İHTİYAÇ BELİRLEME VE ANALİZİ
SİSTEM ANALİZİ VE TASARIMI
DERECELİ PUANLAMA ANAHTARLARININ HAZIRLANMASI
Bilimsel Araştırmanın Alternatifleri
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
Bilimsel Araştırma Yöntemleri
SİSTEM ANALİZİ ve TASARIM
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Veri Tabanı Tasarım Süreci
Karar Sürecinin Modellenmesi
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
MÜHENDİSLİK FAKÜLTESİ İNŞAAT MÜHENDİSLİĞİ BÖLÜMÜ GÜZ YARI YILI DOÇ.DR. İBRAHİM YİTMEN INSA 498 YAPıMDA BİLİŞİM TEKNOLOJİLERİ UYGULAMALARı.
İNCELEME Bilimin İşlevleri İstatistiksel Yöntemler Değişken Türleri
İnsan Kaynakları Bilgi Sistemleri
Yapısal Tasarım Araçları
Geleneksel Tasarım Araçları
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.
Faaliyet Planlamasının Yapılması
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Yapısal Tasarım Araçları
İNSAN BİLGİSAYAR ETKİLEŞİMİ: BİLİŞSEL BOYUT II. Algı açısından baktığımızda, insanın bilişsel sistemi, etrafımızdaki dünyayı gelen bilgileri  Bağlam.
Bilgisayar Mühendisliğindeki Yeri
Geleneksel Tasarım Araçları
Sistem Analizi ve Tasarımı
 Active Directory, ağ kaynaklarını verimli bir şekilde yönetmenize olanak sağlayan, genişletilebilir bir dizin hizmetidir. Bu dizin hizmeti, ağda bulunan.
Eğitimde ve Psikolojide ÖLÇME VE DEĞERLENDİRME
Planlama ve Sistem Çözümleme
Ders 2 Kavram Öğrenmeyi Etkileyen Etmenler
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
İNSAN BİLGİSAYAR ETKİLEŞİMİ: BİLİŞSEL BOYUT II
Bilimsel Araştırmanın Alternatifleri
SİSTEM ANALİZİ VE TASARIMI
ACTIVE DIRECTORY.
SİSTEM ANALİZİ VE TASARIMI
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
ONTOLOJİ GELİŞTİRME ALANINDA ÇEVİK YAKLAŞIMLAR
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problemi Çözme Adımları
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
Bilimsel bilgi Diğer bilgi türlerinden farklı
Psikolojiyi Tanımlamak
İLERİ VERİ TABANI UYGULAMALARI
Anket ve Likert Ölçekler
Veri Toplama Araçları Anket, Gözlem vb.
Sunum transkripti:

Ders 4: Sistem Çözümleme Yazılım Mühendisliği Ders 4: Sistem Çözümleme

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

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

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

Gereksinim Türleri Yazılım Mühendisliği

Gereksinim Türleri Yazılım Mühendisliği

Gereksinim Türleri Yazılım Mühendisliği

Gereksinim Türleri Yazılım Mühendisliği

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

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

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

Sistem Çözümleme Temel olarak sistem çözümleme çalışması: Mevcut Sistemin İncelenmesi Önerilen Sistemin Modellemesi Yazılım Mühendisliği

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

Ö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

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

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

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

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

İ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

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

Nesne-İlişki Şemaları Yazılım Mühendisliği

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

Nesne-İlişki Şeması Örnek Araba ve İnsan adlı iki veri nesnesi ele alalım. Yazılım Mühendisliği

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: 1 - 1 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

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

Veri Sözlüğü Yazılım Mühendisliği

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

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

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

(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

(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

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