ÖZELLİK GÜDÜMLÜ PROGRAMLAMA ( FEATURE DRIVEN PROGRAMMING )

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

Download "ÖZELLİK GÜDÜMLÜ PROGRAMLAMA ( FEATURE DRIVEN PROGRAMMING )"

Transkript

1 ÖZELLİK GÜDÜMLÜ PROGRAMLAMA ( FEATURE DRIVEN PROGRAMMING ) Hazırlayan: Melih KANDEMİR Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü IV.Sınıf Öğrencisi İçerik 1.Çevik Programlama Paradigması 2.Çeviklik İlkeleri 3.Çevik Programlama Ekibi Bireylerinde Bulunması Gereken Nitelikler Nelerdir? 4.Çevik Programlama Modelleri 5.Bir Çevik Programlama Modeli Örneği: Özellik Güdümlü Programlama 5.1 Roller 5.2 Süreçler Süreç #1: Genel Sistem Modelini Geliştir Süreç #2: Özellik Listesi Oluştur Süreç #3: Özellik Güdümlü Planla Süreç #4: Özellik Güdümlü Tasarla Süreç #5: Özellik Güdümlü Geliştir 5.3 İlerlemenin Takibi ve Zaman Yönetimi Açısından Özellik Güdümlü Programlama 6.Sonuç 7.Kaynakça 1.Çevik Programlama Paradigması( Agile Programming Paradigm ) 2001 yılında, Kent Beck önderliğinde, bir grup bilişimci, Çevik Yazılım Yaklaşımı Manifestosu nu imzaladılar. Bu bildirgede; Bireylerin ve etkileşimlerinin, süreçler ve araçlara; Çalışan yazılımın, kapsamlı belgelemeye; Müşteriyle işbirliğinin, sözleşmeye dayalı görüşmelere; Değişime cevap vermenin, bir planı takip etmeye

2 göre daha değerli olduğunu dile getirdiler. Bu bildirge aracılığıyla, çevik programlama paradigması, zaten geçtiğimiz onyıldan bu yana yazılım mühendisliğinin ilgilendiği ve çözmeye çalıştığı sorunları içermesine rağmen, bir hareket olarak kendini gösterdi. Bu yeni paradigma, geleneksel yazılım mühendisliği yaklaşımının uygulamadaki zayıflıklarını açıkça dile getirmekte ve yeni yöntemler ortaya atmaktadır. 2.Çeviklik İlkeleri( Agility Principles ) Çevik programlamacılar, çevikliğin elde edilebilmesi için uyulması gereken 12 ilke öne sürdüler.bu ilkeler: 1) Birincil öncelik, müşteriyi, sık ve devamlı olarak işe yarar yazılım sürümleriyle destekleyerek tatmin etmektir. 2) Değişen gereksinimler, geliştirme sürecinin ileri evrelerinde ortaya çıksa bile, müşterinin rekabet gücünü artırmak için kullanılarak bir avantaja dönüştürülmelidir. 3) Birkaç haftadan birkaç aya kadar değişen zaman aralıklarıyla, yazılımın çalışan sürümleri kullanıcıya sunulmalıdır. 4) Alan uzmanlarıyla( Domain experts ) yazılım geliştiriciler, proje boyunca birlikte çalışmalıdır. 5) Bireyler cesaretlendirilmeli, ve proje bireylere dağıtılmalıdır. Ortam onlara devredilmeli, ihtiyaçları giderilmeye çalı- Şılmalı ve onlara güvenilmelidir. 6) Geliştirme takımı içinde en etkin ve en etkili bilgi aktarma yolu yüzyüze iletişimdir. 7) İlerlemenin birincil ölçütü çalışan bir yazılım sürümüdür. 8) Çevik programlama süreçleri, sürdürülebilirliği destekler. Sponsorlar, geliştiriciler ve kullanıcılar sabit bir süreç hızını beraberce benimsemeli ve sürdürmelidir. 9) Teknik yetkinliğe(excellence) sürekli özen gösterilmesi ve iyi tasarım, çevikliğe gereksinim duyar. 10) Yalınlık(simplicity) yapılmasına gerek kalmayan iş miktarını maksimize etme sanatı - esastır. 11) En iyi mimariler, gereksinimler ve tasarımlar, kendi içinde organize olan takımlardan çıkar. 12) Takım, belirli aralıklarla, daha etkin nasıl olunabileceğini kararlaştırarak gerekli iç ve dış uyumu kendi kendine sağlar. Çevik programlama, geleneksel yazılım mühendisliği yaklaşımına bir karşı iddia olarak ortaya çıkmış gibi gözükmektedir. Teorik açıdan bu doğrudur, yani yazılım mühendisliği ve çevik programlama yaklaşımları, birbirine zıt varsayımlar üzerine kurulmuştur.

3 Ancak uygulamada böyle bir zıtlıktan söz edilemez. Tersine, bu iki yaklaşım, birbirinin tamamlayıcısı olarak kullanılmaktadır. Yapılması önerilen, projenin ve yazılım ekibinin niteliklerine uygun, çevik bir yazılım mühendisliği süreci tanımlamak ve uygulamaktır. Bu, yazılım mühendisliği ve çevik programlama arasında bir arayol bulunarak gerçekleştirilmelidir. Çevik Programlama Geleneksel Yazılım Mühendisliği Yazılım mühendisliğinin çok temel ilkelerinden vazgeçilip, çevik programlama yaklaşımının uygulanmasına karar verilirken, söz konusu projenin kapsamının aşağıda bahsedilen nitelikleri taşıdığından emin olunmalıdır: a) Yazılım gereksinimlerinde hangi ölçüde ve ne gibi değişiklikler olabileceğini, ve müşterinin önceliklerini önceden kestirmek açıkça olanaksız olmalı. b) Tasarım ve gerçekleştirim evrelerinin birarada ya da iç içe zamanlarda yürütülmesi gerekmeli. Ne ölçüde ve genel hatlarıyla nasıl bir tasarım gerekeceğini, gerçekleştirim yapılarak emin olmaksızın kestirmek çok güç olmalı. c) Çözümleme, tasarım, gerçekleştirim ve test aşamalarının zaman planlamasını yapmak açıkça çok güç olmalı. d) Yazılım ekibinde, 4.bölümde bahsedilen nitelikler bulunmalı. Peki, kestirilemezliği(unpredictability) yönetebileceğimiz bir süreç nasıl mümkün olabilir? Anahtar kelime uyarlanabilirlik tir(adaptability). Uyarlanabilir süreçler tanımlanmalıdır. Uyarlanabilirlik ise, artırımsal (incremental) sürümler aracılığıyla, müşteri geri bildiriminden en iyi şekilde yararlanarak sağlanabilir. 3.Çevik Programlama Ekibi Bireylerinde Bulunması Gereken Nitelikler Nelerdir? 1) Ekip elemanları ortalama bir analitik ve teknik nitelik ve bilgi düzeyine sahip olmalı.( COMPETENCE ) 2) Ekibin, birbirinden farklı ögrevleri olan bireylerinin hepsi, aynı amaca odaklanmış olmalıdır.( COMMON FOCUS ) 3) Ekibin elemanları, birbirleriyle, müşteriyle ve alan uzmanlarıyla işbirliği içinde olmalıdır.( COLLABORATION ) 4) Ekip, koşulları göz önünde bulundurarak karar verebilme yeteneğine sahip olmalı( DECISION-MAKING ABILITY ) 5) Ekip, belirsizlik ve kestirilemezlik altında sorun çözebilme yeteneğine sahip olmalı( FUZZY PROBLEM-SOLVING ABILITY ) 6) Ekip elemanları, karşılıklı güven ve saygıya dayalı iletişim içinde olmalı( MUTUAL TRUST AND RESPECT ) 7) Ekip, kendi kendini, yapılacak iş için, zaman ve kaynak kısıtlarını gözönünde bulundurarak organize edebilmeli( SELF-ORGANIZATION )

