YZM2118 Yazilim Mimarisi Ve Tasarimi BL 1 - Yazilim Tasarimina Giris

You might also like

You are on page 1of 23

BLM 1

YAZILIM TASARIMINA GR

YAZILIM MMARS VE TASARIMI


Yrd. Do. Dr. Volkan TUNALI
Amalar
2

Tasarmn ne olduunu ve eitli tasarm trlerinin


rnn farkl ynleriyle nasl ilgilendiini aklamak
Tasarm bir problem zme etkinlii olarak
sunmak, soyutlama ve modellemenin tasarmdaki
roln ortaya koymak
Yazlm yaam dngsnde tasarmn yerini
belirlemek
Yazlm mhendisliinde tasarm metotlarn
incelemek

Yazlm Mimarisi ve Tasarm Volkan TUNALI


erik
3

Yazlm rnleri ve Yazlm Tasarm


Software Products and Software Design
Soyutlama ve Modelleme
Abstraction and Modeling
Tasarmn eitleri
Varieties of Design
Yazlm Yaam Dngsnde Yazlm Tasarm
Software Design in the Life Cycle
Yazlm Tasarm Metotlar
Software Engineering Design Methods
Yazlm Mimarisi ve Tasarm Volkan TUNALI
Yazlm Tasarmnn nemi
4

Tasarlanm (designed) bir dnyada yayoruz.


Tasarm ekonomik olarak neme sahiptir ve yaam
kalitemizi dorudan etkiler.
Yazlm son derece yaygn hale gelmektedir.
Yazlm tasarmnn kalitesinin nemli sonular
olmaktadr ve yazlm tasarmclar bunlarn
farknda olmal, bunlar ciddiye almaldr.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Yazlm rnleri
5

Bir yazlm rn, mterinin gereksinim ve


isteklerini karlayan bir veya daha fazla
programdan, verilerden, ve destekleyici
materyal ve hizmetlerden oluan bir varlktr.
Bu rn, tek bana bir rn olabilecei gibi
baka bir rnn temel bileeni de olabilir.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Yazlm Tasarm Nedir?
6

Yazlm tasarmclar da temelde dier


disiplinlerdeki tasarmclarn yapt ii yapar.
Tasarlanan ey bir yazlm rndr.

Yazlm tasarm, mterinin gereksinim ve


isteklerini karlayan yazlm rnnn doasn
ve bileimini belirleme etkinliidir.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Tasarm Problem zme Olarak Dnmek
7

Tasarm bir problem zme etkinlii olarak


dnmek olduka yararl ve verimli bir yoldur.
Avantajlar
Neyin problemin neyin de zmn bir paras
olduunun doru ekilde anlalmasna yardmc olur.
Birden ok iyi zmn (tasarmn) olabileceini
vurgular.
Problemi deitirme, deneme-yanlma, beyin frtnas
gibi zm yntemlerinin kullanlabilmesine olanak
tanr.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Soyutlama (Abstraction)
8

zellikle yazlm tasarmnda Soyutlama son derece


nemli bir problem zme tekniidir.

Soyutlama, problemin anlalmasn ve


zmn kolaylatrmak zere nesnelerin,
olaylarn veya durumlarn baz zelliklerinin
bilinli ve kastl olarak grmezden gelinmesidir.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Soyutlamann nemi
9

Problemin basitletirilmesi
Soyutlama, problemi (ksmen) zerken problemin en
nemli ynlerine odaklanma olana salar.
Problem zmenin yapsallatrlmas
Yukardan-aaya (Top-down) stratejisi: Problemin
soyut bir versiyonunun zlp, ayrntlarn daha
sonra eklenmesi (ayrntlandrma/refinement)
Aadan-yukarya (Bottom-up) stratejisi: Problemin
paralar halinde zlmesi ve tam bir zm iin bu
paralarn birletirilmesi

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Modelleme (Modeling)
10

Bir model bir hedefi, modelin paralar hedefin


paralarna ve modelin paralar arasndaki ilikiler
hedefin paralar arasndaki ilikilere karlk gelecek
ekilde temsil eder.
Target Model

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Tasarmda Modelleme
11

Modelleme u amalarla kullanlr:


Problemi anlama
Tasarm yaratm

Tasarm inceleme

Dokmantasyon

Modelleme ie yarar nk modeller hedefin


ayrntlarn soyutlarlar.
Eer nemli ve konuyla ilgili ayrntlar gzard
edilirse modeller baarsz olabilirler.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Statik ve Dinamik Modeller
12

Statik model programn almas srasnda


deimeyen ynlerini temsil eder.

Dinamik model programn almas srasnda


olanlar temsil eder.

Statik modele rnek olarak snf ve nesne


modelleri (class and object models) verilebilir.
Dinamik modellere rnek olarak durum
diyagramlar ve sra diyagramlar (state diagrams
and sequence diagrams) verilebilir.
Yazlm Mimarisi ve Tasarm Volkan TUNALI
rn Tasarm ve Mhendislik Tasarm
13

