YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN

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

Download "YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN"

Transkript

1 YAZILIM PROJE YÖNETİMİ Yrd.Doç.Dr.Hacer KARACAN

2 İçerik Yazılım süreç modelleri (yöntembilimleri) ile ilgili tanımlar Yazılım süreç modeli tanıtımı Çeşitli süreç modelleri Tanımları Kullanım alanları

3 Yüksek kalitede yazılım ürünleri geliştirme için yol haritası yazılım süreci Yazılım süreçleri yazılım mühendisleri ve yöneticilerinin yazılım ürünü geliştirirken ihtiyaçlarını karşılamak için adapte olurlar kolaylıkla kontrolden çıkabilecek aktivitelerin yönetilebilmesi ve gerçekleştirilebilmesi için çerçeve sağlar

4 Süreç (process) nedir? Süreç olguların ya da olayların, belli bir taslağa uygun ve belli bir sonuca varacak biçimde düzenlenmesi, sıralanması. Bir şeyin yapılış, üretiliş biçimini oluşturan sürekli işlemler, eylemler dizisi. Aralarında birlik olan veya belli bir düzen veya zaman içinde tekrarlanan, ilerleyen, gelişen olay ve hareketler dizisi, proses

5 Yazılım süreci nedir? Bir yazılım ürününü üretmeyi sağlayan birbiriyle tutarlı aktivite grubudur Aktivite spektrumu (bandı) Yazılımı baştan geliştirme Piyasada satılan hazır yazılımları yapılandırma ya da tümleştirme

6 Yazılım süreci nedir? Ne yapılmak istendiğini tüm uygulama detaylarına girmeden tanımlar Yazılım süreci bizim yazılım üretme yolumuzdur. * *Kaynak: Object-Oriented and Classical SWE, 7thEdition, Stephen R. Schach, p71.

7 Temel aktiviteler (evreler\fazlar) Yazılım geliştirme süreci için pek çok aktivite vardır. Ama tüm süreçleri için ortak olanlar: Yazılım Belirtimi (Software specification \ Req. Engineering) Yazılım Tasarım ve Gerçekleştirimi (Software design and implementation) Yazılım geçerleme (onaylama) (Software validation) Yazılım gelişimi (Software evolution)

8 Yazılım Belirtimi (Software specification \ Req. Engineering) Ne gibi hizmetler gerekli? Sistemin çalışması ve geliştirilmesi için ne gibi kısıtlamalar var? Süreç fazları: Yapılabilirlik çalışması (Feasibility study) günümüz teknolojisi ile karşılanabilecek mi? Gereksinim ortaya çıkarma ve çözümleme (Requirements elicitation and analysis) var olan sistemden sistem gereksinimlerini çıkarma. Sistem modellerini geliştirme. Gereksinim belirtimi (Requirements specification) Sistem ve kullanıcı isterlerini belgeleme Gereksinim geçerleme (Requirements validation) tamlık (completeness) ve tutarlılığı (consistency) kontrol etme

9 Yazılım Tasarım ve Gerçekleştirimi (Software design and implementation) Sistem belirtimini çalıştırılabilir sisteme çevirme süreci Yazılım Tasarımı Belirtimi gerçekleştirecek yazılım yapısını tasarlama Gerçekleştirim Bu yapıyı çalıştırılabilir programa çevirme Tasarım ve gerçekleştirim aktiviteleri birbirleriyle yakın ilişkilidir ve sırayla da gerçekleştirilebilir.

10 Yazılım Geçerleme (Software validation) Gerçekleme (verification) ve geçerleme (validation), sistemin belirtimlerine uyduğunu ve sistem müşterisinin gereksinimlerini karşıladığını göstermek içindir. Kontrol etme (checking) süreci Gözden geçirme (review) süreci Sistemi test etme (system testing) Sistem testi; sistem tarafından işlenecek gerçek verinin belirtiminden çıkarılarak oluşturulmuş test durumları ile sistemin çalıştırılmasını içerir.

11 Yazılım gelişimi (Software evolution) Yazılım doğası gereği esnek ve değişebilirdir. İşle ilgili şartların değiştikçe gereksinimler de değiştiği için işi destekleyen yazılımın da gelişmesi ve değişmesi gerekmektedir.

12 Yazılım Süreç Modelleri Süreç belirli bir amaç için gerçekleştirilen bir grup aktivite (örn. Gereksinim, yönetim, teslimat) Aktivite belirli bir amacı gerçekleştirmek için bir takıma ya da proje çalışanına atanan bir görev Örn. Gereksinim sürecinde 3 aktivite Yazılım gereksinimleri tanımla ve geliştir Arayüz gereksinimlerini tanımla Yazılım gereksinimlerini önceliklendir ve tümleştir.

13 Yazılım Süreç Modelleri Yazılım süreç modeli, sürecin soyut gösterimidir. Sürecin tanımını farklı bir bakış açısından sunar. Yazılım yaşam döngüsü modeli (Software lifecycle model) Yazılım süreç modeli için kullanılan başka bir isimlendirmedir.

14 Yazılım Süreç Modelleri neden önemlidir? Endüstri kaliteye önem vermektedir. (örn. performans, üretkenlik) Deneyimler göstermektedir ki süreçlerin ürünlerin kalitesine kayda değer etkisi vardır. Ürünlerin istenen kalitede olmasını süreçleri kontrol ederek daha iyi sağlayabiliriz. yönetici ve geliştiricilerin, yazılım geliştirme sürecinin karışıklığı ile baş etmelerini sağlarlar.

15 Yazılım Süreç Modelleri Ürün gereksinimleri SÜREÇ Ürün Kara kutu olarak süreç (hatalı bakış açısı)

16 Yazılım Süreç Modelleri Resmi olmayan (informal) gereksinimler SÜREÇ Ürün Resmi olmayan (informal) gereksinimler ve kara kutu süreci

17 Yazılım Süreç Modelleri Resmi olmayan (informal) gereksinimler SÜREÇ Ürün Geribildirim (feedback) Şeffaf Süreç

18 Özetle... Yazılım Süreç Modelleri Kontrol Tutarlılık Düzen sağlar Karmaşıklığı azaltıp kaosu önler

19 Yazılım yaşam döngüsü

20 Kullanıcı isterleri Her proje mutlaka kullanıcının ortaya koyduğu gereksinimleri karşılamak üzere gerçekleştirilir.

21 İnceleme ve Planlama Her projeye başlamadan önce, kullanıcı isteklerinin karşılanabilmesi için Yapılabilirlik (feasibility ) araştırması yapılır. Her problemin çözümü bilgisayar otomasyonu olmayabilir!

22 Sistem Çözümlemesi Çözümleme yapmak için çeşitli yöntemlerle kullanıcı ortamı modellenir, geliştirme ve davranış modelleri oluşturulur.

23 Sistem Tasarımı (Design) Çözümleme sonucu ortaya çıkan işlev ve isterlerin bir kısmının yazılım ve donanım öğelerine bir kısmının da kullanıcılara paylaştırılmasını içeren aşamadır.

