Tvorba informačných systémov 2. prednáška čo všetko sa týka špecifikácie požiadaviek

Similar documents
Report of the Advisory Committee on Administrative and Budgetary Questions

Eliciting Theory about a Retirement Process

Fundamentals of Project Risk Management

UCISA TOOLKIT. Major Project Governance Assessment. version 1.0

Solved MCQs Of CS615 effort, risks, and resources are the factors included in

Understanding the customer s requirements for a software system. Requirements Analysis

Staff Paper Date October 2009

In autumn 2001 the Investment Performance Council (IPC) of the CFA Institute endorsed UKIPS as a country version of GIPS.

Factsheet N 6 Project implementation: delivering project outputs, achieving project objectives and bringing about the desired change

It s Time: Ditch your Business Rules

Questions in the cover letter EIOPA

Lecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis

Lecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis

Lecture 7. Requirements Prioritisation. Risk Management

SIL and Functional Safety some lessons we still have to learn.

STATEMENT OF AUDITING STANDARDS 600 AUDITORS' REPORTS ON FINANCIAL STATEMENTS

Slide 3: What are Policy Analysis and Policy Options Analysis?

JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY

Manage Risk by Risk- Driven Continual Regression Testing. Yanping Chen School of Information Technology and Engineering, University of Ottawa

B.29[17d] Medium-term planning in government departments: Four-year plans

APPENDIX 1. Transport for the North. Risk Management Strategy

The PRINCE2 Practitioner Examination. Sample Paper TR. Answers and rationales

Managing Project Risks. Dr. Eldon R. Larsen, Marshall University Mr. Ryland W. Musick, West Virginia Division of Highways

CONTACT(S) Marie Claire Tabone +44 (0) Matt Chapman +44 (0)

We would like to thank you for the opportunity to provide feedback on the draft Code and would be happy to discuss our comments.

PST Board Assurance Framework

Chapter 2. Objectives

Scouting Ireland Risk Management Framework

Project Management in ICT. Prof. Dr. Harald Wehnes

Information security management systems

SPECIAL TENDER CONDITIONS FOR THE

The Software Engineering Discipline. Computer Aided Software Engineering (CASE) tools. Chapter 7: Software Engineering

COPYRIGHTED MATERIAL. Index

Risk Management User Guide. Prepared By: Neville Turbit Version Feb /01/2009 Risk Management User Guide Page 1 of 36

Integrated Baseline Review

A discussion of Basel II and operational risk in the context of risk perspectives

Contract HSE Management/Part I

Concept Release on possible revisions to PCAOB Standards related to reports on audited financial statements

PROJECT CYCLE MANAGEMENT & LOGICAL FRAMEWORK MATRIX TRAINING CYPRIOT CIVIL SOCIETY IN ACTION V INNOVATION AND CHANGES IN EDUCATION VI

CONTRACT MARCH concerning

Assurance, Confidence and Software Safety. Dr. Richard Hawkins

Note to constituents. Page 1 of 34

REVIEW PRACTICE GUIDANCE

Learning Le cy Document

ISO/IEC INTERNATIONAL STANDARD. Information technology Security techniques Information security risk management

Exam Questions PMI-RMP

2. 5 of the 75 questions are under trial and will not contribute to your overall score. There is no indication of which questions are under trial.

Basic Introduction to Project Cycle. Management Using the. Logical Framework Approach

Topic 2: Define Key Inputs and Input-to-Output Logic

General questions 1. Are there areas not addressed in the Guidance that should be considered in assessing risk culture?

Common Safety Methods CSM

International Dispute Resolution and Arbitration in the Oil & Gas Industry

A Guide to Canadian Standard Form of Agreement Between Client and Architect Abbreviated Version Document Seven

COMMENT LETTER 7 RECEIVED FROM PROPERTY INSTITUTE OF NEW ZEALAND

Five-Day Schedule and Course Content

Courtesy Translation

Advanced Operational Risk Modelling

Managing Investigations Guidance Notes for Managers

INSE 6230 Total Quality Project Management

Software Processes. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

PRINCE2. Number: PRINCE2 Passing Score: 800 Time Limit: 120 min File Version:

IACS PROCEDURES. Volume 4: PROCEDURES FOR THE MAINTENANCE OF THE COMMON STRUCTURAL RULES

Construction projects: manage risk to achieve success

Annex. GUIDELINES FOR CONDUCTING ADVANCE PRICING ARRANGEMENTS UNDER THE MUTUAL AGREEMENT PROCEDURE ("MAP APAs")

Measurable value creation through an advanced approach to ERM

TAC 216 Companion Guide

Part II 2011 Syllabus:

that finance income/expenses consist of the following five line items:

RECIPE FOR A HEDGE FUND LITIGATION NIGHTMARE:

The Society of Actuaries in Ireland. Actuarial Standard of Practice INS-1, Actuarial Function Report

European Railway Agency Recommendation on the 1 st set of Common Safety Methods (ERA-REC SAF)

IATI Country Pilot Synthesis Report May June 2010

Designing an Assurance Process

TRUST COMPANY BUSINESS

A DSS BASED METHODOLOGY FOR PROGRAMME MANAGEMENT

Brief course information Strategic planning and project selection Project integration management Project scope management

Sharing insights on key industry issues*

PRINCE2 Sample Papers

TRANSFER PRICING AND INTANGIBLES: SCOPE OF THE OECD PROJECT

Comments on the Exposure Draft of the Proposed Revision of Actuarial Standard of Practice Number 4

EUROPEAN STANDARD OF ACTUARIAL PRACTICE 2 (ESAP2) ACTUARIAL FUNCTION REPORT UNDER DIRECTIVE 2009/138/EC

Achieve PMP Exam Success Five-Day Course Syllabus

INTERNAL CAPITAL ADEQUACY ASSESSMENT PROCESS GUIDELINE. Nepal Rastra Bank Bank Supervision Department. August 2012 (updated July 2013)

Risk Management Plan for the Ocean Observatories Initiative

Risk Management For Projects

4.1 Risk Assessment and Treatment Assessing Security Risks

Time boxing planning: Buffered Moscow rules

Master Class: Construction Health and Safety: ISO 31000, Risk and Hazard Management - Standards

It All Starts with a Sound Framework. Agenda for Framework Investing s 100 Series Courses

COMMISSION OF THE EUROPEAN COMMUNITIES COMMUNICATION TO THE COMMISSION. Revision of the Internal Control Standards and Underlying Framework

ISA qualifying investments: including peer-to-peer loans HM Treasury

PRACTICE NOTE 1010 THE CONSIDERATION OF ENVIRONMENTAL MATTERS IN THE AUDIT OF FINANCIAL STATEMENTS

CMP for Special Regs and Safety Issues. 1. INTRODUCTION Purpose Scope Submissions to Australian Sailing:...

Challenges of implementation. a regulatory perspective

8 June Re: FEE Comments on IASB/FASB Phase B Discussion Paper Preliminary Views on Financial Statement Presentation

SOFTWARE PROJECT MANAGEMENT : WHITE

SECTION II.7 MANAGING PROJECT RISKS

Project Title: INFRASTRUCTURE AND INTEGRATED TOOLS FOR PERSONALIZED LEARNING OF READING SKILL

42 % 33 % Many small business owners understand the actions needed to plan for transition (based on transition-focused owners, ratings of importance)

The Auditor s Responsibility to Consider Fraud in an Audit of Financial Statements

Transcription:

Tvorba informačných systémov 2. prednáška čo všetko sa týka špecifikácie požiadaviek

Informačný systém (softvér) Dve kategórie IS: krabicový softvér predáva sa na trhu všeobecnej verejnosti (generické produkty), napr. Office, operačné systémy, počítačové hry,... softvér na mieru vytvorený pre konkrétne špecifické potreby zákazníka (produkty na zakázku), napr. zdravotná alebo sociálna poisťovňa, správa smetiarskych vozidiel, V prvom prípade si požiadavky stanovuje samotná softvérová firma, v druhom prípade je potrebné vyhovieť konkrétnym potrebám zákazníka, tvorcovia IS majú omnoho menej slobody.

Zabezpečenie a určenie kvality softvéru Model kvality (ISO/IEC 9126-1) Externé atribúty kvality z hľadiska behu softvéru Interné atribúty kvality vlastnosti z hľadiska vývojára Atribúty kvality použitia vlastnosti hotového produktu

Zabezpečenie a určenie kvality softvéru Externé atribúty kvality: spoľahlivosť: softvér pracuje podľa špecifikácie (správnosť) + správa sa rozumne aj v prípadoch nepokrytých špecifikáciou (robustnosť) flexibilnosť: jednoduchosť zmeny softvéru v prípade zmien požiadaviek/prostredia znovupoužiteľnosť: možnosť použiť softvér (jeho časti) v iných kontextoch kompatibilnosť (interoperabilita): možnosť použiť SW produkt s inými produktami

efektívnosť: schopnosť minimalizovať požiadavky na HW (CPU, interná/externá pamäť, komunikačné kanály,...) portabilita: jednoduchosť prenesenia softvéru na inú HW/SW platformu jednoduchosť použitia: miera námahy potrebnej na zaškolenie a používanie softvéru; vrátane jeho inštalácie a správy ISO/IEC 9126 Software engineering Product quality ISO/IEC 25000: Software engineering: Software product Quality Requirements and Evaluation (SquaRE) môžu byť uvedené ako non-functional requirements (požiadavky, ktoré nepopisujú funkcionalitu) Nie je možné dosiahnuť všetky naraz!