4 4.Çevik Süreç Modelleri( Agile Process Models ) Çevik programlamanın gerçekleştirilebilmesi için, daha önce denenmiş ve başarıyla sonuçlanmış bazı süreç modelleri mevcuttur. Bu modellerin hepsi, çevik programlama paradigmasıyla ortaya çıkmış, ancak farklı ortamlarda ortaya çıkmış farklı gereksinimler sonucu bir noktadan sonra özelleşmiştir. Bu belgede, bu süreç modellerinden bir tanesi ayrıntılı olarak tanımlanıp açıklanacak, diğerlerinin başlıkları verilmekle yetinilecektir. 1) Sınırsal Programlama( Extreme Programming - XP ) 2) Uyarlamaya Dayalı Yazılım Geliştirme( Adaptive Software Development ASD ) 3) Devingen Sistem Geliştirme Yöntemi( Dynamic Systems Development Method DSDM ) 4) Scrum 5) Crystal 6) Özellik Güdümlü Programlama( Feature Driven Programming ) 5. Bir Çevik Süreç Modeli Örneği: Özellik Güdümlü Programlama Özellik güdümlü programlama; planlama, öncelik belirleme, tasarlama ve geliştirme süreçlerini, özellik (feature) adı verilen, müşteri için bir anlam ifade eden küçük, işlevsel gereksinim parçacıkları taban alınarak gerçekleştirme yaklaşımıdır. Artırımsal değil, devingen olan süreç, özellik lerin gerçekleştiriminin müşteri tarafından değerlendirilmesi aracılığıyla, artırıma gerek kalmadan, küçük yinelemelerle geri bildirim almayı amaçlamaktadır. Bir projeyi 150 civarında özelliğe bölerek, değişimleri, özellik kapsamına sıkıştırarak yan etkilerinden kurtulmak hedef alınmaktadır. 5.1 Roller Eşgüdümün ve yönetimin sağlanması için, işbölümü gereklidir. Özellik güdümlü programlamada işbölümünün nasıl sağlanması gerektiği, roller bağlamında ele alınmıştır. Proje Yöneticisi( Project Manager ) Yazılım projesinin yürütülmesi, ve başarıyla sonuca ulaşmasına yönelik tüm tedbirleri almaktan sorumludur. Özellik güdümlü programlama bağlamında, özellik ve modelleme takımlarını oluşturma gibi görevleri vardır. Baş Programcı( Chief Programmer ) Özellik güdümlü tasarlama(ögt) ve özellik güdümlü gerçekleştirim(ögg) aşamalarını yöneten, özelliklerin bir altkümesinin gerçekleştirimini,adım adım takip

5 eden, denetleyen ve kendi sorumluluğundaki sınıf sahiplerine gerekli olduğunda akıl hocalığı(mentoring) yapan kişidir. Belli sayıda sınıf sahibinden oluşan ekibiyle birlikte yerine getirmekle yükümlü olduğu bir özellikler listesi vardır. Kendisine de aynı zamanda, birkaç sınıfın sahibi durumundadır. Projenin gerçekleştirim hızı, baş programcı sayısıyla,bir dereceye kadar doğru orantılıdır. Zaman kısıtı söz konusu olduğunda, baş programcı sayısını artırma yoluna gidilmelidir.baş programcılar seçilirken, daha yetenekli, bilgili ve tecrübeli geliştiricilerin seçilmesine dikkat edilmelidir. Sınıf Sahibi( Class Owner ) Sınıf sahibi, bir sınıfın tasarımı ve gerçekleştiriminden sorumlu olan geliştiricidir.burda amaç, geliştiricinin, sınıfın tamamen kendine ait olduğunu hissetmesi sayesinde motivasyonu artırmaktır. Bu çeşit bir organizasyonun bir başka yararı da, bir kod parçasına dokunan sadece bir kişinin olmasıdır. Bu, bakımı kolaylaştırmaktadır. Özellik güdümlü programlamada her sınıf, tek bir geliştiriciye aittir.ancak bir geliştirici, birden fazla sınıfın sahibi durumundadır. Algoritmik açıdan zorluk ve karmaşıklık düzeyi yüksek sınıfları için, sınıf sahibinin yanına bir de algoritma tasarımcısı atanabilir. Alan Uzmanları( Domain Experts ) Müşteri kuruluşun dahil olduğu alanın uzman kişileridir. Müşteri kuruluşun personelidirler, ve söz konusu proje için ilgili yazılım şirketiyle birlikte çalışmak üzere görevlendirilmişlerdir. Özellik Takımları Baş programcı, kendisini bir özellikler kümesi atandıktan sonra, bu özellikleri bir ya da iki haftada gerçekleştirebileceği bir özellik takımı kurar. Bu takım, yukarıda sözü edildiği gibi, sınıf sahiplerinden oluşur. Sınıf sahipleri, aynı anda birden fazla özellik takımına dahil olabilirler. Örneğin, bir geliştiricinin sorumluluğunda üç tane sınıf varsa, bu sınıflardan iki tanesi bir özellik takımına, kalan bir tanesi ise başka bir özellik takımına ait olabilir. Aşağıda bu durumu açıklayan bir çizim bulunmaktadır:

6 Yineleme 1 Yineleme 2 Çizim 5.1 Özellik takımı üyeliği her yinelemede değişebilir. 5.2 Süreçler Özellik güdümlü programlama süreci, beş temel alt süreçten oluşur. Birinci süreçte, oluşturulacak yazılım sisteminin biçimsel olmayan genel bir modeli çıkartılır. İkinci süreçte, bu modelden yararlanarak, alan uzmanlarının da yardımıyla özellikler listesioluşturulur. Üçüncü süreçte proje yöneticisi, özellik tabanında planlama yapar. Bu planlama, hangi baş programcının ekibi tarafından, hangi özelliğin hangi tarihe kadar gerçekleştirileceğini kapsar.bu andan itibaren özellik takımları söz konusudur. Dördüncü ve beşinci süreçler yinelemeli süreçlerdir. Baş programcı sorumluluğunda, özellikler bir bir gerçekleştirilir ve müşteriye sunulur. Müşteriden alınan geri bildirime göre yeni özellikler ortaya çıkar, değişikliklere göre yeniden özellik takımları oluşturularak dördüncü ve beşinci süreçler yinelenir Süreç #1: Genel Sistem Modelini Geliştir BAŞLAMA ÖLÇÜTÜ Alan uzmanları, baş programcılar ve proje yöneticisi belirlenmiş olmalıdır. GÖREVLER 1.1 Modelleme takımı nın oluşturulması. (Zorunlu) Aktörler : Proje yöneticisi Modelleme takımı, alan uzmanları ve geliştiricilerden oluşan sürekli elemanlardan meydana gelir.bu takım, proje yöneticisi tarafından belirlenir. Bu takımın görevi genel sistem modelini oluşturmaktır.bu model, alan uzmanlarının anlayabileceği, yani teknolojik tanım ve belirtimler içermeyen bir tanım olmalıdır. Herhangi bir modelleme dilinden yararlanılarak oluşturulabilir( UML, Data Flow Charts vs...) Modelleme takımına seçilmemiş, projede görevli diğer personelin de, modelleme takımının oturumlarına döngüsel biçimde katılması sayesinde herkesin süreci yapıldığı anda görmesi ve sürecin her anında öneri sunabilmesi sağlanır. 1.2 Proje ekibinin alana genel bir bakış(domain walkthrough) kazanmasının sağlanması. (Zorunlu) Aktörler: Modelleme takımı Bir alan uzmanı, modellemenin yapılacağı alan hakkında, tüm modelleme takımına genel bir bilgi verir. 1.3 Belgelerin incelenmesi. (İsteğe Bağlı) Aktörler: Modelleme takımı Modelleme takımı, kaynak ya da gereksinim belgelerini inceler.bu belgeler, nesne modelleri, işlevsel gereksinimler,veri modelleri, ya da

7 kullanım kılavuzları olabilir. 1.4 Modelin geliştirilmesi. (Zorunlu) Aktörler: Modelleme takımının elemanlarından oluşan küçük gruplar Üçten az kişiden oluşan küçük gruplar oluşturulur. Üç kişiden birisi alan uzmanı olmalıdır. Bu grupların her birisi, kendi sistem modelini çıkarır. Proje yöneticisinin kendisi de bir model önerebilir. Grupların tümü modellemeyi tamamladığında, grupların herbirinin bir elemanı, kendi modelinin sunumunu yapar. Modelleme takımı önerilen modellerden birisini seçer ya da modellerden birkaçındaki fikirleri birleştirerek yeni bir model tasarlar. 1.5 Genel nesne modelinin güncellenmesi.(zorunlu) Aktörler: Proje yöneticisi ve modelleme takımı. Genel nesne modelinin, her yinelemede, 4.adımda izlenen yöntem tekrarlanarak günlenmesi gereklidir. 1.6 Model notlarının yazılması.( Zorunlu ) Aktörler: Proje yöneticisi ve baş programcılar. Ayrıntılı ve karmaşık model şekilleri ve önemli model alternatifleri hakkında, ileride belge olarak kullanılmak üzere ayrıntılı açıklamalar yazılır. DOĞRULAMA( Verification ) 1.7 İç ve dış onayın(internal & External Assessment) alınması.( Zorunlu ) Aktörler: Modelleme takımı ve müşteri İç onay, alan uzmanlarının aktif katılımıyla gerçekleşir.uzmanların modelin gereksinimleri karşıladığını onaylamasına denir. Dış onay ise sadece gerekli durumlarda, müşteriyle görüşerek alınır. ÇIKIŞ KOŞULLARI Bu sürecin sonunda bir Nesne Modeli ortaya çıkmış olmalıdır. Sınıf çizenekleri( Class Diagrams ) Sınıfların davranış ve özellikleri Ardıl işlem çizenekleri.(sequence Diagram) Model notları hazırlanmış olmalıdır Süreç #2: Özellik Listesi Oluştur BAŞLAMA ÖLÇÜTÜ Alan uzmanları, baş programcılar ve proje yöneticisi. GÖREVLER 2.1 Özellikler Listesi Takımı nın oluşturulması. ( Zorunlu ) Aktörler: Proje yöneticisi Proje yöneticisi, modelleme takımı ndaki baş programcılardan oluşan bir özellikler listesi takımı seçer.

8 2.2 Özellikler Listesi oluştur. ( Zorunlu ) Aktörler: Proje yöneticisi, Özellik listesi takımı Özellikler listesi takımı, süreç #1 de elde edilen bilgileri kullanırak bir özellikler kümesi tanımlar. İşe, alan uzmanlarının, alanı temel konulara bölmeleriyle başlanır. Bu bölümlemeden yararlanılarak sistemin, basit işlevsel bölümlemesi yapılır. Bu bölümlerin her birisi, bir iş aktiviteleri (Business Activities) kümesinden oluşur. Her iş aktivitesi ise, bir dizi basamak (step) olarak tanımlanır. Bu basamakların her birisine özellik ( feature ) denir. Özellikler, aşağıdaki şablon kullanılarak tanımlanır: ÖZELLİK := <sonuç> <nesne><eylem> Örneğin, Toplam satış hesapla. Burada <sonuç> = toplam, <nesne> = satış ve <eylem> = hesapla dır. Her bir özellik, bir iş aktivitesi basamağına karşılık gelir. Her bir iş aktivitesine karşılık ise bir Özellik Kümesi (feature set) tanımlanır. ÖZELLİK KÜMESİ := <nesne><eylem>-mek(-mak) Örneğin; Satış yapmak. <nesne> = satış, <eylem>= yapmak. Her bir temel konuya karşılık ise, ana özellik kümesi tanımlanır.(major feature set). ANA ÖZELLİK KÜMESİ := <nesne> yönetimi. Örneğin; Satış yönetimi ibaresi, bir ana özellik kümesine karşılık gelmektedir. Alan uzmanlarıyla geliştirme ekibi arasındaki iletişim, işte bu biçimsel sözel ifadeler aracılığıyla sağlanır. Özellik listesi takımında yer alan bir alan uzmanı bir iş aktivitesinden bahsederken, baş programcılardan birisi hemen, bu ifadenin özellik kümesi olarak biçimsel karşılığını yazar. Böylece bir özellik listesi oluşturulur. Bundan sonraki süreçlerin işleyişi, bu özellikler üzerinden planlanacak ve denetlenecektir. DOĞRULAMA( Verification ) 2.3 İç ve dış onayın(internal & External Assessment) alınması.( Zorunlu ) Aktörler: Özellik listesi takımı ve müşteri Süreç#1 dekiyle aynı biçimde yürütülür. ÇIKIŞ KOŞULLARI Sürecin sonucu bir Özellikler Listesi dir. Bir temel konular listesi Her temel konu için bir iş aktiviteleri listesi Her iş aktivitesi adımı için, ilişkili bir özellik Süreç #3: Özellik Güdümlü Planla BAŞLAMA ÖLÇÜTÜ Süreç #2 tamamlanmış olmalıdır. GÖREVLER 3.1 Planlama Takımı oluşturulur.(zorunlu) Aktörler: Proje yöneticisi Planlama takımı, proje yöneticisi ve baş programcılardan oluşur.

