object oriented development with uml introduction to uml · 2018-11-25 ·...
TRANSCRIPT
Grading System
Grade Midterm 30 %Final 35 %Assignment 25 % (Mini Project)Class attendance 10 %
Assignmentงานกลม ๆ ละไมเกน 2 คนควรเปนงานขนาดเลก เนนเอกสารการออกแบบเปนหลกงานออกแบบตองสามารถพสจนไดวาสามารถน ามา Implement ไดงานกลมใหคะแนนเทากนทงหมด ไมแยกตามภาระงาน
เปนองคกรทไมแสวงหาก าไรและเปดกวางส าหรบสมาชกท าหนาทก าหนด Specification ตาง ๆ ทเกยวของกบอตสาหกรรมคอมพวเตอรส าหรบการท างานรวมกน (Interoperable) ของระบบขนาดใหญตาง ๆ
เปาหมายพฒนาสถาปตยกรรมทใชออปเจคเทคโนโลย ส าหรบระบบทมหลาย ๆ สวนการท างานประกอบกน เพอรบประกนวา Component ตาง ๆ สามารถน ากลบมาใชใหม มลกษณะ Interoperability & Portability เปนฐานทางธรกจส าหรบซอฟตแวรทมอย
The Object Management Group (OMG)
Some of the OMG members:
AT&T BEA Borland Boeing CA Citigroup Compaq Ericsson Ford Fujitsu
Glaxo HP Hitachi Hyperion IBM IONA io Software Kabira KC John Deere
Microsoft MITRE MSC Soft NASA NEC NetGenics NTT OASIS Oracle Pfizer
Rational SAGA SAP SAS Secant Siemens Sprint Sun Unisys Vertel
OMG Milestones
OMG is
founded
CORBA
1.0, IDL
CORBA
2.0
UML, MOF,
XMI, CWM
MDA
UML 1.5
1989
1991
2003
1996
1997
2001
UML 2.0
ใชแกปญหาความไมสอดคลองกนระหวางซอฟตแวร ถกวางไวระหวางระบบปฏบตการและโปรแกรมทตองการใชงาน
Middleware มจ านวนเพมขนอยางรวดเรว เชนCORBACOM / DCOM Java / EJBXML / SOAPC# / .NET
ไมม Middleware ตวใดทอายยนยาว ปญหาเดมยงคงอย
Middleware
Modeling Approaches
Code Onlyไมมการใช model อยางเปนทางการเหมาะสมกบโปรแกรมขนาดเลกบ ารงรกษายาก
Model - Centric มรายละเอยดอยางชดเจน ประกอบดวยความตองการของระบบลอจกการท างานทางธรกจรายละเอยดของ UIกฎเกณฑตาง ๆ ทเกยวของแกโคดตองแกไขโมเดล
Modeling Approaches
Code และ Model ใชโมเดลน าเสนอการท างานในระดบ High level แปลงโมเดลใหอยในรปของโคด โดยใชเครองมอแบบอตโนมตCode และ Model มความเกยวของโดยตรงใช Model เปนตวขบเคลอนในการพฒนาระบบ
The Model Driven Architecture
OMG พฒนา Model Driven Architecture (MDATM) คอการแกไขปญหาจากความไมสอดคลองกนในการพฒนาระบบ
เปาหมาย: a 20-year software architecture (:2001) เปนวธการใหมในการสรางระบบ โดยใชมาตรฐานของ OMGสรางโดยมจดประสงคเพอการท างานรวมกนและ Portability เปาหมายเพอสรางระบบแบบ platform-independentประยกตใชรวมกบ Programming language, Network, Operating system ,
Middleware
“Design once, build it on any platform”
Model Driven Architecture เปนแนวทางใหมในการเขยนขอก าหนดในการออกแบบและพฒนาระบบโดยไมขนกบแพลตฟอรมใด ๆ ”[OMG]
MDA เนนไปทพฤตกรรมของระบบ ไมใชเทคโนโลยทใชในการพฒนาระบบเปนการแยกสวนการพฒนาออกจากฟงกชนการท างานของระบบดงนนจงไมจ าเปนตองแกไขหรอท าซ าในกรณทมการเปลยนแปลงเทคโนโลยเกดขน (e.g., XML/SOAP)
ขณะทสถาปตยกรรมแบบอน ๆ จะยดตดกบเทคโนโลยในการพฒนาเสมอ MDA ฟงกชนและพฤตกรรมของระบบจะถกโมเดลเพยงครงเดยว จากนนใชการ Mapping ดวยเครองมอทสนบสนน MDA เปนหลก
What is MDA ?
What’s Model-Driven Architecture?
MDA เรมตนจาก Computation Independent Model (CIM) เปนโมเดลทไมมการแสดงโครงสรางของระบบ ดงนนจงไมสามารถน าไปใชไดโดย generator ตาง ๆPlatform Independent Model (PIM)Platform Specific Model (PSM)ขนตอนการแปลง Model-to-Model (PIM->PIM, PIM->PSM, …)ขนตอนการสรางโคดอตโนมต
PIM PSM
Model Generator Code Generator
Code
JSP/Struts
Java, EJB
UML Model
Physical Data Model
High-level Page Flow
Persistence Type
Presentation Style
Profile
Code Templates
Style Templates
Visual Editors
The First Level of Automation: ~30 Years
Programming IDEs (e.g. JBuilder, Eclipse, NetBeans)
Programming Language
• Higher level ofexpression
• Easier to understand• Portable• Standardized
Diverse HW/OS Platforms
Platfomspecific model (PSM)
• Dependable• Flexible• Configurable• Optimizing• Complete: Linker,
Debugger, etc.
Generator
Projection
Platfomindependent model (PIM)
Compiler Engine
New Levels of Automation
Translative Generator Engine
• Dependable• Flexible• Configurable• Debuggable• Optimizing• Complete
Architectural IDEs
Model (UML, …) &
Modeling Style (J2EE, .NET, COBOL, …)
• Higher level ofexpression
• Easier to understand• Portable• Standardized
PIM
PSM
Models to Code
Models to Models
Generator
Projection
Code for specific platforms,
Refinement models, ...
MDA Definition
Platform Independent Model (PIM)abstraction ในระดบ High level ทเปนอสระจากเทคโนโลยในการพฒนาใด ๆ แสดงรายละเอยดการท างานของระบบโดยอาศย UMLPIMs สามารถน ากลบมาใชใหมได ไมจ ากด Platform
Platform Specific Model (PSM)แสดงวธการท างานทถกก าหนดในรปฟงกชนไวใน PIM ส าหรบแตละ Platformไดมาจาก PIM โดยการเพม platform-specific attributes ส าหรบ components มาตรฐาน
อาจมไดหลาย PSMs ตอหนง PIMเชน Database Model, EJB model & Hibernate Model
PIM to PSM Transformation
UML Model (PIM)
<Auto>
<Color> Red </Color>
<Door> 4 </Door>
<Engine> 2 </Engine>
</Auto>
XMI Document (PSM)
XMI
<!Element Auto
(Color*,
Door*,
Engine*)>
XMI DTD, Schema (PSM)
interface Auto
{
};
IDL, Java… (PSM)
Class Auto
{public String color;
public int Door;
public int Engine;
}
MDA Models (an Example)Platform Independent Model
Policy
effDate: Date
expDate: Date
Premium: Real
policyType: Integer
getPremium()
Customer
firstName: String
lastName: String
Address: Address
*1
Platform Specific Model (Relational)
Policy
effDate: DATE
expDate: DATE
Premium: REAL
policyType: INTEGER
Customer
firstName: VARCHAR(30)
lastName: VARCHAR(30)
Address: VARCHAR(30)
Platform Specific Model (Web Component)
<<WebComponent>>Policy
<<WebComponent>>Customer
<<WebDataSchema>>
Code Model
Oracle DDLJSP Code
The Basic Principle
CIM
PIM
PSM
Oracle
PSM
J2EE
PSM
.Net
Code Code Code
PSM
PHP
Code
Computational Independent Model
Platform Independent Model
Platform Specific Model
1. สรางโมเดลทประกอบดวย high level of abstraction ทเปนอสระจากเทคโนโลยในการพฒนา ขนตอนนไดแก Platform Independent Model (PIM)
2. PIM ถกแปลงใหอยในรปของ Platform Specific Models (PSMs) ทขนอยกบเทคโนโลยในการพฒนา
3. PSM ถกแปลงใหอยในรปของโคดตามโปรแกรมภาษาทก าหนดโดยอตโนมต
The MDA process defines three steps
PIM
PSM
Oracle
PSM
J2EE
PSM
Swing
Code Code Code
PSM
JSP
Code
UML Class Model
& OCL
Advantages
เพมผลผลตสรางโคดแบบอตโนมตระดบ abstraction สงขนในกระบวนการพฒนาระบบคณภาพสงขน มความเปนมาตรฐาน และโคดทมความสอดคลองกน
ชวยลดคาใชจายในการพฒนาแยก business ออกจากเทคโนโลยในการพฒนา
เนนไปทการโมเดลจะชวยบงคบใหการออกแบบดขนModel สามารถจดเกบความตองการของระบบไดอยางมประสทธภาพ เหมาะสมส าหรบวธการพฒนาระบบสมสมยใหมPortability เนนไปท PIMs แปลงใหอยในรปหลาย ๆ PSMs (platforms)สนบสนนการท างานของเทคโนโลยสมยใหม เชน java, xml, web services
Thales Research and Technology (Europe)Lockheed Martin (F-16) Mission AvionicsWells Fargo (Business)Pacific DataWorks (E-Business) IBM (Web Business)U.S. Air Force (Kabria)Lucent Technologies (Kabria)EricssonAT&T Fixed Wireless
MDA User Base
Kennedy-Carter / iUML+iCCGProject Technology/BridgePointTelelogic Tau (IBM) Rational/XDE Interactive Objects/ArcStylerSoftTeam –Objecteering/UMLCodagen ArchitectCompuware/OptimalJMetaMatrix/Metabase
Sample Vendor List
Milestones in Software Development Technologies
Structured Programming
Structured Design
Structured Analysis
Data Modeling
4GL
OOP
CASE
OOAD
OOAD with UML
1970
1975
1978-1980
1978-1980
1980
1986
1986
1990
1997
Brief OOP History
Simula I (1962-65) , Simula 67 (1967) Dahl, Nygaard Smalltalk (1970s) Alan Kay C++ (1980s) Bjarne Stroustrup, ADA (US Department of Defense) Eiffel 1990 (B. Meyer) , Java (sun+ Gosling ) C# 1998 (Microsoft+ Heilsberg) Scripting Language
Simula
1967
C++
Late 1980s
Smalltalk
1972
Java
1991
UML
1996
C#
1998
Script
2007
Structure Analysis and Designปรชญาการวเคราะหและออกแบบระบบเชงโครงสรางใชวธการออกแบบจากบนลงลาง (Top Down Design) นกวเคราะหแยกปญหาออกเปนหนวยยอย ๆ ใชมมมองของการท างานในการแกไขปญหา ใชสญลกษณรปกราฟกแสดงแนวคดในการพฒนาระบบ
SASDTools
Logical Data Tools
• Entity Model
• Data Dictionary
Logical Process Tools
• Flow Charts
• Data Flow Diagram
PhysicalTools
• Decision Table
•Structure English
• Normalization
Credit
Card
Company
Title –
External
Datastore
Customer
Customer
Receipt Data
Title Data....
Member Data
Payment Data….
Confirmation….
Return Receipt
Video ID and Payment
Overdue Notice
Video –
External
Datastore
Video Data....
0
Customer and
Request Data
Video and
Payment
Information
Proposed
Rental/Return
System
Context Level DFD
Customer and Request Data
Confirmation
Video ID and Payment
LineData
Rental Data
Member Data
Video and PaymentInformation
Payment Data
Return Receipt
Overdue Notice
1Check andupdate dataor enroll anew member
2
RentalProcess
3
Recordreturn ofvideos
4
Identifyoverduevideos
Member Data
Member Data
Member Data
Receipt Data
MemberData
Confirmation
Payment Data
Customer Data
MemberData
Payment Data
Customer
Credit CardCompany
Customer
Credit CardCompany
Customer Data
OverdueData
Rental Data
Return Data
Rental
Line
RentalData
Line Data
Title –ExternalDatastoreTitle Data
Video –ExternalDatastore
Video Data
Video –ExternalDatastore
Title –ExternalDatastore
Video Data
Title Data
First Explosion DFD
Confirmation
Line
Video and Payment
Information
Member
Data
Payment Data
Receipt Data
Rental Data
Line Data
2.1
Input thedata for arental
2.2
Calculatecost andprocesspayment
2.3
Createrental andlines
2.4
Create areceipt
Video and
Payment and
Member Data
All
Rental
Data
All
Rental
Data
Customer
Credit CardCompany
Customer
Rental
Video –ExternalDatastoreVideo Data
Title –ExternalDatastore
Title Data
Explosion of Process 2
Disadvantages of SASD
Focus onFunctions
HighMaintenance
Costs
HighDevelopment
Costs
Rigid
Architecture
Ripple
EffectNo Continuity
Among
Analysis
Design
Programming
Testing
Very Little
ReuseTechnical
Centered
and Not
User Centered
Object Oriented Analysis & Design
OO Analysis—เนนไปทการก าหนดขอบเขตของปญหาOO Design— วธการแกไขในรปของกลมของออปเจคทมการตดตอกนOO Programming— โคดโดยใชภาษาโปรแกรมเชงวตถ
OOAProblemDomain
OODSolution domain
class Student {
private String ID;
public String getID() {
return ID;
}
};
OOPImplement with
OO language
Student
- ID
+ getID()
Comparison : SSAD Vs. OOAD
Structured System Analysis & Design Object Oriented Analysis & Design
เรมตนจากการโปรแกรมเชงโครงสราง เรมตนจากการโปรแกรมเชงวตถ
เนนไปท process oriented เนนไปท data oriented
วเคราะหระบบผาน DFD วเคราะหระบบผาน Use Cases
สวนประกอบตาง ๆ ของระบบไดมาจากDFD
สวนประกอบของระบบไดจาก class diagrams และ UML
ใช SDLC แบบ waterfall Model จากจดเรมตนจนกระทงสนสดโครงการ
ใช iterative & incremental จากจดเรมตนจนกระทงสนสดโครงการ
แยก data และ process ออกจากกน รวมขอมลและการท างานไวดวยกน.
Object-Oriented Methods
ทศวรรษท 1990 ไดเกดวธการพฒนาระบบเชงวตถขนมากมาย ระหวางป’89 - ’94, ไดเกดวธการพฒนาเชงวตถขนเพมขนจาก 10 – 50 วธ"OO method wars"
Object Modeling Technique (Rumbauch) Object-Oriented Analysis/Object-Oriented Design
(Coad/Yourdon) Object-Oriented Software Construction (Meyer) Object-Oriented Structured Analysis (Shlaer/Mellor) Object-Oriented Software Engineering (Jacobson) Object-Oriented Analysis/Design (Booch) Fusion Method (Coleman et. al.)
Three Amigos
เปนผลลพธมาจากการรวมกนของวธการพฒนาเชงวตถทมชอเสยงในชวงตนทศวรรษท 90 Grady Booch (AirForce)Jim Rumbaugh (GE)Ivar Jacobson (Ericsson)
The Object Management Group (OMG) – 1996น าเสนอมาตรฐาน OO modeling notation
Booch (OOAD)
แบบจ าลองมความซบซอนสงประกอบไปดวยไดอะแกรมและสญลกษณตาง ๆ ทยากตอการท าความเขาใจ เหมาะสมกบการออกแบบในระดบลาง และมรายละเอยดเพยงพอส าหรบการพฒนาโคด
Good at OO design, weak at OO analysis
Rumbaugh (OMT)
เปนแบบจ าลองทเขาใจงาย เหมาะสมกบการออกแบบในระดบกลางมากกวา
Good at OO analysis, weak at OO designAnalysis หมายถงความเขาใจในปญหาDesign หมายถงการไดมาซงวธการแกไขปญหาหนง ๆ
Jacobson (OOSE)
คณสมบตหลก ไดแก “use classes”Use classes เปนแบบจ าลองทแสดงวธการทระบบตดตอกบผใช (หรออาจเปนระบบอน ๆ ทเกยวของ)
มองสงตาง ๆ จากมมมองของผใชเปนตวขบเคลอนกระบวนการออกแบบดงนนจงเหมาะสมส าหรบการออกแบบในระดบบนสรปBooch (OOAD) เหมาะสมกบการออกแบบ low-levelJacobson (OOSE) เหมาะสมกบ high-level Rumbaugh (OMT) เหมาะสมกบ middle ground
Creating the UML
Booch method OMT
Unified Method 0.8OOPSLA ´95
OOSEOther methods
UML 0.9Web - June ´96
public
feedbackFinal submission to OMG, Sep ‘97
First submission to OMG, Jan ´97
UML 1.1OMG Acceptance, Nov 1997
UML 1.3
UML 1.0UML partners
UML 1.4
UML 1.5
UML 2.0
2001
2003
2004
What is UML?
UML ยอมาจาก Unified Modeling Language Unifiedรวมสงทดทสดจากวธการพฒนาเชงวตถทมอยในขณะนนโดยม Booch, Rumbaugh, และ Jacobson เปนผบกเบกหลกของ UML
Modelingใชส าหรบการน าเสนอตามมมมองของสงทมอยจรง เพอใหสามารถน าไปใชกบการออกแบบและพฒนาซอฟตแวรเชงวตถ
LanguageUML เปนภาษาทใชสญลกษณเชงภาพกราฟกในการน าเสนอตามกฎเกณฑและวธการทก าหนดไว
What is the UML?
UML เปนภาษาทใชในการวเคราะหและออกแบบระบบเชงวตถประกอบไปดวยกฎเกณฑตาง ๆ สามารถใชในการสรางแบบจ าลองไดหลายแบบไมไดมการก าหนดวาแบบจ าลองใดทนกออกแบบจ าเปนตองสราง
UML เปนมาตรฐานส าหรบการVisualizing ใชสญลกษณภาพกราฟกในการน าเสนอSpecifying เปนแบบจ าลองทมรายละเอยดสมบรณและชดเจนConstructing สามารถน าไปใชกบโปรแกรมภาษาทตองการไดโดยตรงDocumenting ใชจดท าเอกสารประกอบระบบได
Why UML?
งายตอการท าความเขาใจ เนองจากใชสญลกษณภาพกราฟกในการน าเสนอการออกแบบ
เปนสวนส าคญทสดในการพฒนาระบบเชงวตถและ SDLCน าเสนอกลมของ Best Engineering Practices ทไดรบการพสจนแลววาประสบความส าเรจในการพฒนาระบบขนาดใหญทมความซบซอนสง
ชวยในการสอสารระหวางบคลากรภายในทม แสดงรายละเอยดทส าคญของการออกแบบ และชวยในการตรวจสอบสถาปตยกรรมของการออกแบบระบบ
ไมขนกบโปรแกรมภาษาทใช เปนพนฐานส าคญส าหรบการท าความเขาใจกบ modeling languageสนบสนนแนวคดการพฒนาระดบสง เชน frameworks, patterns และ
components
Meyer
Before and after
conditions
Harel
Statecharts
Gamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and
message numbering
Embley
Singleton classes and
high-level view
Wirfs-Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
OMT
Booch
Booch method
Jacobson
OOSE
Contributions to the UML
UML Diagrams
ชนดของไดอาแกรมใน UML:Structural diagrams Implementation Diagram
Behavioural diagrams Use Case
Class
Activity
State Sequence
Collaboration
PackageComponent
Deployment
Structural diagrams
บางครงถกเรยกวา Static Modelแสดงใหเหนถงโครงสรางของระบบ เนนไปทสวนประกอบตาง ๆ ทรวมกนเปนระบบ ใช static model เมอตองการก าหนดรายละเอยดของคลาส แอททรบวต เมธอด ตลอดจนแพกเกจทอยภายในระบบ
UML ไดอาแกรมทสนบสนนการท างานแบบน:Class DiagramObject Diagram
Implementation Diagram
ถอเปน subset ของ Static Modelแสดงใหเหนถงสวนประกอบตาง ๆ ทระบบตองการส าหรบ deployment โดยปกตเปนการน าเสนอการจดองคกรสวนประกอบของซอฟตแวรทาง physical เชน ฮารดแวรหรอจดเชอมตอตาง ๆ
UML ไดอาแกรมทสนบสนนการท างานแบบนComponent DiagramDeployment Diagram
Behavioural diagrams
บางครงถกเรยกวา Dynamic Modelแสดงใหเหนถงพฤตกรรมการท างานของระบบ เชน ระบบมการตอบสนองตอเหตการณภายนอกอยางไร
ชวยในการก าหนดสงทออปเจคตองการ และวธการทออปเจคมการปฏสมพนธกนผานเมธอดหรอแมสเสจ
ใช dynamic model ในการออกแบบลอจกการท างานและพฤตกรรมของระบบUML ไดอาแกรมทสนบสนนการท างานแบบน:Use caseInteraction DiagramState DiagramActivity Diagram
Use Case Diagrams
ใชส าหรบก าหนดความตองการของระบบ ผานมมมองของผใช โดยเนนไปทความสมพนธทเกดขนในระบบ
ประกอบไปดวยเหตการณตาง ๆ ทถกก าหนดไวอยางสมบรณโดยผาน actor และแสดงการโตตอบระหวาง actor และระบบ
Telephone Customer
In-StoreCustomer
Clerk
Identify Movie
Verify Account
Return Movie
Customer
ReviewAccount Status
Actor
Use Case
Class Diagrams
มความส าคญมากทสดใน UML ใชในการก าหนดคลาส รวมไปถงการตดตอกนระหวางคลาส ในรปของ ความรวมมอระหวางกน ตลอดจนความสมพนธระหวางกน เปนตน
DVD Movie VCD Movie Video Game
Rental Item{abstract}
Rental Invoice
1..*1
Customer
Checkout Screen
0..1
1
Association
Class
Abstract Class
Aggregation
Generalization
Composition
Multiplicity
Sequence Diagrams
ใชส าหรบแสดงการท างานของออปเจคในชวงเวลาทก าหนด โดยประกอบไปดวยการรบสงแมสเสจทมการตดตอระหวางออปเจค
1: find customer()2: search (string)
4: search (string)
6: add(Cust, item)
3: enter movie()
5: rent (movie)
7: printInvoice() 8: generateRentalTotal()
Object
Lifeline
ActivationMessage
:CheckoutMgr :InventoryCust:Customer :RentedItems:Employee
Collaboration Diagrams
เปนไดอาแกรมทแสดงการตดตอกนระหวางออปเจค โดยเนนไปทโครงสรางการจดองคกรของออปเจคทมการรบและสงคาแมสเสจ
:Check-out
Manager
:Customer
:Inventory
1: enter_customer()
3: enter_movies()
5: add(customer, movies)
7: print invoice() 2: IsValidCust(CustId)
4:GetMovieByBarcode()
:Clerk
Object
Message
:Rented Items
8: generateRentalTotal()
State Diagrams (statechart)
ใชส าหรบการแสดงวงจรชวตของคลาสหนง ๆ โดยการก าหนดสถานะการท างานของระบบทประกอบไปดวย states, transitions, และ events เปนหลก
State
Transition
Activity
Guard
Action
Event
Validate
do/check
account
customer appears
Check-Out
do/check-out
video
[account valid]
/get first video
[more videos]
/get next video
Check-Out
Complete
[no more videos]
[account not
valid]
Activity Diagram
มลกษณะคลายกบ Flow Chart โดยปกตแลวจะเปนการแสดงรายละเอยดของกจกรรมตาง ๆ ทมความซบซอนสงและเกดขนภายใน use case
Identify
Caller
Create
Account
Obtain Name
& AddressOpen New
Account?Current
Customer? [no] [no]
[yes] [yes]
Action State
Start State
Decision
End State
Packages
Packages จะท าหนาทจดเกบระบบทมความซบซอนมากออกเปนสวน ๆ ทมการจดกลมตามหมวดหมทเกดขน หลาย ๆ โครงการใช packages ในการแสดงรายละเอยดท use cases ทเกยวของในการสงมอบงาน
Class Package
Clerk User Interface
Business
System
Client
(to business
system)Customer Data
Rental Screen
Component Diagram
ใชส าหรบแสดงรายละเอยดของคอมโพเนนทตาง ๆ ทใชภายในโปรแกรมในชวงเวลาของ runtime ซงจะรวมไปถง source code, binary code และexecutable component
Component
Interface
Dependency
Note
«application»
Video
Workstation
(vstation.exe)
«library»
DB Server
Interface
(dbsvr.dll)
Supplied byMicrosoft
«library»
Application
Framework
Deployment Diagram
ยอมใหผใชสามารถมองเหนถงวธการ (How) ทซอฟตแวรถกน าไปใช โดยปกตจะใชส าหรบการก าหนด configuration ของระบบตามมมมองของสถาปตยกรรมทางดานฮารดแวรเปนหลก
Node
Communication
Association
Check Out Terminal:Clerk Client
Phone Clerk Terminal:Clerk Client
:Store Server
ServerDB
StoreServer
App«TCP/IP»
«TCP/IP»
Object Oriented Development ProcessPlan
OOA
Use Case
Diagram
Conceptual Class
Diagram
Sequence
Diagram
Sate Transition
DiagramActivity Diagram
Detail Class
Diagram
Component
Diagram
Deployment
Diagram
OOD
Coding Testing
UML Diagrams Are Key Artifacts
Actor A
Use-Case 1
Use-Case 2
Actor B
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFile
9: sortByName ( )
L1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: f illDocument ( )
4: create ( )
8: f illFile ( )
UI
MFC
RogueWave
global
DocumentApp
Persistence Window 95
¹®¼°ü¸® Ŭ¶óÀ̾ðÆ®.EXE
Window sNT
¹®¼°ü¸® ¿£Áø.EXE
Window sNT
Window s95
Solaris
ÀÀ¿ë¼¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼¹ö
Window s95
¹®¼°ü¸® ¾ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼¹ö ¹× µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö
Document
FileManager
GraphicFileFile
Repository DocumentList
FileList
user
mainWnd fileMgr : FileMgr
repositorydocument : Document
gFile
1: Doc v iew request ( )
2: f etchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: f illDocument ( )
7: readFile ( )
8: f illFile ( )
9: sortBy Name ( )
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â ¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ º¸¿©ÁØ´Ù.
Customernameaddr
withdraw()fetch()send()
receive()
<<entity>>
(Code Generation)
Executable System
User InterfaceDefinition
DomainExpert
Openning
Writing
ReadingClosing
add f ile [ numberOff ile==MAX ] / f lag OFF
add f ile
close f ile
close f ile
Use-Case 3
Source Code edit, compile, debug, link
Use-Case DiagramClass Diagram
Collaboration Diagram
Sequence Diagram
Component Diagram
State Diagram
Package Diagram
Deployment DiagramClass
Software Lifecycle Activities
ApplicationDomain Objects
SubSystems
class...
class...
class...
Implementation Domain
Objects
SourceCode
Test Cases
?
Expressed
in Terms OfStructured
By
Implemented
ByRealized By
Verified
By
SystemDesign
ObjectDesign
Implemen-tation
Testing
class....?
RequirementsElicitation
Use CaseModel
RequirementsAnalysis
UML Diagram Types
Diagram Purpose Type Lineage
Activity Procedural and parallel
behavior
Behavior UML 1
Class Class, features, and
relationships
Structure UML 1
Communication
(formerly
Collaboration)
Interaction between
objects; emphasis on
links
Interaction UML 1
Component Structure and
connections of
components
Structure UML 1
Composite Structure Runtime decomposition
of a class
Structure UML 2
Deployment Deployment of artifacts
(software entities) to
nodes
Structure UML 1
Interaction Overview Mix of Sequence and
activity diagrams
Behavior UML 2
Diagram Purpose Type Lineage
Object Example configurations
of instances
Structure Unofficially in UML 1
Package Compile-time hierarchic
structure
Structure Unofficially in UML 1
Sequence Interaction between
objects; emphasis on
sequence
Behavior UML 1
State Machine Describes state of an
object based on events
Behavior UML 1
Timing Interaction between
objects; emphasis on
timing
Behavior UML 2
Use Case How users (and
systems) interact with a
system
Behavior UML 1
UML Diagram Types (con’t)
Martin Fowler, Kendall Scott: UML Distilled second edition. Publisher: Addison-Wesley.
Doug Rosenberg with Kendall Scott: Use Case Driven Object Modeling with UML. Publisher: Addison-Wesley.
Larman, Craig.(1998) Apply UML and Patterns : Third Edition, Prentice Hall
Grady Booch, et al: The Unified Modeling Language User Guide. Publisher: Addison-Wesley.
James Rumbaugh, et al: The Unified Modeling Language Reference Manual. Publisher: Addison-Wesley.
Ivar Jacobson, et al: Unified Software Development Process. Publisher: Addison-Wesley.
More Information…