24 Sistemin Gerçekleştirimi (Implementation) Genelde iki ayrı koldan yapılır. Yazılım Donanım

25 Sistem Tümleştirme (Integration) Geliştirilen yazılım öğeleri, geliştirilen veya hazır alınan donanım öğeleri ile tümleştirilir.

26 Sistem Testi Mutlaka sistemin asıl kullanılacağı ortamda yapılan geçerleme (validation) ve gerçekleme (verification) dir.

27 Teslim Bu süreç içerisinde İşletmen eğitimi Donanım bakım eğitimi Yazılım bakım eğitimi İlk kullanım sırasında ortaya çıkan hataların giderilmesi gerçekleştirilir.

28 Bakım (Maintenance) İyileştirici ve düzeltici etkinlikler yer alır. Sistem yaşam çevrimi boyunca devam eder

29 Genel Yazılım Süreç Modelleri (Sadece yazılım geliştirmek için) Kodla ve Düzelt (Code and Fix) Çağlayan Modeli (Waterfall Model) V Modeli (V-shaped Model) Evrimsel Geliştirme (Evolutionary Development) Prototipleme (Prototyping) Spiral Model Formal Sistem Geliştirme (Formal System Development) Matematiksel sistem modeli formal (kurallara uygun) olarak gerçekleştirilir. Yeniden kullanıma yönelik geliştirme (Re-use based development) Sistem var olan bileşenlerden toparlanır Artımlı Geliştirme (Incremental Development) Birleşik Süreç (Unified Process) Uç Programlama (Extreme Programming)

30 Kodla ve Düzelt (Code and Fix) Analiz (Çözümleme) Kod Kod Düzeltme

31 Kodla ve Düzelt - Avantajları Tüm gereken yeterli olacak kadar gayrettir. Tüm adımlardaki gayret direk olarak ürüne katkı sağladığından çoğu müşteri ödeme yapmaktan mutlu olur. Eğer ürün onu yapanlar tarafından kullanılacaksa avantajlıdır.

32 Kodla ve Düzelt - Dezavantajları Kodlamaya başlamadan önce değişiklik tahmin edilmediğinden, birbirini izleyen değişikliklerden sonra kod karmakarışık bir hale gelir ve daha sonraki düzeltmeleri yapmak daha da zorlaşır. Geliştirilen sistemin boyutunun artması, yapısal olmayan bir şekilde karmaşıklığının yönetilmesini zorlaştırır. Müşterinin sürece dahil edilmemesi kullanıcı ihtiyaçlarına uygun olmamasına yol açar. Bireysel geliştiriciler için uygundur, takımlar için değil.

33 Temel Çağlayan Modeli (Royce, 1970) Yazılım Gereksinimi Tasarım Gerçekleştirim Test İşlem ve Bakım

34 Temel Çağlayan Modeli Sonraki faz bir önceki faz tamamlanmadan başlayamaz. Her fazın sonucu bir ya da birden fazla onaylanan (imzalanan) belgedir. Gerektiğinde geliştirme aktivitelerinde iterasyonlar (tekrarlamalar) olabilir.

35 Çağlayan Modeli - Avantajları Müşteriler ve son kullanıcılar tarafından da iyi bilenen anlaşılabilen adımlardan oluşur. İterasyonlar (tekrarlamalar) bir sonraki ve bir önceki adımlarla gerçekleşir, daha uzak adımlarla olması nadirdir. Değişiklik süreci yönetilebilir birimlere bölünmüştür. Gereksinim adımı tamamlandıktan sonra sağlam bir temel oluşur Erken işin miktarını arttırır.

36 Çağlayan Modeli - Avantajları Proje yöneticileri için işin dağılımını yapma açısından kolaydır. Aşamaları iyi anlaşılabilir. Gereksinimleri iyi anlaşılabilen projelerde iyi çalışır. Kalite gereksinimlerinin bütçe ve zaman kısıtlamasında göre çok daha önemli olduğu projelerde iyi çalışır.

37 Çağlayan Modeli Problemleri Problem - 1 Test aşaması geliştirme sürecinin en sonunda yapılır. Hatalar önemli yeniden tasarım gerekliliğini oluşturur. Çözüm 1. Çözümleme aşamasının önüne bir ön-tasarım aşaması eklenir böylece programlama kısıtlamaları önceden anlaşılabilir. 2. Her aşamanın sonunda genişletilmiş belgelendirme yapılır Neden? Erken aşamalarda tasarım= belgelendirme Etkili yeniden tasarıma izin verir Proje ile ortak anlayış

38 Çağlayan Modeli Problemleri Problem 2 Eğer ürün tamamıyla orijinal ise, sistemi yapmadan önce biraz deneysel testlerin yapılması gereklidir Çözüm Bazı anahtar hipotezleri sınamak için prototip yap (Royce un da dediği gibi iki defa yap)

39 Prototip yaptıktan sonra Yazılım Gereksinimi Tasarım Tasarım Gerçekleştirim Gerçekleştirim Test Test İşlem ve Bakım İşlem

40 Çağlayan Modeli Problemleri Problem 3 Önceden anlaşma sağlansa bile yazılımın ne yapacağı konusu yoruma açıktır. Kullanıcılar kaliteyi en sondan önce anlayamazlar Çözüm: Teslim etmeden önce sürece müşteriyi de dahil et. - Gözden geçirmeler

41 Çağlayan Modeli - Diğer dezavantajları Bitirme kriteri olarak belgelendirmeye önem verilmektedir Bazı alanlar için mümkünken (derleyiciler, işletim sistemleri, vb.) etkileşimli son kullanıcı uygulamaları gibi alanlar için zordur. Sistem geliştirilmesi süresince de gereksinimler sıklıkla değişir. Çağlayan modeli gereksinimlerin çok iyi anlaşılabildiği durumlarda kullanılmalıdır. İki ya da daha önceki fazlara gitmek çok maliyetlidir bu durumda da gerektiğinde tüm fazı yeniden gerçekleştirmek çok büyük bir iştir. Bir faz tamamlanmadan diğerine geçilememesi riski arttırır.

42 V Modeli Proje ve gereksinim planlaması Ürün gereksinimleri ve belirtim çözümlemesi Mimari ve yüksek seviye tasarım Detaylı tasarım Kodlama Birim testi Tümleştirme ve test Sistem ve kabul edilme testleri Üretim, işletim ve sürdürülebilirlik

43 V Modeli

44 V Modeli - Avantajları Verification ve validation planları erken aşamalarda vurgulanır Verification ve validation sadece son üründe değil tüm teslim edilebilir ürünlerde uygulanır. Proje yönetimi tarafında takibi kolaydır Kullanımı kolaydır

45 V Modeli - Dezavanatjları Aynı zamanda gerçekleştirilebilecek olaylara kolay imkan tanımaz Fazlar arasında tekrarlamaları kullanmaz Risk çözümleme ile ilgili aktiviteleri içermez

46 Yazılım da diğer sistemler gibi zamanla evrimleşir Geliştirme devam ettikçe iş ve ürün gereksinimleri de değişkenlik gösterebilir Son ürüne ulaşma düz bir çizgi ile ifade edilemez

