USING VIEWPOINTS FOR REQUIREMENTS ELICITATION Aluno: Cleviton Monteiro Professor: Jaelson Castro

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
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Viewpoint-oriented requirements methods. Objectives To explain the notion of viewpoints in RE To explain the notion of viewpoints in structured analysis.
Overview of Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Requirements Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
المحاضرة الثالثة. 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.
Requirements Engineering Requirements Elicitation Requirements Analysis Requirements Validation Requirements Management.
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 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©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.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Process Improvement l Understanding, Modelling and Improving the Software Process.
Collecting Project Problem Requirements The ATCS Modeling Project: Informal Picture Follows.
Lecture 7: Requirements Engineering
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
System models l Abstract descriptions of systems whose requirements are being analysed.
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 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
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 Validation
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.
©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.
Requirements Analysis
 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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.
©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 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Requirements Engineering Processes
Requirements Engineering Process
Requirement Management
Requirements Elicitation and Elaboration
SNS College of Engineering Coimbatore
Abstract descriptions of systems whose requirements are being analysed
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

USING VIEWPOINTS FOR REQUIREMENTS ELICITATION Aluno: Cleviton Monteiro Professor: Jaelson Castro

Agenda Motivation Viewpoint approach VORD Preview Conclusions

Motivation “For technical, human and environmental reasons, system requirements specifications will always be imperfect.” (Sommeville) “However, although perfection is impossible, there is no doubt that much can be done to improve the quality of most system specifications” (Sommeville)

Improving specification’s quality Can be achieved in two ways: 1. Improving requirements engineering process  Trying to do not introduce errors on specification 2. Improving the organization and presentation of specification itself  More amenable to validation Viewpoints aims to address the these points

Requirements model Requirements activities fall into two classes [Leite and Freeman, 1991]:  Elicitation activities*  Modeling activities

Viewpoint approach Based on collecting and analysing requirements from different perspectives

Viewpoint approach Viewpoint is an encapsulation of partial information about a system’s requirements Are used to structure the processes of:  Requirements elicitation  Requirements specification

Viewpoint arguments Systems usage is heterogeneous Different types of information are needed to specify systems, including information of:  The application domain  System’s environment  Engineering information about system’s development May be used as a means of structuring the process of requirements elicitation May be used to structure the requirements description and expose conflicts between different requirements

Viewpoint approach Kinds of viewpoints  Viewpoints associated with system stakeholders Stakeholders direct or indirect affected by the system End-user of the system, managers of organization, other systems, external entities (regulatory bodies), etc/  Viewpoints associated with organizational and domain knowledge Knowledge that constraints system requirements Physical (e.g. network performance), organizational (different hardwares), human (average operator error rate), laws, etc

Viewpoint approach Warning!!  If too many viewpoints are identified -> It’s difficult to manage Then, select only the most critical viewpoints to be used in the analysis (magic number: 5) Trade-off:  Additional viewpoints X Cost of analysis and management

Influential work Nuseibeh [Nuseibeh, B. et al, 93] Most Influential Paper award in ICSE’03 Threat explicit relationships between viewpoints  Manage multi-perspective software development  Presents the xlinkit toolkit Problem: Viewpoints may cause overlaps and conflicts The work proposes a framework to explicitly identify the inconsistencies

Viewpoint methods VORD Preview

VORD Kotonya and Sommerville work Covers since the initial requirements discovery through to the detailed system modeling Service-oriented: viewpoints are analogous to clients in a client-server system Direct viewpoints Indirect viewpoints (organizational requirements and concerns)

VORD artifact

VORD Process

VORD – Identify viewpoints Provides a pre-defined set of viewpoint classes  “Start point” (Isn’t complete)  Each organization must establish its own hierarchy

VORD – Identify viewpoints Stages: 1. Prune the class hierarchy to eliminate not relevant classes 2. Include in the tree classes of stakeholders that aren’t in it but are relevant 3. Identify subsystem viewpoints from system architecture model 4. Potential viewpoints are system operators 5. For indirect viewpoints consider the roles of principal individuals

