Nhập môn Công nghệ phần mềm Tuần 7 – 8: Mô hình hóa phần mềm Nội dung của slide này được dịch và hiệu chỉnh dựa vào các slides của Ian Sommerville 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 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. £ Các mô hình p giúp cho người phân tích hiểu được chức năng của một hệ thống p được sử dụng để giao tiếp với khách hàng 3 NGUYỄN Thị Minh Tuyền Sử dụng mô hình cho hệ thống đã tồn tại và hệ thống mới £ Các mô hình của những hệ thống đã có sẵn p Được sử dụng trong suốt giai đoạn công nghệ yêu cầu. p Giúp làm rõ việc hệ thống đó làm được gì. p Là một cơ sở để thảo luận về độ mạnh yếu của hệ thống cũ è tìm ra những yêu cầu cho hệ thống mới.
£ Các mô hình cho hệ thống mới p Được sử dụng trong suốt quá trình công nghệ yêu cầu. p Hỗ trợ việc giải thích các yêu cầu cho các stakeholder của hệ thống p Sử dụng để thảo luận về các thiết kế và viết tài liệu hệ thống cho phần cài đặt. £ 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 NGUYỄN Thị Minh Tuyền Các góc nhìn hệ thống Mô hình hóa tương tác Mô hình hóa ngữ cảnh giữa một hệ thống và hay môi trường của hệ môi trường của nó, thống.
hoặc giữa các component của một hệ external interaction thống. perspective perspective System behavioral structural perspective perspective Mô hình hóa hành vi Mô hình hóa tổ chức động của hệ thống và của một hệ thống hay cách nó trả lời sự kiện cấu trúc của dữ liệu như thế nào. được xử lý bởi hệ thống. 5 NGUYỄN Thị Minh Tuyền UML £ Unified Modeling Language £ Là một ngôn ngữ mô hình hoá £ Mục tiêu: cung cấp cho người thiết kế, kỹ sư phần mềm, người phát triển hệ thống một công cụ để phân tích, thiết kế và cài đặt các hệ thống phần mềm cũng như để mô hình hoá quy trình nghiệp vụ.
£ Được cập nhật và quản lý bởi OMG (Object Management Group). £ Phiên bản hiện tại: 2.5 NGUYỄN Thị Minh Tuyền Các loại biểu đồ UML £ 13 loại biểu đồ khác nhau NGUYỄN Thị Minh Tuyền Các loại biểu đồ UML 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. 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. 8 NGUYỄN Thị Minh Tuyền Cách sử dụng các mô hình đồ họa £ Là phương tiện để thảo luận về hệ thống có sẵn hoặc hệ thống mới p Các mô hình không cần đầy đủ và không chính xác.
£ Là một cách để viết tài liệu về hệ thống có sẵn p Cần chính xác nhưng không cần đầy đủ. £ 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 p Các mô hình phải vừa đầy đủ và chính xác. 9 NGUYỄN Thị Minh Tuyền 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 Mô hình ngữ cảnh (context model) £ Được dùng để minh họa cho ngữ cảnh vận hành của một hệ thống p Chỉ ra cái nào nằm bên trong hệ thống, bên ngoài hệ thống. £ Các yếu tố 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.
£ Các mô hình kiến trúc chỉ ra kiến trúc của một hệ thống và mối quan hệ với các hệ thống khác. 11 NGUYỄN Thị Minh Tuyền Ranh giới hệ thống £ 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. £ 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. 12 NGUYỄN Thị Minh Tuyền Ngữ cảnh của hệ thống MHC-PMS Patient Record System Management Admissions System Reporting System MHC-PMS HC Statistics Prescription System System Appointments System 13 NGUYỄN Thị Minh Tuyền Ngữ cảnh của một hệ thống ATM Security system Branch Accounting Account DB system ATM System Branch counter Usage DB system Mantainance system 14 NGUYỄN Thị Minh Tuyền Góc nhìn về mặt quy trình £ Các mô hình ngữ cảnh p chỉ ra các hệ thống khác trong môi trường, p không chỉ ra việc hệ thống được phát triển như thế nào trong môi trường đó.
£ Mô hình ngữ cảnh thường được sử dụng cùng với các mô hình khác như mô hình quy trình nghiệp vụ (business process model) p Sử dụng biểu đồ hoạt động (activity diagram). 15 NGUYỄN Thị Minh Tuyền Mô hình quy trình của việc giam giữ bắt buộc đối với bệnh nhân Transfer to [not available] police station Confirm detention decision Find secure place Transfer to Inform [available] secure hospital [dangerous] social care Inform patient of Inform next rights of kin Record Update Admit to detention register hospital decision [not dangerous] «system» «system» MHC-PMS «system» Admissions MHC-PMS system 16 NGUYỄN Thị Minh Tuyền 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 Mô hình tương tác £ Mô hình tương tác người dùng hỗ trợ việc nhận diện các yêu cầu người dùng. £ 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 giữa hai hệ thống. £ Mô hình hóa tương tác component giúp ta hiểu rõ liệu một cấu trúc hệ thống đưa ra có đáp ứng được các yêu cầu về hiệu năng và độ tin cậy hay không.
£ Có thể sử dụng biểu đồ use case và biểu đồ tuần tự. 18 NGUYỄN Thị Minh Tuyền Biểu đồ use case £ 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. £ 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. £ Các actor trong một use case có thể là người hoặc các hệ thống khác.
£ Là phương tiện để lấy yêu cầu cho hệ thống. 19 NGUYỄN Thị Minh Tuyền Quy trình mô hình hoá use case £ Quy trình p Tìm ranh giới của hệ thống p Tìm các actor p Tìm các use case: Đặc tả use case; Tạo kịch bản. £ Đầu ra: p actor: người hoặc các đối tượng sử dụng hệ thống. p use case: đối tượng mà actor có thể tương tác với hệ thống.
p quan hệ: quan hệ giữa actor và use case. p ranh giới hệ thống: là hình hộp quanh các use case để đánh dấu ranh giới hệ thống NGUYỄN Thị Minh Tuyền MHC-PMS: Truyền dữ liệu £ Một use case trong hệ thống MHC-PMS Transfer data Medical receptionist Patient record system 21 NGUYỄN Thị Minh Tuyền Các use case liên quan đến ‘Medical Receptionist’ Register patient Unregister patient View patient info. Medical receptionist Transfer data Contact patient 22 NGUYỄN Thị Minh Tuyền Ví dụ NGUYỄN Thị Minh Tuyền NGUYỄN Thị Minh Tuyền NGUYỄN Thị Minh Tuyền Đặc tả use case £ Mỗi use case gồm có tên và đặc tả. £ Đặc tả gồm: p Điều kiện trước: điều kiện phải đúng trước khi một use case được thực hiện.
p Dòng sự kiện (Luồng chính): các bước trong use case p Điều kiện sau: điều kiện phải đúng tại thời điểm kết thúc use case. p Luồng thay thế (Luồng phụ) NGUYỄN Thị Minh Tuyền Biểu đồ tuần tự £ Được sử dụng để mô hình hóa tương tác giữa các actor và các đối tượng trong một hệ thống. £ Chỉ ra một chuỗi tuần tự các tương tác xảy ra trong một use case cụ thể nào đó hoặc một trường hợp của use case. 27 NGUYỄN Thị Minh Tuyền Biểu đồ tuần tự xem thông tin bệnh nhân Medical Receptionist P: PatientInfo D: MHCPMS-DB AS: Authorization ViewInfo (PID) đối tượng và các report (Info, PID, UID) actor authorize (Info, thông UID) điệp(message) chu kỳ sống (lifeline) của đối authorization tượng alt [authorization OK] Patient info thông điệp trả về (return message) điều kiện [authorization fail] Error (no access) 28 NGUYỄN Thị Minh Tuyền Biểu đồ tuần tự để truyền dữ liệu Medical Receptionist PRS P: PatientInfo D: MHCPMS-DB AS: Authorization login ( ) ok alt [sendInfo] updateInfo( ) updatePRS (UID ) authorize (TF, UID) authorization update (PID) update OK Message (OK) [sendSummary] UpdateSummary( ) summarize (UID ) authorize (TF, UID) authorization :summary update (PID) update OK Message (OK) 29 logout ( ) NGUYỄN Thị Minh Tuyền 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 Mô hình cấu trúc £ 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.
£ Các mô hình cấu trúc có thể là p Mô hình tĩnh (static model): chỉ ra cấu trúc của thiết kế hệ thống, p Mô hình động (dynamic model): chỉ ra tổ chức của hệ thống khi nó được thực thi. £ 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. 31 NGUYỄN Thị Minh Tuyền Biểu đồ lớp (class diagram) £ Được sử dụng khi phát triển một mô hình hệ thống hướng đối tượng, để chỉ ra p các lớp trong một hệ thống p và mối liên hệ giữa các lớp đó. £ 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.
£ 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. £ 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 p các đối tượng biểu diễn một cái gì đó trong thế giới thật (bệnh nhân, đơn thuốc, bác sĩ, …) 32 NGUYỄN Thị Minh Tuyền Các lớp và kết hợp 1 1 Patient Patient record Kết hợp Lớp Patient (association) 33 NGUYỄN Thị Minh Tuyền Các lớp và các kết hợp trong hệ thống MHC-PMS Consultant 1 referred-to 1.* 1 Condition Patient General referred-by practitioner diagnosed- with 1.* prescribes Consultation Medication 1.