yazilim mi̇mari̇leri̇(aoy)

Download Yazilim mi̇mari̇leri̇(aoy)

If you can't read please download the document

Upload: ahmet-yanik

Post on 16-Apr-2017

3.070 views

Category:

Documents


1 download

TRANSCRIPT

PowerPoint Presentation

WEB TABANLI , KATMANLI YAZILIM MMARLER DERS

Ahmet Ouzhan YANIK | Bilgisayar Sistemleri retmeni

Yazlm Nedir ?Yazlm, Komutlar : yrtld zaman istenen fonksiyon ve performans salar,Veri Yaplar : programa verileri yeteri kadar ilemek iin izin verir,Belgeler : operasyonlar ve program kullanmn tanmlar

Yazlm Nedir ?Yazlm =Mantk+(algoritma)Veri+(test verisi, bilgi?)Belge+(dokmanlar)nsan+(kullanc, gelitirici)Program(kod)

Bilgisayar sisteminin donanm bileenleri dnda kalan her ey

Yazlm Mhendislii nedir ?IEEE Bilgisayar Topluluunun Yazlm Mhendislii Tarifi:

Mhendislik eylemlerinin, (Gelitirme, letme, veBakm), disiplinli, sistematik ve nicelikli bir ekildeyazlma uygulanmas olarak tanmlamtr

Yazlm UygulamalarSistem Yazlmlar : Dier programlara hizmet salayan programlar(Derleyiciler, letim Sistemleri)Gerek Zamanl Yazlmlar : Anlk verileri izlemek iin kullanlan programlar.(Un fabrikas retim izleme program)Ticari Yazlmlar : Ticari verileri ileyebilen programlara denir. (Brill, Optimasyon vb..)Bilimsel ve Mhendislik Yazlmlar : Bilimsel ve mhendislik alanlarnda kullanlan programlar. (Autocad, Matlab vb.)

Yazlm UygulamalarGml Yazlmlar : Genellikle donanmlar kontrol etmek iin kullanlan ve rom hafzaya sahip programlar. (Mikrodalga frn tu takm program gibi)PC Yazlmlar : Kullanclarn ilemlerini yaptklar genel amal programlar. (Word, Excel vb.)Web Tabanl Yazlmlar : Web programcl ile kodlanm yazlmlar. (Facebook)Yapay Zeka Yazlmlar : Kompleks problemlerin zm iin kullanlan yazlmlar. (Uzman Sistemli Yazlmlar, Doku Tanmlama, Yapay Sinir Alar vb.)

Yazlm Teknolojisi

Yazlm teknolojisi katmanl bir yapya sahiptir.

AygtlarMetotlarlemlerKalite

Yazlm Problemi zlrkenzlecek problem nedir ?Problem zlrken ne kullanlacak ?zm nasl gerekletirilecek ?zm nasl oluturulacak?Problem oluturulup zlrken hatalar nasl ortaya karlacak ?Kullanc tarafndan istenilen deiiklikler, dzeltmeler ve adaptasyon sreleri nasl desteklenecek?

Yazlm Sreleri Gereksinim Belirtimleri (Requirements Specifications) Tasarm (Design) Kodlama (Coding) Test (Test - Validation)letim ve Bakm (Operation and Maintenance) Proje YnetimiKalite Ynetimi Dzenleim (Konfigrasyon)/Deiim Ynetimi

Program Yazm AamalarTanmlama Aamas : Programc baarl bir sistem iin ; kullanlacak verileri, hangi fonksiyon ve performans arzulandn, umulan sistem davranlarn, hangi arayzlerin kullanlacan, hangi tasarm kstlar olduunu, hangi tanmlama sorunlar olduunu tanmlar

Program Yazm AamalarGeliim Aamas : Programc geliim aamasnda, verilerin nasl yaplandrlacan, yazlm mimarisinde fonksiyonlarn nasl uygulanacan,prosedrsel detaylarn nasl uygulanacan, arayzlerin nasl karakterize edileceini, tasarmn program diline nasl aktarlacan ve yazlmn nasl test edileceini tanmlamaya alr.

