Yazılım Tasarımı(Software Design)

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

Download "Yazılım Tasarımı(Software Design)"

Transkript

1 Yazılım Tasarımı(Software Design) Yazılım Nedir? Hem bilgisayar sistemini oluşturan donanım parçalarının yönetimini hem de kullanıcıların işlerini yapmak için gerekli olan konular topluluğuna yazılım denir. Tasarım ise herhangi bir mühendislik ürünü geliştirme sürecindeki ilk adım sayılabilir. Bir kodlayıcı, ne kadar iyi olursa olsun, bir tasarım yapıp onu yeterli bir şekilde yazılı hale getirmedikten sonra verimli bir geliştirme yapamaz. Yazılım tasarımı, Bir binanın temeline benzetilebilir yeteri kadar sağlam olmayan bir temel üzerine plansızca inşa edilen katlardan inşa edilen katlardan oluşan bir binanın depreme dayanıklı olması da beklenemez. Ayrıca üzerine başka katlarda çıkmak da mümkün olmayabilir. Tasarımın temel amacı, ziyaretçi ile içerik arasında gerçekleşen iletişimi kolaylaştırmaktır. Ziyaretçilerin içeriği özgürce keşfedebilecekleri arayüz çalışmasını geliştirmek öncelikli prensip olmalıdır.

2 Tasarım Aşaması (Design stage) Tasarım, yazılımın testine kadar her şeyi etkilediğinden nitelik unsurunun öne çıktığı ilk aşama olma özelliğini taşımaktadır. Yazılım geliştirme sürecinin ana aşamalarından ilki olan isterler çözümlemesi daha kuramsal iken, tasarım, kodlama ve test daha tekniktir. Tasarım aşaması bir tür süreç şeklindedir. Aşamalar halinde sürdürülen bu süreç sonunda ortaya çıkan tasarım, kodlamanın ve testin temelini oluşturduğu için mutlaka yeterli dikkat ve zaman ayrılmalıdır. Tasarımcılar, sistem tasarımının yapılması, sisteminin yazılım öğelerinin tasarlanması, öğeler de yer alacak standart yazılım birimlerinin belirlemesi ve bu uygulama için hazırlanması, iç yapılarının tasarlarken sıfırdan başlamak zorunda değildir. Daha önce benzer bir iş yapılmış ve başarılı olduğu görülmüş bir tasarım tekrar kullanılabilir. Tasarımın birinci amacı her zaman basitlik olmalıdır. Çünkü anlaşılır ve basit bir tasarım hem kodlamada hem de sonraki değişikliklerde kolaylık sağlar. Sistem öyle tasarlanmalıdır ki bir dizi değişiklik yapılsa bile sistem hala basit kalabilmelidir. Bunun için veri yapılarında esneklik sağlanmalı, Programlama dilinin sağladığı kolaylıklar göz önüne alınmalıdır. Basit tasarım, yetenekleri ve özellikleri kısıtlı tasarım olarak algılanmamalıdır.

3 Tasarım Nitelikleri(Design Attributes) İşlevselliği, başarımı ve güvenilirliği yüksek, nitelikli bir ürün oluşturmak ana hedef olmalıdır. Öğrenim ve kullanım kolaylığı göz önünde tutulmalıdır. Tasarımın isterler ile izlenebilirliği olmalıdır. Geliştirilen birimin kodu ve testleri ile izlenebilirliği olmalıdır. Tasarım programlama dilinden olabildiğince bağımsız, kolay anlaşılabilir kolay değiştirilebilir Ve tekrar kullanılabilir olmalıdır. Yazılım projelerinde tasarım, projenin büyüklüğüne göre yazılım tasarım uzmanları veya yazılım mimarları tarafından kullanılır. Yazılım Tasarım Süreci(Software Design Process) Genelde bir bütün olarak düşünülmesine rağmen yazılım tasarım aşaması da adımlar halinde gerçekleştirilir. En önemli adımlardan biri veri tasarımı olup, çözümleme sırasında toplanan bilgilerin ve bilgi yapılarının yazılımda kullanılacak veri yapılarına dönüştürülmesini içerir. Tasarım sırasında isterlerin yazılım geliştirmede kullanılacak ifadelere dönüştürülmesi ana amaçtır. Teknik olarak, süreç başında, bu ifadeler ve gösterim tarzı ile yazılımın genel görünüşünü oluşturulurken, süreç sonunda tasarım kaynak koda yakın bir hale gelir.

