YAZILIM MÜHENDİSLİĞİ-1

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "YAZILIM MÜHENDİSLİĞİ-1"

Transkript

1 YAZILIM MÜHENDİSLİĞİ-1 BÖLÜM 2: YAZILIM YAŞAM DÖNGÜSÜ MODELLERİ Bölüm Kapsamında İncelencek Konular: Teoride yazılım geliştirme Winburg örnek olay incelemesi Winburg örnek olay incelemesinden çıkarttığımız dersler Teal Tractors örnek olay incelemesi Iteration and Incrementation (Tekrarlıyarak Aşamalı Büyüme) Winburg örnek olayını tekrar inceleme Iteration and Incrementation ın riskleri ve diğer yönleri Iteration and Incrementation yönetimi Diğer yaşam döngüsü (life-cycle) modelleri Yaşam döngüsü (life-cycle) modellerinin karşılaştırılması Gerçek dünyada yazılım, bir işe sıfırdan başlayarak, gereksinimler, analiz, tasarım ve gerçekleştirme adımlarının doğrusal olarak tanımlanmasıyla geliştirilmektedir

2 Pratikte yazılım geliştirme iki nedenden dolayı oldukça farklıdır. Bu nedenler; Yazılım geliştiricileri sonuçta insandır ve hata yapabilirler. Yazılım ürünü geliştirilirken, müşterinin gereksinimleri değişebilir. (moving target problem) - 2 -

3 WINBURG Mini Case Study Hindistan ın Winburg kentinde, kent merkezindeki trafik tıkanıklığının azaltılması amacıyla kent e genel bir taşımacılık sistemi kurulması için belediye başkanı ikna edilir. Yalnızca otobüslerin kullanımı için bir trafik şeridi oluşturulur ve evden işe yolculuk edenler, "sür ve park et" kampanyasına teşvik edilerek, iş yerlerine gidenlerin şehir merkezi dışında ki otoparklara arabalarını park etmeleri ve işe buradan otobüsler vasıtasıyla 1 dolar ücret vererek gitmeleri sağlanacaktır. Herbir otobüs yanlızca 1 doları kabul eden bilet makinesine (fare machine) sahip olacaktır. Yolcular, otobüse binerken bilet makinesinin içindeki yuvaya kâğıt parayı yerleştireceklerdir. Sensorlar bilet makinesinin içindeki kâğıt parayı tarayacaktır. Makine içinde yüklü olan yazılım, görüntü tanıma algoritmalarını kullanarak, yolcunun makine içindeki yuvaya yerleştirdiği kâğıt paranın gerçek olup olmadığına karar verecektir. Burada önemli olan nokta, yolcu kâğıt para yerine, kâğıt para ebatında bir gazete parçasıda koyabilir. Makinenin bunu ayırt etmesi gerekiyor, yoksa makine kazanç sağlamaz zarar eder. Aksine, eğer makine düzenli olarak gerçek kâğıt dolarları da reddederse, yolcular otobüsü kullanmaya isteksiz olacaklardır. İlaveten, bilet makinesi hızlı olmalıdır. Bilet makinesi, kâğıt doların gerçek olup olmadığına saniye gibi sürede karar verirse, bu yolcuların otobüse binmelerinin zaman almasına neden olacağından, yolcular otobüsü kullanmaya isteksiz olacaklardır. Bu nedenle, bilet makinesi yazılımı için gereksinimler, 1 saniyeden daha az bir ortalama bekleme zamanı ve en az % 98 doğruluk içerir. Episode 1: İlk sürüm uygulandı. % 2 hata yapma olasılığı tespit edildi ve sistemin yavaş olduğu farkedildi

4 Episode 2: Bir hata bulundu. Bir uygulama (implementasyon) hatasından dolayı sistem çok yavaşladı (deneyim eksikliğine bağlı olarak %98 doğruluğu başarmak için çift duyarlıklı sayılar kullanılmıştır). Uygulamada (implementasyon) değişiklikler meydana geldi. (tek duyarlıklı sayılar kullanılacaktır) Episode 3: Gereksinimler değişti ve daha hızlı bir algoritma kullanıldı. (önceden karmaşık bir görüntü tanıma algoritması kullanılmıştı, ortalama bekleme süresi 4,5 saniyenin üzerindeydi) Episode 4: Yeni tasarım uyarlanmıştır. Geliştirme (development) safhası sona ermiştir. (% 98 başarıdan memnun değil, % 99,5 başarı bekleniyor. Tasarım (design) değişiyor, bununla birlikte uygulama (implementasyon) da değişiyor.) Epilogue: Birkaç yıl sonra benzer problemler yeniden beliriyor. (Bilet makinesi içindeki sensorlar demode oluyor, yöneticiler donanımı yükseltmeye karar veriyorlar. Yeni donanım beraberinde yeni bir yazılımı gerektiriyor... vs.) Sonuç olarak eski yazılımı ve donanımı emekliye ayırıyoruz

5 Yaşam Döngü Modeli (Life-Cycle Model): Bir yazılımın geliştirilmesi ve bakımı süresince icra edilen adımlar topluluğuna yaşam döngü modeli denir. Evolution- Tree Life-Cycle Model, Waterfall Life-Cycle Model, Iterative and Incremental Life-Cycle Model, Code and Fix Life-Cycle Model, Rapid-Prototyping Life-Cycle Model, Open-Source Life-Cycle Model. Çağlayan Modeli (basitleştirilmiş bir versiyonu) Doğrusal yaşam döngüsü modelinde daima geribesleme döngüleri vardır. Çağlayan modelinde, Evolution-Tree Model deki gibi olayların sırası gösterilmez. Design esnasında bir hata bulunduğunda, requirements taki bir hata buna neden olmuş olabilir. Böyle bir durumda geliştirici, design dan analysis e, buradan da requirement safhasına geri dönebilir. Hatayı düzelttikten sonra sırasıyla tekrar design safhasına geri dönebilir

6 Evrimsel-ağaç modeli çağlayan modelinin geliştirilmiş bir şeklidir. Gerçekleştirilecek büyük bir proje küçük parçalara ayrılır. Parçalara ayrılan sistem yavaş bir şekilde geliştirilir. Gereksinimler, tasarım, kodlama, sınama aşamaları paralel veya teker teker gerçekleştirilir. Her parça için küçük çapta bir çağlayan modeli uygulanır. Evolution-Tree Life-Cycle Model de olayların sırası kesin olarak bellidir. Evolution-Tree Life-Cycle Model de, herbir episodun sonunda elimizde çalışan bir ürün (product) var. Buna baseline (dayanak) denir. Örneğin; Episode 4 ün sonunda, Requirements 4, Analysis 4, Design 4, Implementation

7 Gerçek dünyada yazılım geliştirme, Winburg mini case study den daha karmaşıktır. Değişikliklere her zaman ihtiyaç vardır. - Bir yazılım ürünü, sürekli değişim içindeki gerçek dünyanın bir modelidir. - Sonuç olarak yazılım geliştiricileri insandır, bu yüzden hata yapabilirler