9 3.2 Geliştirme sürecinin akışını belirlenir. ( Zorunlu ) Aktörler: Planlama takımı Planlama takımı, her iş aktivitesi için bir bitiş tarihi belirler.( sadece yıl ve ay olarak ). Bu tarih belirlenirken, sınıf sahipleri arasında yük dengeleme, gerçekleştirilecek özelliklerin karmaşıklığı gibi ölçütler gözününde bulundurulmalıdır. 3.3 Baş programcılara iş aktiviteleri atanır.( Zorunlu ) Aktörler: Planlama takımı Planlama takımı, her baş programcıyı bir iş aktivitesinin sorumlusu olarak atar. Atama yapılırken aşağıdakilere dikkat edilmelidir: Geliştirme akışı( Development sequence ) İlgili sınıfların özellikleri arasındaki bağımlılıklar. Sınıf sahipleri arasında yük dengeleme Gerçekleştirilecek özelliklerin karmaşıklığı. 3.4 Geliştiricilere sınıf ataması yapılır. ( Zorunlu ) Aktörler: Planlama takımı Planlama takımı, geliştiricilere sınıf ataması yapar. Bir geliştirici birden fazla sınıfın sahibi olabilir. Atama yapılrken aşağıdakilere dikkat edilmelidir: Geliştiriciler arasında yük dengeleme Sınıfların karmaşıklığı Sınıfların kullanım oranı Geliştirme akışı DOĞRULAMA 3.5 İç onayın alınması.(zorunlu) Aktörler: Planlama takımı Planlama, bir takım çalışması olarak yapıldığından, iç onay, proje yöneticisi ve baş programcıların katılımıyla verilen bir karardır. ÇIKIŞ KOŞULLARI Bu sürecin sonunda, aşağıdakileri içeren bir Geliştirme Planı ortaya çıkarılır: Bitiş tarihleriyle birlikte iş aktiviteleri.( ay ve yıl ) Baş programcı-iş aktivitesi atamaları. Temel konular ve bitiş tarihleri. Sınıf-geliştirici ataması Süreç #4: Özellik Güdümlü Tasarla BAŞLAMA ÖLÇÜTÜ Süreç #3 tamamlanmış olmalıdır. GÖREVLER 4.1 Özellik Takımı oluşturulması. ( Required ) Aktörler: Baş Programcı

10 Baş Programcı, genel sistem modelini kullanarak, kendisine atanmış özellikler kümesinin ilişkili olduğu sınıfların listesini çıkarır. Sınıf sahipliği listesinden yararlanarak da, bu sınıfların sahibi olan geliştiricileri tespit eder. Bu geliştiriciler topluluğu ve baş programcı, bir özellikler altkümesinin gerçekleştirilmesi için birlikte çalışacak olan bir özellik takımı oluşturmuş olurlar. 4.2 Proje ekibinin alana genel bir bakış(domain walkthrough) kazanmasının sağlanması. (İsteğe Bağlı) Aktörler: Alan uzmanları Bir alan uzmanı, modellemenin yapılacağı alan hakkında, tüm modelleme takımına genel bir bilgi verir. 4.3 Kaynak belgelerin incelenmesi. ( İsteğe Bağlı ) Aktörler: Özellik Takımı Özellik takımı, tasarlanacak olan özellikle ilgili kaynak gösterilen belgeleri,grafiksel arayüz tasarımları gibi yardımcı dokümanları inceler. 4.4 Ardıl işlem çizeneklerinin oluşturulması. ( Zorunlu ) Aktörler: Planlama Takımı Tasarlanacak özellik için gerekli ardıl işlem çizenekleri oluşturulur. 4.5 Nesne modelinin geliştirilmesi.(zorunlu) Aktörler: Baş Programcı Baş Programcı, özelliklerin tasarımı sırasında nesne modelinin günlenmesine ihtiyaç duyabilir. 4.6 Sınıfların ve metod prototiplerinin oluşturulması. ( Zorunlu ) Aktörler: Özellik Takımı Özellik tasarımı sonucu oluşturulması kararlaştırılan sınıflar ve bu sınıfların metodlarını prototipleri, sınıf sahiplerince belirlenir. Bu belirtimler metoddan dönen değer türleri, parametre türleri, aykırı durumlar ve görüntülecek uyarı iletilerini içermelidir. Her geliştirici kendi sınıflarının tasarımını yapmayı tamamladıktan sonra baş programcı bu bilgileri birleştirerek bir API dokümantasyonu hazırlar ve tasarım aşamasının bir yinelemesi(iteration) tamamlanmış olur. DOĞRULAMA 4.7 Tasarımın Denetlenmesi.(Zorunlu) Aktörler: Özellik Takımı Bir özellik takımınca yapılan tasarım, aynı takımın tüm elemanlarının katılımıyla kendi kendine, ya da başka özellik takımından çağrılan elemanlarca denetlenir. Denetlemeye karar verme yetkisi bir özellik takımının baş programcısındadır. Tasarımın kabulu halinde, etkilenen her sınıf için bir yapılacaklar listesi( to-do list ) hazırlanır. Her takım elemanı kendi işlerini, bu listeye tarihleriyle birlikte yazarak planlar.

11 ÇIKIŞ KOŞULLARI Bu sürecin sonucu olarak ortaya başarılı bir Tasarım Paketi çıkması istenir. Bu tasarım paketi aşağıdakileri içermelidir: Tasarım paketinin genel bir açıklamasını sunan genel kapsamlı kısa bir belge. Ardıl işlem çizenekleri Belirlenen tasarım alternatifleri Nesne modelinin günlenmiş şekli Her sınıf için yapılacaklar listesi Paket geliştirilirken kaynak olarak kullanılan dokümanların listesi Süreç #5: Özellik Güdümlü Geliştir BAŞLAMA ÖLÇÜTÜ Süreç #4 tamamlanmış olmalıdır. Yani, tasarım paketi denetlemeden onay almış olmalıdır. GÖREVLER 5.1 Sınıfların ve metodların kodlanması.( Zorunlu ) Aktörler: Özellik Takımı Sınıf sahibi geliştiriciler kendi sınıflarını, tanımlanan gereksinimleri karşılayacak biçimde kodlarlar. 5.2 Kod Denetimi.(Zorunlu) Aktörler: Özellik Takımı Kod denetimi, özellik takımı üyeleri ya da diğer proje elemanları tarafından, birim testinden( unit test ) önce ya da sonra yapılır. Kod denetiminin yapılış biçimi ve zamanı konusundaki kararları Baş Programcı verir. 5.3 Birim Testi.(Zorunlu) Aktörler: Özellik Takımı Bir sınıf sahibi geliştiricinin, yazdığı kodun, kendi sınıfının karşılaması gereken tüm gereksinimleri karşıladığını test etmesine birim testi denir. Özellik Takımı seviyesinde birim testi yapılmasına ise Baş Programcı karar verir. 5.4 Paketin yapılandırılmasına geçilmesi( Promote to build ). ( Zorunlu ) Aktörler: Baş Programcı, Özellik Takımı Baş Programcı bütün sınıf kodlarını alır ve bir paket oluşturacak şekilde yapılandırır.(building). DOĞRULAMA 5.5 Kod Denetimi ve Birim Testi.(Zorunlu) Aktörler: Baş Programcı,Özellik Takımı Kod denetimi ve birim testinin olumlu çıkması, bu sürecin çıktısını doğrular. ÇIKIŞ KOŞULLARI Bu sürecin çıktısı, aşağıdakilerdir: Kod denetiminden başarıyla geçmiş sınıflar ve metodlar.

