Yazılım Mühendisliğinde Biçimsel Yöntemler (SE 562) Ders Detayları

Benzer belgeler
Web Tasarımı ve Geliştirme (COMPE 518) Ders Detayları

Gereksinim Mühendisliği (SE 560) Ders Detayları

İleri Veritabanları (COMPE 502) Ders Detayları

İleri Yapay Zeka (COMPE 568) Ders Detayları

Servis Yönelimli Mimari ve İş Süreç Yönetimi (SE 564) Ders Detayları

Doğal Hesaplama (COMPE 564) Ders Detayları

İleri Java Programlama (COMPE 515) Ders Detayları

Yazılım Kalite Yönetimi (SE 554) Ders Detayları

İleri Yazılım Proje Yönetimi (SE 552) Ders Detayları

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları

Proje Oryantasyon (SE 493) Ders Detayları

Sistem Modelleme ve Simülasyon (SE 360) Ders Detayları

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Programlama Dilleri (COMPE 325) Ders Detayları

Yazılım Mühendisliğinin Temelleri (SE 100) Ders Detayları

Yazılım Mühendisliği (SE 346) Ders Detayları

Yükselen Teknolojiler (SE 426) Ders Detayları

İş Yaşamı İçin İletişim Becerileri II (ENG 302) Ders Detayları

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

BT Portföy Yönetimi ve BT Standartları (ISE 512) Ders Detayları

Sistem Yazılımının Sınanması ve Geçerlenmesi (SE 344) Ders Detayları

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

Bilgisayarlı Çizim (COMPE 473) Ders Detayları

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

Bitirme Projesi (COMPE 494) Ders Detayları

Makine Mühendisliğine Giriş (ME 102) Ders Detayları

Bilişim Teknolojilerinde Yenilik ve Girişimcilik (ISE 432) Ders Detayları

Biçimsel Diller ve Özdevinirler (COMPE 326) Ders Detayları

Bilgisayar Suçları (ISE 414) Ders Detayları

Ayrık Hesaplamalı Yapılar (COMPE 251) Ders Detayları

e-devlet (ISE 422) Ders Detayları

Plastik Malzemeler (CEAC 431) Ders Detayları

e-ticaret (ISE 316) Ders Detayları

Mezuniyet Projesi (CEAC 404) Ders Detayları

Akademik İngilizce II (ENG102) Ders Detayları

Termodinamik II (ENE 204) Ders Detayları

Yazılım Mimarisi (SE 322) Ders Detayları

Kullanıcı Arayüzü Analiz ve Tasarımı (SE 440) Ders Detayları

Yazılım Örüntüleri (SE 461) Ders Detayları

Yazılım Mühendisliğinde İleri Konular (SE 650) Ders Detayları

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Enerji Depolama Teknolojisi (ENE 415) Ders Detayları

C ile Programlama (COMPE 112) Ders Detayları

Reaktör Tasarımı (ENE 316) Ders Detayları

Kimya Mühendisliği Tasarımı I (CEAC 405) Ders Detayları

Metallerin Korozyonu ve Oksidasyonu (MATE 440) Ders Detayları

Yarışma Odaklı Tasarım (EUT451) Ders Detayları

Karar Analizi (IE 418) Ders Detayları

Bilgisayar Destekli Teknik Çizim I (ME 103) Ders Detayları

Yönetim Bilişim Sistemlerine Giriş (ISE 102) Ders Detayları

İmalat Mühendisliğinde Proje Yönetimi (MFGE 420) Ders Detayları

İnsan Bilgisayar Etkileşimi (SE 212) Ders Detayları

Kompozit Malzemeler (MATE 446) Ders Detayları

Dijital Görüntü İşleme (COMPE 464) Ders Detayları

Mikrodalga Devre Tasarımı (EE 434) Ders Detayları

Yazılım Mühendisliğinde Araştırma Yöntemleri (SE 600) Ders Detayları

Makine Teorisi (ME 307) Ders Detayları

Bulut Bilişim (ISE 514) Ders Detayları

Tez Konusunda Özel Çalışmalar (IE 598) Ders Detayları

Staj II (EE 499) Ders Detayları

Bilgisayar Programlama II (COMPE 114) Ders Detayları

Biyoenerji Teknolojileri (ENE 420) Ders Detayları

Bilgisayar Oyunları ve Simulasyon (COMPE 376) Ders Detayları