Program Yazm AamalarDestek Aamas : Programc bu admda genellikle hata dzeltme, adaptasyon gibi ileri halletmeye alr. Bu aamada kendi iinde 4 aamada tanmlanr.Dzeltme : Yanl ve eksikliklerin giderilmesiAdaptasyon : Baka ortamlara uyum salamas (rn. Hem windows hemde linux ortamnda almas)Gelitirme : htiyalar dorultusunda programda geliimler salanmasKorunma : Programn kullanc veya iletim sisteminden doacak hatalara kar korunmas ve varsaylan ayarlara dnebilme

Yazlm Gelitirme ModelleriYazlm ihtiyalarnn giderek bymesi, yazlm gelitirme faaliyetlerinde kullanlmak zere metodolojilerin geliimini de ortaya kartmtr. Yazlm teknolojilerinin gelimesi ile, var olan model ve metodolojiler de gelimekte ve yeni modeller ortaya kmaktadr. Uygun yazlm gelitirme modelleri kullanlmas, yazlmn daha emniyetli, doru, anlalabilir, test edilebilir ve bakm yaplabilir olarak gelitirilmesinde ok nemli rol oynar. Daha emniyetli yazlmlarn daha ksa srede, daha az bteyle ve en nemlisi daha az hatayla gelitirilmesi iin srekli yeni teknolojiler ve modeller bulunmaya allmaktadr.

Yazlm Gelitirme Modellerielale ModeliSpiral ModeliArtml GelitirmeDngsel ModelEvrimsel Gelitirme

elale Modelielalenin her basamanda yer alan aktiviteler eksiksiz olarak yerine getirilir. Bu bir sonraki basamaa geme art budur.Her safhann sonunda bir dokman oluturulur. Bu yzden elale modeli dokman gdmldr.Yazlm sreci lineerdir, yani bir sonraki safhaya geebilmek iin bir nceki safhada yer alan aktivitelerin tamamlanm olmas gerekir.Kullanc katlm balang safhasnda mmkndr. Kullanc gereksinimleri bu safhada tespit edilir ve detaylandrlr. Daha sonra gelen tasarm ve gerekletirme (kodlama) safhalarnda mteri ve kullanclar ile diyaloa girilmez.

elale Modelielale modelinde yazlm, aamalar en az birer kez tekrarlanarak gelitirilir. ok iyi tanmlanm ve retimi az zaman gerektiren projeler iin uygun bir model olmakla birlikte gnmzde kullanm gittike azalmaktadr.

Spiral ModeliSpiral yazlm gelitirme modeli temel olarak drt ana blm ierir. Bunlar, planlama, risk ynetimi, retim ve kullanc deerlendirmeleri olarak tanmlanabilir. Planlama, retilecek ara rn iin iin planlanmas, ama ve kst ve alternatiflerin belirlenmesi, bir nceki admda retilmi olan rn ile tmletirme yaplmas faaliyetlerini ierir. Risk ynetiminde, alternatifler deerlendirilir ve risk analizi yaplr. retim, planlanm ara rnn gelitirildii aamadr.Kullanc deerlendirmesi ksmnda, ara rn hakknda kullanclarn test ve deerlendirmeleri yaplr.

Spiral Modeli

Artml-Gelitirme ModeliArtrmsal model, yazlmn kk paralara ayrlarak dngsel olarak gelitirilmesi fikrine dayanr. Proje sresi, artrm (veya dng) olarak tanmlanan kk zaman dilimlerine blnr. Proje bir ok dngnn gerekletirilmesi ile ilerler. Her dngnn sonunda, projeye ait planlanm ktlar elde edilir ve yazlma yeni bir fonksiyonalite eklenir. Bu sayede yazlm artrmsal olarak gelitirilir. Projenin bir dngde henz tmletirme sreci sonlanmamken , dier bir dngnn dngnn tasarm sreci balayabilir. Dolays ile, bu model yazlm gelitirmenin doasna daha uygun olarak grnmektedir. Her dngde yeni bilgi ve tecrbeler edinilir ve bunlar projenin gelitirilmesi aamasnda ok deerli katklar yapar. Artrmsal modelin en nemli avantajlarndan biri, projenin ilk safhalarnda elde edilen ktlarn projenin ilerleyen aamalarnda deiiklie uramas halinde bile byk bir maliyete neden olmadan bu deiikliklerin yaplabilir olmasdr.

Artml-Gelitirme Modeli