12 Yapılandırılmış sınıflar.( Bütün sınıfların yapılandırılması.örneğin, bir makefile kütüğü. ) Özelliğin gerçekleştiriminin tamamlanması. 6.3 İlerlemenin Takibi ve Zaman Yönetimi Açısından Özellik Güdümlü Programlama Yukarıda, özellik güdümlü programlamayla proje gerçekleştirmek için izlenmesi gereken basamaklara değinilmiştir. Peki bu basamaklardan hangisi üzerinde ortalama ne kadar vakit harcanacaktır? Zaman, yazılım geliştirme sürecinde, anlamlı tek maliyet olduğundan, projenin durumunun izlenebilirliği de ayrı bir yazılım mühendisliği problemidir. Bir yazılım geliştirme modeline güvenilebilmesi için, zaman yönetimini ve izlenebilirliği, kendi paradigmasına uygun şekilde desteklemelidir. Bu bölümde, özellik güdümlü programlamanın, zaman yönetimi ve projenin durum izlenebilirliği bağlamında sunduğu önerilere değineceğiz. Aşağıda, özellik güdümlü programlamanın, amacına ulaşması,yani anlamlı olması için her süreçte ortalama harcanması gereken zaman, projenin gerçekleştirilmesi için gerekli toplam zamanın yüzdeleri olarak verilmiştir. Yukarıdaki şekle göre, özellik güdümlü programlama yaklaşımının getirdiği yük, 33% kadar zaman almaktadır. Yani projenin tasarım ve gerçekleştirimi dışında, özellik güdümlü organizasyon için harcanan zaman bu kadardır. Bu, diğer modellere göre çok düşük bir yüzdedir. Bunun anlamı, özellik güdümlü programlama, tasarım ve gerçekleştirime çok daha fazla zaman bırakmayı amaçlamaktadır. Tasarım ve gerçekleştirim evreleri evrimseldir. Bu evrimsellik, özellik güdümlü programlamaya, projenin gerçekleştirimi sırasında değişen kullanıcı gereksinimlerine kolay uyum sağlama yeteneği kazandırır. Özellik güdümlü programlamada her iki haftada bir yeni bir evrimsel yinelemeye başlanır. Yani değişen dış şartlara uyum sağlama süresi, özellik güdümlü programlamayla ortalama iki haftadır.aşağıda, tasarım ve gerçekleştirim evrelerinin alt evreleri ve bu alt evrelerin zaman ağırlıklarını gösteren bir çizenek sunulmaktadır:

13 Şimdi, özellik güdümlü programlamada ilerlemenin nasıl takip edildiğini göreceğiz. Aşağıda bir özellik takip formu bulunmaktadır.bu formda amaç zaman yönetimidir. Her özelliğin, hangi tarihte sürecin hangi alt evresinde olması gerektiği ve şu an ne durumda olunduğu bilgisini taşımaktadır. Bu sayede, proje personeli, zaman planlaması yapabilir ve projenin zaman planlaması açısından şu an ne durumda olduğunu genel hatlarıyla görebilir. Şekildeki ikinci form, özellik kümesi ve ana özellik kümesi takip formudur. Bu form, özellik kümesi düzeyi zaman planlaması ve mevcut durumun incelenmesi içindir,yani işlevsel olarak yukarıdakiyle aynı, sadece ölçekçe farklıdır.

14 Aşağıdaki renkli grafikler, mevcut durumun etkin biçimde izlenebilmesini sağlamaktadır. Bu grafikler yardımıyla, hangi özelliğin gerçekleştiriminde hangi durumda bulunulduğu, planlanan zamanın önünde,gerisinde ya da çok gerisinde bulunulduğu gibi bilgiler rahatlıkla algılanabilmektedir. Örneğin, planlanandan çok geri durumdaki özellikler kırmızı ile gösterilmekte, böylece yöneticiler, özelliklerin kritik durumda bulunanlarını kolaylıkla tespit edip etkin ve etkili risk yönetimi yapabilmektedirler. Bu grafikler, genelde, mevcut durumla ilgili verilerin tutulduğu bir veri tabanı yardımıyla günlenmektedir. Bu raporlama sisteminin etkin kullanılması için modellemesinin ve otomasyonunun yapılması önemlidir. Günümüzde, özellik güdümlü programlama sürecine destek sağlayan dağıtık yazılımlar mevcuttur.

15 7.Sonuç Yazılım sektöründe gereksinimler ve teknoloji, çok hızlı ve birbirine paralel değişen iki boyutu simgelemektedir. Bu başdöndürücü hız, gelişen teknolojinin herhangi bir anında iş çözümü üretme kararı alan ve uzun vadeli projeler teslim alan yazılım girişimleri için önemli bir sorundur. Çünkü, bir yazılımın geliştirilmesi tamamlandığında, yazılımın üzerinde çalışmak üzere tasarlandığı donanım mimarisi eskimek üzere olabilmektedir. Bundan öte, geliştirme sürecinin ileri bir safhasında sektör, geliştirmeye başlamadan öncekinden çok farklı bir durumda bulunmaktadır. Günümüzde ortalama bilişim sistemi projesi bitirme süresinin 1 yıl mertebesinde olması, işlerin yolunda gitmediğinin göstergesinin. Yazılım projelerinin yavaş yürümesinin temelinde, klasik yazılım mühendisliği yaklaşımının önerdiği mükemmel raporlamanın gerçekleştirimi

16 kolaylaştırdığı varsayımının doğru sanılmasının olduğunu düşünen bir grup, çevik programlama adı verilen yeni bir iş süreci modelleme paradigması ortaya attılar. Özellik güdümlü programlama da, bu paradigmanın bir alt alanıdır. Çevik programlama paradigmasının sunduğu değişik modellerden herhangi birisinin diğerine üstünlüğü, deneyimle görülmüş değildir. Özellik güdümlü programlama, hızlı bir yazılım geliştirme süreci vaadeden, diğerlerine karşı bazı durumlarda üstün olup bazı durumlarda zayıf düşen alternatif bir yazılım geliştirme süreç modelidir. 8.Kaynakça servlet.java.sun.com/javaone/javaone2000/pdfs/bus-1016.pdf Software Engineering: A Practitioner s Approach Roger Pressman, Prentice Hall, 2004,ISBN: X Java Modeling Color With UML Peter Coad, Eric Lefebvre, Jeff De Luca, Prentice Hall, 2002, ISBN: X

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ı

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ı

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ı

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ı

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ METALURJİ VE MALZEME MÜHENDİSLİĞİ BÖLÜMÜ

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ METALURJİ VE MALZEME MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME PROJESİ HAZIRLIK (MMM 4709) ve BİTİRME PROJESİ (MMM 4098) DERSLERİ YÜRÜTME YÖNERGESİ 1. AMAÇ ve KAPSAM Madde 1: Bu yönerge (MMM4709) Bitirme Projesi Hazırlık ve (MMM 4098) Bitirme Projesi derslerinin

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

