Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

TOOLS OF THE SYSTEM ANALYST

Traditional Design Tools

GANTT Chart

What is a Gantt chart?

A Gantt chart, commonly used in project management, is one of the most popular and
useful ways of showing activities (tasks or events) displayed against time. On the left of the chart
is a list of the activities and along the top is a suitable time scale. Each activity is represented by
a bar; the position and length of the bar reflects the start date, duration and end date of the
activity. This allows you to see at a glance:

What the various activities are

When each activity begins and ends

How long each activity is scheduled to last

Where activities overlap with other activities, and by how much

The start and end date of the whole project

To summarize, a Gantt chart shows you what has to be done (the activities) and when (the
schedule).

A simple GANTT chart

1
Decision Trees

A decision tree is a decision support tool that uses a tree-like graph or model of decisions
and their possible consequences, including chance event outcomes, resource costs, and utility. It
is one way to display an algorithm.

Decision trees are commonly used in operations research, specifically in decision analysis, to
help identify a strategy most likely to reach a goal, but are also a popular tool in machine
learning.

Decision tree builds classification or regression models in the form of a tree structure. It
breaks down a dataset into smaller and smaller subsets while at the same time an associated
decision tree is incrementally developed.

Drawn from left to right, a decision tree has only burst nodes (splitting paths) but no sink
nodes (converging paths). Therefore, used manually, they can grow very big and are then
often hard to draw fully by hand. Traditionally, decision trees have been created manually
as the aside example shows although increasingly, specialized software is
employed.

Decision rules
The decision tree can be linearized into decision rules, where the outcome is the contents
of the leaf node, and the conditions along the path form a conjunction in the if clause. In general,
the rules have the form:

if condition1 and condition2 and condition3 then outcome.

2
Decision rules can be generated by constructing association rules with the target variable on the
right. They can also denote temporal or causal relations.

Decision Tables

A decision table is an excellent tool to use in both testing and requirements management.
Essentially it is a structured exercise to formulate requirements when dealing with complex
business rules. Decision tables are used to model complicated logic. They can make it easy to
see that all possible combinations of conditions have been considered and when conditions are
missed, it is easy to see this.

Lets take an example scenario for an ATM where a decision table would be of use.

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. Already, this simple example of a business rule is quite
complicated to describe in text. A decision table makes the same requirements clearer to
understand:

In a decision table, conditions are usually expressed as true (T) or false (F). Each
column in the table corresponds to a rule in the business logic that describes the unique

3
combination of circumstances that will result in the actions. The table above contains three
different business rules, and one of them is the withdrawal is granted if the requested amount is
covered by the balance. It is normal to create at least one test case per column, which results in
full coverage of all business rules.

One advantage of using decision tables is that they make it possible to detect
combinations of conditions that would otherwise not have been found and therefore not
tested or developed. The requirements become much clearer and you often realize that some
requirements are illogical, something that is hard to see when the requirements are only
expressed in text.

A disadvantage of the technique is that a decision table is not equivalent to complete


test cases containing step-by-step instructions of what to do in what order. When this level of
detail is required, the decision table has to be further detailed into test cases.

Decision tables can be used in all situations where the outcome depends on the
combinations of different choices, and that is usually very often. In many systems there are tons
of business rules where decision tables add a lot of value.

Decision tables should best be constructed during system design, since they become useful
to both developers and testers. The requirements specialist also becomes more confident that
everything that is important is actually documented. If there are no decision tables, testers can
create them during test design to be able to write better test cases.

Flowcharts

A flowchart is a type of diagram that represents an algorithm, workflow or process,


showing the steps as boxes of various kinds, and their order by connecting them with arrows.
This diagrammatic representation illustrates a solution model to a given problem. Flowcharts are
used in analyzing, designing, documenting or managing a process or program in various fields.

A flowchart is described as "cross-functional" when the page is divided into different


swimlanes describing the control of different organizational units. A symbol appearing in a
particular "lane" is within the control of that organizational unit. This technique allows the author

4
to locate the responsibility for performing an action or making a decision correctly, showing the
responsibility of each organizational unit for different parts of a single process.

A diagram of the sequence of movements or


actions of people or things involved in a complex
system or activity.

A graphical representation of a computer


program in relation to its sequence of
functions (as distinct from the data it
processes).

A flowchart is a visual representation of the


sequence of steps and decisions needed to
perform a process. Each step in the sequence
is noted within a diagram shape. Steps are
linked by connecting lines and directional
arrows. This allows anyone to view the
flowchart and logically follow the process
from beginning to end.

Common Shapes
The following are some of the commonly used shapes used in flowcharts. Generally, flowcharts
flow from top to bottom and left to right.

Shape Name Description


