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

Tài liệu mô hình hóa 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.09 MB, 72 trang )

Chương 7. Mô hình hóa cấu trúc
2006
1
Nguyễn Trung Trực - Khoa CNTT
Chương 7
Mô hình hóa cấu trúc
Chương 7. Mô hình hóa cấu trúc
2006
2
Nguyễn Trung Trực - Khoa CNTT
Nội dung

Các qui tắc và hướng dẫn cách tạo các
bản CRC, các sơ đồ lớp và các sơ đồ đối
tượng.

Các quá trình tạo các bản CRC, các sơ đồ
lớp và các sơ đồ đối tượng.

Mối liên hệ giữa các mô hình cấu trúc và
các mô hình use-case.
Chương 7. Mô hình hóa cấu trúc
2006
3
Nguyễn Trung Trực - Khoa CNTT
Giới thiệu

Mô hình cấu trúc hoặc mô hình ý niệm mô
tả cấu trúc của dữ liệu được dùng trong
các quá trình nghiệp vụ của công ty.


Cấu trúc dữ liệu được sử dụng trong hệ
thống sẽ được biểu diễn thông qua các
bản CRC, các sơ đồ lớp và các sơ đồ đối
tượng.
Chương 7. Mô hình hóa cấu trúc
2006
4
Nguyễn Trung Trực - Khoa CNTT
Mục đích của mô hình cấu trúc

Làm giảm các “thiếu sót ngữ nghĩa”
(semantic gap) giữa thế giới thực và phần
mềm.

Tạo từ vựng cho những người phân tích
và người sử dụng.

Biểu diễn các vật, các ý tưởng và các khái
niệm quan trọng trong lãnh vực ứng dụng.
Chương 7. Mô hình hóa cấu trúc
2006
5
Nguyễn Trung Trực - Khoa CNTT
Đối tượng

Đối tượng (object) có thể biểu diễn một
người, vị trí, sự kiện hoặc giao dịch.
f
Đối tượng cụ thể (concrete)
f

Đối tượng trừu tượng (abstract)

Đối tượng là một thực thể bao gồm dữ liệu
(data) và hành vi (behavior).
f
Các đối tượng được phân loại thành các lớp
(class).
f
Mỗi đối tượng riêng biệt là một thể hiện
(instance) của một lớp.
Chương 7. Mô hình hóa cấu trúc
2006
6
Nguyễn Trung Trực - Khoa CNTT
Đối tượng

Qui ước đặt tên đối tượng
f
Tênđốitượng: Tênlớp
f
Từ đầu tiên: viết chữ thường.
f
Các từ kế tiếp: viết chữ hoa cho ký tự đầu
tiên.
Chương 7. Mô hình hóa cấu trúc
2006
7
Nguyễn Trung Trực - Khoa CNTT
Đối tượng
myWasher: WashingMachine

brandName = “Laundatorium”
modelName = “Washmeister”
serialNumber = “GL57774”
capacity = 16
Object Name
Attributes
Operations
An object has a specific value for every one of its class’s attributes
Chương 7. Mô hình hóa cấu trúc
2006
8
Nguyễn Trung Trực - Khoa CNTT
Lớp

Lớp (class) là một tập hợp các đối tượng
có cùng các thuộc tính, các tác vụ, các mối
liên kết và ngữ nghĩa.

Tất cả các đối tượng của một lớp là các
thể hiện của lớp này.

Lớp là các khuôn mẫu (template) để tạo
các thể hiện hoặc các đối tượng.
f
Lớp cụ thể (concrete)
f
Lớp trừu tượng (abstract)

Qui ước đặt tên lớp
f

Têngói:: Tênlớp
f
Viết chữ hoa cho ký tự đầu tiên của mỗi từ.
Chương 7. Mô hình hóa cấu trúc
2006
9
Nguyễn Trung Trực - Khoa CNTT
Lớp
Household Appliances:: WashingMachine
brandName
modelName
serialNumber
capacity
addClothes()
removeClothes()
addDetergent()
turnOn()
Class Name
Attributes
Operations
A Class with its attributes and operations
Chương 7. Mô hình hóa cấu trúc
2006
10
Nguyễn Trung Trực - Khoa CNTT
1 // An actor with “name” and “stage name” attributes
2 public class Actor {
3 // Fields
4 private String name, stageName;
5 // Create a new actor with the given stage name

6 public Actor(String sn) {
7 name = “<None>”;
8 stageName = sn;
9}
10 // Get the name
11 public String getName() {
12 return name;
13 }
14 // Set the name
15 public void setName(String n) {
16 name = n
17 }
18 // Get the stage name
19 public void setStageName() {
20 return stageName
21 }
22 // Set the stage name
23 public void setStageName(String sn) {
24 stageName = sn
25 }
26 // Reply a summary of this actor’s attributes, as a string
27 public String toString() {
28 return “I am known as “ + getStageName() + “, but my real name is “ + getName()
29 }
30 }
A sample Java class
Chương 7. Mô hình hóa cấu trúc
2006
11
Nguyễn Trung Trực - Khoa CNTT

