Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Mô hình hóa phần mềm

Mô hình hóa hệ thống (system

modeling)

! Là quy trình phát triển các mô hình trừu

tượng của một hệ thống, trong đó mỗi mô

hình biểu diễn một góc nhìn.

! Hiệnnay mô hình hóa hệ thống đã trở

thành một phương tiện để biểu diễn một hệ

thống sử dụng một số ký hiệu đồ họaUML

(Unified Modeling Language).

! Các mô hình

"  giúp cho người phân tích hiểu được chức năng của

một hệ thống

"  được sử dụng để giao tiếp với khách hàng.

pdf51 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2151 | Lượt tải: 4download
Tóm tắt nội dung Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Mô hình hóa phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
hi nó được thực thi. 
v Tạo ra các mô hình cấu trúc của một hệ thống 
khi thảo luận và thiết kế kiến trúc hệ thống. 
26 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Biểu đồ lớp (class diagram) 
v Được sử dụng khi phát triển một mô hình hệ 
thống hướng đối tượng để chỉ ra 
§  các lớp trong một hệ thống 
§  và mối liên hệ giữa các lớp đó. 
v  Một lớp đối tượng có thể được xem như một định 
nghĩa tổng quát về một loại đối tượng hệ thống. 
v  Một kết hợp (association) là một liên kết giữa 
các lớp mà nó chỉ ra rằng có một quan hệ giữa 
những lớp này. 
v  Khi đang phát triển các mô hình trong những giai 
đoạn đầu của quy trình công nghệ phần mềm 
§  các đối tượng biểu diễn một cái gì đó trong thế giới thật, ví 
dụ như bệnh nhân, đơn thuốc, bác sĩ, … 
27 
Các lớp và kết hợp UML 
Patient Patientrecord
1 1
28 
Lớp Patient 
Kết hợp 
(association) 
Các lớp và các kết hợp trong hệ 
thống MHC-PMS 
Patient Generalpractitioner
Consultation
Consultant
Medication
Treatment
Hospital
Doctor
Condition
referred-by
referred-to
diagnosed-
with
attends
prescribes
prescribesruns
1..*
1
1..* 11..*
1..*
1..*
1..*
1..4
1..*
1..*
1..*
1..*
29 
Lớp Consultation 
Consultation
Doctors
Date
Time
Clinic
Reason
Medication prescribed
Treatment prescribed
Voice notes
Transcript
...
New ( )
Prescribe ( )
RecordNotes ( )
Transcribe ( )
...
30 
Tên lớp 
Thuộc tính 
Thao tác 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Tổng quát hóa (Generalization) 
v Tổng quát hóa là một kỹ thuật mà ta thường 
hay sử dụng để quản lý độ phức tạp. 
v Thay vì nghiên cứu các đặc điểm chi tiết của 
mọi thực thể, ta có thể 
§  đặt những thực thể nào vào trong các lớp tổng quát hơn 
(ví dụ như động vật, xe hơi, nhà, …) và 
§  tìm hiểu về các đặc điểm của những lớp này. 
v Cho phép suy luận ra rằng các thành phần 
khác nhau của những lớp này có một số điểm 
chung 
§  ví dụ như sóc và chuột đều là những loài gặm nhấm. 
31 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Tổng quát hóa 
v  Trong các hệ thống mô hình hóa, việc kiểm tra các lớp 
trong một hệ thống để xem có thể tổng quát hóa 
những lớp này được hay không. 
§  Điều này có nghĩa là những thông tin chung sẽ được duy trì ở 
cùng một chỗ. 
v  Trong ngôn ngữ hướng đối tượng như Java chẳng hạn, 
tổng quát hóa được cài đặt sử dụng cơ chế kế thừa 
được tích hợp trong ngôn ngữ. 
v  Trong một tổng quát hóa, các thuộc tính và thao tác 
liên quan với các lớp ở mức cao hơn cũng liên quan đến 
các lớp ở mức thấp hơn. 
v  Các lớp ở mức thấp hơn là các lớp con (subclass) kế 
thừa các thuộc tính và thao tác từ lớp cha 
(superclass). Những lớp ở mức thấp hơn sau đó có thể 
thêm vào các thuộc tính và thao tác cụ thể hơn. 
32 
Một hệ thống phân cấp tổng quát hóa 
Doctor
General
practitioner
Hospital
doctor
Consultant Team doctor
Trainee
doctor
Qualified
doctor
33 
Doctor là superclass của Hospital 
doctor và General practitioner 
Lớp General practitioner là 
subclass của lớp Doctor 
Một cây phân cấp chi tiết hơn 
Doctor
General practitionerHospital doctor
Name
Phone #
Email
register ( )
de-register ( )
Staff #
Pager #
Practice
Address
34 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Mô hình cộng gộp lớp đối tượng 
v Một mô hình cộng gộp (aggregation 
model) chỉ ra cách mà các lớp được tập 
hợp lại thành các lớp khác. 
v Các mô hình cộng gộp tương tự như 
quan hệ part-of trong các mô hình dữ 
liệu ngữ nghĩa. 
35 
Một kết hợp cộng gộp 
Patient record
Patient Consultation
11
1 1..*
36 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Nội dung 
Mô hình ngữ cảnh 
Mô hình tương tác 
Mô hình cấu trúc 
Mô hình hành vi 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Mô hình hành vi (behavioral model) 
v Là các mô hình hành vi động (dynamic 
behavior) của một hệ thống khi nó đang 
thực thi. 
v Các mô hình này chỉ ra cái gì xảy ra 
hoặc cái gì được giả định là xảy ra khi 
một hệ thống trả lời một tác động 
(stimuli) từ môi trường. 
v Có hai loại tác động mà ta đề cập đến: 
§  Dữ liệu Một số dữ liệu đến mà hệ thống phải xử lý. 
§  Events Một số sự kiện xảy ra làm kích hoạt việc xử lý 
của hệ thống. 
38 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Mô hình hướng dữ liệu 
v Nhiều hệ thống doanh nghiệp là hệ thống xử lý 
dữ liệu. Những hệ thống này được điều khiển 
bởi dữ liệu đầu vào của hệ thống, với việc xử lý 
khá ít các sự kiện bên ngoài. 
v Mô hình hướng dữ liệu chỉ ra một chuỗi tuần tự 
các hành động gồm việc xử lý dữ liệu đầu vào 
và phát sinh đầu ra tương ứng. 
v Những mô hình này đặc biệt hữu ích trong suốt 
quá trình phân tích yêu cầu vì chúng có thể chỉ 
ra được việc xử lý end-to-end trong một hệ 
thống. 
39 
Mô hình hoạt động của máy bơm 
insulin 
Calculate
pump
commands
Blood sugar
sensor
Insulin
pump
Blood sugar
level
Pump control
commands
Insulin
requirement
Get sensor
value
Sensor
data
Compute
sugar level
Calculate
insulin
delivery
Control
pump
40 
Dữ liệu (được biểu diễn 
như các đối tượng) 
Xử lý (được biểu diễn 
như các hoạt động) 
Xử lý đơn đặt hàng 
:Order
Fillin ( )
Purchase officer
Validate ( )
[validation ok]
«datastore»
Orders
Budget
Update (amount)
Save ( )
Supplier
Send ( )
41 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Mô hình hướng sự kiện 
v Các hệ thống thời gian thực thường là những 
hệ thống hướng sự kiện, với việc xử lý dữ liệu 
cực tiểu. 
§  Ví dụ, hệ thống chuyển đổi đường điện thoại trả lời các 
sự kiện như ‘receiver off hook’ bằng việc phát sinh 
chuông. 
v Mô hình hướng sự kiện chỉ ra cách một hệ 
thống trả lời các sự kiện bên trong và bên 
ngoài. 
v Dựa vào giả thuyết rằng một hệ thống có một 
tập hữu hạn các trạng thái và các sự kiện đó 
có thể gây nên một chuyển đổi từ trạng thái 
này đến trạng thái khác. 
42 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Mô hình máy trạng thái 
v Mô hình hóa hành vi của hệ thống để trả lời 
các sự kiện bên trong và bên ngoài. 
v Chỉ ra các trả lời của hệ thống đối với sự kiện 
vì vậy thường được sử dụng để mô hình hóa 
các hệ thống thời gian thực. 
v Các mô hình máy trạng thái (state machine 
model) chỉ ra các trạng thái của hệ thống như 
là các nút và sự kiện như là một cung giữa các 
nút đó. Khi một sự kiện xảy ra, hệ thống 
chuyển từ trạng thái này sang trạng thái khác. 
v Biểu đồ trạng thái là một phần của UML và 
được dùng để biểu diễn các mô hình máy trạng 
thái. 
43 
Biểu đồ trạng thái của một lò vi ba 
Full power
Enabled
do: operate
oven
Full
power
Half
power
Half
power
Full
power
Number
Door
open
Door
closed
Door
closed
Door
open
Start
do: set power
= 600
Half power
do: set power
= 300
Set time
do: get number
exit: set time
Disabled
Operation
Cancel
Waiting
do: display
time
Waiting
do: display
time
do: display
 'Ready'
