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.
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:
- 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.pdf