47 Evrimsel Geliştirme (Evolutionary Development) Anahat gereksinimleri ile başlangıç sistemi geliştirilir. Müşteri geribildirimi ile sitem pek çok versiyonla yavaş yavaş geliştirilir. Belirtim (specification), geliştirme ve geçerleme (validation) aktivitleri koşut zamanlı yürütülür.

48 Evrimsel Geliştirme Koşutzamanlı Aktiviteler Belirtim Başlangıç versiyonu Ana hat Tanımı Geliştirme Ara versiyonlar Geçerleme Son versiyon

49 Evrimsel Geliştirme (Modeli) İki çeşit evrimsel geliştirme vardır: Keşifçi geliştirme (exploratory development) Hedef: Müşterinin gereksinimlerini incelemek için müşteri ile çalışıp son sistemi teslim etmek İyi anlaşılan gereksinimlerle başlanmalıdır Ne istediğimi sana söyleyemem ama onu gördüğümde bilirim Atılacak prototipleme (throw-away prototyping) Hedef: Sistem gereksinimlerini anlamak Tam anlaşılmamış gereksinimlerle başlar

50 Karşılaştırma Çağlayan modeli Evrimsel geliştirme zaman

51 Evrimsel Geliştirme - Avantajları Kullanıcıların kendi gereksinimlerini daha iyi anlamalarını sağlar Sürekli değerlendirme erken aşamalardaki geliştirme risklerini azaltır Hatalar azalır

52 Evrimsel Geliştirme - Problemler Sürecin görünürlüğü azdır (düzenli teslim edilebilir ürün yoktur) Sistemler sıklıkla iyi yapılandırılmaz (sürekli değişiklik yazılımın yapısına zarar verir) Bakımı zordur Yazılım gereksinimini yenilemek gerekebilir

53 Evrimsel Geliştirme - Uygulanabilirliği Küçük ve orta boyutlu etkileşimli sistemler ( LOC dan daha az olan) Büyük bir sistemin parçaları (örn. Kullanıcı arayüzleri) Kısa süreli kullanılacak sistemler

54 Prototipleme Gereksinim tanımlama fazında hızlıca yapılan kısmi gerçekleştirme Gereksinimler netleştikçe prototipi düzelt Müşteri memnun olana kadar düzeltmelere devam et

55 Prototipleme Communicat ion İletişim Hızlı plan Qu ick p lan Mo d e lin g Modelleme Qu ick d e sig n Hızlı tasarım Deployment Kurulum, De live ry teslimat ve & Fe e dback geribildirim Const ruct ion Prototip of prot yapımı ot ype

56 Prototipleme - Avantajları Kullanıcı sistem gereksinimlerini görebilir Karmaşa ve yanlış anlaşılmaları engeller Yeni ve beklenmeyen gereksinimler netleştirilebilir Risk kontrolü sağlanır

57 Prototipleme - Dezavantajları Belgelendirmesi olmayan hızlı ve kirli (quick and dirty) prototipler Prototip hedefleri net değilse kod hackleme ya da jenga başlar Düzeltme aşaması atlanırsa, düşük performansa yol açar Müşteri prototipten de son ürün gibi görünüm ve etki bekler.

58 Yazılım sürecinde Spiral model Hedefler, alternatifler ve kısıtlamalar belirlenir Alternatifler değerlendirilir, riskler belirlenip çözülür Aşamanın ürünü geliştirilir Sonraki faz planlanır

59 Spiral geliştirme Süreç arka arkaya devam eden sıralı aktiviteler şeklinde gösterilmek yerine spiral şekilde gösterilir. Spiral üzerindeki her bir halka bir fazı gösterir Belirtim, tasarım gibi kesin fazlar yoktur spiral deki halkalar neye ihtiyaç varsa onu gerçekleştirmek için seçilir. Süreç boyunca risklerin değerlendirilmesi ve çözümü açık olarak yapılır

60 Spiral model Hedef belirleme Fazlar için özel hedefler belirlenir Risk değerlendirme ve azaltma Riskler değerlendirilir ve ana riskleri azaltmak için aktiviteler gerçekleştirilir. Geliştirme ve geçerleme Sistem için genel geliştirme modellerinden biri seçilir Planlama Proje gözden geçirilir ve sonraki faz için plan yapılır.

61 Spiral model - Avantajları Kullanıcılar sistemi erken görebilirler Geliştirmeyi küçük parçalara böler. En riskli kısımlar önce gerçekleştirilir. Pek çok yazılım modelini içinde bulundurur. Riske duyarlı yaklaşımı potansiyel zorlukları engeller Seçeneklere erken dikkate odaklanır Hataları erken gidermeye odaklanır Yazılım-donanım sistemi geliştirme için bir çerçeve sağlar

62 Spiral Model - Problemler Küçük ve düşük riskli projeler için pahalı bir yöntemdir Komplekstir (karmaşık) Spiral sonsuza gidebilir Ara adımların fazlalılığı nedeniyle çok fazla dokümantasyon gerektirir. Büyük ölçekte projeler Kontrat tabanlı yazılıma uymaz Yazılımın içten geliştirileceğini varsayar Kontrat tabanlı yazılımlar adım adım anlaşma esnekliğini sağlamaz Öznel risk değerlendirme deneyimine dayanır Yüksek riskli öğelere yoğunlaşmak, yüksek riskli öğelerin doğru belirlenmesini gerektirir.

63 Formal Sistem Geliştirme (Formal System Development) Cleanroom yazılım geliştirme Matematiksel belirtimin farklı gösterim şekilleri ile çalıştırılabilir programa dönüştürülmesine dayalıdır. Formal belirtim, tasarım ve geçerleme kullanarak yazılımda doğruluğun geliştirilmesini vurgular. Yazılım artımlarla geliştirilir. Sürekli tümleştirme vardır ve fonksiyonellik tümleştirilen yazılım artımları ile artar. Felsefesi pahalı hata ayıklama işlemini engellemek için kodu ilk yazarken doğru yazmak ve test aşamasından doğruluğunu sağlamak Formal yöntemler Z dili

64 Formal Sistem Geliştirme Problemleri Teknikleri uygulayabilmek için eğitim ve özel beceriler gerekmektedir Kullanıcı arayüzü gibi sistemin bazı kısımlarını formal olarak belirtmek zordur Uygulanabilirliği Sistem kullanıma konmadan emniyet ve güvenlik durumlarını sağlanması gereken kritik sistemler

65 Yeniden kullanıma yönelik geliştirme (Re-use based development) Bileşene dayalı yazılım mühendisliği Sistemlerin var olan bileşen ya da ticari sistemlerin tümleştirildiği sistematik yeniden kullanıma dayalıdır. Süreç adımları Bileşen analizi Gereksinim değişikliği Yeniden kullanım ile sistem tasarımı Geliştirme ve tümleştirme Bu yaklaşımın önemi artmaktadır ama halen kullanımı limitlidir.