Dngsel ModeliDngsel model, artml- gelitirme modeline benzemektedir. Bu modelde de programlama boyunca srekli olarak gereksinimler alnp kodlama yaplmakta ve test ilemleri yrtlmektedir. Bylece programda oluacak eksiklikler ve hatalardan daha kolay kurtulma imkanna sahip olunmaktadr.

Dngsel ModeliGereksinimlerKodlamaTestGereksinimlerKodlamaTestGereksinimlerKodlamaTest

Evrimsel GelitirmeBir ok kaynakta bu model, dngzel ve arttrmsal gelitirme modelinin birleimi olarak tanmlanmaktadr.

Yazlm KatmanlarBir yazlm hazrlanrken, yazlmn kullanm amacna gre katmanlar oluturulabilir veya tek katman zerinde de altrlabilir.Veri Katman : Verinin veritaban sisteminden getirilmesi ve veritaban sistemine gelen verilerin eklenmesi iin kullanlan katmandr. Katman : Veri tabanndan gelen verilerin iimize uygun olarak dzenlenmesi ve kontrol edilmesini salayan katmandr.Sunum Katman : Kullancnn grecei, ve kullancdan girdii verilen alnaca, yada daha nceden girilmi verilerin bir ekilde kullancya gsterilmesi iin gereken bir katmandr.

Yazlm Katmanlar

Tek Katmanl YazlmlarBu mimaride katmanlar tekbir bilgisayar ve yazlmda bulunmaktadr. Tek kullancl bir sistem olduu iin hzldr fakat ok kullancya destek salamad iin kullanm oran snrl olmaktadr.

BilgisayarKullanc Ara BirimiUygulama YazlmlarVeriler

ki Katmanl Yazlmlarki katmanl mimaride, kullanc arayz ve uygulama yazlmlar bir katman, veriler ise ikinci katman olarak kullanlr. Kullanc arabirimi ve uygulama yazlmlarnn olduu bilgisayarlar istemci, verilerin olduu bilgisayar ise sunucudur.

Bilgisayar (istemci)Kullanc Ara BirimiUygulama Yazlmlar

Bilgisayar (sunucu)Veriler

ki Katmanl Yazlmlarki katmanl mimaride, uygulama programlar her bilgisayara ayr ayr yklenmeli ve program deiiklii tekrardan tm bilgisayarlara yeniden yklenmelidir.Veri taban tm istemciler tarafndan kullanld iin, kullanc ve i yk arttka kullanmdaki etkinlik azalabilmektedir.Program adaki baka bir bilgisayara yklenerek, yetki zaaflarna yol aabilir.

Katmanl Yazlmlar katmanl mimaride, kullanc arayz, uygulama yazlmlar, veriler ayr bilgisayarlarda bulunmaktadr.

BilgisayarKullanc Ara Birimi

BilgisayarVeriler

Uygulama YazlmlarBilgisayar

Katmanl Yazlmlar katmanl mimaride, web tabanl uygulamalar ile gerekletirilmektedir. Bu uygulamalar kullanmak iin bir adet web brovser olmas yeterlidir. Uygulama yazlmlarndaki bir deiiklik ayn anda yazlm kullanan tm programlarda etkin olacaktr. Gereksiz yetkilendirmeler ortadan kalkacaktr. Veri taban ile balant uygulama yazlm tarafndan yaplaca iin veri taban daha etkin kullanlmaktadr.

UML (Unified Modeling Language- Birleik Modelleme Dili)UML,gelien yazlm teknolojisi ve artan karmaklk karsnda endstriyel olarak gelitirilmi ve standartlam bir evrensel modelleme biimi ve dilidir.

Neden UML ihtiya duyarz?(1) Yazlm teknolojisi gelitike yazlan programlarn karmakl ve zorluu giderek artmaktadr. Donanm ve yazlmn i ie girdii, byk a sistemlerinin giderek artt bir dnemde doaldr ki biz programclarn yazaca programlarda byyecektir.

Neden UML ihtiya duyarz?(2)Yazacamz programlar ok karmak olaca iin kod organizasyonu yapmamz zor olacaktr. Programmzn analiz ve dizayn aamasnda modellemeyi gzel yaparsak ileride doabilecek birok problemin kmasna engel olmu oluruz.

