Software Requirements.pdf
Document Details
Full Transcript
Software Requirements Module 4 Intended Learning Outcomes I. To define various software requirements in creation of programs and projects. II. To identify the factors that contributes to the failure of some released software....
Software Requirements Module 4 Intended Learning Outcomes I. To define various software requirements in creation of programs and projects. II. To identify the factors that contributes to the failure of some released software. 2 INTRODUCTION Software Requirements Analysis is a crucial step in the development process. It involves gathering, documenting, and analyzing the requirements for a software project to ensure that it meets the needs of the stakeholders and users. 3 In order to prevent misunderstandings like this there are 2 important things you need to know: 4 How to define requirements clearly How to keep track of changes during the development. 5 DEFINITION OF SOFTWARE REQUIREMENTS Identifying and defining software requirements begin with reviewing the functional or performance requirements developed to identify the constraints on software The system requirement that is allocated to software evaluations determines accuracy, completeness, and applicability of the requirements for work products 6 Continuation System requirements allocated to software are refined into greater detail to define derived software requirements. Program and project plans that include the capability to acquire reusable software; software requirements are always identified. 7 HOW TO DEFINE REQUIREMENTS ⬡ Identification of stakeholders ⬡ Collect requirements ⬡ Categorization of requirements ⬡ Interpretation and recording of requirements ⬡ Sign off 8 Software Requirement Development The creation of work product for software requirements is driven by execution and awareness of what flows from the beginning of requirement analysis to testing and validation, as seen in Figure. 9 Analysis Requirements analysis includes a step-by-step process to develop requirements for software work products to fulfill high-level user requirements, allocated system requirements, and ideas for system operational concepts. 10 What is software requirements analysis? Requirements analysis is the process of identifying, defining, and documenting the requirements of a software system. The goal of requirements analysis is to identify the user needs and translate them into specific, measurable, and achievable requirements that the software development team can use to design and develop the system. 11 Use Case A use case is developed to describe a flow of operations for the performance of systems and software implementation. The software use case defines the limitations or technical considerations based on target computers, the execution strategy for a work product, and computer operating systems. 12 A sample Use Case Diagram 13 Functions The function and architecture definitions are analyzed to ensure an accurate and complete understanding of what software is expected to perform. If program and project plans include reusable software, derived requirements are identified and evaluated for inclusion. 14 Architecture The architecture interface definition is identified and defined as part of derived software requirements. Graphical representations are prepared and take the form of data flows and software component diagrams. 15 Integration The integration of requirements is the transformation of a functional architecture into optimal design solutions. Implementation of disciplined interface management principles is critical for planning resources and to perform systems build integration activities for the execution of meeting software engineering requirements. 16 Verification and Validation Software requirements are reviewed to ensure verification and validation. The priority of each requirement is supportive with program and project resources to determine the extent of verification and validation for each defined requirement. The verification and validation for each requirement is identified. 17 KEEPING TRACK OF CHANGES It is one thing to capture all requirements for a project. The other thing is to ensure that all the requirements are met by the product. The Requirements Traceability Matrix can help you to keep track of all the requirements and associated test cases. 18 Requirements Traceability Matrix The matrix links requirements with derived product specifications and test cases. This is what the matrix looks like: 19 The requirements documentation includes software requirements and related information generated, including use cases and derived software requirements, which are the source of each requirement. The software requirements definition is documented according to development plans, software processes, and product standards. 20 3 Types of Software Requirement ⬡ Functional requirements. ⬡ Non-functional requirements. ⬡ Domain requirements. 21 Functional Requirements These are the requirements that the end user specifically demands as basic facilities that the system should offer. It can be a calculation, data manipulation, business process, user interaction, or any other specific functionality which defines what function a system is likely to perform. 22 Non-functional requirements These are basically the quality constraints that the system must satisfy according to the project contract.Nonfunctional requirements, not related to the system functionality, rather define how the system should perform The priority or extent to which these factors are implemented varies from one project to other. 23 Domain requirements Domain requirements are the requirements which are characteristic of a particular category or domain of projects. Domain requirements can be functional or nonfunctional. 24 Advantages of classifying software requirements ⬡ Better organization ⬡ Improved communication ⬡ Increased quality ⬡ Improved traceability 25 Disadvantages of classifying software requirements ⬡ Complexity ⬡ Rigid structure ⬡ Misclassification 26 Thank you! IT312 – System Integration and Architecture 27