Software specification and modelling. Requirements engineering

Similar documents
Requirements. Requirements. Types of Requirement. What Is a Requirement?

Ch 4: Requirements Engineering. What are requirements?

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Lesson 06. Requirement Engineering Processes

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 6 Slide 1

Software Engineering. Lecture 10

Lecture 8 Requirements Engineering

Requirements engineering

UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering

Lecture 9 Requirements Engineering II

Requirements Engineering. Version October 2016

Requirements Engineering

Requirements Engineering process

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Software Engineering Unit 4- Requirement Analysis and Specification

VO Software Engineering

Requirements Engineering

Lecture 6: Requirements Engineering

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Requirements Validation and Negotiation

Requirement Analysis

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Requirements Validation and Negotiation (cont d)

1) Software Engineering

REQUIREMENTS. Michael Weintraub Spring, 2016

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA

Software Requirements and the Requirements Engineering Process. Chapters 5 and 6

Chapter 4 Requirements Engineering

The requirements engineering process

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Vragen. Use case analysis. Use-Cases: describing how the user will Use cases

CS3500: Object-Oriented Design Fall 2013

CMSC 435: Software Engineering Section 0201

CIS 890: Safety Critical Systems

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

Requirements Validation and Negotiation

Modeling Issues Modeling Enterprises. Modeling

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

System Name Software Architecture Description

Chapter 8 Software Testing. Chapter 8 Software testing

The HUMANE roadmaps towards future human-machine networks Oxford, UK 21 March 2017

Requirements Analysis. SE 555 Software Requirements & Specification

Natural Language Specification

Software Engineering I (02161)

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

BCS Certificate in Requirements Engineering Syllabus

When Recognition Matters WHITEPAPER ISO SUPPLY CHAIN SECURITY MANAGEMENT SYSTEMS.

Software Engineering

(c) Addison Wesley Chapter 3. ! Interviewing customers and domain experts. ! Questionnaires. ! Observation. ! Study of documents and software systems

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

Standards for Writing Requirements and Specifications. Drs. Schesser & Simone BME 496 Capstone II

Object-Oriented Software Engineering Practical Software Development using UML and Java

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

emarketeer Information Security Policy

Unit 1 Introduction to Software Engineering

ACCOUNTING TECHNICIANS IRELAND DATA PROTECTION POLICY GENERAL DATA PROTECTION REGULATION

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

European Interoperability Reference Architecture (EIRA) overview

BCS Certificate in Requirements Engineering Extended Syllabus Version 2.5 May 2017

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals

Stakeholder Participation Guidance

Intro to Software Requirements

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Enterprise Architect Training Courses

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Code of Practice for Service Delivery of Common mobile short-codes in the UK for all communications media

INSPIRE status report

DATA SUBJECT ACCESS REQUEST PROCEDURE

1: Specifying Requirements with Use Case Diagrams

NHS Gloucestershire Clinical Commissioning Group. Business Continuity Strategy

Information backup - diagnostic review Abertawe Bro Morgannwg University Health Board. Issued: September 2013 Document reference: 495A2013

EUROPEAN MEDICINES AGENCY (EMA) CONSULTATION

Requirements Analysis. Requirement analysis. Requirements analysis 3/11/14. Advanced Programming

IT risks and controls

Basics : the Requirements Engineering Process

Information Bulletin

Version 1/2018. GDPR Processor Security Controls

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

Moen & McClure An Evaluation of U.S. GILS Implementation June 30, Executive Summary

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Part 5. Verification and Validation

MANUAL OF UNIVERSITY POLICIES PROCEDURES AND GUIDELINES. Applies to: faculty staff students student employees visitors contractors

SOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD

EIT Health UK-Ireland Privacy Policy

Usability Tests and Heuristic Reviews Planning and Estimation Worksheets

European Aviation Safety Agency

SO OS Secure Online Voting System

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

Process Improvement Proposals in System Requirements Management - an Industrial Case Study

NAI Mobile Application Code

1 Modification of the GEA theory through comparison of meta models

Chapter 5: Structural Modeling

Introduction to Software Engineering

Application form guidance

APPROVAL SHEET PROCEDURE INFORMATION SECURITY MANAGEMENT SYSTEM CERTIFICATION. PT. TÜV NORD Indonesia PS - TNI 001 Rev.05

Auckland District SUPPORT SERVICES Board Policy Health Board (Section 7) Manual ELECTRONIC MAIL

"Energy and Ecological Transition for the Climate" Label Control and Monitoring Plan Guidelines

Transcription:

Software specification and modelling Requirements engineering

Requirements engineering (RE) Requirements engineering is the process of establishing the services that a customer requires from a system and the constraints under which it operates and is developed. The system requirements are the descriptions of the system services and constraints that are generated during the requirements engineering process. 2

What is a requirement? Requirements could be in the range: high-level abstract statement mathematical functional specification 3

Requirements Abstraction (Davis) If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. The requirements must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organization s needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the requirements document for the system. 4

Types of requirements 5

Who reads requirements? 6

7

