|
YZM3017 | Software Design and Architecture | 3+1+0 | ECTS:5 | Year / Semester | Fall Semester | Level of Course | First Cycle | Status | Compulsory | Department | DEPARTMENT of SOFTWARE ENGINEERING | Prerequisites and co-requisites | | Mode of Delivery | | Contact Hours | 14 weeks - 3 hours of lectures and 1 hour of practicals per week | Lecturer | Prof. Dr. Hamdi Tolga KAHRAMAN | Co-Lecturer | PROF. DR. Hamdi Tolga KAHRAMAN, | Language of instruction | Turkish | 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 Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | LO - 1 : | Define a software project with software life cycle steps. | 2,3 | 1 | LO - 2 : | Students can create and explain UML diagrams from a 4 + 1 perspective of a software project. | 2,3 | 1 | LO - 3 : | Explain software design principles and apply them to software projects. | 3,4 | 4 | LO - 4 : | Explain software design patterns and code in software projects. | 2,3 | 4 | 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 | |
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 | Week | Subject | Related 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 2 | Software Life-Cycle Models | | Week 3 | Baiscs of Object oriented programming | | Week 4 | Unified Software Development | | Week 5 | SOLID Design Principles | | Week 6 | Design patterns | | Week 7 | Creational Patterns | | Week 8 | Structural Patterns | | Week 9 | Behavioral Patterns | | Week 10 | Factory
Abstract Factory
Builder
Singleton
| | Week 11 | Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Front Controller
Module
Proxy
| | Week 12 | Chain of Responsibility
Command
Mediator
Memento
Observer
Strategy
Template
Visitor
| | Week 13 | Project Presentation | | Week 14 | Project Presentation | | Week 15 | Project Presentation | | Week 16 | Project Presentation | | |
1 | Head First Design Patterns, O?Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004. | | 2 | Yazı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 | | 3 | Design Patterns: Elements of Reusable Object Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison ?Wesley Professional, 1995. | | |
1 | Analysis Patterns: Reusable Object Models, Martin Fowler, (1996-11-27). Addison-Wesley. | | |
Method of Assessment | Type of assessment | Week No | Date | 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 work | Duration (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 load | | | 120 |
|