Software Engineering
SOFTWARE DESIGN METHODOLOGY
Objectives
Enable you to
Demonstrate an understanding of functional design
Demonstrate an understanding of software prototyping
Design user interface
UNDERSTAND FUNCTIONAL DESIGN
Objectives
Enable you to
Describe the importance and quality factors in software design
Identify advantages of modular system
Illustrate a function-oriented design &
Introduce notations to represent a function-oriented design
Design Process
(See next page)
A Good Design
the key to effective engineering
Should ______________________________________
Allows ______________________________________
A minimal design where ______________________________________________
The ______________________________________
______________________________________________________________________
Design Qualities
There are _______ desirable design qualities
o ________________
o _________________
o __________________
o __________________
o ___________________
Prepared by RHMS@2010
Software Engineering
Prepared by RHMS@2010
Software Engineering
A General Model of the Design Process
(Source: Software Engineering by Ian Sommerville, 5th Edition, 1997)
DESIGN ACTIVITIES
Architectural
Architectural
Design
Design
Component
Component
Design
Design
System
System
Architecture
Architecture
Component
Component
Specification
Specification
DESIGN PRODUCTS
Prepared by RHMS@2010
Software Engineering
Cohesion
A ____________________________________________________________________
__________________________________________________________________
Desirable to have _______________________
Coupling
________________________________________________________________________
__________________
Shows _____________________________________________
Desirable to have ________________________________
Understandability
Important because ____________________________________________________
Component characteristics affect this:
o ___________________________
o ____________________________
o ___________________________
o ___________________________
Adaptability
______________________________________
This implies that
o The _____________________________________
Prepared by RHMS@2010
Software Engineering
o The _____________________________________
o __________________________________________
Adaptable design have ________________________________
o _______________________________________________________________
Modularity
A design is modular if _____________________________________________________
_______________________________________________
This is desirable because a modular system is
o _________________________
o _________________________
o _________________________
Prepared by RHMS@2010
Software Engineering
Design Strategies
Most common design strategies
o _________________________
o _________________________
Function-Oriented Design
_____________________________________________________________ with a
centralized system state shared by these functions.
Uses a ______________ approach
o A system is decomposes into ____________________________________
o System development begins ________________________________________
and then ______________________________________________________
A function-oriented design process can be illustrated using:
o _________________________
o _________________________
o _________________________
Structural Decomposition
o Uses _________________________________
o A graphical means of showing the _____________________________________
o They show ________________________________________________________
_________________________________________________________________
o Notations:
Symbol
Prepared by RHMS@2010
Name
Description
Software Engineering
o Example:
Design Report Generator Initial Structure Chart
Design Report Generator Second-level Structure Chart
Design Report Generator Final Structure Chart
Prepared by RHMS@2010
Software Engineering
Prepared by RHMS@2010
Software Engineering
UNDERSTAND SOFTWARE PROTOTYPING
Objectives
Enable you to
Describe the importance of software prototyping
Relate prototyping to rapid application development (RAD)
Apply various techniques used in RAD
Prototyping
When did you learn about prototyping?
o _________________________
o _________________________
Software Prototyping
Prototype: A _______________________________________________________
Why prototype software?
o One of the important aspects of ____________________________________
___________________________________________
Requirements or design analysis
o A tool used in ________________________________________________
____________________________________________________________
o
ensures that __________________________________ agreed on
________________________________________________________
Development:
o Inform the design process where __________________________________
______________________________________________
Testing
o Allows _________________________________ rather than after development of
the whole (sub)system
Prepared by RHMS@2010
Software Engineering
Rapid Application Development (RAD)
Definition:
o a software development process that allows ______________________________
__________________________________________________
Principles behind the definition
In certain situations,
o a __________________________________________________ to produce a total
solution
o the business requirements for a system can be fully satisfied even if ___________
_____________________________________________________
o the acceptability of a system can be assessed against _______________________
_________________________________________ rather than all requirements
Problems Addressed By RAD
With conventional methods,
o there is a ______________________before the customer gets to see any results.
o development can take so long that ______________________________________
_____________________________________
o Nothing is delivered until ____________________________________________
Why Use RAD?
o to _________________________________________________ and
____________________________________
o to limit _______________________________________
o to save ________________________________________
Characteristics Of RAD
o Uses _____________________
o Uses _____________________
o Uses _____________________
o Uses ______________________
Advantages of RAD
o _________________________
Prepared by RHMS@2010
Software Engineering
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
Disadvantages of RAD
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
o _________________________
Prepared by RHMS@2010