Tải bản đầy đủ (.ppt) (88 trang)

Seminar môn OOD Đề tài Mô hình cấu trúc

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 (2.19 MB, 88 trang )

Seminar môn OOD
Seminar môn OOD
Đề tài: Mô hình cấu trúc
Đề tài: Mô hình cấu trúc
GVHD: Dương Bá Hồng Thuận
GVHD: Dương Bá Hồng Thuận


Khái niệm về mô hình cấu trúc
Khái niệm về mô hình cấu trúc

Trong pha phân tích, mô hình chức năng để đưa
Trong pha phân tích, mô hình chức năng để đưa
ra việc xử lý hệ thống nghiệp vụ thì mô hình cấu
ra việc xử lý hệ thống nghiệp vụ thì mô hình cấu
trúc đưa ra việc tổ chức và thể hiện chúng.
trúc đưa ra việc tổ chức và thể hiện chúng.

Mô hình cấu trúc hay khái niệm là mô hình mô tả
Mô hình cấu trúc hay khái niệm là mô hình mô tả
cấu trúc của dữ liệu hỗ trợ quá trình xử lý nghiệp
cấu trúc của dữ liệu hỗ trợ quá trình xử lý nghiệp
vụ trong một tổ chức.
vụ trong một tổ chức.

Mô hình cấu trúc vẽ lên để nó trở lên chi tiết hơn
Mô hình cấu trúc vẽ lên để nó trở lên chi tiết hơn
và giảm tính hình tượng hơn.
và giảm tính hình tượng hơn.

Mô hình cấu trúc nhằm thu hẹp khoảng cách giữa


Mô hình cấu trúc nhằm thu hẹp khoảng cách giữa
thế giới thực và thế giới phần mềm.
thế giới thực và thế giới phần mềm.

Mục đích đầu tiên của mô hình cấu trúc là tạo ra
Mục đích đầu tiên của mô hình cấu trúc là tạo ra
một bộ từ vựng để có thể sử dụng chung cho cả
một bộ từ vựng để có thể sử dụng chung cho cả
người phân tích và người dùng
người phân tích và người dùng
Khái niệm về mô hình cấu trúc
Khái niệm về mô hình cấu trúc

Các cách thức mô tả cấu trúc:
Các cách thức mô tả cấu trúc:


-
-
CRC cards
CRC cards
,
,
class diagrams
class diagrams
, and
, and
object diagrams
object diagrams


Các phần tử cơ bản của mô hình cấu trúc:
Các phần tử cơ bản của mô hình cấu trúc:


- Classes (Lớp)
- Classes (Lớp)


- Attributes (Thuộc tính)
- Attributes (Thuộc tính)


- Operations (Hành động, phương thức)
- Operations (Hành động, phương thức)


- Relationships (Các quan hệ)
- Relationships (Các quan hệ)
Classes (Lớp)
Classes (Lớp)

Một đối tượng là một thực thể có thực hoặc là
Một đối tượng là một thực thể có thực hoặc là
một khái niệm.
một khái niệm.

Mỗi đối tượng được mô tả bởi trạng thái và hành
Mỗi đối tượng được mô tả bởi trạng thái và hành
vi cho biết đối tượng đó sẽ hành động như thế
vi cho biết đối tượng đó sẽ hành động như thế

nào.
nào.

Một nhóm các đối tượng có chung thuộc tính và
Một nhóm các đối tượng có chung thuộc tính và
phương thức thì tạo thành một lớp.
phương thức thì tạo thành một lớp.

Một lớp là một khuân mẫu chung để tạo ra các
Một lớp là một khuân mẫu chung để tạo ra các
thực thể hoặc các đối tượng.
thực thể hoặc các đối tượng.

Có 2 loại “Class”:
Có 2 loại “Class”:


- Lớp cụ thể (
- Lớp cụ thể (
Concrete
Concrete
)
)


- Lớp trừu tượng (
- Lớp trừu tượng (
Abtract
Abtract
)

)
Classes (Lớp)
Classes (Lớp)

Lớp cụ thể dùng để tạo ra các đối tượng cụ thể
Lớp cụ thể dùng để tạo ra các đối tượng cụ thể

Lớp trừu tượng dùng để tạo ra các lớp khác.
Lớp trừu tượng dùng để tạo ra các lớp khác.
Attributes (Thuộc tính)
Attributes (Thuộc tính)

Thuộc tính là những mẩu thông tin dùng để mô tả
Thuộc tính là những mẩu thông tin dùng để mô tả
cho lớp.
cho lớp.

