Lesson 4-- Capturing the Requirements- Software Requirements

  • 格式:pdf
  • 大小:294.43 KB
  • 文档页数:72
Lesson 4-- Capturing the Requirements- Software Requirements
CHU Wang
2009
1. Introduction
♦ Software requirements analysis is a software engineering task that bridges the gap between system level requirements engineering and software design. ♦ Requirements analysis activities result in the specification of software’s operational characteristics (function, data, and behavior), indicate software's interface with other system elements, and establish constraints that software must meet.
2
♦ Requirements analysis allows analyst to build models of the data, functional, and behavioral domains that will be treated by software. ♦ Requirements analysis provides the software designer with a representation of information, function, and behavior that can be translated to data, architectural, interface, and component-level designs. ♦ The requirements specification provides the developer and the customer with the means to assess quality once software is built.
18
♦ A logical model makes the software requirements understandable as a whole, not just individually. ♦ A logical model should be built iteratively. Some tasks may need to be repeated until the description of each level is clear and consistent.
3
4
The main outputs of the SR phase: ♦ Software Requirements Document (SRD); ♦ Software Project Management Plan for the AD phase (SPMP/AD); ♦ Software Configuration Management Plan for the AD phase(SCMP/AD);
6
♦ Besides the developer, participants in the SR phase should include users, systems engineers, hardware engineers and operations personnel. ♦ Project management should ensure that all parties can review the requirements, to minimize incompleteness and error. ♦ SR phase activities must be carried out according to the plans defined in the UR phase. Progress against plans should be continuously monitored by project management and documented at regular intervals in progress reports.
12
♦ The second set of questions enables the analyst to gain a better understanding of the problem: • How would you characterize "good" output that would be generated by a successful solution? • What problem(s) will this solution address? • Can you show me the environment in which the solution will be used? • Will special performance issues or constraints affect the way the solution is approached?
Hale Waihona Puke 9♦ Rank requirements. Tight deadlines may preclude the implementation of every software requirement. ♦ Work to eliminate ambiguity. Most requirements are described in a natural language, the use of formal reviews is one way to uncover and eliminate ambiguity.
13
♦ The final set of questions focuses on the effectiveness of the meeting: • Are you the right person to answer these questions? Are your answers "official"? • Are my questions relevant to the problem that you have? • Can anyone else provide additional information?
8
♦ Record the origin of and the reason for every requirement. This is the first step in establishing traceability back to the customer. ♦ Use multiple views of requirements. Building data, functional, and behavioral models provide the software engineer with three different views.
7
2. Processes
Guiding principles : ♦ Understand the problem before you begin to create the analysis model. . ♦ Develop prototypes that enable a user to understand how human/machine interaction will occur.
15
A number of questions answered by the use-case: • What main tasks or functions are performed by the actor? • What system information will the actor acquire, produce, or change? • Will the actor have to inform the system about changes in the external environment?
14
♦ As requirements are gathered as part of informal meetings, the analyst can create a set of use-cases, provide a description of how the system will be used.
10
(1) Requirements Elicitation
♦ The most commonly used requirements elicitation technique is to conduct a meeting or interview. ♦ The analyst start by asking a set of questions that will lead to a basic understanding of the problem, the people who want a solution, the nature of the solution that is desired.
5
♦ Software Verification and Validation Plan for the AD Phase (SVVP/AD); ♦ Software Quality Assurance Plan for the AD phase (SQAP/AD); ♦ System Test Plan (SVVP/ST). Progress reports, configuration status audit reports are also outputs of the phase. These should always be archived by the project.