Interné atribúty kvality: (neviditeľné pre vonkajšieho pozorovateľa, avšak podstatné pre dosahovanie externých atribútov), napr. modulárnosť (vhodná architektúra) zrozumiteľnosť kódu minimum rozhraní minimálne rozhrania

Proces vývoja softvéru množina aktivít, ktorej výsledkom je softvérový produkt 4 hlavné druhy technických aktivít sú: špecifikácia SW produktu vývoj (návrh + implementácia) SW produktu validácia SW produktu evolúcia SW produktu

ISO/IEC 9126 + ISO/IEC 15288

Štruktúra nákladov na vývoj softvéru závisí od druhu produktu a od procesu vývoja pred odovzdaním: cca 60% vývoj, 40% testovanie pri generických produktoch je objem testovania väčší rovnako pri kritických systémoch evolúcia: 2-3x viac než náklady do odovzdania (platí pri produktoch na zákazku)

Úspešnosť SW projektov Challenged: prekročenie času/rozpočtu a/alebo nesplnenie požiadaviek Failed: výsledok projektu nebol uvedený do prevádzky Zdroj: Standish Chaos Reports

Úspešnosť SW projektov 1994 1996 1998 2000 2002 2004 2009 Succeeded 16% 27% 26% 28% 34% 29% 32% Failed 31% 40% 28% 23% 15% 18% 24% Challenged 53% 33% 46% 49% 51% 53% 44% National Institute of Standards and Technology (NIST) * Software defects cost nearly $60 Billion Annually * 80% of development costs involve identifying and correcting defects More: http://www.galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help.php

Hlavné role v procese vývoja SW zadávateľ (zákazník, klient) riešiteľ (dodávateľ, vývojár, developer) používateľ (end-user) a ďalšie, napr. prevádzkovateľ stakeholder

Špecifikácia požiadaviek cieľ: vytvorenie uceleného katalógu požiadaviek na produkt (t.j. čo zadávateľ od produktu požaduje) výsledok (špecifikácia požiadaviek) obsahuje: popis funkcií produktu popis údajov, s ktorými produkt pracuje ostatné vlastnosti produktu a obmedzenia naň kladené (tzv. non-functional requirements) špecifikácia je záväzná pre zadávateľa aj riešiteľa

vlastnosti: špecifikácia požiadaviek musí byť zrozumiteľná pre zadávateľa aj riešiteľa musí byť jednoznačná, úplná a vnútorne konzistentná prostriedky: neformálne: prirodzený jazyk, diagramy,... semiformálne: čiastočne formalizované jazyky (napr. UML) formálne: jazyky s matematickým základom (napr. Z) čím formálnejšie prostriedky, tým je špecifikácia presnejšia, ale pre laika menej zrozumiteľná; plne formálne jazyky sa používajú len v určitých prípadoch (napr. kritické systémy) problém: zadávateľ si nevie jasne predstaviť, ako bude výsledný systém vyzerať riešiteľ nie je expert v oblasti, pre ktorú systém implementuje riešenie: čo najviac kvalitnej komunikácie!

Jednoznačné? 3.4.A. Z terminálu sa načíta identifikátor súčiastky nasledovaný identifikátorom kontajnera. Ak tento obsahuje písmená AQ, treba cenu prenesenia danej súčiastky do daného kontajnera násobiť koeficientom 1,5. Konzistentné? časť 4 - bezpečnostné charakteristiky 4.1. Ak tlak v pracovnej nádobe presiahne 10 atmosfér, je potrebné okamžite uzavrieť ventil M17. časť 8 - komunikácia s operátorom 8.2. Ak tlak v pracovnej nádobe presiahne stanovenú hodnotu, je potrebné upovedomiť operátora. Ak operátor nezareaguje do 30 sekúnd, treba vykonať príslušné opatrenia.

Kontext vytvárania katalógu požiadaviek Jadrové úlohy Tvorba katalógu požadaviek Analýza Návrh Implementácia Testovanie Podporné úlohy Riadenie projektu Správa konfigurácie a zmien Zabezpečenie kvality Zaškolenie 16

RE process - inputs and outputs E x i s t i n g s y s t e m s i n f o r m a t i o n S t a k e h o l d e r n e e d s A g r e e d r e q u i r e m e n t s O r g a n i s a t i o n a l s t a n d a r d s R e q u i r e m e n t s e n g i n e e r i n g p r o c e s s S y s t e m s p e c i f i c a t i o n R e g u l a t i o n s S y s t e m m o d e l s D o m a i n i n f o r m a t i o n 17

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 18