Chỉ những thuộc tính là quan trọng thì mới nên
Chỉ những thuộc tính là quan trọng thì mới nên
đưa vào trong lớp.
đưa vào trong lớp.

Chỉ nên đưa những thuộc tính dạng cơ sở, nguyên
Chỉ nên đưa những thuộc tính dạng cơ sở, nguyên
tố vào lớp như (
tố vào lớp như (
integer, strings, doubles, date,
integer, strings, doubles, date,
time, boolean,…
time, boolean,…

)
)
Operations (Hành động, phương thức)
Operations (Hành động, phương thức)

Một Operation là hành vi của lớp sẽ được định
Một Operation là hành vi của lớp sẽ được định
nghĩa ở đâu.
nghĩa ở đâu.

Trong các phase sau thì phương thức sẽ được
Trong các phase sau thì phương thức sẽ được
chuyển đối sang phương pháp (method).
chuyển đối sang phương pháp (method).

Phương thức tập trung vào các hoạt động cụ thể
Phương thức tập trung vào các hoạt động cụ thể
của của các vấn đề liên quan.
của của các vấn đề liên quan.
Relationships (Mối quan hệ)
Relationships (Mối quan hệ)

Được chia ra làm ba loại mối quan hệ chính:
Được chia ra làm ba loại mối quan hệ chính:



Mối quan hệ tổng quát hóa (
Mối quan hệ tổng quát hóa (
Generalization

Generalization
)
)



Mối quan hệ bao hàm (
Mối quan hệ bao hàm (
Aggregation
Aggregation
)
)



Mối quan hệ liên kết (
Mối quan hệ liên kết (
Association
Association
)
)

Mối quan hệ tổng quát hóa (
Mối quan hệ tổng quát hóa (
Generalization
Generalization
)
)

Cho phép tạo ra những lớp thừa hưởng thuộc tính và

Cho phép tạo ra những lớp thừa hưởng thuộc tính và
phương thức của lớp khác.
phương thức của lớp khác.

Mối quan hệ tổng quát hóa bao gồm kiểu quan hệ A–
Mối quan hệ tổng quát hóa bao gồm kiểu quan hệ A–
kind-of.
kind-of.

Trong mối quan hệ này thì lớp con (Subclasses) được
Trong mối quan hệ này thì lớp con (Subclasses) được
tạo ra từ lớp lớn hơn (Superclasses).
tạo ra từ lớp lớn hơn (Superclasses).

Để đảm bảo ngữ nghĩa của những lớp con được duy
Để đảm bảo ngữ nghĩa của những lớp con được duy
trì, sử dụng định luật thay thế
trì, sử dụng định luật thay thế
substitutability.
substitutability.


Relationships (Mối quan hệ)
Relationships (Mối quan hệ)

Mối quan hệ bao hàm (Aggregation)
Mối quan hệ bao hàm (Aggregation)

Các kiểu quan hệ có thể có là a-part-of, a-member-of,
Các kiểu quan hệ có thể có là a-part-of, a-member-of,

contained-in, related-to, và associated-with.
contained-in, related-to, và associated-with.

Chúng liên kết bộ phận với toàn bộ.
Chúng liên kết bộ phận với toàn bộ.

Mối quan hệ này là quan hệ hai chiều trong tự nhiên.
Mối quan hệ này là quan hệ hai chiều trong tự nhiên.

Ngược lại với aggregation là decomposition
Ngược lại với aggregation là decomposition

Các bộ phận có thể được mô hình hóa riêng biệt nhau.
Các bộ phận có thể được mô hình hóa riêng biệt nhau.

Mối quan hệ liên kết (Association)
Mối quan hệ liên kết (Association)

Các kiểu quan hệ khác 2 loại trên
Các kiểu quan hệ khác 2 loại trên

Chúng thể hiện một cách đơn giản nhất sự liên kết giữa
Chúng thể hiện một cách đơn giản nhất sự liên kết giữa
các thực thể của lớp.
các thực thể của lớp.
CLASS-RESPONSIBILITY-COLLABORATION CARDS
CLASS-RESPONSIBILITY-COLLABORATION CARDS
( Lớp – Trách nhiệm – Thẻ cộng tác )
( Lớp – Trách nhiệm – Thẻ cộng tác )
Đặc điểm :

Đặc điểm :


* Dùng để mô tả :
* Dùng để mô tả :


- Các trách nhiêm.
- Các trách nhiêm.


- Các sự cộng tác của lớp.
- Các sự cộng tác của lớp.