KullanmUML daha ok nesneye dayal programlama dilleri iin uygundur. Problemlerimizi paralara ayrabiliyorsak, ve paralar arasnda belirli ilikiler salayabiliyorsak UML bizim iin biilmi kaftan gibidir.UML 1997 ylnda yazlmn, diyagram eklinde ifade edilmesi iin bir standartlar komitesi tarafndan oluturuldu. Daha nce hemen hemen her daldaki mhendislerin standart bir diyagram izme arac vard. Ve imdi de programclarn UML 'si var.

Avantajlar(1)1-)ncelikle programmz kodlanmaya balamadan nce geni bir analizi ve tasarm yaplm olacandan kodlama ilemi daha kolay olur. nk programdan ne beklediimizi ve programlama ile neler yapacamz profesyonel bir ekilde belirleriz UML ile.2-)Programmzda beklenmedik bir takm mantksal hatalar (bug) minimuma indirgemi oluruz.3-) Tasarm aamas dzgn yapldysa tekrar kullanlabilen kodlarn says artacaktr. Buda program gelitirme maliyetini byk lde drecektir.

Avantajlar(2)4-)UMLdiyagramlar programmzn tamamn kapsayaca iin bellek kullanmn daha etkili hale getirebiliriz.5-)Programmzn kararll artacaktr. UML ile dkmanlandrlm kodlar dzenlemek daha az zaman alacaktr.6-)Ortak allan projelerde programclarn iletiimi daha kolay hale gelir.nk UML ile programmz paralara ayrdk ve paralar arasnda bir iliki kurduk.

DYAGRAM TRLER(1)CLASS DIAGRAMGerek dnyada eyalar nasl araba, masa, bilgisayar eklinde snflandryorsak yazlmda da birtakm benzer zelliklere ve fiillere sahip gruplar olutururuz. Bunlara "Class"(snf) denir.

OBJECT DIAGRAM Bir nesne(object) snfn (class) bir rneidir. Bu tr diyagramlarda snfn yerine gerek nesneler kullanlr.

DYAGRAM TRLER(2) STATE DIYAGRAMGerek nesnelerin herhangi bir zaman iindeki durumunu gsteren diyagramlardr.Mesela, Can nesnesi insan snfnn gerek bir rnei olsun. Can 'nn domas, bymesi, genlii ve lmesi State Diagram 'laryla gsterilir.SEQUENCE DIAGRAM Class ve Object diyagramlar statik bilgiyi modeller.Halbuki gerek zamanl sistemlerde zaman iinde deien inter aktiviteler bu diyagramlarla gsterilemez. Bu tr zamanla deien durumlar belirtmek iin sequence diyagramlar kullanlr.

DYAGRAM TRLER(3)ACTIVITY DIAGRAM Bir nesnesinin durumu zamanla kullanc tarafndan ya da nesnenin kendi isel ilevleri tarafndan deiebilir.Bu deiim srasn activity diyagramlaryla gsteririz.USE CASE DIAGRAM Programmzn davrannn bir kullanc gzyle incelenmesi Use Case diyagramlaryla yaplr. Gerek dnyada insanlarn kullanaca bir sistemde bu diyagramlar byk nem tarlar.COLLABORATION DIAGRAM Bir sistemin amacnn yerine gelmesi iin sistemin btn paralar ilerini yerine getirmesi gerekir. Bu iler genellikle birka parann beraber almasyla mmkn olabilir. Bu tr ilikileri gstermek iin Collaboration Diyagramlar gsterilir.

DYAGRAM TRLER(4)COMPONENT DIAGRAM zellikle birden ok gelitiricinin yrtt projelerde sistemi component dediimiz paralara ayrmak, gelitirmeyi kolaylatrr.Sistemi yle modellememiz gerekir ki her gelitirici tekinden bamsz olarak alabilsin.Bu tr modellemeler Component Diyagramlaryla yaplr.DEPLOYMENT DIAGRAM Bu tr diyagramlarla sistemin fiziksel incelenmesi yaplr. Mesela bilgisayarlar arasndaki baglantlar, programn kurulaca makinalar ve sistemimizdeki btn aletler Deployment Diyagramnda gsterilir.

rnek1

rnek2

rnek3

rnek4

rnek5

rnek6

rnek7

rnek8