You are on page 1of 45

M hnh ha hng i tng vi UML

Ti liu
Zhiming Liu, Object-Oriented Software Development with UML, UNU/IIST Report http://uml.org/

M hnh ha
M hnh l kt qu ca phn tch v thit k L s n gin ha thc t, cho php hiu r hn h thng cn pht trin M hnh cho php:
Ci nhn trc quan v h thng ang c hoc hng ti Kim chng h thng bi khch hng Cung cp nhng ch dn xy dng h thng Ti liu ha h thng

M hnh ha
Tn ti nhiu cch m hnh ha mt h thng
M hnh ph hp s lm cho vic gii bi ton d hn

C nhiu mc chnh xc ca m hnh


M hnh tru tng -> lm mn -> m hnh chi tit

Khng c m hnh no l y
Cn tip cn (hiu) h thng thng qua nhiu m hnh khc nhau

M hnh tt phi l m hnh ph hp vi th gii thc


4

M hnh ha hng i tng


Tng tnh c lp ca m hnh vi cc chc nng yu cu D dng hn trong vic thay i hoc thm bt cc chc nng Gn vi th gii thc

V d v m hnh

Th gii thc

M hnh: Qu a cu hc sinh

Th gii thc

Lm ch

Con ngi

Sch

M hnh

V d

Ngn ng m hnh ha thng nht UML


L ngn ng m hnh ha hng i tng c tha nhn nh mt chun mc nh ca ngnh CNTT
Real-time UML, Agent - UML

C nhiu tools v phng php da trn UML


Rational rose Rational Unified Process (RUP)
8

Unified Modeling Language


OMT-2 James Rumbaugh Booch93 Grady Booch OOSE Ivar Jacobson

OOPSLA 95

UML 0.8 Cc phng php khc UML 0.9 1998 2001 UML 1.2 UML 1.3 UML 1.4 UML 1.5 UML 2.0
9

ngh chun OMG 1997

UML 1.0

Chun OMG 1997

UML 1.1

2003 2005

Mc ch ca UML
Biu din ton b h thng To s lin kt gia cc khi nim (concepts) v h thng v cc artifacts thc hin c Va trc quan (hng ngi dng) va h tr kh nng t ng ha (my) Mt ngn ng chung:
S dng c vi nhiu phng php khc nhau p ng tt c cc giai on trong pht trin phn mm
10

UML cho php


Hin th
Thng qua cc k php ha c ng ngha xc nh

c t
Mt cch chnh xc v ton din

Xy dng
Cc lp, cc quan h c th c nh x vo chng trnh thc

Lm ti liu
Cc biu , cc ghi ch, cc rng buc,
11

Phm vi ng dng
H thng thng tin doanh nghip Ngn hng v cc dch v ti chnh Vin thng Giao thng Qun s v hng khng (h nhng) Khoa hc Cc ng dng phn tn trn web

12

K php
Person name : String age : Integer eat() talk() Class Comparable Borrow

Interface

Use case

call Message

borrowed State
13

K php (tip)
Dependence

Association

Inheritance

Realisation

14

Phn loi biu

15

Phn loi biu


M hnh chc nng H thng lm g Biu ca s dng

Biu tun t Biu tng tc Biu trng thi Biu hot ng

M hnh cu trc H thng phn ng vi ci g Biu lp v i tng

M hnh thi gian Th t gia cc hnh ng trong h thng

16

4+1 view model


Lp, i tng Tng tc, chuyn trng thi Gi, phng thc, lung

Logical view Scenarios (Use cases) Process view Lung, tin trnh nhim v, tng tc

Development view

Deployment view Biu trin khai, node, module

Ca s dng, tc nhn, lp

17

Cch nhn ca s dng


Nhn h thng bi nhng ngi dng cui
Tc nhn, chc nng, kch bn

Phn loi c cc hnh vi


Chc nng, u tin

Ch ra cc rng buc gia cc hnh vi


S dng, k tha

18

Cch nhn logic


Cung cp ci nhn logic v chc nng/hnh vi ca h thng Nhn nhn cc i tng
Cc lp v i tng Cc gi Cc quan h: Kt ni, tru tng, a hnh, ng nht

Nhn nhn cc trng thi/lung cng vic Nhn nhn v cch thc tng tc
Cc kch bn ca cc ca s dng

19

Cch nhn tin trnh


Phn r da trn nhim v v tin trnh
Phn loi c cc nhm tin trnh

Cung cp cc thng tin ng v hot ng ca h thng:


Th t thc hin, cch thc tng tc, rng buc th t Phn tn/song song Kh nng tnh tch hp, hiu nng,
20

Cch nhn pht trin


Phn r theo module Nhm thnh cc module bng cc gi T chc thnh cc h thng con :
Tng chc chn Gim s kt dnh v nhn thy

Gip cho:
D dng pht trin Nhn thy kh nng ti s dng Qun l cu hnh

21

Cch nhn trin khai


Phn r h thng thnh cc nt trin khai
Vai tr ca nt Lin quan gia cc nt

Cung cp cc thng tin:


Hiu nng, tnh sn sng ca h thng Cch thc ci t, bo tr

22

V d: H thng qun l th vin


Ngi dng: Sinh vin (khch hng), th th (nhn vin) Chc nng
Tra cu Mn Tr

23

Use Case Diagram Biu Ca s dng


Cch nhn chc nng ca ngi s dng Xy dng giai on ban u (phn tch) Mc ch Xc nh ng cnh ca h thng Nm bt cc yu cu ca h thng Kim chng kin trc h thng Hng dn pht trin v sinh test cases c to bi ngi phn tch v chuyn gia min ng dng

