Understand software architecture and design. This course will help you determine your knowledge of the subject matter through quizzes and feedback.
'Design is defined in [IEEE610.12.90] as both the “process of defining the architecture, components, interfaces and other characteristics of a system or component and the result for [that] process.” Viewed as a process, software design is the software engineering life-cycle activity in which software requirements are analyzed in order to produce a description of the software's internal structure that will serve as the basis for its construction. More precisely, a software design (the result) must describe the software architecture, i.e., how software is decomposed and organized into components and the interfaces between those components. It must also describe the components at a level of detail that enables their construction.This course is intended to assess your understanding of software design through inline quizzes and feedback. Specific topics addressed in this course are: fundamentals of software design, key issues in software design, software structure and architecture, human computer interface design, software design quality analysis and evaluation, software design notations, and software design strategies and methods.'