BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY

Benzer belgeler
NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

Yaz.Müh.Ders Notları #4 1

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

SiSTEM ANALiZi ve TASARIMI

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

Kullanım Durumu Diyagramları (Use-case Diyagramları)

BMH-405 YAZILIM MÜHENDİSLİĞİ

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

NESNEYE YÖNELİK TASARIM SÜRECİ

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili

BMH-405 YAZILIM MÜHENDİSLİĞİ

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 8.Hafta. Yazılım Doğrulama ve Geçerleme

UNICASE.... kapsamlı bir CASE* aracı. *

YAZILIM MODELLEME VE TASARIM

YZM 2108 Yazılım Mimarisi ve Tasarımı

1.Yazılım Geliştirme Metotları 1

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

<Ekip Adı> <Proje Adı> Yazılım Gereksinimlerine İlişkin Belirtimler. Sürüm <1.0>

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Yazılım Mühendisliği Bölüm - 3 Planlama

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

9.DERS Yazılım Geliştirme Modelleri

Yaz.Müh.Ders Notları #6 1

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ. 5.Hafta Sistem Çözümleme. Dr. Muhammet BAYKARA

Nesne ve Sınıf Kavramları

T.C KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Yazılım Mühendisliği Temelleri

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN

YAZILIM MODELLEME VE TASARIM

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Chapter 5 Sistem Modelleme. Lecture 1. Chapter 5 System modeling

11.DERS Yazılım Testi

FTR 331 Ergonomi. yrd. doç. dr. emin ulaş erdem

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

4. ÜRÜN GELİSTİRME İŞLEMİ

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY GENEL BİLGİLER

X. Çözüm Ortaklığı Platformu

Unified Modeling Language

Yazılım Mühendisliği 1

SİSTEM ANALİZİ VE TASARIMI

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

Sistem Analizi ve. Tasarımı. Mustafa COŞAR

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

YAZILIM MODELLEME VE TASARIM

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Eme Sistem simülasyonu. Giriş. Simulasyonun Kullanım Alanları (Devam) Simulasyonun Kullanım Alanları. Sistem Simülasyonuna Giriş

Öğretim içeriğinin seçimi ve düzenlenmesi

İŞLETME RİSK YÖNETİMİ. Yrd. Doç. Dr. Tülay Korkusuz Polat 1/30

Yazılım Tasarımı(Software Design)

Nesneye Dayalı Programlama

EME 3105 Giriş SISTEM SIMÜLASYONU Sistem Simülasyonuna Giriş Simülasyon Ders 1 Simülasyon, Yrd.Doç.Dr.Beyazıt Ocaktan

Uygulamaları ulut bilişime geçirmeden önce, firmanızın/şirketinizin ya da. işinizin gereksinimlerini göz önüne almanız gerekir. Aşağıda bulut bilişime

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Yazılım Mühendisliği BIL

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ

MODELLEME VE BENZETİM

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

BİL-142 Bilgisayar Programlama II

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

Yaz.Müh.Ders Notları #3 1

TBİL UYGULAMA I DERSİ. Mobil Barkotlu Depo Programı Projesi PROJESİ TASARIM RAPORU

Yazılım Tasarımı(Software Design)

İşsizlik Sigortası Sisteminin Bileşen Yönelimli Modellemesi

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

VERİ TABANI SİSTEMLERİ

Yönetim Sistemleri Kurulumu

Veri Akış Diyagramı (VAD)

Süreklilik Göstergesi. Kavram Haritaları. Etkileşim Göstergesi. Problem/Çözüm Göstergesi Karşılaştırma Matrisi. (Anlam Çözümleme Tablosu)

Öğretim planındaki AKTS Ulusal Kredi

9/14/2016 EME 3117 SİSTEM SIMÜLASYONU. Giriş. (Devam) Simulasyonun Kullanım Alanları. Sistem Simülasyonuna Giriş. Hafta 1. Yrd.Doç.Dr.

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

