Extreme Architecture Amplifying the UML

www.extremearchitecture.org Extreme Architecture Amplifying the UML Phil Robinson Lonsdale Systems Package The UML is a notation not a methodology ...
Author: Helena Norton
2 downloads 0 Views 138KB Size
www.extremearchitecture.org

Extreme Architecture Amplifying the UML Phil Robinson Lonsdale Systems

Package

The UML is a notation not a methodology

Class

Object

Activity

Use Case «» «»

www.extremearchitecture.org

Unified Modelling Language (UML)

Actor Component

Node

1

www.extremearchitecture.org

History of the UML 1995

Unified Method 0.8 (Booch & Rumbaugh)

1996

Unified Modelling Language (UML) 0.9 (Jacobson joins and they become the Three Amigos)

1997

(Jan)

1998

UML 1.2

1999

UML 1.3 (first formal version)

2001

UML 1.4

2002 2003

UML 1.4.1 (Mar) - UML 1.5 (Aug) - UML 2.0 ISO Standard (based on UML 1.4.1!)

????

- UML 1.0 (Sep) - UML1.1 (adopted by OMG)

www.extremearchitecture.org

What is the UML used for?

The Unified Modeling Language is a visual language for specifying, constructing and documenting the artifacts of systems. OMG UML 2.0 Superstructure Specification

2

www.extremearchitecture.org

Which systems?

Industry Sector Enterprise

Human Activity Systems

Business Process Application Component

Software Systems

www.extremearchitecture.org

System views

Structure diagrams show the static structure of the objects in a system. OMG UML 2.0 Superstructure Specification

3

www.extremearchitecture.org

System views

Structure Diagram

Class Diagram

Deployment Diagram Component Diagram

Package Diagram Object Diagram

www.extremearchitecture.org

System views

Behavior diagrams show the dynamic behavior of the objects in a system… OMG UML 2.0 Superstructure Specification

4

www.extremearchitecture.org

System views Behaviour Diagram

Use Case Diagram

Activity Diagram Interaction Diagram

Sequence Diagram

State Chart Diagram

Collaboration Diagram

www.extremearchitecture.org

System views

• The taxonomy of UML diagrams is based on abstract system views • This has two disadvantages – Diagrams tend to be drawn because they are “in the UML and therefore must be required” – There is an assumption that these are the only types of diagram that can be drawn

5

www.extremearchitecture.org

System views

…this taxonomy provides a logical organization for the various major kinds of diagrams. However, it does not preclude the mixing different kinds of diagram types… …the boundaries between the various kinds of diagram types are not strictly enforced... OMG UML 2.0 Superstructure Specification

The enterprise architecture view

Business

Technology

Data

Software

Information

Enterprise Architecture

Activity

www.extremearchitecture.org

Information Systems

Infrastructure

6

www.extremearchitecture.org

The Extreme Architecture framework

Activity

Information

Software

Data

Technology

Sector Enterprise Process Application

Architecture Content

Component

www.extremearchitecture.org

Why extreme?

• Pragmatic – adopts a ‘middle path’ between the extremes of chaos and perfection • Easy to describe – single 6 x 6 matrix • Minimal work products – simple bullet point lists will do!

• Unifies disparate disciplines – Business modelling – Requirements analysis – Software construction – IT infrastructure management

• Encourages a shared understanding

7

www.extremearchitecture.org

Business modelling Activity

Information

Software

Data

Technology

Sector Enterprise Process

Application

Component

www.extremearchitecture.org

Business modelling Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Application

Component

8

www.extremearchitecture.org

Requirements analysis Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

Enterprise

Activities Workflow

Subject Areas Information Requirements

Process Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Non-Functional Requirements

Component

www.extremearchitecture.org

Software construction Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

Enterprise

Activities Workflow

Subject Areas Information Requirements

Process Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Non-Functional Requirements Architecture

Component

User Interface

Code

Schemas

Test Cases

9

www.extremearchitecture.org

Infrastructure management Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

Enterprise

Subject Areas

Activities

Information Requirements

Workflow

Process Vision

Application

Interface Requirements

Use Cases

Functional Requirements

Platforms Storage Requirements

Networks

Non-Functional Requirements Architecture

Component

User Interface

Code

Schemas

Test Cases

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Subject Areas Enterprise

Information Requirements

Scope

Process

