Requirements Capture and Specification Universit` a di Genova, - - PowerPoint PPT Presentation

requirements capture and specification
SMART_READER_LITE
LIVE PREVIEW

Requirements Capture and Specification Universit` a di Genova, - - PowerPoint PPT Presentation

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit e Paris XIII, France) Gianna Reggio (DISI, Requirements Capture and Specification Universit` a di Genova, Italy)


slide-1
SLIDE 1

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt

Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy)

slide-2
SLIDE 2

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-3
SLIDE 3

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Motivation

◮ a software development method for enterprise

applications

slide-4
SLIDE 4

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Motivation

◮ a software development method for enterprise

applications combines

  • the use of the structural concepts provided by

problem frames

slide-5
SLIDE 5

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Motivation

◮ a software development method for enterprise

applications combines

  • the use of the structural concepts provided by

problem frames

  • the use of the UML notation
slide-6
SLIDE 6

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Motivation

◮ a software development method for enterprise

applications combines

  • the use of the structural concepts provided by

problem frames

  • the use of the UML notation

◮ Method

  • 1. Match the problem with a problem frame
  • 2. Develop the UML description
slide-7
SLIDE 7

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Motivation

◮ a software development method for enterprise

applications combines

  • the use of the structural concepts provided by

problem frames

  • the use of the UML notation

◮ Method

  • 1. Match the problem with a problem frame
  • 2. Develop the UML description

◮ Guidelines to develop all the required artifacts

dedicated choice of appropriate UML diagrams predefined schemas or skeletons for their contents

slide-8
SLIDE 8

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Motivation

◮ a software development method for enterprise

applications combines

  • the use of the structural concepts provided by

problem frames

  • the use of the UML notation

◮ Method

  • 1. Match the problem with a problem frame
  • 2. Develop the UML description

◮ Guidelines to develop all the required artifacts

dedicated choice of appropriate UML diagrams predefined schemas or skeletons for their contents

◮ modelling the domain, the requirements capture and

specification, and their relationships

slide-9
SLIDE 9

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-10
SLIDE 10

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Introduction

◮ “Enterprise Applications are about the display,

manipulation and storage of large amounts of often complex data and the support or automation of business processes with that data.” (M. Fowler)

slide-11
SLIDE 11

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Introduction

◮ “Enterprise Applications are about the display,

manipulation and storage of large amounts of often complex data and the support or automation of business processes with that data.” (M. Fowler)

◮ patterns : “ready-to-use” structures drawn from

experience, granularity differs problem frames − → overall problem structure architectural styles − → overall system structure design patterns − → design structure

slide-12
SLIDE 12

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Introduction

◮ “Enterprise Applications are about the display,

manipulation and storage of large amounts of often complex data and the support or automation of business processes with that data.” (M. Fowler)

◮ patterns : “ready-to-use” structures drawn from

experience, granularity differs problem frames − → overall problem structure architectural styles − → overall system structure design patterns − → design structure

◮ UML notation, variety, consistency −

→ guidance

slide-13
SLIDE 13

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Introduction

◮ “Enterprise Applications are about the display,

manipulation and storage of large amounts of often complex data and the support or automation of business processes with that data.” (M. Fowler)

◮ patterns : “ready-to-use” structures drawn from

experience, granularity differs problem frames − → overall problem structure architectural styles − → overall system structure design patterns − → design structure

◮ UML notation, variety, consistency −

→ guidance

◮ here : a new problem frame for Enterprise

Applications, the Enterprise frame, composed of two parts (the Business Frame, devoted to the domain description, and the EA Frame), and UML based associated development method

slide-14
SLIDE 14

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Case study

a small e-commerce site, µEC,

◮ clients buy products chosen in a browsable catalogue

and pay using an external payment system

◮ the products are produced by an external factory ◮ stocked, and then delivered by a dedicated

department of the company

slide-15
SLIDE 15

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-16
SLIDE 16

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frames (M. Jackson)

◮ can be used by themselves or in combination ◮ a good tool to tackle with a first structuring of

problems

◮ diagram : involved domains, requirements, design,

interfaces

◮ five basic problem frames, variants

We propose associated development methods

slide-17
SLIDE 17

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

A basic problem frame : transformation

IO relation IN!Y1 machine Transform X Y3 TM!Y2 X Output Input Y4

There are some computer-readable input files whose data must be transformed to give certain required output files. The output data must be in a particular format, and it must be derived from the input data according to certain rules. The problem is to build a machine that will produce the required outputs from the inputs.

slide-18
SLIDE 18

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

A basic problem frame : commanded behaviour

B C OP!E4 CM!C1 CD!C2

behaviour Control machine Commanded domain Controlled Operator

E4 C1, C2 E4 are operator commands, C1 are Pulses and C2 are Sensors

There is some part of the physical world whose behaviour is to be controlled in accordance with commands issued by an operator. The problem is to build a machine that will accept the

  • perator’s commands and impose the control

accordingly.

slide-19
SLIDE 19

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

A basic problem frame : commanded information

rules Answer machine Answering C B world

  • perator

Enquiry Real RW!C1 C1 EO!E1 AM!E2 E1 E2 E2 are Display Acts and Error Messages displayed by the Answering Machine to the Enquiry Operator C1 phenomena are referred to later as Events issued by the Real world E1 are Enquiries from the Enquiry operator

slide-20
SLIDE 20

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frame notation

Machine domain Given domain Designed domain

slide-21
SLIDE 21

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frame notation

Machine domain Given domain Designed domain X Lexical domain Causal domain C B Biddable domain

slide-22
SLIDE 22

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frame notation

Machine domain Given domain Designed domain X Lexical domain Causal domain C B Biddable domain D2 D1 D2!ph2(args) D1!ph1(args)

Interface and shared phenomena

slide-23
SLIDE 23

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frame notation and extensions

Dn D1 ph−n(args) ph−1(args)

...

Requirements

slide-24
SLIDE 24

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frame notation and extensions

Dn D1 ph−n(args) ph−1(args)

...

Requirements

A service S groups a set of phenomena internal (non sharable)/ external phenomena i-ph/e-ph.

D1 S D2 * n..m D i−ph(...) S = {D1!ph−i(...), ..., D2!ph−k(...), ...} e−ph(...)

slide-25
SLIDE 25

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Problem Frame notation and extensions

Dn D1 ph−n(args) ph−1(args)

...

Requirements

A service S groups a set of phenomena internal (non sharable)/ external phenomena i-ph/e-ph.

D1 S D2 * n..m D i−ph(...) S = {D1!ph−i(...), ..., D2!ph−k(...), ...} e−ph(...)

A composite phenomena CPH

D3 D1 D2 D4 D3!ph3(...) D1!ph1(...) CPH(...) D4!ph4(...) D2!ph2(...)

slide-26
SLIDE 26

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-27
SLIDE 27

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

The Enterprise Frame

composed of 2 parts

◮ (reuseable) Business (domain) Frame describing the

business (in large) to be managed by the EA business rules (subtle)

◮ EA Frame : “classical” problem frame, EA machine,

domains and requirements.

slide-28
SLIDE 28

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-29
SLIDE 29

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Enterprise Applications : the Business (domain) Frame

Business Frame domains (three categories) :

◮ BO business objects (causal domains) ◮ BW business workers acting in the business (biddable

domains) no distinction between working for the business and business actors

◮ EC or EB external systems : entities external to the

business used for outsourcing some activities (causal

  • r biddable domains)

biddable − → 1+ internal phenomena causal − → 1+ external phenomena (no internal)

slide-30
SLIDE 30

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Enterprise Applications : the Business (domain) Frame

Business Frame domains (three categories) :

◮ BO business objects (causal domains) ◮ BW business workers acting in the business (biddable

domains) no distinction between working for the business and business actors

◮ EC or EB external systems : entities external to the

business used for outsourcing some activities (causal

  • r biddable domains)

biddable − → 1+ internal phenomena causal − → 1+ external phenomena (no internal) business case : cooperation for relevant procedures (composite phenomena)

slide-31
SLIDE 31

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECcase : Business Frame

BW BO BO BO EB EB EC

Orders Stock Browse Refill Deliver Factory Delivery Manager Dept Update Put order Get money Client Put money

BW

Catalogue Payment System

modular decomposition . . .

slide-32
SLIDE 32

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECBusiness Frame : Put order Business Case

EC

Payment System

BW

Client putOrder

BO

Stock

BO

Orders

BO

getProd(...) getMess(...) pay(...) takeProd(...) addOrder(...) Catalogue

slide-33
SLIDE 33

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

BF associated (UML) Business Model

precise method of Astesiano-Reggio

◮ A class diagram : a class for each BF domain

biddable − → active causal − → passive stereotypes : ≪bo≫(“Business Object”),

≪bw≫(“Business Worker) and ≪es≫(“External

System”), cf. domain markings BO, BW and EB, EC. internal phenomenon − → private operation autonomous acts (stereotype ≪A≫ ) external phenomena : operations of the corresponding class

slide-34
SLIDE 34

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

BF associated (UML) Business Model

precise method of Astesiano-Reggio

◮ A class diagram : a class for each BF domain

biddable − → active causal − → passive stereotypes : ≪bo≫(“Business Object”),

≪bw≫(“Business Worker) and ≪es≫(“External

System”), cf. domain markings BO, BW and EB, EC. internal phenomenon − → private operation autonomous acts (stereotype ≪A≫ ) external phenomena : operations of the corresponding class

◮ behaviour : active class −

→ statechart passive class − → operations behaviour

slide-35
SLIDE 35

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

BF associated (UML) Business Model

precise method of Astesiano-Reggio

◮ A class diagram : a class for each BF domain

biddable − → active causal − → passive stereotypes : ≪bo≫(“Business Object”),

≪bw≫(“Business Worker) and ≪es≫(“External

System”), cf. domain markings BO, BW and EB, EC. internal phenomenon − → private operation autonomous acts (stereotype ≪A≫ ) external phenomena : operations of the corresponding class

◮ behaviour : active class −

→ statechart passive class − → operations behaviour

◮ A description of each business case :

UML collaboration and activity diagram

slide-36
SLIDE 36

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECBusiness Model : class diagram

<<A>>deliverProd(ProdID,Int)

Factory

<<es>>

  • s: Set(Order)

addOrder(ClientID,ProdID,Int,Date) first(): Order

Orders

<<bo>> delivered(OrdID)

Manager

<<bw>> ... ... getMess(String) shown(Set(Product)) <<A>>lookCatalogue()

Client

<<bw>> <<A>>putOrder(ProdID,Int,Date,ClientID) ...

Euro Date ClientID OrdID ProdID Catalogue

<<bo>> ps: Set(Product getProd(ProdID): Product contents :Set(Product) ... receiveProd(ProdID,Int) availableProd(ProdID): Int takeProd(ProdID,Int): Bool

Stock

<<bo>>

PaymentSystem

<<es>> pay(Euro,ClientID) client: ClientId prod: ProdId quant: Int date: Date id: OrderId status: {wait,deliv}

Order

id: ProdID price: Euro descr: String

Product

<<A>>delivered(OrdID) <<A>>deliver(Order)

DeliveryDept

<<es>>

slide-37
SLIDE 37

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECBusiness Model : Catalogue Behaviour View

method newProd(PI,E,S) {P = create(Product) ; P.id = PI ; P.price = E ; P.descr = S ; ps = ps->including(P)} context deleteProd(PI) post : not ps.id ->includes(PI) context changePrice(PI,E) post : ps->select(id = PI).price = E

slide-38
SLIDE 38

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECBusiness Model : Put Order business case

collaboration

Orders Stock

CI: ClientID PI: ProdID Q: Int

Put Order

CT ST C PS

Client PaymentSystem Catalogue

ORS

slide-39
SLIDE 39

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECBusiness Model : Put Order business case

activity diagram

C.putOrder(PI,Q,CI,now) ST.takeProd(PI,Q) True False C.getMess("Refused") False PS.pay(Q*CT.getProd(PI).price,CI) True C.getMess("Refused") ORS.addOrder(PI,Q,CI,now) C.getMess("Accepted")

slide-40
SLIDE 40

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-41
SLIDE 41

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

The EA Problem Frame

BW BW BO BO E? E?

EA!phW’n

...

BW1 BWn

... ...

BO1 ES1 ESk BOm EA!phE’1 ES1!phE1 EA!phE’k ESk!phEk EA!phO’m EA!phO’1 BO1!phO1 EA!phW’1 BW1!phW1 Enterprise Application BOm!phOm BWn!phWn Requirements

slide-42
SLIDE 42

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

EA Problem Frame : Machine

E N G N E I P R E S E N T A T O N I

BW BW

... ... ... ...

EnterpriseApplication(EA) ESk ES1 BWn BW1 BO1−D BOm−D ES1−I ESk−I BW1−I BWn−I

A BO-D is a designed domain with a full model of the business object BO that EA works with. An ES-I/BW-I domain corresponds to some limited information about ES/BW that EA needs to interact with it (e.g., its name and the way to access it).

slide-43
SLIDE 43

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Placing the Enterprise Application (EA)

BW BW EB EB EC

Stock Browse Refill Deliver Client Factory Delivery Manager Get money Put money Update Put order Dept Payment System Catalogue Orders

BO BO BO

some checks

◮ Each enclosed domain must be connected by a chain

  • f business cases having a common participant with

an outside domain

◮ There should be at least one domain outside ◮ . . .

slide-44
SLIDE 44

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECproblem frame

BW BW EC EB EB micro * Client Orders Stock Delivery Dept Factory Payment System e−commerce Catalogue Manager BO BO BO

slide-45
SLIDE 45

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-46
SLIDE 46

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Requirement Specification

precise method of Astesiano-Reggio

◮ each frame domain −

→ a class diagram + (biddable − → active, causal − → passive) stereotypes (≪bo≫, ≪bw≫and ≪es≫) shared phenomena operations a class for the EA : shared external phenomena − → operations

slide-47
SLIDE 47

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Requirement Specification

precise method of Astesiano-Reggio

◮ each frame domain −

→ a class diagram + (biddable − → active, causal − → passive) stereotypes (≪bo≫, ≪bw≫and ≪es≫) shared phenomena operations a class for the EA : shared external phenomena − → operations

◮ A complete behaviour definition of all the

≪bo≫classes and possibly others

slide-48
SLIDE 48

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Requirement Specification

precise method of Astesiano-Reggio

◮ each frame domain −

→ a class diagram + (biddable − → active, causal − → passive) stereotypes (≪bo≫, ≪bw≫and ≪es≫) shared phenomena operations a class for the EA : shared external phenomena − → operations

◮ A complete behaviour definition of all the

≪bo≫classes and possibly others

◮ A use case diagram, use cases description (actors :

domains connected with EA), use case behaviour : a statechart associated with the class EA, such that – events : timed or call events, – conditions w.r.t. its attributes only – actions : attribute upd or actors operations calls

slide-49
SLIDE 49

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECRequirement Specification : Class Diagram

Catalogue

<<bo>> ps: Set(Product getProd(ProdID): Product contents: Set(Product)

  • s: Set(Order)

addOrder(ClientID,ProdID,Int,Date) first(): Order

Orders

<<bo>>

PaymentSystem

<<es>> pay(Euro,ClientID)

DeliveryDept

<<es>> deliver(Order)

Factory

<<es>> getMess(String) show(Set(Product)) passWdIs(String) <<bw>>

Client

receiveProd(ProdID,Int) availableProd(ProdID): Int takeProd(ProdID,Int): Bool

Stock

<<bo>> <<bw>>

Manager

...

ClientRecords

newPsw(): String correct(ClientID,String): Bool id: ProdID price: Euro descr: String

Product Order

client: ClientId prod: ProdId quant: Int date: Date id: OrderId status: {wait,deliv}

ProdID ClientID Euro Date OrdID

cls: ClientRecords putOrder(ProdID,Int,ClientID,Date) login(ClientID,String) getOrderToDeliver() delivered(OrdID) register(ClientID) <<system>> refilledStock(ProdID,Int) ...

microEC

slide-50
SLIDE 50

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECRequirement Specification : Use Case Diagram

Register Refill CT: Catalogue DP: Delivery Dept. ORS: Orders ST: Stock PS: Payment System Update Browse Put Order Deliver F: Factory M: Manager C: Client microEC

slide-51
SLIDE 51

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

µECRequirement Specification : Put Order Use Case Description

login(CI,x) /C.getMess("wrong psw") [not cls.correct(CI,x)] [ST.get(Prod(PI,Q) and PS.pay(Q*CT.getProd(PI).price))] C.getMess("Accepted") putOrder(PI,Q,CI,now) /C.getMess("you can order") login(CI,x) [cls.correct(CI,x)] [not ST.getProd(PI,Q)] /C.getMess("Refused") putOrder(PI,Q,CI,now) /C.getMess("Refused") putOrder(PI,Q,CI,now) [ST.get(Prod(PI,Q) and not PS.pay(Q*CT.getProd(PI).price))]

slide-52
SLIDE 52

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Overview

Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

slide-53
SLIDE 53

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Conclusions

◮ a software development approach for Enterprise

Applications

  • 1. match the Business Frame and the EA Frame with

the problem

  • 2. model the various frames parts following the

proposed UML diagrams

slide-54
SLIDE 54

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Conclusions

◮ a software development approach for Enterprise

Applications

  • 1. match the Business Frame and the EA Frame with

the problem

  • 2. model the various frames parts following the

proposed UML diagrams

◮ problem frames are very good at providing a first

requirement structure that is invaluable to start the analysis of a problem and understand its nature. A means to reuse experience helpful to start a complex problem analysis with some structuring concepts in mind.

slide-55
SLIDE 55

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Conclusions

◮ a software development approach for Enterprise

Applications

  • 1. match the Business Frame and the EA Frame with

the problem

  • 2. model the various frames parts following the

proposed UML diagrams

◮ problem frames are very good at providing a first

requirement structure that is invaluable to start the analysis of a problem and understand its nature. A means to reuse experience helpful to start a complex problem analysis with some structuring concepts in mind.

◮ reduce the time spent to decide which UML

constructs to use and how to model the domain and the requirements

slide-56
SLIDE 56

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Conclusions (follwd)

◮ a more direct path to the UML models,

improved models quality (relevant issues are addressed, a uniform style is offered)

slide-57
SLIDE 57

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Conclusions (follwd)

◮ a more direct path to the UML models,

improved models quality (relevant issues are addressed, a uniform style is offered)

◮ requiring that the modelling of the domain and of

the problem is accompanied by their ”framing” helps the developer to manage complex things, and offers a support to navigate the complex UML models produced

slide-58
SLIDE 58

Requirements Capture and Specification for Enterprise Applications: a UML Based Attempt Christine Choppy (LIPN, Universit´ e Paris XIII, France) Gianna Reggio (DISI, Universit` a di Genova, Italy) Motivation Introduction Problem Frame notation The Enterprise Frame Enterprise Applications : the Business (domain) Frame The EA Problem Frame Requirement Specification Conclusions

Conclusions (follwd)

◮ a more direct path to the UML models,

improved models quality (relevant issues are addressed, a uniform style is offered)

◮ requiring that the modelling of the domain and of

the problem is accompanied by their ”framing” helps the developer to manage complex things, and offers a support to navigate the complex UML models produced

◮ essence : use and combination of the relevant

underlying concepts, possible different notations (e.g. a graphical language for a different level of abstraction, UML, formal specification language, etc).