CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
CSCI928 Modeling System Interactions2/23 Agenda ▶ Introduction ▶ Early-phase of Requirements Engineering ▶ Late-phase of Requirements Engineering ▶ Deriving Use Case from Organizational Modeling
CSCI928 Modeling System Interactions3/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
CSCI928 Modeling System Interactions4/23 Agenda ▶ Introduction ▶ Early-phase of Requirements Engineering ▶ Late-phase of Requirements Engineering ▶ Deriving Use Case from Organizational Modeling
CSCI928 Modeling System Interactions5/23 i* : Strategic Dependency Model - SD [Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]
CSCI928 Modeling System Interactions6/23 i* : Rationale Dependency Model - RD [Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]
CSCI928 Modeling System Interactions7/23 BPMN Process Modeling ▶ R1, R2, R3, R4, R5 for Sales Staff, Workshop Staff, Sales Manager, Workshop Manager, and General Manager respectively
CSCI928 Modeling System Interactions8/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
CSCI928 Modeling System Interactions9/23 Agenda ▶ Introduction ▶ Early-phase of Requirements Engineering ▶ Late-phase of Requirements Engineering ▶ Deriving Use Case from Organizational Modeling
CSCI928 Modeling System Interactions10/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
CSCI928 Modeling System Interactions11/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)
CSCI928 Modeling System Interactions12/23 UC Diagram Example
CSCI928 Modeling System Interactions13/23 UC Relationships Actor Relationship Use Case Relationships
CSCI928 Modeling System Interactions14/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
CSCI928 Modeling System Interactions15/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)
CSCI928 Modeling System Interactions16/23 Sequence Diagram Example
CSCI928 Modeling System Interactions17/23 Agenda ▶ Introduction ▶ Early-phase of Requirements Engineering ▶ Late-phase of Requirements Engineering ▶ Deriving Use Case from Organizational Modeling
CSCI928 Modeling System Interactions18/23 Steps Goal-Oriented Analysis 1. Discovering actors 2. 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.]
CSCI928 Modeling System Interactions19/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
CSCI928 Modeling System Interactions20/23 Example : SD [Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]
CSCI928 Modeling System Interactions21/23 Example : SR [Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]
CSCI928 Modeling System Interactions22/23 Example : Result [Meeting scheduler : Victor F. A. S. and Jaelson F. B. C.]
CSCI928 Modeling System Interactions23/23 Exercise [Meeting scheduler : Eric S.K.Y.]