Dokuz Eylül Üniversitesi Mühendislik Fakültesi Metalurji ve Malzeme Mühendisliği Bölümü

Dokuz Eylül Üniversitesi Mühendislik Fakültesi Metalurji ve Malzeme Mühendisliği Bölümü BİTİRME PROJESİ YÜRÜTME YÖNERGESİ 1. AMAÇ ve KAPSAM Madde 1: Bitirme projesi dersinde öğrencilerin önceki derslerde edindikleri bilgi ve becerileri kullanarak karmaşık bir sistemi, sistem bileşenini veya

Detaylı

Laboratuvar Akreditasyonu

Laboratuvar Akreditasyonu Akreditasyon Laboratuvar, muayene ve belgelendirme kuruluşlarının ulusal ve uluslararası kabul görmüş teknik kriterlere göre değerlendirilmesi, yeterliliğin onaylanması ve düzenli aralıklarla denetlenmesi

Detaylı

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü TCMB Deneyim Raporu Kurumsal Java Uygulama Platformu Sacit Uluırmak Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü 2007 TCMB made available under the EPL v1.0 30.04.2007 Gündem

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ı

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ı

1: Anlatım, 2: Soru-Cevap, 3: Lab, 4: Örnek vaka incelemesi

1: Anlatım, 2: Soru-Cevap, 3: Lab, 4: Örnek vaka incelemesi DERS BİLGİLERİ DERSİN BAŞLIĞI Kodu Yarıyıl T+U saat Kredi AKTS YAZILIM MÜHENDİSLİĞİNDE İLERİ KONULAR CSE544 3 3 10 Ön koşullar CSE 344 Introduction to Software Engineering Dersin Dili Dersin Seviyesi Dersin

Detaylı

T.C KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ

T.C KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ T.C KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ YAZILIM MÜHENDİSLİĞİ PROJE ÖDEVİ SİNEMA BİLET SİSTEMİ PROJE SAHİBİ 2015M10206009 Erdi Şenol İSTANBUL, 2016 Proje Alan Tanımı Günümüzde

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ı

DENİZ HARP OKULU ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU ENDÜSTRİ 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 YÖNEYLEM ARAŞTIRMASI - I ENM-11 /1 +0 Dersin Dili Dersin Seviyesi

Detaylı

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ FEN FAKÜLTESİ BİLGİSAYAR BİLİMLERİ BÖLÜMÜ. BİL4007 Bitirme Projesi Uygulama Planı

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ FEN FAKÜLTESİ BİLGİSAYAR BİLİMLERİ BÖLÜMÜ. BİL4007 Bitirme Projesi Uygulama Planı T.C. DOKUZ EYLÜL ÜNİVERSİTESİ FEN FAKÜLTESİ BİLGİSAYAR BİLİMLERİ BÖLÜMÜ BİL4007 Bitirme Projesi Uygulama Planı 1. GİRİŞ Bu doküman, Dokuz Eylül Üniversitesi Fen Fakültesi Bilgisayar Bilimleri Bölümü ndeki

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ı

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ı

3. Proje ekibi ilk proje planını ve bütçesini tamamladılar. Sıradaki yapmaları gereken şey nedir?

3. Proje ekibi ilk proje planını ve bütçesini tamamladılar. Sıradaki yapmaları gereken şey nedir? 1. Hangi süreç grubunda detaylı proje bütçesi yaratılır? B. Proje yönetim süreçlerinden önce C. Planlama D. Yürütme 2. Proje başlatma belgesi hangi süreç grubunda yaratılır? A. Yürütme B. Planlama C. Kapanış

Detaylı

PROJE YÖNETİMİ MODEL VE ÇERÇEVELERİ ENF304 IT PROJE YÖNETİMİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA

PROJE YÖNETİMİ MODEL VE ÇERÇEVELERİ ENF304 IT PROJE YÖNETİMİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA PROJE YÖNETİMİ MODEL VE ÇERÇEVELERİ ENF304 IT PROJE YÖNETİMİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA Sistem veya Yazılım Geliştirme Süreçleri 1. Çekirdek Aktiviteler 2. Modeller 3. Çerçeveler 4. Dokümantasyon, Kalite

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ı

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI Dersin Hedefleri Veri Tabanı Kullanıcıları Veri Modelleri Veri Tabanı Tasarımı İlişkisel VT Kavramsal Tasarımı (Entity- Relationship, ER) Modeli VT KULLANICILARI

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 10-11. Nesneye Yönelik Sistem Analizi Haftanın Amacı Bilişim sistemleri geliştirmede nesneye yönelik sistem analizi

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ı

BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ

BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ Bilgi sistemi kavramı genellikle işletmelere yönelik olarak kullanılmaktadır. Bu yönüyle bilgi sisteminin amacını; yöneticilere teslim edilen ekonomik kaynakların kullanımına

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ı

Proje Çevresi ve Bileşenleri

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

Detaylı

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri-

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri- SİSTEM ANALİZİ VE TASARIMI Sistem Analizi -Bilgi Sistemleri- Bilgi Sistemi Bilgi sistemi, karar vericiler için verileri işleyerek bilgi sağlayan çoğunlukla bilgisayara dayalı sistemlerdir. Bilgi sistemi

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ı

T.C. GÜMRÜK VE TİCARET BAKANLIĞI İç Denetim Birimi Başkanlığı KALİTE GÜVENCE VE GELİŞTİRME PROGRAMI

T.C. GÜMRÜK VE TİCARET BAKANLIĞI İç Denetim Birimi Başkanlığı KALİTE GÜVENCE VE GELİŞTİRME PROGRAMI T.C. GÜMRÜK VE TİCARET BAKANLIĞI İç Denetim Birimi Başkanlığı KALİTE GÜVENCE VE GELİŞTİRME PROGRAMI Ocak 2013 BİRİNCİ BÖLÜM Genel Hükümler Amaç ve kapsam Madde 1 (1) Bu Programın amacı, Bakanlığımızda

Detaylı

Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir.

Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir. PROJE YÖNETİMİ Proje: Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir. Proje Yönetimi: Kısıtlı zaman, maliyet ve teknik durumları dikkate alarak, projenin en etkin

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ı

Scrum Çevik Süreçlerinin Ar-Ge Yazılım Projelerinde Kullanımı

