Software Analysis and Design Tools - Software Engineering

What are the different tools of Software Analysis and Design?

All the activities that are involved in converting requirements into implementation are considered as Software analysis and design. The expectations from the software are indicated by requirements which are in the normal documents that are in human understandable language.

These human readable requirements are converted into the computer code by software analysis and design.

The different tools of software analysis and design are as follows -

Data Flow Diagram

In an information system, the data flow is demonstrated by data flow diagram. These diagrams are usually graphs. The flow of data that is coming in and going out and the data that is stored is represented graphically by data flow diagram.

It is to be noted that DFD is not the same as Flowchart. For program modules, the control flow is represented by flow charts and for the system the data flow is represented by DFDs.

What are the different types of DFD?

The different DFDs are as follows -

  • Logical DFD – The data flow within the system is represented by Logical DFD. For instance, the flow of data between different branches of a banking system.
  • Physical DFD – The implementation of the data flow within the system is represented by Physical DED.

What are the components of DFD?

A set of components are used by DFD and demonstrate the source, destination, storage and flow of the data.

DFD Components

  • Entities – The source and destination of the data are considered as entities. DFD depict an entity with a rectangle along with the name of the entity.
  • Process – Process involves the activities and actions upon the data. DFD depict the process by a circle or by round-edged rectangles.
  • Data Storage – The storage of the data is depicted by DFD either with an rectangle without one side or with rectangle without both smaller sides.
  • Data Flow – DFD depicts the flow of data by using pointed arrows. The source of data is represented by the base of the arrow and the destination of data is represented by the head of the arrow, pointing towards the destination.

What are the different levels of DFD?

The different levels of the DFD are as follows:

  • Level 0 – The DFD which represents the complete information system in a single diagram is known as Level 0 DFD and hence is considered as highest abstraction level DFD. They are also called as context level DFDs.

DFD  Level 0

  • Level 1 – In order to put it in a more specific manner Level 0 DFD is split into Level 1 DFD. All the system basic modules and the pattern of data flow within the modules is represented by Level 1 DFD. The details about the information source and the processes involved are also depicted by Level 1 DFD.

DFD Level 1

  • Level 2 – The flow of data within the module is represented by Level 2 DFD.

Until and unless the requested specification level is achieved, the higher level DFDs are converted into lower level DFDs.

Structure Charts

A chart that can be prepared on the basis on Data flow diagram is known as a structure chart. The system is depicted more clearly and in more detail when compared to that of DFD. The system is split into multiple modules that function independently. For each of such modules, functions and sub-functions are represented by structure charts.

The module structure is demonstrated by the structure chart in an hierarchy. Tasks are performed at each level of hierarchy.

Structure charts use the following symbols -

  • Module – The process of the task is demonstrated by a Module. Modules can be Control Module, Sub-modules and Library module. Control module can be further divided into sub-modules. The modules that can be re-used are represented as Library modules.

SC Module

  • Condition – When there is a condition on the basis of which the control module need to select the sub-modules, then that condition is represented by a small diamond shape at the base of the control module.

SC Condition

  • Jump – The jumping of the control module inside the middle of the sub-module is represented by an arrow.

SC Module Jump

  • Loop – When execution of the sub-modules need to be repeated, then the loop of all the sub-modules is represented by a curved arrow.

SC Loop

  • Data flow – The flow of the data is demonstrated by an arrow with empty circle at the end.

SC Data Flow

  • Control flow – The flow of the control is demonstrated by a directed arrow with filled circle at the end.

SC Control Flow

HIPO Diagram

The method of analyzing the system combined with the method of facilitating the documentation means, is depicted and is known as Hierarchical Input Process Output, HIPO Diagram.

The modules of the software system are placed in a hierarchy by HIPO diagrams. High-level view for the functions of the system can be achieved by using HIPO diagrams. The functions are further classified into sub-functions and the system functions are demonstrated by HIPO diagram.

HIPO diagram are very useful for documenting. Designers and managers are enabled to easily understand the structure of the system by providing the structure in a graphical form.

HIPO Diagram

The data flow and control flow information is not provided by HIPO diagram.

IPO Chart

Example

A software program is structurally designed and documented by using Hierarchical presentation and IPO chart of the HIPO diagram.

Structured English

The complete picture of the software is not known to the programmers. The higher level of management has to facilitate the programmers with complete and correct information, which enables them to develop the accurate code.

At some instances, there are chances that different people interpret diagrams and graphs in different manner.

To overcome such situations, Structured English tool is used. The details about what exactly is to be coded and how it should be coded is described very precisely by Structured English, thus enabling the programmer to develop an error-free code.

Structured English enables to reduce the gap of misunderstanding which may occur by using graphs or diagrams.

In structured English, simple words of English are used in the concept of structured programming. It provides detailed information about what is to be coded and how it is to be coded.

Structured programming uses some of the tokens such as

The variables and tokens are stored in the Data Dictionary. The use of the stored variables and tokens enables the analyst to appropriately understand and thus make the writing of the code simple.

Example

For instance, for an online shopping, consider the Customer Authentication. The procedure for customer authentication is provided by structured English as follows -

The structure English code is similar to that of normal English. And hence it is not directly implemented. It is not a part of programming language.

Pseudo-Code

Unlike structure English, Pseudo-code mostly resembles programming language. All descriptions and comments are included in Pseudo-code.

The constructs of some of the programming languages like C, Fortran, Pascal are used for writing Pseudo-code.

The Pseudo code language is computer understandable language which provides the details and methodology of performing the task.

Example

Program to print Fibonacci up to n numbers.

Decision Tables

Different conditions and the actions that are taken to address these conditions are represented by Decision Tables.

Decision tables helps in preventing the errors. By using Decision Tables, similar type of information can be combined and grouped into a single table. Decision-making is made more convenient by combining these tables.

How to create a Decision Table?

The steps for creating a decision table are as follows -

  • All the conditions that are likely to be addressed are identified.
  • For the conditions thus identified, the relevant actions are determined.
  • To the maximum possible extent, rules are created.
  • For each of the specific rule, action needs to be defined.

The duplication of rules and actions can be removed by the end-users by verifying the decision tables.

Example

For instance, consider the problem of internet connectivity. This issue is resolved by firstly identifying all the starting problems of the internet and accordingly identify the possible solutions.

The problems are mentioned under the column conditions and the actions are mentioned under the column actions.


Conditions/Actions
Rules
Conditions Shows Connected N N N N Y Y Y Y
Ping is Working N N Y Y N N Y Y
Opens Website Y N Y N Y N Y N
Actions Check network cable X
Check internet router X X X X
Restart Web Browser X
Contact Service provider X X X X X X
Do no action

Entity-Relationship Model

On the basis of the concept of real-world entities and their relationship, a database model is developed, which is known as Entity-Relationship model. ER database model enables to link with a real world scenario. The entities along with the attributes and constraints are created by an ER model.

The database can be designed on the basis of concept by using ER Model. ER model can be depicted as follows -

ER Model

  • Entity – The real world being associated with properties is known as an entity. The properties are known as attributes. The respective set of values defines an attribute. The set of values is known as domain.

For instance, in a database of a school, student is considered as an entity. The attributes of the entity are name, id, age and class etc.

  • Relationship – The entities when linked with each other in a logical manner is known as relationship. Different combinations of mapping can be done for developing relationships. Between two entities, number of associations is defined by the cardinalities of mapping.

The different mapping cardinalities are -

  1. one to one
  2. one to many
  3. many to one
  4. many to many

Data Dictionary

The complete information about the data is collected and stored centrally is Data dictionary. The information about the data that is stored in data dictionary is information related to origin of the data, relations with other data, format of data usage. The users and software designers are facilitated with all the definitions pertaining to any data.

As it stores information about the data, it is considered as data about data repository, in other words meta-data repository. When the Data Flow Diagram of the software is developed, and each and every time the DFD is updated, Data dictionary is also prepared.

What is the Requirement of a Data Dictionary?

Particular software is designed and implemented by referring to the data provided by data dictionary. Data dictionary enables to eliminate ambiguity and the designers and programmers are enabled to synchronize the work.

Complete information about a particular database system is made available at one place by Data dictionary. Data dictionary serves as the basis for validating DFD.

What are the content of Data Dictionary?

Data Dictionary provides information about -

  • Data Flow
  • Data Structure
  • Data Elements
  • Data Stores
  • Data Processing

Data Flow

The means of DFDs which can be demonstrated in an algebraic form is known as Data Flow.

=
Composed of
{}
Repetition
()
Optional
+
And
[ / ]
Or

Example

Address = House No + (Street / Area) + City + State

Course ID = Course Number + Course Name + Course Level + Course Grades

Data Elements

The information about the data names and their descriptions, information about the control items, data stores (both external and internal) are provided by Data Elements. Data Elements provide the information about -

  • Primary Name
  • Secondary Name (Alias)
  • Use-case (How and where to use)
  • Content Description (Notation etc. )
  • Supplementary Information (preset values, constraints etc.)

Data Store

The information related to the sources of data flow and the destinations of the data is stored in Data Store. Data Store comprise of the following -

  • Files
    • Internal to software.
    • External to software on the same machine.
    • External to software and system, located on different machine.
  • Tables
    • Naming convention
    • Indexing property

Data Processing

Processing of data can be done in two different ways -

  • Logical: From the view point of the user
  • Physical: From the view point of the software

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Software Engineering Topics