Software Design
Software Design
and
Implementation
Content
▪ Software Design
▪ Design Process
▪ Design Approaches
▪ Functional oriented design
▪ Object-oriented design
▪ Interface design
▪ Database design
Lesson Outcomes
At the end of this lesson you will be able to:
▪ Describe the important of Software Design
▪ Identify the important phases of the Design Process
▪ Discuss different design approaches and their
properties
▪ Design MIS with three layers: application layer,
business logic layer and database layer
Software Design is the
process of deriving a good
solution which satisfies
software requirements
Stages of Design
🞂 Problem understanding
◦ Look at the problem from different angles to discover the
design requirements.
🞂 Identify one or more solutions
◦ Evaluate possible solutions and choose the most appropriate
depending on the designer's experience and available
resources.
🞂 Describe solution abstractions
◦ Use graphical, formal or other descriptive notations to
describe the components of the design.
🞂 Repeat process for each identified abstraction
until the design is expressed in primitive terms.
The Design Process