51
Nguyn ThMinh Tuyn Mô hình hóa phn mm Ni dung ca slide này da vào các slides ca Ian Sommerville

Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

Page 2: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 3: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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ì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).

v 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.

3

Page 4: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

§  Được sử dụng trong suốt giai đoạn công nghệ yêu cầu. §  Giúp làm rõ việc hệ thống đó làm được gì. §  Có thể được sử dụng như là một cơ sở để thảo luận về độ mạnh

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

§  Được sử dụng trong suốt quá trình công nghệ yêu cầu. §  Hỗ trợ việc giải thích các yêu cầu cho các stakeholder của hệ

thống §  Kỹ sư sử dụng các mô hình này để 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. 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

Page 5: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

interaction perspective

structural perspective

behavioral perspective

System

Page 6: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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.

Page 7: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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 §  Các mô hình không đầy đủ và không chính xác vẫn có

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 §  Các mô hình nên được biểu diễn hệ thống một cách

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 §  Các mô hình phải vừa đúng và đầy đủ.

7

Page 8: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 9: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

Page 10: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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. §  Chỉ ra các hệ thống khác được sử dụng hay phụ thuộc vào hệ

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ị §  Có thể có các áp lực để phát triển đường ranh giới hệ thống sao

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

Page 11: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễn Thị Minh Tuyền Nhập môn CNPM

Ngữ cảnh của hệ thống MHC-PMS

11

MHC-PMS

Admissions System

Prescription System

Management Reporting System

HC Statistics System

Patient Record System

Appointments System

Page 12: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Ngữ cảnh của một hệ thống ATM

Nguyễn Thị Minh Tuyền 12

ATM System

Account DB

Usage DB

Branch Accounting system

Branch counter system

Security system

Mantainance system

Page 13: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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 §  chỉ ra các hệ thống khác trong môi trường, §  không chỉ ra việc nó được phát triển như thế nào trong

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

Page 14: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Mô hình quy trình của việc giam giữ bắt buộc đối với bệnh nhân

Confirmdetentiondecision Find secure

place

Admit tohospital

Transfer topolice station

Transfer tosecure hospital

Inform nextof kin

Informsocial care

Informpatient of

rights

Updateregister

«system»Admissions

system

«system»MHC-PMS

«system»MHC-PMS

Recorddetentiondecision

[dangerous]

[not available]

[notdangerous]

[available]

14

Page 15: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Mô 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.

Page 16: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 17: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

Page 18: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

Page 19: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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

Page 20: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Bảng mô tả

MHC-PMS: truyền dữ liệu

Actors Medical Receptionist (Lễ tân y tế), Patient Record System (hệ thống hồ sơ bệnh nhân PRS)

Mô tả Một lễ tân có thể truyền dữ liệu từ hệ thống MHC-PMS 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.

Dữ liệu Thông tin về cá nhân bệnh nhân, bản tóm tắt về việc điều trị.

Tác động Lệnh người dùng được đưa ra bởi lễ tân y tế.

Trả lời Xác nhận là PRS đã được cập nhật.

Chú thích Lễ tân phải có quyền hạn về bảo mật phù hợp để truy cập vào thông tin bệnh nhân và PRS.

20

Page 21: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Các use cases về tương tác của ‘Medical Receptionist’

Medicalreceptionist

Registerpatient

Transfer data

Contactpatient

View patientinfo.

Unregisterpatient

21

Page 22: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễn Thị Minh Tuyền Nhập môn CNPM

Biểu đồ tuần tự

v Là một phần của UML và đượ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.

v 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.

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

Page 23: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Biểu đồ tuần tự để xem thông tin bệnh nhân

P: PatientInfo

ViewInfo (PID)report (Info, PID,UID)

authorize (Info,UID)

Patient info

D: MHCPMS-DB AS: Authorization

authorization

Error (no access)

[authorization OK]

[authorization fail]

Medical Receptionist

alt

23

đối tượng và các actor

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

Page 24: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Biểu đồ tuần tự để truyền dữ liệu

