NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8

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

Download "NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8"

Transkript

1 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8

2 Modelleme 2 Gerçekleştirilmesi maliyetli ya da riskli olan projelerde, projenin beklenmedik durumlardan dolayı başarısızlığa uğramaması için bir takım fikir ve tasarım işlemleri (modelleme) yapılır. Modelleme fikir bazındaki projenin, gerçek dünyada uygulanabilirliğini sorgular. Karşılaşılabilecek sorunlara önceden çözüm bularak işgücü, maliyet, zaman gibi kaynak kayıplarını önler. Nesneye yönelimli programlamayla birlikte modellemeye duyulan ihtiyaç artmış ve Yazılım projelerinde kullanılmak üzere UML (Unified Modeling Language) modelleme dili geliştirilmiştir. Model oluşturmak şu getirileri sağlar Yapılacak iş için gereksinimleri ortaya koyar Anlaşmazlıkları çözümlemeye yardımcı olur. Yanlışları Önler

3 Giriş Problem domeninin yani gerçek dünyanın modelinin oluşturulması, problemi daha iyi anlayabilmek için problemin kağıt üstünde bir resminin oluşturulması anlamına gelir. Bu modeli oluşturmak problemin çözümlenmesi (analysis) aşamasını oluşturur. Bu nedenle bu aşamada problemi çözmek için değil anlamak için çaba gösterilir. Problemi çözmek ise tasarım aşamasının konusudur.

4 Prosedürel Tasarım 4 Yapısal programlama yaklaşımında, ilk tasarım adımı programdan beklenen işlevselliği belirlemek Yanıtlanması gereken soru Bu program ne yapacak? İkinci adım istenileni gerçekleştirmesi için programın atması gereken temel adımları yüksek-düzeyli pseudo kodlar ya da akış diyagramları yardımıyla belirlemek Son olarak her temel adım daha küçük adımlara bölünerek tasarımı daha rafine hale getirmek Bu yaklaşıma, prosedürel ayrıştırma (procedural decomposition) denir.

5 Nesne-yönelimli Tasarım 5 Prosedürel yaklaşımdan köklü olarak ayrılır. Nesneye-yönelik yaklaşımda problem, İşlemlere yada veri yapılarına bölünmez; Birbirleriyle etkileşen bir nesneler sistemi olarak analiz edilir. Ayrıca, prosedürel yaklaşım yukarıdan-aşağıya işleyen bir analiz tekniği olmasına rağmen, nesneye yönelik yaklaşım yukarıdanaşağıya analiz ve aşağıdan-yukarıya sentez tekniklerini birleştirir. Nesneye-yönelik tasarım ( iterative tarzda) şunların yapılmasını gerektirir: Sınıfların belirlenmesi, Özelliklerin ve davranışların tespiti, Sınıflar arası ilişkilerin bulunması ve Sınıfların bir hiyerarşi içinde organize edilmesi.

6 Sınıfların Belirlenmesi 6 Nesneye-yönelik tasarımda ilk adım programın ihtiyaç duyacağı sınıfların belirlenmesidir. Bunun için kullanılabilecek basit bir teknik: programdan beklenenin doğal dil ile betimlenmesi betimleme içindeki isimlerin listelenmesi bu liste içinde sınıfların seçilmesi kavramsal nesneler yada olaylar veya etkileşimler söz konusu olduğunda sınıfların belirlenmesi zorlaşabilir. Problem modeli içindeki elemanlara karşılık gelen sınıfları gerçekleştirmek için de yeni sınıflar tasarlamak gerekebilir.

7 7 Özelliklerin Ve Davranışların Tespiti Bir sınıfın sorumlulukları iki alanda ortaya çıkar: Taşıması gereken bilgiler Sınıfa ait bir nesnenin neler yapabileceği yada bu nesneye neler yapılabileceği. Her sınıf kendisini betimleyen bazı özelliklere sahiptir. Sınıfa ait bir nesnenin özellik değerleri nesnenin içinde bulunduğu durumu ( state ) belirler. Her sınıf, ayrıca, nesnelerin diğer nesnelerle nasıl etkileştiğine ve bu etkileşim neticesinde içinde bulundukları durumların nasıl değiştiğine karşılık gelen davranışlara sahiptir.

8 8 Sınıflar Arası İlişkilerin Bulunması Sınıfların bir kısmı yalıtılmış halde bulunabilirken, büyük bir çoğunluğu diğerleriyle işbirliği ve bağımlılık ilişkisi içindedirler. Bir sınıf bir diğerine çeşitli şekillerde bağımlı olabilir: Diğer bir sınıfın eleman fonksiyonlarını kullanması gerekebilir; Diğer bir sınıf kendi içine gömülmüş olabilir; Sınıfın arayüzü bir diğer sınıfa bağımlı olabilir vs. Sınıflar arası ilişkileri belirlerken sınıfların davranışlarını yerine getirirken, birbirlerinin bilgilerini ve davranışlarını kullanıp kullanmadıklarına bakılır.

9 9 Sınıfların Bir Hiyerarşi İçinde Organize Edilmesi Sınıfların özelliklerini ve davranışlarını tespit ederek, aralarındaki benzerlik ve farkları daha iyi görürüz; ayrıca, sınıflar arası ilişkileri bularak da hangi sınıfların diğerlerinin işlevselliğine bağımlı olduğunu açığa çıkarırız. Bir sınıfın farklı kategorilerinin tespiti, bir hiyerarşi için yeterli koşulu oluşturmaz. Gerekli koşul farklı kategorilere farklı işlemlerin yapılacak olmasıdır.

10 10 TÜMLEŞTİRİLMİŞ YAZILIM GELİŞTİRME SÜRECİ (THE UNİFİED PROCESS - UP) Gerekli kalite kriterlerini sağlamak için yazılım projelerini uygun şekilde planlamak ve belli bir disiplin altında bu plana uymak gerekir. Yazılımcılara planlama konusunda yol gösteren çeşitli yazılım geliştirme süreçleri oluşturulmuştur. Örn. Spiral, çağlayan (waterfall), vb. 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.

11 UP Temel Özellikler 11

12 12 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.

13 13 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.

14 14 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ı

15 15 Tümleştirilmiş Süreçte (UP) Yazılım Projesi Aşamaları Başlangıç (Inception): Bu aşamada kabaca projenin vizyonu ortaya konur. İstekler ayrıntıya girilmeden genel olarak ele alınır ve fizibilite değerlendirmesi yapılır. Bu aşama sonunda projeye girip girmemeye karar verilir. Ayrıntılandırma (Elaboration): Bu aşamada daha gerçekçi çözümleme yapılır ve istekler ayrıntılı olarak ele alınır. Çekirdek yapı ve yüksek riskli kısımlar yinelemeli olarak bu aşamada oluşturulur. Tamamlama (Construction): Daha az riskli ve düşük öncelikli kısımların yinelemeli olarak gerçeklenmesi. Yayım (Transition): Beta testleri, piyasaya sürme çalışmaları.

16 Kullanım Senaryolarının (Use-Cases) Tanımı Kullanım senaryoları, isteklerin anlaşılmasını ve ifade edilmesini sağlayan bir yöntemdir. Özellikle işlevsel isteklerin ifade edilmesinde kullanılır. Fikir ilk olarak Ericsson' da çalışan Ivar Jacobson adlı İsveçli bir mühendis tarafından oluşturulmuştur. Daha sonra Rational' de çalışmıştır, şimdi kendi firmasındadır.