66 Yeniden kullanıma yönelik geliştirme Gereksinim belirtimi Bileşen çözümleme Gereksinim düzeltimi Yeniden kullanımla sistem tasarımı Geliştirme ve tümleştirme Sistem geçerleme

67 Süreç tekrarı Tüm büyük sistemler için değişim kaçınılmazdır. Son artıma (increment) kadar tam sistem belirtimi yapmak mümkün değilse ne olacak? Süreç tekrarı için iki süreç modeli Spiral geliştirme Artımlı geliştirme (incremental development)

68 Artımlı Geliştirme (Incremental Development) Sistemi tek bir parça olarak en sonda teslim etmektense, sistem, her biri sistemin ayrı bir istenen işlevini yerine getirecek artımlara (increments) bölünür Kullanıcı gereksinimleri önceliklendirilir, ve yüksek öncelikli gereksinimler ilk artımlar arasında gerçekleştirilir. Bir artımın geliştirilmesine geçilince diğer artımlar için gereksinim gelişimi devam etse bile o artım için olan gereksinimler dondurulur.

69 Artımlı Geliştirme Ana hat gereksinimler tanımlama Gereksinimler artımlara atanma Sistem mimarisi tasarlama Sistem artımları geliştirme Artım geçerleme Artım tümleştirme Sistem geçerleme Son sistem Tamamlanmamış sistem

70 Artımlı Geliştirme Aslında çağlayan modelinin örtüşen şekilde uygulanmasıdır

71 Artımlı Geliştirme - Avantajları Sistem için gerekli olan gereksinimler müşterilerle belirlenir Gereksinimlerin önemine göre teslim edilecek artımlar belirlenir Öncelikle en önemli gereksinimleri karşılayan çekirdek bir sitem geliştirilir. Erken artımlar prototip gibi davranarak, gereksinimlerin daha iyi anlaşılmasını sağlar Tüm projenin başarısız olma riskini azaltır En önemli sistem özellikleri daha fazla sınanma (test edilme) imkanı bulmuş olur. Divide and Conquer (Böl ve Yönet) yaklaşımıdır

72 Artımlı Geliştirme Çağlayan modeli ve evrimsel geliştirme arası bir model:

73 Artımlı Geliştirme - Dezavantajları Artımları tanımlamak için tüm sistemin tanımlanmasına ihtiyaç vardır Gereksinimleri doğru boyuttaki artımlara atamak bazen zor olabilir. Deneyimli personel gerektirir Artımların kendi içlerinde tekrarlamalara izin vermez

74 Alternatif Yaklaşımlar Ticari olarak etkinlikleri kanıtlanmış yazılım iyi pratiklerinde: Yazılımın tekrarlı geliştirilmesi Gereksinimlerin yönetimi Bileşene dayalı mimari kullanımı Yazılımı görsel olarak modelleme Yazılım kalitesini doğrulama Yazılıma yapılan değişiklerin kontrolü vurgulanmaktadır.

75 Birleşik Süreç (Unified Process) Nesneye dayalı yazılım geliştirmek için var olan yöntemlerin deneyimler sonucu kabul gören en iyi özellikleri bir araya getirilerek tümleştirilmiş yazılım geliştirme süreci (The Unified Process - UP) oluşturulmuştur. 75

76 UP: Yinelemeli ve evrimsel yazılım geliştirme Her yineleme (iterasyon) adımında bütün bir yazılım projesi varmış gibi davranılır. Gerekli tüm aşamalardan geçilerek sınanmış, çalışır bir ürün elde edilir. 76

77 Yinelemeli Sürecin Yararları 77

78 UP'nin Kullanılmasına Yönelik Öneriler 2-6 haftalık sabit süreli iterasyonlar uygulanmalı Deneyemlere göre bir iterasyonun süresinin 3 ya da 4 hafta olarak seçilmesi iyi sonuçlar vermektedir. İterasyon 2 haftadan kısa olursa bu sürede bir ürün çıkarmak mümkün olmaz. Altı haftadan daha uzun süreli iterasyonlarda ise erken geri besleme alma olanağı ortadan kalkar ve çok fazla sayıda istek ile uğraşmak gerekir. Yüksek risk taşıyan kısımlar ilk iterasyonlarda gerçeklenmeli Daha önce de açıklandığı gibi ortaya çıkabilecek problemleri mümkün olduğu kadar erken fark edip bunlara karşı önlem alabilmek için zorlu görünen istekler önce ele alınmalı. Temel oluşturan yapılar (çekirdek) önce gerçeklenmeli Yüksek riskli kısımlardan başka önce ele alınması gereken modüller sistemin temelini (iskeletini) oluşturan yapılardır. 78

79 UP'nin Kullanılmasına Yönelik Öneriler Sürekli kullanıcılardan geri besleme alınmalı, isteklere uyulmaya dikkat edilmeli Her iterasyondan sonra ürün tam olarak sınanmalı Her iterasyonda bir ürün oluşturulduğu unutulmamalı ve bu ürün tam olarak sınanmalıdır. Aksi durumda hatalar geç fark edilir ve bunları düzeltme maliyeti yüksek olur. Kullanım senaryoları yöntemi (use case) uygulanmalı Görsel modelleme (UML) kullanılmalı UML tasarımların ifade edilmesini ve takım elemanları arasında iletişimi kolaylaştırır. Bir iterasyonda elde edilen deneyim diğer iterasyonda kullanılmalı 79