Lớp
Element Purpose Example
Class name Referring to the class
elsewhere in our code.
Actor, line 2
Fields Describing the information
stored by this kind of object.
name and stageName, line 4
Constructors Controlling initialization of
the objects.
Actor(), line 6
Messages Providing other objects with
a way to use the objects.
getName(), line 11;
setName(), line 15;
getStageName(), line 19;
setStageName(), line 23;
toString(), line 27
Operations Telling the objects how to
behave.
lines 12, 16, 20, 24, 28
Comments Telling programmers how to
use or maintain the class
(ignored by the compiler).
lines starting //, e.g. lines 1, 3
Information defined by a class
Chương 7. Mô hình hóa cấu trúc
2006
12
Nguyễn Trung Trực - Khoa CNTT

Lớp và đối tượng
Class
Class Student
Instances
Objects Maria and David of the Class Student
Chương 7. Mô hình hóa cấu trúc
2006
13
Nguyễn Trung Trực - Khoa CNTT
Lớp và đối tượng
Chương 7. Mô hình hóa cấu trúc
2006
14
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính

Thuộc tính (attribute) là một đặc tính được
đặt tên của một lớp, dùng để mô tả một
miền trị có thể gán cho các thể hiện của
thuộc tính này.

Các lớp che giấu dữ liệu thông qua các
thuộc tính.

Chỉ nên đưa vào các thuộc tính quan trọng
cho công việc.

Qui ước đặt tên thuộc tính:
f
Từ đầu tiên: viết chữ thường.

f
Các từ kế tiếp: viết chữ hoa cho ký tự đầu
tiên.
Chương 7. Mô hình hóa cấu trúc
2006
15
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
WashingMachine
brandName: String = ‘Laundatorium”
modelName: String
serialNumber: String
capacity: Integer
An attribute can show its types as well as a default value
Chương 7. Mô hình hóa cấu trúc
2006
16
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính

Các loại thuộc tính
f
Thuộc tính đơn (simple attribute): chứa giá trị
đơn.
f
Thuộc tính xác định (identifier): chứa giá trị
khóa duy nhất.
f
Thuộc tính đa trị (multivalued attribute): chứa
nhiều giá trị thuộc cùng một miền trị.

f
Thuộc tính phức hợp (composite attribute):
một nhóm gồm các thuộc tính liên quan với
nhau.
f
Thuộc tính dẫn xuất (derived attribute) là
thuộc tính được suy từ các thuốc tính khác,
ký hiệu / đứng trước tên thuộc tính.
Chương 7. Mô hình hóa cấu trúc
2006
17
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính

Kiểu mở rộng (stereotype) là một thành
phần (construct) cho phép mở rộng từ
vựng của UML.

Các loại kiểu mở rộng trong sơ đồ lớp
f
Kiểu mở rộng khóa chính: <<PK>>.
f
Kiểu mở rộng đa trị: <<Multivalued>>.
Chương 7. Mô hình hóa cấu trúc
2006
18
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Primary key is a unique
identifier; no two Student

instances will have the
same studentId value.
The Identifier shown by the Stereotype <<PK>>
Chương 7. Mô hình hóa cấu trúc
2006
19
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Multivalued attribute can
contain multiple values;
a student may have
several phone numbers
Attribute phoneNumber shown by the Stereotype <<Multivalued>>
Chương 7. Mô hình hóa cấu trúc
2006
20
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Composite attributes have multiple sections (subattributes).
They are treated as separate classes in conceptual data models.
Attribute Address shown as a type Address
Composite attribute Address shown as a Class
Composite attribute Address shown as a Class
Chương 7. Mô hình hóa cấu trúc
2006
21
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp

Tác vụ (operation) là một hành vi của một

đối tượng.
f
Tập trung vào các tác vụ cụ thể để giải quyết
vấn đề.

Tác vụ được thể hiện trong các lớp là các
phương thức (methods).

Phương thức được xác định và được yêu
cầu thông qua các dấu hiệu (signature)
của nó, bao gồm tên, các tham số và kiểu
trả về.
f
Tương tự với một hàm hoặc một thủ tục.
Chương 7. Mô hình hóa cấu trúc
2006
22
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp
WashingMachine
brandName
modelName
serialNumber
capacity
addClothes(C: String)
removeClothes(C: String)
addDetergent(D: Integer)
turnOn(): Boolean
The signature for an operation
Chương 7. Mô hình hóa cấu trúc

2006
23
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp

Thông điệp (message) được gửi đến các
phương thức của đối tượng.
f
Gọi thủ tục (procedure call) từ một đối tượng
này đến đối tượng khác.

Tính sử dụng lại (reusability) là một đặc
tính sử dụng một đối tượng bằng cách gọi
các phương thức.
Chương 7. Mô hình hóa cấu trúc
2006
24
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp
Signature identifies and
invokes the behavior
Method implements the behavior
An Operation with Signature and Method Written in PL/SQL
Chương 7. Mô hình hóa cấu trúc
2006
25
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp

×