+ All Categories
Home > Documents > Lecture 5

Lecture 5

Date post: 30-Dec-2015
Category:
Upload: jessica-mitchell
View: 24 times
Download: 1 times
Share this document with a friend
Description:
Lecture 5. COMSATS Islamabad. E nterprise S ystems D evelopment (  CSC447 ). Muhammad Usman , Assistant Professor . Requirements document structure. IEEE/ANSI 830-1993 standard proposes a structure for software requirements documents - PowerPoint PPT Presentation
Popular Tags:
48
Lecture 5 E nterprise S ystems D evelopment ( CSC447) COMSATS Islamabad n, Assistant Professor
Transcript
Page 1: Lecture 5

Lecture 5

Enterprise

Systems

Development( CSC447)

COMSATS Islamabad

Muhammad Usman, Assistant Professor

Page 2: Lecture 5

Requirements document structure

IEEE/ANSI 830-1993 standard proposes a structure for software requirements documents

1. Introduction1.1 Purpose of requirements document1.2 Scope of the product1.3 Definitions, acronyms and abbreviations1.4 References1.5 Overview of the remainder of the document

Page 3: Lecture 5

Requirements document structure

2. General description2.1 Product perspective2.2 Product functions2.3 User characteristics2.4 General constraints2.5 Assumptions and dependencies

3. Specific requirementsCovering functional, non-functional and interface requirements.

4. Appendices Index

Page 4: Lecture 5

Adapting the standard

The IEEE standard is a generic standard which is intended apply to a wide range of requirements documents.

In general, not all parts of the standard are required for all requirements documents

Each organisation should adapt the standard depending on the type of systems it develops

Consider a company (XYZ) that develops scientific instruments

Page 5: Lecture 5

Organisation XYZ standard

Preface – This should define the expected readership of the document and

describe its version history including a rationale for the creation of a new version and a summary of the changes made in each version.

Introduction– This should define the product in which the software is embedded,

its expected usage and present and overview of the functionality of the control software.

Glossary– This should define all technical terms and abbreviations used in

the document.

Page 6: Lecture 5

Organisation XYZ standard

General user requirements– This should define the system requirements from the perspective

of the user of the system. These should be presented using a mixture of natural language and diagrams.

System architecture– This chapter should present a high-level overview of the

anticipated system architecture showing the distribution of functions across system modules. Architectural components which are to be reused should be highlighted.

Hardware specification– This is an optional chapter specifying the hardware that the

software is expected to control. It may be omitted if the standard instrument platform is used.

Page 7: Lecture 5

Organisation XYZ standard

Detailed software specification– This is a detailed description of the functionality expected of the

software of the system. It may include details of specific algorithms which should be used for computation. If a prototyping approach is to be used for development on the standard instrument platform, this chapter may be omitted.

Reliability and performance requirements– This chapter should describe the reliability and performance

requirements which are expected of the system.

Page 8: Lecture 5

Organisation XYZ standard

The following appendices may be included where appropriate:– Hardware interface specification– Software components which must be reused in the system

implementation– Data structure specification– Data-flow models of the software system– Detailed object models of the software system

Index

Page 9: Lecture 5

Writing requirements

Requirements are usually written as paragraphs of natural language text supplemented by diagrams and equations

Problems with requirements– use of complex conditional clauses which are confusing– sloppy and inconsistent terminology– writers assume readers have domain knowledge

Page 10: Lecture 5

Writing essentials

Requirements are read more often than they are written. You should invest time to write readable and understandable requirements

Do not assume that all readers of the requirements have the same background and use the same terminology as you

Allow time for review, revision and re-drafting of the requirements document

Page 11: Lecture 5

Writing guidelines

Define standard templates for describing requirements Use language simply consistently and concisely Use diagrams appropriately Supplement natural language with other description of

requirements Specify requirements quantitatively

Page 12: Lecture 5

Requirements Engineering Processes

Page 13: Lecture 5

Processes

A process is an organised set of activities which transforms inputs to outputs

Process descriptions encapsulate knowledge and allow it to be reused

Examples of process descriptions– Instruction manual for a dishwasher– Cookery book– Procedures manual for a bank– Quality manual for software development

Page 14: Lecture 5

Design processes

Processes which involve creativity, interactions between a wide range of different people, engineering judgement and background knowledge and experience

Examples of design processes– Writing a book– Organising a conference– Designing a processor chip– Requirements engineering

Page 15: Lecture 5

RE process - inputs and outputs

Agreedrequirements

Systemspecification

Systemmodels

Requirementsengineering process

Stakeholderneeds