Activities

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Workflow Architecture

Component

User Interface

Code

Schemas

Test Cases

10

Activity

Activity Diagram

Information

Software

Sector

Data

Technology

Housekeeping

Laundry

Subject Areas

www.extremearchitecture.org

Enterprise

Functional Areas

Information Requirements

Business Objects

H

Scope

Process

Activities

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Workflow

Record Minibar Usage

Make Up Room

Collect Laundry

Architecture

Component

User Interface

Code

Schemas

Test Cases

Restock Minibar

Wash Laundry

Return Clothes

H

Activity Activity Diagram Diagram

Activity

Customer

Information

Software

Data

Technology

Store Staff

Sector

Housekeeping

Laundry

www.extremearchitecture.org

Subject Areas

Select Video

Enterprise

Information Requirements

Functional Areas

Business Objects

VideoCopy [onShelf]

H

Scope

Process

Activities Membership

Platforms

Vision

VideoCopy [selected] Application

VideoCopy Use Cases [presented]

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Shelve Video

Non-Functional Requirements

Workflow

Record Minibar Make Up Room Rent Video Usage Architecture

Request Video Rental Component

User Interface

MembershipCard

Code

Loan Collect Laundry [current]

Schemas

Test Cases

VideoCopy [rented] Restock Minibar

Watch Video

VideoCopy [watched]

Wash Laundry

Normal Return

VideoCopy [returned]

Return Clothes

Loan [returned]

H

11

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Process

Subject Areas

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Information Requirements Architecture Component

User Interface

Code

Schemas

Test Cases

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Process

Subject Areas

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Information Requirements Architecture Component

User Interface

Code

Schemas

Package Diagram

Test Cases

«subject area» Accommodation

«subject area» Food and Beverage

«subject area» House Keeping

«database» Accommodation

«database» Room Service

«database» Laundry

12

Package Diagram Activity

www.extremearchitecture.org

«subject area» Housekeeping

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

Enterprise

Activities Workflow

Process «information requirement» Cleaning Request

«information requirement» Laundry List

Subject Areas

Platforms

Vision

Application

«information requirement» Room Service Order

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

«information requirement» Non-Functional Requirements Minbar ContentsInformation

Requirements Architecture Component

User Interface

Code

Schemas

Package Diagram

Test Cases

«database» Accommodation

Guest

Room

Reservation

Stay

Activity

«subject area» Accommodation

«subject area» Food and Beverage

«subject area» House Keeping

«database» Accommodation

«database» Room Service

«database» Laundry

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas

Process

Information Requirements

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements Architecture

Component

User Interface

Code

Schemas

Test Cases

13

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas

Process

Information Requirements Object Diagram

Platforms

Vision

Application

Use Cases

Functional Requirements

Interface Requirements

Storage Requirements

Networks

Non-Functional Requirements Architecture

Component

User Interface

Code

Schemas

Test Cases

«information requirement» roomServiceOrder

«information requirement» hotellBill

date time menuItems [1..*] quantity [1..*] specialInstructions

«information requirement» video

date amount

title actors [1..*] copyNumber

1..* «information requirement» hotelBillItem

«information requirement» VHS

date type = {accommodation, laundry, room service} amount

Activity

Information

Software

sound = {stereo, mono}

Data

«information requirement» DVD languages [1..*] extraScenes [0..*]

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Business Objects

Information Requirements

Process

Functional Areas Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements Architecture Component

User Interface

Code

Schemas

Test Cases

14

Package Diagram

Activity

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Software

Data

Technology

Subject Areas Information «functional Requirements

area» Hotel Management

Process

Business Objects

Functional Areas Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Networks

Storage Requirements

Non-Functional Requirements Architecture Component

User Interface

Code

«functional area» Reservations

Schemas

«functional area» Food and Beverage

Test Cases

«functional area» Accommodation

«functional area» Guest Check In

«application» Restaurant Management

Package Diagram Package Diagram

Activity

Scope Enterprise

Activities Workflow

Information

Software

Subject Areas Information «functional Requirements

Data

Technology

«functional area» Reservations Business Objects area»

Hotel Management

Process

Cancel Reservation

Functional Areas Platforms

Vision

Application

«functional area» Housekeeping

«functional area» Room Service

«application» Billing

Sector

www.extremearchitecture.org

Information

Use Cases

