Yazılım Geliştirme Teknikleri ile Yazılım Üretimi

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

Download "Yazılım Geliştirme Teknikleri ile Yazılım Üretimi"

Transkript

1 Yazılım Geliştirme Teknikleri ile Yazılım Üretimi Bir sistemin analizi yada yeni bir yazılım yaratımı müşteriden gelen talep ile olur. Müşteri yazılım geliştiricilerine ihtiyaçlarını ifade eder ilk aşamada. İhtiyaç belirlemede, düşünülen sistemin tam olarak bir canlandırması çizilmeli ihtiyaçların ifadesi yapılmalı sistem gelişiminde temel olarak kullanılacak formal doküman oluşturulmalıdır. Bir yazılım gelişiminin aşamalarını daha ayrıntılı biçimde aşağıda görebiliriz. Bu şemaya Fision metodu diyoruz. Gereklilikler dokümanı (Requriments documents) ANALİZ Nesne Modeli (Object Model) Arayüz Modeli (İnterface Model) D A T A DİZAYN Nesne etkileşim grafikleri (Object İnteraction graphs) Görünürlük grafikleri (Visibility Graphs ) Sınıf tanımları (Class descriptions) Alt Sistem D İ C T İ O N A R Y Miras grafikleri (İnheritance Graphs) UYGULAMA Program

2 İhtiyaçların belirlenmesi Analiz Tasarım Uygulama Bakım İlk adım olan gerekliliklerin yada ihtaçlar dökümanının belirlenmesi aşamasına bakalım. Müşteriden gelen talep doğrultuda ilk önce bu requriment document denen aşamanın geçilmesi gerekir bunu başarabilmek için örnek sorular aşağıdadır. İhtiyaçların belirlemesinde sorulabilecek sorular: Problemin kapsamı: Yazılım ne için? Yazılıma neden ihtiyaç duyulmuştur? İhtiyaçlar: Düşünülen kullanıcı tipi kimlerdir? Sistem neler yapabilmelidir? Ara yüze konulacaklar? Uygulama kontexti: Düşünülen donanım nedir? Düşünülen işletim sistemi nedir? Kabullenişler: Hangi kabullenişler sistemin tasarlandığı şekilde çalışmasını sağlar? Performans Yanıt süresi, Hafıza ve disk yeri talebi, Cpu talebi nelerdir? Gereklilik dökümanı belirlendiksen sonra analiz aşamasına geçebiliriz. 2

3 Analiz aşamasının detaylı gösterimi 3

4 Prosedüre yönelik Analiz nedir? Prosedüre yönelimli analiz sistemi etkileşimdeki prosürlerle datayı ayrı olarak düşünür. Örneğin C dilinde datalar Structure lara function larda prosedürlere denk gelir. Burada data dictionary kayıtlı olan prosedürlerin kullandığı bilginin tanımlarını içerir. Bu yaklaşım programcıyı, sistem bileşenlerini, bileşenler arasındaki ilişkileri ve nasıl bileşenlerle sistemin tasarlanıp işleneceği konusundan uzaklaştırır. Bu analiz tipinde prosedürlerden gelen tüm bilgi tek bir mantıksal analiz dökumanı içerisinde saklanır. Prosedür Prosedür Prosedür Global Data Nesneye yönelimli analiz nedir? Bu sorunun cevabını verebilmek için ilk önce nesnenin ne demek olduğuna bir göz atalım. Geleneksel olarak programcılıkta bilgi ve kod bir birinden ayrı tutulur fakat nesneye yönelimli programlamada data ve tek bir görünür nesne haline gelmiştir. Bu şekilde data ve kod paketleri halindeki nesneler birbirleriyle mesajlar aracılığıyla iletişim kurarlar. Bir nesnenin yapabileceği her şey bu mesaj ara yüzleriyle temsil edilir böylece bir nesneyi kullanmak için içinde neler olduğunu bilmek zorunda kalmayız bu bize daha sonra nesneler üzerinde yapabileceğimiz değişiklikler açısından esneklik sağlar. Bu şekilde nesnelere sadece mesajlar üzerinden erişim sağlayarak bir tür data gizliliği sağlanır buna kapsülleme (encapsulation) denir. Tüm bu yapılanların amacı yazılımı en kolay şekilde nasıl tekrar yazabileceğimiz sorusana cevap vermektir. Unutmamak gerekir ki yazılım yazılmaz yeniden yazılır(software is not written, its rewritten). Nesneye yönelimli programlamada amaç programı küçük sınıflara ayırarak sistemin esnekliğini artırmak buna bağlı tekrar yazma gibi durumları ortadan kaldırarak yazılım geliştirme sürecine en aza indirmektir ve dolasıyla masrafları düşürmektir. Nesneye yönelik programlamada anlamamız gereken bir başka konuda sınıflardır. Kısaca söylemek gerekirse nesneler sınıfların tekil birer örnekleridir. Bu ne demektir? Bir örnekle konuya açıklık getirelim mesela elimizde bir ev sınıfı olsun bizde ev sınıfından pencere diye bir nesne çağıralım. Pencere bir ev sınıfı nesnesi örneğidir, ev sınıfı bu nesnenin yapabileceği işleri ve kendisini tanımlar. Bir sınıf birden fazla nesne üretebilir ve ev sınıfı nesnelerinin anlayabileceği mesajlar üretir. Bu tip sınıflardan nesne örnekleri yaratma olayına nesneye yönelik programlamada Factory denir. Nesnelerin gönderdikleri mesajlar içindeki kodlara verilen addır ve bu mesajlarla genelde argumanlarda yollanır bunlar genelde 4

5 nesnenin neyi,ne zaman ne kadar yapacağı gibi sorulardır. Örnek olarak bir temizle mesajı hangi pencere veya ne zaman sorularının cevaplarıyla gelebilir. Nesneye yönelik programlamada yaratmamış olduğumuz sınıfları daha spesifik alt sınıflara ayırabiliriz. Bunlara alt sınıflar(sub classes) denir, alt sınıflar yaratılığı atasına (parent class) ait tüm var olan mesajları ve davranışları da alır bu olaya miras (İnheritance) denir. Yani daha üst sınıflara ait mesajlar yeniden(reuse) kullanılabilir ve kendi alt sınıfımıza ait spesifik yeni mesajlar yaratabiliriz. Mesela ev sınıfımızdan bir oda alt sınıfı yaratalım ev sınıfından kalma bir evde renk mesajı oda sınıfında kullanılabilir veya oda için yatak gibi bir yeni mesaj tanımlayabiliriz. Piyasada nesne yönelimli bir çok programlama dili vardır özellikle bu sayı her gün artan yeni internet yazılım geliştirme ortamıyla büyük bir artış göstermiştir. Ancak eskiden beri gelmiş kabul gören ve çok kullanılan üç programla dili vardır. C++: C nin Object oriented versiyonudur. Java: Sun microsystems in geliştirmiş olduğu bu dilin İBM, Microsoft, Symantec gibi versiyonlarıda bulıunmaktadır. Bu dilin çok tutulmasının nedeni internet ve internet uygulamalarında ve web browserlarla son derce uyumlu ve güvenilir olarak çalışabilir olmasıdır. Smalltalk: Tam standardı oturmamıştır bu yüzden üç ayrı ticari sürümü vardır. VisualWorks ParcPlace-Digitalk, Inc. Smalltalk/V and Visual Smalltalk f ParcPlace-Digitalk Inc. VisualAge IBM Nesneye yönelimli analiz bir nesneye yönelimli sistem analiz tekniğidir. Birbiriyle iletişimde olan nesnelerin esas karakteristiğini ortaya koymada etkili bir tekniktir. Temel kavramları sistem bilgisinin biçimsel tanımı ve davranış biçimi modellemedir. Burada datalar arası ilişkiler mesajlarla, argümanlar aracılığıyla yapılan metotlarla olur. DATA Metod Metod DATA Metod Metod Metod Metod DATA 5