17 Senaryo Anlamlı bir sonuca (amaca) ulaşmak için aktör ile sistem arasında gerçekleşen olayların belli bir zinciridir. Bir sistemin çalışması sırasında birden fazla senaryo gerçekleşebilir. Olası tüm senaryolar kullanım senaryolarını (use case) oluştururlar.

18 Kullanım senaryoları Yazılım dünyasındaki önemli isimleri kullanım senaryoları ile ilgili orijinal tanımları aşağıda verilmiştir: (Jacobson, Booch &Rumbaugh, 1999): Bir Kullanım Senaryosu, bir sistemin gerçekleştirdiği ve belirli bir aktör için gözlemlenebilir bir sonuç ortaya çıkaran ve çeşitli varyasyonlar içeren eylemler serisini ifade eder." (Cockburn, 2000): Bir Kullanım Senaryosu, tasarlama aşamasındaki bir sistem ve harici aktörler arasında belirli bir hedefe yönelik gelişen olası etkileşim serilerinin koleksiyonudur. Bu konu ile ilgili ayrıntılı bilgi aşağıdaki kaynaklarda bulunabilir

19 Aktör

20 Birincil Aktör ve Sistemin Sınırları Üzerinde çalıştığımız sistemi hangi düzeyde incelediğimize ve sınırlarını ne şekilde çizdiğimize bağlı olarak birincil aktörler değişiklik gösterir. Kullanım senaryolarını yazarken sistemin sınırlarını doğru olarak belirlemek, nelerin dışarıda nelerin içeride olacağına doğru karar vermek gerekir.

21 Kullanım Senaryolarının Yazılması İhtiyaçların ve istenen özelliklerin listelenmesi şeklinde DEĞİL. Sistem kara kutu olarak ele alınır. Sistemin iç yapısı görülmez, sistemin dışarıya (aktörlere) karşı sorumlulukları ifade edilir. Aktörler ile sistem arasındaki etkileşim etken cümleler ile ifade edilir. "Ne yapar?" sorusu cevaplanır, "Nasıl yapar?" değil. Sistemin sorumluluklarını nasıl yerine getireceği daha sonra gelinecek olan tasarım aşamasında ele alınacak problemdir. Kullanım senaryolarını yazdığımız şimdiki aşamada ise sadece istekler anlaşılmaya çalışılıyor. Sistemin bitmiş hali hayal edilerek bu sistem çalıştığında oluşabilecek senaryolar yazılır.

22 Kullanım Senaryolarında Yer Alan Bölümler Her kullanım senaryoları grubunun (use case) bir adı ve numarası vardır. İsimden sonra şağıdaki bölümler gelir.

23 Önsöz (Preface) Bölümü

24 Önsöz (Preface) Bölümü Birincil aktör, destek aktörü ve diğer aktörlerin belirlenmesi sistemin sınırlarını çizer. Kullanım senaryoları ilgililerin (aktörlerin) tüm beklentilerini karşılayan tüm olayları ve sadece onları içerir. Tüm ilgililerin ve beklentilerin ilk başta belirlenmesi önemlidir. Aksi durumda senaryolarda bazı durumlar unutulabilir ve bu eksiklik ancak ileriki aşamalarda anlaşılabilir.

25 Ana Başarılı Senaryo (Temel Akış) Bölümü

26 Uzantılar (Alternatif Akışlar) Bölümü

27 Diğer Bölümler Sıra Dışı Durumlar Bölümü (Exceptions) : Sistemde hatalar oluştuğunda yapılacaklar sıralanır. Bazı tasarımcılar bu bölümdeki olayları da uzantılar bölümünde ele alırlar. Özel İstekler Bölümü (Special Requirements) : İşlevler ile ilgili olmayan istekler bu bölümde belirtilir. Bu istekler genellikle hız, güvenilirlik, rahat kullanım gibi kalite kriterlerine yöneliktir. Teknolojik Beklentiler Bölümü : Kullanıcıların ön gördükleri donanım özellikleri burada sıralanır. Örneğin giriş/çıkış işlemlerinin hangi cihazlar ile yapılması istendiği bu bölüme yazılır.

28 Örnek Senaryo Grubu (Use Case) SG1: Satış İşlemleri Konu: Market Sistemi Birincil Aktör: Kasa Görevlisi İlgililer (Aktörler) ve Beklentileri (Stakeholders and Interests): Kasa Görevlisi: Bilgilerin doğru ve hızlı girilmesi, toplamın doğru hesaplanması, para üstünün doğru hesaplanması Satış Elemanı: Komisyonun doğru hesaplanması ve kayıt edilmesi Müdür: Yetkili işlemleri (kasa görevlisinin yapamadığı) kolaylıkla yapabilmek Vergi Dairesi: Vergilerin doğru hesaplanabilmesi ve toplanabilmesi Kredi Kartı Asıllama Merkezi: Ödeme bilgilerinin doğru formatta gelmesi ve asıllama bilgilerinin kayıt edilmesi

29 Örnek Senaryo Grubu (Use Case) SG1: Satış İşlemleri Ön Koşullar (Preconditions): Kasa görevlisi sisteme giriş yapmıştır. Son Koşullar (Postconditions): Satış bilgileri kayıt edilmiştir. Vergi doğru olarak hesaplanmıştır. Muhasebe ve envanter kayıtları güncellenmiştir. Komisyon kayıt edilmiştir. Fatura oluşturulmuştur. Kredi kartı onayı kayıt edilmiştir.

30 Örnek Ana Başarılı Senaryo (Doğal Akış)

31 Örnek Uzantılar (Alternatif Akışlar): *a. Herhangi bir anda müdür yetkili bir işlem yapmak ister ve şifresini girer: 1.Sistem müdür-yetkisi konumuna geçer. 2.Müdür yetkili bir işlem gerçekleştirir. Örneğin satışı iptal eder, bir ürünün fiyatını indirir vs. 3.Müdür sistemden çıkar. 4.Sistem normal konuma (kasa görevlisi yetkisi) geçer.

32 Örnek Uzantılar (Alternatif Akışlar): *b. Herhangi bir anda sistemde bir hata oluşur: Bu durumlarda bilgilerin kayıt edilmesi ve sistemin kaldığı yerden devam edebilmesi istenir. 1. Kasa görevlisi sistemi yeniden başlatır, sisteme giriş yapar ve sistemin önceki durumdan devam etmesini ister. 2. Sistem önceki durumu oluşturur. 2a. Sistem önceki durumu oluştururken anormallik sezer. 1. Sistem hata uyarısı verir, hatayı kayıt eder ve temiz (başlangıç) duruma geçer. 2. Kasa görevlisi yeni bir satış başlatır.

33 Örnek Uzantılar (Alternatif Akışlar): 3a. Geçersiz bir ürün kodu (Sistemde bulunamadı): 1. Sistem hata uyarısı verir, ürünü reddeder. 2. Kasa görevlisi hataya tepki verir: 2a. Ürünün üstünde okunabilir bir kod vardır: 1. Kasa görevlisi kodu sisteme elle (manual) girer. 2. Sistem ürünün tanıtıcı bilgisini ve fiyatını gösterir. 2b. Ürünün üstünde kod yoktur, ama fiyatı yazılıdır: 1. Kasa görevlisi müdürden yetkili bir işlem yapmasını ister. 2. Müdür şifresini girer. 3. Kasa görevlisi fiyatı elle girer.