P: PatientInfo

login ( )

D: MHCPMS-DB AS: Authorization

authorization

[sendInfo]

[sendSummary]

Medical Receptionist PRS

ok

updateInfo( ) updatePRS (UID )

update (PID)

update OKMessage (OK)

summarize (UID )

authorize (TF, UID)

authorization

authorize (TF, UID)

:summary

update (PID)

UpdateSummary( )

logout ( )

alt

update OKMessage (OK)

24

Page 25: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 26: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễ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à §  Các mô hình tĩnh (static model), chỉ ra cấu trúc của thiết

kế hệ thống, §  Hoặc các mô hình động (dynamic model), chỉ ra tổ chức

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

Page 27: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 28: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Các lớp và kết hợp UML

Patient Patientrecord

1 1

28

Lớp Patient Kết hợp

(association)

Page 29: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Các lớp và các kết hợp trong hệ thống MHC-PMS

Patient Generalpractitioner

Consultation

Consultant

Medication

Treatment

HospitalDoctor

Conditionreferred-by

referred-to

diagnosed-with

attends

prescribes

prescribesruns

1..*

1

1..* 11..*

1..*

1..*

1..*

1..4

1..*

1..*1..*

1..*

29

Page 30: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Lớp Consultation

Consultation

DoctorsDateTimeClinicReasonMedication prescribedTreatment prescribedVoice notesTranscript...

New ( )Prescribe ( )RecordNotes ( )Transcribe ( )...

30

Tên lớp

Thuộc tính

Thao tác

Page 31: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 32: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 33: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Một hệ thống phân cấp tổng quát hóa

Doctor

Generalpractitioner

Hospitaldoctor

Consultant Team doctor

Traineedoctor

Qualifieddoctor

33

Doctor là superclass của Hospital doctor và General practitioner

Lớp General practitioner là subclass của lớp Doctor

Page 34: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Một cây phân cấp chi tiết hơn

Doctor

General practitionerHospital doctor

NamePhone #Email

register ( )de-register ( )

Staff #Pager #

PracticeAddress

34

Page 35: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 36: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Một kết hợp cộng gộp

Patient record

Patient Consultation

11

1 1..*

36

Page 37: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 38: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 39: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 40: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Mô hình hoạt động của máy bơm insulin

Calculatepump

commands

Blood sugarsensor

Insulinpump

Blood sugarlevel

Pump controlcommands

Insulinrequirement

Get sensorvalue

Sensordata

Computesugar level

Calculateinsulindelivery

Controlpump

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)

Page 41: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Xử lý đơn đặt hàng

:Order

Fillin ( )

Purchase officer

Validate ( )

[validation ok]

«datastore»Orders

Budget

Update (amount)

Save ( )

Supplier

Send ( )

41

Page 42: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 43: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 44: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Biểu đồ trạng thái của một lò vi ba

Full power

Enabled

do: operateoven

Fullpower

Halfpower

Halfpower

Fullpower

Number

Dooropen

Doorclosed

Doorclosed

Dooropen

Start

do: set power= 600

Half powerdo: set power

= 300

Set time

do: get numberexit: set time

Disabled

Operation

Cancel

Waiting

do: displaytime

Waiting

do: displaytime

do: display 'Ready'

do: display'Waiting'

Timer

Timer

44

Trạng thái

Tác động (stimulus)

Page 45: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 46: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 47: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Hoạt động của lò vi ba

Cookdo: run

generator

Done

do: buzzer onfor 5 secs.

Waiting

Alarmdo: display

event

do: checkstatus

Checking

Turntablefault

Emitterfault

Disabled

OK

Timeout

Time

Door open Cancel

Operation

47

Page 48: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 49: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

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

Page 50: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu

Nguyễn Thị Minh Tuyền Nhập môn CNPM

Câu hỏi?

Page 51: Mô hình hóa phầ ềm - Tuyen Nguyen's personal pagetuyennguyen.info/TH2011_Intro2SE/slides/04-Modeling.pdf · Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại biểu