rn tasarmclar tarz ve estetik, ilev ve


kullanlabilirlik, retilebilirlik ve ynetilebilirlik gibi
zelliklerle ilgilenirler.
Endstriyel tasarmclar, (bina) mimarlar, i mimar ve
tasarmclar, grafik tasarmclar, vb.
Mhendislik tasarmclar teknik mekanizma ve
alma ekilleriyle ilgilenirler.
Yap, inaat, makine, kimya, ve elektrik mhendisleri
Tasarm ekipleri genellikle hem rn hem de
mhendislik tasarmclarndan oluur.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Yazlm rn Tasarm
14

Yazlm rn tasarm, mterinin


gereksinim ve isteklerini karlamak zere
yazlm rnnn zellikleri (feature),
yetenekleri, ve arayzlerinin belirlenmesi
etkinliidir.

Kullanc arayz ve etkileim tasarm, iletiim,


endstriyel tasarm, ve pazarlama gibi beceriler
gerektirir.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Yazlm Mhendislik Tasarm
15

Yazlm mhendislik tasarm, yazlm rn


artnamesini karlamak zere programlarn,
altsistemlerin, ve bunlar oluturan paralarn ve
alma biimlerinin belirlenmesi etkinliidir.

Programlama, algoritmalar, veri yaplar, yazlm


tasarm prensipleri, uygulamalar, sreleri,
teknikleri, mimarileri ve kalplar konusularnda
bilgi ve beceri gerektirir.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


alayan Yaam Dngs Modeli
16

Software Product Life Cycle alayan (waterfall)


modeli yazlm
Requirements
Specification gelitirme etkinlikleri
arasndaki mantksal
Design
ilikiyi ortaya koyar.
Implementation

Testing

Maintenance

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Yaam Dngsnde Tasarmn Yeri
17

Software Product Life Cycle

Requirements
Specification Product Design

Design
Engineering Design

Implementation

Testing

Product Redesign and


Maintenance
Engineering Redesign

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Neye Kar Nasl
18

Gereksinim ve tasarm etkinliklerini ayrdetmenin


geleneksel yolu
Yeterli deil nk
ou ne sylemi tasarm kararna dnmekte
ou nasl sylemi de mterinin gereksinimi ya da
istei olabiliyor
Gereksinimleri tasarmdan ayrmann en temel yolu
problem zme yaklamdr: Gereksinimler tasarm
ile zlebilecek problemleri ortaya koyarlar.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Tasarm Problemleri ve zmleri
19

Software Design
Problem: Needs,
Desires, Constraints

Design Features
and Capabilities Solution: Features
Product and Capabilities
Design
Solution:
Design Interactions
Interactions

Solution: SRS

Create High-Level
Design Solution: High-
Level Design
Engineering
Design Create Low-Level Solution: Low-
Design Level Design

Solution: Design
Document
Write Code

Solution: Code

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Yazlm Tasarm Metodu
20

Bir yazlm tasarm metodu, mterinin


gereksinim ve isteklerini (ve kstlamalar)
karlamak zere kesin ve tam bir yazlm
tasarm zmn oluturmak iin kullanlan
bir prosedrdr.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Tasarm Metodu Bileenleri
21

Tasarm Sreci (Process) Bir girdi kmesini bir kt


kmesine dntren ilikili grevler btndr.
Tasarm Notasyonu (Notations) Bir sembolik temsil
sistemidir.
Sezgisel Yaklamlar (Design Heuristics) Bir amaca
ulamak zere yol gsterici kurallardr, garantisi yoktur.
Tasarm metodlar ayrca tasarm daha iyi ve daha kt
yapan karakteristikleri belirten tasarm
prensiplerinden de yararlanrlar.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


Tasarm Metodu Kronolojisi
22

1971 Niklaus Wirth introduces stepwise refinement.


1974 Stevens, Myers, Constantine introduce
structured design.
Late 1970s to early 1980s Structured analysis and
design methods are dominant.
Late 1980s Object-oriented analysis and design
methods rise to prominence.
1995 UML 0.8 is released.
2004 UML 2.0 is released.

Yazlm Mimarisi ve Tasarm Volkan TUNALI


zet
23

Yazlm tasarm nemlidir.


Yazlm tasarmn problem zme olarak dnmek ok
yararldr.
Soyutlama temel bir tasarm tekniidir.
Modelleme temel tasarm aracdr.
Yazlm tasarm, rn ve mhendislik tasarmndan oluur.
rn tasarm esas olarak gereksinim analizi aamasnda
gerekleir; mhendislik tasarm ise genel olarak tasarm ve
kodlama aamalarnda gerekleir.
Gnmzde OO analiz ve tasarm metodlar ok yaygndr.

Yazlm Mimarisi ve Tasarm Volkan TUNALI

You might also like