6 Mesajların içerdiği metotlar gittiği yerdeki mesaj alıcı tarafından işlenir. Oo analizin temel kavramları sistem bilgisinin formal tanımına ve davranış biçimi modellemeye dayanır. NYA de modellenen tüm bileşenler sistemin önemini kavratacak şekilde tasarlanır yani sistem nasıl uygulanacağı sorusu yerine gerçek ne olduğu sorusu üzerine inşa edilir Nesneye yönelik analiz, prosedüre yönelik analizden farklı olarak sistemi nasıl sorusundan ziyade ne sorusu üzerine inşa eder böylece erken bir tasarım aşamasına geçişten programcıyı alı koyar. Nesneye Yönelik Sistem modellemin bileşenleri: OSA (Object-Oriented System Analysis): Kısaca NYA diyebileceğimiz bu kısım nesne yönelik teknikleri kullanarak sistemin analizini içerir. OSS (Object-OIriented System Spesification): Formal şartların geliştirilmesinde kullanılan tekniktir. OSD (Object-Oriented System Design): OSA modellerini istenilen özelliklerde tasarım modellerine aktarılmasını içerir. OSI (Object-Oriented System İmplementation): OSD modellerinin uygulamaya dökülmesidir. OST (Object-oriented Systems Testing): Muhtemel hataları bulmak için yapılır. OSE: (Object-oriented Systems Evolution): Sistem bitirilip üretim aşamasına geçtikten sonra çalışmasının izlenmesidir. OSR (Object-oriented Systems Reverse Engineering): Bitirilmiş Sistemin tersine aşamalardan geçirilebilmesidir. NYA nın formal Temeli: Daha önce NYA nın temel kavramlarının sistem data ve davranış biçimi modellemenin formal tanımlarına dayandığını söylemiştim. Formal tanımlara dayanan modeller model güvenirliğinin testi ve analizin tamamlanabilirliğinde kolaylık sağlar. Formal modelleme istikrarlı bir yorumlama sağladığından analizcilere iyi bir iletişim ortamı kurabilir daha da ötesi analizciler dışındaki gruplarla da iyi bir iletişim ortamı geliştirebilir. Nesneye Yönelik Analiz Bileşenleri: Nesneye yönelik analiz bize gerçek dünyadaki herhangi problemi modelleme bize gerekli tüm öğeleri verir. Bir bütün olarak gözüken NYA aslında üç ana parçadan oluşur: ) Object-Relation Model(ORM) : ORM gerçek dünyanın tüm üyelerini sınıfları, nesneleri, nesneler ve sınıflar arası ilişkileri nesnelerin ve sınıfların tanımlarını göstermemize yarayan yoldur. 2) Object-Behaviour Model(OBM): OBM adından da anlaşılacağı gibi nesnelrin davranışlarını tanımlayan yoldur yani nesnenin mümkün durumları ve başka bir duruma nasıl ve neden geçeğini açıklar. 3) Object-İnteraction Model(OİM): OİM nesnelerin diğer nesnelerle olan etkileşimlerini tanımlayan yoldur. 6

7 Object-Relation Model: OSA nın statik kısmıdır. Nesnelerin hangi sınıflara ait olduğunu nesenler arası ilişkileri belirler. ORM sınıflar, nesneler, kısıtlar, ilişkiler, ilişki setleri ve açıklamalardan oluşur. ORM: ORM aşağıdakileri kapsar. -Nesneler -Nesne Sınıfları Leksikal Nesne Sınıfları İlişkisel Nesne Sınıfları Yüksek Seviye Nesne Sınıfları -İlişkiler -İlişki Setleri ve özel formları Genelleme /Özelleştirme Roller Toplamsallık Tümsellik -Kısıtlar Katılım Kısıtları Tekrarlanma Kısıtları Nesne-Sınıfı Kardinalite Kısıtları Özelleştirilmiş Nesne Sınıfları Genel Kısıtlar -Yüksek seviye ilişki setleri -Notlar Nesneler: Nesneler siyah noktalarla ifade edilir ve özeldirler. Özelden kasıt tek olmalarıdır tek bir şeyi ifade ederler genel bir tanım olamaz. Ahmet İstanbul 7:20 Yukarıdakilerin her biri nesnedir fakat aşağıdakiler değildir. İsim Yer Saat Buradaki örneklere sınıf deriz çünkü belirli nesleri belirmezler daha çok nesnelerin genel isimleridirler. Nesneler soyut veya somut olabilirler nesneleri üç ana gruba ayırabiliriz. Concrete Nesne: Canlılar, cansızlar, eşyalar, ağaçlar, binalar, insanlar, hatvanlar kısacası somut nesnelerin hepsidir. Conseptual Nesne: Tarih, yüzde, sözleşmeler, organizasyonlar gibi soyut nesnelere verilen addır. 7

8 Event and State Nesne: Sıcaklık derecesi, yağmur yağması, ürün satma gibi durumlar ve olaylara denir. Nesne Sınıfları: Nesne sınıfları dikdörtgenlerle ifade edilir. Nesne sınıfları ortak özellikleri olan nesne setlerine denir. Nesne sınıfı olmak için ORM nin belirlediği kısıtlara uyulması gerekir. Zamanla bir nesne bir kaç sınıfın üyesi olabilir buna sınıf göçü denir. Bir nesne sınıfı içindeki nesne sayısı nesne sınıfı kardinalite kısıtları tarafından belirlenir. Nesneler ilişki setleriyle birbirine bağlanabilir. İsim Balık Saat Lexical, ilişkisel ve yüksek seviye olmak üzere nesne sınıfları da alt bölümlere ayrılır. Lexical Nesne Sınıfları: Lexical sınıftaki nesneler gösterimleriyle birebir ifade edilebilirler çok genel değildirler. Örneğin renk sınıfı bu sınıfta sadece aklımıza renkler gelir ama bir taşıt sınıfı lexical değildir çünkü araç kara,hava,deniz taşıtı veya daha da çeşitlendirebileceğimiz alt sınıflara da ait olabilir. Genel sınıf gösterimiyle aynı gösterimdedirler fakat dikdörtgenler içine aynı anlama gelen birden fazla kelimeyi girebiliriz. Gösterimde kelimelerin arasına dikine çizgi koyarız ve noktalı dikdörtgenlerle belirtiriz lexical nesne sınıfını. Kent Şehir İl Renk Lexical nesne sınıfı diğer ilişki setleriyle etkileşebilir ve diğer normal nesne sınıflarının sahip olduğu katılım kısıtlarına sahiptir. Ayrıca kesikli diktörtgenin köşelerine yazılan kardinalite kısıtlarına sahiptirler. İlişkisel Sınıf: Bazen nesne sınıfıyla ilişki seti arasındaki fark hafif seçimseldir. Böyle bir durumda OSA bize bir ilişki setine bir nesne sınıfı gibi davranmamıza olanak verir. Bunlara ilişkisel nesne sınıfı denir. Satın Alma Hayvanat Bahçesi sürer 0:* Satın Alır Hayvan Var Var :* Alım Tarihi Fatura Nosu 8

