Nobody wants to do the same thing over and over again. To create an excellent solution to a System development problem, you must first analyze the issue and then design the solution. Systems development can be divided into systems analysis and systems design.
The process of planning a new system, or one to replace or complement an existing system, is known as system design.
The process of obtaining and understanding facts, diagnosing problems, and applying the information to recommend system improvements is known as system analysis.
Here we will learn about Structure Charts and HIPO as Software analysis and design tools. Before knowing about Structure Charts and HIPO, let’s briefly discuss the analysis and designing of Software.
Software Analysis Phase
During the analysis phase, the following software engineering elements are used:
The notations for the model record.
The model preparatory methods.
The tools that make it simple to use notations and techniques.
Software Design
It is a method for transforming user requirements into a format that the programmer can code and implement software. It is concerned with converting the client's needs as defined in the SRS (Software Requirement Specification) document into a form easily implemented using a programming language.
Software design is the first step in the SDLC (Software Development Life Cycle), and it switches the attention from the problem domain to the solution domain. The system is viewed as a software design collection of components or modules with clearly defined behaviors and bounds.
Levels of Software designing:
Interior designing: Deciding modules and relationships.
External designing: Specifying the internal structure and processing details.
Structure Charts
A structure chart is a diagram that can be created using a data flow diagram as a starting point. When we compare Structure Chart to DFD, the system is depicted more clearly and in greater depth.
The system is divided into several components, each of which functions separately.
Structure charts represent the functions and sub-functions of each of these modules.
The structure chart illustrates the hierarchical layout of modules. A distinct task is carried out at each level.
In the Hierarchical structure of Structure Charts, the Components are read from left to right and from top to bottom.
Symbols for Structure Chart
Module( Sequential logic) It depicts the system's process or task. There are three varieties of a module.
Control Module: A control module can have multiple submodules.
Submodule: A Sub-module is a module that is a subset (Child) of another module.
Module for the Library: Library Modules can be called from any module and are reusable.
2. Conditions(Decision logic)
A tiny diamond symbolises it at the module's base. It shows how the control module can choose any sub-routines based on a set of conditions.
It indicates the Control module determines which submodule will be invoked.
3. Loops(Iterative logic)
A curved arrow represents the loop in the module. The loop repeats the execution of the module on all sub-modules. One or more modules can be repeated.
4. Data Couples
It depicts the data flow between the modules. A directed arrow with an empty circle at the end represents it.
5. Control Couples
It depicts the control flow between the modules. A directed arrow with a filled circle at the end represents it.
It shows a message(flag) that one module sends to other modules.
The module uses a flag to signal a specific condition.
Add data and control couples, loops, and conditions to the modules and sub-modules.
Examine the structural chart, the data dictionary, and the DFDs.
The Student Enrollment System DFD, for example, can be represented as an Enrollment System Structure Chart.
Example of Structure Chart
Take a look at a simple example of how this could be used to represent the following code:
dim x, y as integer
sub calculateAverage()
dim avg as integer
inputNums()
avg = average(x,y)
outputAvg(avg)
end sub
function average(a,b)
return (a + b) / 2
end function
sub inputNums()
x = console.readline()
y = console.readline()
end sub
sub outputAvg(z)
console.writeline("average = " & z)
end sub
Now, the structure chart of the above code is shown below.
HIPO
HIPO stands for Hierarchical Input Process Output. HIPO diagram assesses the system and facilitates documentation. It organizes the software system's modules into a hierarchy. HIPO diagrams can be used to get a high-level picture of the system's functions. The functions are further divided into sub-functions, using HIPO diagrams demonstrating the system functions.
HIPO diagrams are excellent for documentation. By presenting the system's structure in a graphical format, designers and managers may quickly comprehend it.
Advantages of HIPO
Offer more detail than other types of documentation.
Each module's input and output are properly labeled.
Can be used to quickly determine what modules call the module under investigation.
Disadvantages of HIPO
The biggest downside of HIPO is that the documentation for a programme can become quite large: each module has its page, regardless of its actual size.
Structure charts and pseudocode are more extensively utilised than HIPO charts.
HIPO does not provide any data flow or control flow information.
Example of HIPO Diagram
Frequently Asked Questions
What are coupling and Cohesion in a Structured chart?
"Coupling" refers to the relationships that exist between modules, while "cohesion" refers to the relationships that exist within them.
Difference between Structure charts and Flow Charts?
The structure chart makes it simple to identify the various software modules. The flow chart makes it difficult to distinguish between the many software modules.
What is the full form of IPO?
IPO stands for Input Process Output.
Which chart is also known as a structured chart?
A structured chart, also known as a hierarchical chart, is a type of organizational chart that displays the hierarchical structure of an organization or system. It visually represents the relationships and levels of authority among different entities within the organization.
Conclusion
We saw the critical concepts of Structured Chart and HIPO in Software Engineering. If you liked this article and see your future in the Software Engineering Field, look at our article Software Engineering as a Career Path.