SOFTWARE DESIGN AND ARCHITECTURE
- Course
- SWEN301 - SOFTWARE DESIGN AND ARCHITECTURE
- Department
- Software Engineering - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 4
- ECTS
- 6
- T+P+L
- 3 + 0 + 2
- Course Coordinator(s)
- Asst. Prof. Dr. Asad ALI
- Prerequisite
- -
- Keywords
Course Description
The objective of this course includes the definition and concepts of design and continues with the following topics; Fundamental design issues. Design principles (information hiding, cohesion, and coupling). Interactions between design and requirements. Design for quality attributes (e.g., reliability, usability maintainability, performance, testability, security, and fault tolerance). Design trade-offs. Design strategies including: function-oriented, object-oriented, data-structure centered and aspect-oriented design. Architectural design issues: styles, patterns, frameworks and attribute trade-offs will be covered. Hardware and systems engineering issues in software architecture; service-oriented architectures, network, mobile, and embedded system architectures. Detailed design and design patterns. Database design. Design notations (e.g., class and object diagrams, UML, state diagrams, and formal specification). Design attributes (e.g., coupling, cohesion, information hiding).
SOFTWARE DESIGN AND ARCHITECTURE
Evaluation Tools (Active Term)
No evaluation items have been defined.
Course outcomes
No course outcomes have been defined yet.
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | Introduction to Software Engineering: Software Project management, Planning, Cost Estimation, Software Development Life Cycle Models. |
| Week 2 | Software Development Life Cycle Models. |
| Week 3 | Legal Aspects of Software Engineering. Source Code Management. |
| Week 4 | Software System Architecture and Design. Coupling, Cohesion and Information Hiding. |
| Week 5 | Structural Software Design using SSADM. |
| Week 6 | Structural Software Design using SSADM - a Practical Example. |
| Week 7 | Object Oriented Software Design using UML. |
| Week 8 | Midterm Exam |
| Week 9 | Object Oriented Software Design using UML (Introduction to Rational Rose) |
| Week 10 | Object Oriented Software Design- a Practical Example. |
| Week 11 | Software Quality Attributes: Reliability, Reusability, Maintainability, Performance, Testability, Security, and Fault Tolerance. |
| Week 12 | Algorithm Design. |
| Week 13 | Database Design. |
| Week 14 | Database Design- a Practical Example by MySQl & JAVA. |
| Week 15 | Business Aspects of Software Engineering. |
Reference Books & Course Materials
- 01 Ian Sommerville, (2016), Software Engineering, 10th Edition
Learning Outcomes
No learning outcomes have been defined.
Program Outcomes
- P01 Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in complex engineering problems.
- P02 Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
- P03 Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose.
- P04 Ability to devise, select, and use modern techniques and tools needed for analysing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively
- P05 Ability to design and conduct experiments, gather data, analyse and interpret results for investigating complex engineering problems or discipline specific research questions.
- P06 Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
- P07 Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions.
- P08 Recognition of the need for lifelong learning ; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
- P09 Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice.
- P10 Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development.
- P11 Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions.
Po-Lo Matrix
The PO-LO matrix has not been populated yet.