9 Örneğin hayvanat bahçesi hayvan satın alır ilişki seti Satın Alma nesne sınıfı olarak kabul edilebilir. Nesne sınıfı Satın Alma, Satın alım tarihi ve Fatura Nosuna sahip olduğunu belirten vb. ilişkilere katılabilir. Yüksek Seviye Nesne Sınıfı: Yüksek sınıf ise diğer tüm ilişki sınıflarını, kısıtları, notları içerir ve içi taralı dikdörtgenler biçimde gösterilir. Yüksek seviye nesne sınıfları açık ve kapalı olmak üzere iki şekilde gösterilir. Açık gösterimde Yüksek-Seviye Nesne Sınıfının tamamıyla neler içerdiğini görebiliriz; kapalı gösterim bütün içeriği saklar. Aşağıda Telefon yüksek seviye nesne sınıfının açık gösterimi vardır ve Telefon priziyle ilişkisini aktarır. Telefon Telefon Prizi Takılır 0: 0: Bağlantı kablosu Takılır Sahip Sahip Baz Tuş Paneli Tuş 2 Sahip Takılır :* Tuş Etiketi Ahize Kablosu Takılır Ahize Bu aşağıdaki ise Telefon yüksek seviye nesne sınıfının kapalı formda gösterimidir. Telefon Prizi Telefon Bir ilişki setinin kapalı gösterimde yüksek seviyeli bir nesne sınıfına geçerken etiketsiz kesikli çizgiyle gösterildiğine dikkat edin. 9

10 İlişkiler: İlişkiler nesneler arasındaki mantısal bağlantıları gösterir. Örneğin: Ali fort ka kullanır cümlesindeki kullanır ilişkimizdir. ORM de ilişkiler çizgiyle gösterilir ve bir ad verilir. Ad genellikle ilşkiyi anlatan bir cümledir. İlişkinin adında bağladığı her iki nesnenin adınıda kapsamasına dikkat edilmelidir. Ali ford ka kullanır. Ali ford ka İkili İlişki İlişkinin bağladığı nesne sayısına göre ilişki çeşidi değişir. İki nesne bağlanırsa ikili üç nesne bağlanırsa üçlü dört bağlanırsa dörtlü vb. gider. Ali 5 Mayıs 997 den beri ford ka kullanır. Ali ford ka 5 Mayıs 997 Üçlü İlişki İlişki Setleri: olur. Bir ilişki setinde ise ilişkiler nesne sınıfları arasında kurulur ve gösterimi şu şekilde İnsanlar İnsanlar araç sahibi olur Araç Şekilden de görüldüğü üzere ilişki elmas şekliyle ifade edilir. Gerek ilişkilerde olsun gerek ilişki setlerinde ilişkiler bir tane olmak zorunda değildir. Birden çok nesne yada sınıf arasında ilişki kurulabilir. İkili ilişkilere binary, üçlülere ternary, dörtlülere quartary vs. denir. Yüksek seviye bir sınıf diğer tüm ilişki türlerini, kısıtları, sınıfları ve nesneleri içerir. Modeli basitleştirmeye yarar. İlişki setlerinin özel biçimleri vardır bunları özetlemek gerekirse: İs a ilişki setleri Generelazation/Specilazation tipidir. is part of ilişki setleri Aggregation tipidir is member of ilişki setleri Association tipidir. 0

11 Genelleme: Genelleştirme/Özelleştirme is a ilişki setini belirtir ve nesneye yönelik programlamanın temellerindendir. Genelleştirme/özelleştirmedeki ana fikir bir nesne sınıfının (özelleştirme) bir diğerinin altsınıfı olmasıdır. (genelleştirme) ORM de genelleme/özelleştirme bi uçu genellemeye giden ve karşı tabanı da özelleştirmeye giden saydam bir üçgen ile belirtilir. İs a ilişki seti açıkça yazılmaz çünkü ilişki saydam üçgende kapsanmıştır. İs a ilişkisinin yönü özelleştirmeden genelleştirmeye doğrudur. Aşağıdaki örnekte taşıt bir genellemedir ve uçak ise,uçağın özel bir tür taşıt olduğunu ifade eden, özelleştirmedir. Uçak nesne sınıfındaki her nesne taşıt nesne sınıfınında bir üyesi olduğundan uçak sınıfı taşıt sınıfının alt kümesidir denir. Başka bir deyişle taşıt uçağın, genellemesi ve uçakta taşıtın özelleştirmesidir. Taşıt Uçak Diyagramda hiçbir katılım kısıdının olmadığı fark edilebilir; çoğu zaman bunlar güvenle göz ardı edilebilir. Özelleştirmede, özelleştirme nesne sınıfındaki her nesne genelleme nesne sınıfında da olduğundan,her zaman katılım kısıdı : dir. Bu durumda her uçak bir taşıttır. Genellemede iki olanak vardır. En çok kullanılanı 0: dir. Diğer olasılık ise genelleme sınıfındaki nesne setlerinin her zaman özelleştirme sınıfındakilerle aynı olmasıdır. Bu durumda katılım kısıtı : dir. Unutmamalıdır ki modellenen sistemin katılım kısıtları genelde tüm dünya için geçerli değildir. Örneğin eğer modellediğimiz sadece uçaklarla ilgilenen bir bilgisayar sistemiyse : katılım kısıtı uygun olacaktır. Buna rağmen gerçek dünyada bütün taşıtlar uçak değildir fakat bu sistemde bütün taşıtlar uçaktır. Çoklu Genelleme/Özelleştirmeler Bir nesne sınıfı birden fazla nesne ile is a ilişkisine sahip olabilir. Bu durum ORM de şeffaf üçgenin tabanından özelleşen nesne sınıflarına ve genelemedeki nesne sınıfına giden köşeden çizgi çekerek belirtilir. Aşağıdaki örnekte Bakıcı nesne sınıfının birçok özelleştirmesi vardır. Bu ilişki seti Eğitmen bir bakıcıdır ve besleyici bir bakıcıdır ve veteriner bir bakıcıdır. şeklinde okunur. Bakıcı Eğitmen Besleyici Veteriner

