Software Design and Architecture
Software Design and Architecture
Software Design and Architecture
Architecture
Lecture 1
Topics
Feasibility study
Requirements specification
Requirements validation
Engineer/developer issues
Design is at center of SE
Stages in Software Process
Design
Regardless of how far we advance SE techniques, design will always be at
its heart.
It comprises of artifacts to meet goals
Before compiling, satisfy yourself that the code you have typed is
correct. Read it thoroughly.
‘correct’ means that is satisfies what’s required of it
Author Inspection:
Inspect and edit the block of code you have just written until you are
convinced it does exactly what it is meant to do. Only then compile it.
Stages in Software Process
Testing
The testing phase consists of supplying input to the application and
comparing the output with that mandated by the software requirements
specification.
Helps to uncover defects
“Illegal” values
Types of maintenance
1. Corrective (Defect Removal)
Finding and fixing all inconsistencies with the requirements document
2. Perfective (Enhancement)
Introducing new or improved capability
3. Adaptive
Adapts software to new environment
4. Preventive
Changing some aspect of the system to prevent failures
What is design?
Design?
Definition
It is the creation of a plan for the construction of an object or a system.
The goal of software design is to build a model that meets all customer
requirements and leads to successful implementation.
is not reusable,