tutorial
35 pages
English
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
35 pages
English
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

OOPSLA 2000Component-Based Design:A Complete Worked ExampleJohn DanielsSyntropy Ltd, UK' John Daniels 2000 John@Syntropy.co.ukIntroduction• Goal: follow a small example from requirementsthrough to code-ready specification• Component-based: assume that the targettechnology will be COM+, EJB or similar• Process-centric: follow a well-defined design process• Specification-oriented: most of the tutorial will beconcerned with specifying the system and itscomponents• UML: use standard UML to describe thespecificationsJohn Daniels - Component-based Design1Tutorial Map• Introduction• Design Process• Requirements Definition• Component IdentificationBreak• Component Interaction• Component Specification• ProvisioningBlueprint for the systems beingconsidered in this tutorialActive/JavaServerHTTPPageDCOM / IIOP / RMIComponentObjectComponent ExistingObject SystemComponentObjectSQL, etc.ComponentDatabaseObjectComponentObjectCOM+ / EJBJohn Daniels - Component-based Design2System architecture layersUser InterfaceCreates what the user sees.Handles UI logic.User DialogDialog Logic: corresponds to use cases.Transient state corresponds to the dialog. client partCan sometimes be used with multiple UIs.Business System server partOperations are new transactions.Can be used with a variety of user dialogs or batch.Components correspond to Business Systems .No dialog or client related state.Business Services/EntitiesComponents ...

Informations

Publié par
Nombre de lectures 18
Langue English

Extrait

OOPSLA 2000
Component-Based Design: A Complete Worked Example
© John Daniels 2000
John Daniels Syntropy Ltd, UK
Introduction
John@Syntropy.co.uk
 Goal: follow a small example from requirements through to code-ready specification  Component-based: assume that the target technology will be COM+, EJB or similar  Process-centric: follow a well-defined design process  Specification-oriented: most of the tutorial will be concerned with specifying the system and its components  UML: use standard UML to describe the specifications
John Daniels - Component-based Design 1
Tutorial Map
 Introduction  Design Process  Requirements Definition  Component Identification  Component Interaction  Component Specification  Provisioning
Break
Blueprint for the systems being considered in this tutorial
Active/Java HTTP Server Page
DCOM / IIOP / RMI
Component Object ComponentExisting ObjectSystem Component Object ComponentSQL, etc.Databa Object se Component Object COM+ / EJB
John Daniels - Component-based Design 2
System architecture layers
User Interface Creates what the user sees. Handles UI logic. User Dialog Dialog Logic: corresponds to use cases. Transient state corresponds to the dialog. Can sometimes be used with multiple UIs. Business System Operations are new transactions. Can be used with a variety of user dialogs or batch. Components correspond to Business Systems . No dialog or client related state. Business Services/Entities Components correspond to stable business types or groups. Operations can be combined with others in a transaction. Usually have associated databases.
The Design Process
Informal, organic, design process
Formal, cyclic, evolutionary, management process
client part server part
 The design process is organised around the production of artefacts  The management process is organised around the delivery of working software
John Daniels - Component-based Design 3
Workflows in the design process Business requirements Existing Artefactassets Requirements
Businemsosd CelosnceptTechnicalsComponentsintUersfearce constraint Use Caseecification Provision models AssemblySp ing C&o mpohnietnetc tsupreecssAssemblies arc Test Tested assemblies Deployment
Workflow (c.f. RUP)
The scope of this tutorial
Requirements S ification pecComponent Identification
Provisioning
Component Interaction
Component Specification
John Daniels - Component-based Design 4
Organising the artefacts in tool packages
Use Case Diagram
Class Diagram
Requirements Business Concept Model Use Case Model Specification Business Type Model Interface Specifications Component Specifications Component Architecture
UML diagrams Business Concept Model Requirements Diagram Use Case Diagrams Business Concept Model Use Case Model Business Specification Type Model Interface Diagram Specification DiagramsBInutsienrefsasc eT Syppee ciMfoicdaetliReIsnterface ons ponsibility Component Diagram SpDeicaigfircaamtisonComponent Specifications Component Architecture Component ArchitecatmureInteractionsICnDotimeaprgoarancteminsotn Diagr Package Diagram
John Daniels - Component-based Design 5
Class Diagram
Collaboration Diagram
Evolutionary delivery
 All the artefacts evolve at each iteration  Focus is on delivery to the user