80 Çevik Modeller Çevik yöntemler heavyweight olarak da adlandırılan yavaş ve bürokratik yöntemlere tepki olarak geliştirilmiştir. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kaynak: (Agile Alliance,

81 Çevik Manifesto - Prensipler En önemli önceliğimiz müşteriyi değerli yazılımı erken zamanda ve sürekli bir şekilde sunarak memnun etmektir. Geliştirme sürecinde son zamanlarda da gelse değişen gereksinimler hoş karşılanmalıdır. Çevik süreçler değişimi müşterinin rekabetçi avantajı için kullanırlar Çalışan yazılım bir iki haftadan bir iki aya kadar, mümkün olan en kısa sürelerde sunulmalıdır. Geliştiriciler ve iş insanları proje boyunca beraber çalışmalıdırlar.

82 Çevik Manifesto - Prensipler Projeleri motivasyonu yüksek bireylerin çevresinde geliştirilmelidir. Onlara ihtiyaçları olan destek ve ortamı sağlayın ve işi yapabileceklerine güvenin. Bilginin takımlar içerisinde ya da takımlar arasında en iyi paylaşılması ve anlaşılmasının yolu yüz yüze iletişimdir. İlerlemenin en iyi göstergesi çalışan yazılımdır Çevik süreçler sürüdürülebilir geliştrime sağlar.sponsorlar, geliştiriciler ve kullanıcılar sabit hızlarını sonsuz şekilde koruyabilirler

83 Çevik Manifesto - Prensipler Teknik mükemmellik ve iyi tasarıma verilen sürekli önem çevikliği arttırır. Basitlik önemlidir. (Yapılmaması gereken tüm işleri önlemek) En iyi mimari, gereksinimler, ve tasarımlar kendi kendilerine organize olabilen takımlardan çıkar Düzenli aralıklarla, takımlar nasıl daha etkili olacaklarına bakar, davranışlarını düzenler ve ona göre hareket eder.

84 Uç Programlama (Extreme Programming) Çevik yöntem Tüm gereksinimler senaryolar şeklinde oluşturulur. Daha sonra senaryolar işlere bölünür. Yazılımcılar çiftler halinde çalışır ve her iş için test de geliştirir. İşleri sonra tümleştirir Sistemin müşterisi de geliştirici takımın devamlı bir parçasıdır

85 Uç Programlama (XP)

86 Uç Programlama Bazı özellikleri Takımın bilgisayarları kübiklerle bölünmüş büyük bir odanın ortasında yer alır Bir müşteri temsilcisi geliştirici takımlarla devamlı beraber çalışır Hiç kimse aynı iş için peşpeşe iki haftadan fazla çalışamaz Takım içerisinde özelleşme yoktur. Herkes belirtim, tasarım, kodlama ve test aşamalarında görev yapar. Parçalar geliştirilmeden önce ayrı büyük bir tasarım aşaması yoktur. Onun yerine parçalar geliştirilirken tasarım da değiştirilir Küçük ve orta ölçekli projelerde kullanılırlar Kullanıcın gereksinimleri belirsiz ya da değişkense kullanışlıdırlar.

87 Diğer çevik modeller Adaptive Software Development (ASD) Dinamik Sistem Geliştirme Yöntemi SCRUM CRYSTAL Feature-driven development (Özelliğe yönelik geliştirme)

88 Yazılım Süreç Modeli Seçimi Yazılım süreç modelleri birbirinden tümüyle ayrı değildir ve çoğu zaman aslında beraber kullanılırlar Hangi modelin ve model içerisindeki hangi adımların gerçekleştirileceğini seçmekle görevli olan kişiye süreç mimarı denir. Her modelin güçlü ve zayıf yanlarını değerlendirdikten sonra süreç mimarı proje için en iyi modeli seçmelidir.

89 Yazılım Süreç Modeli Seçimi Süreç modeli seçiminde yararlı olabilecek bazı kriterler Modelin oluşabilecek riskleri tolere edebilme kapasitesi Geliştirici kurumun son kullanıcılara erişim imkanı Bilinen gereksinimlerin ne kadar iyi tanımlanabildiği Erken işlevlerin önemi Problemin karmaşıklığı ve çözüm için olası adaylar Gereksinim değişikliğinin tahmin edilen sıklığı ve oranı Kurumun yönetimsel kapasitesi

90 Tartışma İdeal süreç modeli var mıdır?

91 Tartışma Kurumun yapısına Projenin büyüklüğüne Projenin karmaşıklığına Kontratın tipine. dayalıdır.

92 Yazılım Süreçleri IEEE/EIA nedir? Bilgi Teknolojileri-Yazılım Yaşam Döngüsü Süreçleri için Standard Bir yazılım sisteminin tüm yaşam döngüsünü kapsayan süreçler kümesini tanımlar Kavramsal fikrin ortaya çıkışından Yazılımın emekli oluşuna kadar Yazılım süreç modelleri için ortak bir çerçeve sağlar

93 Yazılım Süreçleri IEEE/EIA nedir? Bir organizasyon kendi iç kullanımı için ya da birden çok organizasyon kontrata bağlı çalışmak için kendine adapte edebilir Projeye göre uydurulabilir Genel, büyük ve karmaşık projeler için yazılmıştır İhtiyaç, büyüklük, karmaşıklık, maliyet, zaman ve performansa uydurulabilecek şekilde tasarlanmıştır. Uygulamalar için bir kılavuzdur

94 12207 ne değildir? Yazılım geliştirme için bir reçete değildir Yönetim ya da mühendisliğin yerine geçmez Ürün ya da ölçme standardı da değildir

95 Kullanımı Birincil yaşam döngüsü süreçleri: Acquire, supply, develop, operate, and maintain software Yazılım kazanma, tedarik, geliştirme, işletim ve sürdürme Destekleyici yaşam döngüsü süreçleri: Yukarıdaki fonksiyonları, kalite güvencesi, konfigürasyon yönetimi, ortak gözden geçirme, denetleme, geçerleme, doğrulama, problem çözme ve belgelendirme ile destekler. Kurumsal yaşam döngüsü süreçleri: Organizasyonun süreçleri ve personelini yönetmesini ve geliştirmesini sağlar Yazılım ürün yaşam döngüsünde yer alan müşteri, sağlayıcı ve tüm iştirakçiler arasında anlaşmayı artırır

96 Yaşam döngüsünü bölümlendirme Modularity (modülerlik) Strongly cohesive (güçlü bağlı): süreç içindeki işler (task) fonksiyonel olarak birbirine bağlı olmalı Loosely coupled (zayıf birleşme) Süreçler arasındaki bağlar en az olmalı Association rules (İlişkilendirme kuralları) Bir fonksiyon birden fazla süreç tarafından kulanılıyorsa, o durumda fonksiyon kendi başına bir süreç haline gelir Eğer süreç A sadece ve sadece süreç B tarafından çağrılıyorsa, süreç A B ye aittir Sorumluluk Bir süreç yazılım yaşam döngüsündeki bir organizasyon ya da bir tarafın sorumluluğuna verilir Parçaları farklı organizasyonların sorumluluğunda olan fonksiyonlar süreç olamaz

97 IEEE/EIA Yaşam Döngüsü (Yazılım Süreçleri)

98 Uygulama Bir BS organizasyonunda proje yöneticisi olarak görevlendirildiniz. İşiniz daha önce geliştirdiklerinize benzer bir sistem geliştirmek olan sözleşmeli bir projeyi yönetmek. Yalnız bu defaki proje daha öncekilere göre daha büyük ve daha karmaşık. Gereksinimler müşteri tarafından baştan sona belgelendirilmiş. Hangi süreç modelini kullanırsınız? Neden?

99 Uygulama Bir BS organizasyonunda proje yöneticisi olarak görevlendirildiniz. İşiniz daha önce geliştirdiklerinize benzer bir sistem geliştirmek olan sözleşmeli bir projeyi yönetmek. Yalnız bu defaki proje daha öncekilere göre daha büyük ve daha karmaşık. Gereksinimler müşteri tarafından baştan sona belgelendirilmiş.

100 Referanslar Buzluca, F. (2010) Yazılım Modelleme ve Tasarımı ders notları ( Demirörs, O. (2003) IS 507 Lecture Notes Kalıpsiz, O., Buharalı, A., Biricik, G. (2005). Bilgisayar Bilimlerinde Sistem Analizi ve Tasarımı Nesneye Yönelik Modelleme. İstanbul: Papatya Yayıncılık Sarıdoğan, E. (2004) Yazılım Mühendisliği, İstanbul: Papatya Yayıncılık Sevgi, C. (2007). CTIS 359 Lecture Notes. Durdu, P. (2009). BIL 320 Lecture Notes.

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ı

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ı

YMT312 Yazılım Tasarım ve Mimarisi

YMT312 Yazılım Tasarım ve Mimarisi YMT312 Yazılım Tasarım ve Mimarisi Yazılım Yaşam Döngüsü ve Süreç Modelleri F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü YMT312 YAZILIM TASARIM VE MİMARİSİ Bu Haftaki

Detaylı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

YMT312 Yazılım Tasarım ve Mimarisi. Birleşik Süreç ve Çevik (Agile) Yazılım Süreç Modelleri

YMT312 Yazılım Tasarım ve Mimarisi. Birleşik Süreç ve Çevik (Agile) Yazılım Süreç Modelleri YMT312 Yazılım Tasarım ve Mimarisi Birleşik Süreç ve Çevik (Agile) Yazılım Süreç Modelleri F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü 1 Bu Haftaki Konular Birleşik

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ı

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ı

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ı

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ı

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ı

Sağlık Bilgi Teknolojileri ve Yazılım Süreç Yönetimi

Sağlık Bilgi Teknolojileri ve Yazılım Süreç Yönetimi Sağlık Bilgi Teknolojileri ve Yazılım Süreç Yönetimi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği Araştırma Grubu (HUSE) Yrd. Doç. Dr. Ayça Tarhan atarhan@hacettepe.edu.tr 1. Uluslararası Sağlıkta

Detaylı

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013.

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013. BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 Yrd Doç. Dr. Turgay İBRİKÇİ Yazılım Nedir? Yazılım Tanımlanmış bir işlevi yerine getiren, Girdi ve Çıktıları olan, Herhangi bir donanım üzerinde çalışan, Bilgisayar

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ı

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

Kullanım Durumu Diyagramları (Use-case Diyagramları) Kullanım Durumu Diyagramları (Use-case Diyagramları) Analiz aşaması projeler için hayati önem taşır. İyi bir analizden geçmemiş projelerin başarı şansı azdır. Analiz ile birlikte kendimize Ne? sorusunu

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ı

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ı

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

Elbistan Meslek Yüksek Okulu Güz Yarıyılı HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,

Detaylı

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

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta Bakım Bölüm Hedefi Geliştirilen yazılımın uygulamaya alınabilmesi için gerekli yöntemler ve yazılımın çalışması sırasında yapılması gereken bakım işlemleri bu

Detaylı

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

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306) Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306) GENEL DERS BİLGİSİ Öğretim Üyesi : Prof. Dr. Fuat İNCE Araştırma Görevlisi. Selim BAYRAKLI Ofis : 311 Ofis Saatleri