8 TEAL TRACTORS Mini Case Study Teal Tractors Incorporation, Amerika Birleşik Devletlerinin birçok bölgesinde traktör satmaktadır. Şirket yazılım bölümünden, şirket faaliyetlerini bütün bakış açılarıyla ele alabilen yeni bir yazılım ürünü geliştirmesini talep eder. Örneğin yazılım ürünü, satışlardan toplanan gelir miktarını ve envanteri ele alabilmeli, ayrıca bütün gerekli muhasebe fonksiyonlarını yerine getirebilmelidir. Bu yazılım ürünü uygulanırken, Teal Traktörleri, bir Kanadalı traktör şirketini satın alır. Teal Traktörlerinin yönetimi; kazancını arttırmak için, Kanada gerçekleştirilen işlemlerin, ABD işlemleri içinde birleştirilmesine karar verir. Geliştirilmekte olan yazılım ürününün tamamlanmadan önce değiştirilmek zorunda olduğu ifade edilir. İhtiyaç duyulan değişiklikler aşağıdaki maddeleri içerir; İlave satış bölgeleri eklenebilmelidir. Ürün Kanada da uygulanan vergi sistemiyle baş edebilmeli ve diğer iş yerlerinden daha farklı bir bakış açısı izlemelidir. Program bu yeni vergiler göre yapılmalıdır

9 USD & CAD gibi iki farklı para birimini ele alarak, yazılım ürünü genişletilmelidir. Bu değişiklikler şirket için iyi, ama yazılım ürünü için bir felaket olur. Bu değişiklikleri yapmak istediğimizde yazılım ürününü değiştirmek zor ve problem olabilir. Eğer yazılım ürününün design ı yaparken ileride değişiklik olabilecek şekilde yapılırsa, sorun en aza inmiş olur. (geliştirilebilir design = extensible design) - 9 -

10 Moving Target Problem (Değişen Hedef Problemi): Bir yazılım geliştirilirken müşterinin gereksinimlerinde sürekli değişiklik olursa buna moving target (değişen hedef) problemi denir. Değiştirme nedenleri iyi olsa bile, yazılım ürünü bu değişikliklerden kötü olarak etkilenebilir. Yazılım ürününde yapılan herhangi bir değişiklik, potansiyel olarak bir regresyon hatasına neden olabilir. Eğer değişikliklerden dolayı çok fazla hata varsa, bütün yazılım ürünü tekrar design ve tekrar implement e olur

11 Değişim kaçınılmaz olur. - Büyüyen, gelişen şirketler sürekli değişim içindedir. - Değişimler için bireysel isteklerin yeterli bir açıklaması varsa, değişim hakkında hiçbir şey yapılamaz. Moving target problemi için çözüm yoktur. Moving target probleminden dolayı, asıl yazılım ürünlerinin yaşam döngüsü, şekil 2.1'in idealleştirilen yaşam döngüsü zincirinden ziyade, evrimsel ağaç modeline (şekil 2.2) veya çağlayan modeline (şekil 2.3) benzer. Bu gerçeğin önemli bir sonucu, Iteration ve Incrementation için zorunluluktur

12 Iteration and Incrementation (Tekrarlama ve Büyüme) Gerçek hayatta analiz safhasından bahsedemeyiz. Analiz safhasının işlemleri bütün life-cycle ın üzerine yayılır. Benzer olarak Şekil 2.2 de implementasyonun 4 farklı versiyonu gösterilmektedir. Yazılım geliştirme iteratif bir süreçtir. Her süreçte sonuca biraz daha yaklaşılmaktadır. Iteration olmadan yazılım mühendisliği çalışmaz. Her modelde (waterfall, rapid prototype,...) iterasyon vardır. Her iteration da (tekrarlamada), product büyüyor

13 Miller ın kanununa göre insan, bir birim zamanda sadece 7 ± 2 ayrı birime konsantre olabilir. Bu kısıtlamayı aşmak için Adım Adım İyileştirme (Stepwise Refinement) kullanılır. Elimizde çok fazla bilgi varsa, biz bu bilgileri adım adım arıtmalıyız. Önce çok önemli kabul edilen 7 parça ile çalışıyoruz. Sonuçta herşeyin üzerinde çalışılacak, ama adım adım ilerlenecek. Bu artan bir süreçtir. Böylelikle bütün bilgileri kullanmış oluyoruz

14 Önce bir parçasını yapalım; Increment A: Sonunda çalışan bir program var. Increment B: Yeni bir şey ilave etmek istiyoruz. Daha fazla analiz yapıyoruz. Design ve implementasyona da başlıyoruz. Increment C: Requirement bitiyor. Analysis neredeyse bitiyor. Design ve implementasyon yoğun bir şekilde gerçekleşiyor. Kodlama fazla olduğundan test te fazla yapılıyor. Increment D: Ürünü teslim ederken yapılan testler yoğunlukta. Her increment içersinde iterasyon olabilir. Sonuç olarak life-cycle ın başında requirements workflow ağırlıklı (predominates) olarak yapılıyor. Life-cycle ın sonunda ise implementation ve test workflow ları ağırlıklı (predominates) olarak yapılıyor

15 Iteration and incrementation, birbirlerini birlikte kullanırlar. - Tek bir requirements phase veya design phase yoktur. - Onun yerine, her safhanın çeşitli örnekleri vardır. Herbir bileşen, ilk olarak gereksinimler, sonra analiz,..., vs. gibi parça parça inşa edilir. Her büyüme (increment), çeşitli uyarlamalar (sürümler) boyunca devam eder. Burada herbir episode bir incrementation a karşılık geliyor

16 Büyümelerin sayısı değişecektir. Dört olmak zorunda değildir. Büyümenin sayısı, üründen ürüne değişir. Şekil 2.4, bir yazılım ürününün, nasıl geliştirildiğinin tam bir temsili değildir. Onun yerine, şekil 2.4, bir iterasyondan bir diğerine üzerinde durulan noktanın nasıl değiştirildiğini gösterir. Örneğin, şekil 2.2'in ilk iterasyonunda, dört safhanın her biri, dikkate alınır, oysa ikinci iterasyonda bir tek implementasyon dikkat alınıyor

17 Gerçek dünyada şekil 2.1 deki gibi sıralı aşamalar mevcut değildir. Bunun yerine, beş temel işakışı (workflows) bütün life-cycle boyunca gerçekleştirilir. - Requirements workflow - Analysis workflow - Design workflow - Implementation workflow - Test workflow

