A0L248Q Software Architecture

(2 Credits, 32 Hours; Course Category: Required Course; Specialty: Software Engineering; Prerequisite: System Analysis and Design, Object-Oriented Design and Programming)
The course is one of main courses for Software Engineering specialty. The motivation is to make students to further study the ideas and methods of modern software architecture design and be able to grow into an excellent software system architects in five to eight years after their graduation.
The course mainly comprises of three parts, the ideas of software architecture design, the principles of object-oriented design, and the design patterns. In the course, the students need to learn the basic concepts of software architecture, software architectural style, principles of object-oriented design, design patterns, software product line and quality attributes. During the course, the students are required to grasp the knowledge and methods of software design, and apply the theory and methods to solve practical engineering problems according to the actual requirements of the projects.
By the end of this course, students will be able to
    Grasp the idea of architecture design in the field of software engineering;
    Apply software architectural styles to software architecture design of real projects in the field;
    Utilize design patterns in the detailed design of software projects;
    Find and abstract new software architectural styles or design patterns from the development of software.