do: display
'Waiting'
Timer
Timer
44 
Trạng thái 
Tác động 
(stimulus) 
Trạng thái của lò vi ba (a) 
Trạng thái Mô tả 
Waiting Lò vi ba đang đợi đầu vào. Màn hình hiển thị thời gian hiện tại. 
Half power Nguồn được thiết lập ở mức 300 watts. Màn hình hiển thị ‘Half 
power’. 
Full power Nguồn được thiết lập ở mức 600 watts. Màn hình hiển thị ‘Full 
power’. 
Set time Thời gian nấu được thiết lập bởi giá trị đầu vào của người dùng. 
Màn hình hiển thị thời gian nấu đã được chọn và cập nhật lại thời 
gian người dùng đã thiết lập. 
Disabled Hoạt động của lò vi ba bị dừng vì lý do an toàn. Đèn bên trong lò bật 
sáng. Màn hình hiển thị ‘Not ready’. 
Enabled Hoạt động của của lò vi ba ở trang thái sẵn sàng để nấu. Đèn trong 
lò tắt. Màn hình hiển thị ‘Ready to cook’. 
Operation Lò đang ở trạng thái hoạt động. Đèn trong lò bật sáng. Màn hình 
hiển thị bộ đếm lùi. Khi nấu xong, có một tiếng buzz trong 5s. Đèn 
trong lò bật sáng. Màn hình hiển thị ‘Cooking complete’ khi đang có 
tiếng buzz. 
45 
Các tác động vào lò vi ba (b) 
Tác động Mô tả 
Half power Người sử dụng ấn nút half-power. 
Full power Người sử dụng ấn nút full-power. 
Timer Người sử dụng ấn một trong các nút định thời 
gian. 
Number Người sử dụng ấn nút số. 
Door open Cửa lò không được đóng. 
Door closed Cửa lò được đóng. 
Start Người sử dụng ấn nút Start. 
Cancel Người sử dụng ấn nút Cancel. 
46 
Hoạt động của lò vi ba 
Cook
do: run
generator
Done
do: buzzer on
for 5 secs.
Waiting
Alarm
do: display
event
do: check
status
Checking
Turntable
fault
Emitter
fault
Disabled
OK
Timeout
Time
Door open Cancel
Operation
47 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Tổng kết 
v  Mô hình là góc nhìn trừu tượng của một hệ thống 
mà nó bỏ qua các chi tiết của hệ thống. Các mô 
hình hệ thống được sử dụng để chỉ ra ngữ cảnh, 
tương tác, cấu trúc và hành vi của hệ thống. 
v  Mô hình ngữ cảnh hỗ trợ việc định nghĩa ranh giới 
của hệ thống được phát triển và môi trường mà nó 
thực thi trong đó. 
v  Biểu đồ use case và biểu đồ tuần tự được dùng để 
mô tả tương tác giữa người dùng và hệ thống đang 
được thiết kế. 
§  Các use case mô tả tương tác giữa một hệ thống và các actor 
bên ngoài; 
§  Biểu đồ tuần tự thêm thông tin vào những use case này bằng 
cách chỉ ra tương tác giữa các đối tượng hệ thống. 
48 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Tổng kết 
v  Mô hình cấu trúc chỉ ra tổ chức và thiết kế của một 
hệ thống. Biểu đồ lớp được dùng để định nghĩa cấu 
trúc tĩnh của các lớp trong hệ thống và mối quan 
hệ của chúng. 
v  Mô hình hành vi được dùng để mô tả hành vi động 
của hệ thống đang thực thi. Hành vi này có thể 
được mô hình hóa từ góc nhìn của dữ liệu được xử 
lý bởi hệ thống, hoặc bằng sự kiện mà nó kích thích 
việc trả lời từ một hệ thống. 
v  Biểu đồ hoạt động có thể được dùng để mô hình 
hóa quy trình xử lý dữ liệu, trong đó mỗi hoạt động 
biểu diễn một bước của quy trình. 
v  Biểu đồ trạng thái được dùng để mô hình hoá hành 
vi của hệ thống để trả lời các sự kiện bên trong và 
bên ngoài. 
49 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Câu hỏi? 

File đính kèm:

  • pdfNhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Mô hình hóa phần mềm.pdf