Tải bản đầy đủ (.pdf) (30 trang)

slike môn thu thập và phân tích yêu cầu nguyễn ngọc tú chương 1 tầm quan trọng của kỹ nghệ yêu cầu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 30 trang )

Requirement
Engineering
Lesson 01:
The Importance of
Requirements
It’s not just a simple matter of
writing down what the customer
says he wants !!!
Lecturer: Nguyễn Ngọc Tú
Email:
Web: sites.google.com/site/kythuatthuthapyeucauphanmem/
Learning Outcomes

2012.08
Requirement Engineering
2
Issues
 Requirement
 Dynamic
 Change over time

 Good requirements + Process
 must be as accurate as possible
 be flexible

 Process
 developing requirements and accommodating changed
requirements  the real requirements of customers.

2012.08
Requirement Engineering


3
[1] chapter 01, p001
SoftProj Fail Rate
Failed
Succeeded
Challenged

2012.08
Requirement Engineering
4

2012.08
Requirement Engineering
5
Outline
 What are Requirements and Why Are They Important?
 Why Plan?
 A Suggested Strategy
 Requirements Activities in the System Life Cycle
 Investment in the Requirements Process
 A Process Approach
 The Requirements Plan
 Factors Affecting Your Career Decisions
 A Comment Concerning Small Projects
 Case Study
2012.08
Requirement Engineering
6
[1] chapter 01
What are Requirements &

Why Are They Important?
 A requirement is anything that the business needs to
have implemented in the solution.

Requirements, therefore, can include functional
requirements, non-functional requirements, business
rules, and even what many people traditionally call design
.


2012.08
Requirement Engineering
7
Requirements are what needs to be built, and design is how it will work.
Requirement

Type

The system shall be able to automatically approve or deny credit .

Functional requirement

When the credit score is above 750, the system shall automatically
approve credit.

Business rule

The system shall use the following algorithm when automatically
determining credit approvals for scores less than 750: [ algorithm would
be included here ]


Business rule

Approvals shall be returned to the user within 30 seconds .

Non
-functional
requirement

What are Requirements &
Why Are They Important?
 A requirement is
 a necessary attribute in a system ,
 a statement that identifies a capability, characteristic, or
quality factor of a system
in order for it to have value and utility to a customer or user .

 Require-ments are important because they provide the
basis for all of the develop-ment work that follows.
 Once the requirements are set, developers initiate the
other technical work: system design, development, testing,
implementa-tion, and operation.
2012.08
Requirement Engineering
8
What are Requirements &
Why Are They Important?
“stated”
requirements
“real”

requirements
2012.08
Requirement Engineering
9
reflect the verified needs of
users for a particular system or
capability
provided by a customer at the
beginning of a system or
software development effort
• a request for information, proposal,
or quote or in a statement of work
(SOW)
Ex. A long list of requirements
2012.08
Requirement Engineering
10
REQ ID User Story - Backlog Item
REQ001
System shall have fields for firstname, middle initial and last
name.
REQ002
System shall display a name if there is one in the stored
profile .
REQ003 System shall require name is completed.
REQ004 System shall have a field for position or title.
REQ005 System shall require title is completed.
REQ006
System shall display a position or title if there is one in the
stored profile .

REQ007 System shall have a field for email address.
REQ008 System shall have a field for alternate email address.
REQ009
System shall display an email address if there is one in the
stored profile .
REQ010
System shall display an alternate email address if there is
one in the stored profile .
REQ011 System shall require email address is completed.
REQ012
System shall require alternated email address is
completed.
REQ013 System shall have a field for daytime phone number .
REQ014
System shall display a phone number if there is one in the
stored profile .
REQ015 System shall require phone number is completed.
REQ016
System shall validate all characters in the phone number
field ar e digits when user exits the field.
REQ017
System shall display an error message if not all characters
in the phone number field were digits.
REQ018 System shall have a field for a fax number.
REQ019 System shall require fax is completed.
REQ020
System shall display a fax number if ther e is one in the
stored profile .
REQ021
System shall validate all characters in the fax number field