4 Veri Tasarımı(Data Design) Veri, Bilgilerin işlenmemiş halidir. Örnek Verecek olursak Öğrenci bilgi Sistemindeki(Obis) öğrencininadi, ÖğrenciniSoyadi, ÖğrencininNumarasi Veya şirkette çalışan personeladı, PersonelSoyadi,PersonelCalistigi Departman bunların hepsi veriye örnektir. Veri yapısı, Bilgisayar ortamında verilerin,etkin olarak saklanması ve işlenmesi için kullanılan yapıya denir. Veri modelleme, bir işletmenin, kurumun hatırlamaya değer bulduğu verilerin şekil ve metin olarak ifade edilmesidir. Veri Yapıları ve veri modelleri, Birbirleriyle mantıksal olarak ilişkili olan verileri yönetilebilir şekilde bir arada tutmaya yararlar. Bu yapı ve modeller, veriler arasındaki sıradüzensel ilişkileri ve erişim yöntemlerini de belirler. Yapıların düzenlemesi ve karmaşıklık düzeyi tamamen tasarımcı

5 belirler. Tasarımcı, veriye erişim yöntemi, hız, etkinlik, büyüklük, işlev bakımından çözümlenmesini yaparak en uygun veri türlerini ve yapılarını belirler. Veri yapısı ile veri modeli, iç içe geçmiş iki ayrı kavramdır. Birisi verinin bellekte tutulması veya saklanmasıyla ilgilenirken diğeri veriler arasındaki ilişki ve bağıntılar konusuyla ilgilenir. İşlevsel çözümlemeye verilen önem kadar veri çözümlemesi ve tasarımı da önem verilmelidir. İyi Bir Veri Tasarımı Nasıl Olmalı?(How to Design a Good Data) Veri Yapıları ve modelleri yanında bu yapılar üzerinde yapılacak işlemlerin de tanımlanması gereklidir. Bu tanımlama, nesneye yönelik tasarımda doğal olarak yapılır. Ancak

6 tasarımda ayrı dikkat edilmelidir. Kullanılacak veri yapılarını oluşturan birimlerin türleri, sınırları ve birbirleri ile olan ilişkileri bir Veri Sözlüğü içinde toplanmalıdır. Bu sözlükte kullanılacak karmaşık yapıların ve algoritmaların tasarımında kolaylık sağlanır. Veri yapıları yalnızca kullanan modüllere görünür olmalıdır. Bu şekilde Bilgi Gizleme ilkesine uyulmuş olur. Çok kullanılacak veri yapıların soyut veri türleri şeklinde önceden geliştirilerek bir kütüphane haline getirilirse, tasarım sırasında bunlarla ilişkilendirilir ve kodlama test için zaman ayrılmasına gerek kalmaz. C, C++ dillerindeki kütüphaneler örnek verilebilir. Tasarım sırasında, kodlamada kullanılacak programlama dilinin özellikleri dikkate alınarak veri yapıları tanımlanır. Karmaşık veri yapılarının kullanımı gerekiyorsa kullanılacak programlama dili soyut veri türlerini(abstract data types) destekleyecek şekilde seçilmelidir. Mimari Tasarım(Architectural Design) Mimari Tasarım, Sistemin tüm yapısının tasarımı ve sistemin nasıl kurulduğunu anlamayla ilgili aşamadır. Daha net olarak ifade edecek olursak, bu aşamada, sistemin nasıl bir yapı

