software engineering g22.2440-001 · software development lifecycle phases project bus. vocabulary...

16
1 Software Engineering G22.2440-001 Session 3 – Sub-Topic 2 Presentation Requirements Model Engineering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Objectives Describe Requirements Model Engineering Activities

Upload: others

Post on 24-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

1

1

Software EngineeringG22.2440-001

Session 3 – Sub-Topic 2 PresentationRequirements Model Engineering

Dr. Jean-Claude Franchitti

New York UniversityComputer Science Department

Courant Institute of Mathematical Sciences

2

Objectives

Describe Requirements Model Engineering Activities

Page 2: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

2

3

EAMF Requirements Model Engineering

Traceable Artifacts

4

Requirements and Definitions Traceability Graph

Page 3: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

3

5

Reasoning About Business Entities and Their Dependencies and Goals

6

Pattern Language Structure for Agent Patterns Selection

(http://www.scs.carleton.ca/~weiss/papers/aois03-revised.pdf)

Page 4: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

4

7

Requirements Model Engineering Activities

Document New Requirements

Traceability

Document Traceability

Between Modeling Constructs and

Req. Model Definitions

Map Business Requirements into

Requirements Model

<analysis input> Project

Requirements

Document Traceability

between Project Requirements and

Req. Model Definitions/

Requirements

Draw Actor and Dependency Diagram(s)

Draw Goal and Task Diagram(s)

Document Modeling

Constructs

Populate Requirements

Model Categories

Sparx Systems EA

EAMF CatalogSparxSystems EARepository ReqPro

Reqs Repository

Shared File System

Business Analyst Business Architect

1 2 3

4

5

ReqPro JUCMNav

ReqPro

<definition>all<requirement>some

Def(s) and Req(s)Traceability Info <requirement>

Business Entity

EAMF ProcessPatterns

EAMF ProcessPatterns

<requirement>Business Entity

<requirement>Business Entity

<requirement>Business Use Case

<requirement>Organizational<requirement>Location

6

7

8

Def

Req

Req

Modeling ConstructsTo Req. Model Defs

TraceabilityInformation

Legend:

1. ReqPro Doc(s)

2. ReqPro Req(s)

3. ReqPro Traceab. Info*

4. EA Doc Ref(s)*

5. EA Def(s)

6, EA Req(s)

7. EA Traceab. Info*

8. jUCMNav Diagram

9. EAMF Patterns

Def

Req

Def Req

Req

Req(s) Traceability Info

8

Use of Sparx Systems EA to Engineer an EAMF Requirements Model

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Project Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

<analysis input> Requirements ModelWithin EA EAMF- Compliant Project

Template

<definition> Project Business Vocabulary

<definition> Strategy Definition

<definition> Concept Definition

<requirement> Business Entity Requirements

<requirement> Business Use Case Requirements

<requirement> Business Model Requirements

<requirement> Requirements Definition

EAMF Pattern, Product and Enterprise Solutions Catalogs

EAMF Enterprise Requirements Model

Enterprise Projects(EAMF-Compliant)

Page 5: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

5

9

Sparx Systems EA Template

10

Use of IBM Rational ReqPro for theRequirements Model Engineering Phase

Ent

erpr

ise

Proj

ect R

eqs

Mod

el ty

pes

are

the

sam

e as

Pro

ject

Req

s M

odel

Typ

es

Enterprise Project R

eq Model D

ocs types are the same as P

roject Req M

odel Docs Types

Page 6: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

6

11

jUCMNav GRL Modeling Constructs(http://www.scs.carleton.ca/~weiss/papers/MCeTech05.pdf)

12

jUCMNav GRL Modeling Constructs (continued)

(http://www.jrpit.acs.org.au/jrpit/JRPITVolumes/JRPIT36/JRPIT36.4.259.pdf)

Page 7: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

7

13

jUCMNav User Interface

14

Sample Actor-Dependency Diagram(Early Requirements Discipline)

Page 8: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

8

15

Business Architecture Analysis Using EAMF

Software Development Lifecycle Phases

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

Relationships

Bus. Arch.

BUC Mdl

Entities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Req Mdl Analysis

Bus. Arch.Analysis Artifacts

Analysis

Org. Mdl

Loc. Mdl

Capab. Matrix

Candidate Bus Pattern Hierarchies

16

Pattern Language Structure for Agent Patterns Selection

Page 9: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

9

17

UCM Notations Summarized(http://www.usecasemaps.org/pub/sugarloafplop01.pdf)

Figure 27

18

UCM Notations Summarized (continued)(http://www.scs.carleton.ca/~francis/Thesis/phdthesis.pdf)

Page 10: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

10

19

Inter-Scenario Relationships Design Patterns Used in EAMF’s BPM approach

(http://jucmnav.softwareengineering.ca/twiki/pub/UCM/VirLibIsorc2000/isorc2000.pdf,http://www.scs.carleton.ca/~francis/Thesis/phdthesis.pdf)

20

Combining Goal Oriented & Scenario-Based Modeling(http://www.cs.toronto.edu/km/GRL/from-r2a/fromr2a/straw01.pdf)

Page 11: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

11

21

Use of Sparx Systems EA to Analyze the Business Architecture

Project Bus. Vocabulary Definition

Strategy Definition

Concept Definition

Business Use Case Requirements

Business Model

Requirements

Requirements Definition

Requirements ModelCategories

RequirementsModel Engineering

Proj. Bus. Directives

Business Objective

Features and Events

Functional Requirements

Non-Functional Requirements

Business Entity Requirements

Business Process

Requirements

Bus/Workflow Rules Reqs

Process Model

Requirements

Location Requirements

Organizational Requirements

EAMF Catalogs and Enterprise Requirements Model Categories

Enterprise Glossary

Enterprise Business Rules

Enterprise Solution Patterns

Enterprise Strategies

Pattern/Product/Enterprise Solutions Catalog

Enterprise Projects (e.g., Ent. Worker Services)

Relationships

Bus. Arch.

BUC Mdl

Entities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Bus. Arch.Analysis Artifacts

Analysis

Org. Mdl

Loc. Mdl

Capab. Matrix

Candidate Bus Pattern Hierarchies

<analysis input> Requirements ModelWithin EA EAMF- Compliant Project

Template

<definition> Business Vocbulary

<definition> Strategy Definition

<definition> Concept Definition

<requirement> Business Entity Requirements

<requirement> Business Use Case Requirements

<requirement> Business Model Requirements

<requirement> Requirements Definition

<view> Analysis within <perspective> Business Architecture of EAMF-

Compliant Project Template

EAMF Pattern, Product and Enterprise Solutions Catalogs

EAMF Enterprise Requirements Model

Enterprise EAMF-Compliant Project

Within EAMF Framework

Within EAMF Enterprise Solutions Catalog

22

Business Architecture Design Using EAMF

Software Development Lifecycle PhasesDesign

Relationships

Bus. Arch. Engineering

BUC Mdl

Domain ModelEntities

Bus. ProblemForce

Hierarchies

URN Mdl

Candidate Bus. Arch.

Styles

CandidateReferenceProjects

Bus. Arch.Analysis Artifacts

Bus. Arch.Design Artifacts

Analysis

Org. Mdl

Loc. Mdl

BUC Mdl

Loc. Mdl

Org. Mdl

Process Mdl

Capab. Matrix

ReferenceEAMF

Project(s)

Reference BusinessArch(s)

Candidate Bus Pattern Hierarchies

Bus. Pattern Hierarchies

Bus. Arch.Model

Bus. Arch.Patterns/Reuse

Constraints

Page 12: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

12

23

Use of Sparx Systems EA to Design the Business Architecture

24

From Requirements Engineering to BA Engineering Using EAMF

Page 13: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

13

25

Actor/Dependency and Goal/Plan Diagram (Late Requirements Discipline)

26

Actor/Dependency Diagrams (Late Requirements Discipline)

Page 14: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

14

27

Composite UCM Root Map for ESLM

28

Plug-In Map for HandleAllEvents in Root Map

Page 15: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

15

29

Generic Plug-In Map for HandlePolicyServiceEvents and

HandleInvoiceServiceEvents

30

Generic Plug-In Map for ProcessAllRequests Stub in Root Map

Page 16: Software Engineering G22.2440-001 · Software Development Lifecycle Phases Project Bus. Vocabulary Definition Strategy Definition Concept Definition Business Use Case Requirements

16

31

Any Questions?