34 Örnek Uzantılar (Alternatif Akışlar): 3b. Aynı üründen bir taneden fazla alınmıştır (5 şişe içecek): 1. Kasa görevlisi ürün kodunu ve adetini sisteme girer. 3-6a. Müşteri kasa görevlisine bir ürünü almaktan vazgeçtiğini söyler: 1. Kasa görevlisi satıştan çıkarılacak ürünün kodunu sisteme girer. 2. Sistem ürünü satıştan çıkarır ve geçerli toplamı gösterir. 3-6b. Müşteri alışverişten vazgeçtiğini söyler: 1. Kasa görevlisi satışı iptal eder.

35 Örnek Uzantılar (Alternatif Akışlar): 5. Müşteri indirim hakkı olduğunu söyler (müşteri kartına sahiptir): 1. Kasa görevlisi müşteri kodunu sisteme girer. 2. Sistem indirimi uygular ve yeni toplamı gösterir. 7a. Nakit ödeme: 1. Kasa görevlisi ödenen nakit miktarı sisteme girer. 2. Sistem para üstünü gösterir ve para çekmecesini açar. 3. Kasa görevlisi müşteriden ödemeyi alır ve para üstünü verir. 4. Sistem nakit ödemeyi kayıt eder. 7b. Kredi kartı ile ödeme: c. Çek ile ödeme: 1....

36 Örnek Özel İstekler (Special Requirements): Düz kare monitör. Yazılar 1 metre uzaklıktan okunabilmeli. Kredi kartı sorgulamasının cevabı en geç 30 saniyede gelmeli....

37 Örnek Teknolojik Beklentiler (Technology Variations List): *a. Müdür kendisini sisteme bir kart okutarak ya da tuş takımından şifresini girerek tanıtır. 3a. Ürün kodları bir barkod okuyucu ile veya tuş takımından elle girilebilir. 7b. Kredi kartı bilgiler kart okuyucu ile veya tuş takımından elle girilebilir....

38 Örnek Açık noktalar (Open Issues): Vergi kanunlarındaki değişim sistemi nasıl etkiler? Kasa görevlisi mesaisi bittiğinde sistemden çıkarken para çekmecesini de almalı mı? Müşteri kart okuyucuları doğrudan kendisi kullanabilir mi, yoksa kasa görevlisi ile mi sisteme erişmeli?...

39 Kullanım Diyagramları (Use Case Diagram) Kullanım senaryoları sadece düz metin (text) olarak değil, istendiğinde metin yerine UML diyagramı olarak da ifade edilebilirler. Kullanım diyagramlarında, kullanım senaryolarının aktörler ile ve kendi aralarındaki ilişkileri grafik olarak gösterilir. Bir sistemin içinde bir çok senaryo grubu bulunabilmekte ve değişik aktörler değişik senaryo grupları ile ilişkili olabilmektedir. Ayrıca senaryoların kendi aralarında da içerme (include) ve genişletme (extend) ilişkileri bulunabilmektedir.

40 İçerme vs. Genişletme

41 Örnek: Öğrenci otomasyon sistemine ilişkin kullanım diyagramı

42 Etkileşim Diyagramı (Interaction Diagram) Kullanım diyagramları sadece istemde hangi senaryo gruplarının ve hangi aktörlerin yer aldığını gösterir. Aktörler ile sistem arasına geçen olayları yani senaryoların adımlarını göstermek için etkileşim diyagramları (interaction diagram) çizilir. Senaryoları ifade ederken aynı anda hem metin tipi senaryo yazımına hem de UML ile kullanım diyagramlarını ve etkileşim diyagramlarını çizmeye gerek yoktur. Senaryoları belirtmek için metin tipi yazım ya da diyagram gösteriminden biri tercih edilir.

43 Örnek: Market sistemi etkileşim diyagramı

44 Kullanım Senaryolarının Yazılması

45 Kullanım Senaryoları - Diğer Sorular Bazı davranışlar aktörlerden yola çıkarak belirlenemeyebilir. Bu durumda aşağıdaki soruları da sormakta yarar vardır: Sistemin gerek duyduğu girişler ve çıkışlar nelerdir? Sistem hangi dış olaylardan etkilenir? Şu andaki sistemin (eğer firmada aynı iş için kullanılan eski bir sistem varsa) eksikleri ve problemleri nelerdir? Periyodik olarak gerçekleştirilen işler var mı?

46 İsteklerin çözümlenmesinde (modellenmesinde) oluşturulan kullanım senaryoları (use case) nesneye dayalı özellikler taşımaz. Uygulama domeninin modellenmesinde ise nesneye dayalı yöntem kullanılacaktır. Uygulama domeninin modelinde gerçek dünyayı (yani tasarlanacak olan sistemi) oluşturan kavramsal sınıflar ve nesneler yar alır. Bu model oluşturulurken yazılım sınıfları (çözüm) düşünülmez, çünkü bu aşamada henüz program yazılmıyor.

47 Model UML kullanılarak görsel hale getirilir. Uygulama domeninin modeli aşağıdaki bilgileri içeren sınıf diyagramları ile belirtilir: Gerçek dünyadaki kavramsal sınıflar ve nesneler (Yazılım sınıfları/nesneleri değil!) Sınıflar arasındaki ilişkiler (bağlantılar - association), Sınıfların nitelikleri (attributes)

48 Örnek Market sistemi sınıf diyagramı

49 Kavramsal Sınıfların Belirlenmesi Kavramsal sınıflar gerçek dünyadaki somut ve soyut varlıklara karşı düşen sınıflardır. Örneğin; öğretmen, öğrenci, ders, işçi, banka hesabı, para, satış vb. Çözümlemenin (analiz) ilk aşamasını kavramsal sınıfların (conceptual class) belirlenmesi oluşturur. En çok kullanılan iki temel yöntem: 1. Kavramsal sınıfların kategori listesinden yararlanma 2. Kullanım senaryolarındaki isimlerden (isim tamlamalarından) yararlanmak İki yöntem birlikte de kullanılabilir.

50 Kavramsal Sınıfların Kategorileri

51 Kavramsal Sınıfların İsimler Yardımıyla Belirlenmesi Kavramsal sınıfların belirlenmesinde kullanılan ikinci yöntem ise senaryolarda ve problemin tanımında yer alan isim ve isim tamlamalarından yararlanılmasıdır. Kullanım senaryolarında yer alan tüm isimler ve isim tamlamaları işaretlenir. Çoğunlukla ilk aşamada gereğinden fazla sınıf elde edilir. Daha sonra uygulanan eleme yöntemi ile gereksiz sınıflar ayıklanır.

52 Örnek SG1 numaralı "Satış İşlemleri" senaryo grubu

53 Örnek Market Sistemine Ait Kavramsal Sınıflar Bu sınıflar belirlendiğinde çözümlemenin (analiz) ilk adımı tamamlanmış olur. Bundan sonra kavramsal sınıflar arasındaki bağlantıların (ilişkilerin) ve sınıfların niteliklerinin belirlenmesi gerekir.

54 Betimleme Sınıflarına Gerek Duyulması Dükkanda satılan malzemelerle ilgili fiyat, tip numarası gibi bilgilerin o malzemeye ilişkin nesnelerde tutulması (nitelik olduğu) öngörülebilir. Ancak dükkandaki o cinsten tüm malzeme satıldığında (nesneler yok olduğunda) o malzemeyle ilgili bilgiler de kaybolur. Böyle sistemlerde bir nesneyi betimleyen bilgilerin başka sınıflarda tutulması gerekir.