7 üzerine oturması gerektiği hakk Uygulama yazılımı bir problemin çözümünü çeşitli parçalara bölerek sağlayabilir. Bu parçaların yazılımdaki karşılığı modüllerdir. Modüllerin sıradüzensel ilişkilerini gösteren yapıya uygulama yazılımı mimarisi denir. Yazılım içindeki modüller birer nesne olabileceği gibi, tasarım veya gerçekleştirme yönteminin özelliğine göre, birer programi birer paket, birer nesne veya birer yordam olabilirler. Yapının çıkış yelpazesi, genişliği ve derinliği modüler yapı hakkındaki önemli ölçütlerdir. Uygulama Yazılım Tasarımı Uygulama alanının özellikleri Yazılımın kullanılacağı alanın gereksinimine göre yazılım birimlerini fiziksel olarak belirli donanım ögeleri üzerinde çalıştırmak gerekebilir. Sistemin merkezi yada dağınık olması, açık sistem olması, belirli bir amaçla kullanmak üzere tahsis edilmesi veya gömülü sistem olması mimari seçimine etki eder. Uygulama yazılımının karmaşıklık derecesi Basit uygulamalar, tek program içinde, her türlü arayüz ve

8 bilgi işlemeyi kapsayacak şekilde geliştirilebilirler. Daha karmaşık uygulamalarda, hem geliştirme hem de yürütme bakımından yazılımı ögelere, ögeleri bileşenlere, onları da birimlere bölmek, daha kolay şekilde geliştirme, test ve bakım olanağı sağlar. Kullanıcı arayüz kısıtlamaları Geliştirilen yazılımın sonradan başka işletim sistemi veya donanım ile kullanılmak üzere farklı ortamlara taşınması gerekiyorsa, katmanlı bir yaklaşımla, asıl yazılımı olası taşıma işinden etkilenmeyecek şekilde tasarlamak gerekir. Bu nedenle, yazılım mimarisi içine uygun katmanlar yerleştirilebileceği gibi iletişimin zorluklarını gidermek üzere bir ara katman mantığı da kullanılabilir. Yordamsal Tasarım(Procedural Design) Yordam(procedure, function), bilgi işlemeyi gerçekleştirmek üzere yazılım modülünün iç yapısında bulunan ve belirli işlevleri olan kod parçalarıdır. Bir yordam, veri yapıları, döngüler, karşılaştırmalar, dallanmalar yardımıyla tüm bilgi işleme özelliklerini tanımlamalıdır. Veri ve program yapılarının tasarımı tamamlandıktan sonra yordamsal tasarım başlar. Yordamsal tasarım, modüllerin iç yapılarındaki algoritmik ayrıntıların tanımlanmasıdır.tasarım,konuşma diline yakın bir anlatımla yapılabileceği gibi çeşitli şekilsel gösterimlelr de yapılabilir. Yordamsal Tasarım Nasıl Yapılır?(How to

9 Do Procedural Design) A-)Yapısal Programlama Gösterimi: Yazılım tarihinin en eski tasarım yöntemlerinden biri işlevleri metinsel bir şekilde anlatmaktır. Bu anlatım için genellikle ingilizce kullanılmaktadır. Program tasarım dili(programming design language) adı verilen bir dil de tasarım için tanımlanmıştır. Sözde Kod(Psodue) adı verilen yöntem, Gerçek programlama dili yapılarına benzer şekilde,ancak daha serbest bir sözdilimiyle her yapı ve her yordam tanımlanır. Program tasarım dilleri genellikle ADA veya Pascal gibi yüksek düzey bir dili andırırlar. Özel bir yazılım paketi getirmeksizin normal bir metin yazıcı kullanılabilir. Tasarım dili ile yazılmış metin dosyalarını grafiksel bir tasarım yöntemine dönüştürülebilen araçlar da bulunmaktadır. Yordamsal Tasarım Dillerinin Sahip Olduğu Ortak Özellikler Her türlü yapıyı destekleyebilen sabit bir anahtar sözcük listesi Veri yapıları ve veri tipleri tanımlama yeteneği Alt program tanımlama ve çağırma düzeneği Bilgi işlemeyi serbest bir dille anlatabilme yeteneği Arayüz tanımlama yeteneği Giriş/Çıkış yapıları Zaman belirtimleri Bilinen yapıların kullanımı nedeniyle okunması ve takibi kolaydır. Programlama diline yakın olduğu için kodlayıcının işi daha kolaydır. Ancak, bu anlatımda aşırıya kaçılır. ve gereksiz ayrıntıya girilirse tasarım uzar (örneğin anlaşılır olmasına rağmen bir veri yapısının tüm alanlarına tek tek veri atamayı göstermek gibi), ayrıntıya boğulur ve amacı dışına çıkılır.