* Dạng mở rộng CRC card :Lưu giữ tất cả các thông tin liên
* Dạng mở rộng CRC card :Lưu giữ tất cả các thông tin liên
quan đến lớp.
quan đến lớp.


- Chúng ta cần đưa ra những thành phần của CRC cards.
- Chúng ta cần đưa ra những thành phần của CRC cards.
CLASS-RESPONSIBILITY-COLLABORATION CARDS
CLASS-RESPONSIBILITY-COLLABORATION CARDS
( Lớp – Trách nhiệm – Thẻ cộng tác )
( Lớp – Trách nhiệm – Thẻ cộng tác )
Đặc điểm:
Đặc điểm:
Dùng để mô tả:

Dùng để mô tả:
Các trách nhiệm.
Các trách nhiệm.
Các sự cộng tác của lớp.
Các sự cộng tác của lớp.
Dạng mở rộng CRC cards:
Dạng mở rộng CRC cards:
Lưu trữ tất cả các thông tin về lớp.
Lưu trữ tất cả các thông tin về lớp.
Quyết định những nhân tố bên
Quyết định những nhân tố bên
trong CRC cards.
trong CRC cards.
Responsibilities and Collaborations
Responsibilities and Collaborations
( Trách nhiệm và sự cộng tác )
( Trách nhiệm và sự cộng tác )

Responsibilities ( Trách nhiệm ) : Chia làm
Responsibilities ( Trách nhiệm ) : Chia làm
2 loại.
2 loại.

Knowing ( Biết ):
Knowing ( Biết ):

Đối tượng của lớp phải có năng lực biết được.
Đối tượng của lớp phải có năng lực biết được.

Năng lực của một lớp biết được từ giá trị thuộc tính

Năng lực của một lớp biết được từ giá trị thuộc tính
và quan hệ.
và quan hệ.

Doing ( Làm ) :
Doing ( Làm ) :

Đối tượng của lớp có thể thực hiện hoạt động.
Đối tượng của lớp có thể thực hiện hoạt động.

Hoặc yêu cầu đối tượng khác thực hiện hoạt động
Hoặc yêu cầu đối tượng khác thực hiện hoạt động
thay thế.
thay thế.


CLASS-RESPONSIBILITY-COLLABORATION CARDS
CLASS-RESPONSIBILITY-COLLABORATION CARDS
( Lớp – Trách nhiệm – Thẻ cộng tác )
( Lớp – Trách nhiệm – Thẻ cộng tác )

Collaboration ( Cộng tác )
Collaboration ( Cộng tác )

Mô hình cấu trúc là : mô tả những đối
Mô hình cấu trúc là : mô tả những đối
tượng cần thiết, cung cấp cho mô hình
tượng cần thiết, cung cấp cho mô hình
qua quá trình nghiệp vụ.
qua quá trình nghiệp vụ.


Có thể dùng một bản ghi của nhiều lớp.
Có thể dùng một bản ghi của nhiều lớp.

Các đối tượng tác động với nhau để thực
Các đối tượng tác động với nhau để thực
hiện 1 yêu cầu.
hiện 1 yêu cầu.

Bản ghi của lớp là dạng cộng tác.
Bản ghi của lớp là dạng cộng tác.
Collaboration ( Cộng tác )
Collaboration ( Cộng tác )

Cộng tác client,server và contract
Cộng tác client,server và contract

Đối tượng client gửi yêu cầu tới đối
Đối tượng client gửi yêu cầu tới đối
tượng khác để thao tác được thực hiện.
tượng khác để thao tác được thực hiện.

Đối tượng server đáp ứng yêu cầu của
Đối tượng server đáp ứng yêu cầu của
đối tượng khách hàng.Contract
đối tượng khách hàng.Contract

Đối tượng Contract : sự tương tác giữa
Đối tượng Contract : sự tương tác giữa
client và server.

client và server.
Collaboration ( Cộng tác )
Collaboration ( Cộng tác )

Cộng tác client,server và contract
Cộng tác client,server và contract

Ví dụ :
Ví dụ :

Cần sắp xếp cuộc gặp giữa bệnh nhân
Cần sắp xếp cuộc gặp giữa bệnh nhân
và bác sỹ.
và bác sỹ.

Client : là đối tượng bệnh nhân.
Client : là đối tượng bệnh nhân.

Server : là đối tượng bác sỹ.
Server : là đối tượng bác sỹ.

Contract là Cả hai đều đồng ý cuộc gặp tại
Contract là Cả hai đều đồng ý cuộc gặp tại
một địa điểm và thời gian cụ thể.
một địa điểm và thời gian cụ thể.
Collaboration ( Cộng tác )
Collaboration ( Cộng tác )

