Module 1
Module 1
MODULE I
• Meta Class:
• Syllabus
• Punctuality -> Attendance
• Assessments
• Discipline->Dressing Code->Hierarchy
SRS Design
Document Design Documents
Activities
• An analysis technique helps elaborate the customer requirements through careful thinking:
• And at the same time consciously avoids making any decisions regarding implementation.
• The design model is obtained from the analysis model through transformations over a series of
steps
• Decisions regarding implementation are consciously made. 4
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Types
HIGH-LEVEL DESIGN DETAILED DESIGN (LOW LEVEL)
5
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Completeness: Includes all components like data structures, modules, and interfaces.
7
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
8
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Abstraction BASICS:
Simplify a problem by omitting
unnecessary details: Focus attention on
• Functional Abstraction: Focus on the method without internal
details. only one aspect of the problem and
• Data Abstraction: Hides data details, forming the basis for Object- ignore irrelevant details.
Oriented Design.
Suppose you are asked to develop an
overall understanding of some country.
A module is unaware (how to invoke etc.) of the higher level modules.
No one in his right mind would meet
Lower-level modules: Do input/output and other low-level functions.
all the citizens of the country, visit
Upper-level modules: Do more managerial functions. every house, and examine every tree
of the country, etc.
The principle of abstraction requires: You would possibly refer to various
Lower-level modules do not invoke functions of higher level types of maps for that country.
modules. A map, in fact, is an abstract
Also known as layered design. representation of a country.
9
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
D1 ..
Abstraction and Decomposition Principles are Used in Design in
two principal ways:
D2 ..
D3 ..
Data
Modular Design
F1 .. Functions
F2 ..
Layered Design F3 ..
F4 ..
F5 ..
A module consists of:
Several functions
Associated data structures.
Modularity
• Definition: Dividing software into modules.
• Modules are almost independent of each other
• Desirable Properties: Well-defined systems, single objectives, ease of use.
• Advantages: Facilitates team collaboration, code reuse, and systematic testing. 10
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Modular Design
Fan Fan LAYERED DESIGN
out=2 in=0
Fan Fan
out=1 in=1
Fan
in=2
If modules are independent: They can be understood
separately => Reduces the complexity. Neat arrangement of modules in a hierarchy
To understand why this is so, Remember that it is very difficult (Layered Design) means:
to break a bunch of sticks but very easy to break the sticks Low fan-out
individually.
Control abstraction
• Functional Independence: Achieved through cohesion and
coupling.
• Information Hiding: Protecting data within a module from other
modules. 11
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
High cohesion
Low coupling.
12
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Design Approaches
Two fundamentally different software design approaches:
Function-oriented design
Object-oriented design
Example
• Focuses on functions or procedures
• Emphasizes on the sequence of tasks and how they interact The function create-new-library- member:
13
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
14
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
• Structure Charts
15
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
16
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
17
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
employees,
departments, etc.
18
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
The development team must identify a suitable life cycle model and then adhere to it.
Primary advantage of adhering to a life cycle model is that it helps development of software in a systematic
and disciplined manner.
When a program is developed by a single programmer : He/she has the freedom to decide the exact steps.
A life cycle model defines entry and exit criteria for every phase.
A phase is considered to be complete only when all its exit criteria are satisfied.
E.g. The phase exit criteria for the software requirements specification phase:
Software Requirements Specification (SRS) document is complete, reviewed, and approved by the customer.
A phase can start: only if its phase-entry criteria have been satisfied.
20
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
• Iterative waterfall,
• Evolutionary,
• Prototyping, and
• Spiral model
21
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Maintenance
22
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Design Phase
• Design phase transforms requirements specification into a form suitable for
implementation in some programming language.
In technical terms: during design phase, software architecture is derived from the SRS document.
Structured analysis
Structured design
Identify all the functions to be performed, data flow
After structured analysis, carry out structured
among the functions.
design:
Decompose each function recursively into sub-
functions. architectural design (or high-level design)
Identify data flow among the subfunctions as well. detailed design (or low-level design).
Carried out using Data flow diagrams (DFDs).
23
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
better maintainability.
24
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
25
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Prototyping Model
A prototype is a toy implementation of a system:
Refine Implement
• Overview of Prototyping Model: Requirements
• Involves creating prototypes to refine requirements
Test
• Focuses on user feedback and iterative refinement
• Characteristics: Maintain
• Allows users to visualize the product early
• Can lead to better requirement gathering
26
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Evolutionary Model
Evolutionary model (aka successive versions or incremental model): The system is broken
down into several modules which can be incrementally implemented and delivered.
First develop the core modules of the system.
The initial product skeleton is refined into increasing levels of capability by adding new
functionalities in successive versions.
27
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
Spiral Model
Proposed by Boehm in 1988.
the next one with system design, and so on. Determine Identify &
Objectives Resolve Risks
There are no fixed phases in this model, the phases shown in the
figure are just examples.
• Characteristics:
• Highly flexible and adaptable
• Suitable for large and complex projects
28
For lecture purposes only; please refrain from further distribution
WOU Classification: Restricted
29
For lecture purposes only; please refrain from further distribution