Requirements Analysis Requirements Engineering (CI 2323) Daniel Siahaan.

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
SWE Introduction to Software Engineering
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Processes
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
7M701 1 Software Engineering Systems Models Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 7 (some items)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 61 Requirements Engineering Processes l Processes used to discover, analyse and validate system.
Requirements Engineering Processes
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
7. Requirements Engineering Processes
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyze and.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Collecting Project Problem Requirements The ATCS Modeling Project: Informal Picture Follows.
Chapter 7 System models.
Lecture 7: Requirements Engineering
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Engineering, 8th edition. Chapter 7 1 Courtesy: ©Ian Sommerville 2006 March 20 th, 2008 Lecture # 12 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Process
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Andreas S. Andreou CS603 – Advanced Software Engineering Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and validate.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Chapter 4 – Requirements Engineering Part 2 1Chapter 4 Requirements engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Viewpoint Oriented Requirement Definition (VORD) Amna Shifia Nisafani Department of Information Systems Subject : Requirement Engineering.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #6.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CHAPTER 5 REQUIREMENTS ENGINEERING PROCESSES 1. Objectives  To describe the principal requirements engineering activities and their relationships  To.
VOSE / VORD Lecture 08.
Requirements Engineering Processes
Requirements Engineering Process
Requirement Management
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
Requirements Engineering Processes
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirements Analysis Requirements Engineering (CI 2323) Daniel Siahaan

Content Introduction to Requirements Engineering Add-on: Scenario Feasibility Studies Requirements Elicitation Creativity Thinking Requirements Analysis Requirements Specification Requirements Validation

Requirements analysis Sometimes called requirements elicitation or requirements discovery Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints May involve stakeholders: end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc.

Requirements Analysis Acquire understanding about the problem domain characteristics and problem to find the solution It is an information-acquiring, -collating, and –structuring process through which one attempts to understand all the various parts of a problem and their relationships. Basic Issues: –How to effectively elicit a complete set of requirements from the customer or other sources? –How to decompose the problem into intellectually manageable pieces? –How to organize the information so it can be understood? –How to communicate about the problem with all the parties involved? –How to resolve conflicting needs? –Ho to know when to stop?

System models Different models may be produced during the requirements analysis activity Requirements analysis may involve three structuring activities which result in these different models –Partitioning. Identifies the structural (part-of) relationships between entities –Abstraction. Identifies generalities among entities –Projection. Identifies different ways of looking at a problem Using modeling techniques, e.g. UML

The requirements analysis process

Methods for Requirements Analysis Structured Analysis Object Oriented Analysis Problem Domain Oriented Analysis Viewpoint Oriented Analysis

Structured Analysis Centered upon modeling the pre-existing system –Process –Data flow –Structure of data stored Weakness: –Downplay the study of the problem domain –Requirements are specified in term of idesign –Lack of sharp boundary between analysis and design encourage premature idesign –Functional specification is absent –Ill-suited for certain (not rarely) types of application

Object Oriented Analysis It’s not really an analysis: –It requires pre-existing requirements document and behaviour specification. High-level, architectural, design of the solution system. OOA Outline: –Identify object classes within the problem domain –Define the attribute and methods of those classes –Define the behaviour of those classses –Model the relationships between those classes

Object Oriented Analysis Three perspective of class model –Specification (i.e. interface classes) –Conceptual (i.e. problem domain classes – related to analysis) –Implementation (i.e. related to internal design)

Problem Domain Oriented Analysis Centered on modeling the problem context –Problem frames: capture significantly more information about the problem domain Less modeling, more description, procedure: –Collect basic information and develop problem frame(s) to establish the type of the problem domain –Collect further detail and develop description of the relevant characteristics of the problem domain –Collect and document the requirements for the new system

Problem Domain Oriented Analysis Type of problem domain: –Workpiece system – perform directed operations upon objects that exist only within the system –Control system – control the behavior (required- commanded) of part of the problem domain –Information system – provide information (automatically- responsively) about the problem domain –Transformation system – transform input data in a particular format into output data in a corresponding, particular format –Connection system – maintain correspondence between sub- domains that are not directly connected

Viewpoint-oriented analysis Stakeholders represent different ways of looking at a problem or problem viewpoints –different types of stakeholders –different views among stakeholders of same type This multi-perspective analysis is important as there is no single correct way to analyse system requirements

Multiple problem viewpoints

Autoteller system The example used here is an auto-teller system which provides some automated banking services I use a very simplified system which offers some services to customers of the bank who own the system and a narrower range of services to other customers Services include cash withdrawal, message passing (send a message to request a service), ordering a statement and transferring funds

Extra Assignments Study Literature: VORD –Contents (5-6 pages, 11p, 1.5space): Overview (What, Why, and How) Advantage – Disadvantage Practical Approach –Sources: G. Kotonya and I. Sommerville, "Requirements Engineering with Viewpoints", Software Eng. Journal 1996; 11(1): 5-11 I Sommerville and P Sawyer, “ Viewpoints: Principles, Problems, and a Practical Approach to RE ”, Cooperative System Engineering Group, Technical Report Finkelstein et.al., “ Requirements Engineering Through Viewpoints ”, Departement of Computing, Imperial College, –Due Date: April 29 th, 2005 –Discussion Date: May 17 th, 2005

Autoteller viewpoints Bank customers Representatives of other banks Hardware and software maintenance engineers Marketing department Bank managers and counter staff Database administrators and security staff Communications engineers Personnel department

Types of viewpoint Data sources or sinks –Viewpoints are responsible for producing or consuming data. Analysis involves checking that data is produced and consumed and that assumptions about the source and sink of data are valid Representation frameworks –Viewpoints represent particular types of system models. These may be compared to discover requirements that would be missed using a single representation. Particularly suitable for real-time systems Receivers of services –Viewpoints are external to the system and receive services from it. Most suited to interactive systems

External viewpoints Natural to think of end-users as receivers of system services Viewpoints are a natural way to structure requirements elicitation It is relatively easy to decide if a viewpoint is valid Viewpoints and services may be sued to structure non-functional requirements

The VORD method

VORD standard forms

Viewpoint identification

Viewpoint service information

Viewpoint hierarchy

Customer/cash withdrawal templates

Method advantages/disadvantages Methods impose structure on the requirements analysis process May be supported by CASE tools Can be applied systematically and can lead naturally to design However, forces system modelling using a computational framework Methods fail to adequately provide for the description of human activities

System contexts The boundaries of the system must be established to determine what must be implemented These are documented using a description of the system context. This should include a description of the other systems which are in the environment Social and organisational factors may influence the positioning of the system boundary

Auto-teller system context

Social and organisational factors Software systems are used in a social and organisational context. This can influence or even dominate the system requirements Social and organisational factors are not a single viewpoint but are influences on all viewpoints Good analysts must be sensitive to these factors but currently no systematic way to tackle their analysis

Ethnographic analysis A social scientists spends a considerable time observing and analysing how people actually work People do not have to explain or articulate their work Social and organisational factors of importance may be observed Ethnographic studies have shown that work is usually richer and more complex than suggested by simple system models

Key points Requirements analysis requires domain understanding, requirements collection, classification, structuring, prioritisation and validation Complex systems should be analysed from different viewpoints Viewpoints may be based on sources and sinks of data, system models or external interaction

Key points Structured methods may be used for requirements analysis. They should include a process model, system modelling notations, rules and guidelines for system modelling and standard reports The VORD viewpoint-oriented method relies on viewpoints which are external to the system The boundaries between a system and its environment must be defined Social and organisational factors have a strong influence on system requirements