Coarse-grain activity model of RE R e q u i r e m e n t s e l i c i t a t i o n R e q u i r e m e n t s a n a l y s i s a n d n e g o t i a t i o n R e q u i r e m e n t s d o c u m e n t a t i o n R e q u i r e m e n t s v a l i d a t i o n U s e r n e e d s d o m a i n i n f o r m a t i o n, e x i s t i n g s y s t e m i n f o r m a t i o n, r e g u l a t i o n s, s t a n d a r d s, e t c. R e q u i r e m e n t s d o c u m e n t S y s t e m s p e c i f i c a t i o n A g r e e d r e q u i r e m e n t s 19

Spiral model of the RE process D e c i s i o n p o i n t : A c c e p t d o c u m e n t o r r e - e n t e r s p i r a l I n f o r m a l s t a t e m e n t o f r e q u i r e m e n t s R e q u ir e m e n t s e l ic i ta t io n R e q u i re m e n t s a n a ly s i s a n d n e g o t i a t i o n R e q u i r e m e n t s d o c u m e n t a n d v a l i d a t i o n r e p o r t S T A R T A g r e e d r e q u i r e m e n t s R e q u i r e m e n t s v a l i d a t i o n R e q u i r e m e n t s d o c u m e n t a t i o n D r a f t r e q u i r e m e n t s d o c u m e n t 20

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 21

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 22

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 23

Katalóg požiadaviek je formálnym dokumentom, ktorý ako základ komunikácie používajú zákazníci, vývojári a management opisuje Služby a funkcie, ktoré má systém poskytovať Obmedzenia (constraints) podmienok, v ktorých softvér bude pracovať Celkové vlastnosti systému, vrátane obmedzení na vyplývajúce vlastnosti Definície ostatných systémov s ktorými bude systém integrovaný. 24

Katalóg požiadaviek ďalej opisuje: Informácie z oblasti príslušnej aplikačnej domény ako v nej prebiehajú procesy, výpočty, aké sú závislosti Všetky obmedzenia na spôsob vývoja softvéru Hardvér i softvér na ktorom sa má systém prevádzkovať V každom prípade by katalóg požiadaviek mal obsahovať úvodnú kapitolu s celkovým prehľadom systému, komerčnými potrebami z ktorých vychádza zákazka a slovníkom pojmov, ktorý vysvetľuje použitú terminológiu. 25

Users of requirements documents System customers specify the requirements and read them to check they meet their needs Project managers Use the requirements document to plan a bid for system and to plan the system development process System engineers Use the requirements to understand the system being developed System test engineers Use the requirements to develop validation tests for the system System maintenance engineers Use the requirements to help understand the system 26

Requirements categories overview Problem Needs Problem space Features Solution space Software Requirements 27

It It is is important to to understand that, (except where problem is is motivated by the technology), the problem is is an artifact of of the problem domain and is is generally technology neutral. 28

Requirements problems The requirements don t reflect the real needs of the customer for the system. Requirements are inconsistent and/or incomplete. It is expensive to make changes to requirements after they have been agreed. There are misunderstandings between customers, those developing the system requirements and software engineers developing or maintaining the system. 29

The requirements elicitation process E s t a b l i s h o b j e c t i v e s U n d e r s t a n d b a c k g r o u n d O r g a n i s e k n o w l e d g e C o l l e c t r e q u i r e m e n t s B u s i n e s s g o a l s O r g a n i s a t i o n a l s t r u c t u r e S t a k e h o l d e r i d e n t i f i c a t i o n S t a k e h o r e q u i r e m l d e r e n t s P r o b l e m t o b e s o l v e d A p p l i c a t i o n d o m a i n G o a l p r i o r i t i s a t i o n D o m a i n r e q u i r e m e n t s S y s t e m c o n s t r a i n t s E x i s t i n g s y s t e m s D o m a i n k n o w l e d g e f i l t e r i n g O r g a n i s a t i o n a l r e q u i r e m e n t s 30

Elicitation stages Objective setting The organisational objectives should be established including general goals of the business, an outline description of the problem to be solved, why the system is necessary and the constraints on the system. Background knowledge acquisition Background information about the system includes information about the organisation where the system is to be installed, the application domain of the system and information about existing systems Knowledge organisation The large amount of knowledge which has been collected in the previous stage must be organised and collated. Stakeholder requirements collection System stakeholders are consulted to discover their requirements. 31

Interviews The requirements engineer or analyst discusses the system with different stakeholders and builds up an understanding of their requirements. Types of interview Closed interviews. The requirements engineer looks for answers to a pre-defined set of questions Open interviews There is no predefined agenda and the requirements engineer discusses, in an open-ended way, what stakeholders want from the system. 32

Interviewing essentials Interviewers must be open-minded and should not approach the interview with preconceived notions about what is required Stakeholders must be given a starting point for discussion. This can be a question, a requirements proposal or an existing system Interviewers must be aware of organisational politics - many real requirements may not be discussed because of their political implications 33

Scenarios Scenarios are stories which explain how a system might be used. They should include a description of the system state before entering the scenario the normal flow of events in the scenario exceptions to the normal flow of events information about concurrent activities a description of the system state at the end of the scenario Scenarios are examples of interaction sessions which describe how a user interacts with a system Discovering scenarios exposes possible system interactions and reveals system facilities which may be required 34

Library scenario - document ordering Log on to EDDIS system Issue order document command Enter reference number of the required document Select a delivery option Log out from EDDIS This sequence of events can be illustrated in a diagram 35

Library Scenario U s e r i d P a s s w E x d O p e r a t i o n a l t e r m i n a l c e p t i o n s L o g i n t o E D D I S I n v a l i d i d o r p a s s w o r d L o g i n r e t r y L o g i n O S e l e c t o r d e r d o c u m e n t P e r m E n K E x c e p t i o n s i s s i o n d e n i e d t e r h e l p s y s t e m O r d e r a c c e p t e d I n p u t d o c u m e n t r e f e r e n c e E n E x I n c o r r e c t r e f e r e n c e I n p u t d o c. r e f e r e n c e D o c u m e n t r e f e r e n c e O K c e p t i o n s t e r h e l p s y s t e m D e l i v e r y c o n f i r m e d C o n f i r m d e l i v e r y d e t a i l s L o g o u t f r o m E D D I S E x c e p t i o n s T i m e o u t A u t o - l o g o u t 36

Scenarios and OOD Scenarios are an inherent part of some object-oriented development methods The term use-case (i.e. a specific case of system usage) is sometimes used to refer to a scenario There are different views on the relationship between use-cases and scenarios: A use-case is a scenario A scenario is a collection of use-cases. Therefore, each exceptional interaction is 37 represented as a separate use-case

Typical use-case scenario for library system a c c e s s s e r v i c e s < < u s e s > > u s e r p e r m i s s i o n s L i b r a r y u s e r b r o w s e i t e m < < u s e s > > s e a r c h c r i t e r i a r e g i s t e r u s e r L i b r a r y s t a f f U s e C a s e s e t p e r m i s s i o n s < < e x t e n d s > > 38

Event scenario for borrowing item L i b r a r y U s e r ( L U ) S y s t e m L i b r a r y s t a f f R e q u e s t s l i b r a r y i t e m ( 1 ) S c a n s i n L U r e g i s t r a t i o n ( 2 ) a c c e p t s r e g i s t r a t i o n ( 3 ) r e j e c t s r e g i s t r a t i o n ( 3 ) v e r i f i e s i t e m l o a n t o L U ( 4 ) l o a n s i t e m ( 5 ) d e n i e s l o a n ( 5 ) 39

Observation and social analysis People often find it hard to describe what they do because it is so natural to them. Sometimes, the best way to understand it is to observe them at work Ethnography is a technique from the social sciences which has proved to be valuable in understanding actual work processes Actual work processes often differ from formal, prescribed processes An ethnographer spends some time observing people at work and building up a picture of how work is done 40

Prototyping A prototype is an initial version of a system which may be used for experimentation Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticise Rapid development of prototypes is essential so that they are available early in the elicitation process 41

Prototyping benefits The prototype allows users to experiment and discover what they really need to support their work Establishes feasibility and usefulness before high development costs are incurred Essential for developing the look and feel of a user interface Can be used for system testing and the development of documentation Forces a detailed study of the requirements which reveals inconsistencies and omissions 42

Types of prototyping Throw-away prototyping intended to help elicit and develop the system requirements. The requirements which should be prototyped are those which cause most difficulties to customers and which are the hardest to understand. Requirements which are wellunderstood need not be implemented by the prototype. Evolutionary prototyping intended to deliver a workable system quickly to the customer. Therefore, the requirements which should be supported by the initial versions of this prototype are those which are wellunderstood and which can deliver useful end-user functionality. It is only after extensive use that poorly understood requirements should be implemented. 43

Prototyping costs and problems Training costs - prototype development may require the use of special purpose tools Development costs - depend on the type of prototype being developed Extended development schedules - developing a prototype may extend the schedule although the prototyping time may be recovered because rework is avoided Incompleteness - it may not be possible to prototype critical system requirements 44