Yazılım Testine Bakış. Defne Şarlıoğlu

Enterprise Architecture(EA) KURUMSAL MİMARİ

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ

Sistem Analizi ve Planlama

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

Transkript:

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR 2017 Yrd. Doç. Dr. Nesrin AYDIN ATASOY 5. HAFTA: YAZILIM İSTERLERİ ÇÖZÜMLEMESİ Çözümleme Yöntemleri Nesneye Yönelik Çözümleme Çözümleme: Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan ve üst düzey planlama eylemlerinden oluşur. Uygulama/problem alanının anlaşılması. Kullanıcı gereksinimlerinin anlaşılması. Koddaki sınıflar ve nesneler ile bunların arasındaki üst düzey etkileşimlerin belirlenmesi: Çözümleme modelinin oluşturulması. Bir sorunu anlamadan çözemezsiniz. Nesneye yönelimin çözümlemeye uygulanması günümüzde kullanılan en yaygın tekniklerden biridir. Klasik çözümlemelerde yer alan giriş, işleme ve çıkış şeklinde kullanılan bilgi akışı yerine, nesneye yönelik çözümleme, nesnelere, onların özelliklerine ve onlar üzerinde yapılan işlemlere yoğunlaşır.

Nesne Nedir? İyi tanımlı bir kapsamı ve kimliği olan, belirli bir durum ve davranışı içeren, soyut veya somut varlıktır. Nesne gerçek dünyadaki somut bir varlığı temsil edebilir. Televizyon, motor, vb. Nesne tamamen kavramsal bir varlığı temsil edebilir. Banka hesabı, vb. Not: ymg_hafta_5_ekle_1 e git (1-14 sf anlat). Nesne Tanımlama Nesne tanımlamayı kolaylaştırabilmek için nesnelerin alabileceği biçimlere göz atalım; Sistemin dışında yer alan ve sistemin kullanacağı bilgiyi üreten ya da tüketen unsurlar birer dış varlıktır (giriş/çıkış aygıtları, işletmenler, başka sistemler gibi) ve nesne olarak tanımlanabilir. Sistemin çalışması sırasında meydana gelen ara-işlem, belirli bir hareket, bir aktarım ve bunların tekrarı gibi olaylar da birer nesne olabilirler. Sistemle etkileşimde bulunan insanların görevleri ya da rolleri nesne olabilirler (satıcı, alıcı, işçi, öğretmen, yönetici gibi). Belirli bir uygulamaya ait grup, ekip, bölüm gibi örgüt birimleri birer nesnedir. Uygulama alanı içinde garaj, apartman, okul, üretim hattı gibi yer belirten adlar birer nesnedirler. Varlıkların sınıflandırılmasında kullanılan çeşitli yapılar, araç ve gereçler (taşıtlar, bitkiler, kitaplar) birer nesne olarak tanımlanabilir. Bu biçimler akılda tutularak, önce problem alanındaki nesne olma olasılığı bulunan tüm isimler çıkartılır. Sonra bunların içinden çözümlemeye dahil edilecek nesne adayları saptanır. Aday nesneler içinden aşağıdakiler asil nesne olarak belirlenir: Sistemin etkileşimde bulunduğu dış varlıklar Sistemin doğru işleyebilmesi için gerekli olanlar Özniteliklerinin değiştirilebilmesine olanak sağlayan yordamlara gereksinim duyanlar Belirli bir tipten üretilebilenler Ortak özellikleri ve ortak yordamları (yani metotları) olanlar.

