Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Requirements Engineering : A Roadmap Effectiveness of.

Slides:



Advertisements
Similar presentations
© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
Advertisements

May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
درس مهندسي نيازمندي ها استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت Requirement Engineering :A Roadmap.
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Software Requirements.
Identifying Needs and Establishing Requirements John Thiesfeld Jeff Morton Josh Edwards.
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Requirement Engineering.
Requirements Engineering: A Roadmap Vahid Jalali Fall 2007 Amirkabir university of technology, Department of computer engineering and information technology,
Four Dark Corners of Requirements Engineering
Requirements Analysis Concepts & Principles
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap The Meaning Of Requirements.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Towards Modeling.
Requirement Engineering – A Roadmap
Requirements Engineering Processes
Viewpoint-oriented requirements methods. Objectives To explain the notion of viewpoints in RE To explain the notion of viewpoints in structured analysis.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Dealing with Non-Functional.
1 درس مهندسي نيازمندي استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت RE in The Year 00: A Research Perspective.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Requirements Analysis
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
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, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
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.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Lecture 7: Requirements Engineering
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Validation
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirement Engineering
Requirements Analysis
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
©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.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Requirements Engineering Processes
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
Software Requirements analysis & specifications
Introduction to Requirements Engineering
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Effectiveness of Elicitation Techniques in Distributed RE Wesley James Lloyd Mary Beth Rosson James D. Arthur 2002

Shiva Vafadar 2 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Introduction  The primary measure of success of a software system is the degree to which it satisfies its customers  This is difficult Often, their goals and technical needs may not be explicit may be difficult to articulate. may be constrained by a variety of factors outside their control

Shiva Vafadar 3 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Core RE Activities  Core Activities are: Eliciting Requirements Modeling and Analyzing Requirements Communicating requirements Agreeing Requirements Evolving Requirements  practical reality dictates that these activities are actually interleaved, iterative, and may span the entire software systems development life cycle.

Shiva Vafadar 4 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE Definition  Zave defines RE as: Requirements engineering is the branch of software engineering concerned with the real world goals for, functions of, and constraints on software systems. It is also concerned with the relationship f theses factors to precise specifications of software behavior, and to their evolution over time and across software families.

Shiva Vafadar 5 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Requirements need Engineering  Definitions of engineering refer to the creation of cost effective solutions to practical problems by applying scientific knowledge  The use of the term engineering in RE serves as a reminder that RE is an important part of Engineering process

Shiva Vafadar 6 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE is a multi- disciplinary process  system engineering to deliver some systems behavior to its stakeholders.  Computer science provides the framework to assess the feasibility of requirements  logic improve the rigour of the analysis performed and to make the reasoning steps explicit.  systems theory and practice This includes work on characterizing systems identifying their boundaries and managing their development life cycle.

Shiva Vafadar 7 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE is a multi- disciplinary process (2)  Cognitive psychology  Anthropology  Sociology RE needs to e sensitive to how people perceive and understand the world around them. how they interact and how the sociology of the workplace affects their actions.  Linguistics  Interpreting and understanding stakeholder terminology, concepts, viewpoints and goals

Shiva Vafadar 8 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Core RE Activities Eliciting Requirements Modeling and Analyzing Requirements Communicating requirements Agreeing Requirements Evolving Requirements

Shiva Vafadar 9 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Eliciting Reuirements

Shiva Vafadar 10 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE Elicitation  “first” step in the RE process.  The term “elicitation” is preferred to “capture”,  Information gathered during requirements elicitation often has to be interpreted, analysed, modelled and validated

Shiva Vafadar 11 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Requirements to Elicit  a system’s boundaries.  Identifying stakeholders  Goals which denote the objectives a system must meet  tasks users currently perform and those that they might want to perform

Shiva Vafadar 12 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Elicitation Techniques  Common techniques are: Existing documentation Interviews Questionnaires and surveys Meetings Ethnography Prototypes Techniques for knowledge acquisition for knowledge based systems  Laddering  Card Sorting  RAD/JAD  Depends on Time Resources Kind of information that needs to be elicited

Shiva Vafadar 13 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Elicitation Process  There are lot of methods which some guidance on their use is needed.  Methods provide one way of delivering such guidance.  Methods provide a systematic approach to combine different techniques and notations.  Each method itself has its strengths and weaknesses, and is normally best suited for use in particular application domains.  Some methods are: Use cases and scenarios Inquiry Cycle CREWS  Requirements Engineer needs to select the appropriate technique or techniques most suitable for the elicitation process in hand

Shiva Vafadar 14 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Modeling and Analyzing Requirements

Shiva Vafadar 15 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Modeling  the construction of abstract descriptions that are amenable to interpretation  is a fundamental activity in RE So much so that a number of RE textbooks focus almost entirely on modeling methods and their associated analysis techniques.  many modeling approaches are used as elicitation tools where the modeling notation and partial models produced are used as drivers to prompt further information gathering.

Shiva Vafadar 16 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Enterprise Modeling  Enterprise modelling is often used to capture the “purpose” of a system, by describing the behaviour of the organisation in which that system will operate  Enterprise modelling and analysis deals with understanding an organisation’s structure, the business rules that affect its operation, the goals, tasks and responsibilities of its constituent members, and the data that it needs, generates and manipulates.

Shiva Vafadar 17 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Behavioral Modeling  modelling the dynamic or functional behaviour of stakeholders and systems (existing and required).  modelling methods structured methods object-oriented methods formal methods.  These methods provide different levels of precision and are amenable to different kinds of analysis. Formal methods (for example, based on Z) can be difficult to construct, but are also amenable to automated analysis Soft methods provide “rich” representations that non-technical stakeholders find appealing, but are often difficult to check automatically.

