UML
19951997,199515 UML ( Unified Modeling Language),10UML
6.1 UML UMLUnified Modeling LanguageBooch, OMT, OOSE ,(General) UML UMLBusiness Modeling,
1.
2. UML:
199410Jim RumbaughGrady BoochOMTBooch1995Unified Method0.8Ivar Jacobson(User case),19960.919971UML1.0OMG(Object Management Group)UMLIBM,Mircrosoft,HP.19971176.1.1 UML
UML
6.1.2 UML UMLUMLUML(1) UML UML(meta-model)UML,,UML UML(2) UMLUML, ,UML
UML: (views), (Diagrams), (Model elements) (general mechanism)UML
UML,viewDiagramsGraph,(views)
Use case ViewImplementation View Design View ()()Process View Deployment View UML
UML9(Use case diagram) ,(Static diagram),(Behavior diagram) (Interactive diagram), ( Implementation diagram ) (Diagrams)
(general mechanism) (Extensibility mechanisms) (Stereotype)(Tagged value)(Constraint).UML(Model elements)
(1) UMLBoochOMTOOSEOMG(2) UML, (3) UML(4) UML6.1.3 UML
6.2 UMLUML1. UML2. , > UML40>
6.2.1
connect(link) associationgeneralization(dependency)(aggregation)
associationlink)6.2.2 (binary)(ternary)(higher order)a b
5.2.3 (multiplicity) 0..1 1 0..** 1..* 1 1,3,7 1371 {ordered} ()(navigation)
(qualified association) ,
6.2.4 UMLconstraint {constraint},
1. complete: 2. disjoint: 3. incomplete: 4. overlapping:
xor 1.implicit:, 2.ordered: 3.changeable:(Link) 4.addonly: 5.frozen:, 6.xor:
AB A B6.2.6 (varieties)
(varieties) (abstraction) (binding) (combination) (permission) (usage)() (trace) (access) (call)
(derive) (friend) (import) (instantiation) (parameter) (realize) (refine) (send)
ABBABA,6.2.7 6.2.8 UML
6.3 1992JacobsonUse case Use caseOOSEIT UML!!
6.3.1
6.3.2 (Use case model) (Actor) ,, UML UML,
(Actor),, 1()?23456)1
12//341
:,
6.3.31 Use case 1. 2. 3.
1. () 2. 3. Use case ,Use case
(,)
1 PRMS Use CaseUse Case
1 PRMS
2
1. 2. 3. 4. 2
1. 2. 3. 4. 5. 6.
1. (1)(2)(3)(4)(5)(6),,(2)
. //
1. : a b c d 2. : e f g h
3. i4. j k l m 5. n o
1.2. 3.4. : ()3,1,2. 12-30/
,UMLUML,,UML (Use case diagram) (Class diagram) (Object diagram ) (Package diagram) (Component diagram) (Deployment diagram)6.4
6.4.1 UML(Class Diagram)(Object Diagram) (Class diagram) Char,Boolean,Double,Float, Integer, Object,Short,String (instance),
(1)(attribute) visibility attribute-name : type = initial-value {property-string} (visibility) public+ private- protected#
(2) visibility operating-name(parameter-list): return-type {property- string} {} Parameter-name :type =default-value
1. 2. 3. 4.
.
.
.
.
1
3. ;????
UML(association) ,(aggregation) ,(generalization) , (depending) (refinement) ,1. 2. 3. 4. 5. 6. 6.4.2 UML
7 (Recursive association)
(aggregation) -1(shared aggregation) 1(composition aggregation) (01)
{abstract} (overlapping)(disjoint) {complete} {incomplete}.
ATM(Auto Trade Machine)ATM
()
11
1. 2. 3.
1. 2. 3. 4. 2
2
,:
(1) () ()(),
(Refinement),,;,;,
1. (Conceptual)2. (Specification),3. (Implementation),
6.4.3 . , subsystem 1.(Package)
,, ,,
UML(private)(public)(protected)
:AWTJavaGUI
6.59.5
(state diagram) (activity diagram) (sequence diagram) (collaboration diagram) 9.54
UML(simple)(synchronous)(asynchronous)
(State Diagram),,:6.5.1 ,:
([])/ 3 entry exit do
login login loginlogin time=curent timeentry/type logindo/get use namedo/get passwordhelp/display helpexit/login(use_name.password)
,
UML
UML41.2. (signal) 3..
6.5.2 (Sequence Diagram),
,,
(destroying)
(Activity Diagram),(),, , ()6.5.3
.
2.
3. ,
. .
. aPrinter:PrinterPrint(file)Print(file)PSCustomerWindow.PrintAllCustomers()
(Collaboration Diagram),(Link),,6.5.4
,{new},,{destroy}1. {new}{destroy}
2. (Link),(Composition Link)(Aggregation Link)(Qualified Link)(Navigation Link),global()local()parameter()self()
. = ,1.11.21.3 1.1.1a1.1.1b
r0r1
. .
6.6 (Component diagram) (Deployment diagram) .
component,, 1)(Source Component) WEB 2)(Binary Component) 3)(Executable Component) ;6.6.1
6.6.1 1. 2. 3.
(Development time Dependency) (Call Dependency)
6.6.2
:,
(C/S)
6.7 RUP RUPRational Unified ProcessRational SoftwareJAVA J2EE RUP
6.7.1 UMLRUPUMLUML
UML. , 2. ,UML 3. UML4.
UML :RUPOPEN ProcessXPExtreme Programming OOSP(Object_Oriented Software Process). UMLRUPUMLRUP
6.7.2 RUP RUPUML Develop Iteratively Develop Iteratively Manage Requirements (Use Component Architectures) Use Component Architectures Continuously Verify Quality Manage Change :
6.7.3 RUP
RUPRUP 1. (Inception) (evaluation) (construction) (Transition) 2. RUPRUP9(Core Workflows)
(Business Modeling) (Requirements) (Analysis & Design) (Implementation) (Test) (Deployment) (Configuration & Change Management) (Project Management) (Environment)(Core Process Workflows) (Core Supporting Workflows)RUP
RUP RUP
MileStone RUP
. . . . 2
1. Define Meeting Alter Meeting Remove Meeting . Request Meeting Instance Chang Request Cancel Request Add Attendee Release Room . Request Meeting Instance Modify Request Cancel Request
4. Add Attendee Cancel Request Request Meeting Instance Modify Request 5. Meeting Room Maintenance Set Reservation Tome Limit
Use caseUse case
1Define Meeting Alter Meeting Alter Meeting
Use caseUse case
1. Meeting2. MeetingInstance, Meeting3. MeetingRoom,4. MeetingAdministration5. Attendee6. GroupAttende7. AddressE-mail8. PostOffic9. AttendeeManagement10. ReservationCriteria11. Information
1. Meeting 2. MeetingInstanceMeetingInstanceMeeting Meeting MeetingInstance
3. MeetingRoom 4. Attendee Attendee
5. GroupAttendee 6. Address Address
7. PostOffice 8. Information PostOfficePostOfficeXXXXX 2006420XXX
XXX 2006.3.28
9. AttendeeManagement IformationAttendeeManagement
Iformation 10. ReservationCriteria() MeetingInstanee MeetingInstaneeReservationCriteria
11. MeetingAdministration IformationDefineMeetingAlterMeeting RemoveMeeting MeetingMeetingAdministration
ReservationCriteriaMeetingInstance InformationMeetingRoom1..*1..*1..*PostOffice
GroupAttendee
AttendeeManagement
Address
PostAddress
EmailAddress
Attendee
1..*0..*1..*0..*110..*0..*0..*111
()
MeetingAdministrtiona
Meeting
MeetingAdministrtionaDefineMeeting(meeting)[IsMeetingExisted=.T.]3:Fail(MeetingExisted)2:{new(meeting)}
()
MeetingAdministrtiona
MeetingInstance
MeetingAdministrator1RemoveMeeting (MeetingName)[IsAllMeetingInstancesCanceled=.F.]5:Fail(MeetingExisted)2:CancelMeetingInstance()
Meeting
[IsAllMeetingInstancesCanceled=.T.]4:Fail(MeetingExisted)[IsOpen=.F.]3:Cancel()
joing,,etingetingatiora