Nesne Sınıflandırma Nesneler arasında ilişki kurmak, ortak özelliklerini belirlemek ve tekrar kullanabilmek için nesnelerin sınıflandırılması faydalıdır. Kullanım yerleri ve amaçlarına göre nesneleri şöyle sınıflandırabiliriz: Denetim Uygulama Veri yönetimi Arayüz Modelleme Nesnelerin belirlemesinden sonra nesneye yönelik çözümlemenin modellenmesine başlanır. Çok çeşitli modelleme yöntemleri ve gösterim şekilleri vardır. Modelleme, nesnelerin, yapılarını ve aralarındaki ilişkilerin şekilsel olarak gösterilmesi temeline dayanır. Büyükçe bir yazılımın çözümleme modelinde yüzlerce nesnenin yer aldığı yapılar bulunabilir. Birbiriyle ilişkili nesne ve yapıları gruplayarak daha büyük nesneler oluşturmak ve bu şekilde üst düzey bir kapsama sağlamak da mümkündür. Nesnelerin yaratımları (instance) arasındaki ilişkiler ve ileti yolları da bu modelde yer alır. Hangi nesnenin kime, ne kadar ileti göndereceği, ne tür bağlantıları bulunduğu gösterilir. Yapısal çözümlemede olduğu gibi, bu modellemede kullanılan diyagramlar Yazılım İsterleri Belirtimi için çok önemli ve kullanışlı girdiyi oluştururlar. Bu amaçla, her bir nesnenin belirtimi ayrı ayrı yapılmalı ve aşağıdaki bilgiler kapsanmalıdır: 1. Nesnenin adı 2. Öznitelik tanımlamaları a. Öznitelik adı b. Öznitelik içeriği c. Öznitelik tipi 3. Yordamlar a. Yordamın adı

b. Yordamın arayüz belirtimi c. Bilgi işleme ve hesaplama belirtimi d. Başarım gereksinimi e. Kısıtlar (zaman, özkaynak, erişim) 4. Nesnenin girdileri 5. Nesnenin çıktıları 6. Yaratımlar arası bağlantılar 7. İleti bağlantıları Unified Modeling Language (UML) UML diyagramı, yazılım ürünlerinin gösterimi için yapı taşları ve ilişkileri gösterir. Fakat; Sisteminin nasıl geliştirilmesi gerektiğini tanımlamaz. Nesne yönelimli yazılım modellemesi için yapılar sunar, ancak; o Bu yapıların hangi sıra ile kullanılması gerektiğini tanımlamaz. o Yapıların geliştirme sürecinin hangi aşamalarında kullanılması gerektiğini tanımlamaz. Nesneye Yönelik Tasarım İçin Kullanılan Başlıca UML Elemanları

Use case diyagramı: Aktörler ve use case ler arasındaki ilişkiyi gösterir. Etkinlik (Activity) diyagram: Çoğu durumun eylem durumu olduğu ve geçişlerin bir durumdaki eylemin sonuçlanması ile tetiklendiği özel bir durum diyagramı türüdür. Bu diyagram daha çok iç işlemler esnasındaki akışı gösterir. Sınıf diyagramı (class diagram) : Sistemi oluşturan sınıflar ve bunlar arasındaki ilişkileri gösterir. Ardıl-işlem diyagramı (sequence diagram) : Nesneler arası etkileşim (davranış),nesneler arası kontrolün akısı (zamana göre sıralı) gösterir. İşbirliği diyagramı (collaboration diagram) :Nesneler arası etkileşim (davranış),nesneler arası kontrolün akısı (mesaj sıralı) gösterir. Durum diyagramı (state diagram): Dinamik davranıs, olay ( event ) esaslı, Bir nesnenin iç davranısı (nesne yasam döngüsü) Etkinlik diyagramı (activity diagram):operasyon akısları Bilesen diyagramı (component diagram):uygulamanın fiziksel yapısı, Gerçeklestirme asamasında Yayılma diyagramı (deployment diagram):donanım topolojisi,tasarım ve gerçeklestirme asamalarında KULLANIM SENARYOLARININ GRAFİK GÖSTERİMİ Kullanım senaryoları, ayrıntılı ve uzun belgelerdir. Yazılımın yapacağı işlerin özet gösterimi için kullanım senaryosu şemaları kullanılır (use-case diagrams). Çizim kurallarını verdikten sonra örnek senaryonun şemasını çiz.