12 Buradaki örnek ise bir özelleştirme için çoklu genellemeleri temsil eder. At Eşek Çok sık meydana geldiklerinden daha önceden tanımlı dört tip özelleştirme kısıtı vardır: -Birleşim (Union) -Ortak hariç tutma (Mutual exclusion) -Bölüşüm (Partition, Hem union hem mutual exclusion ) -Kesişim (İntersection) Diyagram bu tiplerden hiç birine sahip olmadığı sürece özelleştirme sınıflarının sayısında hiç bir kısıtlama olmaz. Bu örnekte bir çalışan bir eğitmen olabileceği gibi besleyici de olabilir. Başka bir çalışan eğitmen, Besleyici ve tur rehberi olabilir. Bir çalışan herhangi bir özelleştirmenin sahibi olmayabilir. Bir yönetici bir çalışan olabilir fakat bu diyagram üzerinde hiç bir özelleştirme sınıfına dahil değildir. Miras nesneye yönelik programlamanın temel elemanlarından olduğundan bu özellik OSA da tam olarak desteklenmiştir. Özünde özelleştirme nesne sınıfları ilişki setlerini miras olarak alır ve genelleme nesne sınıflarından gelen, davranışları ve kesişimleride kapsayan, diğer tüm ortak özellikleri de miras olarak alır. Roller: Bir rol ilişkiye katılan tüm nesnelere özel bir isim veren ilşki setinin yanına yazılan bir etikettir. Bir rol ORM de ilişki setinde uygulandığı nesne sınıfının yanına yazılarak belirtilir. Hayvan Katır :* Ebeveyn Hayvan Çocuğu var 2 Bebek Hayvan 2

13 Bir rol genelleme /özelleştirme ilişkisini modellemenin kısa yoludur.. Yukarıdaki örnek aşağıdaki gibide modellenebilirdi. Hayvan Ebeveyn Hayvan :* Çocuğu var 2 Bebek Hayvan Rolü içeren ilişki normal katılım kısıtlarına sahiptir. Toplamsallık (Aggregation): Toplamsallık ilişki setinin is a part of veya subpart of bölümünü temsil eder. Bu toplamsallık sınıfındaki herhangi nesnenin, alt sınıflardaki diğer nesnelerden oluştuğunu gösterir. Örneğin Toplamsal sınıf bina, temel, ilk kat, ikinci kat gibi alt sınıflara bölünebilir. Toplamsallık ilişki seti ORM de köşelerinden birinden toplamsallık sınıfına giden ve karşıt tabanda her biri alt sınıflara giden çizgilerden oluşan içi dolu bir üçgenle temsil edilir. Örneğin : Bina Temel İlk Kat İkinci Kat 3

14 Bu ilişki seti Temel binanın alt sınıfıdır ve ilk kat binanın bir alt sınıfıdır ve ikinci kat binanın alt sınıfıdır. diye okunur. Toplamsallık ilişki seti katılım kısıtlarına sahiptir. Her bir alt sınıfın yanındaki kısıt toplamsallık sınıfında her bir alt sınıftaki nesneyle kaç tane ilişkili olabileceğini belirtir. Kısıtlar: Kısıtlar olmadan da bir sistem diğer bileşenlerle geliştirilebilir. Kısıtların amacı sistemin çalışmasını daha tatminkar hale getirmektir. Örneğin İnsanlar Yaş>=8 kullanır Araç İnsanlar için araç kullanma yaşı 8 ve üstü belirtilmesi bir kısıttır. Kısıtlarında çeşitleri vardır. Kardinalite kısıtı :Sınıftaki neslerin sayılarıyla ilgili kısıttır. Katılım (participatiant) ve ön görünüm (Co-occurance) kısıtları ilişkilerle ilgi kısıtlardır. Genel kısıtlar: Diğer kısıt türleri buna girer. Notlar: Semantik dizilimde bir anlamları yoktur sadece okuyucuya açıklayıcı bilgi vermek amacıyla italik harflerle yazılır. Object Behaviour Model: OSM nin,sistem içindeki nesnelerin davranışını açıklaya yönelik bölümüdür. OBM nin üç ana bileşeni vardır: i) Nesnelerin varoluşlarından doğan durumlar. ii) Nesnelerin bir durumdan bir başkasına geçmesine neden olan şartlar. iii) Geçişlerde ve durumlarda nesnenin yaptığı hareketler. OBM bileşenleri: OBM bileşenlerinden ilki olan nesnelerin durumlarına kısa bir gözatalım. Durumlar (States) nesnelerin pozisyonlarını, hareketlerini, evrelerini kısacası bulundukları hali tarif eder. Durumları belirlemek için belirli bir yol olmamasına rağmen nesnelerin durum hallerini çıkarabiliriz. Örneğin Ali okula arabayla gidiyor. cümlesinde durumlar için gitme işi bir durumdur çünkü bir yapılan bir hareketi belirtir. Aynı şekilde Ali nin pozisyonu için arabada diyebiliriz bu da bir durumdur yada başka bir düşünceyle okula arabayla gitme işinin bir faz olarak alınabilir işte bu yüzdendir ki durumları belirtmek biraz sezgiseldir. Durumların gösterimi kenarları yuvarlatılmış dikdörtgen şeklindedir. 4

15 Durum İsmi Durumların olumlu ve olumsuz olmak şeklinde iki halleri vardır. Bu haller kapalı açık, hazır hazır değil gibi düşünülebilir. Daha düşük seviyedeki durumlar, geçişler, kısıtlar ve notların bileşiminden oluşan durumlara yüksek seviyeli durumlar denir. Genel akışda bir durumdan diğerine geçerken biri aktif yapılırken diğeri inaktif yapılır ama istisnalarda mevcuttur. Üç tür akış istisnası mevcuttur; çoklu threatler (multiple threats ), önceki durum birleşimleri (Prior state conjuction ), sonraki durum birleşimleri ( Subsequant state conjuctions ). Kısaca bu üç öğeden bahsedelim. Threadler yürütme veya kontrol akışına verilen addır. Çok threatlerde bir nesne bir durumdan diğerine geçerken bir durumu bitirmek zorunda değildir. Bunun karşılığı günlük hayatta iki işi aynı anda yapmak olabilir. Örneğin: ADAM Koltukta oturmak Televizyon izlemek Açıktı Yemek yemek Eğlence istedi Bu akıştan da anlaşılacağı gibi koltukta oturma durumundan yemek yeme durumuna geçmek için ilk durumu bitirmek zorunda değiliz koltukta otururken yemeğimizi de yiyebiliriz. Yemek yeme durumundan bizi televizyon izleme durumuna geçiren eğlence geçiş buna tetik diyebiliriz. Aynı şekilde yemek yerken televizyonda izleyebiliriz. Akışta görülen sonu yarım daire biçiminde oklar durum geçişlerinde çoklu durum threadlarını işaret eder ve önceki durumun bitmediğini ifade eder. İkinci akış istisnası olan önceki durum birleşimleri ise bir geçişin gerçekleşebilmesi için bir kaç ön durumun oluşması gereken durumlardır. Ödev çalışıyor Haberler saati geldi Haberleri izleme Yıkanıyor Bu gibi bir durum önceki durum birleşimine istisnasına örnektir. Bu akıştan da görüldüğü üzere önceki iki durum bitirildikten sonra haber saati geçişiyle bir başka duruma geçebiliriz buna bir nevi ön koşul diyebiliriz. 5