10 B-) Grafiksel Gösterimi: Bazen bir resim birçok satırdan oluşan bir anlatımın yerine geçebilir. Bu gerçekten hareketle, çeşitli grafiksel gösterim yöntemleri bulunmuş,bu yöntemleri kullanan yazılım tasarım araçları geliştirilmiştir.ancak bir şeklin eksik yada yanlış çizilmesi okuyucunun gösterim simgelerini iyi bilmemesi sınucu tasarımı yanlış anlaması hatalı kodlamaya neden olabilir. Bu nedenle grafiksel gösterimlerinin iyi öğrenilmesi ve iyi anlaşılması gereklidir. Yapısal çözümleme ve tasarım yapmak için veri akış diyagramları ve durum geçiş diyagramları kullanılır. Unified Modelling Language(UML) : Nesneye yönelik çözümleme ve tasarımın hem metinsel hem de grafiksel olarak yapılanilmesine yardımcı olan uluslararası çevrelerce kabul edilmiş, Standart ve yaygın bir tanımlama dilidir. UML Diyagram Türleri (Tr)

11 UML Diyagram Türleri (ENG) Akış Diyagramları (Flow Charts):En Eski ve en yaygın program tasarım yöntemlerinden biri akış diyagramları(flow Chart) kullanılmaktadır. Günümüzde bir program çok sayıda modülden veya yordamdan oluştuğundan, çok sayıda akış diyagramı kullanmak gerekebilir. Basit Flow Chart Kullanımı (Eng)

12 Basit Flow Chart Kullanımı (Tr) Arayüz Tasarımı(interface design) Arayüz tasarımı, kullanıcının faydalanması amacıyla sunmuş olduğunuz çeşitli yazılımsal ürünlerde onların işini kolaylaştırmak ve dilediklerini yapabilmelerini sağlamak amacıyla gerçekleştirilir. Arayüz tasarımlarının genel prensibi kullanıcı odaklı olmalarıdır. Kullanıcı odaklı arayüzün mutlaka sahip olması gereken üç nitelik bulunmaktadır. Etkileşimli arayüz, görsel tasarım ve bilgi mimarisi bu üç niteliği oluşturmaktadır. Kullanıcı odaklı arayüzün mutlaka sahip olması gereken üç nitelik bulunmaktadır. Etkileşimli arayüz, görsel tasarım ve bilgi mimarisi bu üç niteliği oluşturmaktadır.