18 Beş temel işakışının (workflows) tamamı, bütün life-cycle boyunca gerçekleştirilir. Buna rağmen, zamanların çoğunda bir workflow baskın olur. Örneğin; life-cycle ın başında requirements workflow u ağırlıklı (predominates) olarak yapılıyor. Life-cycle ın sonunda ise implementation ve test workflow ları ağırlıklı (predominates) olarak yapılıyor. Planlama ve dokümantasyon aktiviteleri life-cycle boyunca gerçekleştirilir. Test etmenin, her iterasyon esnasında ve özellikle her iterasyon sonunda önemli bir aktivite olduğu farkedilmektedir. Üstelik yazılım tamamlandığı andan itibaren bir bütün olarak test edilir

19 Tekrarlama (iteration), herbir incrementation (büyüme) boyunca yapılır. Iteration ların (tekrarlama) sayısı değişecektir. Şekil 2.5 deki gibi üç olmak zorunda değildir. Iteration ların (tekrarlama) sayısı, üründen ürüne değişir

20 Bir sonraki slide ta iterative-and-incremental life-cycle model üzerine evolution-tree model i ekledik. O slide üzerinde evolution-tree model in sürekli test yaptığını farzederek test workflow unu çıkarttık

21 Herbir episode, bir increment e karşılık gelmektedir. Her increment, her workflow u kapsamaz. Increment B tamamlanmamıştır. Kesikli çizgi, örnekleri üçünde de corrective maintenance (düzeltici bakımı) ifade etmektedir

22 Iteration and Incrementation ın Riskleri ve Diğer Yönleri: Iteration ve incrementations kullanılarak geliştirilmiş bir proje, küçük projelerden (her increment bir proje) meydana gelmiş projeler bütünü olarak kabul edilir ve her increment in sonunda baseline (kısmi product) ortaya çıkıyor. Her bir küçük proje aşağıdaki artifact leri (yazılım bileşenleri) içerir. o Requirements artifacts o Analysis artifacts o Design artifacts o Implementation artifacts o Testing artifacts En sonunda yazılım ürünü tamamlanarak, ortaya çıkıyor

23 Her küçük proje esnasında; Artifact leri genişletebiliriz. (incrementation-büyütme) Artifact leri kontrol edebiliriz. (test workflow ları sayesinde) Eğer gerekliyse, ilgili artifact leri değiştirebiliriz. (iteration) Her bir iterasyon küçük bir eksiksiz çağlayan modeli (waterfall life-cycle model) olarak da düşünülebilir. Her iterasyon boyunca, yazılım ürününün bir kısmını seçeriz. Sistemin mimarisini, sistemin başında tespit ederiz. Bileşenlerin ortaya çıkışındaki ağaç şekli; requirements, analysis, design, implementation

24 Yazılım ürününün doğru olup olmadığını kontrol etmek için birçok seçeneğimiz var. - Her iterasyon test workflow unu içine dâhil eder. - Hatalar erkenden bulunur ve düzeltilir. Mimariğinin sağlamlılığı (robustness) life-cycle ın erken safhalarında belirlenir. - Architecture (mimari); çeşitli modül bileşenleri ve bunların birbirleriyle nasıl uyum içinde olacağı, - Robustness (sağlamlık); programın büyümeye ve değişikliklere karşı ne derece duyarlı olduğunun tespit edilmesini sağlayan özelliktir. Bu duyarlılığı programa hatalı veri vererek sağlıyoruz. Robustness önemli bir aşama. Ürün ne derecede sağlam ya da değil. Yeterli veri verildiğinde ürün ne şekilde tepki verecek. Bu aşamada sistemin ne derece akıllı olduğunu tespit ederiz

25 Riskleri erken safhada tespit edip, çözüm bulabiliyoruz. - Riskler yazılım geliştirme ve bakımı içinde her zaman olmaktadır. Her zaman risk söz konusudur, yanlış karar pahalıya mal olur. Elimizde yazılım ürününün başlangıcından beri çalışan bir model olacak ve istenirse müşteriye kısmi olarak ürün teslim edilebilecektir. Bu model bize erken safhalarda hataları bulmamız konusunda yarar sağlar. Iterative-and-incremental life-cycle model, waterfall model kadar disipline edilmiş bir modeldir. Çünkü iterative-and-incremental life-cycle model, sırayla uygulandığından waterfall model dir. Herbir increment, bir mini çağlayan projesidir

26 Birkaç yüz satırdan oluşan programlar için kullanılabilir. İlk safhada yazılım ürününün ilk sürümünü geliştiriyoruz. Direkt implementasyon var. Sistemi, en son istediğimiz şekle sokuncaya kadar devamlı geliştiriyoruz. (Loop) Bakım var ama çok zor. Çünkü sisteme ait dokümantasyon yok. Retirement safhası var

27 Yazılım geliştirmenin en kolay yoludur. En pahalısıdır. (Kodlamadan sonra bir yazılım ürünündeki değişikliklerin maliyetini düşünürsek, bu maliyet çok yüksektir. Buna ilave olarak, şartname ve tasarım dokümanı olmaksızın, ürünün bakımını yapmak fazkasıyla zordur.) Daha önce dediğimiz gibi, birkaç yüz satırdan oluşan programlar için kullanılabilir. Oldukça boyutlu ürünler için tamamen kabul edilemezdir. Yazılım geliştirmek kolay olduğu için ne yazık ki birçok yazılım projesinde bu model kullanılır

28 En eski, en tanınmış ve en temel modeldir. Bu modelde oluşturulacak sistemlerin her birini bir proje olarak ele almak gerekmektedir. Bu model bazı hükümet standartlarına girmiştir. Baştan tanımlanmış sistemler için daha çok tercih edilmektedir. Yazılımın üretilmesi aşamasında, yazılımcı ile müşteri çok sık bir araya gelmediği durumlarda uygulanan bir modeldir. Müşterinin istekleri farklılaşmayacaksa yani müşteri istekleri esnek değilse bu modelin kullanılması uygundur. Çağlayan modelinde işler aşama aşama yapılır. Bir aşama bitmeden diğer aşamaya geçilmez

29 Geridönüşüm loopları söz konusu, Her safhada dokümantasyon yazılmalı. Her şeyin dokümanının olması gerekir. Eğer bir safhada dokümantasyon ve test olmamışsa, o safhanın tamamlandığı kabul edilmez. (documentation-driven) Avantajları: - Dokümantasyon sağlıyor. - Bakımı kolaydır. - Development ya da design esnasında bir hata varsa kolay bir geri dönüş sağlar. Dezavantajları: - Requirements safhasında oluşturulan, specification dokümanı; detaylı, uzun, okunması ve anlaşılması müşteri için zordur. (Bu doküman formal, teorik bir dile sahiptir.) - Müşteri şartname dokümanını anlamayacağı için, ihtiyacı dışında bir şeyi kabul edebilir

