25
SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 DEFINING THE SYSTEM 1 Engr. Ali Javed 19 th June, 2013

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

SOFTWARE REQUIREMENTS ENGINEERING

LECTURE # 8

DEFINING THE SYSTEM

1

Engr. Ali Javed 19th June, 2013

Page 2: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Instructor Information 2

Course Instructor: Engr. Ali Javed

Assistant Professor

Department of Software Engineering

U.E.T Taxila

Email: [email protected]

Website: http://web.uettaxila.edu.pk/uet/UETsub/perSites/[email protected]

Contact No: +92-51-9047747

Office hours:

Monday, 09:00 - 11:00, Office # 7 S.E.D

Lab Instructor: Engr. Asra, Engr. Sobia

Engr. Ali Javed

Page 3: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

• Organizing Requirements Information

• Future Requirements

• Vision Document

• Components of Vision Document

• Delta Vision Document

• Vision Document Template

Presentation Outline 3

Engr. Ali Javed

Page 4: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Organizing Requirements Information

Whether expressed as user needs, a list of features, a set of use cases, or another format, requirements

must be captured and documented.

If you were the only developer as well as maintainer or user of the system, you might consider designing

and coding it immediately after identifying your needs.

However, few system developments have such simplicity. More likely, developers and users are mutually

exclusive, and many stakeholders are involved in software development. All parties must reach agreement

about what system is being built.

Realities of budgets and schedules make it unlikely that all user needs are going to be satisfied in any

particular release.

Engr. Ali Javed

4

Page 5: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Unavoidable communication problems among the stakeholders

demand that requirements be captured in a way that they can

be reviewed and approved and to which all parties can agree.

You will need to maintain requirements organized into multiple

requirements sets, each set reflecting the requirements for a

particular system, a subsystem, or a number of subsystems together,

as in the examples below.

One / set defines the features of the system in general terms, and another

defines requirements in more specific terms. Often, the former is called the

Vision document, whereas the latter is called the Software Requirements

Specification

One "parent" document defines requirements for the overall

"system,“ including hardware, software, people, and procedures, and

another defines requirements for just the software piece. Often the

former document is called a System Requirements Specification, whereas

the latter is known as Software Requirements Specification

Organizing Requirements Information

Engr. Ali Javed

5

Page 6: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

One set defines the full set of requirements for a family of products, and is

called Product family requirements document or Product family vision document

One set describes the overall business requirements and business environment in which the

product will belong to, this document is called business requirements document

Organizing Requirements Information

Engr. Ali Javed

6

Page 7: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Some systems are sufficiently complex that the only reasonable way to visualize and

to build them is as a system of subsystems, which in turn are visualized as systems of

subsystems, containing hardware as well as software components, depicted in Figure 1

In these cases, a system-level requirements set is created that describes the system, as

well as the system-level use cases that describe functional behavior of the system.

Organizing Requirements of Complex Hardware

& Software Systems

Figure 1:: A system of subsystems Engr. Ali Javed

7

Page 8: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Next, requirements are developed for each subsystem. These should describe the external behavior of the

subsystem completely, without reference to any of its subsystems , as shown in Figure 2.

Organizing Requirements of Complex Hardware

& Software Systems

Figure 2:: Hierarchy of requirements resulting from system design

Engr. Ali Javed

8

Page 9: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

During any process of requirements elicitation, requirements will arise that are considered

appropriate for the next release of the product.

It may not be appropriate to include such requirements in the requirements set since

we cannot afford to create any confusion about what requirements are and are not to

be implemented in a particular release.

On the other hand, it's unwise to discard them because they represent value-added work

products, and we will want to collect requirements from them for future releases, So it makes

sense to record both types of requirements but to clearly identify those requirements that are

planned for the current release.

Future Requirements

Engr. Ali Javed

9

Page 10: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The Vision document describes the application in general terms, including descriptions of

the target market, the system users, and the application features.

Vision document, even if short or perhaps incomplete, helps assure that everyone working on

the project is working toward a single objective. The team has common goals, Otherwise, the

team will work toward unknown or conflicting objectives, and chaos will likely result.