13 Bileşen Arayüz Tasarımı Büyük Yazılımlar birkaç ana ögeden, her bir öge birkaç bileşenlerden ya da birimden oluşabilir. Bu bileşenler arasında mutlaka tanımlı bir arayüz vardır. Bileşenler ya da birimler birer yürütülebilir program olabilecekleri gibi, bir program grubu da olabilirler. Sistem- Altsistem Arayüz Yazılım Tasarımı Bilgi sistemlerinin bazıları, başka sistemleri, altsistem veya aygıtları tümleştirerek daha büyük sistemler elde etmek üzere tasarlanırlar.tümleştirme için özel olarak tasarlanan altsistem arayüz yazılımları kullanılır. Kullanıcı Arayüz Tasarımı Bilgi Sistemleri, insanların denetiminde çalıştıkların için kullanımı kolay, etkin ve açık arayüzlere sahip olmalıdırlar. Arayüz tasarımı gerçekleştirmek istiyorsanız öncelikli olarak kullanıcıyı merkeze yerleştirmelisiniz. Kullanıcının beklentilerini karşılayabilmeli, ihtiyaçlarına cevap verebilmeli ve onların eğilimlerini tahmin edebilmelisiniz. Referanslar(Kaynakçalar) Erhan SARIDOĞAN Yazılım Mühendisliği Kitabı Papatya Yayıncılık, rme#.we-ey2i0piu

14 Hazırlayan:Necmi Altuk Rifai Kuçi 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 Blooch, James Rumbaugh ve Ivar Jacobson tarafından geliştirilmiştir. Yazılım teknolojisi geliştikçe yazılan programların karmaşıklığı ve zorluğu giderek artmaktadır. Yazılan programların karmaşıklığı arttığı için kod organizasyonu önem kazanmıştır. Bu sebeple üretilen modelleme ve analiz dili olan UML. Programlama aşamasında olabilecek sorunların en aza indirilmesini sağlamaktadır. UML yazılımların hem maliyetini hem etkisini hemde ömürünü artırır. UML ile dokümantasyonu yapılan bir programın sonradan düzenlenmesi daha kolay olur. UML in faydalarından bahsedersek : Kodlama işlemini kolaylaştırır. Çünkü programdan ne beklediğimizi ve programlama ile neler yapacağımızı belirleriz. Programda beklenmedik mantıksal hataları (bug) minimuma indirgemiş oluruz. Tasarım aşaması düzgün yapıldıysa, programın daha kolay geliştirilebilmesi sağlanacaktır. Bellek kullanımının daha iyi belirlenmesini sağlar. Programın kararlılığını artırır. Ortak çalışılan projelerde programcıların iletişimini

15 daha kolay hale getirir. UML 9 Diyagram Türünden Oluşur : Class Diagram: Sınıfları baz alarak yapılan diyagramdır. Object Diagram: Sınıfın yerine gerçek nesneler kullanılır. State Diagram: Nesnelerin zamanlara ayrılmış durumlarını gösteren diyagramdır. Sequence Diagram: Gerçek zamanlı sistemlerde zaman içinde değişen interaktiviteleri gösterir. Activity Diagram: Bir nesnenin durumunun değişim sırasını gösterir. Use Case Diagram: Programın davranışlarının kullanıcı gözüyle incelenmesidir. Collaboration Diagram: Bir sistemin bütün parçalarının birbirleriyle olan ilişkilerini gösterir. Component Diagram: Birden çok geliştiricinin birlikte çalıştığı projelerde program componentlere ayrılır. Bu tür projelerde bu diagram kullanılır. Deployment Diagram: Sistemin, bilgisayarlar arasındaki bağlantılar, programın kurulacağı makinalar ve sistemdeki aletler gibi fiziksel incelenmeleri yapılır. Nesne kavramında önemli olan özellikler vardır. Bunlar: Kimlik(identity): Nesneyi unique olarak tanımlar ve onu diğer nesnelerden ayırır. Durum(state): Özellikler(fields veya attributes) ile belirtilir. Davranış(behavior): Metot, metot adı, aldıüı parametre türleri ve döndürdüğü tür ile tanımlanır. [crayon-5c37120dd /] Sınıf kavramının önemli özellikleri : Alanlar(fields): Nesne özelliklerini tanımlayan değişkenler, adları ve türleri ile. Metotlar(methods): Metot adları, döndürdüğü tür,

