Yazılım Mühendisliği Ders 1: Giriş
Ders 1 Genel Bakış Yazılım mühendisliğine giriş, Yazılım mühendisliği ve etik, Yazılım mühendisliğinin önemi ve gereği, Yazılım geliştirme süreci, Yazılım sürecinde araştırma, ölçme, planlama ve gereksinim analiz yöntemleri, Yazılım mühendisliği metodolojileri, Yazılım yaşam döngüsü sürecinde metotlar, Yazılımda standartlar, kalite teknikleri ve kalite prensipleri, Yazılımda proje yönetimi, Yazılım Mühendisliği
Ders 1 Genel Bakış Yazılım projelerinde başarı ve başarısızlık nedenleri, Bilgisayar destekli yazılım araçları, Gelişen teknolojiler ışığında, yazılım mühendisinde bulunması gereken niteliklerin belirlenmesi, Yazılım mühendisliği sürecini anlama, uygulama ve proje sürecini yönetebilme becerisi kazandırma, Geçerli yazılım mühendisliği standartlarını araştırma, öğrenme ve uygulayabilme, Güncel yazılımlar hakkında bilgiler vermek, uygulamaya yönelik çözümler üzerinde durmak. Yazılım Mühendisliği
Hedef ? Gerçek yaşamda gereksinim duyulan basit yada karmaşık yazılımların tasarımını, üretimini ve bakımını, zaman ve maliyet kısıtlarını da göz önünde bulundurarak etik ve mühendislik yaklaşımıyla tanıtmak ve aynı zamanda çeşitli bireysel araştırmalar ve grup çalışmalarıyla bu süreçlere yönelik uygulamalar yapmalarına olanak sağlamak. Yazılım Mühendisliği
Yazılım nedir ? Mühendislik mi ? Bilim mi ? Endüstri mi ? Ürün mü? Sanat mı ? Yazılım Mühendisliği
Tanım (WİKİPEDİA) Değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu saglayarak, görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır. Elektronik cihazların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı ifadeler bütünüdür. Yazılım Mühendisliği
Tanım (TDK) Bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümü. Yazılım Mühendisliği
Yazılım Mühendisliği Bilgisayar sistemleri artık günlük hayatın her alanında yoğun ve etkin bir şekilde kullanılır. Bu alanlardan bazıları: Bankacılık, Otomotiv sanayisi, Sağlık bilgi sistemleri, Şirket yönetimi, Haberleşme sistemleri, Hava taşımacılığı, Askeri projeler. Yazılım Mühendisliği
Tarihçe Software Components Conference Bilgisayar Yazılım Mühendisliği 1968 yılında NATO tarafından gerçekleştirilen “Software Components” konferansında ortaya çıkan yeni bir kavram ve yeni bir mühendislik alanı olup, yazılım sistemlerinin mühendislik prensipleri çerçevesinde tasarımı, üretimi ve işletilmesini hedeflemektedir. Yazılım Mühendisliği
Tarihçe Software Components Conference Yazılım mühendisliği alanı, IEEE (IEEE Computer Society) ve ACM (Association for Computing Machinery) gibi mesleki kuruluşların katkılarıyla 1968 yılından bu yana oldukça gelişme kaydetmiş olup, yazılım geliştirme metodolojileri, programlama paradigmaları, programlama dilleri ve çeşitli araçların geliştirilmesiyle bir hayli ilerleme kaydetmiştir. Yazılım Mühendisliği
Yazılım Mühendisliği neden zordur ? Çoğu zaman problemin ifadesinde tutarsızlıklar vardır. Çoğu zaman gereksinimler açık değildir ve gereksinimler belirginleşince değişiklikler olur. Problem alanı veya uygulama alanı karmaşıktır, çözüm alanı da karmaşıktır. Geliştirme sürecinin yönetimi zordur. Yazılım çok esneklikler sunar. Yazılım ayrık bir sistemdir (discrete system). Yazılım Mühendisliği
Yazılım geliştirme sadece kod yazmak mıdır ? Problem Çözmektir Problemi anlamak Bir çözüm ve plan önermek Önerilen çözüme dayalı iyi tasarlanmış bir sistem sunmak Karmaşıklıkla başa çıkmaktır Soyutlamalar yapmak ve modeller geliştirmek Soyutlamalar ve notasyonlar Bilgi yönetimidir Gereksimin toplamak, analiz, tasarım, sistemin ve çözüm prosesinin geçerliliği Karar mantığı yönetimidir Tasarım ve geliştirme kararlarının ilgili gruplara açıklanması Yazılım Mühendisliği
Temel Kavramlar Yazılım Yazılım-Donanım Karşılaştırma Tipik Bir Yazılım Üretim Ortamı Yazılım Mühendisliği Yazılım Mühendisi Yazılım Hataları Yazılım Maliyetleri Yazılım Sistemlerinin Sınıflandırılması Yazılım Kalite Sağlama Yazılım Mühendisliği
Yazılım Yazılım Mühendisliği
Yazılım Yazılım Mühendisliği
Yazılım Yazılım Mühendisliği
Yazılım Yazılım Mühendisliği
Yazılım Yazılım Mühendisliği
Yazılım Yazılım Mühendisliği
Yazılım-Donanım Karşılaştırılması Yazılım Mühendisliği
Yazılım-Donanım Karşılaştırılması Yazılım Mühendisliği
Yazılım-Donanım Karşılaştırılması Yazılım Mühendisliği
Yazılım-Donanım Karşılaştırılması Yazılım Mühendisliği
Yazılım-Donanım Karşılaştırılması Yazılım Mühendisliği
Tipik Bir Yazılım Üretim Ortamı Yazılım Mühendisliği
Yazılım Mühendisliği Yazılım Mühendisliği, yazılım üretiminin mühendislik yöntemleriyle yapılmasını öngören ve bu yönde yöntem, araç, teknik ve metodolojiler üreten bir disiplindir. Yazılım Mühendisliği
Yazılım Mühendisi Yazılım mühendisi bir programcı değildir. Ancak programcının tüm yeteneklerine sahiptir. Programcı, ağırlıklı olarak kodlama, sınama işi ile ilgilenir. Yazılım mühendisinin işi daha çok insanlarla ilişkiyi gerektirir. Yazılımın daha çok mantıksal boyutuyla ilgilenir. Yazılım Mühendisliği
Yazılım Hataları Yazılım Mühendisliği
Yazılım Maliyetleri Günümüzde yazılım maliyetlerindeki artışlar giderek artmaktadır. Örneğin, günümüzde bir kopyası yüz bin dolar dolayında satılan kurumsal kaynak planlama yazılımlarının bulunduğu gözlemlenmektedir. Öte yandan bir kişisel bilgisayar ise 1000 ABD dolarının altında satılmaktadır. Yazılımın kopyalanma maliyeti ile donanım kopyalama maliyetinin arasındaki farklılık dikkate alındığında, yazılım maliyetlerinin, donanım maliyetlerine oranla oldukça yüksek olduğu ortaya çıkar. Yazılım Mühendisliği
Yazılım Sistemlerinin Sınıflandırması Yazılım Mühendisliği
Yazılım Sistemlerinin Sınıflandırması Yazılım Mühendisliği
Ders değerlendirmesi Ödevler Her öğrenciye verilecek araştırma projesi. Geç teslim edilen ödevlerin puanı her gün için %10 az değerlendirilecektir. Ödevler son hafta sunum şeklinde yapılacaktır. Ara ve Final Sınavları Sınavlar defter, kitap kapalı yapılacaktır. Sınavlar klasik ve test birleşimi olarak yapılacaktır. Yazılım Mühendisliği
Yazılım Mühendisliği Kaynaklar Software Engineering: A Practitioner's Approach / Roger S. Pressman, McGraw/Hill, 2005, 6th ed. Sarıdoğan , E., Yazılım Mühendisliği, Papatya Yayınevi,2004. Arifoğlu, A., Doğru, A.,Yazılım Mühendisliği, Sas Bilişim Yayınları,2004. Yazılım Mühendisliği üzerine diğer kaynaklar Yazılım Mühendisliği