Use Case Elemanları Çizim Bilgileri Ok yönü aynı zamanda ilişkiyi okuma yönüdür. UC-B extends UC-A: B işlevi, A işlevi yürütülürken oluşabilecek bir sapış anlamındadır. A: Ana akış B: Ana akıştaki bir seçenek, ana akıştan bir sapış, alt akış UC-A includes UC-C: A işlevi, C işlevini içerir. A: Ana akış, içeren akış C: Alt akış, içerilen akış

Örnek: Gereksinim Analizinde Use Case Bakış açısı: Sistem, kullanıcısı için ne yapacak? o Sistem kapalı bir kutu ( black-box ) o Sistem-kullanıcı etkileşimi o Sistemin dışarıdan görünen davranışı İlgilenmediklerimiz: o Sistemin iç yapısı o Sistem belirlenen davranışı nasıl yapacak? o Belirlenen davranış nasıl kodlanacak? Bu bakış açısı, sistemdeki tüm islevselligi degil, kullanıcılar için artı deger olusturacak işlemleri düşünmemizi sağlar. Kullanıcının gereksinimi olmayan özellikleri tanımlamamızı engeller. Kullanıcının da anlayabileceği şekilde sistemin davranışlarını ve sorumluluklarını tanımlar. Kullanıcı ile iletişimi kolaylaştırır. Kullanıcı ara yüzlerinin tasarlanmasını kolaylaştırır. Kullanıcı kılavuzlarını yazarken başlangıç noktasını oluşturur. Geliştirme sürecini başlatır ve tüm temel is adımlarını birbirine bağlar Tasarlanacak test durumlarına esas olusturur

Veri Yapılarına Yönelik Çözümleme Uygulama yazılımlarında kullanılan bilginin içeriği, akışı ve yapısı vardır. Birçok yazılımında da, genel bilgi işlemenin yanı sıra, sıra düzensel bilgiler, yani veri yapıları bulunmaktadır. Genellikle, giriş akışı ile toplanan veriler işlenerek bilgi depolarına konur ve buradan belirli yapılarda ve akış şeklinde dışarı çıkar. İş dünyası uygulamaları, giriş dosyalarına göre raporlar üreten çeşitli sistemler, işletim sistemi yazılımları, bilgisayar destekli tasarım ve üretim sistemleri veri yapılarını ağırlıklı olarak kullandıkları için böyle sistemlerin çözümleme ve tasarımında veri yapılarına yönelik yöntemin uygulanması yararlı olabilir. Günümüzde fazla kullanılmayan ancak çeşitli uygulama şekilleri olan bu yöntemde, ortak olarak, varlık ya da öğe adı verilen bilgi nesneleri, onlar üzerinde yapılan işlemler ve yapılar tanımlanır, mimari ve yordamsal tasarım için altyapı hazırlanır. Bu yönteme uygun olarak sistem geliştirme amacıyla ortaya atılan çeşitli uygulama şekilleri bulunmaktadır. Bunların herbirinin çeşitli gösterim şekilleri ve kuralları vardır, ancak genelde birbirlerine yakındırlar. Biz belirli bir yönteme ağırlık vermeden hepsinde ortak olarak bulunan noktalara göre bu yöntemi kısaca inceleyeceğiz. Veri yapılarına yönelik çözümlemede öncelikle uygulama alanı bağlamında bilgiyi üreten ve tüketen unsurlar incelenir, bunlardan yazılım sistemi bağlamı içinde yer alabilecekler ayrılır. Sonra da uygulamanın işlevleri ortaya konur ve sonuçlar modellenir. Uygulama alanı bağlamını belirlemek için üzerinde işlem yapılacak bilgi öğeleri ile bunların üreticileri ve tüketicileri tanımlanır. Bu amaçla, veri akış diyagramlarına çok benzeyen varlık diyagramları (entity diagram) kullanılır. Bu diyagramda yer alan yuvarlaklar bilgi üreticilerini ve tüketicilerini, oklar da akan bilgiyi gösterir. Kullanılan varlıkların sıradüzensel yapısı, işlevler, ara-işlem sırası, zamanlama özellikleri birer diyagramla gösterilir. Bundan sonra da tasarım aşamasına geçilir. Belgelendirme Yazılımın amacına ulaşarak başarılı olabilmesi için iyi bir belirtime dayanması gereklidir. Belirtim, isterlerin iyi bir şekilde ifade edilerek belgelendirilmesi işlemidir. Yazılım belirtimi çeşitli şekillerde hazırlanabilir. Bu bir sunu olabileceği gibi büyük bir belge de olabilir. Çeşitli standartlarda yer almakta olan bu belgeye Yazılım İsterleri Belirtimi (Software Requirement Specifications) adı verilmektedir. Yazılım İsterleri Belirtimi küçük sistemler için bir tane olabilir. Öğelere ayrıştırılabilen büyük sistemlerde ise her öğe için ayrı birer belirtim belgesi hazırlanması daha uygun olur. Yazılım İsterleri Belirtimi, varsa prototip, yazılım geliştirici ve müşteri tarafından gözden geçirilir. Bu belirtim yazılım geliştirmede kullanılacağı için ayrıntılara, tanımlara, hatta sözcük seçimine çok dikkat