Detaylı

Yazılım Mühendisliği Temelleri

Yazılım Mühendisliği Temelleri Yazılım Mühendisliği Temelleri Dr. M. Erhan SARIDOĞAN Papatya Yayıncılık Eğitim İstanbul, Ankara, İzmir, Adana PAPATYA YAYINCILIK EĞİTİM Nisan 2011 BİLGİSAYAR SİS. SAN. VE TİC. A.Ş. Ankara Cad. Prof. F.

Detaylı

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

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü YMH114 - Yazılım Mühendisliğinin Temelleri Dersi Proje Uygulaması ve Dokümantasyonu AKILLI ŞEHİR UYGULAMALARININ İNCELENMESİ VE ÖRNEK

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ı

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ı

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

Yaz.Müh.Ders Notları #6 1 YAZILIM MÜHENDİSLİĞİ Prof.Dr. Oya Kalıpsız GİRİŞ 1 YAZILIM YETERLİLİK OLGUNLUK MODELİ Olgunluk Seviyeleri: Düzey 1. Başlangıç düzeyi: Yazılım gelişimi ile ilişkili süreçlerin tanımlanması için hiçbir sistematik

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ı

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

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü atarhan@hacettepe.edu.tr Yrd. Doç. Dr. Ayça Tarhan Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü atarhan@hacettepe.edu.tr Süreç Değerlendirme Nedir? Süreç: Girdileri çıktılara dönüştüren, ilişkili veya etkileşimli etkinlikler

Detaylı

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

BMH-405 YAZILIM MÜHENDİSLİĞİ BMH-405 YAZILIM MÜHENDİSLİĞİ Agile (Çevik) Model Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Yunus Emre SELÇUK ve http://www.yazgelistir.com/makale/proje-yonetimsurecleri

Detaylı

Başarılar Dilerim. SORULAR

Başarılar Dilerim. SORULAR ZONGULDAK BÜLENT ECEVİT ÜNİVERSİTESİ Adı Soyadı : Numarası : İmzası : Bölümü : Biyomedikal Mühendisliği Ders Kodu : BMM 401 Ders İsmi : Proje Plan ve Organizasyon Ders Sorumlusu : Dr. Öğretim Üyesi Nihat

Detaylı

Öğretim planındaki AKTS Ulusal Kredi

Öğretim planındaki AKTS Ulusal Kredi Ders Kodu Teorik Uygulama Lab. Yazılım Gereksinimleri Mühendisliği Ulusal Kredi Öğretim planındaki AKTS 481052000001303 3 0 0 3 5 Dersin Yürütülmesi Hakkında Bu ders gerçek dünya problemlerinin analiz

Detaylı

Aşırı Programlama İçin Üç Yeni Pratik

Aşırı Programlama İçin Üç Yeni Pratik Aşırı Programlama İçin Üç Yeni Pratik Mustafa Yıldız, Gürol Erdoğan, Selahattin Kuru Enformatik Uygulama ve Araştırma Merkezi, Işık Üniversitesi, İstanbul {mustafa, gurol, kuru}@isikun.edu.tr Özet. Aşırı

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ı

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER EĞİTİM PROGRAMLARI MATLAB İLE MÜHENDİSLİK ÇÖZÜMLERİ Amaç: Sistem tasarım ve analizinin MATLAB dilinde kolay programlama yoluyla tekrarlanabilir yapılara oturtulması

Detaylı

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ VE İŞ SÜREKLİLİĞİ - 1 Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının Gizliliği Tamlığı (Bütünlüğü) Erişebilirliği (Kullanılabilirliği) Üzerine

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ı

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

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu. 1 Yazılımcıların da endüstri mühendislerinin de en büyük ihtiyaçlarının başında ortak modelleme dili ihtiyacı gelir. UML nin (Unified Modeling Language) Kasım 1997 de OMG tarafından yayınlanmasıyla birlikte

Detaylı

Unified Modeling Language

Unified Modeling Language Konular MODELLEME Prosedürel Tasarım Nesne-yönelimli Tasarım Sınıfların Belirlenmesi Tümleştirilmiş Yazılım Geliştirme Süreci Kullanım Senaryolarının (Use-Cases) Tanımı Modelleme Gerçekleştirilmesi maliyetli

Detaylı

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

4. ÜRÜN GELİSTİRME İŞLEMİ 4. ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi Adım adım analiz / sentezi içerir Önerilen işlemsel adımlar: - Fonksiyon yapıları geliştirilir - Çözümler geliştirilir - Sıralı / esnek olarak uygulanır

Detaylı

Mühendislik ve Bilgisayar Bilimleri Fakültesi Yazýlým Mühendisliði