Scrum Çevik Süreçlerinin Ar-Ge Yazılım Projelerinde Kullanımı Scrum Çevik Süreçlerinin Ar-Ge Yazılım Projelerinde Kullanımı Özkan SARI ozkan.sari@provus.com.tr Progress Ar-Ge Merkezi Provus Bilişim Teknolojileri İstanbul, Türkiye ÇEYA 13, 25 Eylül 2013 Sunum Planı

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ı

WEB PROJESİ YÖNETİMİ. Belli bir süre içerisinde, belli bir bütçe ile belirlenen hedeflere ulaşmak için uygulanan metodolojik süreçtir.

WEB PROJESİ YÖNETİMİ. Belli bir süre içerisinde, belli bir bütçe ile belirlenen hedeflere ulaşmak için uygulanan metodolojik süreçtir. BÖLÜM 1 1.1 PROJE NEDİR? WEB PROJESİ YÖNETİMİ Belli bir süre içerisinde, belli bir bütçe ile belirlenen hedeflere ulaşmak için uygulanan metodolojik süreçtir. 1.2 PROJELERİN ORTAK UNSURLARI NELERDİR? Başlama

Detaylı

3- PROJENIN BAŞLATıLMASı: PROJE KAPSAM YÖNETIMI

3- PROJENIN BAŞLATıLMASı: PROJE KAPSAM YÖNETIMI 3- PROJENIN BAŞLATıLMASı: PROJE KAPSAM YÖNETIMI Y R D. D O Ç. D R. K E N A N G E N Ç O L PROJE BAŞLATMA BELGESININ OLUŞTURULMASı Proje başlatma belgesinin oluşturulması, projeyi resmi olarak onaylayan

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ı

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi Can Öz EGE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ A.B.D. 1 İçerik Kaynak Yönetimi Problemi Kaynak Yönetimi Modellemesinin

Detaylı

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

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU 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 Yazılım Mühendisliği BİM-411 4/I 4+0+0 4 4,5 Dersin Dili Dersin

Detaylı

NESNEYE YÖNELİK TASARIM SÜRECİ

NESNEYE YÖNELİK TASARIM SÜRECİ NESNEYE YÖNELİK TASARIM SÜRECİ GİRİŞ Nasıl? sorusuna yanıt aranır. Nesne modeli: Analizden tasarıma. Doğrudan problem alanı ile ilgili nesnelerden oluşan model, yardımcı nesnelerle zenginleştirilir. Ana

Detaylı

İŞLETMELERDE İŞ SÜREÇ YÖNETİMİ (BPM) UYGULAMASI. Hazırlayanlar Fatma Didem GÜRKAN Endüstri Mühendisi Ahmet Alper ÇALIŞKAN Endüstri Mühendisi

İŞLETMELERDE İŞ SÜREÇ YÖNETİMİ (BPM) UYGULAMASI. Hazırlayanlar Fatma Didem GÜRKAN Endüstri Mühendisi Ahmet Alper ÇALIŞKAN Endüstri Mühendisi İŞLETMELERDE İŞ SÜREÇ YÖNETİMİ (BPM) UYGULAMASI Hazırlayanlar Fatma Didem GÜRKAN Endüstri Mühendisi Ahmet Alper ÇALIŞKAN Endüstri Mühendisi 4 Haftalık Ajanda 1. Hafta: Örneklerle BPM-ERP İlişkisi 2. Hafta:

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ı

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ı

KALİTE SİSTEM YÖNETİCİSİ EĞİTİMİ

KALİTE SİSTEM YÖNETİCİSİ EĞİTİMİ FMEA-HATA TÜRLERİ VE ETKİ ANALİZİ Tanımlama Mevcut veya olası hataları ortaya koyan, bu hataların yaratabileceği etkileri göz önünde bulunduran ve etkilerine göre hataları önceliklendirerek oluşmalarının

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ı

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ı

MAK4099/MAK4098 ARAŞTIRMA/BİTİRME PROJESİ UYGULAMA ESASLARI

MAK4099/MAK4098 ARAŞTIRMA/BİTİRME PROJESİ UYGULAMA ESASLARI MAK4099/MAK4098 ARAŞTIRMA/BİTİRME PROJESİ UYGULAMA ESASLARI (A) Araştırma/Bitirme Projesinin Amacı Belirli gereksinimleri karşılayacak bir sistemin, sürecin, makinanın, cihazın, tesisatın veya ürünün tasarlanması;

Detaylı

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ Bitirme Projeleri İçindekiler Bitirme Projesi... 2 Başarı için tavsiyeler... 2 Danışman seçimi... 2 Danışmanlarınızla yapacağınız toplantı saatleri... 2 Birinci

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ı

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ı

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ı

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ı

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Nesneye Yönelik Tasarım ve Programlama COMPE 501 Güz 3

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ı

GİRİŞ. Mehmet Sait Andaç. e-posta: mandac@meliksah.edu.tr. İnşaat Mühendisi ve Endüstri Mühendisi. www.meliksah.edu.tr/mandac.