Functional and non-functional requirements Functional requirements Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. May state what the system should not do. Non-functional requirements Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Often apply to the system as a whole rather than individual features or services. 8

Functional requirements Describe functionality or system services Depend on the type of software, expected users and the type of system where the software is used Functional user requirements may be high-level statements of what the system should do Functional system requirements should describe the system services in detail 9

Functional requirements - characteristics Precise Ambiguous ( unclear or double-meaning ) requirements may be interpreted in different ways by developers and users Complete They should include descriptions of all required facilities. Consistent There should be no conflicts or contradictions in the descriptions of the system facilities 10

Functional requirement - Examples 1. A user shall be able to search the appointments lists for all clinics. 2. Each staff member using the system shall be uniquely identified by his or her 8-digit employee number. 11

Non-functional requirements System properties and constraints reliability response time storage requirements I/O device capability system representations Process requirements development method particular IDE programming language Non-functional requirements may be more critical than functional requirements. They may affect the overall architecture of a system rather than the individual components. 12

Non-functional requirements classification 13

Non-functional requirement - Examples 1. The system shall implement patient privacy provisions as set out in HStan-03-2006-priv 2. The Mentcare system shall be available to all clinics during normal working hours (Mon Fri, 0830 17.30). Downtime within normal working hours shall not exceed five seconds in any one day 3. Users of the Mentcare system shall authenticate themselves using their health authority identity card 14

15

Requirements engineering process 16

Requirements engineering process The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements However, there are a number of generic activities common to all processes Requirements elicitation (expression) and analysis Requirements validation Requirements management In practice, RE is an iterative activity in which these processes are interleaved 17

RE process diagram 18

Stakeholders Any person or organization who is affected by the system in some way and so who has a legitimate interest Stakeholder types Internal External 19

Requirements elicitation and analysis Requirements elicitation = Requirements discovery and expression. Involves technical staff working with customers to find out about: application domain services that the system should provide system s operational constraints May involve different stakeholders end-users domain experts managers trade unions maintenance engineers 20

Problems of requirements elicitation Stakeholders don t know what they really want Different stakeholders may have conflicting requirements Stakeholders express requirements in their own terms Organisational and political factors may influence the system requirements The requirements change during the analysis process. New stakeholders may emerge and the business environment may change 21

Requirements elicitation and analysis process Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage. Requirements are documented and input into the next round of the spiral. Prioritising requirements and resolving requirements conflicts. Groups related requirements and organises them into coherent clusters. 22

Requirements specification Requirements specification is the process of writing down the user and system requirements in a requirements document User requirements have to be understandable by end-users and customers who do not have a technical background System requirements are more detailed requirements and may include more technical information The requirements may be part of a contract for the system development It is therefore important that these are as complete as possible 23

Few guidelines for writing requirements Invent a standard format and use it for all requirements Use text highlighting to identify key parts of the requirement Include an explanation (rationale) of why a requirement is necessary Avoid the use of computer jargon, but there are problems with natural language: Lack of clarity Requirements confusion Merged requirements 24

How it could look like :) 25

Requirements and design In principle, requirements should state what the system should do and the design should describe how it does this In practice, requirements and design are inseparable A system architecture may be designed to structure the requirements The system may inter-operate with other systems that generate design requirements The use of a specific architecture to satisfy non-functional requirements may be a domain requirement This may be the consequence of a regulatory requirement 26

Form-based requirements specifications Definition of the function or entity Description of inputs and where they come from Description of outputs and where they go to Information about the information needed for the computation and other entities used Description of the action to be taken Pre and post conditions (if appropriate) The side effects (if any) of the function 27

28

29

Use cases Use-cases are a kind of scenario that are included in the UML Use cases identify the actors in an interaction and which describe the interaction itself A set of use cases should describe all possible interactions with the system High-level graphical model supplemented by more detailed tabular description UML sequence diagrams may be used to add detail to use-cases by showing the sequence of event processing in the system 30

31

The Software Requirements Document The software requirements document is the official statement of what is required of the system developers Should include both a definition of user requirements and a specification of the system requirements It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it 32

Requirements checking Validity. Does the system provide the functions which best support the customer s needs? Consistency. Are there any requirements conflicts? Completeness. Are all functions required by the customer included? Realism. Can the requirements be implemented given available budget and technology Verifiability. Can the requirements be checked? 33

Users of requirements document 34

35

Requirements validation Requirements validation demonstrate that the requirements define the system that the customer really wants Requirements error costs are high so validation is very important Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error 36

Requirements validation techniques Requirements reviews Systematic manual analysis of the requirements Prototyping Using an executable model of the system to check requirements Test-case generation Developing tests for requirements to check testability 37

Requirements reviews Verifiability Comprehensibility Is the requirement properly understood? Traceability Is the requirement realistically testable? Is the origin of the requirement clearly stated? Adaptability Can the requirement be changed without a large impact on other requirements? 38

Requirements reviews (cont.) Regular reviews should be held while the requirements definition is being formulated. Both client and contractor staff should be involved in reviews. Reviews may be formal (with completed documents) or informal. Good communications between developers, customers and users can resolve problems at an early stage. 39

40

41

42