csci928 software engineering requirements & specifications modeling system interactions

23
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate [email protected]

Upload: cadence-fidel

Post on 02-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions. Tri A. Kurniawan, M.Eng. Ph.D Candidate [email protected]. Agenda. Introduction Early-phase of Requirements Engineering Late-phase of Requirements Engineering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928Software Engineering Requirements &

Specifications

Modeling System Interactions

Tri A. Kurniawan, M.Eng.

Ph.D Candidate

[email protected]

Page 2: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 2/23

Agenda

▶ Introduction

▶ Early-phase of Requirements Engineering

▶ Late-phase of Requirements Engineering

▶ Deriving Use Case from Organizational Modeling

Page 3: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 3/23

Goal and Phases

▶ Goal capturing system functional requirements represented in a certain software modeling language (e.g. UML : UC diagram, sequence diagram, statechart diagram, etc.)

▶ Requirement engineering phases : Early-phase : problem domain understanding

(organizational modeling e.g. i*, business process modeling e.g. BPMN) less attention

Late-phase : produce a deliverable requirements document including software modeling e.g. UML

Page 4: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 4/23

Agenda

▶ Introduction

▶ Early-phase of Requirements Engineering

▶ Late-phase of Requirements Engineering

▶ Deriving Use Case from Organizational Modeling

Page 5: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 5/23

i* : Strategic Dependency Model - SD

[Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]

Page 6: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 6/23

i* : Rationale Dependency Model - RD

[Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]

Page 7: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 7/23

BPMN Process Modeling

▶ R1, R2, R3, R4, R5 for Sales Staff, Workshop Staff, Sales Manager, Workshop Manager, and General Manager respectively

Page 8: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 8/23

Process Abstraction

▶ Process for reducing the undesired details from the base model in order to retain only information relevant for a particular task

▶ Example : abstraction for R3 – Sales Manager

Page 9: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 9/23

Agenda

▶ Introduction

▶ Early-phase of Requirements Engineering

▶ Late-phase of Requirements Engineering

▶ Deriving Use Case from Organizational Modeling

Page 10: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 10/23

UML Modeling

▶ Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering

▶ Most useful interaction diagrams : use case diagram, sequence diagram

Page 11: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 11/23

Use Case Diagram▶ The main purpose to help development teams

visualize the functional requirements of a system, including the relationship of "actors" to essential processes, as well as the relationships among different use cases

▶ Elements : actor, use case, relationship▶ Actor : anything that needs to interact with the system

(person, role, another system)▶ Use case : a sequence of related actions performed by

an actor and the system via a dialogue▶ Relationships : actor (generalization), use case

(generalization, extend, include)

Page 12: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 12/23

UC Diagram Example

Page 13: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 13/23

UC Relationships

Actor Relationship Use Case Relationships

Page 14: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 14/23

Use Case Scenario

▶ Describe what the system must provide to the actor when the use case is executed

▶ Typical contents : Name and brief description Pre-condition and post-condition Normal flow Alternate flow Special requirements

Page 15: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 15/23

Sequence Diagram

▶ It shows how processes operate with one another and in what order

▶ Sequence diagrams show step-by-step what’s involved in a use case

▶ You may need several sequence diagrams to describe a single use case each sequence diagram describes one possible scenario for the use case

▶ Elements : object, stimulus (message)

Page 16: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 16/23

Sequence Diagram Example

Page 17: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 17/23

Agenda

▶ Introduction

▶ Early-phase of Requirements Engineering

▶ Late-phase of Requirements Engineering

▶ Deriving Use Case from Organizational Modeling

Page 18: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 18/23

Steps

Goal-Oriented Analysis

1. Discovering actors2. Discovering use case for the actors

3. Discovering and describing

scenarios of use case

Strategic Dependency (SD) models developed

through i* framework

Strategic Rationale (SR) models

developed through i* framework

Use case diagrams and textual

description of scenarios

[Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]

Page 19: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 19/23

Guidelines▶ Step 1:

Every actor in i* UC actor IS-A actor in i* UC actor generalization Actor in i* UC external actor

▶ Step 2: All of actor’s (dependee) dependencies (goals, tasks,

softgoal, resources) relating use case▶ Step 3:

Analyze each actor and its relationships in the SR model to extract information that can lead to the description of the UC scenario for the actor

Page 20: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 20/23

Example : SD

[Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]

Page 21: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 21/23

Example : SR

[Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]

Page 22: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 22/23

Example : Result

[Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]

Page 23: CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions

CSCI928 Modeling System Interactions 23/23

Exercise

[Meeting scheduler : Eric S.K.Y.]