Over the years, it has evolved to become a standard best practice for use when defining a

software application.

The Vision Document

Engr. Ali Javed

10

Page 11: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The Vision document captures the needs of the user, the features of the system, and

other common requirements for the project. As such, the scope of the Vision document

extends over the top two levels of the requirements pyramid, thereby defining at a high level

of abstraction both the problem and the solution.

Components of Vision Document

Engr. Ali Javed

11

Page 12: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The Vision document is important because it captures the product from all significant

perspectives in a short, abstract, readable, and manageable form.

As such, the Vision document is the primary focus in the early phases of the project,

and any investment made in the process of gathering Vision document information will pay

handsome returns in later phases.

Write the Vision document in plain language and at a level of detail that makes it easy for

the primary stakeholders of the project to review and understand the document.

Components of Vision Document

Engr. Ali Javed

12

Page 13: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The Vision document must contain at least the following:

General and introductory information

A description of the users of the system and the markets served

Features intended for release in version 1.0

Other requirements

Future features that have been elicited but will not be incorporated in the 1.0 release

The Vision Document of Version 1.0

Engr. Ali Javed

13

Page 14: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

As the project evolves, features become better defined.

New features will be discovered and added to the document.

As you approach version 2.0, you certainly want to maintain the document that has served you so well.

The logical next step in the evolution of the project and this document is to include the future features that

were included in v1.0 of the document but not implemented and to schedule them for v2.0.

The Vision Document of Version 2.0

Engr. Ali Javed

14

Page 15: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

You may also wish to schedule a further requirements workshop or other elicitation process to discover new

features to include in Version 2.0 and some new future features too.

Some of these features will already be obvious, based on customer feedback; others will come from the

experience of the team.

In any case, record these newly discovered features in v2.0 of the Vision document, either as scheduled

for inclusion in 2.0 or as new future features.

The Vision Document of Version 2.0

Engr. Ali Javed

15

Page 16: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

You will probably discover that some of the features implemented in version

1.0 did not deliver the intended value, perhaps because

the external environment changed during the process and the feature was no longer

needed or

will be replaced by a new feature or

perhaps because the customers simply didn't need the feature as they thought they

would.

In any case, you may discover that you will need to remove some features in

the next release.

How do you record these "anti-requirements"? Simply use the Vision document

to record the fact that the particular feature must be removed in the next

release.

The Vision Document of Version 2.0

Engr. Ali Javed

16

Page 17: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The Vision Document of Version 2.0

17

As the team works, it will discover that the document grows and becomes more difficult to read and

understand over time because it is now much longer and contains much information that has not changed

since the previous release.

Therefore, we suggest the construction of the Delta Vision document. The Delta Vision document focuses on

only two things: what has changed and any other information that must be included for context.

Engr. Ali Javed

Page 18: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The result is a Delta Vision document that now focuses primarily on what is new and what is different

about this release.

Vision 1.0 is our comprehensive starting point, telling us what we need to know at the start of our project.

Delta Vision 2.0 defines that which is different in this release.

Taken together, Vision 1.0 plus Delta Vision 2.0 constitute the whole product definition.

The Vision Document of Version 2.0

Engr. Ali Javed

18

Page 19: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

The Vision Document of Version 2.0

Figure 3: The Evolving Product Definition

Engr. Ali Javed

19

Page 20: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Template for a Software Product Vision

Document

Engr. Ali Javed

20

Page 21: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Template for a Software Product Vision

Document

Engr. Ali Javed

21

Page 22: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Template for a Software Product Vision

Document

Engr. Ali Javed

22

Page 23: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

Template for a Software Product Vision

Document

Engr. Ali Javed

23

Page 24: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

References 24

1. Managing Software Requirements: A Use Case Approach, Second Edition By

Dean Leffingwell, Don Widrig, Addison- Wesley

Engr. Ali Javed

Page 25: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 8 … Lec_08.pdf · Organizing Requirements Information Whether expressed as user needs, a list of features, a set of use cases, or another

For any query Feel Free to ask 25

Engr. Ali Javed