30 Waterfall model ile benzerlikleri var, fakat waterfall daki gibi geriye dönüş yok. Lineer bir modeldir. Rapid Prototype da kullanıcı ile geliştirici arasında uzlaşma sağlandığında, geliştiriciler sistemin mimarisi hakkında bilgi sahibi olurlar. Böylelikle requirment safhasına gerek kalmaz. Requirement safhası yerine Rapid Prototype var!!! Rapid Prototype ile ürün hızlı bir şekilde geliştirilir. Kullanılan programlama dili bunu sağlamalıdır. Burada amaç; kullanıcının gereksinimlerini ortaya çıkarmaktır. Ana fonksiyonları gösterecek olan bir product geliştirilir, burada detaylar yoktur, sadece anahtar fonksiyonlar vardır. Yani, database kullanmak zorunda değilsiniz. Fonksiyonlar uygun veri giriş/çıkışlarıyla kullanıcıya gösterilmesi gerekir. Rapid Prototype ı kullanıcılara kullandırıp, gerçekten istenen ürünü sağlayıp sağlamadığı anlaşılıyor

31 Bir nevi Rapid Prototype ile requirement lar tespit ediliyor. Requirement doğru olduğu için, analysis çok daha kolay oluyor. Herşeyin mükemmel olmasıyla geriye dönüşlere (feedback loop) gerek kalmıyor. İleri ki safhalar hakkında bilgin oluyor. Program geliştirilirken, Rapid Prototype ta kullanılan programlama dilinden farklı bir programlama dili kullanılır. Rapid Prototype müşteri ile developer (geliştirici) arasındaki anlaşmazlıkları önler. Sistem geliştirildiğinde moving target problem ortadan kalkar. Çağlayan modelinin ve prototipleme yaklaşımının birleşmiş şekli olarak düşünülebilir

32 Proje dört ana başlığa ayrılır ve her başlık kendi içerisinde daha detaylı bir bakış açısıyla çözülmeye çalışılır. Her bir aşama için planlama geliştirme risk çözümleme, üretim ve kullanıcı değerlendirmesi yapılır. Risk analizi, gözlem, yaşam döngüsü planı, seçeneklerin değerlendirilmesi kısımları vardır. Her aşamada bir prototip oluşturulur. Bu prototipler geliştirilerek son prototip ortaya çıkartılır

SİSTEM ANALİZİ VE TASARIMI

SİSTEM ANALİZİ VE TASARIMI SİSTEM ANALİZİ VE TASARIMI BİLGİ SİSTEMİ GELİŞTİRME SÜRECİ Sistem Geliştirme Süreci ve Modelleri Sistem Geliştirme Yaşam Döngüsü Bilgi sistemlerinin geliştirilmesi için izlenen sürece Sistem Geliştirme

Detaylı

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

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. SİSTEM VE YAZILIM o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. o Yazılım, bilgisayar sistemlerinin bir bileşeni olarak ele alınmalıdır. o Yazılım yalnızca

Detaylı

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.

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. Yazılım Mühendisliği kapsamındaki Yazılım Geliştirme Metodolojileri, bir bilgi sistemini geliştirme sürecinin yapımını, planlamasını ve kontrolünü sağlayan bir framework tür. Her farklı framework güçlü

Detaylı

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir. Dört Temel Yazılım Geliştirme Metodolojisi I)Yapısal Analiz ve Tasarım 1960lıyılların sonu 1970liyıllar Fonksiyonel ayrıştırma (functional decomposition) ve veri akış analizi (dataflow analysis) yazılım

Detaylı

Yazılım Süreçleri Software Processes

Yazılım Süreçleri Software Processes Yazılım Süreçleri Software Processes Yazılım geliştirme Süreç Modelleri Software Development Process Models Proje Yönetimi Süreçleri Project Management Process Yazılım Geliştirme Süreçleri Software Development

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

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

BMH-405 YAZILIM MÜHENDİSLİĞİ BMH-405 YAZILIM MÜHENDİSLİĞİ Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Yunus Emre SELÇUK, Dr. Sadık EŞMELİOĞLU, Dr. Erhan SARIDOĞAN Yazılımı Etkileyen

Detaylı

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

9.DERS Yazılım Geliştirme Modelleri 9.DERS Yazılım Geliştirme Modelleri 1 Yazılım Geliştirme Yaşam Döngüsü ve Modeller Herhangi bir yazılımın, üretim aşaması ve kullanım aşaması birlikte olmak üzere geçirdiği tüm aşamalar olarak tanımlanabilir.

Detaylı

YAZILIM MÜHENDİSLİĞİ - 1

YAZILIM MÜHENDİSLİĞİ - 1 YAZILIM MÜHENDİSLİĞİ - 1 BÖLÜM 6: TEST (TESTING) Bölüm Kapsamında İncelencek Konular: Kalite ve Kalite Güvencesi Non-execution-based testing (her şeyi test etme) Execution-based testing (kodu test etme)

Detaylı

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing Chapter 8 Yazılım Testi Lecture 1 1 Konular Geliştirme testi Test tabanlı geliştirme Sürüm testi Kullanıcı testi 2 Programı test etmek Test etmek, bir programın yapması gereken şeyi yaptığını doğrulamak

Detaylı

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

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR YAZILIM: SOFTWARE Yazılım (Software): Yazılım sadece bir bilgisayar programı değildir. Basılı veya elektronik ortamdaki her tür dokümanı da içeren ürün. Dokümanlar yazılım mühendislerine ve son kullanıcıya

Detaylı

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

1.Yazılım Geliştirme Metotları 1 1.Yazılım Geliştirme Metotları 1 1.1 Klasik Çevrim(Waterfall) 1.2 V Modeli 1.3 Prototipleme/Örnekleme 1.4 Spiral Model 1.5 Evrimsel Geliştirme 1.6 Evrimsel Prototipleme 1.7 Artımlı Geliştirme 1.8 Araştırmaya

Detaylı

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.

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. Yapısal Sistem Analiz ve Tasarım Metodu SSADM waterfall model baz alınarak uygulanan bir metottur. İngiltere de kamusal projelerde 1980 lerin başında kullanılan sistem analizi ve tasarımı konularındaki

Detaylı

Bölüm 2 Yazılım Süreçleri. Ders 1

Bölüm 2 Yazılım Süreçleri. Ders 1 Bölüm 2 Yazılım Süreçleri Ders 1 1 Konular Yazılım Süreç Modelleri Süreç Aktiviteleri Değişikliklerle Baş Etmek The Rational Unified Process (RUP) 2 Yazılım Süreci Bir yazılım sistemini geliştirmek için

Detaylı

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını

Detaylı

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM KAVRAMINA BİR BAKIŞ Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM ve DONANIM Bilgisayar kavramı, donanım ve yazılım olmak üzere iki ana bileşenden oluşuyor. Elektronik, mekanik

Detaylı

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

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ YAZILIM MÜHENDİSLİĞİ Mustafa Yoğurtçu Özgür Kuru İçerik N E D İ R? T A R İ H Ç E Y A Z I L I M T Ü R L E R İ Y A Z I L I M G E L İ Ş T İ R M E A D I M L

Detaylı

YAZILIM MÜHENDİSLİĞİNİN TEMEL İLKELERİ