Mühendislik ve Bilgisayar Bilimleri Fakültesi Yazýlým Mühendisliði Mühendislik ve Bilgisayar Bilimleri Fakültesi Yazýlým Mühendisliði SE 302 - Yazýlým Mühendisliðinin Ýlkeleri DERS TANITIM BÝLGÝLERÝ Dersin Adý Kodu Yarýyýl Teori (saat/hafta) Uygulama/Laboratuar (saat/hafta)

Detaylı

SiSTEM ANALiZi ve TASARIMI

SiSTEM ANALiZi ve TASARIMI SiSTEM ANALiZi ve TASARIMI BIL3403 Öğ. Gör. ASLI BiROL abirol@kavram.edu.tr 01.10.2012 Dersin Amacı Bu ders ile öğrenci; edindiği mesleki bilgi birikimini kullanarak sektörde uygulanabilir bir projeyi

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ı

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba 08225 AĞ TEMELLERĠ Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı 20 EKi. 2014 Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi

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ı

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

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 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 oluşturulan program,

Detaylı

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ VE İŞ SÜREKLİLİĞİ - 1 Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının Gizliliği Tamlığı (Bütünlüğü) Erişebilirliği (Kullanılabilirliği) Üzerine

Detaylı

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

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER Dr. Hayrettin Bahşi bahsi@uekae.tubitak.gov.tr 11 Mart 2010 Gündem Bulut Hesaplama Sistemleri ve Bilgi Güvenliği Güvenli Yazılım Geliştirme Hayat Döngüsü

Detaylı

Bölüm 3 Çevik (Agile) Yazılım Geliştirme. Ders 1

Bölüm 3 Çevik (Agile) Yazılım Geliştirme. Ders 1 Bölüm 3 Çevik (Agile) Yazılım Geliştirme Ders 1 1 Konular Çevik Yöntemler Plan Tabanlı ve Çevik Geliştirme Extreme Programlama Çevik Proje Yönetimi Çevik Yöntemleri Ölçeklendirme 2 Hızlı (Rapid) yazılım

Detaylı

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları Hızlı Uygulama Geliştirme (SE 340) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Hızlı Uygulama Geliştirme SE 340 Her İkisi 2 2 0 3 5 Ön Koşul Ders(ler)i

Detaylı

Yazılım Mühendisliğine Giriş 2018 GÜZ

Yazılım Mühendisliğine Giriş 2018 GÜZ Yazılım Mühendisliğine Giriş 2018 GÜZ 1 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

Detaylı

BM208- Nesneye Dayalı Analiz ve Tasarım. Öğr. Grv. Aybike ŞİMŞEK

BM208- Nesneye Dayalı Analiz ve Tasarım. Öğr. Grv. Aybike ŞİMŞEK BM208- Nesneye Dayalı Analiz ve Tasarım Öğr. Grv. Aybike ŞİMŞEK Sistem Analizi ve Tasarımı Sistem analizi ve tasarımının aşağıdaki temel aşamalarla gerçekleştiği söylenebilir. Sistemin planlanması Sistemin

Detaylı

Teknoloji Geliştirmede Bütünleştirici Yaklaşımlar

Teknoloji Geliştirmede Bütünleştirici Yaklaşımlar MSB Birinci Savunma Teknolojileri Günü Savunma Sanayi ARGE ve Teknoloji Yönetimi Paneli Teknoloji Geliştirmede Bütünleştirici Yaklaşımlar 18 ŞUBAT 2016 ANKARA Dr. Nermin SÖKMEN TÜBİTAK BİLGEM 1 Sunum Planı

Detaylı

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

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Kredi AKTS Saati Yazılım Mühendisliğine Giriş SE 112 Bahar 3 0 0 3 5 Ön Koşul Ders(ler)i

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ı

Üretim/İşlemler Yönetimi 2. Yrd. Doç. Dr. Mert TOPOYAN

Üretim/İşlemler Yönetimi 2. Yrd. Doç. Dr. Mert TOPOYAN Üretim/İşlemler Yönetimi 2 Sistem Kavramı Belirli bir ortak amacı elde etmek için birlikte çalışan bileşenlerden oluşan bütündür. Büyük sistemler kendilerini oluşturan alt sistemlerden oluşur. Açık sistem:

Detaylı

Inovasyonu Hızlandırın

Inovasyonu Hızlandırın Inovasyonu Hızlandırın Kurumsal DevOps Murat Akbar HP Yazılım Çözüm Danışmanı 1 Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

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ı

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ GİRİŞ AKIŞ ŞEMASI Bir önceki ünitede algoritma, bilgisayarda herhangi bir işlem gerçekleştirmeden ya da program yazmaya başlamadan önce gerçekleştirilmesi düşünülen işlemlerin belirli bir mantık ve plan

Detaylı

Çimento Operatörleri ve Bakım Personeli için Simulatör sistemi: ECS/CEMulator

Çimento Operatörleri ve Bakım Personeli için Simulatör sistemi: ECS/CEMulator Çimento Operatörleri ve Bakım Personeli için Simulatör sistemi: ECS/CEMulator ECS/CEMulator, Çimento operatörlerini ve proses mühendislerini, simülatör ortamında eğitmeyi amaçlayan bir sistemdir. Çimento

Detaylı

2. Hafta Proje Yaşam Döngüsü ve Organizasyon Yapıları

2. Hafta Proje Yaşam Döngüsü ve Organizasyon Yapıları 2. Hafta Proje Yaşam Döngüsü ve Organizasyon Yapıları Proje Yaşam Döngüsü Projeler benzersiz işlemler olmalarından dolayı belli miktarda belirsizlik içerirler. Proje üreten kuruluşlar, genellikle projeler

Detaylı

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım İbrahim Onuralp Yiğit 1, Nafiye Kübra Turhan 2, Ahmet Erdinç Yılmaz 3, Bülent Durak 4 1,2,3,4 ASELSAN A.Ş.

Detaylı

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

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK Yazılım Mühendisliği Bölüm - 3 Planlama Cengiz GÖK 1 Planlama 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ı

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

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü MODEL NEDİR? Model, gerçek dünyadaki bir olayın veya

Detaylı

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans Bilgiyi Keşfedin! LOGO MIND INSIGHT (powered by Qlik) İŞ ANALİTİĞİ ÜRÜNÜ, HERKESİN SEZGİLERİ İLE ARAŞTIRMA VE KEŞİF YAPMASINI SAĞLAYAN ÇOK ÇEŞİTLİ ESNEK VE İNTERAKTİF GÖRSELLER OLUŞTURABİLECEĞİ YENİ NESİL

Detaylı

Tedarik Zinciri Yönetimi

Tedarik Zinciri Yönetimi Tedarik Zinciri Yönetimi -Tedarikçi Seçme Kararları- Yrd. Doç. Dr. Mert TOPOYAN Satın Alma Bir ișletme, dıșarıdan alacağı malzeme ya da hizmetlerle ilgili olarak satın alma (tedarik) fonksiyonunda beș

Detaylı

KURUMSAL RİSK YÖNETİMİ. Yrd. Doç. Dr. Tülay Korkusuz Polat 1/37

