Tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 4: Phân tích hệ thống hướng đối tượng: Phân Tích Thiết Kế
Hệ Thống Thông
Tin
Phân tích hệ thống hướng
đối tượng
(Object-Oriented Analysis)
Nguyễn Hoàng Ân - Khoa HTTTQL
Nội dung chính
Tổng quan về Phân tích hướng đối tượng.
Phân tích hướng đối tượng với UML
Sơ đồ use case (Use case diagrams)
Sơ đồ hoạt động (Activity Diagrams)
Sơ đồ tuần tự (Sequence diagrams)
Nguyễn Hoàng Ân - Khoa HTTTQL 3
Tài liệu tham khảo
[01] Kendall and Kendall, “System Analysis
and Design”, 8th Edition, Prentice Hall, 2011.
Chapter 10
Nguyễn Hoàng Ân - Khoa HTTTQL 4
Tổng quan về Phân tích
hướng đối tượng
Nguyễn Hoàng Ân - Khoa HTTTQL 5
Các khái niệm hướng đối tượng
Đối tượng (Objects)
Lớp (Classes)
Sự thừa kế (Inheritance)
Nguyễn Hoàng Ân - Khoa HTTTQL 6
Đối tượng (Objects)
Người, nơi chốn, hoặc những thứ có liên
quan đến hệ thống đang được phân tích
Có thể là khách hàng, mặt hàng,
đơn đặt hàng...
Có thể là màn hình giao diện đồ họa người
dùng (GUI) hoặc các ...
48 trang |
Chia sẻ: honghanh66 | Lượt xem: 1281 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 4: Phân tích hệ thống hướng đối tượng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Phân Tích Thiết Kế
Hệ Thống Thông
Tin
Phân tích hệ thống hướng
đối tượng
(Object-Oriented Analysis)
Nguyễn Hoàng Ân - Khoa HTTTQL
Nội dung chính
Tổng quan về Phân tích hướng đối tượng.
Phân tích hướng đối tượng với UML
Sơ đồ use case (Use case diagrams)
Sơ đồ hoạt động (Activity Diagrams)
Sơ đồ tuần tự (Sequence diagrams)
Nguyễn Hoàng Ân - Khoa HTTTQL 3
Tài liệu tham khảo
[01] Kendall and Kendall, “System Analysis
and Design”, 8th Edition, Prentice Hall, 2011.
Chapter 10
Nguyễn Hoàng Ân - Khoa HTTTQL 4
Tổng quan về Phân tích
hướng đối tượng
Nguyễn Hoàng Ân - Khoa HTTTQL 5
Các khái niệm hướng đối tượng
Đối tượng (Objects)
Lớp (Classes)
Sự thừa kế (Inheritance)
Nguyễn Hoàng Ân - Khoa HTTTQL 6
Đối tượng (Objects)
Người, nơi chốn, hoặc những thứ có liên
quan đến hệ thống đang được phân tích
Có thể là khách hàng, mặt hàng,
đơn đặt hàng...
Có thể là màn hình giao diện đồ họa người
dùng (GUI) hoặc các vùng văn bản trên màn
hình
Nguyễn Hoàng Ân - Khoa HTTTQL 7
Lớp (Classes)
Xác định tập hợp các thuộc tính và hành vi có
trong mỗi đối tượng thuộc lớp
Có một tên để phân biệt một lớp với các lớp
khác
Khởi tạo (Instantiate) là khi một đối tượng được
tạo ra từ một lớp
Mỗi thuộc tính mô tả một số đặc tính (property)
có trong tất cả các đối tượng của lớp
Phương thức (method) là một hành động mà có
thể được yêu cầu từ bất kỳ đối tượng nào của
lớp
Nguyễn Hoàng Ân - Khoa HTTTQL 8
Một ví dụ của một lớp UML. Một lớp được mô tả như là
một hình chữ nhật bao gồm tên lớp (class name), các
thuộc tính (attributes), và các phương thức (methods)
Nguyễn Hoàng Ân - Khoa HTTTQL 9
Sự thừa kế (Inheritance)
Khi một lớp được dẫn xuất (derived class)
thừa hưởng tất cả các thuộc tính và hành vi
của lớp cơ sở (base class)
Giảm công việc lập trình bằng cách sử dụng
các đối tượng phổ biến một cách
dễ dàng
Đây là tính năng chỉ có trong các hệ thống
hướng đối tượng
Nguyễn Hoàng Ân - Khoa HTTTQL 10
Một sơ đồ lớp hiển
thị thừa kế
Xe hơi và xe tải là
những ví dụ cụ thể
của xe và kế thừa
các đặc tính lớp xe
Nguyễn Hoàng Ân - Khoa HTTTQL 11
Các thẻ CRC (CRC Cards) và
tư duy theo đối tượng (Object
Think)
CRC
Class: Lớp
Responsibilities: các trách nhiệm
Collaborators: các lớp cộng tác
Các thẻ CRC được dùng để mô tả các trách
nhiệm của các lớp và sự tương tác giữa các
lớp
Nguyễn Hoàng Ân - Khoa HTTTQL 12
Bốn thẻ CRC cho các đề xuất khóa học cho thấy cách các
nhà phân tích điền vào các chi tiết cho các lớp, các trách
nhiệm, và các lớp cộng tác, cũng như cho các phát biểu tư
duy đối tượng và các tên thuộc tính
Nguyễn Hoàng Ân - Khoa HTTTQL 13
Nguyễn Hoàng Ân - Khoa HTTTQL 14
Class Name: Item
Superclasses:
Subclasses:
Responsibilities Collaborators Object Think Property
Add Item I know my item information. Item Number
Description
Cost
Price
YTD Sold
Quantity On Hand
Quantity On Order
Change Item I know my changes. Item Number
Description
Cost
Price
YTD Sold
Quantity On Hand
Quantity On Order
Backorder Item Backorder Item I know how many are on order. Item Number
Backordered Amount
Tương tác trong một phiên CRC
Xác định tất cả các lớp có thể
Tạo kịch bản (scenarios)
Xác định và tinh chỉnh các trách nhiệm
Nguyễn Hoàng Ân - Khoa HTTTQL 15
Mô hình hóa đối tượng với
UML
2
Nguyễn Hoàng Ân - Khoa HTTTQL 16
Các khái niệm và sơ đồ UML
Things: các đối tượng (thực thể)
Relationships: các mối quan hệ
Diagrams: các sơ đồ
Nguyễn Hoàng Ân - Khoa HTTTQL 17
Các đối tượng (Things)
Các đối tượng có cấu trúc (Structural things)
Lớp (classes), giao diện (interfaces), use cases và các phần
tử khác cung cấp cách để tạo ra mô hình
Chúng cho phép người dùng mô tả các mối quan hệ
Các đối tượng về hành vi (Behavioral things)
Mô tả cách các đối tượng làm việc
Tương tác (Interactions) và máy trạng thái (state
machines)
Các đối tượng nhóm (Group things)
Được dùng để xác định phạm vi
Các đối tượng chú thích (Annotational things)
Có thể thêm ghi chú cho các sơ đồ
Nguyễn Hoàng Ân - Khoa HTTTQL 18
Các mối quan hệ
(Relationships)
Các quan hệ cấu trúc (Structural
relationships)
Liên kết các đối tượng với nhau trong các sơ đồ
cấu trúc (structural diagrams)
Các quan hệ hành vi (Behavioral
relationships)
Được sử dụng trong các sơ đồ hành vi
(Behavioral diagrams)
Nguyễn Hoàng Ân - Khoa HTTTQL 19
Các quan hệ cấu trúc (Structural
Relationships)
Phụ thuộc (Dependencies)
Hợp (Aggregations)
Hội (Associations)
Tổng quát (Generalizations)
Nguyễn Hoàng Ân - Khoa HTTTQL 20
Các quan hệ hành vi (Behavioral
Relationships)
Giao tiếp (Communicates)
Bao gồm (Includes)
Mở rộng (Extends)
Khái quát hóa (Generalizes)
Nguyễn Hoàng Ân - Khoa HTTTQL 21
Các sơ đồ (Diagrams)
Các sơ đồ cấu trúc (Structural diagrams)
Dùng để mô tả mối quan hệ giữa các lớp
Các sơ đồ hành vi (Behavior diagrams)
Dùng để mô tả sự tương tác giữa các tác nhân
(actors) và use case
• Cách các tác nhân sử dụng hệ thống
Nguyễn Hoàng Ân - Khoa HTTTQL 22
Các sơ đồ cấu trúc
(Structural Diagrams)
Sơ đồ lớp (Class diagrams)
Sơ đồ đối tượng (Object diagrams)
Sơ đồ thành phần (Component diagrams)
Sơ đồ triển khai (Deployment diagrams)
Nguyễn Hoàng Ân - Khoa HTTTQL 23
Các sơ đồ hành vi
(Behavioral Diagrams)
Sơ đồ use case
Sơ đồ tuần tự (Sequence diagrams)
Sơ đồ cộng tác (Collaboration diagrams)
Sơ đồ trạng thái (Statechart diagrams)
Sơ đồ hoạt động (Activity diagrams)
Nguyễn Hoàng Ân - Khoa HTTTQL 24
Một cái nhìn tổng thể về UML
và các thành phần của nó:
các thực thể, các mối quan hệ, và các sơ đồ
Nguyễn Hoàng Ân - Khoa HTTTQL 25
Các sơ đồ UML thường được sử
dụng
Sơ đồ use case
Mô tả cách hệ thống được sử dụng
Điểm khởi đầu cho mô hình hóa UML
Kịch bản use case (scenario)
Một cách phát biểu rõ ràng các ngoại lệ về hành
vi chính được mô tả bởi use case chính
Sơ đồ hoạt động (Activity diagram)
Minh họa luồng tổng thể của các hoạt động
Nguyễn Hoàng Ân - Khoa HTTTQL 26
Các sơ đồ UML thường được sử
dụng...
Sơ đồ tuần tự (Sequence diagrams)
Chỉ ra tuần tự các hoạt động và mối quan hệ lớp
Sơ đồ lớp (Class diagrams)
Thể hiện các lớp và các mối quan hệ
Sơ đồ trạng thái (Statechart diagrams)
Thể hiện sự dịch chuyển trạng thái
Nguyễn Hoàng Ân - Khoa HTTTQL 27
Tổng quan về sơ đồ UML cho thấy cách
mỗi sơ đồ dẫn đến sự phát triển của sơ
đồ UML khác
Nguyễn Hoàng Ân - Khoa HTTTQL 28
Sơ đồ Use case
(Use case diagrams)
Nguyễn Hoàng Ân - Khoa HTTTQL 29
3
Mô hình hóa use-case (Use Case
Modeling)
Mô tả hệ thống làm gì, không mô tả cách hệ
thống thực hiện
Dựa vào sự tương tác và mối quan hệ của
các use-case riêng lẻ
Mô tả use-case
Tác nhân (Actor)
Sự kiện (Event)
Use-case
Nguyễn Hoàng Ân - Khoa HTTTQL 30
Business Process Identification
With Use-Cases
Elements of Use-Case Diagrams
Actors: users or other interacting systems
Associations: lines to connect actors and use-cases
• Interactions, inclusions, extensions or generalizations
Use-case: a major process in the system
that gives a benefit to the users
Subject boundary: a named box that depicts the
scope of the system
Một ví dụ về use-case Student
Enrollment
Nguyễn Hoàng Ân - Khoa HTTTQL 32
Nguyễn Hoàng Ân - Khoa HTTTQL 33
Use case name: Change Student Information UniqueID: Student UC 005
Area: Student System
Actors: Student
Description: Allow student to change his or her own information, such as name, home
address, home telephone, campus address, campus telephone, cell phone, and other
information using a secure Web site.
Triggering Event: Student uses Change Student Information Web site, enters student ID
and password, and clicks the Submit button.
Trigger Type: External Temporal
Steps Performed (Main Path)
1. Student logs on to the secure Web server.
2. Student record is read and password is verified.
3. Current student personal information is
displayed on the Change Student Web page.
4. Student enters changes on the Change Student
Web form and clicks Submit button.
5. Changes are validated on the Web server.
6. Change Student Journal record is written.
7. Student record is updated on the Student Master.
8. Confirmation Web page is sent to the student.
Information for Steps
1. Student ID, Password
2. Student Record, Student ID,
Password
3. Student Record
4. Change Student Web Form
5. Change Student Web Form
6. Change Student Web Form
7. Change Student Web Form,
Student Record
8. Confirmation Page
Preconditions: Student is on the Change Student Information Web page.
Postconditions: Student has successfully changed personal information.
Assumptions: Student has a browser and a valid user ID and password.
Requirements Met: Allow students to be able to change personal information using a
secure Web site.
Outstanding Issues: Should the number of times a student is allowed to logon be
controlled ?
Priority (optional): Medium
Risk (optional): Medium
Nguyễn Hoàng Ân - Khoa HTTTQL 34
Tên use case: Mã:
Lĩnh vực:
Tác nhân:
Mô tả:
Sự kiện kích hoạt:
Loại kích hoạt: Bên ngoài Bên trong
Các bước thực hiện chính
1.
Thông tin cho các bước
1.
Điều kiện tiên quyết:
Kết quả tạo ra:
Giả định:
Mục tiêu đạt được:
Các vấn đề nổi bật:
Độ ưu tiên (tùy chọn):
Rủi ro (tùy chọn):
Sơ đồ hoạt động
(Activity Diagrams)
4
Nguyễn Hoàng Ân - Khoa HTTTQL 35
Sơ đồ hoạt động
(Activity Diagrams)
Chỉ ra tuần tự các hoạt động trong một quá trình
bao gồm các hoạt động tuần tự và song song, và
quyết định được thực hiện
Các ký hiệu
Hình chữ nhật với các góc tròn
Hình mũi tên
Hình kim cương
Hình chữ nhật phẳng, dài
Vòng tròn tô kín bên trong
Vòng tròn đen được bao quanh bởi một vòng tròn trắng
Đường phân chia (Swimlanes)
Nguyễn Hoàng Ân - Khoa HTTTQL 36
Các ký hiệu chuyên dùng được sử
dụng để vẽ một sơ đồ hoạt động
Nguyễn Hoàng Ân - Khoa HTTTQL 37
Tạo sơ đồ hoạt động
Được tạo ra bằng cách hỏi những gì xảy ra
đầu tiên, những gì xảy ra thứ hai, và cứ tiếp
tục như vậy
Phải xác định những hoạt động nào thực
hiện tuần tự hoặc song song
Chuỗi các hoạt động có thể được xác định từ
sơ đồ luồng dữ liệu vật lý
Có thể được tạo ra bằng cách kiểm tra tất cả
các kịch bản cho một use-case
Nguyễn Hoàng Ân - Khoa HTTTQL 38
Đường phân chia (Swimlanes)
Cho thấy cách dữ liệu được truyền đi hoặc
chuyển đổi
Hỗ trợ việc nhóm các hoạt động lại với nhau
Làm cho sơ đồ hoạt động trở thành phương
tiện giao tiếp
Nguyễn Hoàng Ân - Khoa HTTTQL 39
Activity Diagram Syntax
• Action or Activity
– Represents action or set of actions
• Control Flow
– Shows sequence of execution
• Initial Node
– The beginning of a set of actions
• Final Node
– Stops all flows in an activity
• Decision Node
– Represents a test condition
Activity Diagram Symbols
Sample Activity Diagram
Nguyễn Hoàng Ân - Khoa HTTTQL 43
Sơ đồ hoạt động thể
hiện 3 swimlane:
Client Web Page, Web
Server, and Mainframe
Sơ đồ tuần tự và kế hoạch kiểm
thử (Test Plans)
Sơ đồ hoạt động có thể được dùng để xây
dựng kế hoạch kiểm thử
Mỗi sự kiện phải được kiểm thử nếu hệ
thống chuyển đến trạng thái kế tiếp
Mỗi quyết định phải được kiểm thử
Nguyễn Hoàng Ân - Khoa HTTTQL 44
Sơ đồ tuần tự
(Sequence diagrams)
5
Nguyễn Hoàng Ân - Khoa HTTTQL 45
Sơ đồ tuần tự
Minh họa cho một chuỗi các tương tác giữa
các lớp hoặc thực thể đối tượng theo thời
gian
Thường dùng để diễn tả hoạt động xử lý
được mô tả trong các kịch bản use-case
Được dùng để diễn tả các mô hình tổng thể
về các hoạt động hoặc các tương tác trong
use-case
Nguyễn Hoàng Ân - Khoa HTTTQL 46
Các ký hiệu đặc biệt được sử
dụng để vẽ sơ đồ tuần tự
Nguyễn Hoàng Ân - Khoa HTTTQL 47
Sơ đồ tuần tự: Student Admission
Nguyễn Hoàng Ân - Khoa HTTTQL 48
Hỏi đáp
Nguyễn Hoàng Ân - Khoa HTTTQL 49
Các file đính kèm theo tài liệu này:
- sad_04_934.pdf