Approaches to prototyping Paper prototyping a paper mock-up of the system is developed and used for system experiments Wizard of Oz prototyping a person simulates the responses of the system in response to some user inputs Executable prototyping a fourth generation language or other rapid development environment is used to develop an executable prototype 45

Requirements analysis and negotiation R e q u i r e m e n t s a n a l y s i s N e c e s s i t y c h e c k i n g C o n s i s t e n c y a n d c o m p l e t e n e s s c h e c k i n g F e a s i b i l i t y c h e c k i n g U n n e c e s s a r y r e q u i r e m e n t s C o n f l i c t i n g a n d i n c o m p l e t e r e q u i r e m e n t s I n f e a s i b l e r e q u i r e m e n t s R e q u i r e m e n t s d i s c u s s i o n R e q u i r e m e n t s p r i o r i t i s a t i o n R e q u i r e m e n t s a g r e e m e n t R e q u i r e m e n t s n e g o t i a t i o n 46

Requirements analysis The goal of analysis is to discover problems, incompleteness and inconsistencies in the elicited requirements. These are then fed back to the stakeholders to resolve them through the negotiation process Analysis is interleaved with elicitation as problems are discovered when the requirements are elicited A problem checklist may be used to support analysis. Each requirement may be assessed against the checklist 47

Analysis checklists Premature design Does the requirement include premature design or implementation information? Combined requirements Does the description of a requirement describe a single requirement or could it be broken down into several different requirements? Unnecessary requirements Is the requirement gold plating? That is, is the requirement a cosmetic addition to the system which is not really necessary. Use of non-standard hardware Does the requirement mean that non-standard hardware or software must be used? To make this decision, you need to know the computer platform requirements. 48

Analysis checklists Conformance with business goals Is the requirement consistent with the business goals defined in the introduction to the requirements document? Requirements ambiguity Requirements ambiguity Is the requirement ambiguous i.e. could it be read in different ways by different people? What are the possible interpretations of the requirement? Requirements realism Is the requirement realistic given the technology which will be used to implement the system? Requirements testability Is the requirement testable, that is, is it stated in such a way that test engineers can derive a test which can show if the system meets that requirement? 49

Requirements interactions A very important objective of requirements analysis is to discover the interactions between requirements and to highlight requirements conflicts and overlaps A requirements interaction matrix shows how requirements interact with each other. Requirements are listed along the rows and columns of the matrix For requirements which conflict, fill in a 1 For requirements which overlap, fill in a 1000 For requirements which are independent, fill in a 0 50

Requirements negotiation Disagreements about requirements are inevitable when a system has many stakeholders. Conflicts are not failures but reflect different stakeholder needs and priorities Requirements negotiation is the process of discussing requirements conflicts and reaching a compromise that all stakeholders can agree to In planning a requirements engineering process, it is important to leave enough time for negotiation. Finding an acceptable compromise can be timeconsuming 51

Negotiation meetings An information stage where the nature of the problems associated with a requirement is explained. A discussion stage where the stakeholders involved discuss how these problems might be resolved. All stakeholders with an interest in the requirement should be given the opportunity to comment. Priorities may be assigned to requirements at this stage. A resolution stage where actions concerning the requirement are agreed. These actions might be to delete the requirement, to suggest specific modifications to the requirement or to elicit further information about the requirement. 52

Key points Requirements elicitation involves understanding the application domain, the specific problem to be solved, the organisational needs and constraints and the specific facilities needed by system stakeholders. The processes of requirements elicitation, analysis and negotiation are iterative, interleaved processes which must usually be repeated several times. There are various techniques of requirements elicitation which may be used including interviewing, scenarios, soft systems methods, prototyping and participant observation. 53

Key points Prototypes are effective for requirements elicitation because stakeholders have something which they can experiment with to find their real requirements. Checklists are particularly useful as a way of organizing the requirements validation process. They remind analysts what to look for when reading through the proposed requirements. Requirements negotiation is always necessary to resolve requirements conflicts and remove requirements overlaps. Negotiation involves information interchange, discussion and resolution of disagreements. 54

Analysis checks Necessity checking The need for the requirement is analysed. In some cases, requirements may be proposed which don t contribute to the business goals of the organisation or to the specific problem to be addressed by the system. Consistency and completeness checking The requirements are cross-checked for consistency and completeness. Consistency means that no requirements should be contradictory; completeness means that no services or constraints which are needed have been missed out. Feasibility checking The requirements are checked to ensure that they are feasible in the context of the budget and schedule available for the system development. 55

Requirements negotiation Requirements discussion Requirements which have been highlighted as problematical are discussed and the stakeholders involved present their views about the requirements. Requirements prioritisation Disputed requirements are prioritised to identify critical requirements and to help the decision making process. Requirements agreement Solutions to the requirements problems are identified and a compromise set of requirements are agreed. Generally, this will involve making changes to some of the requirements. 56