KURUMSAL RİSK YÖNETİMİ. Yrd. Doç. Dr. Tülay Korkusuz Polat 1/37 KURUMSAL RİSK YÖNETİMİ Yrd. Doç. Dr. Tülay Korkusuz Polat 1/37 Risk kültürü (1/5) Etkin bir risk yönetimi için çok boyutlu düşünme kültürü geliştirilmeli, farklılıklar ve riskler fırsatlara dönüştürülmelidir.

Detaylı

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

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 8.Hafta. Yazılım Doğrulama ve Geçerleme YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 8.Hafta Yazılım Doğrulama ve Geçerleme Bölüm Hedefi Yazılım üretimi boyunca, "Doğru Yazılımı mı üretiyoruz?" ve "Yazılımı doğru olarak üretiyor muyuz?" sorularının yanıtlarını

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 Tanımı Herhangi

Detaylı

ÇEVİK YAZILIM GELİŞTİRME AGILE KEEP IT SIMPLE

ÇEVİK YAZILIM GELİŞTİRME AGILE KEEP IT SIMPLE ÇEVİK YAZILIM GELİŞTİRME AGILE KEEP IT SIMPLE İÇİNDEKİLER Sayfa Önsöz 3 Giriş 4 Tekrarlanan Yazılım Geliştirme Metodu 6 Çevik Yazılım Geliştirme Metodu 10 Referanslar 15 2 ÖNSÖZ Araştırmalara göre ülkemizdeki

Detaylı

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Kredi AKTS Saati Yazılım Gereksinimleri Mühendisliği SE 221 Güz 3 0 0 3 5.5 Ön

Detaylı

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey Sayfa 1 / 9 Yazılım profesyonelleri için önemli olan yetkinlikler anketi Bu anketin amacı yazılım profesyonelleri için önemli olan yetkinlikleri tanımlamak ve anlamaktır. Araştırmacılar, bu anketten elde

Detaylı

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları Yazılım İnşası ve Evrimi (SE 556) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Yazılım İnşası ve Evrimi SE 556 Bahar 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin

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İLİŞİM SİSTEMLERİNİN PRENSİPLERİ

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 09 Bilişim ve Karar Destek Sistemleri Prensipler ve Öğrenme Hedefleri İyi karar-verme ve problem çözme yetenekleri etkin bilişim ve

Detaylı

Model Tabanlı Geliştirmede Çevik Süreç Uygulanması

Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirme Model nedir? Object Management Group Model Tabanlı Mimari «Herşey modeldir» Model Kaynak kod MDD Avantajları Daha hızlı yazılım

Detaylı

TETKİK SÜRELERİ BELİRLEME TALİMATI

TETKİK SÜRELERİ BELİRLEME TALİMATI Sayfa No 1/11 1. AMAÇ Tetkik tipleri ve kuruluş yapısı dikkate alındığında tetkikler için harcanacak adam/gün sayılarını ve ücretlerini belirlemektir. 2. KAPSAM Bu prosedürün uygulanmasından Planlama Sorumlusu,

Detaylı

Scrum1.0 & Scrum2.0 & Scrum3.0

Scrum1.0 & Scrum2.0 & Scrum3.0 Scrum1.0 & Scrum2.0 & Scrum3.0 Scrum1.0 & Scrum2.0 Scrum1.0: «Product Owner», «stakeholders»(iştirakçiler) ile birliktedir. «Stakeholders» (İştirakçilerin) isteklerini geliştirme takımına aktarır. Sprint

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ı

NEDEN DOĞULİNE. Detaylı Analiz. Doğru Planlama. Hedef Kitleye Uygunluk. Doğru İçerik Stratejisi. 7/24 Destek. Deneyimli Ekip

NEDEN DOĞULİNE. Detaylı Analiz. Doğru Planlama. Hedef Kitleye Uygunluk. Doğru İçerik Stratejisi. 7/24 Destek. Deneyimli Ekip NEDEN DOĞULİNE Detaylı Analiz Yapılan tüm çalışmaların temeli ve ilk adımı, detaylı analizdir. Analiz adımında, ürünün teknik, anahtar kelime, UI & UX, backlink, hedef kitle ve rakip analizi yapılır. Analiz

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS YAZILIM MÜHENDİSLİĞİ BG-411 4/1 3+0+0 3+0 5 Dersin Dili : TÜRKÇE Dersin Seviyesi

Detaylı

PR362009 24 Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

PR362009 24 Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5 IT standartları otomasyonu geliştiriyor: Microsoft Visual Studio entegrasyonlu TwinCAT programlama ortamı TwinCAT 3 extended Automation Beckhoff, otomasyon dünyasını

Detaylı

YMT 412-Yazılım Kalite Ve Güvencesi Çevik Yazılım Geliştirme 1/47

YMT 412-Yazılım Kalite Ve Güvencesi Çevik Yazılım Geliştirme 1/47 YMT 412-Yazılım Kalite Ve Güvencesi Çevik Yazılım Geliştirme F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü 1/47 İçindekiler 1 Günümüzde Yazılım Projelerinin Durumu...3

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ı

Bilgi sistemlerinin geliştirilmesi için izlenen sürece, Sistem Geliştirme Yaşam Döngüsü (SGYD) denir.

Bilgi sistemlerinin geliştirilmesi için izlenen sürece, Sistem Geliştirme Yaşam Döngüsü (SGYD) denir. Bilgi sistemlerinin geliştirilmesi için izlenen sürece, Sistem Geliştirme Yaşam Döngüsü (SGYD) denir. SGYD, yeni bir bilişim sisteminin geliştirilmesi için gerekli yöntem ve işlemleri ifade eden genel

Detaylı

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü YMT 505-YAZILIM PROJE YÖNETİMİ 1 Bu Haftaki Konular-Temel Kavramlar

Detaylı

Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması. Serap Bozbey

Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması. Serap Bozbey Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması Serap Bozbey 1 2 3 İçerik Çevik Yazılım Geliştirme Yöntemleri Extreme Programming (XP) Scrum Uygulanan

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ı

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ı

T. C. KAMU İHALE KURUMU

T. C. KAMU İHALE KURUMU T. C. KAMU İHALE KURUMU Elektronik İhale Dairesi KALİTE YÖNETİM SİSTEMİ BT Strateji Yönetimi BT Hizmet Yönetim Politikası Sürüm No: 6.0 Yayın Tarihi: 26.02.2015 444 0 545 2012 Kamu İhale Kurumu Tüm hakları

Detaylı

İleri Yazılım Mimarisi (SE 658) Ders Detayları

İleri Yazılım Mimarisi (SE 658) Ders Detayları İleri Yazılım Mimarisi (SE 658) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS İleri Yazılım Mimarisi SE 658 Bahar 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 SIRALAMA ALGORİTMALARI Sunu Planı Büyük O Notasyonu Kabarcık Sıralama (Bubble Sort) Hızlı Sıralama (Quick Sort) Seçimli Sıralama (Selection Sort) Eklemeli Sıralama (Insertion

Detaylı