edilmelidir. Bu gözden geçirme işlemi önce genel bir bakış açısıyla, daha sonra da ayrıntılı olarak yapılır. Belge İçeriği Bir Yazılım İsterleri Belirtimi belgesi içinde bu bilgiler yer almalıdır; Sistemin veya öğenin genel anlatımı, Gerekli sistem durumları ve kipleri, Sistemin veya öğenin herbir işlevinin alt işlevler halinde tanımı, Dışsal arayüz isterleri (herbir arayüz için ayrıntılı halde), İçsel arayüz isterleri, Veri ve denetim akışı, İşlevsel ayrıştırma ve işlevsel tanımlam, İçsel veri isterleri, Uyarlama isterleri, Emniyet isterleri, Güvenlik isterleri, Bilgisayar ortamı isterleri, Bilgisayar kaynakları isterleri (donanım, özkaynak, yazılım, iletişim), Yazılım nitelik etmenleri, Tasarım ve gerçekleştirin! Kısıtları, Personel ile ilgili isterler, Lojistik isterler (bakım, taşıma ortamı), Herbir isterin nasıl sınanacağı ve geçerleme kıstasları Belge Hazırlama Önerileri Belirtim belgesi hazırlamada dikkate alınması gerekli bazı noktalar şunlardır: Belirtim yalnızca işlevleri içermeli, gerçekleştirimin nasıl yapılacağına değinmemelidir. Dış dünyadan gelen etkilere yanıt verme gibi dinamik davranışlara sahip sistemleri tanımlayabilmek için bir belirtim ve modelleme dili kullanılmalıdır. Belirtim, sistemi kullanacakların anlayacağı şekilde yapılmalı, tüm belge, açık ve kesin ifadelerle yazılmış olmalıdır. Yazılım için belirtilen amaçlar sistemin amaçları ile tutarlı bir şekilde bağlantılı olmalıdır. Önemli arayüzler, önemli işlevler gruplandırılmış bir şekilde tanımlanmış olmalıdır. Bilgi akışı ve yapıları uygulama alanına uygun şekilde anlatılmalıdır. KAYNAKLAR 1. Yazılım Mühendisliği Ders Notları; Yrd. Doç. Dr. Buket Doğan. 2. Yazılım Mühendisliği; M. Erhan Sarıdoğan 3. Yazılım Mühendisliği; Ali Arifoğlu, Ali Doğru. 4. BBS-651 Yazılım Mühendisliği Ders Notları; A. Tarhan, 2010.