Analysis and validation Analysis works with raw requirements as elicited from the system stakeholders Have we got the right requirements is the key question to be answered at this stage Validation works with a final draft of the requirements document i.e. with negotiated and agreed requirements Have we got the requirements right is the key question to be answered at this stage 57

Validation inputs and outputs R e q u i r e m e n t s d o c u m e n t O r g a n i s a t i o n a l k n o w l e d g e O r g a n i s a t i o n a l s t a n d a r d s R e q u ir e m e n t s v a l i d a t i o n L i s t o f p r o b l e m s A g r e e d a c t i o n s 58

59

Validation inputs Requirements document Should be a complete version of the document, not an unfinished draft. Formatted and organised according to organisational standards Organisational knowledge Knowledge, often implicit, of the organisation which may be used to judge the realism of the requirements Organisational standards Local standards e.g. for the organisation of the requirements document 60

Validation outputs Problem list List of discovered problems in the requirements document Agreed actions List of agreed actions in response to requirements problems. Some problems may have several corrective actions; some problems may have no associated actions 61

Requirements review process A group of people read and analyse the requirements, look for problems, meet and discuss the problems and agree on actions to address these problems P l a n r e v i e w D i s t r i b u t e d o c u m e n t s P r e p a r e f o r r e v i e w H o l d r e v i e w m e e ti n g F o ll o w - u p a c t i o n s R e v i s e d o c u m e n t 62

Review activities Plan review The review team is selected and a time and place for the review meeting is chosen. Distribute documents The requirements document is distributed to the review team members Prepare for review Individual reviewers read the requirements to find conflicts, omissions, inconsistencies, deviations from standards and other problems. 63

Review activities Hold review meeting Individual comments and problems are discussed and a set of actions to address the problems is agreed. Follow-up actions The chair of the review checks that the agreed actions have been carried out. Revise document The requirements document is revised to reflect the agreed actions. At this stage, it may be accepted or it may be re-reviewed 64

Requirements clarification Problem actions The requirement may be badly expressed or may have accidentally omitted information which has been collected during requirements elicitation. Missing information Some information is missing from the requirements document. It is the responsibility of the requirements engineers who are revising the document to discover this information from system stakeholders. Requirements conflict There is a significant conflict between requirements. The stakeholders involved must negotiate to resolve the conflict. Unrealistic requirement The requirement does not appear to be implementable with the technology available or given other constraints on the system. Stakeholders must be consulted to decide how to make the requirement more realistic. 65

Pre-review checking Reviews are expensive because they involve a number of people spending time reading and checking the requirements document This expense can be reduced by using pre-review checking where one person checks the document and looks for straightforward problems such as missing requirements, lack of conformance to standards, typographical errors, etc. Document may be returned for correction or the list of problems distributed to other reviewers 66

Pre-review checking C h e c k d o c u m e n t s t r u c t u r e C h e c k d o c u m e n t c o m p l e t e n e s s C h e c k d o c u m e n t a g a i n s t s t a n d a r d s R u n a u t o m a t i c c h e c k e r s R e q u ir e m e n t s d o c u m e n t P r o b l e m r e p o r t 67

Review team membership Reviews should involve a number of stakeholders drawn from different backgrounds People from different backgrounds bring different skills and knowledge to the review Stakeholders feel involved in the RE process and develop an understanding of the needs of other stakeholders Review team should always involve at least a domain expert and an end-user 68

Review checklists Understandability Can readers of the document understand what the requirements mean? Redundancy Is information unnecessarily repeated in the requirements document? Completeness Does the checker know of any missing requirements or is there any information missing from individual requirement descriptions? Ambiguity Are the requirements expressed using terms which are clearly defined? Could readers from different backgrounds make different interpretations of the requirements? 69

Review checklists Consistency Do the descriptions of different requirements include contradictions? Are there contradictions between individual requirements and overall system requirements? Organisation Is the document structured in a sensible way? Are the descriptions of requirements organised so that related requirements are grouped? Conformance to standards Does the requirements document and individual requirements conform to defined standards? Are departures from the standards, justified? Traceability Are requirements unambiguously identified, include links to related requirements and to the reasons why these requirements have been included? 70

Checklist questions Is each requirement uniquely identified? Are specialised terms defined in the glossary Does a requirement stand on its own or do you have to examine other requirements to understand what it means? Do individual requirements use the terms consistently Is the same service requested in different requirements? Are there any contradictions in these requests? If a requirement makes reference to some other facilities, are these described elsewhere in the document? Are related requirements grouped together? If not, do they refer to each other? 71