24

Xc nh ca s dng
Xc nh cc tc nhn s dng
Ngi hoc h thng khc

Vi mi tc nhn, tm kim cc ca s dng vi h thng


Ci g lm thay i trng thi ca h thng hoc ch i phn ng t h thng

T chc li cc ca s dng vi cc quan h s dng, m rng

Biu ca s dng
Th vin t trc Bit sch mn Khch hng Bit sch hin c Thm sch mi Tr li sch Nhn vin Cho mn

Biu ca s dng
Th vin Bit sch mn t trc extend Khch hng Bit sch hin c Thm sch mi Tr li sch Nhn vin Cho mn include include nh danh

Kch bn ca mt ca s dng
t trc sch

Khch hng ng trc my vi tnh


1. 2. 3. 4. 5. 6. 7. H thng hin th mt thng ip cho mng Khch hng chn la thao tc t trc H thng yu cu ng nhp Khch hng a nh danh H thng yu cu chn sch Khch hng chn sch mun mn H thng chuyn trng thi sch thnh t trc

Class diagram Biu lp


L m hnh thit k i tng Cc bc
H tr ci t thc Tm kim cc lp Xc nh lin kt gia cc lp Xc nh cc thuc tnh T chc v n gin ha bng k tha Xa cc lin kt tha Thm nh: tha mn y cc yu cu cha? Lp li v lm mn m hnh Nhm cc lp thnh cc modules (gi)
29

UML Class Diagrams

Class diagram: Xc nh cc lp
Ngi qun l th vin mong mun t ng ha vic mn sch Cn mt phn mm cho php ngi s dng bit sch hin c, c th t mn 2 quyn sch, nhng ngi tham gia mn sch c th bit sch no mn hoc t Nhng ngi tham gia mn sch s hu mt password truy nhp Vic mn sch c thc hin bi cc th th, sau khi xc nh ngi mn sch, h bit c ngi ny c c php mn hay khng? (ti a 5 quyn), ngi ny c u tin? ( t trc)
UML Class Diagrams 30

Xc nh cc lin kt
employer 1 employ 1 1..* employee Librarian 1 Library 1 contain 1..* 0..2 Book 0..5 borrowed 1 1..* register

reserved 1

1..* Participant

1..* 0..* Borrowing

UML Class Diagrams

31

Xc nh cc thuc tnh
employer 1 employ 1 1..* employee Librarian 1 Library 1 contain 1..* 0..2 Book 0..5 1..* register

reserved 1

1..*

Participant borrowed 1 name ID addr

1..* 0..* Borrowing

UML Class Diagrams

32

Tng qut ha bng tha k


employer 1 employ 1 1..* employee Librarian 1 Library 1 contain 1..* 0..2 Book 0..5 borrowed 1 ID 1..* register

reserved 1

1..* Participant

1..* 0..* Borrowing Person name addr


33

UML Class Diagrams

Biu tun t
Th t tng tc gia cc i tng Biu din theo th t thi gian
c biu t nh xung y Mi i tng c vng i (Lifeline)
Bt u khi hnh thnh i tng, kt thc khi ph hy i tng Thng ip c v gia hai i tng th hin i tng gi phng thc ca i tng khc Thng ip phn thn: i tng yu cu thc hin phng thc ca chnh n

Sequence Diagram: t trc sch


Client :Borrowing reserveBook() authenticate(name,pass) a=findName(name) b=authenticate(pass) [a] b2 = canReserve() [b2] l=findBook(name) [l] b3=reserve(l,a) reserve(a) reserve(l) :Library bb:Book pp:Participant

State Diagram Biu trng thi

Activity Diagram Biu hnh ng


Biu din cc lung cng vic Hng hot ng Kch bn cho ca s dng

37

Component Diagram
Biu thnh phn (Component diagrams) biu din s t chc v ph thuc gia cc thnh phn phn mm

Billing.exe Billing System

Register.exe

People.dll Course.dll
Course

User

Student Course Course Offering

Professor

38

Deployment Diagram
Biu trin khai (deployment diagram) biu din cu hnh ca cc phn t ca h thng v mi lin quan
Registration Database

Library Dorm

Main Building

39

Deployment Diagram
Client

Dynamic HTML, JavaScript, Java plug-ins, source code enhancements

Server

Java, C, C++, JavaScript, CGI

Application Server

Java, C, C++, JavaBeans, CORBA, DCOM

Fulfillment System

Financial System

Inventory System

RDBMS Server

Native languages

40

Bi tp
T thc hnh Star UML V biu use case cho bi ton c giao phn tch V biu class cho bi ton ang c giao thit k

41

UML Partners
Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Texas Instruments/Sterling Software Unisys
42

ng gp cho ngn ng UML


Meyer
Before and after conditions

Harel
Statecharts

Gamma, et al
Frameworks and patterns,

HP Fusion
Booch method

Booch

Operation descriptions and message numbering

Rumbaugh
Object Modeling Technique

Singleton classes and high-level view

Embley

Object-Oriented Software Engineering

Jacobson

Wirfs-Brock
Responsibilities

Shlaer - Mellor
Object lifecycles

Odell
Classification
43

3 phn t c bn ca UML
1. Cc khi c bn xy dng
Cc thc th s dng Cc khi nim lin quan Cc biu Cc lut ng ngha Cc lut trnh by c t Trnh by M rng m hnh

2. Cc lut s dng cc khi c bn 3. Cc c ch chung

44

Object Diagram
Biu din thc th v lin kt c xy dng giai on phn tch v thit k Mc ch
Minh ha cu trc d liu/i tng c t snapshots
45

You might also like