are digits when user exits the field.
REQ022
System shall display an error message if not all characters
in the fax number field were digits.
REQ023 System shall have two fields for a street address.
REQ024
System shall require the first street address field is
completed.
REQ025
System shall display an address if there is one in the stored
profile .
What are Requirements &
Why Are They Important?
 Identifying the real requirements requires an interactive
and iterative requirements process, supported by
effective practices, processes, mechanisms, methods,
techniques, and tools
2012.08
Requirement Engineering
11
“Limitations of the Human Brain”
 Miller’s Magic Number
2012.08
Requirement Engineering
12
Visual Models for Software Requirements. [p04]
Why plan ?
 are familiar with several types of plans:
 project plan,
 systems engineering management plan (SEMP),

 quality assurance (QA) plan,
 configuration management (CM) plan,
 software development plan (SDP),
 test plan, ……
 Writing a requirements plan maximizes value
 how the real requirements will evolve
 how the requirements activities will be addressed
facilitates an understanding of the activities and efforts
2012.08
Requirement Engineering
13
A Suggested Strategy
 includes
1. writing a requirements plan
2. designing or tailoring a requirements process for your
project
3. investing in the requirements-related activities in the
system life cycle
4. utilizing the effective requirements practices,
mechanisms, methods, techniques, tools, and training
2012.08
Requirement Engineering
14
Requirements Activities in the System
Life Cycle
 Requirements-related activities
 gathering requirements
 managing changes to those requirements throughout the
life cycle


 Several other requirements-related activities


2012.08
Requirement Engineering
15
Requirements Activities in the System
Life Cycle
 Identifying the stakeholders
 Gaining an understanding of the customers’ and users’
needs for the planned system and their expectations of
it
 Identifying requirements
 Clarifying and restating the requirements
 Analyzing the requirements
 Defining the requirements in a way that means the same
thing to all of the stakeholders
2012.08
Requirement Engineering
16
Requirements Activities in the System
Life Cycle
 Specifying the requirements
 Prioritizing the requirements
 Deriving requirements
 Partitioning requirements
 Allocating requirements
 Tracking requirements
 Managing requirements
 Testing and verifying requirements

 Validating requirements
2012.08
Requirement Engineering
17
Investment in the Requirements Process

 2% - 3% of total project cost/effort  80% - 200% cost
overrun



 NASA:
 8% - 14% of total project cost/effort  0% - 50% cost
overrun
2012.08
Requirement Engineering
18
Investment in the Requirements Process

2012.08
Requirement Engineering
19
A Process Approach
 great value to using a process approach
 Those who support the activity document the actions or
activities involved in getting something done.
 Once documented, there is a common (shared)
understanding of what is involved.
 The documented process can be understood by all who are
involved.

 Those involved, having a common understanding, can
suggest improvements to the process (
enabling continuous
improvement and empowering those who are involved to
contribute ideas for making the process better
).

2012.08
Requirement Engineering
20
The Requirements Plan
 should be developed by the RA early
 proposal preparation phase
 proceed with a development project or task


 The purpose of the requirements plan is to determine
and document how

2012.08
Requirement Engineering
21
The Requirements Plan: topics
 Purpose
 Contract/project summary
 vision and scope
 Background
 describe the situation that led to the decision to develop
the system (major stakeholder groups)
 Evolution of the requirements

 to review the stated requirements and evolve the real
requirements

2012.08
Requirement Engineering
22
The Requirements Plan: topics
 Roles and responsibilities of the project’s personnel
involved in requirements-related activities

 Definition of the requirements process to be used
 Mechanisms, methods, techniques, and tools to be
utilized
 Integration of proven effective requirements practices
2012.08
Requirement Engineering
23
The Requirements Plan: topics
 References
 set of documents that are key references for the
requirements process
 Recommended strategy

 Appendixes
2012.08
Requirement Engineering
24
Factors Affecting Your Career Decisions
 meet with a PM very early, perhaps even before an
assignment to the project is finalized. Discuss with him

or her perspectives concerning requirements.


 can be effective in your role !



2012.08
Requirement Engineering
25

×