Tải bản đầy đủ (.pdf) (7 trang)

Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Lê Thị Minh Nguyện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.44 MB, 7 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Ch

ư

ơng 2.



Ngơn ngữ mơ hình hóa


thống nhất (UML)



GV: Lê Thị Minh Nguyện
Email:


Phân tích thiết kế hướng đối tượng 1


Nội dung



1. Giới thiệu UML



2. Unified modeling language (uml)



3. UML và các giai đoạn của chu trình phát triển phần mềm



Phân tích thiết kế hướng đối tượng 2


Giới thiệu UML



1.1. UML là gì?



1.2. Sơ lược lịch sử phát triển của UML


1.3. Các khung nhìn của UML



Phân tích thiết kế hướng đối tượng 3


1.1. UML là gì?




Phân tích thiết kế hướng đối tượng 4


•“Three Amigos”: Ivar Jacobson, Grady Booch và Jim Rumbaugh đã hợp
nhất các phương pháp OO và tạo ra ngơn ngữ mơ hình hóa ch̉n UML


•Là ngơn ngữ dùng để
•Trực quan hóa (Visualizing)


•Xác định rõ (Đặc tả - Specifying)


•Xây dựng (Constructing)


•Tài liệu hóa (Documenting)


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

UML là ngơn ngữ trực quan



Phân tích thiết kế hướng đối tượng 5


UML là ngôn ngữ thống nhất trực quan
giúp công việc được xử lý nhất quán, giảm
thiểu lỗi xảy ra


◦Có những thứ mà nếu khơng mơ hình hóa thì
khơng hoặc khó có thể hiểu được


◦Mơ hình trợ giúp hiệu quả trong việc liên lạc,
trao đổi


Trong tổ chức



Bên ngồi tổ chức


UML là ngơn ngữ để đặc tả



Phân tích thiết kế hướng đối tượng 6
•UML xây dựng các mơ hình chính xác, rõ ràng và đầy


đủ.


UML là ngôn ngữ để xây dựng HT



Phân tích thiết kế hướng đối tượng 7
•Các mơ hình UML có thể kết nối trực tiếp với rất nhiều ngơn


ngữ lập trình.


•Ánh xạ sang Java, C++, C#, Visual Basic…


•Các bảng trong RDBMS hoặc kho lưu trữ trong OODBMS


•Cho phép các kỹ nghệ xi (chuyển UML thành mã nguồn)


•Cho phép kỹ nghệ ngược (xây dựng mơ hình hệ thống từ mã nguồn)


UML là ngơn ngữ để tài liệu hóa



Phân tích thiết kế hướng đối tượng 8


UML giúp tài liệu hóa về kiến trúc, yêu cầu, kiểm thử,
lập kế hoạch dự án, và quản lý việc bàn giao phần mềm



<b>Use Case Diagram</b>


Actor A
Use Case 1


Use Case 2


Use Case 3
Actor B


<b>Class Diagram</b>


Grp Fi l e
re a d ( )
o p e n ( )
c re a te ( )
fi l l Fi l e ( )
re p
Re p o s i to ry
n a m e : ch ar * = 0
re a d Do c( )
re a d Fi l e( )
(fro m Pe rsi ste nce )
Fi l e M g r
fe tc h Doc ( )
s o rtBy Nam e( )


Do c u m en tL ist
a d d ( )


d e l e te( )


Do c u m en t
n a m e : i nt
d o c i d : in tn u m Fi el d : int
g e t( )o p e n ( )
c l o s e ( )
re a d ( )
s o rtFi l eL is t( )
c re a te ( )fi l l Do c um ent( )
fL i s t


1


Fi l e L i st
a d d ( )d e l e te( )


1


Fi l e
re a d ( )


re a d () fi ll th e
c o d e ..


<b>Sequence Diagram</b>


us er
mainWndfileMgr :



FileMgr
repos itory
doc ument :
Doc ument
gFile
1 : Do c vi ew req ues t ( )


2 : fe tch Doc( )
3 : c re ate ( )


4 : c re ate ( )
5 : re a dDo c ( )
6 : fi l l Doc umen t ( )


7 : re a dFi le ( )
8 : fi l l Fil e ( )
9 : s o rtBy Name ( )
Ô ạđẳ Ă èẹ ááƯ
ằ ỡ Ă ụấằèẹ.
ẽỹáđ éắ ợ
ạđẳ è Ô ááƯ èỉỡ ạđẳ
ấẳ Ă ẳ Ôằ ụấằèẹ.
á ấẳ éắợàẻ
ấẳ àĂ èỉ èáĐÃẻ
Ô Ãễằ ẵấễẹ áĂ
áâ.
<b>Deployment Diagram</b>


Wi n d o w95
ạđẳỹáđ ơả ú èắ đ.EXE


