unit 5
unit 5
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be
defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a
task.
Flowcharts are nothing but the graphical representation of the data or the algorithm for a
better understanding of the code visually. It displays step-by-step solutions to a problem,
algorithm, or process.
There are various types of flow chart
1) System outline chart
2) System flow chart
3) Process flow chart
4) Data flow chart
Flowchart symbols
1
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
The following are the uses of a flowchart:
• It helps team members get an insight into the process and use this knowledge to collect data,
detect problems, develop software, etc.
• A flowchart is a basic step for designing a new process or adding extra features.
• Communication with other people becomes easy by drawing flowcharts and sharing them.
Advantages of Flowchart
Disadvantages of Flowchart
2
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Muster – Attendance records, Arrears – pending salary or payments, deduction details – taxes, insurance,
Norms and parameters – salary rules, policies
involved in a system.
Generally, it shows –
In a system flowchart emphasis is placed on input document and output reports. Only limited details are furnished
about how a work station
System flowchart and system outlines can be drawn for complete system or subsystem only.
It uses a variety of symbols, shapes, and arrows, each representing different types of tasks or
3
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
steps in a process. The sequence of operations is illustrated by arrows connecting these symbols.
In this scenario, the flowchart might start with a customer choosing a book, depicted by a rectangle. The
following step could be another rectangle showing the addition of the book to the shopping cart.
A decision diamond could be used for checking stock availability. If stock is available, the process
would proceed to payment and order confirmation steps. If not, a different route could lead to a
message notifying the customer about the unavailability.
After order confirmation, steps like packaging and shipping would follow. A final rectangle could
represent customer receipt of the book, concluding the flowchart with an 'End' oval.
Each of these examples emphasizes how system flowcharts effectively map out processes,
promoting comprehension and aiding decision-making.
4
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
5.1.3 Decision table and Decision Tree
Decision Table
Decision Table is just a tabular representation of all conditions and actions.
Decision Table are always used whenever the processing logic is very complicated and
involves multiple conditions.
It's a very useful tool for both complicated software testing and requirements
management.
The main components used for the formation of the Data Table are Conditions Stubs,
Action Stubs, and rules (entries).
Example:
Consider a ‘Login’ Page Functionality.
Username
Password
Login
Decision table:
Rule1 Rule2 Rule3 Rule4
Username(condition1) T T F F
Password(condition2) T F T F
Expected Result - T F F F
Login successfully(Action1)
Error ‘Invalid F T T T
Credential’(Action2)
5
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Limitations:
Example 2:
A customer requests a cash withdrawal. One of the business rules for the ATM is that the ATM
machine pays out the amount if the customer has sufficient funds in their account or if the
customer has the credit granted.
6
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
This example of a business rule is quite complicated to describe in text. A decision table makes
the same requirements clearer to understand:
7
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Decision Tree:
Decision Trees are graphical representation of processing logic involved in decision making
and corresponding action taken in hierarchical manner.
8
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Advantages :
Disadvantages
• Large number of branches with many path will confuse rather than help in analysis
Key Differences
9
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
2. Example Comparison
🔹 Decision Table Example (Loan Approval)
Condition Credit Score ≥ 700 Income ≥ 50K Loan Approved?
Rule 1 Yes Yes ✅ Yes
Rule 2 Yes No ❌ No
Rule 3 No Yes ❌ No
Rule 4 No No ❌ No
Structure Chart
Structure Chart represents the hierarchical structure of modules. It breaks down the entire system
into the lowest functional modules and describes the functions and sub- functions of each module
of a system in greater detail. This article focuses on discussing Structure Charts in detail.
What is a Structure Chart?
Structure Chart partitions the system into black boxes (functionality of the system is known to the
users, but inner details are unknown).
1. Inputs are given to the black boxes and appropriate outputs are generated.
2. Modules at the top level directly interacts modules at low level.
3. Components are read from top to bottom and left to right.
4. When a module calls another, it views the called module as a black box, passing
the required parameters and receiving results.
Symbols in Structured Chart
11
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
It represents the repetitive execution of
Loop (Repetitive call module by the sub module. A curved arrow
represents a loop in the module. All the
of module) submodules cover by the loop repeat
execution of module
Example
Structure chart for an Email server
12
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
HIPO Diagram
HIPO stands for Hierarchical Input Process Output. It organizes the modules of the software
system in a hierarchical structure. A HIPO chart can be used to get a high- level view of the
business. These functions are divided into sub-functions using the HIPO function diagram.
1. The HIPO diagram represents the hierarchical structure of modules in a software
system.
2. HIPO charts are used to get a high-level view of the body's functioning.
3. It divides the functionality of a system into sub-functions in a hierarchical manner.
4. Describes the functions performed by the system.
5. Their graphical representations make it easy for designers and managers to get a
graphical idea of the process model.
6. These can be used for documentation purposes.
7. HIPO does not provide any information about data flow or control flow.
8. HIPO charts are great for documentation.
9. By presenting the structure of the system in the form of diagrams, designers, and
managers can quickly understand it.
A HIPO chart can be used to get a high-level view of the business. These functions are divided
into sub-functions using the HIPO function diagram.
VTOC charts:
VTOC chart breaks down a system or program into detailed levels, starting with general functions
and progressing to more specific sub-functions. The VTOC arranges program modules in order of
priority, reading from top to bottom and left to right. Each module is represented by a rectangle
containing a brief description of its purpose, typically two to four words starting with a verb.
IPO charts:
14
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Advantages of HIPO
Disadvantages of HIPO
1. HIPO concentrates more on what is to be accomplished rather than how it is o be accomplished.
2 . Requires extra documentation beyond flowcharts or coding.
3. Necessitates some training for programmer before use.
Warnier–Orr Charts
The Warnier-Orr diagram is a design and program design technique developed by Jean-Dominique
Warnier and Kenneth Orr. It is an alternative to pseudocode and flowcharts, using a structured,
hierarchical approach with brackets, circles, parentheses, dots, and bars.
Basic Constructs
The four basic constructs are hierarchy, sequence, repetition, and concurrency. Two additional advanced concepts
are concurrency and exclusion
Hierarchy:
Hierarchy is the most fundamental of all of the Warnier/Orr constructs. It is simply a nested group of sets and
subsets shown as a set of nested brackets: big topics break down into smaller topics which break down into
smaller topics, and so on ad infinitum
EXAMPLE:
Each bracket on the diagram (depending on how it is represented, the character is usually more like a brace"
{" than a bracket "[", but it is called "brackets") represents one level of hierarchy. The hierarchy or structure
15
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
that is represented on the diagram can show the organization of data or processing. However, both data and
processing are never shown on the same diagram
Sequence: The sequence of events is defined by the top-to-bottom order in a diagram. That is, an
event occurs after everything above it in a diagram, but before anything below it.
OR: You represent choice in a diagram by placing an "OR" operator between the items of a
choice. The "OR" operator looks either like “or”.
AND: You represent concurrency in a diagram by placing an "AND" operator between the
16
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
concurrent actions. The "AND" operator looks either like “and”.
This denotes that the "Customer Record" can occur at least once and up to 'c' times within the
"Customer File."
This indicates that "Day" occurs between 28 and 31 times within "Month," reflecting the variation
in days across different months.
Alteration: or election is traditional decision process whereby a determination is made to execute one
process or another.Eg
17
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Concurrency : It is used whenever sequence is unimportant.
E.g.
Recursion:It is used to indicate that a set contains an earlier or less ordered version of itself
In an information system, input is the raw data that is processed to produce output. During the
input design, the developers must consider the input devices such as PC, MICR, OMR, etc.
Therefore, the quality of system input determines the quality of system output.
18
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
• It should be easy to fill and straight forward.
• It should focus on user’s attention, consistency, and simplicity.
• All these objectives are obtained using the knowledge of basic design principles regarding-
o What are the inputs needed for the system?
o How end users respond to different elements of forms and screens.
29
Objectives for Input Design
The objectives of input design are −
• To design data entry and input procedures.
• To reduce input volume (Minimizing the amount of manual data entry required.)
• To design source documents for data capture or devise other data capture methods (Source
documents are physical or digital forms used to collect raw data before entry into the system.)
• To design input data records (define how data is structured and stored in databases.), data entry
screens (ensure users enter information in a logical and user-friendly way.), user interface screens
(designed for ease of use, providing an intuitive experience.), etc.
19
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
• Enhances user experience
• Improves system efficiency
• Ensures data integrity and security
The design of output is the most important task of any system. During output design,
developers identify the type of outputs needed, and consider the necessary output controls and
prototype report layouts (cloned reports created to visualize and evaluate the design, structure,
and content before final implementation).
• To develop output design that serves the intended purpose and eliminates the production
of unwanted output.
• To develop the output design that meets the end users requirements.
• To deliver the appropriate quantity of output.
• To form the output in appropriate format and direct it to the right person.
• To make the output available on time for making good decisions.
External Outputs
External outputs are outputs generated by a system that are meant for users, organizations, or other
external entities. These outputs serve various purposes, such as triggering actions, confirming actions,
or providing necessary information.
Some of the external outputs are designed as turnaround outputs, which are implemented as a
form and re-enter the system as an input.
Internal outputs
Internal outputs are present inside the system, and used by end-users and managers. They
support the management in decision making and reporting.
Internal outputs are generated within a system and are mainly used by managers, employees,
or decision-makers to monitor operations and support business processes. These outputs help
20
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
in decision-making, tracking performance, and maintaining records.
There are three types of reports produced by management information −
1. Detailed Reports
2. Summary Reports
3. Exception Reports
Output integrity controls include routing codes to identify the receiving system, and
verification messages to confirm successful receipt of messages that are handled by
network protocol.
Printed or screen-format reports should include a date/time for report printing and the data.
Multipage reports contain report title or description, and pagination. Pre-printed forms
usually include a version number and effective date.
Forms Design
Both forms and reports are the product of input and output design and are business
document consisting of specified data. The main difference is that forms provide fields for
data input but reports are purely used for reading. For example, order forms, employment
21
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
and credit application, etc.
• To keep the screen simple by giving proper sequence, information, and clear
captions.
• To meet the intended purpose by using appropriate forms.
• To ensure the completion of form with accuracy.
• To keep the forms attractive by using icons, inverse video, or blinking cursors etc.
• To facilitate navigation.
• The main aim of UML is to define a standard way to visualize the way a system has been
designed.
• It is quite similar to blueprints used in other fields of engineering.
• UML is not a programming language, it is rather a visual language.
• UML diagrams show the behavior and structure of a system.
• UML helps software engineers, businessmen, and system architects with modeling, design, and
analysis.
Why do we need UML?
• It provide clear and concise way to communicate amongst multiple teams.
• Businessmen do not understand code. So UML becomes essential to communicate with non-
programmers about essential requirements, functionalities, and processes of the system.
• A lot of time is saved when teams can visualize processes, user interactions, and the static
structure of the system.
22
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Behavior Diagram:
It will show interaction of system. It is dynamic nature of system. i.e. Activities diagram, use
case diagram, sequence diagram etc.
• Use-case diagram provides a fast and simple way to describe the purpose of the
project. Recently it is employed by many software engineers, to record high-level
of the system. The primary elements are also known as actors and processes of the
system are called use-cases.
• Use-case diagram shows how the different actors interact with the different use-cases
of the system.
• Use-case diagram focuses on functional requirements of the system. It represents the
graphical view of the system functionalities (use-cases) and users (actors).
• It depicts the high-level functionality of a system and also tells how the user handles
a system.
23
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
ELEMENTS OF USE-CASE DIAGRAM:
It is easier to design use-case diagram, if we have proper knowledge of its different elements.
The elements of the use-case diagrams are:
1. Actors
2. Use-Case
6. System boundary
Actors: An actor can be a user or role which interact with the system by invoking different
1
use-cases of the system. Usually Actor can be human, a hardware device, or another system
which operates the functionalities of the system. Actors are external to the system. Actor may
provide data or get information from the system by interacting with different usecases.
Use-Cases: It represents set of sequences of actions that system performs. A use- case
2
describes what a system, subsystem, class or interface does, but not describe how it does.
Relationship between Actor and Use-cases: Relationship between the Actor and Use-case
3
is communication between the instance of Actor and instance of the Use- case.
It is represented by a straight line between the participating Actor and requested
Use-case.
24
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Relationship between Use-cases: There are two relationships are there between Use-
4
Cases:
[1] Uses / Includes:
An Uses / Include relationship between two use-cases means that the sequence of behaviors
described in the sub (or included) use-case is included in the sequence of the base (including)
use-case.
For example, customer can ‘Withdraw cash’ or ‘Deposit cash’, but in both the cases
Account has to be updated.
Use-cases Withdraw Case and Deposit Cash includes Use-case Update Account
Note: Uses / Includes indicate compulsion. In the case of withdraw or deposit account
updating is mandatory (Compulsory) sub Use-case.
[2] Extends: Extend is basically use to extend the functionality if one Usecase by another. It
indicate optional functionality.
For example, in the case of Authentication if any error is there then it must be logged. Make
sure here the sub Use-case will perform if error occurs. If Authentication done successfully
then sub Use-case ‘log error’ will not perform. Thus extended Use-cases are optional
5 Relationships between Actors: Some time different Actors of the system has to be generalized
into one Actor. It is useful while the roles of different Actors are overlapping.
25
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
6 System Boundary: System boundary is a rectangular box, which represents whole system.
All the Use-cases are inside this rectangle box, to denote Use-cases are in the system.
Actors are the external entities so they are placed outside of the system (rectangle).
26
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
27
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Analysis model provides just provides overview of the class, that is names of the properties
and methods. Whereas,
Design model represents properties with its data type, and methods with arguments and
its return type. So, Design class diagram is more detailed version of the class diagram
1. Class: As we have seen in the above example in the class diagram class is represented as a rectangle
divided in the sections. First section shows the name of the class. Second section shows the attributes of
the class and third section shows methods of the class.
28
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
2. Relationships: Different types of relationships are described below:
1. Association:
It represents Physical or conceptual connections between the classes by association (simple line).
Other Examples:
Unidirectional Association:
Student class has a course relationship. (Student can register for course offer).
Bidirectional Association:
Person A marries to Person B , Person B marries to Perseon A.( both can call each other). It is
represented by simple line.
Association add multiplicity (number of instance of one class relate with number of instance with other
class).
29
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
2. Dependency:
A dependency is a relationship between two elements that indicates that changes to the source
element can cause changes in the target element. The notation for a dependency is a dashed arrow,
and the element at the tail of the arrow depends on the element at the arrowhead.
3. Aggregation:
Aggregation is special type of association. It ‘whole- part’ kind of association.
30
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
To show aggregation in a diagram, draw a line from the parent class to the child class with a
diamond shape near the parent class (aggregated).
An essential property of an aggregation relationship is that the whole or parent (i.e. the
owner) can exist without the part or child and vice versa
For Example:
Library has book class. If library class doesn’t exits than book exist. (Books can transfer to new library)
4. Composition:
Composition represents a strong 'has-a relationship' between two classes. It means both whole and its
parts cannot exist independently. This is represented by an arrow with a filled diamond and the arrow
points towards the whole class. Eg: House made of multiple rooms.It has strong relationship.
Generalization: Generalization is process of creating base class If two or more classes have common
attributes or methods. Common attributes and method are placed in the generalized class (base class).
31
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
Generalization can be represented by symbol:
32
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
33
Bhagwan Mahavir College of Computer Applications, Surat
SY.B.Sc. (IT) SEM 2
Unit 5. System Tools and Techniques
34