Polimer Bilimi ve Teknolojisi (MATE 466) Ders Detayları

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Isı Transferi (ME 303) Ders Detayları

Rassal Modeller (IE 324) Ders Detayları

İleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

Makine Öğrenmesi (COMPE 565) Ders Detayları

Genel Fizik I (PHYS 101) Ders Detayları

Bilgisayara ve Bilişim Sistemlerine Giriş (COMPE 105) Ders Detayları

Genel Fizik II (PHYS 102) Ders Detayları

Mezuniyet Semineri (IE 589) Ders Detayları

Bilgisayar Programlama I (COMPE 113) Ders Detayları

Internet Programlama (ISE 311) Ders Detayları

Bilgisayar Güvenliği (ISE 412) Ders Detayları

Elektronik Devreler II (EE 313) Ders Detayları

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Jeotermal Enerji Teknolojileri (ENE 314) Ders Detayları

Bilgisayar Mühendisliğine Giriş (COMPE 111) Ders Detayları

E-İş (IE 516) Ders Detayları

Örüntü Tanıma (COMPE 467) Ders Detayları

Yaz Stajı I (ME 399) Ders Detayları

Uydu Haberleşmesi (EE 408) Ders Detayları

Fizikokimya (CEAC 203) Ders Detayları

Endüstriyel Ekonomi (IE 415) Ders Detayları

Akademik İngilizce II (ENG102) Ders Detayları

Cam Bilimi ve Teknolojisi (MATE 456) Ders Detayları

Genel Fizik II (PHYS 102) Ders Detayları

Çevik Yazılım Geliştirme Yaklaşımları (SE 571) Ders Detayları

İleri Yazılım Mimarisi (SE 658) Ders Detayları

Uzman Sistemler (IE 416) Ders Detayları

Genel Fizik I (PHYS 101) Ders Detayları

Isı ve Kütle Transferi (MFGE 315) Ders Detayları

Analitik Kimya (CEAC 201) Ders Detayları

Bilgisayar Programlama I (COMPE 113) Ders Detayları

İleri Yapay Zeka (COMPE 568) Ders Detayları

Siyaset Sosyolojisi (KAM 305) Ders Detayları

Kalite Yönetim Sistemleri (AVM429) Ders Detayları

Transkript:

Yazılım Mühendisliğinde Biçimsel Yöntemler (SE 562) Ders Detayları Ders Adı Ders Dönemi Ders Kodu Saati Uygulama Saati Laboratuar Kredi AKTS Saati Yazılım Mühendisliğinde Biçimsel Yöntemler SE 562 Her İkisi 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin Dili İngilizce Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri Yazılım Mühendisliği Seçmeli Dersleri Fen Bilimleri Yüksek Lisans Yüz Yüze Anlatım Dersin Koordinatörü

Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Dersin amacı, öğrencilere yazılım şartnamesi oluşturulurken ihtiyaç duyulan biçimsel yöntemleri öğretmektir. Temel matematik ve mühendislik ilkeleri yardımıyla, yazılım geliştirme sürecinin ilk aşamalarında gereksinimlerin ileri düzeyde hassas bir biçimde hazırlanması sağlanmaktadır. Diğer taraftan bu dersin başka bir amacı da yazılım mühendisliği uygulamalarında biçimsel yöntemlerin kullanılması sağlanmaktadır. Bu dersi başarıyla tamamlayabilen öğrenciler; Doğal dille hazırlanmış şartnamelerin, matematiksel yöntemlerle analiz edilebilmesi, tasarlanabilmesi ve modellenmesi. Genel kavramların matematiksel dil kullanılarak açıklanabilmesi Soyut veri tiplerinin biçimsel şartname yöntemleri ile tanımlanabilmesi Mantığın uygulamalı problemlerin çözülebilmesi için kullanılabilmesi Biçimsel methotların güvenlik/yaşamsal açısından kritik sistemler için kullanılabilmesi Biçimsel ispat tekniklerinin farklı biçimsel sevilerlerde kullanılabilmesi Biçimsel şartname yöntemi ile sağlama ve doğrulamanın yapılabilmesi Büyük yazılım sistemlerinin geliştirilip doğrulanması için gerekli bilgi birikimine sahip olabilmek Sistem geliştirlme aşamasından önce sisteme ait özelliklerin gözden geçirilerek, tasarım hataların tespit edilebilmesi Yazılım tabanlı sistemlerin tam doğru ve belirgin olarak hal, süreç ve zamanlama özelliklerinin betimlenebilmesi