55 Betimleme Sınıfları Ne Zaman gereklidir? Bir malzeme ya da hizmetle ilgili bilgilere o malzeme ya da hizmetin var olup olmamasından bağımsız olarak erişmek gerekli ise, Bir nesnenin yok edilmesi bilgi kaybına neden oluyorsa, Gereksiz bilgi tekrarını önlüyorsa.

56 Kavramsal Sınıflar Arasındaki Bağlantıların Belirlenmesi Uygulama domeninin modeli oluşturulurken ilk aşamada kavramsal sınıflar bulunur. İkinci aşamada ise bu sınıflar arasındaki bağlantılar (associations) belirlenir.

57 Bağlantıların UML Diyagramlarında Gösterilmesi

58 Çoğullama (multipicity) Sayısı Çoğullama sayısı o sınıftan kaç tane nesnenin, diğer sınıftan kaç tane nesne ile belli bir anda geçerli olarak ilişkilendirilebileceğini gösterir. Çoğullama sayısı, modeli nasıl kullanacağımıza bağlıdır. Aşağıdaki örnekte bir malın tükenip depoda bulunmaması bizi ilgilendiriyorsa Depo ucuna ait çoğullama sayısı 0..1 olabilir. Aksi durumda bu sayının 1 olması yazılım açısından daha uygundur.

59 Çoğullama Sayılarının Yazılması

60 Bağlantıların Bulunmasına İlişkin Yöntemler Bu konuda da değişik yöntemler kullanılmaktadır: Yaygın Bağlantılar Listesi (Common Associations List) Kullanım senaryolarındaki fiillerden yararlanmak.

61 Yaygın Bağlantılar Listesi (Common Associations List) Bu yöntemde, kavramsala sınıflar arasında şu ilişkilerin varlığı aranır:

62 Kullanım Senaryolarındaki Fiillerden Yararlanmak Diğer yöntemde ise kullanım senaryolarındaki fiiller dikkate alınarak tüm olası bağlantılar (ilişkiler) listelenir. Aşağıdaki maddeler dikkate alınarak gereksiz bağlantılar ayıklanır:

63 Kullanım Senaryolarındaki Fiillerden Yararlanmak Örnek: "Satış dükkanda gerçekleşir" ilişkisi, "satış terminalde yapılır" ve "terminal dükkanda bulunur" ilişkilerinden türetilebilir. Genellikle UML diyagramında iki sınıf arasında birden fazla yol varsa, çözümlemede fazlalık (türetilebilir) ilişkiler olduğu düşünülebilir. Her türetilebilir ilişkinin elenmesi doğru değildir. Sistem açısından önemli olanlar kalabilir. Örneğin toplumda Baba - kardeş yerine Amca ilişkisi kullanılmaktadır.

64 Bağlantıların Bulunmasına İlişkin Öneriler Sistemin tasarımını ilgilendiren bağlantılara (need-to-know) yoğunlaşmak gerekir. Bağlantılara doğru isimler atanmalı. Tip adı - fiil - tip adı Bağlantının adı sadece bir ya da bir kaç işlemin adı değil bir ilişkinin ifadesi olmalıdır.

65 Bağlantıların Bulunmasına İlişkin Öneriler Gerekli olan yerlere rol adları da yazılmalıdır. Roller bağlantının iki ucunu oluştururlar. Sahip olma, oluşma (aggregation, compositon) ilişkilerini ayrıntılı olarak belirlemek bu aşamada gereksizdir. Bu aşamada bazı bağlantıların unutulması sistem tasarımını çok etkilemez. Kavramsal sınıfların doğru olarak belirlenmesi bağlantılardan daha önemlidir. Gereğinden fazla bağlantı modelin anlaşılırlığını azaltabilir.

66 Kavramsal Sınıfların Niteliklerinin (Attributes) Belirlenmesi Bir sınıfın nitelikleri, o sınıftan nesneler yaratıldığında nesnelere özgü değerler alabilen verilerdir. Bu aşamada amaç, üzerinde çalışılan senaryoları ilgilendiren nitelikler bulmaktır. Nitelikler genellikle basit veri tipleri (int, string, bool, date) ifade edilirler. Eğer bu aşamada nitelik olarak düşünülen veri daha karmaşık bir tipte ise o verinin bir bağlantı ya da ayrı bir sınıf olma olasılığı yüksektir.

67 Kavramsal Sınıfların Niteliklerinin (Attributes) Belirlenmesi Aşağıda gösterilen örnekte Terminal, Kasa Görevlisi tarafından kullanılan bir varlıktır ama onun niteliği değildir.

68 Karmaşık Niteliklerin Gösterilmesi Bazı durumlarda nitelikler basit veri tiplerinden oluşmazlar. Eğer bir nitelikte aşağıdaki özellikler varsa başka bir sınıf ile ifade edilmesi doğru olur. Birden fazla alandan oluşuyorsa: Telefon no, ad/soyad Üzerinde işlem yapılıyorsa: Kredi kartı numarası onaylanması Kendi nitelikleri varsa: Fiyatın geçerlilik tarihi olabilir.

69 Karmaşık Niteliklerin Gösterilmesi Bu tip nitelikler aşağıda gösterildiği gibi iki farklı şekilde de ifade edilebilir.

70 Niteliklerin Özelliklerinin Gösterilmesi Eğer çözümleme (analiz) sırasında kavramsal sınıfların özellikleri hakkında daha fazla bilgi elde edilmişse bunlar da diyagramlar da belirtilir. Örneğin niteliklere ilişkin erişim hakları diyagramlarda gösterilebilir. "+" simgesi bir niteliğin açık (public), "-" simgesi ise özel (private) olduğunu belirtir. "/" simgesi ise bir niteliğin diğer niteliklerden türetilebilen (elde edilebilen) (derived) bir nitelik olduğunu belirtir.

71 Niteliklerin Özelliklerinin Gösterilmesi

72 İçerik UML Yapı Diyagramları Eylem Diyagramları Etkileşim Diyagramları

73 UML

74 Diyagramlar UML görsel olarak modelleme için birçok diyagrama sahiptir. Yapı Diyagramları Eylem Diyagramları Etkileşim Diyagramları

75 Yapı Diyagramları UML' de altı tür yapı diyagramı vardır: Sınıf (Class) Diyagramları Nesne (Object) Diyagramları Paket (Package) Diyagramları Bileşen (Component ) Diyagramları Birleşik Yapı (Composite Structure) Diyagramları Dağıtım (Deployment) Diyagramları

76 Sınıf Diyagramı

77 Nesne Diyagramları

78 Paket Diyagramları

79 Bileşen (Component) Diyagramları

80 Bileşen (Component) Diyagramları

81 Birleşik Yapı (Composite Structure) Diyagramları Birleşik yapıların iki ayrı türü vardır: 1. Toplama, bir araya getirme (Aggregation) 2. Meydana gelme (Composition)

82 Toplama (Aggregation) 1. Toplama, bir araya getirme (Aggregation): İçerilen nesneler (alt parçalar) kendi başlarına da kullanılırlar. Sadece o nesneye ait parçalar değillerdir. Örneğin havaalanında uçaklar vardır.

83 Meydana gelme (Composition) 2. Meydana gelme (Composition): Alt parçalar o nesneyi meydana getirmek için oluşturulmuşlardır; kendi başlarına kullanılmazlar. Örneğin otomobilin motoru vardır.

84 Dağıtım (Deployment) Diyagramları

85 Eylem Diyagramları UML' de üç tür eylem diyagramı vardır: Kullanım Durumu (Use-Case) Diyagramları Durum (State) Diyagramları Aktivite (Activity) Diyagramları