Interface Requirements

Functional Requirements

Non-Functional Requirements

Networks

Storage Requirements

Change Reservation



Architecture Component

User Interface

«functional area» Accommodation

Code Test Cases

Schemas

«functional area» Food and Beverage Record New Reservation

«functional area» Reservations

«functional area» Guest Check In

«functional area» Room Service

«application» Billing

Record Guest Details

Check Room Availability «functional area» Housekeeping

no room available

guest prepays

Add Guest to Wait List

Record Prepayment

«application» Restaurant Management

15

Activity

Information

Software

Data

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Functional Areas

Process

Vision

Application

Use Cases

Interface Requirements

Functional Requirements Non-Functional Requirements Architecture

Component

User Interface

Code

Business Objects Platforms

Storage Requirements

Networks

Schemas

Test Cases

Activity

Information

Software

Class Diagram

Data

Technology

Person

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Functional Areas

1 0..*

Process

Business Objects

PersonRole

Vision

Application

Use Cases

Interface Requirements

Functional Requirements Non-Functional Requirements

Platforms

Storage Requirements

Networks

Guest

Architecture Component

User Interface

Code

Schemas

1

FrontDeskClerk

1

1

Test Cases

0..*

0..* 0..1

0..*

0..1

Reservation

Stay 0..*

0..*

1 Accommodation 1 1

1 1 RoomType

0..* Room

16

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision Interface Requirements

Application

Functional Requirements

Storage Requirements

Architecture

Component

Use Cases User Interface

Code

Schemas

Test Cases

Activity

Use Case Diagram

Information

Software

Data

Scope Enterprise

Technology

Video Rental System

Sector

www.extremearchitecture.org

Networks

Non-Functional Requirements

Activities Workflow

Subject Areas Information Requirements

Functional Areas

Business Objects

Record New Member Details

Process

Platforms

Vision Interface Requirements

Application

Disqualify Storage Member

Functional Requirements

Requirements

Non-Functional Requirements Architecture

Component

Code

Reserve Video at Store Store Staff

{absract} Reserve Video Schemas

Use Cases User Interface

Networks

Test Cases

Reserve Video On-Line Member

Record Rental Details Record Video Damage

Store Staff

video damaged Record retrun Details

late return Record Fine

Report No Returns

17

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Functional Requirements

Use Cases

Storage Requirements

Networks

Non-Functional Requirements

Interface Requirements Architecture

Component

User Interface

Code

Schemas

Test Cases

Activity

Information

Sector Scope

www.extremearchitecture.org

Platforms

Vision

Application

Enterprise

Activities Workflow

Subject Areas Information Requirements

Software

Data

Technology

Package Diagram

Functional Areas

Business Objects

Process

Platforms

Vision

Application

Functional Requirements

Use Cases

Storage Requirements

Networks

«application» Billing

Non-Functional Requirements

«application» BillingArchitecture

Component

Interface Requirements

User Interface

Code

Schemas

«send»

Test Cases

«use»

«signal» Daily Batch «use»

General Ledger System

General Ledger System

18

Activity

Sector

www.extremearchitecture.org

Scope Enterprise

Software

Data

Technology

Package Diagram Class Diagram

Activities Workflow

Process

Information

Subject Areas

Information Requirements

Functional Areas

Business Objects

Platforms

Vision

«interface» Functional Use Cases Requirements Accommodation Non-Functional «application» Requirements getDurationOfStay(guestId, checkInDate) BillingArchitecture getRoomRate(guestId, checkInDate) Component User Interface Code getDiscountRate(guestId, checkInDate)Test Cases isLateCheckOut() «use» Application

Storage Requirements

«signal» «application» Accommodation Billing

Networks

Interface Requirements Schemas

guestID checkInDate «send» checkOutDate roomRate discountRate «signal» lateCheckOutIndicator Daily Batch

«use» General Ledger System

Activity

Information

General Ledger System

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Application

Use Cases

Interface Requirements

Storage Requirements

Networks

Vision

Functional Requirements Architecture

Component

User Interface

Code

Schemas

Test Cases

Non-Functional Requirements

19

Activity

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Information

Object Diagram

Software

Data

Technology

«functional requirement» The application shall debit the guest’s account is Subject Areas debited with Functional a single night’s accommodation Business Information Areas Objects charge each day Requirements

