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 -
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.
The different DFDs are as follows -
A set of components are used by DFD and demonstrate the source, destination, storage and flow of the data.
The different levels of the DFD are as follows:
Until and unless the requested specification level is achieved, the higher level DFDs are converted into lower level DFDs.
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 -
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.
The data flow and control flow information is not provided by HIPO diagram.
A software program is structurally designed and documented by using Hierarchical presentation and IPO chart of the HIPO diagram.
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.
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.
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.
Program to print Fibonacci up to n numbers.
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.
The steps for creating a decision table are as follows -
The duplication of rules and actions can be removed by the end-users by verifying the decision tables.
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.
|Ping is Working||N||N||Y||Y||N||N||Y||Y|
|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|
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 -
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.
The different mapping cardinalities are -
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.
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.
Data Dictionary provides information about -
The means of DFDs which can be demonstrated in an algebraic form is known as Data Flow.
[ / ]
Address = House No + (Street / Area) + City + State
Course ID = Course Number + Course Name + Course Level + Course Grades
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 -
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 -
Processing of data can be done in two different ways -
Software Engineering Related Interview Questions
|Java Script Interview Questions||ASP.NET Interview Questions|
|MySQL Interview Questions||Manual Testing Interview Questions|
|Artificial Intelligence Interview Questions||Java Interview Questions|
|Software testing Interview Questions||Test Cases Interview Questions|
|Software Development Lifecycle (SDLC) Interview Questions||Software Process Engineer Interview Questions|
|Software Architecture and Design Interview Questions|
Software Engineering Tutorial
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.