Requirements Analysis and Negotiation

Similar documents
Introduction to Conceptual Modeling

Representing System Architecture

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

Introduction to Software Engineering. 5. Modeling Objects and Classes

Object-Oriented Analysis and Design

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

Software Development Methodologies

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

3.0 Object-Oriented Modeling Using UML

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Requirement Analysis

UNIT-I Introduction of Object Oriented Modeling

Current status and next steps. Haileyesus Getahun Coordinator IACG Secretariat World Health Organization

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

Software Engineering

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Design and Implementation of Bibliography Registration System

Integrating Systems and Software Engineering Concepts in AP-233

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant

Behavior Modeling Use Case Analysis

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Model Driven Development Unified Modeling Language (UML)

350 Index 2005 GOAL/QPC

Modeling Requirements, Architectures, Behaviour...

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

Software Engineering

Information Systems Development Methodologies

Object-Oriented Design

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

SME License Order Working Group Update - Webinar #3 Call in number:

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Research Review on Basic Principles of Unified Modelling Language

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad

Design and Evolution of an Agent-Based CASE System for OOAD

Modeling Requirements

Chapter 3 Research Method

Information Extraction of Important International Conference Dates using Rules and Regular Expressions

Approaches of using UML for Embedded System Design

Object-Oriented Design

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Course 3 7 March

Domain Model and Domain Modeling

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Modeling Enterprise Web Applications

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz

Combining UML and Z in a Software Process

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Me4DCAP V0.1: A method for the development of Dublin Core Application Profiles

Modeling variability with UML

BUILDING BLOCKS. UML & more...

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Learning objectives. Unified Modeling Language (UML) crash course. Note well. Intro. Understand the concepts of UML model and UML diagram

Designing Component-Based Architectures with Rational Rose RealTime

Principles of Software Construction: Objects, Design and Concurrency. Introduction to Design. toad

Lecture #2 on Object-Oriented Modeling

Real time system modeling with UML: current status and some prospects

THE MODELING OF E-SUPERVISED (E-SUV) FOR DISTANCE LEARNING CENTRE

UNIVERSITY OF MASSACHUSETTS AMHERST

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?

XIV. The Requirements Specification Document (RSD)

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

JUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems

Interactions A link message

Pattern for Structuring UML-Compatible Software Project Repositories

AN RT-UML MODEL FOR BUILDING FASTER-THAN-REAL-TIME SIMULATORS

UML - Unified Modeling Language

Introduction to REM 1.2.2

The Web Service Sample

OMG Systems Modeling Language Tutorial May, 2012

Me4DCAP V0.1: a method for the development of Dublin Core Application Profiles

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

UNOS Operating System Simulator

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Development of Educational Software

Lecture 8 Requirements Engineering

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

MODELING THE PHYSICAL DESIGN OF DATA WAREHOUSES FROM A UML SPECIFICATION

Introduction for using UML

CISC 322 Software Architecture

A component-centric UML based approach for modeling the architecture of web applications.

Using the UML to Describe Design Patterns

Software Engineering Fall 2014

The UML Extension Mechanisms

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Software Modelling. UML Class Diagram Notation. Unified Modeling Language (UML) UML Modelling. CS 247: Software Engineering Principles

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212

Transcription:

Analysis and Negotiation Software Engineering and Databases Group Department of Computer s and Systems University of Seville Analysis and Negotiation Learning objectives Know the objectives, products and requirements analysis processes. Know the basics of modeling software systems. Know the basics of conflict and requirements negotiation. Know the common elements of UML. Engineering 1 RE 1

Analysis and Negotiation Detecting problems in the requirements at the beginning of the project, when they are much more inexpensive to solve. The most usual way of analysis is the development of a model of a software system satisfying product requirements, i.e. of the system to be developed. time Engineering 2 Analysis and Negotiation Situation in the Elicitation Elicited Information Conflicts [Solved] documentation [Draft] Negotiation Conflicts [Pending] [Versioned] Management [Validated] Defects Analysis [Analyzed] Verification [Verified] Validation Engineering 3 RE 2

Analysis and Negotiation analysis tasks Develop a model from the documented goals and requirements, taking also into account business, glossaries of terms, etc.. Register problems identified during model development for later resolution. It is increasingly common during analysis to propose an initial system architecture considering nonfunctional requirements. Engineering 4 Analysis and Negotiation Software system The system offers services to the actors. The system state are the objects and their links. Actor 1 e 3 e 4 o 7 Actor 4 e 2 o 1 e 1 e 9 o 6 e 5 o 2 e 7 o 4 e 6 o 3 e 8 Actor 2 Actor 3 Engineering 5 RE 3

Analysis and Negotiation Software system Updating services make the system state change. Actor 1 e 3 e 4 o 7 Actor 4 e 2 o 1 e 1 e 9 o 6 e 5 o 2 e 7 o 4 e 6 o 3 e 8 Actor 2 Actor 3 Engineering 6 Analysis and Negotiation Software system Query services do not change the system state. Actor 1 e 3 e 4 o 7 Actor 4 e 2 o 1 e 1 e 9 o 6 e 5 o 2 e 7 o 4 e 6 o 3 e 8 Actor 2 Actor 3 Engineering 7 RE 4