Flow Line An arrow coming from one symbol and ending at another symbol
represents that control passes to the symbol the arrow points to.
The line for the arrow can be solid or dashed. The meaning of the
arrow with dashed line may differ from one flowchart to another

5
and can be defined in the legend.
Represented as circles, ovals, stadiums or rounded (fillet)
rectangles. They usually contain the word "Start" or "End", or
Terminal
another phrase signaling the start or end of a process, such as
"submit inquiry" or "receive product".
Represented as rectangles. This shape is used to show that
Process something is performed. Examples: "Add 1 to X", "replace
identified part", "save changes", etc....
Represented as a diamond (rhombus) showing where a decision is
necessary, commonly a Yes/No question or True/False test. The
conditional symbol is peculiar in that it has two arrows coming
out of it, usually from the bottom point and right point, one
corresponding to Yes or True, and one corresponding to No or
Decision
False. (The arrows should always be labeled.) More than two
arrows can be used, but this is normally a clear indicator that a
complex decision is being taken, in which case it may need to be
broken-down further or replaced with the "predefined process"
symbol. Decision can also help in the filtering of data.
Represented as a parallelogram. Involves receiving data and
Input/Output displaying processed data. Can only move from input to output
and not vice versa. Examples: Get X from the user; display X.
Annotations represent comments or remarks about the flowchart.
Like comments found in high-level programming languages, they
Annotation have no effect on the interpretation or behavior of the flowchart.
Sometimes, the shape consists of a box with dashed (or dotted)
lines.
Predefined Represented as rectangles with double-struck vertical edges;
Process these are used to show complex processing steps which may be
detailed in a separate flowchart. Example: PROCESS-FILES.
One subroutine may have multiple distinct entry points or exit

6
flows (see coroutine). If so, these are shown as labeled 'wells' in
the rectangle, and control arrows connect to these 'wells'.
Represented as a hexagon. May also be called initialization.
Shows operations which have no effect other than preparing a
Preparation value for a subsequent conditional or decision step. Alternatively,
this shape is used to replace the Decision Shape in the case of
conditional looping.
Generally represented with a circle, showing where multiple
control flows converge in a single exit flow. It will have more
than one arrow coming into it, but only one going out. In simple
cases, one may simply have an arrow point to another arrow
instead. These are useful to represent an iterative process (what in
On-Page Computer Science is called a loop). A loop may, for example,
Connector consist of a connector where control first enters, processing steps,
a conditional with one arrow exiting the loop, and one going back
to the connector. For additional clarity, wherever two lines
accidentally cross in the drawing, one of them may be drawn with
a small semicircle over the other, showing that no connection is
intended.
Represented as a home plate-shaped pentagon. Similar to the on-
Off-Page
page connector except allows for placing a connector that
Connector
connects to another page.

Structured Design Tools

Data Dictionary

A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing,


is a "centralized repository of information about data such as meaning, relationships to other
data, origin, usage, and format." The term can have one of several closely related meanings
pertaining to databases and database management systems (DBMS):

7
One of the most important parts of an Oracle database is its data dictionary, which is a read-
only set of tables that provides information about the database. A data dictionary contains:

The definitions of all schema objects in the database (tables, views, indexes,
clusters, synonyms, sequences, procedures, functions, packages, triggers,
and so on)

How much space has been allocated for, and is currently used by, the
schema objects

Default values for columns

Integrity constraint information

The names of Oracle users

Privileges and roles each user has been granted

Auditing information, such as who has accessed or updated various schema objects

Other general database information

8
Data Flow Diagrams

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modelling its process aspects. A DFD is often used as a preliminary step to
create an overview of the system, which can later be elaborated. DFDs can also be used for the
visualization of data processing (structured design).

A DFD shows what kind of information will be input to and output from the system,
where the data will come from and go to, and where the data will be stored. It does not show
information about the timing of process or information about whether processes will operate in
sequence or in parallel (which is shown on a flowchart).

9
o Context Diagrams

The Context Diagram shows the system under consideration as a single high-level
process and then shows the relationship that the system has with other external entities
(systems, organizational groups, external data stores, etc.).

o Decomposing Data Flow Diagrams

A Data-Flow Diagram (DFD) is a graphical visualization of the movement of data


through an information system. DFDs are one of the three essential components of the
structured-systems analysis and design method (SSADM). A DFD is process centric and depicts
4 main components.

Processes (circle)
External Entities (rectangle)
Data Stores (two horizontal, parallel lines or sometimes and ellipse)
Data Flows (curved or straight line with arrowhead indicating flow direction)

10
Hierarchy Plus Input-Process-Output (HIPO)

HIPO model (short for hierarchical input process output model) is a systems analysis
design aid and documentation technique from the 1970s, used for representing the modules of a
system as a hierarchy and for documenting each module.

It was used to develop requirements, construct the design, and support implementation of
an expert system to demonstrate automated rendezvous. Verification was then conducted
systematically because of the method of design and implementation.

The overall design of the system is documented using HIPO charts or structure charts.
The structure chart is similar in appearance to an organizational chart, but has been modified to
show additional detail. Structure charts can be used to display several types of information, but
are used most commonly to diagram either data structures or code structures.

11
IBM stencil for HIPO.
Structured English

Structured English is the use of the English language with the syntax of structured
programming to communicate the design of a computer program to non-technical users by
breaking it down into logical steps using straightforward English words. Structured English gives
aims to get the benefits of both the programming logic and natural language: program logic helps
to attain precision, whilst natural language helps with the familiarity of the spoken word.

12
It is the basis of some programming languages such as SQL (Structured Query Language)
"for use by people who have need for interaction with a large database but who are not trained
programmers".

Elements
Structured English is a limited-form "pseudocode" and consists of the following elements:

1. Operation statements written as English phrases executed from the top down

2. Conditional blocks indicated by keywords such as IF, THEN, and ELSE

3. Repetition blocks indicated by keywords such as DO, WHILE, and UNTIL

The following guidelines are used when writing Structured English:[3]

1. All logic should be expressed in operational, conditional, and repetition blocks

2. Statements should be clear and unambiguous

3. Logical blocks should be indented to show relationship and hierarchy

4. Use one line per logical element, or indent the continuation line

5. Keywords should be capitalized

6. Group blocks of statements together, with a capitalized name that describes their function
and end with an EXIT.

7. Underline words or phrases defined in a data dictionary

8. Mark comment lines with an asterisk

Example of Structured English


A bank will grant loan under the following conditions

13
1. If a customer has an account with the bank and had no loan outstanding, loan will be
granted.

2. If a customer has an account with the bank but some amount is outstanding from previous
loans then loan will be granted if special approval is given.

3. Reject all loan applications in all other cases.

Warnier-Orr Diagrams

A Warnier/Orr diagram (also known as a logical construction of a program/system) is a


kind of hierarchical flowchart that allows the description of the organization of data and
procedures. They were initially developed in France by Jean-Dominique Warnier and in the
United States by Kenneth Orr. This method aids the design of program structures by identifying
the output and processing results and then working backwards to determine the steps and
combinations of input needed to produce them. The simple graphic method used in Warnier/Orr
diagrams makes the levels in the system evident and the movement of the data between them
vivid.

14
Nassi-Shneiderman Charts

A NassiShneiderman diagram (NSD) in computer programming is a graphical design


representation for structured programming. This type of diagram was developed in 1972 by Isaac
Nassi and Ben Shneiderman who were both graduate students at SUNY-Stony Brook. These
diagrams are also called structograms, as they show a program's structures.

15
DIAGRAMS

Process blocks: the process block represents the simplest of steps and requires no analyses.
When a process block is encountered the action inside the block is performed and we move onto
the next block.

Process blocks

Branching blocks: there are two types of branching blocks. First is the simple True/False or
Yes/No branching block which offers the program two paths to take depending on whether or not
a condition has been fulfilled. These blocks can be used as a looping procedure stopping the
program from continuing until a condition has been fulfilled.

True/False branching blocks

The second type of branching block is a multiple branching block. This block is used when a
select case is needed in a program. The block usually contains a question or select case. The
block provides the program with an array of choices and is often used in conjunction with sub
process blocks to save space.

16
Multiple branching blocks

Testing loops: this block allows the program to loop one or a set of processes until a particular
condition is fulfilled. The process blocks covered by each loop are subset with a side-bar
extending out from the condition.

There are two main types of testing loops, test first and test last blocks. The only difference
between the two is the order in which the steps involved are completed. In the test first situation,
when the program encounters the block it tests to see if the condition is fulfilled, then, if it is not
completes the process blocks and then loops back. The test is performed again and, if the
condition is still unfulfilled, it processes again. If at any stage the condition is fulfilled the
program skips the process blocks and continues onto the next block.

Test first loop block

The test last block is simply reversed, the process blocks are completed before the test is
performed. The test last loop allows for the process blocks to be performed at least once before
the first test.

17
Test last loop block

Concurrent execution can be drawn like this:

Parallel processing
Presentation Graphs

The software includes functions for creating various types of charts and graphs and for
inserting text in a variety of fonts. Most systems enable you to import data from a spreadsheet
application to create the charts and graphs. Presentation graphics is often called business
graphics.

18
REQUIREME
NT NO. 4
ITCSAND
FRIDAY-SATURDAY
5:30-7:00

ABUCOT, E.M.
ALDE, I.M.
BIDUA, J.
CAPOQUIAN, H.S.
TIZON, J.H.

19

You might also like