Wi n d o wsNT
ạđẳỹáđ Êứ.EXE
Wi n d o wsNT


Wi n d o ws9 5


So l a ri s
ở ẳ ạử .EXE


Al p h aUNIX
IBM M a i n fram e
àƠ èáÊ èẵẳ ạử


Wi n d o ws9 5
ểềỹ ắ
ờ èắợểẩẩ ỏ è
- èèỡ 95 : ẫŨộóầỉ¾ ðậợ
- ầờÌÌựì NT: ầầựẽỊĨư- ầỪÍƯỎ ử ĨốỎẫ: ầầựẽ ềểử ểẩè ề ểử, ềểử


- IBM áịẻèÃạ: àƠèá ẳạử, ẵ ẳạử
Cõc biu khõc


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

3.2. Lịch sử phát triển của UML


Vào 1994, có hơn 50 phương pháp mơ hình hóa hướng đối


tượng:


◦Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock,


Coad-Yourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA,


HOOD, Ooram, DOORS …


“Meta-models” tương đồng với nhau
Các ký pháp đồ họa khác nhau


Quy trình khác nhau hoặc khơng rõ ràng


Cần chuẩn hóa và thống nhất các phương pháp


9


3.2. Lịch sử phát triển của UML



Phân tích thiết kế hướng đối tượng 10


•UML được 3 chuyên gia hướng đối


tượng hợp nhất các kỹ thuật của họ


vào năm 1994:


• Booch91 (Grady Booch): Conception,
Architecture


• OOSE (Ivar Jacobson): Use cases
• OMT (Jim Rumbaugh): Analysis


•Thiết lập một phương thức thống


nhất để xây dựng và “vẽ” ra các yêu


cầu và thiết kế hướng đối tượng


trong q trình PTTK phần mềm


UML được cơng nhận là chuẩn chung
vào năm 1997.


3.2. Lịch sử phát triển của UML



Phân tích thiết kế hướng đối tượng 11


UML
Partners’
Expertise


UML 1.0


(Jan. ‘97)


UML 1.1


(Sept. ‘97)


UML 1.5


(March, ‘03)


UML 2.0


(2004)



Other
Methods


Booch ‘91 OMT - 1
OOSE


Booch ’93 OMT - 2


Public
Feedback


Unified Method 0.8


(OOPSLA ’95)


UML 0.9


(June ‘96) and UML 0.91(Oct. ‘96)


3.3. Khung nhìn của UML



Phân tích thiết kế hướng đối tượng 12
Khung nhìn của mơ hình có ý nghĩa với những người tham gia nào đó
4 + 1 Architectural View


<b>Process View</b>
<b>Logical View</b>


<b>Implementation View</b>


<b>Programmers</b>
<i><b>Software management</b></i>


<i><b>Performance, scalability, throughput</b></i>
<b>System integrators</b>


<b>Analysts/Designers</b>


<i><b>Structure</b></i>


<b>Deployment View</b>
<i><b>System topology, delivery, </b></i>
<i><b>installation, communication</b></i>
<b>System engineering</b>


<b>Use-Case View</b>


<b>End-user</b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Khung nhìn Use case


•Nắm bắt các chức năng của hệ thống


•Cần thiết cho các hoạt động phân tích, thiết kế và kiểm thử


•Hợp đồng giữa khách hàng và người phát triển


•Hành vi của hệ thống – các chức năng mà hệ thống cần cung
cấp – được lưu trong một mơ hình use case


•Biểu đồ use case



•Luồng sự kiện use case


•Biểu đồ hoạt động


•Các tài liệu phụ trợ


13


Khung nhìn Logic



Cấu phần chính là mơ hình thiết kế



◦Cung cấp mơ tả cụ thể về hành vi chức năng của hệ thống.
◦Xuất phát từ mô hình phân tích


Mơ tả vắn tắt về hành vi của hệ thống dựa trên mơ hình use case


◦Tập hợp lớp, tổ chức vào các hệ thống con
◦Bao gồm:


Biểu đồ lớp, biểu đồ tương tác, biểu đồ trạng thái


Hệ thống con và giao diện của chúng


14


Khung nhìn thực thi (implementation)



• Tổ chức các mô-đun phần mềm tĩnh (mã nguồn, tệp dữ liệu,


các thành phần thực thi, tài liệu…) trong môi trường dưới
dạng:


- Chia thành các package và phân lớp (layer)


- Quản lý cấu hình (quyền sở hữu, kế hoạch bàn giao…)


• Được mơ hình hóa trong các biểu đồ thành phần


15


Khung nhìn tiến trình (process)



Bao gồm các thread và các process tạo nên các cơ chế đồng
thời và đồng bộ của hệ thống


Giải quyết về các vấn đề:


◦Đồng thời và song song (đồng bộ, deadlock…)