16 parametreleri, ve metotu gerçekleştiren program kodu. [crayon-5c37120dd200f /] Erişim Belirleyicilerin Gösterimi Public: UML de + sembolü ile gösterilir. Protected: UML de # sembolü ile gösterilir. Package: UML de ~ sembolü ile gösterilir. Private: UML de sembolü ile gösterilir. UML de Nesne Gösterimi UML de Paket Gösterimi

17 Assocation (Sınıflar arası ilişki) Sınıflar arasındaki ilişkiyi göstermek için iki sınıf arasına düz bir çizgi çekilir. İlişkiyi gösteren çizginin üzerine ilişkinin türü yazılır. Bir İnsan sınıfı gerçek nesnesi olan Ali ile kitap sınıfı gerçek nesnesi olan UML kitabı arasında okuma ilişkisi vardı.kısaca şöyle deriz. Ali, UML kitabı okur. Bazı durumlarda sınıflar arasındaki ilişki, bir çizgiyle belirtebileceğimiz şekilde basit olmayabilir.bu durumda ilişki sınıfları kullanılır.ilişki sınıfları bildigimiz sınıflarla aynıdır. Özellik ve işlev elemanları olabilir. Sınıflar arasındaki ilişki eğer bir sınıf türüyle belirleniyorsa UML ile gösterimi aşağıdaki şekildeki gibi yapılır.

18 Şu ana kadar gördüğümüz ilişkiler bire bir ilişkilerdi.ilişkiler bire bir olmak zorunda değildir.bir sınıf, n tane başka bir sınıf ile ilişkiliyse buna bire çok ilişiki denir.mesela Yüzbaşı ile Er arasında bire yüz bir ilişki vardır. Diyagramda bunu gösterirken Yüzbaşı sınıfına 1 Er sınıfına ise 100 yazacağız. Gösterimi aşağıdaki gibidir: Kalıtım(Inheritance) Kalıtım UML de şu şekilde gösterilir: İçerme (Aggregations) Bazı sınıflar birden fazla parçadan oluşur.bu tür özel ilişkiye Aggregation denir.mesela,bir TV yi ele alalım.bir televizyon çeşitli parçalardan oluşmuştur.ekran,uzaktan Kumanda,Devreler vs.. Bütün bu parçaları birer sınıf ile temsil edersek TV bir bütün olarak oluşturulduğunda parçalarını istediğimiz gibi ekleyebiliriz. Aggregation ilişkisini bütün parça yukarıda olacak şekilde ve bütün parça nın ucuna içi boş elmas yerleştirecek şekilde gösteririz. Örnek bir şekil aşağıdaki gibidir.

19 Arayüz(Interface) Sınıf ile arayüz arasındaki ilişkiyi kesik çizgilerle ve çizginin ucunda boş üçgen olacak şekilde gösteririz. Sınıf ile arayüz arasındaki bu ilişkiye gerçekleme(realization) denir. Sınıfla, arayüz arasında UML gösterimi açısından fazla bir fark yoktur.tek fark arayüzde özellik(attribute) yoktur.diğer bir fark ise arayüz adlarını yazarken adın üstüne <interface> yazısını eklemektir.aşağıda bir arayüz sınıf ilişkisi mevcuttur. Kapsülleme (Encapsulation)

20 Şimdi ise kalıtım kullanarak hayvanları oluşturalım: Böylece kalıtım olmadan: 9 dosya, 200 satır tutan kodun, Kalıtım Kullanarak: 13 dosya, 167 satır koda, %15 tasarruflu bir şekilde nasıl dönüştüğünü UML kullanarak daha iyi kavramış oluyoruz. Use Cases Diyagramları Sistem gereksinimleri UML Use Case (kullanım şekilleri) diagramları ile belirtilir. Yazılım geliştirme için gerekli değildir, fakat gereksinimler ve nesnel modeller arasında

21 önemli bir bağlantıdır. Ücretsiz bir UML programı için : ArgoUML Yazar: Hasan Alp ZENGİN Kaynaklar: sibelsomyurek.com/veritabani/11_uml.pptx univera-ng.blogspot.cz/2009/12/uml-ve-modelleme-bolum-4- class-snf.html slideshare.net/aselmanb/uml-ile-modelleme