Process

Application

Component

Use Cases

{priority=high} {levelOfDifficulty=complex} {projectPhaseIdentified=design} {staus=approved} Interface Storage Requirements Requirements {version=1.3} Vision {source="Client Manager"} {author="Fred Abbot"} {date created=1/6/2005} Architecture {date revised12/10/2005}

Platforms Networks

Functional Requirements

User Interface

Code

Schemas

Test Cases

Non-Functional «functional requirement» Requirements The application shall debit the accommodaiton charge at 12 am each night

«functional requirement» The application shall use the stanbdrad room raqte and apply appropriate customer discounts in order to to calculate the accommodation charge «functional requirement» The applicaiton will add GST to the accomodation charge using the standard GST rate

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Application

Use Cases

Interface Requirements

Storage Requirements

Architecture Component

User Interface

Networks

Vision

Functional Requirements

NonNon-Functional Requirements Code

Schemas

Test Cases

20

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Object Diagram

Process

Non-Functional Requirements Application

Use Cases

Storage Requirements

Functional Requirements

Architecture User Interface

Networks

Vision

Quality of Service Component

Platforms

Interface Requirements

NonNon-Functional Requirements Code

Schemas

External Constraints

Test Cases

Application Life Cycle

Design Guidelines

«non-functional requirement» The application shall be capable of being fully recovered within fifteen minutes

«non-functional requirement» The application shall provide a full audit trail of all database updates

«non-functional requirement» The application shall authenticate all users attempting to log on

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Application

Use Cases

Interface Requirements

Vision

Platforms

Functional Requirements

Networks

Non-Functional Requirements Architecture Component

User Interface

Code Test Cases

Storage Requirements Schemas

21

Activity

Information

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Class Diagram

Software

Data

Technology

Person Subject Areas Information Requirements

Process

name: char Business 1 Functional Areas address: char Objects

0..*

Platforms

Vision

Application

Use Cases

Interface Requirements

Guest

Architecture User Interface

Code

FrontDeskClerk

Networks

Functional Requirements

guestId: integer

Non-Functional Requirements

Component

PersonRole

telephone: char email: char

1

staffId: integer

1

Storage Requirements 0..*

Schemas 0..*

1 0..*

Stay

Test Cases Reservation

0..1

0..1

numberOfGuests: integer numberOfNight: integer 0..*

checkInDate: date checkOutDate: date paymentMethod={cash, cheque, visa, master, diners, other} 0..* 1 Accommodation 1 1

1

Room

RoomType

1

0..* roomNumber: char floor: integer status={vacant, occupied, outOfService}

description: char roomRate: float

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements Architecture Component

Code

Schemas

Test Cases

User Interface

22

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas

Object Diagram

Information Requirements

Process

Application

«screen» Interface checkInRequirements

Use Cases

Platforms

Vision Functional Requirements

Storage Requirements

Non-Functional Requirements

guestName guestAddress guestTelephone Component guestEmail numberOfGuests numberOfNights CheckOutDate roomNumber rromType roomRate

Architecture Code

Schemas

Test Cases

Networks

«report» hotelBill

guestName roomNumber date time /totalAmount checkOutClerk

User Interface 1..* «report line» hotelBillItem date type = {accommodation, laundry, room service} amount

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Component

User Interface

Schemas

Architecture Code Test Cases

23

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision

Application

Use Cases

Functional Requirements

Networks

Deployment Diagram Interface Requirements

Storage Requirements

Non-Functional Requirements

Component

User Interface

Schemas

Application Server

Architecture

Web Server

:OnlineReservationEJB

Code

Client

:Reservation

Test Cases

:WebBrowser

:BorrowerEJB :SearchResults :ReservationEJB

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Component

User Interface

Schemas

Architecture

Code Test Cases

24

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

www.extremearchitecture.org

Enterprise

Activities Workflow

Information Requirements

Process

Platforms

Vision

Application

Use Cases

Interface Requirements

Component Diagram

Functional Requirements

Networks

Storage Requirements

Non-Functional Requirements

Component

User Interface

Schemas «source» OnlineReservationEJB

Architecture

«uses»

Code Test Cases

«source» ReservationEJB

Activity

Sector

Enterprise

Activities Workflow

StoreStaff

Information

Software

«uses»

«source» BorrowerEJB

Data

Technology