YAZILIM MÜHENDİSLİĞİNİN TEMEL İLKELERİ YAZILIM MÜHENDİSLİĞİNİN TEMEL İLKELERİ BÖLÜM 1: YAZILIM MÜHENDİSLİĞİNİN KAPSAMI Yazılım nedir? Bilim mi? Endüstri mi? Mühendislik mi? Sanat mı? Yazılım en yalın biçimiyle, bir sistemin donanım bileşenleri

Detaylı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «Yazılım Süreç Modelleri» Özer Çelik Matematik-Bilgisayar Bölümü Genel Yazılım Süreç Modelleri Kodla ve Düzelt (Code and Fix) Çağlayan Modeli (Waterfall Model) V Modeli (V-shaped

Detaylı

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER BAŞARIM DEĞERLENDİRME Sınav tarihleri: Daha sonra duyurulacak 1. Ara sınav yazılı, 2. Ara sınav: test, Final sınavı: yazılı

Detaylı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Giriş. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak

Detaylı

Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi

Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi 04.11.2010 Mine Berker IBTech A.Ş. Gündem İş Süreçleri Yönetimi (BPM) Modeli Yaşam Döngüsü 1 BPM e Neden İhtiyaç Duyduk? BPM Çözüm Araçlarının

Detaylı

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

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,

Detaylı

Akış. Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2

Akış. Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2 BİL 588 1 Akış Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2 BİL 588 3 Atik Yazılım Geliştirme Atik Yazılım Geliştirme, yazılım

Detaylı

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

BMH-405 YAZILIM MÜHENDİSLİĞİ BMH-405 YAZILIM MÜHENDİSLİĞİ Yazılım Mühendisliği Yöntembilimleri (Methodologies) veya Yazılım Geliştirme Süreç Modelleri Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr

Detaylı

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ 14011021 Suna AKMELEZ 14011050 Biçimsel Yöntemler Nedir? Nerede Kullanılır? Biçimsel Tasarım Biçimsel Yöntemlerin Yararları Biçimsel Yöntemlerin Zayıf Yönleri

Detaylı

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır. Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz

Detaylı

11.DERS Yazılım Testi

11.DERS Yazılım Testi 11.DERS Yazılım Testi 1 Yazılım Testi Bir programda hata bulma amacıyla icra edilen bir süreçtir. İyi bir test koşulu henüz ortaya çıkarılmamış bir hatayı tespit eden test koşuludur. Yazılım testinin önemi

Detaylı

Sistem ve Yazılım Nedir?

Sistem ve Yazılım Nedir? Sistem ve Yazılım Nedir? Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir mantık dahilinde insanlar tarafından

Detaylı

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

YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ İÇERİK Yazılım, Yazılım Türleri Yazılım Mühendisliği Yazılım Geliştirmede Süreç Yönetimi Yazılım Geliştirme Süreç Modelleri Yazılım Kalitesi

Detaylı

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Canlı Hizmetteki Sunucu Sistemlerine Erişim Politikası

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Canlı Hizmetteki Sunucu Sistemlerine Erişim Politikası Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Canlı Hizmetteki Sunucu Sistemlerine Erişim Politikası Formal Doküman Detayları Hazırlanma Tarihi 24.06.2013 Yayın Taslak Hazırlayan Ersun Ersoy

Detaylı

25.10.2011. Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI 2008639402

25.10.2011. Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI 2008639402 Arayüz Tasarımı ve Programlama Neleri Konuşacağız Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları Ömer Faruk MIZIKACI 2008639402 Arayüz Nedir? Bilgisayar ve uygulamalarının

Detaylı

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

YZM 2108 Yazılım Mimarisi ve Tasarımı YZM 2108 Yazılım Mimarisi ve Tasarımı Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 Yazılım Tasarımına Giriş Bu bölümde;

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Sözde kod, algoritmalar ve programlar oluşturulurken kullanılan, günlük konuşma diline benzer ve belli bir programlama dilinin detaylarından uzak

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 3. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu PROBLEM ÇÖZME (PROBLEM SOLVING) nereden

Detaylı

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok 8.0.0 Şebeke Kavramları BÖLÜM III: Şebeke Modelleri Şebeke (Network) Sonlu sayıdaki düğümler kümesiyle, bunlarla bağlantılı oklar (veya dallar) kümesinin oluşturduğu yapı şeklinde tanımlanabilir ve (N,A)

Detaylı

SICAKLIK ALGILAYICILAR

SICAKLIK ALGILAYICILAR SICAKLIK ALGILAYICILAR AVANTAJLARI Kendisi güç üretir Oldukça kararlı çıkış Yüksek çıkış Doğrusal çıkış verir Basit yapıda Doğru çıkış verir Hızlı Yüksek çıkış Sağlam Termokupldan (ısıl İki hatlı direnç

Detaylı

Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri. Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP

Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri. Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP Sunum Planı Organizasyon Yapısı Yazılım Projelerinde Başarı Durumu Yazılım

Detaylı

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri 09.07.2014

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri 09.07.2014 Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ 1 2 Yukarıda belirtilen adımlar, yazılım yaşam döngüsünün çekirdek süreçleri olarak tanımlanır. Bu süreçlerin gerçekleştirilmesi amacıyla; -Belirtim

Detaylı

CMMI ve Çevik Yöntemler

CMMI ve Çevik Yöntemler CMMI ve Çevik Yöntemler Kasım 2006 http:// Büyük k Resim Sorunlar Çözümler Tıbbi Kontrol ISO EFQM CMMI 9001 Yaşam Tarzı RUP MSF XP 2 CMMI Anlaşı şılmamış 3 Proje YönetimininY Tarihi netiminin Tarihi http://home.gwu.edu/~kwak/pm_history.pdf

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

Sistem Analizi ve Tasarımı DERS2

Sistem Analizi ve Tasarımı DERS2 Sistem Analizi ve Tasarımı DERS2 Bilgi Sistemi Bir amacı yerine getirmek için birbirleri ile eş güdümlü olarak çalışan elemanlar ve alt elemanlardan oluşan ve bu amaç için (bilgi) toplayan, işleyen, saklayan

Detaylı

Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği. YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ-Hafta 2

Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği. YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ-Hafta 2 Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ-Hafta 2 Hedef Bu bölümde, yazılım geliştirme yaşam döngüsünün çekirdek aşamaları olan, planlama, çözümleme,

Detaylı

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

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü Cengiz GÖK 1 Gerçek Hayatta Program Geliştirme Gereksinim Analizi Sistemin İdamesi Sistem Tasarımı Teslim Program Tasarımı Sistem Testi Program

Detaylı

Doküman No Revizyon No Yayın Tarihi Sayfa No PROSES FMEA TALİMATI

Doküman No Revizyon No Yayın Tarihi Sayfa No PROSES FMEA TALİMATI 1.0 AMAÇ VE KAPSAM Bu talimatın amacı; ürün veya proseste karşılaşabilecek potansiyel hataları ve bunların neden olabileceği sonuçları önceden analiz ederek, gerekli önlemlerin alınması için kullanılan

Detaylı

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran 2007. Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı. www.nitelik.

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran 2007. Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı. www.nitelik. CMMI ve Çevik Yöntemler Orhan KALAYCI Haziran 2007 http:// CMMI 2 1 XP 3 CMMI nedir? 1. Seviye 2. Seviye 3. Seviye 4 2 XP Nedir? MSF XP Şelale RUP 5 CMM XP İlişkisi 6 3 PROJE YONETİMİNİ İMİNİN EVRİMSEL

Detaylı

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 0 Algoritma ve Programlama I 2. Hafta Yük. Müh. Köksal GÜNDOĞDU Algoritma ve Programlama Yük. Müh. Köksal GÜNDOĞDU 2 Algoritma Kavramı Yük. Müh. Köksal GÜNDOĞDU 3 Algoritma ve Programlama Bilgisayardaki

Detaylı

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru DR. ÇAĞATAY ÇATAL TÜBİTAK-UEKAE Bilişim Teknolojileri Enstitüsü cagatay.catal@bte.mam.gov.tr www.cagataycatal.com İçerik 1. Giriş

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing

Detaylı

WorkFlow. dinamo Work Flow

WorkFlow. dinamo Work Flow dinamo Work Flow 1 Ön Tanımlar Work Flow /Ön Tanımlar e-mail, sms gönderilecek alanın işaretli olmasıyla ilgili tanımlar yapılır. Her süreç adımı yaratılırken varsayılan değerler için oluşturulan tablodur.

Detaylı

ESİS Projesi. Kaynaklar Bakanlığı

ESİS Projesi. Kaynaklar Bakanlığı ESİS Projesi Hem ulusal, hem de uluslararası platformda enerji, bir ülkenin politika üretmesi ve uygulaması gereken en önemli stratejik alanlardan birisidir. Ülkemiz de sahip olduğu kritik jeopolitik konumu

Detaylı

DOKÜMAN KOTROLÜ. Çeviri: Elif KILIÇ, Gıda Müh. Düzenleme: Fırat ÖZEL, Gıda Müh.

DOKÜMAN KOTROLÜ. Çeviri: Elif KILIÇ, Gıda Müh. Düzenleme: Fırat ÖZEL, Gıda Müh. BRC Gıda standardında geçen gerekliliklerin bir kısmına yönelik olarak açıklayıcı klavuzlar BRC tarafından yayınlandı. Bu klavuzlardan biri olan bu dokümanın Türkçe çevirisi Sayın ELİF KILIÇ tarafından

Detaylı

Üretim Yönetimi. 3.1. Ürün Tasarımı 19.02.2012. 3.1.1. Ürün Tasarımını Etkileyen Faktörler. Bölüm 3. Üretim Sistemlerinin Tasarımı ve Kuruluşu

Üretim Yönetimi. 3.1. Ürün Tasarımı 19.02.2012. 3.1.1. Ürün Tasarımını Etkileyen Faktörler. Bölüm 3. Üretim Sistemlerinin Tasarımı ve Kuruluşu Üretim Yönetimi Bölüm 3. Üretim Sistemlerinin Tasarımı ve Kuruluşu Yrd. Doç. Dr. Selçuk ÇEBİ http://scebi.ktu.edu.tr 3.1. Ürün Tasarımı Ürün tasarımı, ürünün fiziksel özelliklerini ve fonksiyonlarını açıkça

Detaylı

Ant + Ivy + SVN + CruiseControl ile Yazılım Geliştirme Yaşam Döngüsü. Kenan SEVİNDİK

Ant + Ivy + SVN + CruiseControl ile Yazılım Geliştirme Yaşam Döngüsü. Kenan SEVİNDİK Ant + Ivy + SVN + CruiseControl ile Yazılım Geliştirme Yaşam Döngüsü Kenan SEVİNDİK Yazılım Geliştirme Yaşam Döngüsü Proje Dizin Yapısı Oluşturma Compile + Test + Deploy Döngüsü İhtiyaç Duyulan Kütüphanelerin

Detaylı

Proje Çevresi ve Bileşenleri

Proje Çevresi ve Bileşenleri Proje Çevresi ve Bileşenleri 1.3. Proje Çevresi Proje çevresi, proje performans ve başarısını önemli ölçüde etkiler. Proje takımı; sosyoekonomik, coğrafı, siyasi, yasal, teknolojik ve ekolojik gibi kuruluş

Detaylı

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

X. Çözüm Ortaklığı Platformu www.pwc.com/tr Türkiye Muhasebe Standartları na Geçiş İçerik 1. Yeni Türk Ticaret Kanunu na Genel Bakış 2. Türkiye Muhasebe Standartları na Geçiş Yol Haritası 3. Finansal Raporlama Süreci ve Teknik Altyapı

Detaylı

Çek-Senet Modülü Dizayn. Dökümanı. Turquaz Muhasebe. Versiyon 0.2. Önsel Armağan. 15 Eylül 04

Çek-Senet Modülü Dizayn. Dökümanı. Turquaz Muhasebe. Versiyon 0.2. Önsel Armağan. 15 Eylül 04 Çek-Senet Modülü Dizayn Dökümanı Turquaz Muhasebe Versiyon 0.2 Önsel Armağan 15 Eylül 04 Turquaz Muhasebe, Çek-Senet Modülü Dizayn Dökümanı Sayfa 2 İçindekiler İÇİNDEKİLER 2 GEÇMİŞ DEĞİŞİKLİKLER 3 1. GİRİŞ

Detaylı

OTOMATİK KONTROL SİSTEMLERİ İŞARET AKIŞ DİYAGRAMLARI SIGNAL FLOW GRAPH

OTOMATİK KONTROL SİSTEMLERİ İŞARET AKIŞ DİYAGRAMLARI SIGNAL FLOW GRAPH OTOMATİK KONTROL SİSTEMLERİ İŞARET AKIŞ DİYAGRAMLARI SIGNAL FLOW GRAPH İŞARET AKIŞ DİYAGRAMLARI İşaret akış diyagramları blok diyagramlara bir alternatiftir. Fonksiyonel bloklar, işaretler, toplama noktaları

Detaylı

Veritabanı Uygulamaları Tasarımı

Veritabanı Uygulamaları Tasarımı Veritabanı Uygulamaları Tasarımı Veri Tabanı Veritabanı yada ingilizce database kavramı, verilerin belirli bir düzene göre depolandığı sistemlere verilen genel bir isimdir. Günümüzde özel veya kamu kuruluşların

Detaylı

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

Yazılım Mühendisliği Bölüm - 3 Planlama 1 Yazılım Mühendisliği Bölüm - 3 Planlama 2 3 4 Planlama 5 Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında

Detaylı

A/B TESTING. Mert Hakan ÖZLÜ N14111368

A/B TESTING. Mert Hakan ÖZLÜ N14111368 A/B TESTING Mert Hakan ÖZLÜ N14111368 İÇERİK A/B Testi Nedir? A/B Testinin Amacı Nedir? A/B Testi Nasıl Uygulanır? A/B Testi Nerelerde Kullanılır? A/B Testi ile Nasıl Değişiklikler Yapılabilir? A/B Testi

Detaylı

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir Kümeleme Analizi: Temel Kavramlar ve Algoritmalar Kümeleme Analizi Nedir? Her biri bir dizi öznitelik ile, veri noktalarının bir kümesi ve noktalar arasındaki benzerliği ölçen bir benzerlik ölçümü verilmiş

Detaylı

kültürel değişim gayreti Kültürel değişim ğş

kültürel değişim gayreti Kültürel değişim ğş Altı Sigma Nedir? Mühendis ve istatistikçiler tarafından ürün ve proseslerin ince ayarını yapmak için kullanılan ileri derecede teknik bir yöntem Müşteri ihtiyaçlarını kusursuza yakın karşılama hedefi

Detaylı

optimisation of data/digital for communication and commerce

optimisation of data/digital for communication and commerce optimisation of data/digital for communication and commerce Biz Kimiz? Gerçek zamanlı hedefleme ve satın alma teknolojileriyle doğru yerde doğru zamanda doğru kullanıcıya ulaşmanızı sağlıyoruz Teknoloji

Detaylı

17.12.2012 ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ ETKİLEŞİMLİ TASARIM NEDİR? GELENEKSEL YAZıLıM TASARıMı ILE

17.12.2012 ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ ETKİLEŞİMLİ TASARIM NEDİR? GELENEKSEL YAZıLıM TASARıMı ILE ETKİLEŞİMLİ TASARIM NEDİR? ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ Etkileşimli tasarım sadece arayüz tasarlama yada bilgisayar programlama değildir. Aynı zamanda insanların işlerini nasıl ve ne kadar

Detaylı

Yazılım Geliştirme Modeli ve Mimariler. Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ. Öğr. Gör. Yüksel KARAMAN

Yazılım Geliştirme Modeli ve Mimariler. Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ. Öğr. Gör. Yüksel KARAMAN Yazılım Geliştirme Modeli ve Mimariler Ünite 3 Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ Öğr. Gör. Yüksel KARAMAN 1 Ünite 3 YAZILIM GELİŞTİRME MODELİ VE MİMARİLER Öğr. Gör. Yüksel

Detaylı

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

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet

Detaylı

qscale I2 Low-End SLI

qscale I2 Low-End SLI Mobile Machine Control Solutions qscale I2 Low-End SLI Sadece Konfigure et! Programlamaya gerek yok qscale I2 2 4 5 Geleceğin orta ve küçük sınıf vinçleri için Yeni bir Standart 6 Uzunluk Mobil teleskopik

Detaylı

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta SAYISAL ÇÖZÜMLEME Yrd.Doç.Dr.Esra Tunç Görmüş 1.Hafta Sayısal çözümleme nümerik analiz nümerik çözümleme, approximate computation mühendislikte sayısal yöntemler Computational mathematics Numerical analysis

Detaylı

UNICASE.... kapsamlı bir CASE* aracı. * http://en.wikipedia.org/wiki/computer-aided_software_engineering

UNICASE.... kapsamlı bir CASE* aracı. * http://en.wikipedia.org/wiki/computer-aided_software_engineering UNICASE... kapsamlı bir CASE* aracı * http://en.wikipedia.org/wiki/computer-aided_software_engineering Neden UNICASE? Yazılım geliştirme projelerinde yazılım mühendisliği modelleri merkezi bir yerde ve

Detaylı

Çekirdek Nedir? Ne yapar?

Çekirdek Nedir? Ne yapar? Çekirdek Nedir? Ne yapar? Erkan Esmer Nisan, 2014 İçindekiler 1 Giriş.................................................... 2 2 Çekirdek Tipleri.............................................. 3 2.1 Mikrokernel............................................

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd.Doç.Dr. Muhammed Arslan OMAR

BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd.Doç.Dr. Muhammed Arslan OMAR BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd.Doç.Dr. Muhammed Arslan OMAR Bilgisayar Destekli Tasarım Nedir? CAD (Computer Aided Design) Bütün mühendislik alanlarında olduğu gibi makine mühendislerinin

Detaylı

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir? 2.1.1. PROGRAMLAMA NEDIR? Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir? Bu düşünme şekli matematiğin, mühendisliğin ve doğa bilimlerinin bazı özelliklerini birleştirmektedir.

Detaylı

Yazılım Geliştirme Genel Tanımlar

Yazılım Geliştirme Genel Tanımlar Yazılım Geliştirme Genel Tanımlar Yazılım Projesi Genel Tanımlar: Yazılım: Bilgisayar programları ve gereksinimler, tasarım hedefleri, kullanıcı kılavuzları gibi tüm dokümanlar. Yazılım ürünleri başlıca

Detaylı

Doküman No:ITP 16.1 Revizyon No: 01 Tarih: Sayfa No: 1/5 KALİTE SİSTEM PROSEDÜRLERİ PROJE YÖNETİMİ PROSEDÜRÜ

Doküman No:ITP 16.1 Revizyon No: 01 Tarih: Sayfa No: 1/5 KALİTE SİSTEM PROSEDÜRLERİ PROJE YÖNETİMİ PROSEDÜRÜ Doküman No:ITP 16.1 Revizyon No: 01 Tarih: 09.05.2016 Sayfa No: 1/5 1. AMAÇ Etkin ve verimli bir biçimde proje amacına ve hedeflerine ulaşılması için insanların, finansal ve teknik kaynakların ve zamanın

Detaylı

ISO 14001:20014 ve ISO 14001:2015 Şartları Arasındaki Eşleştirme Eşleştirme Kılavuzu

ISO 14001:20014 ve ISO 14001:2015 Şartları Arasındaki Eşleştirme Eşleştirme Kılavuzu Final ISO 14001:20014 ve ISO 14001:2015 Şartları Arasındaki Eşleştirme Eşleştirme Kılavuzu Giriş Bu doküman ISO 14001:2004 ve ISO 14001:2015 şartları arasındaki eşleştirmeyi sunmaktadır. Doküman yalnızca

Detaylı

Montaj Resminin Tanımı, Önemi ve Kullanıldığı Yerler

Montaj Resminin Tanımı, Önemi ve Kullanıldığı Yerler Montaj Resminin Tanımı, Önemi ve Kullanıldığı Yerler Bir makineyi meydana getiren çeşitli parçaların nasıl bir araya getirileceğini gösteren toplu olarak görünüşleri ve çalışma sistemi hakkında bize bilgi

Detaylı

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Kümeleme İşlemleri Kümeleme Tanımı Kümeleme Uygulamaları Kümeleme Yöntemleri Kümeleme (Clustering) Kümeleme birbirine

Detaylı

Kent içi ulaşım Modları Üstün ve zayıf yönler. Dr. Hediye Tuydes Yaman IMO Ulaştırma Kurulu

Kent içi ulaşım Modları Üstün ve zayıf yönler. Dr. Hediye Tuydes Yaman IMO Ulaştırma Kurulu Kent içi ulaşım Modları Üstün ve zayıf yönler Dr. Hediye Tuydes Yaman IMO Ulaştırma Kurulu Başlarken... Ulaşım modlarının zayıf-güçlü yönleri... Kime göre? Neye göre? Kent içi ulaşım Karmaşık ağ yapısı

Detaylı

10.DERS Yazılım Gerçekleştirme

10.DERS Yazılım Gerçekleştirme 10.DERS Yazılım Gerçekleştirme 1 Giriş: Bilgisayarlara yaptırılmak istenenleri, anlatabilmek için programlama dilleri kullanılır. Bir ihtiyaç veya konu doğrultusunda meydana getirilen tasarım önce programlama

Detaylı

Knowledge Distribution and the Effect of Design Tools on the Design Process

Knowledge Distribution and the Effect of Design Tools on the Design Process Knowledge Distribution and the Effect of Design Tools on the Design Process Mina Tahsiri, Jonathan Hale and Chantelle Niblock Afif Eymen Nalbant Mimari ve Kentsel Enformatik Yüksek Lisans Programı 1 2

Detaylı

Atitek Elektronik LTD. UHF Temelli OGS Sistemleri

Atitek Elektronik LTD. UHF Temelli OGS Sistemleri Nedap OGS Sistemleri Türkiye Genel Distribütörü Atitek Elektronik LTD. UHF Temelli OGS Sistemleri COPYRIGHT Bu doküman ve içindeki bilgiler Atitek Elektronik Sistemleri ve Teknolojileri San.Tic.Ltd.Şti.

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ 1. DENEYİN AMACI Bu deney, simetrik şifreleme algoritması kullanılarak şifrelenmiş bir

Detaylı

Araç Karşılaştırma Programı

Araç Karşılaştırma Programı 1 Araç Karşılaştırma Programı Sık Sorulan Sorular 01 Ocak 2015 2 Konu: Genel 1. Soru: Sistemdeki bilgiler nereden geliyor? Cevap: Görüntüleme ve karşılaştırma yapılan programda yer alan tüm bilgiler (sonuç

Detaylı

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model)

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model) Yazilim Gelistirme Yöntemleri Farklı uygulama geliştirme görevleri genellikle farklı tasarım sorunları yaratır ve buda yaklaşımların ve modellerin birleşimin birlikte kullanılmasını gerektirir. Bu bölümde

Detaylı

MONTE CARLO BENZETİMİ

MONTE CARLO BENZETİMİ MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol

Detaylı

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

BMH-405 YAZILIM MÜHENDİSLİĞİ BMH-405 YAZILIM MÜHENDİSLİĞİ Sistem Mühendisliği İşlevleri Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Erhan SARIDOĞAN İçerik Sistem Mühendisliği nedir?

Detaylı

Dairesel Olarak Hareket Eden Dinamik Bir Lineer Motor

Dairesel Olarak Hareket Eden Dinamik Bir Lineer Motor Dairesel Olarak Hareket Eden Dinamik Bir Lineer Motor Beckhoff un ürettiği yeni XTS sürücü sistemi (extended Transport System) makine mühendisliğine yeni bir özgürlük yelpazesi sunuyor. Denenmiş ve test

Detaylı

Lego Challenge ve Yazılım Mimarisi. Sedat Görmüş, PhD :

Lego Challenge ve Yazılım Mimarisi. Sedat Görmüş, PhD   : Lego Challenge ve Yazılım Mimarisi Sedat Görmüş, PhD Email : sedatgormus@gmail.com : sedatgormus@ktu.edu.tr İçerik Lego Challenge Mimari Adımları Lego Challenge Bu projede 5 kişilik takımlara ayrılarak

Detaylı

Sensör Birleştirme Eğitimi. Hızlı jet uçağa monte görev sistemlerinin geliştirilmiş operasyonel performansı vasıtasıyla avantaj sağlayın

Sensör Birleştirme Eğitimi. Hızlı jet uçağa monte görev sistemlerinin geliştirilmiş operasyonel performansı vasıtasıyla avantaj sağlayın Sensör Birleştirme Eğitimi Hızlı jet uçağa monte görev sistemlerinin geliştirilmiş operasyonel performansı vasıtasıyla avantaj sağlayın Operasyonel verimliliği en üst düzeye çıkarma Hızlı jet platformlar,

Detaylı

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar IBM CLM Çözümleriyle Çevik Yazılım Süreçleri Canberk Akduygu & Koray Okşar Günümüzde Yazılım Geliştirme Proje takımları farklı bölgelerde çalışabilir ve iletişim eksikliği doğabilir Gebze Maltepe Odakule

Detaylı

aberon PICK-BY-LIGHT aberon PICK CART,

aberon PICK-BY-LIGHT aberon PICK CART, DEPO OTOMASYONU VELTIONoptimum ilaç ve kozmetik ürünleri dağıtıcılarına çok çeşitli seçenekler sunar. Toplama otomasyonuna ilişkin sunduğumuz çözümler, dağıtıcıların ürün akışlarını ve hizmet seviyelerini

Detaylı

FİNANSAL YÖNETİM. Finansal Planlama Nedir?

FİNANSAL YÖNETİM. Finansal Planlama Nedir? FİNANSAL YÖNETİM FİNANSAL PLANLAMA Yrd.Doç.Dr. Serkan ÇANKAYA Finansal analiz işletmenin geçmişe dönük verilerine dayanmaktaydı ancak finansal planlama ise geleceğe yönelik hareket biçimini belirlemeyi

Detaylı

5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI

5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI 5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI 1 1. PROJENİN PLANLANMASI? Proje planlaması yapılmadan iyi bir proje önerisi hazırlanması mümkün değildir. Bu nedenle planlama ile ilgili sorunları ortaya koymanın

Detaylı

GÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1

GÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1 GÖMÜLÜ SİSTEMLER Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1 Gömülü sistemler için farklı tanımlamalar yapmak mümkün olmakla birlikte genel olarak şu şekilde tanımlama yapabiliriz:

Detaylı

İleriye doğru açık bir yol

İleriye doğru açık bir yol Broşür İleriye doğru açık bir yol Bir HP PartnerOne İş Ortağı ile çalışmanın avantajlarını keşfedin HP portföyünün eşsiz zenginliği, yetkili HP PartnerOne İş Ortağı nın becerileriyle birlikte size piyasada

Detaylı

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

BLG4146 - Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK BLG4146 - Sistem Analizi ve Tasarımı Öğr. Grv. Aybike ŞİMŞEK Tasarım Evresi Analiz evresinde sorulan NE sorusuyla elde edilen bilgilerin NASIL yapılacağı, NASIL gerçekleştirileceğinin ortaya konulduğu

Detaylı