0% found this document useful (0 votes)
12 views4 pages

5 Software Design

This document provides an overview of software design, detailing its definition, strategies, and tools. It covers various design methodologies such as Structured Design, Function Oriented Design, and Object-Oriented Design, along with tools like Data Flow Diagrams and Decision Tables. The conclusion emphasizes the importance of a structured approach in the software design process to effectively address user requirements.

Uploaded by

charlesvince682
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

5 Software Design

This document provides an overview of software design, detailing its definition, strategies, and tools. It covers various design methodologies such as Structured Design, Function Oriented Design, and Object-Oriented Design, along with tools like Data Flow Diagrams and Decision Tables. The conclusion emphasizes the importance of a structured approach in the software design process to effectively address user requirements.

Uploaded by

charlesvince682
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Unit 4: 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.

2.0 INTENDED LEARNING OUTCOMES (ILOS)


Students should be able to understand what Software design is, the strategies for designing
software, tools for analysing software and so on.

3.0 MAIN CONTENTS


3.1 Design strategies
There are different types of Software Design. These include Structured Design, Function
Oriented Design, and Object-Oriented Design

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.

Dr. Stephen Akuma Page 1


Solution modules are used to address individual problems. The importance of these modules'
organization is stressed by the structured design in order to produce exact results. A well-
structured design has high cohesion (group of functional related elements) and low coupling
arrangements (different module communication).
b) Function Oriented Design
The system in function-oriented design is made up of numerous smaller sub-systems called
functions. These operations are capable of carrying out important system tasks. The system is
viewed as the overall perspective of all operations. Some characteristics of structured design,
which use the divide and conquer strategy, are carried over into function-oriented design.
By dividing the entire system into smaller functions, this design strategy offers a means of
abstraction by hiding the information and how they work. These functional modules can
communicate with one another and use globally accessible data to share information. Another
feature of functions is that when a program calls one, the function alters the program's state,
which can occasionally be unacceptable to other modules.
c) Object-Oriented Design
Instead of focusing on the functionalities that are present in the software system, object-
oriented design revolves around the entities and their traits. This design strategy emphasizes
entities and their traits. The engaged entities are crucial to the idea of a software solution. This
is further explained in Module 2.

3.2 Software Analysis and design


All processes that assist in turning a requirement specification into implementation are included
in software analysis and design. All expected features and non-features of the software are
detailed in the requirement specifications. These required specifications are presented as
human-readable and intelligible texts, and a computer is completely unrelated to them.
Software analysis and design is the intermediate step that aids in translating human-readable
requirements into actual code.

3.3 Design Tools


The following are the design tools used in the process of Software design:
a) Data Flow Diagram
A data flow diagram shows how data moves through an information system graphically. It may
show the flow of stored data as well as incoming and outgoing data. The DFD does not refer
to how data moves around the system.
DFD and Flowchart differ significantly from one another. The program modules' control flow
is shown in the flowchart. DFDs represent the different levels of data flow in the system. No
branch or control elements exist in DFD.

Dr. Stephen Akuma Page 2


b) Structure Charts
A chart created from a data flow diagram is a structure chart. Compared to DFD, it depicts the
system in greater depth. It divides the entire system into its most basic functional units and
goes into greater detail than DFD into the functions and sub-functions of each unit.
Module hierarchy is represented by a structure chart. A particular task is carried out at each
stratum.

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.

Dr. Stephen Akuma Page 4

You might also like