The features and functionalities of the target system are described by the system requirements. The user expectations from a software product are described as requirements. The requirements can be of many types. They can be either hidden or obvious, they can be either unknown or known, and they can be either expected or unexpected.
The software requirements are gathered from the client, they are analyzed and documented and the complete process of gathering, analyzing and documentation is known as requirement engineering.
A sophisticated and descriptive system Requirements Specification document is developed and maintained by requirement engineering.
The process of requirement engineering has four steps. They are -
The client comes with the rough idea of the functions to be performed by the software and the expected features from the software, for obtaining the desired product to be developed by the organization.
In accordance with the information provided, a detailed feasibility study is performed by the analysts.
The feasibility study is oriented towards achieving the goals of the organization. Whether the product can be materialized practically or not can be analyzed by this study. The study also analyzes the project contribution to the organization, cost constraints and the objectives of the organization. Some of the technical aspects of project and product such as usability, maintainability, productivity and integration ability are explored by this study.
The feasibility study report includes comments and recommendations that enable the management to decide on undertaking the project.
The requirements from the user are gathered once the feasibility report turns to be positive. The clients and the end users are communicated by the engineers and analysts for gathering the requirements regarding the features that are to be included in the software and what exactly the software should provide.
Once the requirements are collected from various stakeholders, the system analyst creates a document which is known as Software Requirement Specification SRS.
The information about the interaction of the intended software with hardware, the speed of operation, the external interfaces, the after crash speed of recovery, quality, security etc are defined by SRS.
The client requirements are usually in natural language. The requirements are documented in technical language enabling them easily used by the software development team.
The features of SRS are as follows:
On developing the requirement specifications, validate the documented requirements. There are instances that illogical or impractical solutions may be demanded by the users or the requirements may be interpreted incorrectly, thus leading to increase in the cost. The requirements are checked under certain conditions. They are -
The process of requirement elicitation is depicted below -
Ambiguity about the requirements is removed by discussing with the stakeholders.
The requirements of an desired software system are identified by communicating with the end users, system users and with the clients, and this process is referred as requirement elicitation.
Requirements can be identified by using different ways. They are
Requirements can be collected by performing interviews which are considered as the strongest medium. Different types of interviews can be conducted. They are -
The expectations of the stakeholders are known by conducting surveys among the stakeholders.
The stakeholders are enabled to answer some of the pre-defined set of questions. The answers provided by the stakeholders are collected and compiled together.
The major drawback with this is that if appropriate option is not available for the question, then the question is left unanswered.
The operation for which there is a requirement of the new system is analyzed by developers and engineers. Already existing software which can perform some of the operations at the client side is studied by the developers and collects the requirements for the proposed system.
Some of the general and specific requirements can be analyzed by the domain experts.
For future analysis of the requirements, an informal debate is conducted among the various stakeholders.
Without adding the functions, user interface is build which is known as prototyping. Prototype provides detailed interpretation of the desired software product. A better insight of the requirements is provided by prototyping. In the absence of the software at the client’s end, a prototype based on the initial requirements of the client is developed. The feedback is taken from the client y showing the prototype of the client. The feedback thus provided by the user serves as a basis for gathering relevant and qualitative requirement.
The organization or the workplace of the client is visited by the experts to observe how the existing installed system works. The expert’s observation is on the areas of dealing of the execution problems by the client. By this observations some conclusion are drawn by the experts which also form some of the requirements.
The basic foundation of the software development project is gathering of the software requirements. Hence, the software requirement specification to be complete must have the following features -
It is very essential to understand the type of requirements which are expected from the software system and the types of requirements that arise during the phase of requirement elicitation.
The software requirements are categorized in two categories:
The requirements that correspond to the functions of the software come under the category of functional requirements.
The functions of the software and the functionality of the software is defined by functional requirements.
The non function related requirements are known as non-functional requirements. They are considered as the characteristics which the users are assumed of.
The requirements of non-functional category include -
On the logical aspects, the requirements are categorized into -
The software is developed by implementing the ‘Must have’ requirements and for ‘Should have’ requirements, the developer needs to discuss with the stakeholders and the software can be updated by ‘could have’ and ‘wish list’ requirements.
For all the software, hardware or hybrid systems, UI constitute an important part. The software is accepted on the following grounds -
On the basis of how comfortable the user use the software, the acceptance of the user is depends. The system is allowed to be perceived by the user only through UI. An attractive, responsive and clear user interface needs to be accompanied by the well performing software system which may lead to improper use of the functionality of the software system. The means for efficient use of the system is a good system. The requirements related to user interface are as follows -
The requirements of the proposed system are analyzed and the person who ensured proper documentation of the requirements is known as system analyst. At the software analysis phase of SDLC, the system analyst comes into picture. It is the analyst who needs to ensure that the developed software meets the client requirements.
The responsibilities of a system analyst are as follows -
The process by which different attributes and aspects of the software are measured is known as Software Measures.
For different aspects of the software product and process, measures are provided by Software Metrics.
The fundamental requirements of any software engineering are known as software measures. Software measures are meant for controlling the process of software development and assist in maintaining the excellent quality of the desired product.
It is said that the thing that is not measured cannot be able to control. Hence software measures are very essential.
There are many types of software metrics. They are -
On the other hand, the quality of the product is defined by the number of defects identified in the process of development and number of defects that the client reports.
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.