Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent.

Slides:



Advertisements
Similar presentations
Chapter 6 HCI in the software process. Software engineering and the design process for interactive systems Usability engineering Iterative design and.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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,
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
SYSC System Analysis and Design
Goal-Oriented Requirements Engineering (GORE) “Goal-oriented requirements engineering is concerned with the use of goals for eliciting, elaborating, structuring,
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Vahid Jalali Amirkabir university of technology, Department of computer.
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Requirement Engineering.
Software Engineering General Project Management Software Requirements
Requirements Engineering: A Roadmap Vahid Jalali Fall 2007 Amirkabir university of technology, Department of computer engineering and information technology,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
Requirement Engineering – A Roadmap
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 Goal.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Requirement engineering for an online bookstore system
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
Chapter 4 Requirements Engineering
Requirements Analysis
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
lamsweerde Requirements Engineering © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Requirement Handling
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Requirements Validation
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Smart Home Technologies
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements Analysis
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika
1 Software Requirements Descriptions and specifications of a system.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Software Processes.
HCI in the software process
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
Evolutionary Software Process Models
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Requirement Engineering in year 00: A Research Perspective Axel van Lamsweerde June 2000

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Abstract  The paper presents a brief history of the main concepts and techniques developed to date to support the RE task, a number of current  New research trends in RE-specific areas such as goal-oriented requirements elaboration, conflict management, and the handling of abnormal agent behaviors are examined.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Introduction  Software requirements have been repeatedly recognized during the past 25 years to be a real problem.  Famous saying: “the requirements for a system do not arise naturally; instead, they need to be engineered and have continuing review and revision”. [Bel76] “The hardest single part of building a software system is deciding precisely what to build”. [Boe81]

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Introduction (cont.)  System failure because of the lack of requirement engineering is obvious.  An old definition: Requirement engineering must say:  Why a system in needed  What system features will serve & satisfy this context  How the system is to be constructed.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Introduction (cont.)  requirements engineering must address: The contextual goals why a software is needed The functionalities the software has to accomplish to achieve those goals The constraints restricting how the software accomplishing those functions is to be designed and implemented.  Non-functional concerns are often conflicting.  Most often parties have conflicting viewpoints

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Introduction (cont.)  Requirements engineering covers multiple intertwined activities: oDomain analysis oElicitation oNegotiation & Agreement oSpecification oSpecification Analysis oDocumentation oEvolution

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall The First 25 years: A few research milestones  Modeling appears to be the core process in requirement engineering.  The existing system has to be modeled and the hypothetical system has to be modeled. Therefore, the most of the research to date has been devoted to techniques for modeling and specification.  The early days: SADT ERD for modeling the data Structured analysis for the stepwise modeling of operation State transition diagram for the modeling of user interaction

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Current issues  Agent-based reasoning  Goal-based reasoning  Viewpoints, facets, conflicts  Scenario-based elicitation & validation

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Agent-based reasoning  A next step was made by realizing that the software- to-be and its environment are both made of active components. Such components may restrict their behavior to ensure the constraints they are assigned to.  Agent-based reasoning is central to requirements engineering since the assignment of responsibilities for goals and constraints among agents in the software-to-be and in the environment is a main outcome of the RE process.  Agents on both sides of the software-environment boundary interact through interfaces that may be visualized through context diagrams

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Goal-based reasoning  The research efforts so far were in the what-how range of requirements engineering.  The integration of explicit goal representations in requirements models provides a criterion for requirements completeness - the requirements are complete if they are sufficient to establish the goal they are refining  A goal corresponds to an objective the system should achieve through cooperation of agents in the software-to-be and in the environment.  Two complementary frameworks arose for integrating goals and goal refinements in requirements models: a formal framework and a qualitative framework.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Formal Framework  goal refinements are captured through AND/OR graph structures borrowed from problem reduction techniques in artificial intelligence  AND-refinement: satisfying all subgoals in the refinement is a sufficient condition for satisfying the goal  OR-refinement: satisfying one of the refinements is a sufficient condition for satisfying the goal  a conflict link between goals is introduced when the satisfaction of one of them may preclude the satisfaction of the others.  Operationalization links are also introduced to relate goals to requirements on operations and objects.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Qualitative framework  Weaker versions of such link types are introduced to relate “soft” goals.  The idea is that such goals can rarely be said to be satisfied in a clear-cut sense. Instead of goal satisfaction, goal satisfying is introduced to express that lower-level goals or requirements are expected to achieve the goal within acceptable limits, rather than absolutely  If a goal is AND-decomposed into subgoals and all subgoals are satisficed, then the goal is satisficeable; but if a subgoal is denied then the goal is deniable. If a goal contributes negatively to another goal and the former is satisficed, then the latter is deniable.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Viewpoints, facets, conflicts  New studies has emphasized the need for handling conflicts at the goal level.  Bohem [Boe95] propose a method for identifying conflicts at the requirements level and characterizing them as differences at goal level; such differences are resolved (e.g., through negotiation) and then down propagated to the requirements level.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Conflicts  an iterative process model was proposed in which: all stakeholders involved are identified together with their goals (called win conditions); conflicts between these goals are captured together with their associated risks and uncertainties; goals are reconciled through negotiation to reach a mutually agreed set of goals, constraints, and alternatives for the next iteration.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Scenario-based elicitation & validation  Even though goal-based reasoning is highly appropriate for requirements engineering, goals are sometimes hard to elicit.  Operational scenarios of using the hypothetical system are sometimes easier than finding goals.  A scenario is a temporal sequence of interaction events between the software-to-be and its environment in the restricted context of achieving some implicit purpose(s).  Shortcomings of this method: The problem with scenarios is that they are inherently partial Scenarios are generally procedural, thus introducing risks of overspecification. scenarios leave required properties about the intended system implicit, in the same way as safety/liveness properties are implicit in a program trace

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Back to groundwork  There is a distinction between domain properties (called indicative) and requirements (called optative)  Another important distinction: System requirements:  are formulated in terms of objects in the real world, in a vocabulary accessible to stakeholders Software specifications:  Are formulated in terms of objects manipulated by the software in a vocabulary accessible to programmers.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Requirement Reuse  Requirements refer to specific domains and to specific tasks.  Requirements within similar domains and/or for similar tasks are more likely to be similar than the software components implementing them.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Eliciting new goals through WHY questions  Why question

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Eliciting new goals through How questions  How question

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Advantages of goal-oriented requirement engineering  Object models and requirements are derived systematically from goals  Goals provide the rationale for requirements  The goal refinement structure provides a comprehensible structure for the requirements document  Alternative goal refinements and agent assignments allow alternative system proposals to be explored  Goal formalization allows refinements to be proved correct and complete.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Being Pessimistic  The lack of anticipation of exceptional behaviors may result in unrealistic, unachievable and/or incomplete requirements.  Goals also provide a basis for early generation of high-level exceptions which, if handled properly at requirements engineering time, may generate new requirements for more robust systems.  The goal Achieve[CmdMsgSentInTime] may be obstructed by conditions such as: CommandNotSent, CommandSentLate, CommandSentToWrongTrain  Such obstructing conditions are called obstacles.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Obstacles  Obstacles can be produced for each goal by constructing a goal-anchored fault-tree, that is, a refinement tree whose root is the goal negation.  Formal and heuristic techniques are available for generating obstacles systematically from goal specifications and domain properties  Alternative resolution strategies may then be applied to the generated obstacles in order to produce new or alternative requirements.  Strategies: Goal substitution Strategy Agent substitution Strategy

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall From Requirements to Architecture  Little work has been devoted to date to techniques for systematically deriving architectural descriptions from requirements specifications.  The general principles of a goal-based approach: Use functional goals assigned to software agents to derive a first abstract dataflow architecture Use non-functional goals to refine dataflow connectors.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall More work for the next 25 years!  Efforts should thus be devoted to bridging the gap between RE research and research in software architecture.  things get much more complicated for software evolution. For example, the conflict between requirements volatility and architectural stability is a difficult one to handle.  The gap between RE research and formal specification research is another important one to bridge.  Another area of investigation is requirements reengineering.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Conclusion  During the last 25 years, a lot of effort has gone into improving the process of requirement engineering  We reviewed a number of important milestones in requirement engineering  We tried to convince the reader that goal-based reasoning is central to requirements engineering  We also tried to suggest that much remains to be done.

Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent Systems Laboratory, Requirements Engineering Course Fall Q&A