Sequence Diagram

Scope

www.extremearchitecture.org

Subject Areas

Subject Areas

Information Requirements

Functional Areas

Business Objects

Process

Platforms

Vision

:Person Application

Use Cases

Interface Requirements

:Membership

:Member

Component Diagram

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

*[more members] checkMembership(today)

[today+10>renewalDate] getPerson() Component

User Interface

Schemas

«source» personID OnlineReservationEJB

personID

Architecture

gertName() name

«uses»

Code Test Cases

«uses»

getAddress() address

«source» ReservationEJB

«source» BorrowerEJB

25

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Networks

Non-Functional Requirements

Component

User Interface

Schemas

Architecture Code

Test Cases

Software

Data

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Functional Areas

Technology

Use Case Diagram Business Objects

X Successful Reservation

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements

Component

User Interface

«» «»

Process

«trace» X Prepayment

Schemas

Architecture Record New Reservation

«trace»

«» «»

Information

Code

Test Cases «trace»

X Waitlist Guest «» «»

Activity

Sector

www.extremearchitecture.org

Storage Requirements

«trace»

X Guest Cancels «» «»

www.extremearchitecture.org

Scope Enterprise

26

Activity

Information

Software

Data

Technology

Functional Areas

Business Objects

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Platforms

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Networks

Non-Functional Requirements Architecture Component

User Interface

Code Test Cases

Schemas

Activity

Information

Class Diagram

Software

Data

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Guest

Subject Areas Information Requirements

Functional Areas

1

Process

Vision

Application

Use Cases

Interface Requirements

Business ObjectsGUEST_ID:NUMBER NAME: VARCHAR ADDRESS: VARCHAR TELEPHONE: VARCHAR EMAIL: VARCHAR Platforms

Functional Requirements

Storage Requirements

1

Networks

Non-Functional 0..* Requirements

0..*

Reservation

Stay

Architecture Component

User Interface Code RES_ID: NUMBER GUEST_ID: NUMBER Test Cases ROOM_TYPE: VARCHAR NO_OF_GUESTS: NUMBER NO_OF_NIGHTS: NUMBER

0..*

0..1

0..1

Schemas

1

0..*

1

RoomType TYPE: VARCHAR DESCRIPTION: VARCHAR ROOM_RATE: FLOAT

STAY_ID: NUMBER GUEST_ID: NUMBER ROOM_NO: VARCHAR CHECK_IN_CLERK: NUMBER CHECK_IN_DATE: DATE CHECK_OUT_DATE: DATE PAYMENT_METHOD: VARCHAR

Room 1

0..*

ROOM_NO:VARCHAR FLOOR: NUMBER STATUS:VARCHAR

27

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector Scope

www.extremearchitecture.org

Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Non-Functional Requirements Architecture Component

User Interface

Code

Schemas

Test Cases

Platforms Networks

Activity

Information

Software

Data

Functional Areas

Business Objects

Technology

Sector

www.extremearchitecture.org

Scope Enterprise

Activities Workflow

Subject Areas Information Requirements

Process

Vision

Application

Use Cases

Interface Requirements

Functional Requirements

Storage Requirements

Non-Functional Requirements Architecture

Component

Deployment Diagram Platforms User Interface

Code

Schemas

Test Cases

Client

Web Server

Networks

Application Server

28

www.extremearchitecture.org

But… Remember minimal work products Activity Sector

Enterprise

Promotion of new releases

• • • • • •

Membership Video library Reservations Rentals Returns Returns o Normal Return o Late Return o Follow up overdue videos

Process

Information

Software

• New release details • Member details • Video details • Reservation details • Rental details

• General ledger • Accounts receivable • Asset register • Casual staff payroll • Rental management

• Rental details o Date out o Date due back o Actual return date o Fine due o Fine paid …

• Notify overdue loans • Calculate fine due • Read video and membership card bar codes

Data

• • • •

Application

• •

• • • •

Record return Record fine paid

Member details screen Return screen Fine window Overdue report



Technology

M ember Video title Video copy Rental



Component

www.extremearchitecture.org



Rental o Date out o Actual return date o Fine paid

• •

Intel server ADSL internet connection

• •

Linux Apache web server MYSQL PHP

• •



These are the deliverables of the software project that builds the application!

Questions Phil Robinson Lonsdale Systems

29