Organisationalstandards

Domaininformation

Regulations

Existingsystems

information

Page 16: Lecture 5

Input/output description

Input or output Type DescriptionExisting systeminformation

Input Information about the functionality of systems to be replaced orother systems which interact with the system being specified

Stakeholder needs Input Descriptions of what system stakeholders need from the system tosupport their work

Organisationalstandards

Input Standards used in an organisation regarding system developmentpractice, quality management, etc.

Regulations Input External regulations such as health and safety regulations whichapply to the system.

Domain information Input General information about the application domain of the systemAgreed requirements Output A description of the system requirements which is understandable

by stakeholders and which has been agreed by themSystemspecification

Output This is a more detailed specification of the system functionalitywhich may be produced in some cases

System models Output A set of models such as a data-flow model. an object model, aprocess model, etc. which describes the system from differentperspectives

Page 17: Lecture 5

RE process variability

RE processes vary radically from one organisation to another

Factors contributing to this variability include– Technical maturity– Disciplinary involvement– Organisational culture– Application domain

There is therefore no ‘ideal’ requirements engineering process

Page 18: Lecture 5

Process models

A process model is a simplified description of a process presented from a particular perspective

Types of process model include:– Coarse-grain activity models– Fine-grain activity models– Role-action models– Entity-relation models

Page 19: Lecture 5

Coarse-grain activity model of RE

Requirementselicitation

Requirementsanalysis andnegotiation

Requirementsdocumentation

Requirementsvalidation

Requirementsdocument

User needsdomain

information,existing system

information,regulations,

standards, etc.

AgreedrequirementsSystem

specification

Page 20: Lecture 5

RE process activities

Requirements elicitation– Requirements discovered through consultation with stakeholders

Requirements analysis and negotiation– Requirements are analysed and conflicts resolved through

negotiation Requirements documentation

– A requirements document is produced Requirements validation

– The requirements document is checked for consistency and completeness

Page 21: Lecture 5

Waterfall model of the software process

Systemrequirementsengineering Software

requirementsengineering

Softwaredesign

Programmingand unit testing

System testing

Systemoperation

System requirements specification

Software requirements specification

Software design specification

Executable software system

Completed system

Page 22: Lecture 5

Context of the RE process

Requirements engineering

System design

System acquisition

Page 23: Lecture 5

Spiral model of the RE process

Requirements elicitation Requirements analysis andnegotiation

Requirements documentationRequirements validation

Informal statement ofrequirements

Agreedrequirements

Draft requirementsdocument

Requirementsdocument and

validationreport

Decision point:Accept documentor re-enter spiral

START

Page 24: Lecture 5

Actors in the RE process

Actors in a process are the people involved in the execution of that process

Actors are normally identified by their roles rather than individually

Requirements engineering involves actors who are primarily interested in the problem to be solved (end-users, etc) as well actors interested in the solution (system designers, etc.)

Role-action diagrams document which actors are involved in different activities

Page 25: Lecture 5

RAD for software prototyping

ROLES

Understandproblem

Establishoutline

requirements

Selectprototyping

system

Developprototype

Evaluateprototype

ACTIONS

Req. engineerDomain expert

End-user

Req. engineerEnd-user

Softwareengineer

Project manager

Req. engineerSoftwareengineer

End-userDomain expertReq. engineer

Software engineer

Page 26: Lecture 5

Role descriptions

Role DescriptionDomain expert Responsible for providing information about the

application domain and the specific problem in thatdomain which is to be solved.

System end-user Responsible for using the system after deliveryRequirements engineer Responsible for eliciting and specifying the system

requirementsSoftware engineer Responsible for developing the prototype software

systemProject manager Responsible for planning and estimating the

prototyping project

Page 27: Lecture 5

Human and social factors

Requirements engineering processes are dominated by human, social and organisational factors because they always involve a range of stakeholders from different backgrounds and with different individual and organisational goals.

System stakeholders may come from a range of technical and non-technical background and from different disciplines

Page 28: Lecture 5

Types of stakeholder

Software engineers responsible for system development

System end-users who will use the system after it has been delivered

Managers of system end-users who are responsible for their work

External regulators who check that the system meets its legal requirements

Domain experts who give essential background information about the system application domain

Page 29: Lecture 5

Factors influencing requirements

Personality and status of stakeholders

The personal goals of individuals within an organisation

The degree of political influence of stakeholders within an organisation

Page 30: Lecture 5

Process support

CASE tools provide automated support for software engineering processes

The most mature CASE tools support well-understood activities such as programming and testing and the use of structured methods