Dersin İçeriği Biçimsel yöntemlere giriş; kurallı belirtimin temel yönleri; matematiksel anlambilim ile yazılım şartnamesi ve gelişimi; yazılım tabanlı sistemler için biçimsel şartnamenin inşa edilmesi; biçimsel şartname dilleri, Z, Nesne Z ve OCL; şartnamaler ile gerçekleştirmenin ilişkilendirilmesi; sistemin yaşam çevriminde kurallı belirtimin rolü; biçimsel yöntemlerin sınıflandırılması; biçimsel doğrulama ve geçerleme Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Kurallı belirtimin temelleri Giriş 2 Önerme mantığı, haber (predicate) mantığı ve kümeler teorisi Bölüm 2,3,5 (diğer 1) 3 Aritmetik, Mantık, Cebir, Çizenek Bölüm 1-4, (diğer 2) 4 OCL Bölüm 6 (diğer 2) 5 Biçimsel belirtim ve Z Diğer 3 6 Biçimsel belirtim ve Z Diğer 3 7 Nesne Z Diğer 4 8 Nesne Z Diğer 4 9 Nesne Z Diğer 4 10 Mantık Bölüm 8 (diğer 2) 11 Gerçekleştirme Bölüm 11 (diğer 2) 12 Hal geçişleri Bölüm 12 (diğer 2) 13 Yalın metin, Doğal dil Bölüm 13-14 (diğer 2) 14 Digital geometri, Zindan inşası Bölüm 15-16 (diğer 2) 15 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı 16 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı

Kaynaklar Diğer Kaynaklar: 1. J. Woodcock and J. Davies, Using Z: Specification, Refinement, and Proof, Prentice-Hall In-ternational, 1996 2. Bruce Mills, Practical Formal Software Engineering: Wanting the Software You Get, Cambridge University Press (2009) ISBN-13: 9780521879033 3. J.M. Spivey, An introduction to Z and formal specifications, Software Engineering Journal, pp40-50, January 1989 4. Roger Duke, Gordon Rose, Formal Object Oriented Specification Using Object-Z, Cornerstones of Computing Palgrave Macmillan 2000, 9780333801239 0333801237 5. Ben Potter, Jane Sinclair, David Till, Introduction Formal Specification and Z, 2/E, Prentice-Hall (1996) ISBN-10: 0132422077, ISBN-13: 9780132422079 6. Smith, Graeme, The Object-Z Specification Language Series: Advances in Formal Methods, Vol. 1, 1999, ISBN: 978-0-7923-8684-1 7. Antoni Diller, Z: An Introduction to Formal Methods, 2nd Edition, Jhon Wiley (1994), ISBN: 978-0-471-93973-3 8. WWW Library of Formal Methods (http://www.afm.sbu.ac.uk/) Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım 1 5 Laboratuar - - Uygulama - -

Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 5 20 Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 2 40 Genel Sınav/Final Juri 1 35 Toplam 9 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 100 Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri Destek Dersleri

İletişim ve Yönetim Becerileri Dersleri Aktarılabilir Beceri Dersleri Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi # Program Yeterlilikleri / Çıktıları Katkı Düzeyi 1 2 3 4 5 1 İleri düzey hesaplama ve/veya bilişim bilgilerini yazılım mühendisliği problemlerini çözmede uygulama becerisi. 2 Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek. 3 Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve yazılım mühendisliği uygulamalarına yönelik mühendislik araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. 4 Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. 5 Yazılım projeleri üzerindeki çalışmalar kapsamında ortaya çıkan problemler üzerinde etkin sözlü ve yazılı iletişim ve kritik düşünme becerileri. 6 Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi ve yazılım mühendisliği alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. 7 Yazılım Mühendisliği ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış.

8 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 9 Yazılım Mühendisliği çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. 10 Yazılım Mühendisliği uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi. ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 3 48 16 5 80 Ödevler 5 5 25 Küçük Sınavlar/Stüdyo Kritiği Ara Sınavlara/Ara Juriye Hazırlanma Süresi 2 20 40

Genel Sınava/Genel Juriye Hazırlanma Süresi 1 30 30 Toplam İş Yükü 223