Analysis and Negotiation Software system Regarding information system functions... Memory function: system environment state system state. System state is kept synchronized with the environment by the updating services. Actor 1 o 1 e 3 o e 4 7 o 6 Actor 4 e 2 o 2 e e 9 1 e 4 e 6 e 7 o 3 e 8 Actor 2 Actor 3 Engineering 8 Analysis and Negotiation Software system Regarding information system functions... Informative function: provided by the query services. To be useful, system state must be synchronized with the environment state.* Actor 1 o 1 e 3 o e 4 7 o 6 Actor 4 e 2 o 2 e e 9 1 e 4 e 6 e 7 o 3 e 8 * Not necessarily synchronized to the second, there may be a lag between the two and still be useful. Actor 2 Actor 3 Engineering 9 RE 5

Analysis and Negotiation Software system Regarding information system functions... Active function: provided through interaction with users and with other systems (actors in general). Interaction with other systems is performed by invoking their services. Actor 1 o 1 e 3 o e 4 7 o 6 Actor 4 e 2 o 2 e e 9 1 e 4 e 6 e 7 o 3 e 8 Actor 2 Actor 3 Engineering 10 Analysis and Negotiation A software system model includes... A static model (conceptual model) Describes the structure and constraints of the information representing the system state. A behavior model Describes how the system interacts with actors and how its state evolves as a result of the interactions. Model = + Static model = Behavior model = Structure + Constraints External interactions + Internal evolution Engineering 11 RE 6

Analysis and Negotiation problems Small problems such as lack of information or clarification needs can be solved consulting with customers and users in a relatively informal way (e.g. a phone call, an email, or a video conference). Engineering 12 Analysis and Negotiation problems If conflicts requiring nontrivial solutions are detected, Negotiation is needed. Elicitation Conflicts [Solved] Negotiation [Versioned] Management Elicited Information documentation [Draft] Conflicts [Pending] [Validated] Defects Analysis [Analyzed] Verification [Verified] Validation Engineering 13 RE 7

Analysis and Negotiation negotiation process The common process is usually the following: 1. Record the conflict (usually with a tool). 2. Identify affected requirements. 3. Analyze the conflict impact (analyzing requirements traceability). 4. Identify relevant sources (stakeholders). 5. Prepare and conduct a negotiation meeting. 6. Incorporate the conflict solution. Engineering 14 Analysis and Negotiation Unified Modeling (UML) Object Management Group (OMG) standard for modeling software systems. Aug 2007 November 2007 February 2009 May 2010 Mar 2010 Aug 2011 2005 UML 2.0 UML 2.1.1 UML 2.1.2 UML 2.2 UML 2.3 UML 2.4 UML 2.4.1 Sep 1997 June 1998 Mar 2000 Sep 2001 Mar 2003 Jan 1997 UML 1.0 UML 1.1 UML 1.2 UML 1.3 UML 1.4 UML 1.5 June 1996 UML 0.9 October 1995 Unified Method 0.8 OOSE Booch'93 OMT-2 Booch'91 Other methods OMT-1 Engineering 15 RE 8

Analysis and Negotiation Unified Modeling (UML) Widely used in software industry and supported by many software tools. It defines 14 types of diagrams for modeling software systems (version 2.4.1, August 2011) We will use... Use case diagrams Class diagrams Object diagrams State machine diagrams Sequence diagrams Engineering 16 Analysis and Negotiation Organization of UML In UML, are organized in packages, which may include other packages. Packages should group semantically close items that tend to change together. There are some special packages: «system»: it corresponds to the system being modeled. «subsystem»: it represents a part of the system being modeled. Name <<subsystem>> Name <<system>> Name Engineering 17 RE 9

Analysis and Negotiation Common UML elements Notes They are represented as boxes with a folded corner and can be associated with any element. They can contain either comments (any combination of text and graphics) or constraints. Comments They are displayed inside notes associated with the element to which the comment refers to. Student This actor represents any student, including PhD. Engineering 18 Analysis and Negotiation Common elements of UML Constraints They represent conditions to be held by the elements to which it is associated to. They are expressed by text in braces and can appear within elements or inside notes. class Ejemplo de restricción Fac tura número {único} fechaemisión * emitidaa 1 Cliente {f ac turas sin duplic ados: un mismo producto no debe aparecer dos veces en la misma factura.} 1..* {ordered} L ínead efac tura cantidad precio * c ontiene 1 Produc to Engineering 19 RE 10

Analysis and Negotiation Common elements of UML Stereotypes They allow extending UML by defining new modeling elements from existing ones, with their own tagged values, constraints, and icons. They can be displayed as their name between French quotes (), as an icon, or as both. «DBtable» «DBtable» Students Students Students Students Engineering 20 Analysis and Negotiation Common elements of UML Tagged Values They are pairs {tag = value} for adding information to an element. If it is not ambiguous, the value can be specified without the tag name. CashWithdrawal {status = draft, reviewdate= 10/15/2004} amount: Currency {amount must be a multiple of 10 } Engineering 21 RE 11

Analysis and Negotiation Bibliography C. Larman, UML y Patrones. Ed. Prentice-Hall, 1999. Chapters 9 to 12 C. Larman, UML y Patrones (2ª edición). Ed. Prentice-Hall, 2003. Chapters 10 to 12 M. Fowler, UML Distilled (3 rd edition). Ed Addison-Wesley, 2004. Chapter 3 Engineering 22 Analysis and Negotiation Comments, suggestions,... Engineering 23 RE 12