Escolar Documentos
Profissional Documentos
Cultura Documentos
Topics
Mid-Term Review Assignment 5 The Unified Process of OOAD and Term Project documents required Package, Component, Deployment
Assignment 5
Given OO analysis, perform OO design. Provided: Domain Model, Use Case Model. Only one system event: pedestrian pressing the button, system responds with the operation to allow crossing. Design OOD solution; express in UML Interaction Diagrams. Formulate Design Class Diagram.
Topics
Mid-Term Review Assignment 5 The Unified Process of OOAD and Term Project documents required Package, Component, Deployment
Inception vision and scope (may be vague), business case with rough plan and estimates. Elaboration refinement of vision, core architecture, risk resolution, capturing requirements in context, and project scope, with more realistic plan and estimates. Construction implementation and system integration. Transition system deployment.
UP organizes the OOAD process into 4 phases
Inception Elaboration Construction Transition
Inception
Elaboration
Construction
Transition
iterations
Except the inception phase, all phases of UP consist of iterative development cycles; each is an iteration. A stable executable subset of the final product marks a release each iteration is a minor release. A mile stone marks an iteration endpoint when significant decision or evaluation occur. Each phase indicates the major disciplines involves in the iteration development cycles.
Inception Phase
Inception to capture most of the requirements expressed in the context of use cases, understood from the perspective of the stakeholders interests.
Inception Elaboration Construction Transition
Pre-Conditions: Situation assumed in the use case. Post-Conditions: Situation to be achieved. Main Success Scenario: (1 column or 2 columns) Alternative Scenarios: (1 column or 2 columns)
.. .
Special Requirements: such as quality attributes Technology and data variations list: Innovation may imply risks Frequency of Occurrence: load: peak and average cases Open issues: to be resolved
Actor
Use Case 2
Actor
The System
Elaboration Phase
Elaboration The Elaboration Phase involves repeated development cycles; within each cycle, the system is extended
Inception Elaboration Construction Transition
Development Cycle 1
Development Cycle 2
Development Cycle 3
Development Cycle
Development Cycle 1
Development Cycle 2
Development Cycle 3
Development Cycle
Refine Plan
Sync. Artifacts
Analyze
Design
Construct
Test
Book Copy
1..* 1
0..* 1
Shelf
is located in
0..* 1
Library
1 1 1
Static Analysis: Choose Use Cases to expand in formats. (Delay design decisions such as user interfaces) Build a Domain Model: (aka Conceptual Model)
discover objects (Use category list, CRC method.) identify need-to-know associations sort out essential details for objects: attributes
is a copy of
is loaned out in
1
consists of
Book
1
is described by
1
Catalog Card
*
is kept in
* 1
Catalog
updates 1
is located in
1
generates
1
is located in manages J J
produces
1 *
initiates
1 1 1 0..4
Add Books
* *
Book Supplier
Book Loan
*
is kept in
* 1
Circulation
updates 1
1 1
generates
1
makes
1
* *
manages J J
1 1
Librarian
1
checks
Goal: build a structural model of the system (i.e., the domain model) to explain the problem domain, as expressed in the use cases.
Patron
1
Registration
*
is kept in
* 1
Membership
updates 1
is located in
generates
1
makes
Registration Request
initiates
1 1
Register Member
* *
manages J J
makePayment(amount)
enterItem(prod,quantity)
CONTRACT
endSale( )
...
...
Operation: Description:
... ...
CONTRACT
enterItem(prod,quantity)
...
post-conditions:
Operation: Description:
post-conditions:
... ...
endSale( )
post-conditions:
makePayment(amount)
Use Cases
Analyze
Design
Construct
Test
Applying design patterns Goal: the intended solution as expressed in Design Class Diagram (Design Model).
Registration
ID name, address status
Loan
ID Call No, Copy No due date
activeMember( )
display( )
Topics
Mid-Term Review Assignment 5 The Unified Process of OOAD and Term Project documents required Package, Component, Deployment
Packages
A package is a collection of software classes. Organize classes into sub-systems. Traditional architecture (3-tiers):
Presentation Layer: graphical user interface Domain Logic Layer: business logic Services Layer: database, communication
Domain Logic
Services
database
Membership
Catalog
Circulation
Identifying Packages
Group classes that provide a common service, with relatively high coupling and collaboration among themselves into one package. Viewed from outside the package, the classes contained inside should have high cohesion referring to some common service. In contrast, the coupling between packages should be low.
LIS Portal
GUI Components
Domain Logic
Catalog
Membership
Circulation
Domain::Membership
Domain::Circulation
Services Service::DBMS
DBMS
Communications
Components
A component is a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces. Examples are: executable files, DLLs (-.dll or -.so), servers, JAR file, applets and servlets, executable models, and in some cases, source files and binary files.
+
Membership Circulation
Service
DBMS
JApplet API
Services
DBMS
Presentation Applet
Web Server