5 Software Design
5 Software Design
1.0 Introduction
2.0 Intended Learning Outcomes (ILOs)
3.0 Main Contents
3.1 Design strategies
3.2 Software Analysis and design
3.3 Design Tools
4.0 Conclusion
5.0 Summary
1.0 INTRODUCTION
The process of conceptualizing software requirements into actual software execution is known
as software design. The user needs are viewed as difficulties in software design, and the best
solution is sought after. A strategy is laid out to determine the optimum design for achieving
the required solution while the software is conceptualized.
a) Structured Design
A challenge is conceptualized into a number of orderly solution components through the use
of structured design. It mostly focuses on solution design. Structured design has the advantage
of improving comprehension of the problem-solving process. The structured design also makes
it easier for the designer to focus more intently on the issue at hand.
Structured design is primarily based on the "divide and conquer" technique, in which a large
problem is divided into smaller ones, each of which is then tackled independently until the
larger problem is resolved.
c) HIPO Diagram
The HIPO (Hierarchical Input Process Output) diagram combines two systematic approaches
to system analysis and offers a mechanism of documentation. IBM created the HIPO model in
the year 1970. The HIPO diagram depicts the software system's module hierarchy. HIPO
diagrams are used by analysts to get a high-level picture of system operations. It employs a
hierarchical breakdown of functions into sub-functions. It illustrates how the system operates.
Diagrams created using HIPO are useful for documentation. It is simpler for designers and
managers to visualize the system structure thanks to their graphical representation.
d) Decision Tables
In a structured tabular format, a decision table represents conditions and the appropriate actions
that must be taken to address them.
It is an effective tool for error detection and avoidance. It aids in compiling comparable data
into a single table, which is then combined to facilitate quick and simple decision-making.
The developer needs to do the following four simple steps to generate the decision table:
✓ Determine all potential issues that need to be fixed.
✓ Establish a plan of action for each of the circumstances.
✓ Create as many rules as you can.
✓ Give each rule a specific action.
e) Entity-Relationship Model
A sort of database model called an entity-relationship model is built on the idea of real-world
entities and the relationships between them. Real-world scenarios can be mapped onto the ER
database model. A set of entities with their properties, a set of constraints, and relationships
between them are created by an ER model. The conceptual design of a database works best
when using the ER Model.
f) Data Dictionary
The centralized repository of data-related knowledge is known as a data dictionary. It keeps
track of a data's purpose, where it came from, how it relates to other data, its format for use,
Dr. Stephen Akuma Page 3
etc. To assist users and program designers, the data dictionary provides thorough meanings for
each term.
The term "data dictionary" refers to a store of meta-data (information about data). The DFD
(Data Flow Diagram) model of the software was used in its creation, and it is anticipated that
it will be updated anytime DFD is modified or updated.
4.0 Conclusion
Software design process involves logical steps that lead to the identification of a problem to
solving it. Design strategies are needed to do this, using a set of software tools.
5.0 Summary
In this unit, Software design is explained in detail with emphasis on design strategies, software
analysis and design and software tools.