acs2913 software requirements analysis and designextending and integrating requirements models use...

23
ACS2913 Software Requirements Analysis and Design Instructor: Victor Balogun EXTENDED REQUIREMENTS MODELING THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2019 1

Upload: others

Post on 11-Mar-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

ACS2913 Software Requirements Analysis and Design Instructor: Victor Balogun

EXTENDED REQUIREMENTS MODELING

THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2019 1

Page 2: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Overview

System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages

CRUD analysis, which correlates problem domain classes and use cases, is an effective technique to double check that all required use cases have been identified

Not all use cases are modelled at this level of detail. Only model when there is complexity and a need to communicate details

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

2

Page 3: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

System Sequence Diagram (SSD)A UML sequence diagram

Special case for a sequence diagram◦ Only shows actor and one object

◦ The one object represents the complete system

◦ Shows input & output messaging requirements for a use case

Actor, :System, object lifeline

Messages

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

3

Page 4: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

System Sequence DiagramsWe revisit the Use Cases

● The Domain Model did not model how Use Cases interact with the system

● System Sequence Diagrams (SSD) model how interactions (incidents, events) unfold

● Domain Model used simplified Class Diagram

● SSDs use simplified Sequence Diagrams

THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2017 4

Page 5: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

5

System Sequence Diagram (SSD) Notation

Page 6: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

6

SSD Message Examples with Loop Frame

Page 7: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2017 7

Page 8: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Message Notation for SSD[true/false condition] return-value := message-name (parameter-list)

◦ An asterisk (*) indicates repeating or looping of the message

◦ Brackets [ ] indicate a true/false condition. This is a test for that message only. If it evaluates to true, the message is sent. If it evaluates to false, the message isn’t sent.

◦ Message-name is the description of the requested service written as a verb-noun.

◦ Parameter-list (with parentheses on initiating messages and without parentheses on return messages) shows the data that are passed with the message.

◦ Return-value on the same line as the message (requires :=) is used to describe data being returned from the destination object to the source object in response to the message.

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

8

Page 9: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

9

SSD Message Examples

Opt Frame (optional)

Alt Frame(if-else)

Page 10: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Steps for Developing SSD1. Identify input message

◦ See use case flow of activities or activity diagram

2. Describe the message from the external actor to the system using the message notation

◦ Name it verb-noun: what the system is asked to do ◦ Consider parameters the system will need

3. Identify any special conditions on input messages◦ Iteration/loop frame◦ Opt or Alt frame

4. Identify and add output return values◦ On message itself: aValue:= getValue(valueID)◦ As explicit return on separate dashed line

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

10

Page 11: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

11

SSD for Create customer account Use case

Page 12: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

12

SSD for Ship itemsUse Case

Page 13: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SSDSSDs are part of the Use Case analysis

● Draw an SSD for a main success scenario of each use case, and frequent or complex alternative scenarios

● SSDs allow for black box description of the behavior of the system

● SSDs can also be used to illustrate collaborations between systems (or part of the systems)

THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2017 13

Page 14: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Use Case AnalysisCRUD TECHNIQUE

THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2017 14

Page 15: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Use Cases and CRUDCRUD technique –◦ Create

◦ Read/Report

◦ Update

◦ Delete

A good cross-check against the existing set of use cases. Used in database context◦ Ensure that all classes have a complete “cover” of use cases

Not for primary identification of use cases

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

15

Page 16: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Verifying use cases for Customer

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

16

Page 17: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

CRUD AnalysisSteps

1. Identify all domain classes

2. For each class verify that use cases exist to◦ Create a new instance◦ Update existing instances◦ Reads or reports on information in the class◦ Deletes or archives inactive instances

3. Add new use cases as required. Identify responsible stakeholders

4. Identify which application has responsibility for each action: which to create, which to update, which to use

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

17

Page 18: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Sample CRUD Matrix

Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

18

Page 19: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Extending and Integrating Requirements Models

THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2017 19

Page 20: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Extending and Integrating Requirements Models

Use cases◦ Use case diagram

◦ Use case description

◦ Activity diagram

◦ System sequence diagram (SSD)

Domain Classes ◦ Domain model class diagram

◦ State machine diagram

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

20

Page 21: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Requirements Models

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

21

Page 22: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

Integrating Requirements Models

SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH EDITION – CHAPTER 5 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED.

22

Page 23: ACS2913 Software Requirements Analysis and DesignExtending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram

SummarySystem sequence diagrams (SSDs) show the inputs and outputs for each use case as messages

CRUD analysis serves to verify that all domain classes are fully supported by the new system, i.e. have use cases to fully process all required actions

Not all use cases and domain classes are modelled at a detailed level. Only model when there is complexity and a need to communicate details.

All of the models must be consistent and integrate together to provide a complete picture of the requirements and specification. Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

23