Người phân tích sử dụng chính xác những trách nhiệm lớp
Người phân tích sử dụng chính xác những trách nhiệm lớp

và khách hàng- server-giao kèo,sự cộng tác nhằm làm
và khách hàng- server-giao kèo,sự cộng tác nhằm làm
sáng tỏ những lớp, tiến lên cùng những thuộc tính, công
sáng tỏ những lớp, tiến lên cùng những thuộc tính, công
đoạn, và các quan hệ, được bao hàm cùng một trường hợp
đoạn, và các quan hệ, được bao hàm cùng một trường hợp
dùng.
dùng.

Cách dễ dàng nhất là dùng CRC cards trong việc phát triển
Cách dễ dàng nhất là dùng CRC cards trong việc phát triển
mô hình cấu trúc xuyên suốt thuyết hình người giả bộ
mô hình cấu trúc xuyên suốt thuyết hình người giả bộ
những lớp có đặc tính người.
những lớp có đặc tính người.

Người phân tích và hoặc người sử dụng
Người phân tích và hoặc người sử dụng
sự sắm vai ( role-
sự sắm vai ( role-
play)
play)
và giả bộ chúng ta là đối tượng của lớp sự bao gồm.
và giả bộ chúng ta là đối tượng của lớp sự bao gồm.
CLASS-RESPONSIBILITY-COLLABORATION CARDS
CLASS-RESPONSIBILITY-COLLABORATION CARDS
( Lớp – Trách nhiệm – Thẻ cộng tác )
( Lớp – Trách nhiệm – Thẻ cộng tác )

Chúng ta có thể đặt câu hỏi về những gì của

Chúng ta có thể đặt câu hỏi về những gì của
chúng hoặc bị đặt câu hỏi bởi các thành viên khác
chúng hoặc bị đặt câu hỏi bởi các thành viên khác
trong nhóm phát triển :
trong nhóm phát triển :

Ví dụ :
Ví dụ :

Who or what are you ? (Bạn là ai / Bạn làm cái gì?)
Who or what are you ? (Bạn là ai / Bạn làm cái gì?)

What do you know ? (Bạn biết làm cái gì ?)
What do you know ? (Bạn biết làm cái gì ?)

What can you do ? (Bạn có thể làm cái gì ?)
What can you do ? (Bạn có thể làm cái gì ?)

Câu trả lời của câu hỏi đó sẽ được thêm vào bản
Câu trả lời của câu hỏi đó sẽ được thêm vào bản
chi tiết tiến triển CRC cards.
chi tiết tiến triển CRC cards.
Elements of a CRC Card
Elements of a CRC Card
( Những nhân tố của bảng CRC Card )
( Những nhân tố của bảng CRC Card )

Class Name – Danh từ (Không được là danh
Class Name – Danh từ (Không được là danh
từ riêng)

từ riêng)

ID – Lưu trữ và tham chiếu với yêu cầu
ID – Lưu trữ và tham chiếu với yêu cầu

Description – Định nghĩa ngắn gọn
Description – Định nghĩa ngắn gọn

Responsibilities – Biết về những trách
Responsibilities – Biết về những trách
nhiệm.
nhiệm.

Attributes – Hiểu về những trách nhiệm
Attributes – Hiểu về những trách nhiệm

Những quan hệ :
Những quan hệ :

Tổng quát hóa.
Tổng quát hóa.

Kết hợp
Kết hợp

Những sự liên kết khác.
Những sự liên kết khác.
Elements of a CRC Card
Elements of a CRC Card
( Những nhân tố của bảng CRC Card )

( Những nhân tố của bảng CRC Card )
A CRC Card
A CRC Card
Back of CRC Card
Back of CRC Card
Review CRC Card
Review CRC Card
Review CRC Card
Review CRC Card
Class diagrams
Class diagrams

là dạng biểu đồ tĩnh biểu hiện các lớp và những
là dạng biểu đồ tĩnh biểu hiện các lớp và những
mối quan hệ giữa các lớp
mối quan hệ giữa các lớp

Nó bao gồm các lớp ( thuộc tính và trạng thái )
Nó bao gồm các lớp ( thuộc tính và trạng thái )
cùng mối quan hệ giữa các lớp đó
cùng mối quan hệ giữa các lớp đó
20/3/2009 Nguyễn Ngọc Bá – ĐT1 – K50
Class diagrams
Class diagrams
20/3/2009 Nguyễn Ngọc Bá – ĐT1 – K50

×