Requirement Analysis
Requirement Analysis
Requirement Analysis
Requirements Analysis
Software engineering task bridging the gap between system requirements engineering and software design. Provides software designer with a model of:
system information function behavior
Model can be translated to data, architectural, and component-level designs. Expect to do a little bit of design during analysis and a little bit of analysis during design.
2
Analysis Objectives
Identify customers needs. Evaluate system for feasibility. Perform economic and technical analysis. Allocate functions to system elements. Establish schedule and constraints. Create system definitions.
3
Management Questions
How much effort put towards analysis? Who does the analysis? Why is it so difficult? Bottom line - who pays for it?
Feasibility Study
Economic feasibility
cost/benefit analysis
Technical feasibility
hardware/software/people, etc.
System Specification
Introduction. Functional data description. Subsystem description. System modeling and simulation results. Products. Appendices.
7
Requirements
Requirement
features of system or system function used to fulfill system purpose.
Types of Requirements - 1
Functional requirements:
input/output processing. error handling.
Non-functional requirements:
Physical environment (equipment locations, multiple sites, etc.). Interfaces (data medium etc.). User & human factors (who are the users, their skill level etc.).
9
Types of Requirements - 2
Non-functional requirements (continued):
Performance (how well is system functioning). Documentation. Data (qualitative stuff). Resources (finding, physical space). Security (backup, firewall). Quality assurance (max. down time, MTBF, etc.).
10
Requirement Validation
Correct? Consistent? Complete?
Externally - all desired properties are present. Internally - no undefined references.
Each requirement describes something actually needed by the customer. Requirements are verifiable (testable)? Requirements are traceable.
11
F.A.S.T. - 1
Facilitated application specification technique Meeting between customers and developers at a neutral site (no home advantage). Goals
identify the problem propose elements of solution negotiate different approaches specify preliminary set of requirements
14
F.A.S.T. - 2
Rules for participation and preparation established ahead of time. Agenda suggested
brainstorming encouraged
Q.F.D. - 1
Quality Function Deployment Customers needs imply technical requirements:
Normal requirements
(minimal functional & performance).
Expected requirements
(important implicit requirements, i.e. ease of use).
Exciting requirements
(may become normal requirements in the future, highly prized & valued).
16
Q.F.D. - 2
Function Deployment:
Determines value of required function.
Information Deployment:
Focuses on data objects and events produced or consumed by the system.
Task Deployment:
product behavior and implied operating environment.
17
Q.F.D. - 3
Value Analysis makes use of:
Customer interviews. Observations. Surveys. Historical data.
to create
Customer Voice Table extract expected requirements derive exciting req.
18
Use Cases
Scenarios that describe how the product will be used in specific situations. Written narratives that describe the role of an actor (user or device) as it interacts with the system. Use-cases designed from the actor's point of view. Not all actors can be identified during the first iteration of requirements elicitation, but it is important to identify the primary actors before developing the use-cases.
19
20
21
22
23
24
25
Analysis Principles
Information domain of problem must be presented & understood. Models depicting system information, functions, and behavior should be developed. Models and problems must be partitioned in a manner that uncovers detail in layers. Analysis proceeds from essential information toward implementation detail Must be traceable.
26
Information Domain
Encompasses all data objects that contain numbers, text, images, audio, or video. Information content or data model
shows the relationships among the data and control objects that make up the system
Information flow
represents manner in which data and control objects change as each moves through system
Information structure
representations of the internal organizations of various data and control items
27
Modeling
Data model
shows relationships among system objects
Functional model
description of the functions that enable the transformations of system objects
Behavioral model
manner in which software responds to events from the outside world
28
Partitioning
Process that results in the elaboration of data, function, or behavior. Horizontal partitioning
breadth-first decomposition of the system function, behavior, or information, one level at a time.
Vertical partitioning
depth-first elaboration of the system function, behavior, or information, one subsystem at a time.
29
Requirements Views
Essential view
presents the functions to be accomplished and the information to be processed while ignoring implementation
Implementation view
presents the real world realization of processing functions and information structures
Avoid the temptation to move directly to the implementation view and assuming that the essence of the problem is obvious.
30
Specification Principles - 1
Separate functionality from implementation. A process-oriented specification language is needed. Specification must encompass the system containing the software component. Specification must encompass the environment. System specification = cognitive model.
31
Specification Principles - 2
Specification must be operational (talk about how it works). Must be tolerant of incompleteness and easy to add to. Specification must be localized and loosely coupled (pieces of things are independent of each other).
32
Specification Representation
Representation format and content should be relevant to the problem. Information contained within the specification should be nested. Diagrams and other notational forms should be restricted in number and consistent in use. Representations should be revisable.
33
Specification Review
Conducted by customer and software developer. Once approved, the specification becomes a contract for software development. The specification is difficult to test in a meaningful way. Assessing the impact of specification changes is hard to do.
34
Requirements Review
Goals & objectives review. Compare requirements to goals & objectives. Consider system operating environment. Assess and document all risks in system developmental operation. Discuss testing procedure.
35
37
Evolutionary prototyping
prototype is refined to build the finished system
Customer resources must be committed to evaluation and refinement of the prototype. Customer must be capable of making requirements decisions in a timely manner.
38
39
E.R.P. Process
Goal is to write less throw away code than spiral model Starts with project plan and plans for software evolution Risks/Unknowns favoring ERP use:
Customer requirements Technology Interfaces
40
E.R.P. Risks
Premature delivery. Premature design selection. Features in prototype can get lost in final product. There is a tendency to choose efficiency of production over product modifiability.
41
E.R.P. Advice
Focus on what will take least amount of programming time over maintainability. With rapid prototyping dont write code until ready. Spiral model any code written may be thrown out after risk assessment.
42
E.R.P. Analysis
What. When. Cost. Completion. Re-use. Contingencies. Rewards.
43
44
45
Re-implementation Symptoms
Prototype contains spaghetti code. Prototype cannot be extended to meet full user requirements. Work to fix time implies less work to start again.
46