tailieunhanh - Lecture Software design and architecture – Chapter 2

Lecture 2 – Introduction to software design. In this chapter, the following content will be discussed: Design phase in SDLC – architecture and detailed design, factors that affect design, quality models. | CSE 303 – Software Design and Architecture Revision Introduction to design Importance of design Outline Design phase in SDLC – architecture and detailed design Factors that affect design Quality Models Software Development Activities Requirements Elicitation Requirements Analysis (., Structured Analysis, OO Analysis) – analyzing requirements and working towards a conceptual model without taking the target implementation technology into account Design coming up with solution models taking the target implementation technology into account Implementation Testing Software Design in SDLC In SDLC (Software Development Life Cycle), Design phase is one of the most important phases. In the software engineering context, design focuses on four major areas of concern: data, architecture, interfaces and components. Design Process Activities Architectural design Modules, inter-relationships etc Abstract specification Services of each sub-system, constraints etc Interface design Interface to . | CSE 303 – Software Design and Architecture Revision Introduction to design Importance of design Outline Design phase in SDLC – architecture and detailed design Factors that affect design Quality Models Software Development Activities Requirements Elicitation Requirements Analysis (., Structured Analysis, OO Analysis) – analyzing requirements and working towards a conceptual model without taking the target implementation technology into account Design coming up with solution models taking the target implementation technology into account Implementation Testing Software Design in SDLC In SDLC (Software Development Life Cycle), Design phase is one of the most important phases. In the software engineering context, design focuses on four major areas of concern: data, architecture, interfaces and components. Design Process Activities Architectural design Modules, inter-relationships etc Abstract specification Services of each sub-system, constraints etc Interface design Interface to other sub-system or outside enviornment Component design Services allocated to components and their interfaces designed Data structure design Algorithm design The Software Design Process Levels of Software Design Architectural design (high-level design) architecture - the overall structure, main modules and their connections addresses the main non-functional requirements (., reliability, performance) hard to change Detailed design (low-level design) the inner structure of the main modules detailed enough to be implemented in the programming language Design vs. Architecture Architecture is concerned with the selection of architectural elements, their interaction, and the constraints on those elements and their interactions Design is concerned with the modularization and detailed interfaces of the design elements, their algorithms and procedures, and the data types needed to support the architecture and to satisfy the requirements. Architecture is specifically not about details of .