VORD – Documenting viewpoints Consist of documenting viewpoints’ name, requirements constraints... in the viewpoint artifact VORD has a toolset to support this

VORD – Analysis Two stages: 1. Correctness of viewpoint documentation Consistent and not omitted sections 2. Conflict analysis Conflicts among different viewpoints VORD toolset help  Not automatically  Just facilitate viewpoints’ information presentation

VORD – Characteristics VORD viewpoints is defined by its attributes, services, events and specializations Provide a framework that distinguish between user classes Orientation of a service permits distinguish between user needs and what is required at system level Indirect viewpoints brings to light the importance of people who won’t interact directly The user of both formal and informal notations helps to reduce the lack of communication

VORD – Problems Difficult to apply to systems those don’t fit into the service-oriented systems paradigm Do not provides change control mechanism Permits both formal and informal notations, but doesn’t provides means to demonstrates equivalence among them

Preview Sommerville and Sawyer work Aims to enhance the requirements engineering process  Improving requirements discovery, analysis and negotiation rather than system specification Adds the notion of viewpoint concerns  Generalization of goal notion Its viewpoint encapsulates some information about the system. System’s requirements are obtained integrating different viewpoints

Preview – State of the art Aspect oriented requirement engineering (AORE) 2 works:  Araújo and Coutinho, 2003  Rashid et al, 2002 Proposes approaches to threat crosscut concerns in viewpoints approaches

Preview – Artifacts 2 types:  Viewpoints  Concerns Viewpoints  Is defined by its focus  3 Types: interactor viewpoint, indirect stakeholder viewpoint and domain viewpoint Concerns  Explicitly link the requirements to organizational goals and priorities  Requirements are consistent with organization’s business goals

Preview – Artifacts Viewpoint information:  Name  Focus (viewpoint’s scope, how it relates to a part of the whole system)  Concerns (goals, objectives, constraints)  Source (sources of information)  Requirements  History (changes)

Preview – Artifacts Concerns:  Explicitly link the requirements to organizational goals and high-level strategic objectives Examples:  Safety  Availability  Maintainability Number of concerns should be small (max. 6)

Preview – Artifacts Difference between concerns and viewpoints:  Concerns reflect organization priorities  Concerns are broken into sub-concerns then derive questions witch must be considered by all viewpoints  Concerns express requirements that are applied for the system as a whole (not specific services)

Preview – Process

Identification of viewpoints (guidelines)  Identify at least one viewpoint of each type  Decide which viewpoints are likely to be relevant to the problem (observing the hierarchy)  If more than 6 viewpoints are taken as relevant, think about the complexity of manage to much information  Define the foci of each identified viewpoint. If this is difficult or unduly vague, you probably need to define more specific viewpoints

Preview – Process Requirements analysis  Eliminate inconsistencies and incompleteness Requirements X Concerns Requirements X Viewpoints Internal Viewpoints conflicts Cross viewpoint conflicts  The viewpoint focus shall be used to direct the analysis (+) overlap (-) conflict () independence

Preview - Characteristics Requirements associated with a viewpoint may be expressed in any notation Viewpoints has a limited scope and explicitly describe their perspective Preview may be used for the analysis of processes as well as system requirements

Preview - Problems At analysis stage comparing viewpoints foci aren’t infallible  Don’t identifies implicit organizational and political factors The absence of clear guidelines for concern decomposition may cause difficulties Doesn’t support inconsistency management and trade-off analysis Only few number of concerns can be addressed Small number of viewpoints should be used

Conclusion Viewpoint addresses the importance of explicitly threat the heterogeneous system usage Promotes the structuring of requirements elicitation process Exposes conflicts from different requirements The difficult to threat many viewpoints is similar in different viewpoint methods  The use of an automatic tool analysis can be a good way to address this issue (future work)

Future work Development of a case study for a deeper study on approaches The use of viewpoints to threat aspect oriented requirements engineering (AORE) How to estimate system size directly from the viewpoints

USING VIEWPOINTS FOR REQUIREMENTS ELICITATION Aluno: Cleviton Monteiro Professor: Jaelson Castro