GİRİŞ. Mehmet Sait Andaç. e-posta: mandac@meliksah.edu.tr. İnşaat Mühendisi ve Endüstri Mühendisi. www.meliksah.edu.tr/mandac. GİRİŞ Mehmet Sait Andaç İnşaat Mühendisi ve Endüstri Mühendisi e-posta: mandac@meliksah.edu.tr www.meliksah.edu.tr/mandac Oda No: 417 Giriş Bölüm I:Teorik Kısım (1.-6. Haftalar) (Proje, Proje Yönetimi,

Detaylı

11.DERS Yazılım Testi

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

Detaylı

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

Yaz.Müh.Ders Notları #4 1 YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK 1 NESNEYE YÖNELİK ÇÖZÜMLEMENİN TEMELLERİ Çözümleme (Analiz): Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan

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ı

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ NESNEYE YÖNELİK ÇÖZÜMLEMENİN TEMELLERİ Çözümleme: Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan ve üst düzey planlama eylemlerinden oluşur. Uygulama/problem alanının

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ı

KALİTE YÖNETİM SİSTEMİ İÇ DENETİM PROSEDÜRÜ

KALİTE YÖNETİM SİSTEMİ İÇ DENETİM PROSEDÜRÜ Sayfa 1/7 1. AMAÇ Bu prosedürün amacı; Kalite Yönetim Sistemi (KYS) İç Denetimlerinin planlanması, gerçekleştirilmesi ve raporlanması için yöntem ve sorumlulukları belirlemektir. 2. KAPSAM Bu prosedür;

Detaylı

BÖLÜM-IV ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi

BÖLÜM-IV ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi BÖLÜM-IV ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi Problem çözme yönteminin en önemli özelliği, adım adım analiz ve sentez içermesidir. Burada her yeni adımda bir öncekinden daha somut olarak nitelden

Detaylı

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr.

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr. DGridSim Gerçek Zamanlı Veri Grid Simülatörü Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011 Mustafa Atanak Sefai Tandoğan Doç. Dr. Atakan Doğan 1. Sistem Mimarisi DGridSim katmanlı bir yapı göz önünde bulundurularak

Detaylı

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

DENİZ HARP OKULU ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU ENDÜSTRİ 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 PROJE YÖNETİMİ ENM- / +0 Dersin Dili Dersin Seviyesi Dersin Önkoşulu

Detaylı

SAMM ile Güvenli Yazılım Geliştirme

SAMM ile Güvenli Yazılım Geliştirme SAMM ile Güvenli Yazılım Geliştirme Emin İslam Tatlı, Aralık 2010, WGT E-Dergi 7. Sayı 1. SAMM Nedir? Yazılım geliştirme süreçleri (Waterfall, Spiral, Agile gibi) temelde planlama, tasarım, kodlama, test,

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ı

IBM Analytics Professional Services (IBM Analitik Profesyonel Hizmetleri)

IBM Analytics Professional Services (IBM Analitik Profesyonel Hizmetleri) Hizmet Tanımı IBM Analytics Professional Services (IBM Analitik Profesyonel Hizmetleri) Bu Hizmet Tanımında, IBM tarafından Müşteriye sağlanan Bulut Hizmeti açıklanır. Müşteri, sözleşmeyi imzalayan taraf

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ı

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir? Sınıf Diyagramları Sınıf diyagramı statik bir diyagramdır. Bir uygulamanın statik görünümünü temsil eder. Sınıf diyagramı sadece bir sistemin farklı yönlerini görselleştirmek, açıklamak ve belgelemek için

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 10-11. Nesneye Yönelik Sistem Tasarımı Haftanın Amacı Bilişim sistemleri geliştirmede nesneye yönelik sistem tasarımı

Detaylı

MerSis. Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri

MerSis. Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri MerSis Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri Bilgi Teknolojileri risklerinize karşı aldığınız önlemler yeterli mi? Bilgi Teknolojileri Yönetimi danışmanlık hizmetlerimiz, Kuruluşunuzun Bilgi

Detaylı

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Nesneye Dayalı Analiz ve Tasarım SE 321 Bahar 3 0 0 3 4.0 Ön Koşul

Detaylı

RotamNet Ticari Programı Kısa Tanıtım Dökümanı

RotamNet Ticari Programı Kısa Tanıtım Dökümanı RotamNet Ticari Programı Kısa Tanıtım Dökümanı RotamNet ; Kolay kurulumu ve kullanımıyla ön plana çıkan, teknolojik alt yapısıyla işletmelere pratik çözümler sunan ve büyük avantajlar sağlayan tam bir

Detaylı

Üniversite Senatosunun 263 Sayılı Toplantısında görüşülerek kabul edilmiştir.

Üniversite Senatosunun 263 Sayılı Toplantısında görüşülerek kabul edilmiştir. Üniversite Senatosunun 263 Sayılı Toplantısında görüşülerek kabul edilmiştir. Amaç Madde 1. Bu yönergenin amacı, Karadeniz Teknik Üniversitesi Mühendislik Fakültesi bünyesindeki bütün programlarda okutulan

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ı

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ı

belirli bir süre içinde, belirli bir bütçe ile, net olarak tanımlanan hedeflere ulaşmaya yönelik olarak Hafta1 Giriş Serkan Gürsoy

belirli bir süre içinde, belirli bir bütçe ile, net olarak tanımlanan hedeflere ulaşmaya yönelik olarak Hafta1 Giriş Serkan Gürsoy Hafta Proje; belirli bir süre içinde, belirli bir bütçe ile, net olarak tanımlanan hedeflere ulaşmaya yönelik olarak planlanan faaliyetler bütünüdür. Projenin tanımlanması için; amaçları hedefleri işlemleri

Detaylı

STRATEJİK YÖNETİM VE YÖNETİMİN GÖZDEN GEÇİRMESİ PROSEDÜRÜ

STRATEJİK YÖNETİM VE YÖNETİMİN GÖZDEN GEÇİRMESİ PROSEDÜRÜ Sayfa 1/6 1. AMAÇ Bu prosedürün amacı, Erciyes Üniversitesi Sağlık Bilimleri Fakültesi ndeki kalite güvence sistemi politika ve hedeflerinin belirlenmesi ve Fakülte içerisinde yayılımıyla ilgili süreçleri

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ı

SAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme

SAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme SAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme Dr. Emin İslam Tatlı (tatli@architectingsecurity.com) Ocak 2011 1. SAMM nedir? Yazılım geliştirme süreçleri (Waterfall, Spiral, Agile

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Konular Veritabanı Tasarım Aşamaları Veri Modeli Nedir? Veri Modeli Temel Bileşenleri İş Kuralları (Business Rules) İş Kurallarını Veri

Detaylı

İSTANBUL ÜNİVERSİTESİ İç Denetim Birimi Başkanlığı İÇ DENETİM PROSEDÜRÜ

İSTANBUL ÜNİVERSİTESİ İç Denetim Birimi Başkanlığı İÇ DENETİM PROSEDÜRÜ Sayfa No : 1/7 1.AMAÇ İstanbul Üniversitesinin çalışmalarına değer katmak ve geliştirmek için kaynakların ekonomiklik, etkililik ve verimlilik esaslarına göre yönetilip yönetilmediğini değerlendirmek ve

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ı

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

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

Detaylı

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ı

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

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

Detaylı

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

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

Detaylı

Bilgisayar Programı Nedir?

Bilgisayar Programı Nedir? BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR Bilgisayar Programı Nedir? Program, bilgisayarda i belirli libir amacı gerçekleştirmek için geliştirilmiş yöntemlerin ve verilerin, bilgisayarındonanımınınyerine

Detaylı

TÜRKĠYE BĠLĠMSEL VE TEKNOLOJĠK ARAġTIRMA KURUMU BĠLGĠ ĠġLEM DAĠRE BAġKANLIĞI ÇALIġMA USUL VE ESASLARI

TÜRKĠYE BĠLĠMSEL VE TEKNOLOJĠK ARAġTIRMA KURUMU BĠLGĠ ĠġLEM DAĠRE BAġKANLIĞI ÇALIġMA USUL VE ESASLARI TÜRKĠYE BĠLĠMSEL VE TEKNOLOJĠK ARAġTIRMA KURUMU BĠLGĠ ĠġLEM DAĠRE BAġKANLIĞI ÇALIġMA USUL VE ESASLARI BĠRĠNCĠ BÖLÜM Amaç ve Kapsam, Dayanak ve Tanımlar Amaç ve kapsam MADDE 1- (1) Bu Usul ve Esasların

Detaylı

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER Yazılımı ve Genel Özellikleri Doç.Dr. Cüneyt BAYILMIŞ Kablosuz Ağların Modellemesi ve Analizi 1 OPNET OPNET Modeler, iletişim sistemleri ve

Detaylı

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

YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN YAZILIM PROJE YÖNETİMİ Yrd.Doç.Dr.Hacer KARACAN İçerik Proje Yönetimine Giriş Proje Yönetim Süreçleri Proje Organizasyonları Proje Beratının Hazırlanması Proje Yönetimine Giriş Proje; bir ürün veya hizmet

Detaylı