Türkçe | English
OF FACULTY of TECHNOLOGY / DEPARTMENT of SOFTWARE ENGINEERING

Course Catalog
http://www.ktu.edu.tr/ofyazilim
Phone: +90 0462 3778353
OFTF
OF FACULTY of TECHNOLOGY / DEPARTMENT of SOFTWARE ENGINEERING /
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

YZM3017Software Design and Architecture3+1+0ECTS:5
Year / SemesterFall Semester
Level of CourseFirst Cycle
Status Compulsory
DepartmentDEPARTMENT of SOFTWARE ENGINEERING
Prerequisites and co-requisites
Mode of Delivery
Contact Hours14 weeks - 3 hours of lectures and 1 hour of practicals per week
LecturerProf. Dr. Hamdi Tolga KAHRAMAN
Co-LecturerPROF. DR. Hamdi Tolga KAHRAMAN,
Language of instructionTurkish
Professional practise ( internship ) None
 
The aim of the course:
The aim of this course is to model the software projects depending on the discipline of software engineering discipline. For this purpose, the basic principles of software engineering, software steps of the process to teach the standards of design and software design patterns that have become standard.
 
Learning OutcomesCTPOTOA
Upon successful completion of the course, the students will be able to :
LO - 1 : Define a software project with software life cycle steps.2,31
LO - 2 : Students can create and explain UML diagrams from a 4 + 1 perspective of a software project.2,31
LO - 3 : Explain software design principles and apply them to software projects.3,44
LO - 4 : Explain software design patterns and code in software projects.2,34
CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome

 
Contents of the Course
Introduction to the Design and the Architercture of Software. Software Process, software development life cycle. SOLID Principles (Single Responsibility Principle,Open/Closed Principle,Liskov?s Substitution Principle,Interface Segregation Principle,Dependency Inversion Principle) . Unified Modeling Language (UML). Design patterns. Creational Design Patterns, Structural Design Patterns and Behavioural Desgn Patterns.
 
Course Syllabus
 WeekSubjectRelated Notes / Files
 Week 1İntroduction to Software Design and Architecture, Purpose and Outcome in Course, Problems in software environment, Historical development of Design Patterns
 Week 2Software Life-Cycle Models
 Week 3Baiscs of Object oriented programming
 Week 4Unified Software Development
 Week 5SOLID Design Principles
 Week 6Design patterns
 Week 7Creational Patterns
 Week 8Structural Patterns 
 Week 9Behavioral Patterns
 Week 10Factory Abstract Factory Builder Singleton
 Week 11Adapter Bridge Composite Decorator Facade Flyweight Front Controller Module Proxy
 Week 12Chain of Responsibility Command Mediator Memento Observer Strategy Template Visitor
 Week 13Project Presentation
 Week 14Project Presentation
 Week 15Project Presentation
 Week 16Project Presentation
 
Textbook / Material
1Head First Design Patterns, O?Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004.
2Yazılım Mimarının El Kitabı, C , Java ve Csharp ile Uml ve Dizayn Paternleri, Pusula Yayıncılık, Eylül 2014, Aykut Taşdelen
3Design Patterns: Elements of Reusable Object Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison ?Wesley Professional, 1995.
 
Recommended Reading
1Analysis Patterns: Reusable Object Models, Martin Fowler, (1996-11-27). Addison-Wesley.
 
Method of Assessment
Type of assessmentWeek NoDate

Duration (hours)Weight (%)
Mid-term exam 9 1,5 30
Practice 12 2 20
End-of-term exam 16 1,5 50
 
Student Work Load and its Distribution
Type of workDuration (hours pw)

No of weeks / Number of activity

Hours in total per term
Yüz yüze eğitim 3 14 42
Sınıf dışı çalışma 1 14 14
Arasınav için hazırlık 2 4 8
Arasınav 1 2 2
Uygulama 3 13 39
Dönem sonu sınavı için hazırlık 3 4 12
Dönem sonu sınavı 1 3 3
Total work load120