Professional Documents
Culture Documents
C o n t act Us
<< Product-related Problems, Technology-related problems
|
Arts
Requirements Elicitation for Software >>
B u s i ness
C o m p uter Science
Ear t h Sciences
LECTURE # 13 Table of Contents:
Engi n eering
Engl i sh
2. Software Development Fundamentals 1. Introduction & Fundamentals
Form a l Sciences
Technical Fundamentals
H e a l t h Scie nces
2. Goals of Project management
M a n a gement 3. Project Dimensions, Software
M a r keting 2.11 Requirements Management 4. Cost Management, Project vs.
M a s s Comm
⇒ Preview
5. Project Management�s nine
N a t u ral Sciences
. Team leader, Project Organiza
Po l i t i cal Sc ience
Software requirements engineering is a process of discovery, refinement, 7. Project Execution Fundamenta
Soci a l Sciences
modeling and specification. The system requirements and role allocated to
|
software-initially established by the system engineer-are refined in detail.
. Organizational Issues and Pro
Site M ap Models of the required data information and control flow and operational 9. Managing Processes: Project
Link s behavior are created. Alternative solutions are analyzed and a complete
10. Project Execution: Product Imp
analysis model is created.
11. Problems in Software Projects
Requirements engineering is the systematic use of proven principles, 12. Product-related Problems, Tec
techniques, languages, and tools for the cost effective analysis,
documentation, and on-going evolution of user needs and the specification
13. Requirements Management, R
of the external behavior of a system to satisfy those user needs. Notice that 14. Requirements Elicitation for So
like all engineering disciplines, requirements engineering is not conducted
15. The Software Requirements S
in a sporadic random or otherwise haphazard fashion, but instead is the
systematic use of proven approaches. 1 . Attributes of Software Design,
17. Software Configuration Manag
Both the software engineer and customer take an active role in software
requirements engineering-a set of activities that is often referred to as 1 . Quality Assurance Manageme
analysis. The customer attempts to reformulate a sometimes nebulous 19. Software Quality Assurance Ac
system-level description of data, function and behavior into concrete
20. Software Process, PM Process
detail. The developer acts as interrogator, consultant, problem solver and
negotiator. 21. Initiating Process: Inputs, Outp
22. Planning Process Tasks, Exec
The overall role of Software in a larger system is identified during system
engineering. However, it's necessary to take a harder look at software's 23. Project Planning Objectives, P
role-to understand the specific requirements that must be achieved to build 24. Tools and Techniques for SDP,
high-quality software. That's the job of software requirements analysis. To
25. PLANNING: Elements of SDP
perform the job properly, you should follow a set of underlying concepts
and principles. Generally, a software engineer performs requirements 2 . Life cycle Models: Spiral Mode
analysis However, for complex business applications a 'system analyst' 27. Organizational Systems
trained in the business aspects of the application domain may perform the
task. If you don't analyze, it's highly likely that you'll build a very elegant 2 . ORGANIZATIONAL PLANNING
software solution that solves the wrong problem. The result is wasted time 29. Estimation - Concepts
and money, personal frustration and unhappy customers.
30. Decomposition Techniques, Es
31. Estimation � Tools
92
32. Work Breakdown Structure
33. WBS- A Mandatory Manageme
34. Characteristics of a High-Qual
35. Work Breakdown Structure (W
3 . WBS- Major Steps, WBS Imple
37. Schedule: Scheduling Fundam
Software Project Management (CS615) 3 . Scheduling Tools: GANTT CHA
39. Risk and Change Managemen
Data, functional,
information fromand
the behavioral requirements are
customer. Requirements areidentified by analyzed
refined and eliciting to 40. Risk & Change Management C
assess their clarity, completeness, and consistency. 41. Risk Management Process
⇒ Requirements analysis 42. Quality Concept, Producing qu
43. Managing Tasks in Microsoft
Requirements analysis is a software engineering task that bridges the gap
44. Commissioning & Migration
between system level requirements engineering and software design
(Figure 1). Requirements engineering 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. Requirements analysis allows the
software engineer (sometimes called analyst in this. role) to refine the
software allocation and 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. Finally, the
requirements specification provides the developer and the customer with
the means to assess quality once software is built.
System
Engineerin
g
Software
Requirement
s
Software
Analysis
Design
93
Initially, the analyst studies the System Specification (if one exists) and
the Software Project Plan. It is important to understand software in a
system context and to review the software scope that was used to generate
planning estimates. Next, communication for analysis must be established
so that problem recognition is ensured. The goal is recognition of the basic
problem elements as perceived by the customer/users.
Problem evaluation
Solution synthesis
94