BIL-304 YAZILIM MÜHENDİSLİĞİ (Software
Transkript
BIL-304 YAZILIM MÜHENDİSLİĞİ (Software
Çukurova Üniversitesi Bilgisayar Mühendisliği Bölüm BIL-304 YAZILIM MÜHENDİSLİĞİ (Software Engineering) Bahar- 2013 ( Spring 2013) Turgay İBRİKÇİ, PhD. Cuma : 9:15 – 12:00 R2 -303 Cuma : 17:15 – 20:00 E2 Kredi : ( 3+ 0 ) Oda: Elektrik- Elektronik Muh #305 Tel: (322) 338 6868 - 139 E-mail : [email protected] (Başka email adresime gönderilecek mailler işleme alınmaz) Ofis Saati: Önceden email ile randevu alarak Ders Web Page : eembdersler.wordpress.com Amacı : Bilgisayar Mühendisliğinin anadalı olarak yazılım tasarımı, yazılım oluşumu, yazılım yönetimi ve yazılım kalite ve İzlenebilirlik, test ve doğrulama teknikleri hakkında konuları içeren bir derstir. Ayrıca öğrencilere, programlar ve program parçaları, yazılım sistemlerinin yaşam çevrimi geliştirme karşılaşılan özgül sorunları, ve nasıl dokümantasyonunu yapıldığını göstermek için dönem boyunca projeler, yazılı sınavlar( mid-final) verilmesi bu dersin temelini oluşturmaktadır. Puanlama: Ara Sınavı %15 Sınav gününe kadar ki konuları kapsar. Test olabilir… Kapalı materyal sınavı- her şey (kitap, not, telefon, …) kapalı. Özellikle sınava TELEFON ile sınava girilmemesi !!!!!!!!!!!!!!!!!! Araştırma ve Proje %20 Araştırma: Kendinizin seçeceği bir konunda siz ve birlikte yapacağınız arkadaşınız ile yapacağınız çalışmayı kapsar.- Çalışma birliktelikleri 2 kişi ile sınırlandırılmıştır. Konu seçimi siz ait olup, en kısa zamanda benim ile tartışılması onay almanız sizin için gerekli olabilir. Gereksinim, Tasarım, Programlama (Kodlama/Hata Ayıklayıcı) (Kullanıcı Önyüz), Test, Proje Yönetimi, Düzenleşim (Konfigürasyon)/Değişim Yönetimi konularında kullanılan araç ve gereçleri, Araçlar hakkında bir rapor hazırla: Rapor içeriği: Kullanılan araçların açıklaması (Ne), Kullanım alanları ve zamanları (Nerede ve Ne zaman), Kimler Tarafından ve Nasıl kullanılır, Fayda/Maliyet Analizi, Karşılaştırma Dosya ismi : Proje-Projedeki öğrencilerinNosu.doc ( proje-2012639999-2012888.doc) olmalıdır. • Çeviri %25 Ian Sommerville, Software Engineering, 9th, ve/veya Roger S. Pressman, Software Engineering – A Practitioner’s Approach, 6th Ed., kitaplarından verilecek bir bölümün(chapter) Türkçeleştirilmesi. • Genel Sınav %50 – Tüm konuları ve yaptığınız çeviri bölümünün sorularını da kapsar. – Sadece beyinler açık, diğer her şey (kitap, not, telefon, …) kapalı. Özellikle sınava TELEFON ile sınava girilmemesi !!!!!! (TOPLAM %110) Çan eğrisi, son geçme notuna uygulanır. Çeviri: İngilizceden Türkçeye çevirim, sunum, ve Bölüm sonundaki soruların yanıtlarının verilmesi. Tercümesi yapılacak Bölüm: o bölümün görsel yapısı şeklinde hazırlanacaktır. Örnek olarak: Paragraflama aynı şekilde olacak. Renklendirmeler varsa aynı şekilde tercüme yapılan o kısımda renklendirmiş olacaktır. Resim varsa uygun bir resim ile de desteklenecektir. Yazı fontları “Times Roman – 12 “, ve renkleri kitap da kullanılan renkler olacaktır. Diğer başlıklarda yazının şekline göre seçilecektir. Orijinal kitapta bulunan şekiller aynı şekilde Türkçeleştirilmiş olacaktır. Tercüme edilecek Sunum: aynı şekilde orijinalinden tek farkı Türkçeleştirilmiş olmasıdır. Aynı background, aynı yazım fontunda ve aynı şekilde olmalıdır. Orjinal sunumda bulunan şekiller aynı şekilde Türkçeleştirilmiş olacaktır. Ian Sommerville, Software Engineering, 9th’nin sunumları http://www.softwareengineering-9.com/ adresinde bulunmaktadır. Yanıtlanacak Sorular: Bölümün içinde veya sonunda verilmiş olan soruların yanıtları ayrı bir DOCDOCX dosyası kitap formatında verilecektir. Tercüme edilen Bölümün dosyaları DOC, DOCX ve PPT, PPTX olarak aşağıdaki şekilde virus den ARINDIRILMIŞ bir CD/DVD içinde, çıktıları ile birlikte teslim edilecektir. ( Bir dosya içinde renkli ise renkli olarak iki yönlü yazdırılmış bir şekilde CD/DVD ile birlikte verilmelidir.) EKSİK dosyalar, okunamayan CD/DVD ve zamanında teslim edilmeyen tercümeler bir bütün olarak yerine getirilmemiş bir görev olarak kabul edilip sıfır -0- alacaktır. Google tercümesi yerine sizin tercümenizi bir akış içinde okunabilir- anlamlı, Türkçe yapı ve imla kurallarına uygun ve noktalama işaretleri yerinde kullanılmış olarak tercih ederiz. Eğer, gene de Google tercümesi görüntüsü veren tercümeler olursa ağır şekilde notlandırılması yapılacaktır. Dosya isimlerini BolumNO-Bolum-ÖğrencilerinNumaraları.doc şekilde isimlendiriniz. Örnek: Bolum01-Bolum-2012638999-2012639001.doc ; Bolum01-Sunum-2012638999-2012639001.ppt ; Bolum01-Sorular-2012638999-2012639001.doc Teslim Tarihleri Tercüme 10. hafta Cuma ders sonuna kadar. Araştırma ise 12. hafta Cuma ders sonuna kadar. ÖNEMİ UYARI--Gecikenler hiçbir şekilde kabul edilmezler. (Düğünden sonra kına istemiyoruz…) Ders Kitabı: Ian Sommerville, Software Engineering, 9th, Pearson – Addison Wesley, 2011, ISBN:0-321-1026-3 Stephen R. Schach, Object-Oriented and Classical Software Engineering, 8th, 2011 Roger S. Pressman, Software Engineering – A Practitioner’s Approach, 6th Ed., McGraw Hill, European International Edition, 2005 o Bu kitapların kaynaklarına internet üzerinden erişebilirsiniz. Diğer Kaynak: –– M. Erhan Sarıdoğan, PhD. – Yazılım Mühendisliği, Papatya Yayıncılık, 2004 Akademik Dürüstlük: Herhangi bir şekilde İntihal-kopya (kes- yapıştır) davranış etik değildir ve cezalandırılacaktır. Bir öğrenci tarafından sunulan tüm çalışmalar(araştırma projesi, tercüme ve sınavları vb), öğrencinin kendi çalışması olmak zorundadır. Grup çalışmaları(tercüme,proje) da sadece o grupun çalışması olmalıdır. Bu dersi alan öğrenciler, kendi düşünceleri dışında kullandıkları her türlü fikir ve alıntılar için mutlaka uygun referansları eklenmelidir. BIL-304 öğrencilerinin bu duruma dikkat etmeleri, tersi durumlarda Bölüm Başkanlığına “KOPYA” olarak bildirilecektir. Hafta 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Konu Başlıkları ( Gelişen durumlara göre yenileştirilebilinir.) Giriş, Tanışma, Yazılım Ürünleri ve Süreçler(Ders olmayabilir) Yazılım Mühendisliği, Yazılım Geliştirme Süreçleri, Modelleri Kullanıcı Arayüzü Tasarımı Kavramsal Sorunlar, Kullanıcı Arayüzü Tasarımı Teknik Sorunlar Proje Yönetimi, Teknik Yorumlar Analiz ve Tasarım Nedir?, Gereksinimleri Mühendisliği Yapısal Analizi, Yapısal Tasarım Nesneye Dayalı Analiz, Nesneye Dayalı Tasarım UML Nesneye Dayalı Analiz, Nesneye Dayalı Tasarım II Ara Sınav ( Bölüm tarafından tespit edilecektir. Haftası da Değişebilir. !!!!!!!!!) Yazılım Ölçütleri, Yazılım Kalite, Yazılım Bakım (Tercüme Ödevlerinin Teslim Haftası) Tasarımı ve Analizi Desenler, risk, güvenilirlik Proje Yönetimi (Araştırma Ödevlerinin Teslim Haftası) Özel /Kamu Sektöründe çalışan Bilgisayar Mühendislerinin tecrübelerini dinlemek-Bu kişilerin geliş tarihine göre planlamamız değişebilinir. Önceden sizlere duyurulacaktır. Bu sunumlarda iki grup(normal ve ikinci eğitim) birlikte ders yapacaktır. Final Sınavı için genel tekrar ve soruların yanıtlanması Tarih 15/02/2013 22/02/2013 01/03/2013 08/03/2013 15/03/2013 22/03/2013 29/03/2013 05/04/2013 12/04/2013 19/04/2013 26/04/2013 03/05/2013 10/05/2013 17/05/2013 TERCÜME DAĞILIMI (Çalışma Arkadaşınız ile temasa geçiniz-Her Bölüm için iki öğrenci) NO- Adı Soyadı 2006638002 * Ahmet Faruk Sönmez 2006638022 * Onur Akbay 2007638016 * Kadri Tayfur 2008638031 * Ömer Faruk Özcan 2008638034 * Recep Deniz 2009638003 * Ahmet Safa Kara 2009638004 * Ali Kaplan 2009638022 * Firas Fırıncıoğulları 2009638026 Gözde Nazlıcan 2009638028 Hacı Turan Özcoşkun 2009638030 Halil İbrahim Okur 2009638031 * Hayriye Hazal Ünlü 2009638032 Hüseyin Fırat 2009638036 Mehmet Berkay Uka 2009638037 * Mehmet Şirin İşik 2009638039 Merve Güleç 2009638042 Mine Gel 2009638044 Muhittin Öztürk 2009638046 Onur Erdem Türkmen 2009638054 * Sultan Çelik 2009638058 * Tuğba Gültopluyan 2009638061 Yunus Gencer 2009638062 * Zeynep Duru 2009638065 Yassın Ally Kayugwa 2009639009 Burak Can 2009639015 Ceyhun Ersin Eğrek 2009639046 Mustafa Caner Say 2010638001 Aybike Buket Adıgüzel 2010638003 Tuncay Akdeniz 2010638007 Ferhat Arkan 2010638010 Ali Ayata 2010638012 Aysel Aydin 2010638014 Dilan Bakır 2010638015 Tuncay Bal 2010638016 Mustafa Balalioğlu 2010638017 Pelin Balıkçı 2010638019 Bayram Başduvar 2010638020 Necip Bozkurt 2010638024 Mehmet Nezir Çelik 2010638028 Mehmet Nuri Erdoğdu 2010638030 Safiye Selda Ertürk 2010638031 Suna Gönen 2010638033 Geylani Gümüş 2010638034 Muammer Hafızoğlu 2010638035 Ali Osman Hazır 2010638038 Mediha Karakuş 2010638042 Merve Koska Ian Sommerville, Software Engineering, 9th Chapter 1 Introduction 3 Chapter 2 Software processes 27 Chapter 3 Agile software development 56 Chapter 4 Requirements engineering 82 Chapter 5 System modeling 118 Chapter 6 Architectural design 147 Chapter 7 Design and implementation 176 Chapter 8 Software testing 205 Chapter 9 Software evolution 234 Chapter 10 Sociotechnical systems 263 Chapter 11 Dependability and security 289 Chapter 12 Dependability and security specification 309 Chapter 13 Dependability engineering 341 Chapter 14 Security engineering 366 Chapter 15 Dependability and security assurance 393 Chapter 16 Software reuse 425 Chapter 17 Component-based software engineering 452 Chapter 18 Distributed software engineering 479 Chapter 19 Service-oriented architecture 508 Chapter 20 Embedded software 537 Chapter 21 Aspect-oriented software engineering 565 Chapter 22 Project management 593 Chapter 23 Project planning 618 Chapter 24 Quality management 651 Chapter 25 Configuration management 681 Chapter 26 Process improvement 705 Chapter 1 Introduction 3 Chapter 2 Software processes 27 Chapter 3 Agile software development 56 Chapter 4 Requirements engineering 82 Chapter 5 System modeling 118 Chapter 6 Architectural design 147 Chapter 7 Design and implementation 176 Chapter 8 Software testing 205 Chapter 9 Software evolution 234 Chapter 10 Sociotechnical systems 263 Chapter 11 Dependability and security 289 Chapter 12 Dependability and security specification 309 Chapter 13 Dependability engineering 341 Chapter 14 Security engineering 366 Chapter 15 Dependability and security assurance 393 Chapter 16 Software reuse 425 Chapter 17 Component-based software engineering 452 Chapter 18 Distributed software engineering 479 Chapter 19 Service-oriented architecture 508 Chapter 20 Embedded software 537 Chapter 21 Aspect-oriented software engineering 565 2010638043 2010638048 2010638049 2010638050 2010638054 2010638055 2010638056 2010638057 2010638060 2010638061 2010638401 2010638402 2010638600 2010639011 2010639017 2010639040 Ümmühan Körhasanoğulları İsmail Oymaçınar İrfan Öngüç Hacı Özdoğan Bekir Sayın Kübra Seyhan İsmail Şimşek Halil Teberik Fatma Yağmurlu Müge Yakut Esra Yavuz Latife Kılıncer Melike Teke Mehmet Bergel Sercan Dağlı Merve Kibaroğlu IKINCI EĞİTİM 2008639011 * Ecem Didin 2008639015 * Gökhan Yanık 2008639022 * Hilal Can Yılmaz 2008639025 Kamil Özbek 2008639031 Nihat Kısacık 2009639010 * Burak İpek 2009639033 * Hüseyin Erçik 2009639041 Koray Emre Şenyiğit 2009639042 Mehmet Cem Altın 2009639047 * Onur Bahşi 2009639053 Ömer Urtekin 2009639058 Serdar Aydın 2009639500 Sedat Bilgili 2010638502 Ertürk İslam Gökçe 2010638700 Kazım Kudat 2010639001 Ezgi Akça 2010639004 Fatma Başak Altıparmak 2010639005 Sevi Altun 2010639006 Abdullah Ata 2010639008 Gamze Ayyıldız 2010639009 Halis Baş 2010639010 Ahmet Başar 2010639012 Yahya Selahattin Bulut 2010639013 Ebru Coşkun 2010639014 Berhan Cömertpay 2010639016 Erman Çingil 2010639019 Hasan Dayan 2010639020 Güler Merve Demir 2010639022 İsmail Derkuş 2010639023 Burcu Dinç 2010639024 Burak Dizlek 2010639025 Gökçe Ekici 2010639026 Ali Ersin Genç Chapter 22 Project management 593 Chapter 23 Project planning 618 Chapter 24 Quality management 651 Chapter 25 Configuration management 681 Chapter 26 Process improvement 705 Chapter 16 Web Engineering 500 (Pressman) Chapter 17 Initialing a WepApp Project 514 (Pressman) Chapter 18 Analysis for WebApps 539 (Pressman) Chapter 19 Desing for WebApps 559 (Pressman) Chapter 20 Testing for WebApps 594 (Pressman) Chapter 16 Web Engineering 500 (Pressman) Chapter 17 Initialing a WepApp Project 514 (Pressman) Chapter 18 Analysis for WebApps 539 (Pressman) Chapter 19 Desing for WebApps 559 (Pressman) Chapter 20 Testing for WebApps 594 (Pressman) Chapter 31 Reengineering 869 (Pressman) Roger S. Pressman, Software Engineering – A Practitioner’s Approach, 6th Ed. Chapter 1 Introduction to Software Engineering 33 Chapter 2 A Generc View of Process 52 Chapter 3 Process Models 77 Chapter 4 An Agile View of Process 103 Chapter 5 Software Engineering Practice 128 Chapter 6 System Engineering 154 Chapter 7 Requirements Engineering 174 Chapter 8 Building the Analysis Model 207 Chapter 9 Design Engineering 258 Chapter 10 Creating an Arhitectural Design 286 Chapter 11 Modeling Coponent-Level Design 324 Chapter 12 Performing User Interface Design 356 Chapter 13 Test Strategies 386 Chapter 14 Test Tactics 420 Chapter 15 Product Metrics 461 Chapter 16 Web Engineering 500 Chapter 17 Initialing a WepApp Project 514 Chapter 18 Analysis for WebApps 539 Chapter 19 Desing for WebApps 559 Chapter 20 Testing for WebApps 594 Chapter 21 Project Management 628 Chapter 22 Metrics for Process and Project 649 Chapter 23 estimation 674 Chapter 24 Project Scheduling 705 Chapter 25 Risk Management 726 Chapter 26 Quality Mnagement 744 Chapter 27 Change Management 771 Chapter 28 Formal Methods 802 Chapter 29 Cleanroom Software Engineering 828 Chapter 30 Component-Based Development 847 Chapter 31 Reengineering 869 Chapter 32 The Road Ahead 892 Chapter 1 Introduction to Software Engineering 33 2010639027 2010639028 2010639029 2010639030 2010639031 2010639032 2010639033 2010639036 2010639037 2010639038 2010639041 2010639042 2010639043 2010639044 2010639045 2010639046 2010639047 2010639048 2010639049 2010639050 2010639051 2010639052 2010639053 2010639054 2010639055 2010639056 2010639057 2010639058 2010639062 2010639064 2010639066 2010639401 2011639651 Azat Gümüş Hikmet Gümüş Özge Güngör Anıl Güzelyürür Merve Hatipoğlu Barış Hepsağ Ege Can Kakeci Soner Kaya Özgür Kayaş Onur Keleş Emre Koç Fatma Korkmaz Emre Kömürcü Aysun Köymen Ali Can Kunt Derya Tuğba Kunt Süleyman Mansuroğlu Gözde Mendil Mine Deniz Öz Cemre Özmen Enver Sağnak Haşim Nızar Saltık Cihat Sapmaz Seçkin Selekoğlu Hülya Şahutoğlu Ahmet Tekeli Müzeyyen Tekinşen Mustafa Toktaş Mehmet Yaşar Bengü Yıldırım Ömer Yiğitoğlu Metehan Kılıç Esat Kılınç Chapter 2 A Generc View of Process 52 Chapter 3 Process Models 77 Chapter 4 An Agile View of Process 103 Chapter 5 Software Engineering Practice 128 Chapter 6 System Engineering 154 Chapter 7 Requirements Engineering 174 Chapter 8 Building the Analysis Model 207 Chapter 9 Design Engineering 258 Chapter 10 Creating an Arhitectural Design 286 Chapter 11 Modeling Coponent-Level Design 324 Chapter 12 Performing User Interface Design 356 Chapter 13 Test Strategies 386 Chapter 14 Test Tactics 420 Chapter 15 Product Metrics 461 Chapter 16 Web Engineering 500 Chapter 17 Initialing a WepApp Project 514 Chapter 18 Analysis for WebApps 539 Chapter 19 Desing for WebApps 559 Chapter 20 Testing for WebApps 594 Chapter 21 Project Management 628 Chapter 22 Metrics for Process and Project 649 Chapter 23 estimation 674 Chapter 24 Project Scheduling 705 Chapter 25 Risk Management 726 Chapter 26 Quality Mnagement 744 Chapter 27 Change Management 771 Chapter 28 Formal Methods 802 Chapter 29 Cleanroom Software Engineering 828 Chapter 30 Component-Based Development 847 Chapter 31 Reengineering 869 Chapter 32 The Road Ahead 892 Chapter 22 Project management 593 (Sommerville) Chapter 22 Project management 593 (Sommerville)