Support for requirements engineering is still limited because of the informality and the variability of the process

Page 31: Lecture 5

CASE tools for RE

Modelling and validation tools support the development of system models which can be used to specify the system and the checking of these models for completeness and consistency.

Management tools help manage a database of requirements and support the management of changes to these requirements.

Page 32: Lecture 5

RE/RM tools

Telelogic DOORS Rational Suite AnalystStudio (Rational Requisite Pro

Component) RDT 3.0 Starbase Caliber-RM Omni Vista OnYourMark Pro

Page 33: Lecture 5

A requirements management system

Requirementsdatabase

NLrequirements

documentReq. convertor

WP linker

Traceabilitysupport system

Report generator

Traceabilityreport

Requirementsreport

Req. browserReq. query

system

Change controlsystem

Page 34: Lecture 5

Requirements management tools

Requirements browser Requirements query system Traceability support system Report generator Requirements converter and word processor linker Change control system

Page 35: Lecture 5

Process improvement

Process improvement is concerned with modifying processes in order to meet some improvement objectives

Improvement objectives– Quality improvement– Schedule reduction– Resource reduction

Page 36: Lecture 5

Planning process improvement

What are the problems with current processes? What are the improvement goals? How can process improvement be introduced to achieve

these goals? How should process improvements be controlled and

managed?

Page 37: Lecture 5

RE process problems

Lack of stakeholder involvement Business needs not considered Lack of requirements management Lack of defined responsibilities Stakeholder communication problems Over-long schedules and poor quality requirements

documents

Page 38: Lecture 5

Process maturity

Process maturity can be thought of as the extent that an organisation has defined its processes, actively controls these processes and provides systematic human and computer-based support for them.

The SEI’s Capability Maturity Model is a framework for assessing software process maturity in development organisations

Page 39: Lecture 5

Capability maturity model

Level 3Defined

Level 2Repeatable

Level 1Initial

Level 4Managed

Level 5Optimizing

Page 40: Lecture 5

Maturity levels

Initial level – Organisations have an undisciplined process and it is left

to individuals how to manage the process and which development techniques to use.

Repeatable level – Organisations have basic cost and schedule

management procedures in place. They are likely to be able to make consistent budget and schedule predictions for projects in the same application area.

Defined level – The software process for both management and

engineering activities is documented, standardized and integrated into a standard software process for the organisation.

Page 41: Lecture 5

Maturity levels

Managed level – Detailed measurements of both process and product quality

are collected and used to control the process. Optimizing level

– The organisation has a continuous process improvement strategy, based on objective measurements, in place.

Page 42: Lecture 5

RE process maturity model

Level 1 - InitialAd-hoc requirements

engineering; requirementsproblems are common

Level 2 - RepeatableStandardised requirements

engineering; fewerrequirements problems

Level 3 - DefinedDefined process basedon best practice; processimprovement in place

Page 43: Lecture 5

RE process maturity levels

Initial level– No defined RE process. Suffer from requirements problems such as

requirements volatility, unsatisfied stakeholders and high rework costs. Dependent on individual skills and experience.

Repeatable level– Defined standards for requirements documents and policies and

procedures for requirements management. Defined level

– Defined RE process based on good practices and techniques. Active process improvement process in place.

Page 44: Lecture 5

Good practice for RE process improvement

RE processes can be improved by the systematic introduction of good requirements engineering practice

Each improvement cycle identifies good practice guidelines and works to introduce them in an organisation

Page 45: Lecture 5

Examples of good practice guidelines

Define a standard document structure Uniquely identify each requirement Define policies for requirements management Use checklists for requirements analysis Use scenarios to elicit requirements Specify requirements quantitatively Use prototyping to animate requirements Reuse requirements

Page 46: Lecture 5

Key points

The requirements engineering process is a structured set of activities which lead to the production of a requirements document.

Inputs to the requirements engineering process are information about existing systems, stakeholder needs, organisational standards, regulations and domain information.

Requirements engineering processes vary radically from one organisation to another. Most processes include requirements elicitation, requirements analysis and negotiation and requirements validation.

Page 47: Lecture 5

Key points

Requirements engineering process models are simplified process description which are presented from a particular perspective.

Human, social and organisational factors are important influences on requirements engineering processes.

Requirements engineering process improvement is difficult and is best tackled in an incremental way.

Requirements engineering processes can be classified according to their degree of maturity.

Page 48: Lecture 5

Reference

Gerald Kotonya and Ian Sommerville, REQUIREMENTS Engineering PROCESSES AND TECHNIQUES by Wiley Publishers


Recommended