Shiva Vafadar 18 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Domain Modeling  A significant proportion of the RE process is about developing “domain descriptions”  A model of the domain provides an abstract description of the world in which an envisioned system will operate.  Benefits : to understand the context of requirements to identify opportunities for requirements reuse. Domain-specific models have also been shown to be essential for building automated tools,  provide the ability to restrict analysis and reasoning, thereby making it tractable

Shiva Vafadar 19 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Modeling Non- functional Req.  Quality, or non-functional, requirements are global attributes of a required system  NFRs, such as safety, security, reliability and usability  more difficult requirements to express in a measurable way, making them more difficult to analyse  However, it has emphasised the need to model NFRs and express them in a form that is measurable or testable.

Shiva Vafadar 20 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Communicating Requirements

Shiva Vafadar 21 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Communicating Req.  RE is also a process of facilitating effective communication of these requirements among different stakeholders.  The way in which requirements are documented plays an important role in ensuring that they can be read, analyzed, (re-) written, and validated.  with a variety of formal, semi-formal and informal languages, From Logic to Natural Language

Shiva Vafadar 22 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Managing Documents  requirements management – write requirements in a form that is readable and traceable by many.  achieve readability by documentation standards that provide guidelines for structuring requirements documents  Requirements traceability determines how easy requirements documentation is to read, navigate, query and change.

Shiva Vafadar 23 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Managing Documents (2)  RT defines as “the ability to describe and follow the life of a requirement in both forwards and backwards direction (i.e., from its origins, through its development and specification, to its subsequent deployment and use, and through all periods of on- going refinement and iteration in any of these phases)”.  Providing RT in requirements documentation is a means of achieving integrity and completeness of that documentation, and has an important role to play in managing change

Shiva Vafadar 24 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Agreeing Requirement

Shiva Vafadar 25 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Agree on Requirements  validation is the process of establishing that the requirements (model) elicited provides an accurate account of stakeholder requirements.  Describing the requirements is an important step towards getting agreement and precondition for resolving conflicts between stakeholders

Shiva Vafadar 26 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Techniques  Techniques such as inspection and formal analysis tend to concentrate on the coherence of the requirements Descriptions are they consistent, and are they structurally complete. The formal method SCR illustrates this approach – the SCR tool provides automated checking that the formal model is syntactically consistent and complete.  Techniques such as prototyping, specification animation, and the use of scenarios are geared towards testing a correspondence with the real world problem have we covered all the aspects of the problem that the stakeholders regard as important.

Shiva Vafadar 27 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE Validation is difficult  The first is philosophical and concerns the question of truth and what is knowable. logical positivist approach: requirements describe some objective problem that exists in the world and that validation is the task of making sufficient empirical observations to check that this problem has been captured correctly. Popper’s view was that scientific theories can never be proved correct through observation, but can only be refuted that observation is not value-free, rather it is theory-driven. Requirements engineers, methods and tools they use dominate the way that they see and describe problems. Shifts requirements statements to a problem of convincing stakeholders that the chosen representation for requirements models is appropriate.

Shiva Vafadar 28 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE Validation is difficult (2)  second reason is social, and concerns the difficulty of reaching agreement among different stakeholders with conflicting goals. Goal Hierarchy diagram models this In the KAOS approach In the KAOS approach for example, these are modeled as obstacles: the modeling process includes an explicit analysis of potential obstacles to each goal Negotiation is the solution Model each stakeholder contribution separately not all in one model Boehm introduces Win-Win solution, which each win condition for each stakeholder is defined.

Shiva Vafadar 29 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Evolving Requirements

Shiva Vafadar 30 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Change sources and effects  Source of Changes Environments Stakeholder Requirements  Effects Documents should manage Techniques and tools are need  Therefore: recognizing change through continued requirements elicitation, re-evaluation of risk, and evaluation of the systems in their operational environment.

Shiva Vafadar 31 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Software Changes  change in software descriptions problem that needs to be fixed (typically an inconsistency of some kind), or new requirements need to be added (as part of evolutionary development or to cope with changing stakeholder needs)

Shiva Vafadar 32 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Integrated Requirements Engineering

Shiva Vafadar 33 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Methods and Tools  method engineering plays an important role in designing the RE process to be deployed for a particular problem or domain. Jacskon, for example, uses problem frames to structure Another popular approach to RE is to support explicitly multiple perspectives or views of requirements  Tools provide capabilities for documenting requirements, managing their change, and integrating them in different ways depending on project needs DOORS Requisite Pro Craddle

Shiva Vafadar 34 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Conclusion  determining how the RE process should be conducted. The novelty of many software applications, the speed by which they need to be developed, and the degree to which they are expected to change,

Shiva Vafadar 35 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap RE Ideas in 1990 decay  Modelling and analysis cannot be performed adequately in isolation from the organisational and social context in which any new system will have to operate. emphasised the use of contextualised enquiry techniques, including ethnomethodology and participant observation  RE should not focus on specifying the functionality of a new system, but on modelling indicative and optative properties of the environment shift in emphasis away from modelling information flow and system state, and towards modelling stakeholders’ goals and scenarios  attempt to build consistent and complete requirements models is futile, RE has to take seriously the need to analyse and resolve conflicting requirements support stakeholder negotiation, reason with models that contain inconsistencies

Shiva Vafadar 36 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Major Challenges for RE  Development of new techniques for formally modelling and analysing properties of the environment  Bridging the gap between requirements elicitation approaches based on contextual enquiry and more formal specification and analysis techniques.  Richer models for capturing and analysing non-functional requirements.  Better understanding of the impact of software architectural choices on the prioritisation and evolution of requirements.  Reuse of requirements models.  Multidisciplinary training for requirements practitioners.