|title ||Software Component Design|
|arbic title |
|prequisites ||SE291 |
|credit hours ||3|
|Description/Outcomes ||This course deals with the design and implementation of software subsystems. The concept of design patterns is introduced and common patterns are applied to the development of software components. Laboratory projects provide an opportunity for teams of students to implement components and to integrate them into complete systems. It introduces the use of Computer-Aided Software Engineering (CASE).|
|arabic Description/Outcomes |
|objectives ||1. Understand and apply object-oriented design patterns.|
2. Understand the use of UML in the design process.
3. Design and implement small software components and systems.
4. Use computer-aided software engineering (CASE) tools in the design process.
5. Perform independent research on software design.
6. Document software design concepts in a written report.
7. Communicate software design concepts in a brief oral presentation.
|arabic objectives |
|ref. books ||1- Michael R. Blaha, and James R. Rumbaugh, Object-Oriented Modeling and Design with UML, Prentice Hall.|
2- Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software Engineering, Addison-Wesley.
|arabic ref. books |
|textbook ||J. M. Smith, Elemental Design Patterns, Addison Wesley|
|arabic textbook |
|objective set |
|content set |