UNIT 2
Software Requirements
Solution: Requirement Engineering is the disciplined application of proven principles, methods, tools, and notations to describe a proposed system’s intended behaviour and its associated constraints. SRS may act as a contract between developer and customer
State of practice
It is a four-step process, which includes:
2. Explain SRS? What are the Properties of a good SRS document?
Solution Software requirement specification (SRS) is a formal document, which is a representation of software that enables the users to review whether it (SRS) is according to their requirements or not.it includes user requirement for a system as well as detailed specification of the system requirement. The structure of SRS differs according to the project and the requirements.
The essential properties of a good SRS document are the following:
Concise: The SRS report should be concise and at the same time, unambiguous, consistent, and complete.
Structured: A well-structured document is simple to understand and modify.as user requirements are evolving continuously many revisions are need to be made to cope up with changing requirements.
Black-box view: External behaviour of the system should be defined in SRS and implementation issues are refrained from it. The SRS report should view the system to be developed as a black box and should define the externally visible behaviour of the system. Due to this the SRS report is also known as the black-box specification of a system.
Conceptual integrity: conceptual integrity should be there as response to undesired events: It should characterize acceptable responses to unwanted events. These are called system response to exceptional conditions.
Verifiable: each requirement of the system documented in the SRS document, should be clear and correct. So that it’s possible to decide whether or not requirements have been met in an implementation.
3. What is requirements validation?
Solution: It is desirable to detect errors in the requirements before the design and development of the software begin. To check all the issues related to requirements, requirements validation is performed. Requirements validation is similar to requirements analysis as both these processes review the gathered requirements. Requirements validation studies the ‘final draft’ of the requirements Document, while, requirements analysis studies the ‘raw requirements’ from the system users.
The output of requirement validation is a list of problems and agreed possible solutions actions of the problems. The lists of problems shows the problems encountered in the requirements document of requirement validation process. The agreed solution is a list that displays the actions to
be performed to resolve the problems.
4. Explain Requirements analysis in brief.
Solution: Requirements analysis is (1) the process of studying user needs to arrive at a definition of a system, hardware, or software requirements. (2) The process of studying and refining system, hardware, or software requirements.
Steps in Requirements analysis
5. Write a short note on Requirements Management.
Solution: Requirements management is a process of eliciting, documenting, organizing and controlling changes to the requirements. The process of requirements management begins as soon as requirements document is available, but ‘planning’ for managing the changing requirements should start during requirement elicitation process.
6. Elaborate structured analysis?
Solution: Structured analysis is a top-down approach, which focuses on refining the problem with the help of functions performed in the problem domain and data produced by these functions. Generally, the structured analysis is depicted by a data flow diagram, which uses several levels to provide detailed information about the system.
The basic principles of this approach are:
• To facilitate software engineer in order to determine the information received during analysis and to organize the information to avoid complexity of the problem.
• To provide a graphical representation to develop new software or enhance the
Existing software.
7. What is requirement elicitation?
Solution: Requirements elicitation, also known as requirements capture and requirements acquisition, is a process of collecting information about software requirements from different individuals, such as users.
The commonly followed elicitation techniques are listed below:
• Interviews
• Scenarios
• Prototypes
• Quality function deployment (QFD)
8. Define feasibility and its types.
Solution:Feasibility determines or refers to the evaluation of possibility of the software process, design, procedure, or plan to know whether they can be successfully accomplished or not. To evaluate feasibility, a feasibility study is performed, which determines whether the solution considered to accomplish the requirements is practically possible or not.
Types of feasibility include:
Technical feasibility assesses the current resources (such as hardware and software) and technology, which are required to accomplish user requirements in the software within the allocated time and budget.
Operational feasibility assesses the extent to which the required software performs
Series of steps to solve business problems and user requirements.
Economic feasibility determines whether the required software is capable of generating economic benefits for an organization or not.
9. Differentiate between Functional and Non-functional requirements
Solution:
Functional | Non-functional |
The functional requirements, also known as behavioural requirements, describe the functionality or services that software should provide. For this, functional requirements describe the interaction of software with its environment and specify the inputs, outputs, external interfaces and sometimes, the functions that should not be included in the software.
| The non-functional requirements, also known as quality requirements, relate to system attributes, such as reliability and response time. Different types of non-functional requirements include product requirements, organizational requirements, and external Requirements. |
10. Briefly explain Data dictionary.
Solution: A data dictionary is an organized collection of information about data and their relationships, data flows, data types, data stores, processes, and so on. It also helps users to understand the data types and processes defined along with their uses.
11. What is the difference between SRS document and design document?
SRS Document
Solution: Consider a flow graph given below and calculate the Cyclomatic SRS document is a contract between the development team and the customer. Once the SRS document is approved by the customer, any subsequent controversies are settled by referring the SRS document. SRS document defines the customer’s requirements in terms of Functions, performance, external interfaces and design constraints.
SRS Includes:
• Functional
• Non functional
• User
• Interface
• System
Design Document
The purpose of a design is to describe how the enhancements will be incorporated into the existing project. It should contain samples of the finished product. This could include navigational mechanism screenshots, example reports, and component diagrams.
Design Includes:
• E-R Diagrams
• Data flow diagrams
• Data Dictionary