16 Son akış istisnası ise sonraki durum birleşenleri de adından anlaşılacağı üzere bittiği zaman birden fazla durumu aktif hale getiren durumlara verilen isimdir. Yemek yiyor. Haberleri izleme Haberler saati bitti. Müzik dinliyor. Uyuyor. Haberlerin bitmesi yemek yeme, müzik dinleme ve uyuma gibi üç farklı duruma geçişi sağlamış. Geçişler(Transitions): Nesneye yönelik sistem analizinde nesneler geçişler üzerinden durum değiştirirler. Gösterimi ikiye bölünmüş dikdörtgen şeklindedir. İlk kısma triger yani tetik denir burası durum değiştirmenin başlaması için gerekli koşulu barındırır. Alt kısım ise tetik sonucu verilen tepkinin açıklamasını içerir. Tetik (triger) şartları ve olayları içeren mantıksal kısımdır ve olaylar sembolünü taşırlar. Hareket (action) kısmı ise bir alt duruma geçemeden önceki yapılacak hareketleri içermelidir. Durumlardan farklı olarak hareketler bitmelidir. Geçiş simgesinin sol üst köşesinde geçiş belirteci vardır bu sadece geçişin ismini belirtir ve braketler içine yazılır. İlk geçişin önceki durumu yoktur ve her zaman aktiftir. Son geçişin ise hiçbir sonraki durumu yoktur ve kendinden önceki tüm durumları bitirir. Daha aşağı seviyedeki durum, not ve kısıtlardan oluşan geçişlere yüksek seviyeli geçişler denir. Tipik bir geçişin gösterimi aşağıdadır. [Belirteç] Triger açıklaması Action açıklaması İlk Geçişler (İnitial Transitions): Dükkan [0] Açılış Zamanı Kapıyı aç Açılış İlk geçiş şekli 6

17 İlk geçişler ilk durumları harekete geçirir önceki durumları yoktur ve her zaman hazır haldedir. Bitmiş durumlar ağının ilk başlangıdır ve her ne zaman tetiklenirse ilk geçiş başlar. İlk geçiş ateşlendikten sonra ilk durum veya durumlar aktifleşir. Bir çok durumda ilk geçişler durum ağının başlangıçıdır bu bazı oluşum olaylarının olduğunu gösterir yani bir nesne veya nesneler sistemde gözükmeye başlar (Böylece ilk değerlerini alabilirler). Buna genelde tetik denir sembolüyle gösterilir. Müşteri içeri girer Raflara gider Bir şeyler Arama [] İstrediğini bulur Raftan alır [3] Cıkış yapılır Ödeme [2] Başka şeylere ihtiyaçı var veya yok Parası yeter mi bakar İlk geçiş için şekil Bazen ilk durum aksiyonu boş olabilir böyle bir durumda ilk durumu düşey düz bir çizgiyle belirtiririz. Yürüme Son Geçişler: İlk geçişin kısa gösterimi Son geçiş hiç bir alt duruma birleşimi olmayan geçişlere Parola Sor Çıkışı Onayla 7

18 Son durumlarda da ilk durumlarda oldoğu gibi eğer geçişin aksiyon kısmı boşsa kısa olarak Düşey düz çizgiyle belirtilir. oldu Öğrenci Aşağıdaki veteriner nesne sınıfında iki durum arasındaki geçişi aşağıda daha iyi görebiliriz burada dikkat edilmesi gereken şey Action kısmındaki hareketlerin bitmeden diğer duruma geçişin sağlanmamasıdır. VETERİNER hasta hayvan getirilir ekipmanları alır temizlenir maskesini takar Hasta hayvana bakar Burada geçiş anlık değildir bunu geçiş zamanlama diyagramından daha iyi anlarız. Hasta hayvan t anında getirilmiştir ama veteriner müsait olmasına rağmen t2 anına kadar harekete geçmemiştir bu geçikme gri kutuyla gösterilmiştir t2 ve t3 anları arasında ekipmanlarını almış temizlenmiş ve maskesini takmıştır. Tüm bu aşamalardan sonra alt duruma geçebilmiş ve hasta hayvanın tedavisine başlamıştır. Müsait durumda Geçiş Durumunda Hasta Hayvana Müdahale Durumunda Ekipmanları alır Temizlenir Maskesini takar t t2 t3 8

19 Burada tetik şartlar ve olaylara biraz daha değinelim. Tetikler genelde sistem şartlarını ve olaylarını tarif eden mantıksal cümlelerdir. Bir geçişin trigeri gerçekleştiğinde True (doğru) olur ve geçiş başlar. Koşulara bağlı tetiklerle olaylara bağlı tetikler arasındaki önemli ayrımın yapılması gerekir. Koşullar sistemin durumu nesnenin durumu veya varlığı veya nesneler arasındaki ilişkilerin varlığı hakkındaki mantıksal ifadelerdir. Koşulara örnek vermek gerekirse hesap TL altında müşterinin kredi kartı var. Koşullara bağlı tetiklerde koşulun doğru olduğu herhangi bir anda geçiş başlayabilir. Koşul doğru olduğunda geçiş başlayacaktır ve tetik hangisinin daha önce olduğuna bakmadan ateşlenecektir. Bu ilk örnekte ilk önce geçiş doğru olur daha sonra koşul sağlanır ve geçiş başlar. Geçiş doğru Koşul doğru Geçiş Başlar İkinci örnekte ise ilk önce koşul doğrulanmıştır fakat geçiş doğrulanmasına kadar geçiş başlamamıştır. Koşul doğru Geçiş doğru Geçiş Başlar Bu örnekte ise geçişin geçerliliğini kaybettikten son koşulun sağlanmasıyla geçişin başlamayacağını gösterir. Geçiş doğru Koşul doğru Olaylar: Olaylar nesnelerin veya ilişkilerin oluşturulmasını silinmesini aktivetin başlatılmasını bitirilmesini ve mesajların diğer nesneler tarafından kabulünü içeren sistem değişiklerine verilen addır. 9

20 Çalışan kovulur. Müşteri bir hesap açar. Olaya dayalı tetik sadece geçiş doğrulandığında belirli bir anda koşul sağlanırsa ateşlenir.bu tip geçiş başlatan olay tetiklerine olay monitorleri adı verilir ve işaretiyle belirtilir. Olay Olur Geçiş olur Geçiş ateşlenir Olay geçişten önce veya sonra olursa geçiş ateşlenmez. Olay Olur Olay Olur Geçiş olur Geçiş Hiç bir Zaman Başlamaz İstisnalar ( Exceptions): İstisnalar ( Exceptions) normal sistem akışında yeri olmayan olay veya şartlardır. Bunu akış istisnasıyla karıştırmamak lazımdır. Akış istisnası durumlarını sistem içinde normal karşılanır fakat istisnalar bu istisnayi hali belirtmek için içinde dikine çizgi bulunan okla belirtilir. İstisnaları daha iyi açıklamak için bir örnek verelim. Elimizde dışarı çıkmayı sevmeyen bir adamımız olsun. ADAM Televizyon izle Koltukta oturuyor Sıkıldı Kitap oku Müzik dinle Dışarı çık 20