◦Dung thứ lỗi (cô lập chức năng và lỗi, độ tin cậy)


◦Khởi động và tắt hệ thống


◦Phân phối đối tượng và dữ liệu


◦Hiệu năng (thời gian đáp ứng, thơng lượng) và tính co dãn


Khơng cần thiết đối với mơi trường xử lý đơn lẻ



Mơ hình hóa bằng biểu đồ lớp, biểu đồ tương tác và biểu đồ
trạng thái


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Khung nhìn triển khai (deployment)


•Mơ tả các nút vật lý khác nhau và các kết nối lẫn nhau giữa


chúng cho các cấu hình nền tảng điển hình nhất


•Giải quyết các vấn đề:


•Triển khai


•Cài đặt


•Bảo trì


•Được mơ hình hóa bằng biểu đồ triển khai


17


<b>3.U</b>

<b>NIFIED </b>

<b>M</b>

<b>ODELING </b>

<b>L</b>

<b>ANGUAGE (UML)</b>



Phân tích thiết kế hướng đối tượng 18
<b>18</b>


UML defines 13 diagrams that describe 4+1 architectural views


<b>U</b>

<b>NIFIED </b>

<b>M</b>

<b>ODELING </b>

<b>L</b>

<b>ANGUAGE (UML)</b>



Phân tích thiết kế hướng đối tượng 19



Things


Relationship


Diagram


Structural Things
Behavior things
Group things
Annotation things


Class, interface, collaboration,
use case, components, nodes
Interaction, State machine
Package
Note


Structural Relationship Dependency, Aggregation,
Association, Generalization
Behavior Relationship Communication, Includes, <sub>Extends, Generalizes</sub>


Structural Diagram


Behavioral Diagram


-<b>Class diagram</b>
-Object diagram
-Component diagram
-Deployment diagram



-<b>Use case diagram</b>
-<b>Activity diagram</b>
-<b>Interaction diagram</b>
- State machine diagram


<b>UNIFIED MODELING LANGUAGE (UML)</b>



<b>Dynamic </b>
<b>Diagrams</b>


<b>Activity</b>
<b>Diagrams</b>


<b>Models</b>


<b>Static </b>
<b>Diagrams</b>


<b>Sequence</b>
<b>Diagrams</b>


<b>Communication</b>
<b>Diagrams</b>


<b>State Machine</b>
<b>Diagrams</b>


<b>Deployment</b>
<b>Diagrams</b>



<b>Component</b>
<b>Diagrams</b>


<b>Object</b>
<b>Diagrams</b>
<b>Class</b>


<b>Diagrams</b>
<b>Use-Case</b>


<b>Diagrams</b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Use Case Diagram</b>



Phân tích thiết kế hướng đối tượng 21


<b>Use Case Diagram</b>



Phân tích thiết kế hướng đối tượng 22


• Mơ tả hành vi hệ thống dưới góc nhìn của
người dùng


• Với developer, đây là cơng cụ vơ cùng hữu
ích trong việc thể hiện u cầu hệ thống


<b>Class Diagram</b>



Phân tích thiết kế hướng đối tượng 23



<b>Class Diagram</b>



Phân tích thiết kế hướng đối tượng 24


Name


Attributes



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Class Diagram</b>



Phân tích thiết kế hướng đối tượng 25
<b>25</b>


Một số lưu ý


• Tên class nếu có từ
2 từ trở lên thì viết
hoa đầu mỗi từ và
khơng có khoảng
trắng


• Tên thuộc tính và tên
phương thức cũng
tuân theo qui tắc trên
nhưng không viết
hoa chữ đầu


<b>Object Diagram</b>



Phân tích thiết kế hướng đối tượng 26



Một số lưu ý


• Tên được gạch dưới


• Tên của thực thể nằm phía trái dấu hai chấm, tên
lớp nằm phía phải


• Với<i>anonymous</i>object, ta khơngcần xác định tên


của đối tượng


<b>State Diagram</b>



Phân tích thiết kế hướng đối tượng 27


• Tại bất kì thời điểm nào,
mỗi object đều đang ở
một trạng thái (state)
nhất định


• Hình bên cho thấy <i>sự </i>


<i>dịch chuyển (transition)</i>


về trạng thái của một đối
tượng máy giặt


• Lưu ý kí hiệu của trạng
thái bắt đầu và kết thúc



<b>Sequence Diagram</b>



Phân tích thiết kế hướng đối tượng 28


<b>Tính</b>

<b>chất:</b>



• Class diagrams và Object diagrams đặc trưng


chodạng thông tin tĩnh (static information)


• Trong thực tế, các objects ln tương tác với


nhau theothời gian


• Sequence diagrams giúp thể hiện<i>các hành vi </i>


</div>

<!--links-->

×