Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Giới thiệu về hướng đối tượng

 Tìm hiểu các nguyên tắc cơ bản của hướng

đối tượng (object orientation – OO)

? Tìm hiểu các khái niệm cơ bản và các thuật

ngữ của hướng đối tượng kết hợp với hệ

thống ký hiệu của UML

? Đánh giá chính xác sức mạnh của OO

? Tìm hiểu một số cơ chế mô hình hoá cơ bản

của UML

pdf64 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 1839 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Giới thiệu về hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Component
Name
Design Model Implementation Model
>
Component Name
Component 
Interface
Component 
Interface
Nguyeân taéc OO: Ñoùng goùi vaø Tính ñôn theå
Subsystem vaø Component
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 37
Caùc khaùi nieäm cô baûn cuûa Höôùng ñoái töôïng
?Object
?Class
?Attribute
?Operation
?Interface (Polymorphism)
?Component
?Package
?Subsystem 
?Relationships
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 38
Caùc moái quan heä
?Association (Keát hôïp)
?Aggregation (Thu naïp)
?Composition (Caáu thaønh)
?Dependency (Phuï thuoäc)
?Generalization (Toång quaùt hoùa)
?Realization (Hieän thöïc hoaù)
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 39
Professor UniversityDaïy cho
Class
Association
Teân Association
Professor University
EmployerEmployee
Teân Role
Moái quan heä: Association
?Moâ hình hoaù moät lieân keát ngöõ nghóa giöõa 
caùc class
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 40
Student Schedule
Whole
Aggregation
Part
Moái quan heä: Aggregation
?Moät daïng ñaëc bieät cuûa association moâ hình 
hoaù moái quan heä toaøn theå-boä phaän giöõa moät 
thöïc theå vaø caùc boä phaän cuûa noù
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 41
Student Schedule
Whole
Aggregation
Part
Moái quan heä: Composition
?Moät daïng aggregation coù tính sôû höõu cao vaø 
cuøng chu kyø soáng
?Caùc boä phaän khoâng theå soáng laâu hôn thöïc theå
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 42
Association: Baûn soá vaø Chieàu
?Baûn soá xaùc ñònh soá ñoái töôïng tham gia vaøo 
moät moái quan heä
?Soá caùc theå hieän cuûa moät class quan heä vôùi MOÄT 
theå hieän cuûa moät class khaùc
?Ñöôïc chæ ra ôû moãi ñaàu cuûa quan heä association
?Association vaø aggregation maëc ñònh laø hai 
chieàu, nhöng ngöôøi ta thöôøng giôùi haïn theo 
moät chieàu
?Muõi teân ñöôïc theâm vaøo ñeå chæ chieàu cuûa moái 
quan heä
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 43
Association: Baûn soá
2..4
0..1
1..*
0..*
1
*
?Khoâng xaùc ñònh
?Chæ moät
?Khoâng hoaëc nhieàu
?Moät hoaëc nhieàu
?Khoâng hoaëc moät
?Khoaûng ñöôïc chæ ñònh
?Caùc khoaûng khoâng lieân tuïc 2, 4..6
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 44
Student Schedule1 0..*
Multiplicity
Navigation
Ví duï: Baûn soá vaø Chieàu
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 45
Client Supplier
Package
ClientPackage SupplierPackage
Client Supplier
Class
Dependency 
relationship
Dependency 
relationship
Component
Moái quan heä: Dependency
?Quan heä giöõa hai phaàn töû trong moâ hình maø 
thay ñoåi ôû phaàn töû naøy coù theå gaây ra thay 
ñoåi ôû phaàn töû kia
?Quan heä “söû duïng”, khoâng caáu truùc
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 46
Moái quan heä: Generalization
?Quan heä giöõa caùc class trong ñoù moät lôùp 
chia seû caáu truùc vaø/hoaëc haønh vi cuûa moät 
hoaëc nhieàu class khaùc
?Xaùc ñònh moät söï phaân caáp caùc möùc ñoä tröøu 
töôïng trong ñoù moät subclass keá thöøa töø moät 
hoaëc nhieàu superclass
?Ñôn keá thöøa
?Ña keá thöøa
?Generalization laø quan heä “laø moät daïng 
cuûa”
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 47
Account
balance
name
number
Withdraw()
CreateStatement()
Checking
Withdraw()
Savings
GetInterest()
Withdraw()
Superclass 
(cha)
Subclasses
Generalization 
Relationship
Toå tieân
Haäu dueä
Ví duï: Ñôn keá thöøa
?Moät class keá thöøa töø moät class khaùc
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 48
Airplane Helicopter Wolf Horse
FlyingThing Animal
Bird
Ña keâ thöøa
Chæ söû duïng ña keá thöøa khi thaät caàn, vaø luoân 
phaûi caån thaän !
Ví duï: Ña keá thöøa
?Moät class keá thöøa töø nhieàu class khaùc
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 49
Söï keá thöøa laøm noåi baät caùc ñieåm töông ñoàng giöõa caùc class
Caùi gì ñöôïc keá thöøa?
?Moät subclass keá thöøa caùc thuoäc tính, haønh 
vi vaø caùc moái quan heä töø cha noù
?Moät subclass coù theå:
?Boå sung thuoäc tính, haønh vi vaø caùc moái quan heä
?Ñònh nghóa laïi caùc haønh vi (neân caån thaän!)
?Caùc thuoäc tính, haønh vi vaø caùc moái quan heä 
chung ñöôïc ñaët ôû möùc cao nhaát coù theå trong 
caáu truùc phaân caáp
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 50
Truck
tonnage
GroundVehicle
weight
licenseNumber
Car
owner
register( )
getTax( )
Person
0..*
Trailer
1
Superclass 
(cha)
Subclass
generalization
size
Ví duï: Caùi gì ñöôïc keá thöøa
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 51
?Moät classifier ñoùng vai troø moät hôïp ñoàng maø 
moät classifier khaùc ñoàng yù thöïc hieän
?Xuaát hieän giöõa:
?Caùc Interface vaø caùc classifier hieän thöïc chuùng
?Caùc Use case vaø caùc collaboration hieän thöïc 
chuùng
Component
Interface
Use Case Use-Case Realization
Daïng taét
Class
Interface
Subsystem
Interface
Daïng chính taéc
Moái quan heä: Realization
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 52
Giôùi thieäu veà Höôùng Ñoái Töôïng: Caùc chuû ñeà
?Caùc nguyeân taéc cô baûn cuûa OO
?Caùc khaùi nieäm cô baûn cuûa OO
?Söùc maïnh cuûa OO
?Caùc cô cheá moâ hình hoaù cô baûn cuûa UML
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 53
Söùc maïnh cuûa Höôùng ñoái töôïng
?Moät moâ hình chung
?Coù tính deã duøng laïi
?Moâ hình phaûn aùnh chính xaùc theá giôi thöïc
?Moâ taû chính xaùc hôn caùc taäp döõ lieäu vaø caùc xöû 
lyù
?Ñöôïc phaân raõ döïa treân caùc phaân chia töï nhieân
?Deã hieåu vaø deã baûo trì
?Tính oån ñònh
?Moät thay ñoåi nhoû trong yeâu caàu khoâng gaây ra söï 
thay ñoåi lôùn trong heä thoáng ñang phaùt trieån
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 54
Ñaët haøng
Saûn xuaát
Vaän chuyeån baèng
Moät ví duï ñôn giaûn: Sales Order System
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 55
Class Diagram cuûa ví duï “baùn haøng”
Salesperson Product
Sale
Corporate
Customer
Individual Truck
Vehicle
Train
seller buyer item sold shipping mechanism
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 56
Hieäu öùng cuûa söï thay ñoåi yeâu caàu
Giaû söû baïn caàn 
phöông tieän vaän 
chuyeån môùi ...
Salesperson Product
Sale
Corporate
Customer
Individual Truck
Vehicle
Train
seller buyer item sold shipping mechanism
Vieäc thay ñoåi lieân quan ñeán vieäc theâm 1 subclass môùi
Airplane
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 57
Giôùi thieäu veà Höôùng Ñoái Töôïng: Caùc chuû ñeà
?Caùc nguyeân taéc cô baûn cuûa OO
?Caùc khaùi nieäm cô baûn cuûa OO
?Söùc maïnh cuûa OO
?Caùc cô cheá moâ hình hoaù cô baûn cuûa UML
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 58
?Phaân lôùp vaø môû roäng caùc phaàn töû trong heä 
thoáng kyù hieäu UML
?Ñònh nghóa moät phaàn töû cuûa moâ hình môùi 
döïa treân moät phaàn töû khaùc
?Coù theå aùp duïng cho moïi phaàn töû moâ hình
?Ñöôïc bieåu dieãn vôùi teân ñaët trong daáu > 
hoaëc baèng caùc icon khaùc
>
MyBoundaryClass
MyBoundaryClass
Caùc khuoân maãu (Stereotype)
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 59
>
>
>
Processor #1
>
DesignClass
Processor #1
Ví duï: Stereotype
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 60
There can be up to one 
MaintainScheduleForm per 
user session.MaintainScheduleForm
Caùc ghi chuù (note)
?Coù theå ñaët ghi chuù cho moïi phaàn töû UML
?Ghi chuù duøng ñeå theâm thoâng tin cho caùc 
löôïc ñoà
?Noù laø hình chöõ nhaät bò beû goùc
?Ghi chuù coù theå moùc noái vôùi moät phaàn töû 
baèng moät ñöôøng ñöùt neùt
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 61
PersistentClass
{persistence} anObject : ClassA
{location=server}
Caùc giaù trò ñính (Tagged Values)
?Laø söï môû roäng cuûa caùc thuoäc tính hoaëc cuûa 
caùc phaàn töû UML
?Laø moät soá thuoäc tính ñöôïc ñònh nghóa saün 
bôûi UML
?Persistence
?Location (chaúng haïn client, server)
?Laø caùc thuoäc tính coù theå ñöôïc taïo bôûi caùc 
nhaø moâ hình hoaù UML phuïc vuï cho muïc 
ñích baát kyø
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 62
Professor Department
Member
Department Head
{subset}
1..*
1
1
1
Caùc raøng buoäc (Constraints)
?Hoã trôï vieäc theâm caùc luaät môùi hoaëc hieäu 
chænh caùc luaät ñang toàn taïi
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 63
?Boán nguyeân taéc cô baûn cuûa OO laø gì ? Moâ taû 
ngaén goïn veà moái nguyeân taéc.
?Ñoái töôïng laø gì ? Class laø gì ? Nhöõng ñieåm 
khaùc nhau giöõa chuùng ?
?Thuoäc tính (Attribute) laø gì ?
?Haønh vi (Operation) laø gì ?
?Interface laø gì ? Polymorphism laø gì ?
?Component laø gì ?
(coøn tieáp)
Caâu hoûi oân taäp
OOAD Söû duïng UML – Giôùi thieäu veà Höôùng Ñoái Töôïng
Döông Anh Ñöùc, 9/2000 64
Caâu hoûi oân taäp (tt)
?Package laø gì?
?Subsystem laø gì ? Noù coù quan heä nhö theá 
naøo vôùi Component? Noù coù quan heä nhö theá 
naøo vôùi package? Noù coù quan heä nhö theá 
naøo vôùi class?
?Teân cuûa 4 quan heä UML cô baûn ? Moâ taû 
töøng quan heä.
?Moâ taû söùc maïnh cuûa OO.
?Cho bieát teân vaø moâ taùc moät soá cô cheá toång 
quaùt trong UML.
?Stereotype laø gì? Cho bieát teân cuûa moät soá
stereotype duøng chung.

File đính kèm:

  • pdfBài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Giới thiệu về hướng đối tượng.pdf
Tài liệu liên quan