86 Kullanım Durumu Diyagramları

87 Durum Diyagramları

88 Durum Diyagramları

89 Aktivite Diyagramları

90 Aktivite (Activity) Diyagramları

91 Aktivite (Activity) Diyagramları

92 Etkileşim Diyagramları UML' de iki tür etkileşim diyagramı vardır: İletişim Diyagramları (Communication Diagrams) Ardışıl Diyagramlar (Sequence Diagrams)

93 İletişim Diyagramları

94 Ardışıl Diyagramlar

95 İletişim Diyagramları Terminal adlı sınıftan yaratılmış bir nesnenin odemeyap(verilennakit) adlı metodu canlandırdığında bu metodun içinde Satis adlı sınıftan yaratılan bir nesneye odemeyap(verilennakit) adlı başka bir mesaj gönderilir. :Satis nesnesi bu metodun içinde Odeme adlı sınıftan bir nesne yaratır.

96 Mesaj Sıra Numaraları Mesajlar gönderildikleri sıraya göre numaralanırlar. İlk mesaja numara verilmez. Bir mesajın neden olduğu diğer mesajlara da sebep mesajın numarasına bağlı alt numaralar verilir. Aşağıdaki şekilde, ClassA' nın bir nesnesi ClassB' nin bir nesnesine msg2 mesajını yolladığında ClassB' nin nesnesi de ClassC' nin nesnesine msg3 mesajını gönderecektir. msg3 sonlandığında tekrar msg2' ye dönülecektir.

97 Kendine Mesaj Nesneler kendilerine de mesaj gönderebilirler, yani kendi metotlarını çağırabilirler. Şekildeki örnekte, :Terminal nesnesi, msg1 metodunun içinde kendi sil metodunu çağırmaktadır.

98 Nesne Yaratma Bir mesaj nesne yaratılmasını sağlamak için gönderiliyorsa normal olarak bu mesaja create adı verilir ve bir kurucu fonksiyon (constructor) çağrısı olarak yorumlanır. Eğer başka bir isim verilirse <<create>> tanımlayıcısı kullanılır. Aşağıdaki şekilde her iki durum da gösterilmiştir. Bu örnekte, :Terminal nesnesi :Satis nesnesini yaratmaktadır.

99 Koşullu Mesajlar Bu tür mesajlar sadece belli bir koşul gerçekleştiğinde gönderilebilirler. Eğer köşeli parantez içinde verilen koşul gerçekleşmemişse o mesaj gönderilmez, sonraki mesaja geçilir. Şekil de verilen örnekte A sınıfından yaratılan nesnenin mesaj1 metodunun içinde renk değeri sınanmaktadır. Eğer renk = mavi koşulu doğru ise :A nesnesi, :B nesnesine hesapla() mesajını gönderecektir. Koşul doğru değilse bir sonraki mesajla (örneğin 2 numaralı) devam edilecektir. Bu durum programlamadaki if-then yapısına karşı düşmektedir.

100 Karşılıklı Dışlamalı Mesajlar Nesneler arası etkileşim, belli bir koşula bağlı olarak farklı yollar izleyebilir. Şekil de verilen örnekte "test" koşuluna bağlı olarak a ya da b yollarından biri izlenecektir. Diyagramda gösterilen sistem SınıfA' dan yaratılan nesneye msg1() mesajının gelmesi ile çalışmaya başlar. Bu metodun içinde test koşuluna bakılır. Eğer test=true ise 1a numaralı msg2 SınıfB'den yaratılan nesneye gönderilir ve msg3() ile devam edilir. Eğer test=true değil ise 1b numaralı msg4 SınıfD' den yaratılan nesneye gönderilir. Koşullara bağlı mesajlar gönderildikten sonra SınıfA' dan yaratılan nesne SınıfE' den yaratılan nesneye koşulsuz olarak 2 numaralı msg6 mesajını gönderir.

101 Döngüler (İterasyonlar) UML iletişim diyagramlarında tekrarlamalar (döngüler) "*" sembolü ile gösterilir. Şekil de verilen örnekte Simulator sınıfından yaratılan nesne, i = 1' den N' e kadar Random sınıfından yaratılan nesneye nextint() mesajını defalarca gönderecektir. Bu metot çağrısında geri gönderilen değer num adlı bir değişkende tutulmaktadır. Eğer tekrarın kaç defa yapılacağı tasarım aşamasında belli değilse, kodlama aşamasına bırakılmışsa ya da problemin yapısından dolayı açıkça belli ise döngü koşulu yazılmadan sadece "*" simgesi de kullanılabilir.

102 Ardışıl (Sequence) Diyagramlar (Örnek) Market sisteminin ardışıl diyagramı aşağıdaki şekil de gösterilmiştir. Bu diyagramda da Terminal, Satis ve Odeme, sistem tasarlanırken oluşturulacak sınıfların adıdır. Bu nedenle Türkçe karakterler kullanılmamıştır.

103 Geri Dönüşler Mesajlardan geri dönüşleri göstermek çoğunlukla gerekli değildir. Gerekli olduğu durumlarda geri dönüşler kesik çizgi ile gösterilir. Çağırılan metodun geri döndürdüğü değer istenirse mesajın başına yazılır istenirse geri dönüş çizgisinin üstüne yazılır. Şekil de verilen örnekte her iki yöntem de gösterilmiştir. Örnekte, msg2() mesajı geriye a değerini döndürnketedir. Benzer şekilde msg3() çağrısı da geriye paraustu değerini döndürmektedir. msg4() ve msg5() çağrıları ise geriye değer döndürmemektedir.

104 Kendine Mesaj Şekil deki örnekte :Terminal nesnesi, msg1 metodunun içinde kendi sil metodunu çağırmaktadır.

105 Nesne Yok Etme Şekil deki örnekte :Satis nesnesi, önce :Odeme nesnesini yaratmakta daha sonra da yok etmektedir. Bu işlemler C++' da new ve delete operatörleri ile yapılır.

106 Koşullu Mesajlar Bu tür mesajlar sadece belli bir koşul gerçekleştiğinde gönderilebilirler. Eğer köşeli parantez içinde verilen koşul gerçekleşmemişse o mesaj gönderilmez, sonraki mesaja geçilir. Şekil de verilen örnekte A sınıfından yaratılan nesnenin msg1 metodunun içinde önce :B nesnesine msgx() mesajını gönderilmektedir. Ardından msg1 metodunda renk değeri sınanmaktadır. Eğer renk = mavi koşulu doğru ise :A nesnesi, :B nesnesine hesapla() mesajını gönderecektir. Daha sonra (koşul doğru olsa da olmasa da) bir sonraki mesajla (msgy() ) devam edilecektir.

107 Karşılıklı Dışlamalı Mesajlar (UML 1.X) Nesneler arası etkileşim, belli bir koşula bağlı olarak farklı yollar izleyebilir. Şekil de verilen örnekte "X>10" koşuluna bağlı olarak :B ya da :C nesnelerine hesapla mesajı gönderilir. Bu diyagram UML' in bir önceki sürümünde (1.X) kullanılan gösterilime göre çizilmiştir. Bu gösterilimde nesnelerin isimlerinin altı çizilmektedir.

108 Karşılıklı Dışlamalı Mesajların Yeni Biçimi (UML 2.x) UML 2.0' da karşılıklı dışlamalı durumları göstermek için "alt" anahtar sözcüğü kullanılır. Bu sözcüğün yanına koşullardan biri yazılır. Koşul gerçekleşmediği durumlarda gönderilecek mesajlar ise kalın bir kesik çizgiden sonra sıralanır. Bu grubun başına "else" anahtar sözcüğü yazılır. Şekil de UML 2.0' da karşılıklı dışlamalı mesajların ardışıl diyagramlarda nasıl çizildiği gösterilmiştir.

109 İterasyonlar (Döngüler) Şekil de UML' in eski sürümü 1.5' te tek mesajlı bir döngü yapısı gösterilmiştir. Bu örnekte Simulator sınıfından yaratılan nesne, i = 1' den N' e kadar Random sınıfından yaratılan nesneye nextint() mesajını defalarca gönderecektir.

110 İterasyonlar (Döngüler) Önceki örnekle aynı sistem UML' in 2.0 sürümü ile gösterilmiştir. UML in yeni sürümünde döngüler "loop" anahtar sözcüğü ile belirtilmektedir.

111 Diyagramlar Arası Etkileşim Altprogram çağırmak gibidir. Çok tekrarlanan işlemler için kullanılır. Başka diyagramdan alınacak olan kısım ana diyagramın içinde "ref" bloğu ile belirtilir. Bu bloğun içine aynı isimdeki ardışıl diyagramın yerleşeceği anlaşılır.

112 Genel Kurallar UML bir programlama (ya da yazılım geliştirme) dili olmaktan ziyade iş sistemlerinin nasıl modellenebileceğini belirleyen ve açıklayan yöntemlerin bir araya toplanmış halidir. Daha çok yazılım geliştiriciler tarafından kullanılıyor olsa da UML ile yapılan modellemeler sadece yazılım projelerinde kullanılmak zorunda değildir. Örneğin bir iş sistemin yapısını sade ve anlaşılır şekilde ortaya çıkarmak için Paket Diyagramı ("Package Diagram") kullanılabilir. Altın kural: Diyagramdaki elemanlar ve elemanları açıklayıcı yazılar ne kadar az olursa, diyagram o kadar açıklayıcı olur. Detayların tümünü bir diyagramda göstermeye çalışırsanız hem kendiniz hem de yazılımı kullanacak olanlar temel bakış açısını yitirebilirler.

113 Kaynaklar Buzluca, F. (2010) Yazılım Modelleme ve Tasarımı ders notları ( 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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6 Yrd.Doç.Dr.Hacer Karacan İçerik UML Yapı Diyagramları Eylem Diyagramları Etkileşim Diyagramları UML Diyagramlar UML görsel olarak modelleme için birçok diyagrama sahiptir.

Detaylı

Tümleştirilmiş Süreçte (UP) Yazılım Projesi Aşamaları

Tümleştirilmiş Süreçte (UP) Yazılım Projesi Aşamaları 16 Tümleştirilmiş Süreçte (UP) Yazılım Projesi Aşamaları Başlangıç (Inception): Bu aşamada kabaca projenin vizyonu ortaya konur. İstekler ayrıntıya girilmeden genel olarak ele alınır ve fizibilite değerlendirmesi

Detaylı

Unified Modeling Language

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

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 5. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 5. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 5 Yrd.Doç.Dr.Hacer Karacan Modelleme 2 Gerçekleştirilmesi maliyetli ya da riskli olan projelerde, projenin beklenmedik durumlardan dolayı başarısızlığa uğramaması için

Detaylı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «Kullanım Senaryoları» Özer Çelik Matematik-Bilgisayar Bölümü Kullanım Senaryoları (Use-Case Model) İsteklerin anlaşılmasını ve ifade edilmesini sağlayan bir yöntemdir. Özellikle

Detaylı

Nesneler yan yana gösterilir. Etkileşimler (mesajlar) oluştukları sıra ile yukarıdan aşağıya doğru çizilirler.

Nesneler yan yana gösterilir. Etkileşimler (mesajlar) oluştukları sıra ile yukarıdan aşağıya doğru çizilirler. 1 UML Etkileşim Diyagramları (Interaction Diagrams) Tasarım yöntemlerini incelemeden önce tasarımı ifade etmek için kullanılacak olan UML etkileşim diyagramları incelenecektir. UML'de iki tür etkileşim

Detaylı

Nesneye Dayalı Yazılım Geliştirme. Her iterasyon sonunda sistem istenene yaklaşır. Nesneye Dayalı Yazılım Geliştirme

Nesneye Dayalı Yazılım Geliştirme. Her iterasyon sonunda sistem istenene yaklaşır. Nesneye Dayalı Yazılım Geliştirme Tümleştirilmiş Yazılım Geliştirme Süreci (The Unified Process UP) Deneyimler sonucu kabul gören en iyi özellikler bir araya getirilmiştir. Yinelemeli (iterative) Arttırmalı ve evrimsel (incremental, evolutionary)

Detaylı

Tümleştirilmiş Yazılım Geliştirme Süreci (The Unified Process UP)

Tümleştirilmiş Yazılım Geliştirme Süreci (The Unified Process UP) Tümleştirilmiş Yazılım Geliştirme Süreci (The Unified Process UP) Deneyimler sonucu kabul gören en iyi özellikler bir araya getirilmiştir. Yinelemeli (iterative) Arttırmalı ve evrimsel (incremental, evolutionary)

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr NESNEYE YÖNELİK PROGRAMLAMA Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr Nesne Tabanlı Programlama Kavramları Nesne Tabanlı Programlama (OOP) tekniği, gerçek dünyadaki somut nesnelerin bir yazılımın

Detaylı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «UML - Tümleştirilmiş Yazılım Geliştirme Süreci» Özer Çelik Matematik-Bilgisayar Bölümü UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların,

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

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ı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-40-0 Nesneye Yönelik Sistem Çözümleme ve Tasarım HAZIRLAYAN 22325 Fahri DÖNMEZ DANIŞMAN

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ı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «UML Kullanım Diyagramları» Özer Çelik Matematik-Bilgisayar Bölümü Kullanım senaryoları sadece düz metin (text) olarak değil, istendiğinde metin yerine UML diyagramı olarak

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ı

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language) TÜMLEŞİK MODELLEME DİLİ UML (Unified Modeling Language) UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların, Özellikle birden fazla yazılımcı tarafından kodlanacağı

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ı

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr NESNEYE YÖNELİK PROGRAMLAMA Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr Kullanım Diyagramları (Use Case Diagram) Kullanım senaryoları sadece düz metin (text) olarak değil, istendiğinde metin yerine

Detaylı

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

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

Detaylı

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Eşzamanlı (Senkron) Ardışıl Devrelerin Tasarlanması (Design) Bir ardışıl devrenin tasarlanması, çözülecek olan problemin sözle anlatımıyla (senaryo) başlar. Bundan sonra aşağıda açıklanan aşamalardan geçilerek

Detaylı

SiSTEM ANALiZi ve TASARIMI

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

Detaylı

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

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

Detaylı

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ı

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ı

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

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

Detaylı

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler. Yazılım Mühendisliği kapsamındaki Yazılım Geliştirme Metodolojileri, bir bilgi sistemini geliştirme sürecinin yapımını, planlamasını ve kontrolünü sağlayan bir framework tür. Her farklı framework güçlü

Detaylı

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili UML Diyagramlarının Sınıflandırması UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 9 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

Tasarım Modelinin (Design Model) Oluşturulması

Tasarım Modelinin (Design Model) Oluşturulması Tasarım Modelinin (Design Model) Oluşturulması Bu aşamada, nesneye dayalı yönteme göre problemin mantıksal çözümü oluşturulur. Tasarım modelinde yazılım sınıfları ve aralarındaki işbirliği (etkileşim)