Types of Non-functional requirements The IEEE-Std 830-1993 lists 13 non-functional requirements to be included in a Software Requirements Document. Performance requirements Interface requirements Operational requirements Resource requirements Verification requirements Acceptance requirements Documentation requirements Security requirements Portability requirements Quality requirements Reliability requirements Maintainability requirements Safety requirements 72

Classification of NFRs Non-functional requirements Process requirements Delivery requirements implementation requirements standards requirements Product requirements Usability requirements Reliability requirements Safety requirements Efficiency requirements Performance requirements Capacity requirements External requirements Legal constraints Economic constraints Interoperability requirements 73

Requirements management The process of managing change to the requirements for a system The principal concerns of requirements management are: Managing changes to agreed requirements Managing the relationships between requirements Managing the dependencies between the requirements document and other documents produced in the systems engineering process Requirements cannot be managed effectively without requirements traceability. A requirement is traceable if you can discover who suggested the requirement, why the requirement exists, what requirements are related to it and how that requirement relates to other information such as systems designs, implementations and user documentation. 74

Requirements change factors Requirements errors, conflicts and inconsistencies As requirements are analysed and implemented, errors and inconsistencies emerge and must be corrected. These may be discovered during requirements analysis and validation or later in the development process. Evolving customer/end-user knowledge of the system As requirements are developed, customers and endusers develop a better understanding of what they really require from a system. Technical, schedule or cost problems Problems may be encountered in implementing a requirement. It may be too expensive or take too long to implement certain requirements. 75

Requirements change factors Changing customer priorities Customer priorities change during system development as a result of a changing business environment, the emergence of new competitors, staff changes, etc. Environmental changes The environment in which the system is to be installed may change so that the system requirements have to change to maintain compatibility Organisational changes The organisation which intends to use the system may change its structure and processes resulting in new system requirements 76

Requirements identification It is essential for requirements management that every requirement should have a unique identification The most common approach is requirements numbering based on chapter/section in the requirements document Example: Symbolic identification Requirements can be identified by giving them a symbolic name which is associated with the requirement itself. For example, EFF-1, EFF- 2, EFF-3 may be used for requirements which relate to system efficiency 77

The change management process Some requirements problem is identified. This could come from an analysis of the requirements, new customer needs, or operational problems with the system. The requirements are analysed using problem information and requirements changes are proposed. The proposed changes are analysed This checks how many requirements (and, if necessary, system components) are affected by the change and roughly how much it would cost, in both time and money, to make the change. The change is implemented. A set of amendments to the requirements document or a new document version is produced. This should, of course, be validated using whatever normal quality checking procedures are used. 78

Change management stages I d e n t i f i e d p r o b l e m P r o b l e m a n a l y s i s a n d c h a n g e s p e c i f i c a t i o n C h a n g e a n a l y s i s a n d c o s t i n g C h a n g e i m p l e m e n t a t i o n R e v i s e d r e q u i r e m e n t s Change Change rejected rejected 79

Traceability Traceability information is information which helps you assess the impact of requirements change. It links related requirements and the requirements and other system representations Types of traceability information B u s i n e s s p l a n R e q u ir e m e n t s D o c u m e n t D e s i g n S p e c i f i c a t i o n F o r w a r d - t o t r a c e a b i l i t y F o r w a r d - f r o m t r a c e a b i l i t y B a c k w a r d - f r o m t r a c e a b i l i t y B a c k w a r d - t o t r a c e a b i l i t y 80

Requirements document The requirements document is a formal document used to communicate the requirements to customers, engineers and managers. The requirements document describes: The services and functions which the system should provide The constraints under which the system must operate Overall properties of the system i.e.. constraints on the system s emergent properties Definitions of other systems which the system must integrate with. 81

Requirements document The requirements document describes: Information about the application domain of the system e.g. how to carry out particular types of computation Constraints on the processes used to develop the system Description of the hardware on which the system is to run In addition, the requirements document should always include an introductory chapter which provides an overview of the system, business needs supported by the system and a glossary which explains the 82 terminology used.

Users of requirements documents System customers specify the requirements and read them to check they meet their needs Project managers Use the requirements document to plan a bid for system and to plan the system development process System engineers Use the requirements to understand the system being developed System test engineers Use the requirements to develop validation tests for the system System maintenance engineers Use the requirements to help understand the system 83

Requirements document structure IEEE/ANSI 830-1993 standard proposes a structure for software requirements documents Introduction 1.1 Purpose of requirements document 1.2 Scope of the product 1.3 Definitions, acronyms and abbreviations 1.4 References 1.5 Overview of the remainder of the document 84

Requirements document structure 2. General description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies 3. Specific requirements Covering functional, non-functional and interface requirements. 4. Appendices Index 85

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 86