21 Dışarı çıkma hali adamımız için bir istisna olacağından bu bir istisna (exception) olarak kabul edilir ve durum ağında birden fazla istisna mümkündür. Threadler: Threadler yapılışın veya kontrolün akışıdır. Bir nesne bir anda birden çok durumda veya geçişte olabilir böyle bir durum çoklu threadlerin ortaya çıkmasıyla sonuçlanır. OBM de bir durumdan geçiş yapılmışsa bile geçişin yapıldığı durum halen var olabilir. Bu durum bir ucunda yarım halka bulunan ok ile belirtilir. Koşuyor ) Walkman i açtı Müzik dinliyor Burada görüldüğü gibi koşucu hala koşuyor olabilir ve aynı andada walkmani açıp müzik dinleyebilir Bu durumda başka bir thread başlatılmış ve koşucu birden fazla durumdadır. Çoklu threadlar geçiş bittiğinde birden fazla duruma gidildiğinde de ortaya çıkar ayrıntılar için aşağıdaki örneği inceliyelim. Motor kapalı Kontağı çevirdi Motor çalışıyor Elektrik geldi Eksoz Dumanı başladı Koşuyor Walkman i açtı Koşucu Yoruldu Müzik Dinliyor Dinleniyor Walkmani Kapatıldı Piller bitti 2

22 Bu örnekte koşucu koşmayı bırakmış ve hala müzik dinliyor olabilir. Bir insan varlığının bitmesi için son geçişe gelinmesi ve ya bir istisna tarafından bitirilmesi gerekir. Threadler bir çok yolla birleştirilebilir. Aşağıdaki örnek bir insanın sinema içinde durumunda iken bir threadle pop-corn alma durumuna geçişinini ve tekrar threadları tekrar sinema içinde durumunda birleştirilmesini anlatır. Var olan temel bir duruma geçiş olduğunda bağlanan thread yok olur ve durum kalır. Burada, sinema içinde temel durumundan pop-corn alma durumuna tekrar bağlanmasında görebiliriz. Film saati Sinema içi Açıktı Film bitti Pop-corn aldı Pop-corn alma Sinema dışı Buradaki örnek tetiği film bitti olan geçişin aksiyonunu hazır olduğunda binayı terket veya Pop-corn alma durumu bitmeden sinema dışı durumuna geçişi engelleyen herhangi bir aksiyon olarak kabul eder. Bu halde thread sinema içinde durumunda hapsedilmiştir. Threadlerin birleştiği bir başka durum ise bir geçişin başlaması için birden çok durumun gerektiği durumlardır. Aşağıdaki örnekte bunu görebiliriz. Dükkan içinde Para var Para kadar yiyecek aldındı Kasada 22

23 Aldıklarının parası verildi Dükkan dışında KISITLAR: Kısıtlar da ORM de olduğu gibidir. Ortaya çıkabilecek hatalı durumları engellemek için konur. Karar verilmemiş ve kararsız durumlar için genel bir çözüm yolu gösterir. Örnek olarak üsteki örnekte sıkılan adam her seferinde televizyon izleyebilir. Bu soruna her seferinde tüm durumları günde en az bir kere yapması koşulunu koyarak aşabiliriz. Fakat gene unutmamalıdır ki adamımız dışarı çıkmayı sevmediğinden bunu bir notla belirtebiliriz. ADAM Televizyon izle Koltukta oturuyor Sıkıldı Kitap oku Müzik dinle Gerçek Zamanlı Kısıtlar: Sıkça Sıkıldığında Belirli olayların her durumu bir günde nesne en az tarafından bir kere yapmalıdır. veya bir nesne üzerinde yapıldığını Dışarı göstermek çık Dışarı çıkma birden fazla seçmemekte fayda vardır. isteriz. Bunlara gerçek zamanlı kısıtlar denir. Bu kısıtlar tipik olarak ilk durumlar ağı tamamlandıktan sonra modele eklenir ve durum ağ diyagramında {} süslü parantezler arasında text olarak gösterilir. Gerçek zaman kısıtları bütün bir geçişşe, bir tetiğe, bir aksiyona, bir duruma veya yol işaretçilerine uygulanabiilir. Şekil birde bütün bir geçişe uygulanan gerçek zamanlı kısıtı görebiliriz. Bu şekil aslan terbiyecisinin boş durumundan aslanı arama durumuna geçişinin 5 dakikadan daha uzun süremeyeceğini gösterir. Aslan Terbiyecisi aslan kaçar { < 5 Dakika } organize arama grubu Aslanı ara Şekil Bütün geçişe uygulanmış Gerçek Zaman Kısıtı 23

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ı

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ı

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

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ı

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ı

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ı

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ı

Nesne Tabanlı Programlama. Ders Notları

Nesne Tabanlı Programlama. Ders Notları Nesne Tabanlı Programlama Ders Notları Nesneye tabanlı programlamanın temellerini kavrayabilme Java temelleri ve Netbeans editörünü kavrayabilme Sınıf ve nesne kavramlarını anlayabilme Kalıtım konusunu

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

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ı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

sayıların kümesi N 1 = { 2i-1: i N } ve tüm çift doğal sayıların kümesi N 2 = { 2i: i N } şeklinde gösterilebilecektir. Hiç elemanı olmayan kümeye

sayıların kümesi N 1 = { 2i-1: i N } ve tüm çift doğal sayıların kümesi N 2 = { 2i: i N } şeklinde gösterilebilecektir. Hiç elemanı olmayan kümeye KÜME AİLELERİ GİRİŞ Bu bölümde, bir çoğu daha önceden bilinen incelememiz için gerekli olan bilgileri vereceğiz. İlerde konular işlenirken karşımıza çıkacak kavram ve bilgileri bize yetecek kadarı ile

Detaylı

Küme Temel Kavramları

Küme Temel Kavramları Kümeler Kümeler Küme, matematiksel anlamda tanımsız bir kavramdır. Bu kavram "nesneler topluluğu veya yığını" olarak yorumlanabilir. Bu tanımdaki "nesne" soyut ya da somut bir şeydir; fakat her ne olursa

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ı

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ı

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ı

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ı

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ı

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 KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM KAVRAMINA BİR BAKIŞ Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM ve DONANIM Bilgisayar kavramı, donanım ve yazılım olmak üzere iki ana bileşenden oluşuyor. Elektronik, mekanik

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 Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Evren Yazılım Donanım Mühendislik Bilgisayar İthalat İhracat Turizm Tic. San. Ltd. Şti. Saray Mah. Huriler Sok. Demirağa Apt. No:23/B Alanya/Antalya

Evren Yazılım Donanım Mühendislik Bilgisayar İthalat İhracat Turizm Tic. San. Ltd. Şti. Saray Mah. Huriler Sok. Demirağa Apt. No:23/B Alanya/Antalya Evren Yazılım Donanım Mühendislik Bilgisayar İthalat İhracat Turizm Tic. San. Ltd. Şti. Saray Mah. Huriler Sok. Demirağa Apt. No:23/B Alanya/Antalya * RestPro ve RestPro logosu Evren Yazılım Ltd. Şti nin

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ı

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ı

END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ

END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ END3061 SİSTEM STEM ANALİZİ VE MÜHENDİSLİĞİ BİLİŞİM M SİSTEMLERS STEMLERİ GİRİŞİŞ Bir sistem analizcisinin ana misyonu, kullanıcıların fiziksel gereksinimlerini açımlamak ve bunları yazılıma dönüştürmektir.

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 - 7 Abstract (Soyut Sınıflar) Bu bölümde;

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

2018 YENİ YIL İŞLEMLERİ

2018 YENİ YIL İŞLEMLERİ 2018 YENİ YIL İŞLEMLERİ YENİ YIL AÇMA İŞLEMLERİ Merhaba Değerli Evrim yazılım kullanıcıları; Her yıl genel muhasebe kullanıcılarının zorunlu olarak yapmış olduğu yeni yıl işlemlerini isteğe bağlı olarak

Detaylı

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 Akış Diyagramları ve Sözde Kodlar Yük. Müh. Köksal GÜNDOĞDU 2 Sözde Kodlar (pseudo-code) Yük. Müh. Köksal GÜNDOĞDU 3 Sözde Kod Sözde

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

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ı

B.Ç. / E.B. MİKROİŞLEMCİLER

B.Ç. / E.B. MİKROİŞLEMCİLER 1 MİKROİŞLEMCİLER RESET Girişi ve DEVRESİ Program herhangi bir nedenle kilitlenirse ya da program yeniden (baştan) çalıştırılmak istenirse dışarıdan PIC i reset yapmak gerekir. Aslında PIC in içinde besleme

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ı

EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı

EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı Dr. Dilek Küçük Veri Tabanı Tasarımı Kavramsal Veritabanı Tasarımı Gereksinim analizi adımında edinilen bilgilerle, verinin kısıtlamalarıyla

Detaylı

İş Akış Yönetimi LOGO KASIM 2011

İş Akış Yönetimi LOGO KASIM 2011 İş Akış Yönetimi LOGO KASIM 2011 içindekiler İş Akış Yönetimi...3 İş Akış Rol Tanımları...4 İş Akış Rol Tanımı...5 Sicil İş Akış Rol Tanımları...6 İş Akış Rol Tanımı...7 İş Akış Kartları...8 İş Akışı...9

Detaylı

PERFORMANS YÖNETĐMĐ. Hedefe Odaklı Çalışma ve Yetkinlik Yönetimi.

PERFORMANS YÖNETĐMĐ. Hedefe Odaklı Çalışma ve Yetkinlik Yönetimi. PERFORMANS YÖNETĐMĐ Kurumların yapısına uygun performans yönetimi sistemini esnek yapı sayesinde Đnsan Kaynakları uygulaması içinde tanımlayarak takip edebilme Performans kayıtlarını yöneticilere e-posta

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ı

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ı

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ı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

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ı

KÜMELER 05/12/2011 0

KÜMELER 05/12/2011 0 KÜMELER 05/12/2011 0 KÜME NEDİR?... 2 KÜMELERİN ÖZELLİKLERİ... 2 KÜMELERİN GÖSTERİLİŞİ... 2 EŞİT KÜME, DENK KÜME... 3 EŞİT OLMAYAN (FARKLI) KÜMELER... 3 BOŞ KÜME... 3 ALT KÜME - ÖZALT KÜME... 4 KÜMELERDE

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

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ı

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1 2 İlişkisel Veritabanı Tasarımı Veritabanı 1 Veritabanı Tasarımı Tasarım yapılırken izlenecek adımlar; Oluşturulacak sistemin nelerden oluşması gerektiği ve hangi işlemlerin hangi aşamalarda yapıldığı

Detaylı

2 Temel Kavramlar (Devam) Veritabanı 1

2 Temel Kavramlar (Devam) Veritabanı 1 2 Temel Kavramlar (Devam) Veritabanı 1 Veritabanı Kullanıcıları Veritabanı Yöneticisi (DBA-Database Administrator) Tasarım,oluşturma ve işletiminden sorumludur. Görevleri; Tasarımı Performans Analizi Erişim

Detaylı

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

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Nesne Yönelimli Programlama BİM-222 2/II 1+0+2 2 3 Dersin Dili

Detaylı

BENZETİM. Prof.Dr.Berna Dengiz

BENZETİM. Prof.Dr.Berna Dengiz Prof.Dr.Berna Dengiz 2. Ders Sistemin Performans.. Ölçütleri Sistem Türleri Benzetim Modelleri Statik veya Dinamik Deterministik ( belirli ) & Stokastik ( olasılıklı) Kesikli & Sürekli Sistemin Performans

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ı

KLASİK FRAKTALLAR FRAKTAL ÖZELLİKLERİ VE BOYUT

KLASİK FRAKTALLAR FRAKTAL ÖZELLİKLERİ VE BOYUT KLASİK FRAKTALLAR FRAKTAL ÖZELLİKLERİ VE BOYUT.. KENDİNE BENZERLİK VE AFİNİTE Fraktal özelliklerinden bir diğeri de kendine benzerlikdir. Geometrik açıdan, aynı şekle sahip olan geometrik şekiller birbirine

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İçerik Dosya Organizasyonu (File Organization) Veritabanı Sistemleri (Database Systems) BM307 Dosya Organizasyonu (File Organization) İçerik Dosya

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir. İşaretli Tamsayı Gösterimi 1. İşaretli Büyüklük Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir. Örnek

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

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ı

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

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

Detaylı

Öğr. Gör. Ümit ATİLA

Öğr. Gör. Ümit ATİLA Öğr. Gör. Ümit ATİLA Internette her bilgisayarın bir IP (ınternet protokol) adresi vardır. Bir bilgisayarın IP adresi varsa internet üzerindeki tüm bilgisayarlar bu adresi kolayca bulabilir. Ancak bu rakamları

Detaylı

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ASP.NET TEMELLERİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu İnternet Nasıl Çalışır? Sunucu istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan

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ı

Bilgisayar Programı Nedir?

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

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM AUTOCAD DERSİ. 1. HAFTA 27.09.2012 Öğr. Gör. Serkan ÖREN

BİLGİSAYAR DESTEKLİ TASARIM AUTOCAD DERSİ. 1. HAFTA 27.09.2012 Öğr. Gör. Serkan ÖREN BİLGİSAYAR DESTEKLİ TASARIM AUTOCAD DERSİ 1. HAFTA 1 AutoCAD, tüm dünyada başta mühendisler ve mimarlar tarafından kullanılan, dünyaca tanınan yazılım firması Autodesktarafından hazırlanan, bilgisayar

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

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

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

Detaylı

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ı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI V. Ünite VERİ TABANI UYGULAMALARI A. BAŞLANGIÇ B. BİR VERİ TABANI YARATMA C. FORMLARIN KULLANIMI D. BİLGİYE ERİŞİM E. RAPORLAMA 127 A BAŞLANGIÇ Konuya Hazırlık 1. Veri tabanı programları hangi amaç için

Detaylı

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

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

Detaylı

BULANIK MANTIK VE SİSTEMLERİ 2014 2015 BAHAR DÖNEMİ ÖDEV 1. Müslüm ÖZTÜRK 148164001004 Bilişim Teknolojileri Mühendisliği ABD Doktora Programı