Detaylı

Tasarım Modelinin (Design Model) Oluşturulması

Tasarım Modelinin (Design Model) Oluşturulması Tasarım Modelinin (Design Model) Oluşturulması Bu aşamada, nesneye dayalı yönteme göre problemin mantıksal çözümü oluşturulur. Tasarım modelinde yazılım sınıfları ve aralarındaki işbirliği (etkileşim)

Detaylı

Yazılım Mühendisliği 1

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

Detaylı

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

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

Detaylı

YAZILIM MODELLEME VE TASARIM

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

Detaylı

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ı

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ı

Çözüm Bilgisayar. Çözüm SIRAMATİK

Çözüm Bilgisayar. Çözüm SIRAMATİK Çözüm Bilgisayar Çözüm SIRAMATİK Çözüm Sıra Sistemi Amaç : Hastanelerde çeşitli birimlerde oluşan hasta sıralarının (poliklinik müracaat, poliklinik hasta kabul, ssk eczane vb.) bankolar önünden uzaklaştırılarak,

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

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ı

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri VERİ KAYNAKLARI YÖNETİMİ İ İ 5. ÜNİTE GİRİŞ Bilgi sisteminin öğelerinden biride veri yönetimidir. Geleneksel yada çağdaş, birinci yada ikinci elden derlenen veriler amaca uygun veri formlarında tutulur.

Detaylı

DARA PLUS PARAKENDE MODULU

DARA PLUS PARAKENDE MODULU DARA PLUS PARAKENDE MODULU PARAKENDE SATIŞ MÜŞTERİ BİLGİLERİ GİRİŞ VE DEĞİŞİKLİK Peşin satış adında bir tane cari hesap oluşturulur kod 1 adı peşin soyadı satış olan. Yeni bir müşteri açmak için : yeni

Detaylı

UML ile Nesneye Yönelik Modelleme

UML ile Nesneye Yönelik Modelleme UML ile Nesneye Yönelik Modelleme Herşeyden önce UML(Unified Modeling Language) bir progralama dili değildir. UML daha çok Nesneye Dayalı Programlama için kullanabileceğimiz bir modelleme dilidir. Grady

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

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ı

(I) şimdiki. durum (S) belleği. saat. girşi

(I) şimdiki. durum (S) belleği. saat. girşi ers Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Eşzamanlı (Senkron) Ardışıl evreler (Synchronous Sequential Circuits) Ardışıl (sequential)

Detaylı

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7 BM208- Nesneye Dayalı Analiz ve Tasarım Sunum 7 Component(Bileşen) Diyagramları Sistemin fiziksel yapısını modellemede kullanılır. Bu fiziksel yapıdan kasıt gömülü kontroller, portlar, arayüzlerin yanı

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

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ı

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler Fundamentals, Design, and Implementation, 9/e Üç Şema Modeli Üç şema modeli 1975 de ANSI/SPARC tarafından geliştirildi Veri modellemeninç ve rolünü

Detaylı

TASNİF DIŞI KAMU SERTİFİKASYON MERKEZİ. Doküman Adı MOBİL İMZA KULLANIM AMAÇLI NİTELİKLİ ELEKTRONİK SERTİFİKA BAŞVURU TALİMATI

TASNİF DIŞI KAMU SERTİFİKASYON MERKEZİ. Doküman Adı MOBİL İMZA KULLANIM AMAÇLI NİTELİKLİ ELEKTRONİK SERTİFİKA BAŞVURU TALİMATI Kamu SM KAMU SERTİFİKASYON MERKEZİ Doküman Adı ELEKTRONİK SERTİFİKA BAŞVURU TALİMATI Doküman Kodu Yayın Numarası Yayın Tarihi 0 Hazırlayanlar Serdar DEMİR Onay Erol KAHRAMAN DEĞİŞİKLİK KAYITLARI Yayın

Detaylı

Liskov Substitution Principle (LSP) Liskov un Yerine Gecme Prensibi KurumsalJava.com

Liskov Substitution Principle (LSP) Liskov un Yerine Gecme Prensibi KurumsalJava.com Liskov Substitution Principle (LSP) Liskov un Yerine Gecme Prensibi KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Barbara Liskov 1 tarafından geliştirilen bu prensip kısaca

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

TURKCELL HİZMETLERİ. Kullanım Bilgileri. LOGO Kasım 2014

TURKCELL HİZMETLERİ. Kullanım Bilgileri. LOGO Kasım 2014 TURKCELL HİZMETLERİ Kullanım Bilgileri LOGO Kasım 2014 İçindekiler TURKCELL HİZMETLERİ... 3 Online Turkcell Fatura Aktarımı... 4 Fatura Eşleştirme Tabloları... 5 Online Fatura Aktarımları... 6 Toplu Mesaj

Detaylı

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir. İST 205 Bilgisayar Programlama III C Programlamaya Giriş ve Matematiksel-İstatistiksel Uygulamalar Y.Doç.Dr. Levent Özbek Ankara Üniversitesi Fen Fakültesi İstatistik Bölümü Tel: 0.312.2126720/1420 ozbek@science.ankara.edu.tr

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ı

12. Kat Oluşturma. Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği incelenecektir.

12. Kat Oluşturma. Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği incelenecektir. 12. Kat Oluşturma Bu Konuda Öğrenilecekler: Yeni bir kat yaratmak Yaratılan katlara ulaşmak Kat ayarlarında değişiklik yapmak Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

BTP 209 SİSTEM ANALİZİ VE TASARIMI

BTP 209 SİSTEM ANALİZİ VE TASARIMI BTP 209 SİSTEM ANALİZİ VE TASARIMI BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİNDE KULLANILAN ARAÇLAR Dr. Önder EYECİOĞLU 2012 BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİNDE KULLANILAN ARAÇLAR 1. Akış Şemaları 2. Veri Akış

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli Celal Çeken Veysel Harun Şahin Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli Konular Veritabanı Tasarım Aşamaları Kavramsal Tasarım Temel Kavramlar Varlıklar Arası Bağıntılar

Detaylı

Sistem Analizi ve Tasarımı

Sistem Analizi ve Tasarımı Sistem Analizi ve Tasarımı 5.Ders Göksel Biricik Bu Derste Sistem Analizi Fonksiyonel Çözümleme SRS Kavramsal Modelin Oluşturulması 1 Gereksinim Analizi Sistem analizi modelinin amacı: İhtiyaçları açıklamak

Detaylı

4.1. Grafik Sihirbazını kullanarak grafik oluşturma

4.1. Grafik Sihirbazını kullanarak grafik oluşturma BÖLÜM14 4. EXCEL DE GRAFİK Excel programının en üstün özelliklerinden bir diğeri de grafik çizim özelliğinin mükemmel olmasıdır. Excel grafik işlemleri için kullanıcıya çok geniş seçenekler sunar. Excel

Detaylı

Balon & Banka Teslim tarihi: 17 Kasım 2008

Balon & Banka Teslim tarihi: 17 Kasım 2008 Balon & Banka Ege Üniversitesi Bilgisayar Mühendisliği Veri Yapıları Proje-2 Hüseyin YAŞAR 05-06-7657 Didem KAYALI 05-06-7669 Umut BENZER 05-06-7670 http://www.ubenzer.com/ Özlem GÜRSES 05-07-8496 Teslim

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ı

GLIDA EWD 8989 Dokunmatik Akıllı Çocuk Saati Hızlı Kurulum ve Kullanım Kılavuzu

GLIDA EWD 8989 Dokunmatik Akıllı Çocuk Saati Hızlı Kurulum ve Kullanım Kılavuzu GLIDA EWD 8989 Dokunmatik Akıllı Çocuk Saati Hızlı Kurulum ve Kullanım Kılavuzu Çok Önemli Önemli 1: Saatte kullanılmak üzere her hangi bir operatörden ( Turkcell ve Vodafon sim kartlarını öneriyoruz )

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

KDV kısım numaraları Pos cihazındaki KDV departman numaralarına göre tanımlandıktan sonra F2-Kaydet butonu ile bu bölüm kayıt edilir.

KDV kısım numaraları Pos cihazındaki KDV departman numaralarına göre tanımlandıktan sonra F2-Kaydet butonu ile bu bölüm kayıt edilir. 18 Kasım 2009 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Transfer ETA:V.8-SQL ve ETA:SQL ile ĐNTER-POS CĐHAZI ARASINDA VERĐ TRANSFERĐ Süpermarket, benzin istasyonu shop/market ve çeşitli

Detaylı

ICubes Giriş. adresinden sisteme girilir. Açılan sayfaya kullanıcı adı ve şifre yazılarak platforma giriş yapılır

ICubes Giriş.  adresinden sisteme girilir. Açılan sayfaya kullanıcı adı ve şifre yazılarak platforma giriş yapılır ICUBES ICubes, Ipsos çalışanları ve müşterileri için tasarlanmış, üretim datalarını farklı bir platform üzerinden toplu şekilde görmeye yarayan bir programdır. ICubes Giriş http://ids.ipsos.com.tr/icubes/

Detaylı

DOKÜMANLARIN KONTROLÜ PROSEDÜRÜ Doküman No: Yürürlük Tarihi: Revizyon Tarih/No:

DOKÜMANLARIN KONTROLÜ PROSEDÜRÜ Doküman No: Yürürlük Tarihi: Revizyon Tarih/No: 1. AMAÇ Bu prosedürün amacı, İç Kontrol Sistemi içinde bulunan tüm dokümanların hazırlanması, onaylanması, yayını, sürdürülmesi, güncelleştirilmesi ve dağıtım esasları için yöntem ve sorumlulukları belirlemektir.

Detaylı

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE SİSTEM ANALİZİ ve TASARIMI ÖN İNCELEME ve FİZİBİLİTE Sistem Tasarım ve Analiz Aşamaları Ön İnceleme Fizibilite Sistem Analizi Sistem Tasarımı Sistem Gerçekleştirme Sistem Operasyon ve Destek ÖN İNCELEME

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ı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli Konular Veritabanı Tasarım Aşamaları Kavramsal Tasarım Temel Kavramlar Varlıklar Arası İlişkiler Var Olma Bağımlılığı (Existence

Detaylı

Kod Listeleri Genel Yapısı

Kod Listeleri Genel Yapısı Fiş listelerinden de hatırlanacağı gibi pull down menüden fiş menü tercihleri veya görsel butonlardan Yeni, Değiştir, İzle, Sil, Kopyala ile kasa tahsilat ödeme ekranı açılır. Kasa tahsilat ve ödeme fişleri

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA BÖLÜM-II ALGORİTMA I. GİRİŞ Bilgisayar dünyasında, insanın

Detaylı

Veri Akış Diyagramı (VAD)

Veri Akış Diyagramı (VAD) Veri Akış Diyagramı (VAD) Bir veri akış diyagramı (VAD), süreç yönlerini modellendiren bir bilgi sistemi vasıtasıyla verilerin "akışını" gösteren bir grafiktir. Bir VAD, daha sonra detaylandırılamayacak

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 11 11. SQL de JOIN (BİRLEŞTİRME) İŞLEMİ 11.1. JOIN (Birleştirme) İşlemi Veri tabanı kayıtları oluşturulurken bütün bilgiler bir tabloda değil de, birkaç tablo üzerinde tutulur. Bu dataların daha

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ı

Öğ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ı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

T.C. Damla Ok 080401041 Mesutcan Kurt 080401013. 2 Ağustos 2011. Ali Murat Tiryaki

T.C. Damla Ok 080401041 Mesutcan Kurt 080401013. 2 Ağustos 2011. Ali Murat Tiryaki T.C. ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ UÇAK TAKİP SİSTEMİ Damla Ok 080401041 Mesutcan Kurt 080401013 2 Ağustos 2011 Çanakkale Ali Murat Tiryaki

Detaylı

ICubes Giriş. http://ids.ipsos.com.tr/icubes/ adresinden sisteme girilir. Açılan sayfaya kullanıcı adı ve şifre yazılarak platforma giriş yapılır

ICubes Giriş. http://ids.ipsos.com.tr/icubes/ adresinden sisteme girilir. Açılan sayfaya kullanıcı adı ve şifre yazılarak platforma giriş yapılır ICUBES ICubes, Ipsos çalışanları ve müşterileri için tasarlanmış, üretim datalarını farklı bir platform üzerinden toplu şekilde görmeye yarayan bir programdır. ICubes Giriş http://ids.ipsos.com.tr/icubes/

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ı

İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3

İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3 İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3 1. Özellikler.3 2. Kullanım..3 2.1. Ana Sayfa..5 2.2. Talep Modülü.7 2.3. Takibim Modülü 9 2.4. Takipte Modülü..11 2.5. Silinen Talepler Modülü...11

Detaylı

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM

Detaylı

MONTE CARLO BENZETİMİ

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

Detaylı

DESTEK DOKÜMANI. Ödeme planlarında taksitli ödeme bilgileri. Ürün :

DESTEK DOKÜMANI. Ödeme planlarında taksitli ödeme bilgileri. Ürün : Taksitli Satış Đşlemleri Taksitli Satış sistemi adı üzerinde tüm taksitle satış yapan firmalarda kullanılabilir. Bunun yanısıra peşin fiyatı belirli ancak vadeli fiyatı ve taksit sayısı bilinmeyen tüm

Detaylı

Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik

Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik (Polymorphism) Veri saklama (Encapsulation) Yazılım sektöründe

Detaylı

BARIŞ TATİL SİTESİ DOKÜMAN KONTROLÜ PROSEDÜRÜ

BARIŞ TATİL SİTESİ DOKÜMAN KONTROLÜ PROSEDÜRÜ Sayfa 1/7 Revizyon Takip Tablosu REVİZYON NO TARİH AÇIKLAMA 00 01.11.2014 İlk Yayın 1. AMAÇ Bu prosedürün amacı, Yönetim Faaliyetlerinde ve KYS Kalite Yönetim Sisteminde kullanılan dokümanların hazırlanması,

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

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

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

Detaylı

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

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

Detaylı

KAVRAM HARĠTALARI. Kavram Haritaları. Kavram Haritası Nedir? Kim Tarafından GeliĢtirilmiĢtir? Kavram Haritaları Ne ĠĢe Yarar?

KAVRAM HARĠTALARI. Kavram Haritaları. Kavram Haritası Nedir? Kim Tarafından GeliĢtirilmiĢtir? Kavram Haritaları Ne ĠĢe Yarar? KAVRAM HARĠTALARI Tanımı Hazırlanışı Örnek Haritaları Puanlandırılması Özet Haritaları Öğretimde çeşitli şemalardan ve farklı grafik türlerinden faydalanırız. haritaları da bir tür grafik ve şema olmasına

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ı