22

Yazılım Tasarımı(Software Design)

Yazılım Tasarımı(Software Design) Yazılım Tasarımı(Software Design) Yazılım Nedir? Hem bilgisayar sistemini oluşturan donanım parçalarının yönetimini hem de kullanıcıların işlerini yapmak için gerekli olan konular topluluğuna yazılım denir.

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ı

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ı

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

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ı

Naive Bayes Sınıflandırıcısı

Naive Bayes Sınıflandırıcısı Naive Bayes Sınıflandırıcısı Basit haliyle bir sınıflandırma-kategorilendirme algoritmasıdır. İsmini 17.yy da yaşamış Thomas Bayes adında bir matematikçiden alır. Verilerin sınıflandırılmasından daha çok

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ı

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ı

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ı

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI Yazılım Nedir? Yazılım, 1. Komutlar : yürütüldüğü zaman istenen fonksiyon ve performansı sağlar, 2. Veri Yapıları : programa verileri yeteri kadar işlemek

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ı

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ı

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR 2017 Yrd. Doç. Dr. Nesrin AYDIN ATASOY 6. HAFTA: YAZILIM TASARIMI Tasarım, herhangi bir mühendislik ürünü geliştirme sürecindeki ilk adım sayılabilir. Tasarımcının amacı,

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ı

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ı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

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

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

Detaylı

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ı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

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ı

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ı

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ı

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ı

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ı

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

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

Detaylı

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ı

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ı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

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ı

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ı

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

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımı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ı

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ı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden

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ı

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI MAK 1005 Bilgisayar Programlamaya Giriş Uludağ Üniversitesi, Mühendislik Fakültesi Makine Mühendisliği Bölümü BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI Prof. Dr. Necmettin Kaya 1 KONULAR 1. Bilgisayara giriş,

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ı

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

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

Detaylı

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

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ı

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ı

BLG 1306 Temel Bilgisayar Programlama

BLG 1306 Temel Bilgisayar Programlama BLG 1306 Temel Bilgisayar Programlama Öğr. Grv. M. Mustafa BAHŞI WEB : mustafabahsi.cbu.edu.tr E-MAIL : mustafa.bahsi@cbu.edu.tr Bilgisayar ile Problem Çözüm Aşamaları Programlama Problem 1- Problemin

Detaylı

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

Facade (Cephe) Tasarım Şablonu KurumsalJava.com Facade (Cephe) Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Profesyonel yazılım sistemleri birçok komponentin birleşiminden oluşur. Yazılım esnasında bir çok

Detaylı

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

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

Detaylı

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ı

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

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ ÖĞR.GÖR.VOLKAN ALTINTAŞ 26.9.2016 Veri Tabanı Nedir? Birbiriyle ilişkisi olan verilerin tutulduğu, Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun, Mantıksal

Detaylı

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir. 1 Akış diyagramları

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

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ı

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ı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 2. BÖLÜM 2 PROGRAMLAMAYA GİRİŞ Programlama Terimleri ve Programlama Ortamı 3 Program Programlama IDE

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

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ı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

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ı

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir. Yapısal Sistem Analiz ve Tasarım Metodu SSADM waterfall model baz alınarak uygulanan bir metottur. İngiltere de kamusal projelerde 1980 lerin başında kullanılan sistem analizi ve tasarımı konularındaki

Detaylı

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ı

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ı

Şekil 1 de dört adet genel kullanıma açılmış veri (D1-D4) ve bunları doğrudan ya da dolaylı olarak kullanan 7 adet yordam (P1-P7) yer almaktadır.

