Nguyễn Thị Minh Tuyền Nhập môn CNPM Mô hình hóa hệ thống system modeling v 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
Trang 1Nguyễn Thị Minh Tuyền
Mô hình hóa phần mềm
Nội dung của slide này dựa vào các slides của Ian Sommerville
Trang 2Nguyễn Thị Minh Tuyền Nhập môn CNPM
Trang 3Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình hóa hệ thống (system
modeling)
v 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
v Hiện nay 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ọa UML
(Unified Modeling Language)
Trang 4Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình cho hệ thống đã tồn tại và
cho hệ thống mới
v Các mô hình của những hệ thống đã có sẵn
yếu của nó Từ đó sẽ tìm ra những yêu cầu cho hệ thống mới
v Các mô hình cho hệ thống mới
thống
viết tài liệu hệ thống cho phần cài đặt
v Quy trình công nghệ hướng mô hình (model-driven
engineering process) có thể phát sinh một phần hay
toàn bộ cài đặt hệ thống từ mô hình hệ thống
4
Trang 5Nguyễn Thị Minh Tuyền Nhập môn CNPM
Các góc nhìn hệ thống
5
• Mô hình hóa tổ chức
của một hệ thống hay cấu trúc của dữ liệu được xử lý bởi
hệ thống
• Mô hình hóa hành vi
động của hệ thống
và cách nó trả lời sự
kiện như thế nào
• Mô hình hóa tương
tác giữa một hệ thống và môi trường của nó, hoặc giữa các component của một hệ thống
• Mô hình hóa ngữ
cảnh hay môi trường
của hệ thống
external perspective perspective interaction
structural perspective
behavioral perspective
System
Trang 6Nguyễn Thị Minh Tuyền Nhập môn CNPM
Các loại biểu đồ UML
6
Biểu đồ hoạt động (activity diagram)
• Chỉ ra các hoạt động trong một quy trình hay trong việc xử lý dữ liệu
Biểu đồ use case (use case diagram)
• Chỉ ra các tương tác giữa một hệ thống và môi trường của nó
Biểu đồ tuần tự (sequence diagram)
• Chỉ ra các tương tác giữa các actor và hệ thống, và giữa các component của
hệ thống với nhau
Biểu đồ lớp (class diagram)
• Chỉ ra các lớp đối tượng trong hệ thống và các quan hệ giữa các lớp này
Biểu đồ trạng thái (state diagram)
• Chỉ ra hệ thống tương tác với các sự kiện bên trong và bên ngoài như thế
nào
UML có nhiều loại biểu đồ hỗ trợ cho việc tạo ra nhiều loại mô hình hệ thống khác nhau
Có 5 loại sau đây có thể biểu diễn được các yếu tố cần thiết của một hệ thống
Trang 7Nguyễn Thị Minh Tuyền Nhập môn CNPM
Cách sử dụng các mô hình đồ họa
v Là phương tiện để thảo luận về hệ thống có
sẵn hoặc hệ thống đề ra
thể chấp nhận vì vai trò của chúng là để hỗ trợ việc thảo luận
v Là một cách để viết tài liệu về hệ thống có sẵn
chính xác nhưng không cần đầy đủ
v Là một mô tả chi tiết về hệ thống, có thể được
sử dụng để phát sinh việc cài đặt hệ thống
7
Trang 8Nguyễn Thị Minh Tuyền Nhập môn CNPM
Trang 9Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình ngữ cảnh (context model)
v Được dùng để minh họa cho ngữ cảnh
vận hành của một hệ thống
§ Chỉ ra cái nào nằm bên trong hệ thống, cái nào nằm bên ngoài hệ thống
v Các vấn đề về xã hội và tổ chức có thể ảnh hưởng đến quyết định đưa ra vị trí đường ranh giới hệ thống
v Các mô hình kiến trúc chỉ ra kiến trúc
của hệ thống và mối quan hệ của nó với các hệ thống khác
9
Trang 10Nguyễn Thị Minh Tuyền Nhập môn CNPM
Ranh giới hệ thống
v Các ranh giới hệ thống được thiết lập để định nghĩa cái gì ở bên trong và cái gì ở bên ngoài
hệ thống
thống đang xây dựng như thế nào
v Vị trí của đường ranh giới hệ thống có ảnh
hưởng sâu sắc đến yêu cầu hệ thống
v Định nghĩa một đường ranh giới hệ thống là
một quyết định liên quan đến chính trị
cho có thể làm tăng/giảm ảnh hưởng hoặc tăng giảm dòng công
việc của các bộ phận khác nhau trong một tổ chức
10
Trang 11Nguyễn Thị Minh Tuyền Nhập môn CNPM
Appointments System
Trang 12Ngữ cảnh của một hệ thống ATM
Nguyễn Thị Minh Tuyền 12
ATM System
Trang 13Nguyễn Thị Minh Tuyền Nhập môn CNPM
Góc nhìn về mặt quy trình
v Các mô hình ngữ cảnh
môi trường đó
v Các mô hình quy trình làm nổi rõ việc hệ thống đang phát triển được sử dụng trong các quy
trình thương mại như thế nào
v Các biểu đồ hoạt động UML có thể được dùng
để định nghĩa các mô hình quy trình thương
mại (business process model)
13
Trang 14Mô hình quy trình của việc giam giữ bắt buộc đối với bệnh nhân
Transfer to police station
Transfer to secure hospital
Inform next
of kin
Inform social care Inform
patient of rights
Update register
«system»
Admissions system
[dangerous]
[not available]
[not dangerous]
[available]
14
Trang 15Mô hình quy trình mua thiết bị
Nguyễn Thị Minh Tuyền 15
Get cost estimates
Accept delivery of equipment
Check delivered items
Validate specification
Specify
equipment
r equired
Choose supplier
Place equipment
or der
Install equipment
Find suppliers
Supplier
database
Accept delivered equipment
Equipment database
Equipment spec
Check ed spec
Deli v ery note
Delivery note
Order notification
Installation instructions
Installation acceptance
Equipment details
Check ed and signed or der f or m
Order details plus blank order
f orm
Spec + supplier + estimate Supplier list
Equipment
spec
Trang 16Nguyễn Thị Minh Tuyền Nhập môn CNPM
Trang 17Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình tương tác
v Mô hình tương tác người dùng là quan trọng vì
nó hỗ trợ việc nhận diện các yêu cầu người
dùng
v Mô hình hóa tương tác của một hệ thống với hệ thống khác làm nổi rõ các vấn đề về mặt giao tiếp có thể phát sinh
v Mô hình hóa tương tác component giúp ta hiểu liệu một cấu trúc hệ thống được đưa ra có đáp ứng được hiệu năng và độ tin cậy của hệ thống hay không
v Có thể sử dụng biểu đồ use case và biểu đồ
tuần tự để mô hình hóa tương tác
17
Trang 18Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình hóa use case
v Về nguồn gốc, các use case được phát
triển để hỗ trợ cho việc thu thập yêu
cầu và hiện nay nó được tích hợp vào
trong UML
v Mỗi use case biểu diễn một tác vụ rời
rạc và chứa tương tác bên ngoài với một
hệ thống
v Các actor trong một use case có thể là người hoặc các hệ thống khác
18
Trang 19Nguyễn Thị Minh Tuyền Nhập môn CNPM
MHC-PMS: Truyền dữ liệu
v Một use case trong hệ thống MHC-PMS
Medical receptionist Patient record system
Transfer data
19
Trang 20Bảng mô tả
MHC-PMS: truyền dữ liệu
System (hệ thống hồ sơ bệnh nhân PRS)
tới CSDL hồ sơ bệnh nhân Thông tin được truyền có thể là thông tin bổ sung về bệnh nhân (địa chỉ, số điện thoại, .) hoặc một bản tóm tắt về các triệu chứng và việc điều trị của bệnh nhân
điều trị
cập vào thông tin bệnh nhân và PRS
20
Trang 21Các use cases về tương tác của
‘Medical Receptionist’
Medical receptionist
Register patient
Transfer data
Contact patient
View patient info.
Unregister patient
21
Trang 22Nguyễn Thị Minh Tuyền Nhập môn CNPM
trường hợp của use case
v Các đối tượng và các actor liên quan được liệt
kê ở phía trên biểu đồ, với một đường nét đứt
vẽ theo chiều đứng từ các đối tượng này
v Các tương tác giữa các đối tượng này được
bằng những đường mũi tên có chú thích
22
Trang 23Biểu đồ tuần tự để xem thông tin
chu kỳ sống (lifeline) của đối tượng
thông điệp
(message)
thông điệp trả
về (return message) điều kiện
Trang 24Biểu đồ tuần tự để truyền dữ liệu
P: PatientInfo
login ( ) D: MHCPMS-DB AS: Authorization
authorization [sendInfo]
summarize (UID )
authorize (TF, UID)
authorization authorize (TF, UID)
:summary update (PID) UpdateSummary( )
logout ( )
alt
update OK Message (OK)
24
Trang 25Nguyễn Thị Minh Tuyền Nhập môn CNPM
Trang 26Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình cấu trúc
v Các mô hình cấu trúc của phần mềm hiển thị cấu trúc của một hệ thống về các component tạo nên hệ thống đó và mối quan hệ của
chúng
v Các mô hình cấu trúc có thể là
kế hệ thống,
của hệ thống khi 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
Trang 27Nguyễ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
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
dụ như bệnh nhân, đơn thuốc, bác sĩ, …
27
Trang 29Các lớp và các kết hợp trong hệ thống MHC-PMS
Patient practitionerGeneral
Consultation
Consultant
Medication
Treatment Hospital
diagnosed-attends
prescribes
prescribes runs
Trang 30Lớ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
Trang 31Nguyễ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
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
31
Trang 32Nguyễ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
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
Trang 33Một hệ thống phân cấp tổng quát hóa
Doctor
General practitioner
Hospital doctor
Consultant Team doctor
Trainee doctor Qualifieddoctor
33
Doctor là superclass của Hospital
doctor và General practitioner
Lớp General practitioner là subclass của lớp Doctor
Trang 34Một cây phân cấp chi tiết hơn
Doctor
General practitioner Hospital doctor
Name Phone # Email
register ( ) de-register ( )
Staff # Pager #
Practice Address
34
Trang 35Nguyễ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
Trang 37Nguyễn Thị Minh Tuyền Nhập môn CNPM
Trang 38Nguyễn Thị Minh Tuyền Nhập môn CNPM
Mô hình hành vi ( b ehavioral 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
Trang 39Nguyễ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
Trang 40Mô hình hoạt động của máy bơm
insulin
Calculate pump commands
Pump control commands
Insulin requirement
Get sensor value
Sensor data
Compute sugar level
Calculate insulin delivery
Control pump
Trang 41Xử lý đơn đặt hàng
:Order Fillin ( )
Trang 42Nguyễ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
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
Trang 43Nguyễ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
Trang 44Biể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'
Trang 45Trạng thái của lò vi ba (a)
Trạng thái Mô tả
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
sáng Màn hình hiển thị ‘Not ready’
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
Trang 46Các tác động vào lò vi ba (b)
Tác động Mô tả
gian
46
Trang 47Hoạ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 CancelOperation
47
Trang 48Nguyễ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ế
bên ngoài;
cách chỉ ra tương tác giữa các đối tượng hệ thống
48
Trang 49Nguyễ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