0%
% complete
Concept model Use Case model Component specs Components 1st iteration 2nd iter. 3rd iter. 4th iter.
Requirements Definition
Problem domain Business knowledge requirements Requirements Definition Develop Business Develop business Concept Model processes Identify Use Cases
nessU CBounsiceptse Cases Model
John Daniels - Component-based Design 6
100%
5th iter.
Software boundary decisions
Business process
We want to provide some automated support for managing hotel reservationsiokaTpu eesertavr n
customer arrives/ Wait for enquiry/ [else] event cancel request/ Checkamendment Cancel availability[suitable request/reservation room] Make Amend no show/ reservation reservation
Confirm reservation
Process no Notify billing show system
Business Concept Model Hotel Chain1 1 .* 1..*Clerk . Hotel1 * contactedHotel 1 1 * * 1..* Customer1 *onRsereavitlocaal*01..itnoRoom 1 1 * * contactAddress 0..1 1 Address1RoomType 0..1 1Bill
Payment0..1
John Daniels - Component-based Design 7
Assign responsibilities
Guest enquiry/[else] Check availability [suitable room] ReservationMake makerreservation System
Confirm reservation
Take up reservation
customer arrives/ Wait for event cancel request/ amendment request/ Cancel reservation Amend no show/ reservation
Process no Notify billing show system
Identify Use Cases A use case describes the interaction that follows from a single business event. Where an event triggers a number of process steps, all the steps form a single use case.Take up reservation Guest customer arrives/ Wait for enquiry/ [else] event cancel request/ Checkamendment availability request/ Cancel  [suitablereservation room] Reservation no show/Make Amend makerreservation reservation System
reCsoenrfviartmionProscheosws noNotify billing system
John Daniels - Component-based Design 8
ReservationMaker
Guest
BillingSystem
ReservationAdministrator
Reservation system Cancel a reservation Make a reservation Update a reservation Take up a reservation Process no shows Add, amend, remove hotel, room, customer, etc.
Use Case diagram
Name Make a Reservation Initiator Reservation Maker Goal Reserve a room at a hotel Steps Main success scenario or 1. Reservation Maker asks to make a reservation Extension 2. Reservation Maker selects hotel, dates and room type Points 3. System provides availability and price 4. Reservation Maker agrees to proceed 5. Reservation Maker provides name and postcode 6. Reservation Maker provides contact email address 7. System makes reservation and gives it a tag 8. System reveals tag to Reservation Maker 9. System creates and sends confirmation by email AlternativesExtensions Use an informal3. Room Not Available Alternatives a) System offers alternative dates and room types section if you dont Reservation Maker selects from alterna b) want to specify the tives detail required for an extension6. Customer already on file  a) Resume 7
John Daniels - Component-based Design 9
Exercise 1
Complete the use case on the next slide
Name Take up a Reservation Initiator Guest Goal Claim a reservation
Main success scenario 1. Guest arrives at hotel to claim a room 2. Guest provides reservation tag to system 3.
Extensions
John Daniels - Component-based Design
10
Component Identification
Business Concept Use Case Model Model Component Develop BusinessionicatntifIed Type Model Existing Interfaces Identify Business Identify System Interfaces Interfaces & Ops Existing Architecture Assets Create Initial Patterns Comp Specs & Architecture Business Component System Interfaces Specs & Interfaces Architecture
Business Type Model
 om *natioCtnenopmoificepSC poenfieintti oInn toefrfaasceet of 1 *ortedInterfaceppusc A d n .. behaviours that can be offered Component1by a Component Object Interface*erlaization Component Specification The specification of a unit of Componentsoftware that describes the Implementationbehaviour of a set of objects, and defines a unit of 1implementation and deployment Component*innsitoaaltl ComS AproenalieizcifnattiIomnpolfeamCeontmaptioonnent conceptsInsedCotallnetpmno InstallpeedcCoatimopnonent  An installed (or deployed) copy 1of a Component Implementation *instance Object Component  An instance of an Installed ComponentComponent. A run-time concept Object
John Daniels - Component-based Design 11
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents