Cse 303 - Software Design and Architecture
Cse 303 - Software Design and Architecture
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 (e.g., 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
environment
Component design
Services allocated to components and their
interfaces designed
Data structure design
Algorithm design
The Software Design Process
Requirements
specification
Design activities
Software Data
System Interface Component Algorithm
specification structure
architecture specification specification specification
specification
Design products
Levels of Software Design
Architectural design (high-level design)
architecture - the overall structure, main modules
and their connections
addresses the main non-functional requirements
(e.g., reliability, performance)
hard to change
○ Requirement conflicts
○ Requirement prioritization
○ Design decisions
FACTORS THAT AFFECT DESIGNS
○ User friendliness
○ Resource intensive
FACTORS THAT AFFECT DESIGNS
○ development tools,
○ run time support systems,
○ human resource
○ application domain-specific tools and equipment,
FACTORS THAT AFFECT DESIGNS