BULANIK MANTIK VE SİSTEMLERİ 2014 2015 BAHAR DÖNEMİ ÖDEV 1. Müslüm ÖZTÜRK 148164001004 Bilişim Teknolojileri Mühendisliği ABD Doktora Programı BULANIK MANTIK VE SİSTEMLERİ 2014 2015 BAHAR DÖNEMİ ÖDEV 1 Müslüm ÖZTÜRK 148164001004 Bilişim Teknolojileri Mühendisliği ABD Doktora Programı Mart 2015 0 SORU 1) Bulanık Küme nedir? Bulanık Kümenin (fuzzy

Detaylı

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi arvento Araç Takip ve Filo Yönetim Sistemleri ile araçlarınızı 7 gün 24 saat on-line ve geçmişe yönelik olarak izleyebilir, hızlarını, izlemiş oldukları güzergahı, duraklama yaptıkları yerleri uzaktan

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

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ı

KURULUM ve KULLANIM KILAVUZU

KURULUM ve KULLANIM KILAVUZU ISITMA/SOĞUTMA OTOMASYON SİSTEMLERİ KURULUM ve KULLANIM KILAVUZU MODEL NO.: TH2006 TH2006RF RV0356 DİKKAT : Cihazı kullanmadan önce bu kılavuzu okuyun ve daha sonra gerekli durumlarda kullanmak üzere muhafaza

Detaylı

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli Veritabanı Tasarımı Ve Yönetimi Varlık-İlişki Modeli Veritabanı Tasarım Aşamaları Gereksinim Analizi Kavramsal Tasarım Mantıksal Tasarım İlişkilerin Normalizasyonu Veritabanı Uyarlaması Uygulama Programı

Detaylı

2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI 2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI Bilgi BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ (BTY) Türkiye de orta eğitimde bilgisayar eğitimi,

Detaylı

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem 3.3. İki Tabanlı Sayı Sisteminde Dört İşlem A + B = 2 0 2 1 (Elde) A * B = Sonuç A B = 2 0 2 1 (Borç) A / B = Sonuç 0 + 0 = 0 0 0 * 0 = 0 0 0 = 0 0 0 / 0 = 0 0 + 1 = 1 0 0 * 1 = 0 0 1 = 1 1 0 / 1 = 0 1

Detaylı

Mantıksal İşlemler. 7.1 true, false, nil

Mantıksal İşlemler. 7.1 true, false, nil 7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve

Detaylı

OYUN GELİŞTİRME AŞAMALARI-I

OYUN GELİŞTİRME AŞAMALARI-I OYUN GELİŞTİRME AŞAMALARI-I Oyununuzun senaryosunu kısaca tanıtınız/ amacını da belirtiniz: Oyunum 4 elementle başlayıp elementlerin birbiri ile etkileşime girmesi sonucu element sayısı çoğalacak; Böylelikle

Detaylı

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA 1 İçindekiler Bilgisayarların Çalışma Prensibi Sayı Sistemleri Programlama Dilleri 2 BİLGİSAYARLARIN ÇALIŞMA PRENSİBİ Bilgisayar

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ı

VEKTÖR UZAYLARI 1.GİRİŞ

VEKTÖR UZAYLARI 1.GİRİŞ 1.GİRİŞ Bu bölüm lineer cebirin temelindeki cebirsel yapıya, sonlu boyutlu vektör uzayına giriş yapmaktadır. Bir vektör uzayının tanımı, elemanları skalar olarak adlandırılan herhangi bir cisim içerir.

Detaylı

AÖF İLAHİYAT ÖNLİSANS PROGRAMI 1. KİTAP ÜNİTE 1. Okuma Parçası. Tercüme

AÖF İLAHİYAT ÖNLİSANS PROGRAMI 1. KİTAP ÜNİTE 1. Okuma Parçası. Tercüme AÖF İLAHİYAT ÖNLİSANS PROGRAMI 1. KİTAP ÜNİTE 1 الجملة CÜMLE Okuma Parçası :.... Tercüme Okul Okul büyüktür. Bahçesi geniştir. Okulun kapıları yüksektir. Sınıfları çoktur. Öğrenciler okula sabah girerler

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

Mantıksal Operatörlerin Semantiği (Anlambilimi)

Mantıksal Operatörlerin Semantiği (Anlambilimi) Mantıksal Operatörlerin Semantiği (Anlambilimi) Şimdi bu beş mantıksal operatörün nasıl yorumlanması gerektiğine (semantiğine) ilişkin kesin ve net kuralları belirleyeceğiz. Bir deyimin semantiği (anlambilimi),

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol

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ı

BARKOD SİSTEMİ (Çizgi İm)

BARKOD SİSTEMİ (Çizgi İm) BARKOD SİSTEMİ (Çizgi İm) Hepimiz günde en az bir kere ihtiyacımız olan herhangi bir ürünü almak için bakkala veya markete gideriz. Aldığımız her ürünün üzerinde değişik kalınlıktaki çizgilerden oluşan

Detaylı

UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER

UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER e-fatura UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER UBL (Universal Business Language) UBL, iş dünyasının evrensel ölçekte birlikte iş yapabilirlik ihtiyacını gidermek amacıyla doğmuş bir yapıdır. Bu

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ı

İNTERNET PROGRAMCILIĞI 2 10. HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

İNTERNET PROGRAMCILIĞI 2 10. HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir. İNTERNET PROGRAMCILIĞI 2 10. HAFTA İçindekiler MYSQL - PHPMYADMIN Mysql Nedir PhpMyAdmin Nedir PhpMyAdmin Arayüzü Hedefler Mysql' in görevini söyleyebilir PhpMyAdmin' in kullanım amacını söyler Hazırlayan

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ı

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ı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Celal Çeken Veysel Harun Şahin Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Konular Veritabanı Tasarımı Yaşam Döngüsü Veri Modeli Nedir? Veri Modeli Temel Bileşenleri

Detaylı

Giriş Çıkış Birimleri:

Giriş Çıkış Birimleri: DONANIM VE YAZILIM Giriş Çıkış Birimleri: Bilgisayara dış ortamdan bilgi girilmesini sağlayan ve girilen bu bilgilerin bilgisayar tarafından işlendikten sonra, tekrar dış ortama çıkarılması için kullanılan

Detaylı

Hazırlayan: Cihan Aygül BT Rehber ÖĞRETMENİ

Hazırlayan: Cihan Aygül BT Rehber ÖĞRETMENİ Hazırlayan: Cihan Aygül BT Rehber ÖĞRETMENİ 1 Düşünelim? * Bilişim teknolojisi günlük hayatta hangi alanlarda kullanılabilir? * Günlük hayatta gözlemlediğiniz bilgisayar çeşitlerini söyleyiniz. 2 Bilgisayar

Detaylı

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz. Temel Kavramlar-2 Byte = 8 Bit in bir araya gelmesiyle oluşan bellektir. Bilgisayarın tanıdığı harf rakam ve özel karakterlerden her biri 1 byte lık yer kaplar. Yani her bir harfin 1 veya 0 dan oluşan

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ı