Şekil 1 de dört adet genel kullanıma açılmış veri (D1-D4) ve bunları doğrudan ya da dolaylı olarak kullanan 7 adet yordam (P1-P7) yer almaktadır. Neden Nesneye Yönelik (object-oriented) Programlama? Nesneye yönelik programlamanın sunduğu olanakların yeterli şekilde değerlendirilebilmesi için önce geleneksel yordamsal (procedural) programlama yaklaşımından

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ı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

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ı

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

BM526 YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN BM526 YAZILIM PROJE YÖNETİMİ Yrd.Doç.Dr.Hacer KARACAN Temel Kavramlar Yazılım Yazılım mühendisleri tarafından tasarlanır ve geliştirilir Toplumdaki herkes tarafından kullanılabilir Ticaret, kültür ve günlük

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

GİRDİALIMI. Sistemin işleyişinde gereksinim duyulan verilerin sisteme girişinin yapılabilmesi için öncelikle toplanmaları gerekmektedir.

GİRDİALIMI. Sistemin işleyişinde gereksinim duyulan verilerin sisteme girişinin yapılabilmesi için öncelikle toplanmaları gerekmektedir. GİRDİ TASARIMI GİRDİ TASARIMI Geliştirilenyazılımın güvenilir ve geçerli bir yazılım olabilmesi iyi bir girdi tasarımı ile olanaklıdır. Diğer taraftan geliştirilen yazılımlar için kullanışlılık sahip olunması

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ı

Java Temel Özellikleri

Java Temel Özellikleri Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle

Detaylı

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ Hafta Hafta 1 Hafta 2 Hafta 3 Hafta 4 Hafta 5 Hafta 6 Hafta 7 Hafta 8 Hafta 9 Hafta 10 Hafta 11 Hafta 12 Hafta 13 Hafta 14 Konu Giriş Programlama Dillerine

Detaylı

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

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

Yazılım Mühendisliği Temelleri

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

Detaylı

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

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

Detaylı

Proje Yönetimi Uygulamaları Görev Tanımlama

Proje Yönetimi Uygulamaları Görev Tanımlama Girişimcilik ve İnovasyon Dersi Proje Yönetimi Uygulamaları Görev Tanımlama Yrd. Doç. Dr. Ali Nizam Prof. Dr. Fevzi YILMAZ Mühendislik Fakültesi Fatih Sultan Mehmet Vakıf Üniversitesi 2015 İş Paketi -

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

C Dersleri Bölüm 3 : Program akışı

C Dersleri Bölüm 3 : Program akışı İzmir Ekonomi Üniversitesi Bilgisayar Topluluğu www.ieubt.org C Dersleri Bölüm 3 : Program akışı Sorularınız için : programlama@ieubt.org Hazırlayan : Görkem PAÇACI (gorkem.pacaci@std.ieu.edu.tr) C Program

Detaylı

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

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

Detaylı

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ı

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler: Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI BARTIN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI 3. Hafta BİLGİSAYAR YAZILIMI Dr. Öğr. Üyesi Nesibe YALÇIN nesibeyalcin.wordpress.com BİLGİSAYAR

Detaylı

Veritabanı Uygulamaları Tasarımı

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

Detaylı

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ı

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ı

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ı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

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ı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

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

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

Detaylı

Bilgisayar Programlama Dilleri

Bilgisayar Programlama Dilleri Bilgisayar Programlama Dilleri Ömer YÜCEL 13253072 1/32 Sunum İçeriği 1. Program ve Programlama Dili Nedir? 2. Programlama Dillerinin Tarihçesi 3. Programlama Dillerinin Sınıflandırılması 4. Programlama

Detaylı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

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

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

Detaylı

NX Motion Simulation:

NX Motion Simulation: NX Motion Simulation: Mekanizma Hareket Analizi UNIGRAPHICS NX yazılımının modüllerinden biri olan NX Motion Simulation, NX Dijital Ürün Tasarımı ailesinin mühendislik bileşenlerinden birisidir. Motion

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

5. PROGRAMLA DİLLERİ. 5.1 Giriş 5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması

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ı