YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN
|
|
- Batur Enver
- 8 yıl önce
- İzleme sayısı:
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 «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. 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 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 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 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.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.
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 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 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 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İĞİ 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 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 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
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İĞİ İÇ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 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 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İĞİ 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
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 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 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 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.
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 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ı) 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ı 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.
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ı
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 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) 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 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ü 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
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? 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
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.
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 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İĞİ 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
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
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 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Ş 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 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
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 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.
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
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İ 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 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 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 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 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 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 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
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 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 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ı 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 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 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
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ı 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 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 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 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 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İŞ
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 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ı 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 İ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 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
Ö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! 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ç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 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 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İĞİ 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 İÇİ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ı 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
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ı 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İĞİ 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İ 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ş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
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 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 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 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İ 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
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 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
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. 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 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 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 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 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 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ı 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 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ı