Professional Documents
Culture Documents
1. Mục đích và yêu cầu của học phần 1. Mục đích và yêu cầu (t)
2. Cấu trúc và phân bổ học phần 3. Nội dung chính của học phần
• Học phần gồm 3 tín chỉ (45 tiết) phân phối như sau: • Chương 1. Tổng quan về phân tích và thiết kế hệ thống thông tin
• Nội dung lý thuyết, bài tập và bài tập lớn 45 tiết và 90 giờ tự học
• Lý thuyết chung • Chương 2: Ngôn ngữ mô hình hóa và công cụ hỗ trợ phân tích và
• Các bài tập thực hành thiết kế hệ thống thông tin
• Danh sách đề tài tham khảo để chọn làm bài tập lớn • Chương 3: Phân tích hệ thống thông tin theo hướng đối tượng
• Phương thức liên lạc
• Chương 4: Thiết kế hệ thống thông tin theo hướng đối tượng
• Qua hệ thống LMS
• Qua email: hoint@tmu.edu.vn • Case study hỗ trợ thực hành
• Link các tài liệu tham khảo học phần
• Bài giảng: http://nguyenthihoi.com/baigiang
Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 5 Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 6
5. Tài liệu tham khảo (2) 6. Các chú ý khi tham gia học phần
• Các sách, giáo trình chính sử dụng trong học phần
• Nguyễn Văn Ba, 2009, Phân tích và thiết kế hệ thống thông tin, NXB ĐH Quốc gia, • Nắm vững mục đích và yêu cầu của môn học
Hà Nội • Tải bài giảng điện tử và Slide bài giảng từ hệ thống LMS
• Alan Dennis, Barbara Haley Wixom, và Roberta M. Roth, 2015, Systems Analysis
and Design, Fifth Version, NXB John Wiley & Sons, Inc • Tải nội dung case study và các công cụ hỗ trợ biểu đồ UML
• Alan Dennis, Barbara Haley Wixom, và David Tegarden, 2014, System Analysis &
Design: An Object Oriented Approach with UML, NXB John Wiley & Sons, Inc • Cài đặt một công cụ hỗ trợ xây dựng biểu đồ UML và thực hành bằng
• Website: 01 đề tài hoặc dự án trong suốt học phần
• https://www.lucidchart.com • Thường xuyên tương tác với giảng viên khi có thắc mắc trong quá
• https://www.uml-diagrams.org trình học và thực hành
• Slide bài giảng và Video bài giảng của Trường Đại học Thương mại • Làm bài tập và gửi kết quả bài tập cho giảng viên theo yêu cầu và thực
• Đề bài tập hiện báo cáo tiến độ khi làm bài tập lớn của học phần
Chương 1:
Tổng quan về phân tích và thiết kế 1.1.1. Các khái niệm cơ bản
hệ thống thông tin
• Hệ thống
• 1.1. Phương pháp luận về phân tích và thiết kế hệ • Hệ thống thông tin
thống thông tin • Hệ thống thông tin quản lý
• 1.1.1. Các khái niệm cơ bản • Vai trò của Hệ thống thông tin quản lý
• Các thành phần trong Hệ thống thông tin quản lý
• Phân loại các Hệ thống thông tin quản lý trong tổ chức, doanh
nghiệp
Chương 1:
Các khái niệm cơ bản Tổng quan về phân tích và thiết kế
Các thành phần trong một HTTT quản lý
hệ thống thông tin
Nguồn lực phần cứng
1.1.2. Mô hình hóa hệ thống thông tin Mô hình hóa hệ thống thông tin
Mô hình
• Mô hình • Mô hình (Model) hay còn gọi là mô hình khái niệm được tạo thành
từ các thành phần của các khái niệm sử dụng để giúp nhận
• Mô hình hóa hệ thống thông tin biết, hiểu hoặc mô phỏng một chủ đề, một khái niệm, một hệ thống
• Các mức mô hình hóa hệ thống thông tin mà mô hình đó đại diện.
• Các khía cạnh trong mô hình hóa hệ thống thông tin • Mô hình khái niệm thường là một tập hợp các khái niệm dùng để
diễn tả hay biểu diễn chủ đề, khái niệm hoặc hệ thống đang đề cập
• Các phương pháp mô hình hóa hệ thống thông tin đến
• Ví dụ:
• Mô hình toán học
• Mô hình quản lý
• …
Mô hình hóa hệ thống thông tin Mô hình hóa hệ thống thông tin
Khái niệm và vai trò Các mức mô hình hóa hệ thống thông tin
• Khái niệm • Mức trừu tượng Mô hình hóa mức trừu tượng
• Sử dụng một mô hình để diễn tả hay biểu diễn nhằm giúp mang lại hiểu biết
về các khía cạnh trong tổ chức và hoạt động của một hệ thống thông tin • Mức logic
• Vai trò • Mức vật lý Mô hình hóa mức logic
• Đưa ra diễn giải để hiểu, nhận biết được tổ chức và hoạt động của hệ thống
thông tin nhằm cải tiến và nâng cao hiệu quả hoạt động của nó
• Giúp hiểu và nắm rõ được các hoạt động nhăm, hỗ trợ và tăng hiệu quả Mô hình hóa mức vật lý
trao đổi thông tin giữa các thành phần của hệ thống, hoàn thiện các chức
năng và nâng cao hiệu suất hoạt động của hệ thống thông tin
10/04/2023
Quy trình chung phân tích và thiết kế HTTT Quy trình chung phân tích và thiết kế HTTT
Quy trình chung Các giai đoạn
Quy trình chung phân tích và thiết kế HTTT Quy trình chung phân tích và thiết kế HTTT
Vòng đời hệ thống - SDLC Lập kế hoạch dự án
• Khởi tạo dự án
Vòng đời phát triển hệ thống thông tin (Systems Development Life Cycle (SDLC -
(Dennis et al., 2015) • Chuẩn bị thu thập và lập danh sách yêu cầu của dự án
• Lập kế hoạch Phân tích Thiết kế Cài đặt Khai thác • Thực hiện phân tích tính khả thi của dự án
• Đưa ra tài liệu yêu cầu của dự án
Hệ thống cũ Thực hiện dự án mới
Thiết lập dự án
Lập kế hoạch triển khai dự án mới
•
Quy trình chung phân tích và thiết kế HTTT Quy trình chung phân tích và thiết kế HTTT
Phân tích yêu cầu dự án Thiết kế cho dự án
• Xác định chiến lược phân tích • Xác định chiến lược thiết kế
• Nghiên cứu hệ thống hiện có và các vấn đề tồn tại của nó • Lựa chọn chiến lược thiết kế
• Lựa chọn chiến lược và các công cụ, phương tiện để phân tích • Xác định phương thức: Tự xây dựng / Mua / Thuê ngoài
• Thu thập và phân tích yêu cầu • Lựa chọn công cụ và phương tiện
• Phân tích các yêu cầu của dự án • Thiết kế các thành phần hệ thống
• Xây dựng và mô tả các bài toán cho hệ thống mới • Kiến trúc tổng thể, giao diện, cơ sở dữ liệu, chương trình
• Xây dựng các tài liệu mô tả yêu cầu của dự á • Tích hợp các thành phần trong quá trình thiết kế vào bản Đặc tả hệ thống
• Đề xuất các giải pháp cho hệ thống mới • Trình bày trước ban chỉ đạo
• Viết tài liệu phân tích cho dự án • Hoàn thiện tài liệu phân tích và thiết kế của dự án
• Đưa ra mô tả tóm tắt của dự án làm cơ sở cho hợp đồng • Quyết định thực hiện/ không thực hiện của từ bên đặt hàng trước khi bước
• Quyết định thực hiện/ không thực hiện của từ bên đặt hàng vào giai đoạn cuối cùng của dự án
10/04/2023
Chương 1:
Quy trình chung phân tích và thiết kế HTTT
Tổng quan về phân tích và thiết kế
Cài đặt dự án
hệ thống thông tin
• Xây dựng hệ thống thông tin
• Xác định công cụ thực hiện • 1.1.4. Quản lý dự án phần mềm
• Xây dựng chương trình và thử nghiệm hệ thống • Khởi tạo dự án
• Cài đặt hệ thống Đánh giá tính khả thi
•
• Lập kế hoạch cài đặt
• Huấn luyện người dùng • Lựa chọn dự án
• Chuyển đổi sang hệ thống mới • Phương pháp phát triển dự án
• Kiểm tra và thực hiện
• Lập kế hoạch dự án
• Hỗ trợ hệ thống thực thi và bảo trì
• Theo dõi và khai thác
• Xác định kiểu của dự án • Có nâng cao hiệu quả hoạt động của một quy trình nghiệp vụ?
• Dự án thuộc nhóm: thêm chức năng? hỗ trợ chiến lược kinh • Có hỗ trợ tự động hóa một quy trình kinh doanh?
doanh? Hoàn thiện chức năng? • Có cải tiến được bước yếu tố nào trong quy trình kinh doanh của bộ
• Dự án thuộc nhóm: tích hợp các hệ thống con? sáp nhập hệ phận/ tổ chức không?
thống con?
• Có hỗ trợ tái cấu trúc của bộ phận/ phòng ban/ tổ chức?
• Dự án thuộc nhóm: nâng cấp chức năng? Nâng cao hiệu năng?
• Có giải quyết những hạn chế của phân hệ/ bộ phận/ tổ chức?
• Dự án thuộc nhóm: Ứng dụng công nghệ mới? Ứng dụng kỹ
thuật mới? Cải tiến và nâng cao hiệu quả? • => Xác định rõ yêu cầu của hệ thống để nhấn mạnh đến vai trò của
dự án đối với hoạt động của tổ chức
10/04/2023
Chương 1:
Quản lý dự án phần mềm Tổng quan về phân tích và thiết kế
Phương pháp phát triển dự án
hệ thống thông tin
• Phát triển dự án dựa trên SDLC: Theo các giai đoạn
• Mô hình thác nước • 1.1.4. Quản lý dự án phần mềm
• Mô hình song song • Khởi tạo dự án
• Mô hình chữ V
• … • Đánh giá tính khả thi
• Phát triển nhanh: Dựa trên các công cụ và kỹ thuật mới (CASE, JAD, • Lựa chọn dự án
Ngôn ngữ lập trình, Mã tích hợp) • Phương pháp phát triển dự án
• Phát triển theo nguyên mẫu
• Mô hình lặp lại • Lập kế hoạch dự án
• Agile
• …
10/04/2023
52
10/04/2023
53 54
56
10/04/2023
Mô hình
Mô hình nguyên mẫu
nguyên mẫu lặp lại
o Tiếp cận RAD o Tiếp cận RAD
o Tạo một phiên bản thô của o Nhấn mạnh vào việc thử
hệ thống một cách nhanh nghiệm các tùy chọn thiết
chóng và “phát triển” nó kế trước khi thiết kế được
thành hệ thống cuối cùng hoàn thiện
với sự lặp đi lặp lại dựa
trên yêu cầu của hệ thống
o Các tùy chọn thiết kế bị
loại bỏ, nhưng việc học hỏi
từ chúng được đưa vào
thiết kế cuối cùng
57 58
59 60
10/04/2023
Chương 1: Tổng quan về phân tích và Chương 1: Tổng quan về phân tích và
thiết kế hệ thống thông tin thiết kế hệ thống thông tin
Phương pháp tiếp cận hướng cấu trúc Phương pháp tiếp cận hướng cấu trúc
Hướng tiếp cận Các bước thực hiện
• Tiếp cận • Thường sử dụng phương pháp Bottom – Up hoặc Top – down
• Góc nhìn theo cấu trúc hay chức năng của hệ thống • Xây dựng biểu đồ phân cấp chức năng
• Lấy các chức năng làm nguyên tắc phân rã hệ thống
• Chia hệ thống thành các hệ thống con theo góc nhìn chức năng thực
• Xây dựng các mức của biểu đồ luồng dữ liệu
hiện • Xây dựng bộ từ điển dữ liệu
• Mô tả việc trao đổi thông tin dựa trên luồng dữ liệu và các kho dữ liệu • Thực hiện thiết kế theo các chức năng của hệ thống
• Thường dễ thực hiện, dễ theo dõi, nhìn rõ các chức năng của hệ
thống
10/04/2023
Phương pháp tiếp cận hướng cấu trúc Phương pháp tiếp cận hướng cấu trúc
Ưu điểm Nhược điểm
• Tư duy phân tích và thiết kế hệ thống rõ ràng, dễ hiểu. • Không hỗ trợ việc sử dụng lại.
• Chương trình sáng sủa, có cấu trúc, dễ theo dõi và cài đặt • Các chương trình hướng cấu trúc phụ thuộc chặt chẽ vào cấu trúc
dữ liệu và bài toán cụ thể, do đó không thể dùng lại cho phần mềm
• Phân tích được các chức năng của hệ thống, nhìn rõ chức khác, hoặc cho cấu trúc dữ liệu khác.
năng
• Không phù hợp cho phát triển các phần mềm lớn.
• Dễ theo dõi luồng dữ liệu và các kho dữ liệu
• Không linh động và khó cập nhật
• Khó quản lý mối quan hệ giữa các chương trình con
• Dễ gây lỗi và khó bảo trì
Phương pháp tiếp cận hướng đối tượng Phương pháp tiếp cận hướng đối tượng
Hướng tiếp cận Cách thực hiện
• Góc nhìn theo các đối tượng của hệ thống • Xác định các đối tượng trong hệ thống
• Dựa trên thuộc tính và phương thức xử lý của mỗi đối tượng • Xây dựng các lớp đối tượng với các thuộc tính và phương
• Phù hợp với hầu hết các kiểu dự án thức hoạt động
• Mô tả trao đổi thông tin dựa vào các đối tượng • Xây dựng các lược đồ để diễn tả các hoạt động và hành vi
của hệ thống
• Dựa trên các đặc tính, mối quan hệ của các lớp và đối tượng
10/04/2023
Phương pháp tiếp cận hướng đối tượng Phương pháp tiếp cận hướng đối tượng
Ưu điểm Nhược điểm
• Tiếp cận gần gũi với thế giới thực. • Hệ thống khá phức tạp và khó theo dõi được luồng dữ liệu
• Các gói và mô đun rất dễ sử dụng lại • Hướng tiếp cận không dựa trên cấu trúc dữ liệu và giải thuật
• Thông tin được đóng gói, ẩn dấu và có độ tin cậy cao nên khá khó hiểu
• Giảm chi phí khi xây dựng hệ thống • Yêu cầu nhiều kiểu biểu đồ
• Hệ thống linh hoạt, mềm dẻo, dễ dàng mở rộng • Các hệ quản trị cơ sở dữ liệu khá khó biểu diễn theo đối
tượng
Các hướng tiếp cận khác Các hướng tiếp cận khác
Phương pháp tiếp cận hướng hệ thống Phương pháp tiếp cận hướng sự kiện
Thực hiện Góc nhìn Thực hiện
Nguyên tắc
• Tiếp cận theo chu trình Chia hệ thống thành các hệ thống Góc nhìn theo các sự kiện sẽ
• • • Phân loại các sự kiện trong
• Đảm bảo độ tin cậy con xảy ra trong quá trình hệ
• Tiếp cận từ hệ thống thực thống hoạt động hệ thống
• Mỗi hệ thống con thực hiện dựa
trên các kinh nghiệm và quy tắc • Xem xét các sự kiện của hệ • Xây dựng sự kiện và cách
phát triển đã có thống để phân rã và thực hiện ứng xử tương ứng
• Khảo sát hiện trạng và phân tích • Chỉ phù hợp các hệ thống
hiện trạng theo mỗi dự án hướng sự kiện, hỗ trợ kiểm • Mô tả việc trao đổi thông tin
soát hoạt động của hệ thống dựa trên cách thức ứng xử
• Không nhìn rõ cấu trúc và các của hệ thống khi có bất kỹ
chức năng của hệ thống một sự kiện nào xảy ra
© 2015 John Wiley & Sons. All Rights Reserved. 73
• Về kỹ năng mềm • Về các hướng tiếp cận trong phân tích và thiết kế hệ thống thông tin
• Bài tập cần làm • Khái niệm về các hướng tiếp cận: hướng cấu trúc; hướng đối tượng; các hướng
tiếp cận khác
• So sánh và đánh giá các hướng tiếp cận
Các kiến thức và kỹ năng cần đạt Mức độ cần đạt được của chương 1
được trong chương 1 (2)
• Về kỹ năng cứng
• Các kỹ năng cần đạt được • Năm vững và vận dụng thành thạo
• Kỹ năng cứng
• Hiểu và nắm vững về khái niệm, quy trình phân tích và thiết kế hệ thống thông tin
• Về kỹ năng mềm
• Đưa ra các so sánh và vận dụng để lựa chọn hướng tiếp cận để phân tích và thiết kế • Rèn luyện và vận dụng thành thạo
một dự án
• Lựa chọn một dự án và xác định được các yếu tố trong quản trị một dự án
• Bài tập cần làm
• Kỹ năng mềm • Lựa chọn được một dự án để chuẩn bị thực hành cho các chương
• Đọc, tổng hợp và viết tài liệu tiếp theo
• Phân tích, tổng hợp và lập kế hoạch
• Thuyết trình và thương thảo
10/04/2023
Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 83 Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 84
10/04/2023
UML UML
Mục đích và vai trò Đặc điểm
• Chuẩn hoá ngôn ngữ mô hình hoá được coi như một phương • Là một ngôn ngữ (Có từ vựng, cú pháp và ký pháp)
pháp luận. • Là một ngôn ngữ mô hình hóa trực quan (Biểu diên và mô tả bằng
• Nhằm đặc tả, trực quan hoá, và tư liệu hoá dự án phần mềm các biểu đồ)
hướng đối tượng. • Sử dụng để đặc tả tài liệu phát triển dự án (Phân tích, thiết kế và cài
• UML có thể phủ tất cả các mức mô hình hoá khác nhau trong đặt)
quy trình phát triển một dự án phần mềm • Là ngôn ngữ dùng để xây dựng và phát triển
• Độc lập với tất cả các ngôn ngữ lập trình và công cụ hỗ trợ thiết • Là ngôn ngữ để viết tài liệu và tạo lập tài liệu của dự án
kế
UML UML
Lịch sử phát triển Các phiên bản
Phiên bản Ngày Mô tả
1.1 11/1997 Đề xuất UML 1.1 được OMG thông qua.
1.3 03/2000 Chứa một số thay đổi đối với siêu mô hình UML, ngữ nghĩa và ký hiệu
Phát hành "điều chỉnh" chủ yếu nhưng không hoàn toàn tương thích với UML
1.4 09/2001
1.3. Cập nhật khả năng hiển thị của các tính năng.
1.5 03/2003 Bổ sung thêm hành động và quy trình thực thi
1.4.2 01/2005 Phiên bản này được chấp nhận tiêu chuẩn ISO / IEC 19501.
Sơ đồ mới: sơ đồ đối tượng, sơ đồ gói, sơ đồ cấu trúc hỗn hợp, sơ đồ tổng
2.0 08/2005
quan tương tác, sơ đồ thời gian, sơ đồ hồ sơ.
2.1 04/2006 Sửa đổi nhỏ UML 2.0 - sửa lỗi và cải tiến tính nhất quán.
2.2 02/2009 Đã sửa nhiều vấn đề nhất quán nhỏ và thêm các giải thích cho UML 2.1.2
2.3 05/2010 Sửa đổi nhỏ UML 2.2, làm rõ các nhóm và các lớp kết hợp
2.4.1 08/2011 Sửa đổi UML với một vài sửa lỗi và cập nhật cho các lớp, gói
UML 2.5, đặc tả UML được viết lại "để dễ đọc hơn". UML 2.5 có một số bản
2.5 06/2015 sửa lỗi, làm rõ và giải thích được thêm vào. Phiên bản 2.5 đã cập nhật mô tả,
làm rõ các định nghĩa về tổng hợp và thành phần.
10/04/2023
Mối liên kết qua lại giữa Chương 2: Ngôn ngữ mô hình hóa thống nhất
hướng cấu trúc và hướng đối tượng và
công cụ phân tích và thiết kế hệ thống thông tin
• Xem xét các đối tượng và ngữ cảnh hoạt động của đối tượng
• Dựa trên phương thức hoạt động tại các ngữ cảnh khác nhau để
đưa ra mô tả
• 2.2. Các loại biểu đồ trong UML
• Dễ dàng và linh động trong sử dụng lại và cập nhật thêm
• 2.2.1. Các biểu đồ phân tích tĩnh
• 2.2.2. Các biểu đồ phân tích động
Các biểu đồ cơ bản trong UML Các biểu đồ phân tích tĩnh
Các biểu đồ cấu trúc
• Biểu đồ mô tả phiên bản (Profile diagram)
• Biểu đồ lớp (Class diagram)
• Biểu đồ cấu trúc kết hợp (Composite Structure diagram)
• Biểu đồ thành phần (Component diagram)
• Biểu đồ triển khai (Deployment diagram)
• Biểu đồ đối tượng (Object diagram)
• Biểu đồ gói (Package diagram)
10/04/2023
Góc nhìn tĩnh của hệ thống Các biểu đồ phân tích động của hệ thống
Biểu đồ hành vi
• Còn gọi là góc nhìn cấu trúc • Biểu đồ hoạt động (Activity diagram)
• Xem xét các đối tượng cố định (ít thay đổi) trong hệ thống • Biểu đồ tương tác (Interaction diagram)
• Xem xét mối quan hệ của các đối tượng trong hệ thống • Biểu đồ tuần tự (Sequence diagram)
• Phân tích các thành phần cố định và ít thay đổi, các thành phần • Biểu đồ giao tiếp (Communication diagram)
có thể có mặt/ xuất hiện/ tham gia vào nhiều hoạt động/ hành • Biểu đồ tương tác tổng thể (Interaction Overview diagram)
động/ sự kiện khi hệ thống thực thi • Biểu đồ thời gian (Time diagram)
• Biểu đồ ca sử dụng (Usecase diagram)
• Biểu đồ dịch chuyển trạng thái (State Machine diagram)
Góc nhìn động của hệ thống Chương 2: Ngôn ngữ mô hình hóa thống nhất
và
công cụ phân tích và thiết kế hệ thống thông tin
• Còn gọi là góc nhìn hành vi/ hoạt động
• Xem xét các thành phần thường xuyên thay đổi trong hệ thống
• Xem xét hoạt động/hành động hoặc các hành vi của các đối • 2.2. Một số công cụ hỗ trợ UML
tượng trong hệ thống theo các thời điểm khác nhau khi hệ thống • 2.1.1. Một số công cụ miễn phí
thực thi
• 2.1.2. Một số công cụ có phí
• Phân tích và dự báo các trạng thái khác nhau của các đối
tượng/thành phần khi có một hoạt động/ hành động/ sự kiện • 2.1.3. Một số công cụ trực tuyến
của hệ thống được yêu cầu thực hiện hoặc cần thực hiện để đáp
ứng yêu cầu của người dùng
10/04/2023
Một số công cụ hỗ trợ UML miễn phí Một số công cụ hỗ trợ UML miễn phí
• Visual Modeling Software
• Star UML
• BOUML
• Umbrello
• Concept Draw
• UML designer tool
• Visio
• Altova
• Softwareideasmodeler
• Astah
• Diagramo • Giffy
10/04/2023
• Tài liệu ôn tập cho chương 2 • Mức độ cần đạt được của chương 2
• Về kỹ năng cứng
• Về kỹ năng mềm
• Bài tập cần làm
Các kiến thức và kỹ năng cần đạt Các kiến thức và kỹ năng cần đạt
được trong chương 2 (1) được trong chương 2 (2)
• Các kiến thức cần nắm vững • Các kỹ năng cần đạt được
• Ngôn ngữ mô hình hóa thống nhất UML
• Kỹ năng cứng
• Hiểu và nắm vững về khái niệm, mục đích vai trò của UML trong xây dựng tài liệu phân
• Khái niệm, lịch sử, mục đích, vai trò và các phiên bản của UML tích và thiết kế hệ thống thông tin
• Đưa ra các so sánh và vận dụng để lựa chọn công cụ hỗ trợ phân tích và thiết kế một
• Các loại biểu đồ trong UML dự án
• Các công cụ hỗ trợ UML • Kỹ năng mềm
Một số công cụ hỗ trợ xây dựng các loại biểu đồ hỗ trợ UML • Đọc, tổng hợp và viết tài liệu
•
• Phân tích, tổng hợp và lập kế hoạch
• Các lưu ý đối với việc xây dựng các biểu đồ UML • Thuyết trình và thương thảo
10/04/2023
Chương 3: Phân tích hệ thống thông tin Xác định yêu cầu hệ thống
theo hướng đối tượng Khái niệm và vai trò
• Đưa ra được lý do kinh doanh cho dự án
• 3.1. Phân tích yêu cầu hệ thống • Xác định giá trị mong đợi mà hệ thống mang lại cho tổ chức
Làm cơ sở để chính thức hóa các ý tưởng thành dự án
• 3.1.1. Xác định yêu cầu hệ thống •
• Cung cấp một khuôn khổ để thu thập thông tin ban đầu của dự án
• 3.1.2. Mô hình hoá nghiệp vụ • Chuẩn hóa các thông tin để ban chỉ đạo (phê duyệt) thực hiện
• 3.1.3. Các hướng nhìn trong phân tích • Liệt kê các yếu tố chính của dự án
• Người chịu trách nhiệm chính
• Các nghiệp vụ cần có
• Các yêu cầu về quy trình nghiệp vụ phải cung cấp
• Giá trị kinh doanh
• Các ràng buộc
10/04/2023
Xác định yêu cầu của hệ thống Xác định yêu cầu của hệ thống
Phân loại Yêu cầu người dùng
• Yêu cầu là gì? • Người dùng cần làm gì để hoàn thành một công việc/ nhiệm vụ/
thao tác/ tác vụ trong hệ thống
• Các loại yêu cầu trong một dự án
• Yêu cầu nghiệp vụ (Những gì doanh nghiệp cần) • Những nhiệm vụ của người dùng không thể thiếu trong hoạt động
kinh doanh của tổ chức
• Yêu cầu của người dùng (Những gì người dùng cần);
• Yêu cầu chức năng (Phần mềm làm được các việc gì) • Cần đưa ra các tác vụ của người dùng để hiểu cách mà hệ thống
mới có thể hỗ trợ các tác vụ đó trong quá trình hoạt động của hệ
• Yêu cầu phi chức năng (Các yêu cầu mà hệ thống nên có và đáp thống
ứng)
• Yêu cầu hệ thống (Hệ thống phải được xây dựng như thế nào)
Xác định yêu cầu của hệ thống Xác định yêu cầu của hệ thống
Yêu cầu tài liệu Phương pháp thu thập yêu cầu
• Danh sách báo cáo về các yêu cầu • Nghiên cứu tài liệu
• Văn bản liệt kê yêu cầu ở dạng dàn ý
• Tổ chức và cấu trúc các yêu cầu theo các nhóm • Thực hiện khảo sát
• Đưa ra các thứ tự ưu tiên (nếu có) • Khảo sát trực tiếp
• Khảo sát gián tiếp
• Mục đích nhằm xác định phạm vi dự án
• Những gì có trong dự án ( Những công việc và yêu cầu dự án phải có) • Thực hiện phỏng vấn
• Những gì không có trong yêu cầu ( Những vấn đề không đưa vào hợp đồng) • Quan sát và ghi chép
10/04/2023
Chương 3: Phân tích hệ thống thông tin Yêu cầu chức năng của dự án
theo hướng đối tượng Khái niệm
• Một quy trình mà hệ thống sẽ thực hiện
• Yêu cầu chức năng của dự án
• Một kiểu thông tin mà hệ thống sẽ cung cấp cho người dùng
• Khái niệm
• Một tác vụ mà hệ thống sẽ cung cấp cho người dùng trong việc
• Phân loại hoàn thành một/ một số công việc của họ
• Cách xác định
10/04/2023
126
© 2015 John Wiley & Sons. All Rights Reserved.
Yêu cầu chức năng của dự án Yêu cầu chức năng của dự án
Cách xác định Cách xác định
• Dựa trên tài liệu khảo sát đưa ra danh sách các yêu cầu của dự án • Quy trình thực hiện
• Trả lời các câu hỏi • Liệt kê các hoạt động/ thao tác/ yêu cầu xử lý/ …
• Có những tác vụ nào cần hệ thống thực hiện? Quy trình nghiệp vụ nào cần • Đặt lại tên và gom nhóm
hệ thống hoàn thành? Yêu cầu nào của người dùng cần hệ thống thực thi? • Xác định kiểu chức năng
Thao tác nào của người dùng cần được hỗ trợ? … • Mô tả
• Những thông tin nào cần được tạo ra? Những thông tin nào cần được xử lý?
Những thông tin nào cần được lưu trữ, tính toán, in ấn? …
10/04/2023
• Xác định các công việc sẽ phải thực hiện trong dự án STT Tên mức 1 Tên mức 2 Mô tả
• Liệt kê các tác vụ Thực hiện khi có nhân viên mới, khi
cần cập nhật thay đổi thông tin nhân
R1.1: Cập nhật hồ sơ nhân viên
• Sắp xếp và gom nhóm các tác vụ theo đối tượng, theo thời gian và theo giai 1
R1: Quản lý hồ sơ
R1.2: Sửa đổi thông tin nhân viên
viên, hoặc có nhân viên nghỉ hưu,
nghỉ việc, ...
đoạn của dự án nhân viên
R1.3: Xóa hồ sơ R1.2 và R1.3 chỉ thực hiện được khi
• Chọn một công cụ hỗ trợ tạo bảng tác vụ có hồ sơ nhân viên trong hệ thống
2
• Đơn giản: Word, Excel, … Thực hiện hàng ngày, khi các nhân
R2.1: Chấm công viên đi làm, mỗi tháng lập một phiếu
• Phức tạp và chuyên nghiệp: Visio, Project manage, các phần mềm hỗ trợ chuyên lương,
nghiệp R2: Chấm công và tính R2.2: Lập bảng chấm công
lương R2.2 chỉ thực hiện được khi R2.1
• Chỉnh sửa, thêm các điều kiện rang buộc R2.3: Tính các khoảng PC, BH,..
hoàn thành, R2.3 và R2.4 chỉ thực
R2.4: Lập phiếu lương hiện khi R2.2 hoàn thành ....
Xác định yêu cầu của hệ thống thông tin Yêu cầu phi chức năng
Khái niệm
• Yêu cầu là gì? • Các yêu cầu cần hệ thống phải thỏa mãn hay các đặc điểm
• Các loại yêu cầu trong một dự án và hành vi mà hệ thống phải đáp ứng
• Yêu cầu nghiệp vụ (Những gì doanh nghiệp cần) • Các yêu cầu hệ thống cần thỏa mãn về kỹ thuật và phi kỹ thuật
• Các điều kiện hệ thống cần đáp ứng khi vận hành
• Yêu cầu của người dùng (Những gì người dùng cần);
• Yêu cầu chức năng (Phần mềm làm được các việc gì)
• Yêu cầu phi chức năng (Các yêu cầu mà hệ thống nên có và đáp ứng)
• Yêu cầu hệ thống (Hệ thống phải được xây dựng như thế nào)
BM CNTT - TMU - Bài giảng PTTK HTTT 2023 139 BM CNTT - TMU - Bài giảng PTTK HTTT 2023 140
10/04/2023
Yêu cầu phi chức năng Ví dụ minh họa yêu cầu phi chức năng
Cách thức xác định Yêu cầu về môi trường hoạt động
• Trả lời các câu hỏi về: • Môi trường kỹ thuật:
• Cần bảo mật (Security) đến mức nào? Độ tin cậy (Reliability) mức độ nào? Có yêu cầu về • Client/server, ghi rõ ngôn ngữ lập trình, hệ quản trị CSDL, cấu hình của máy tính cá
khả năng mở rộng (Scalability) không? Hiệu suất (Usability) ? nhân tối thiểu, điều kiện của đường truyền, cấu hình máy chủ, …
• Tính khả dụng (Availability)? Tính di động (Portabilit)? Khả năng tương thích
(Compatibility)? • Khả năng tích hợp:
• Hiệu quả hoạt động (Performance Efficiency)? Tốc độ xử lý (Speed)? Dung lượng • Tích hợp được với hệ thống chấm công tự động, liên kết được với hệ thống tính thuế
(Capacity)? TNCN của Tổng cục thuế, …
• Khả năng bảo trì (Maintainability)? Cần có các chứng nhận (Certification) không? Cần mức
độ tuân thủ (Compliance) như thế nào?
• Khả năng linh động:
• Có liên quan đến văn hóa, chính trị của bản địa (Localization) không? • Chạy được trên nhiều hệ điều hành khác nhau, …
• Các mức độ dịch vụ (Service Level Agreements) cần thỏa mãn? Khả năng phát triển • Vấn đề bảo trì:
(Extensibility) của dự án?
• Khi cài đặt, có nhân viên hỗ trợ trực kỹ thuật phòng trường hợp hệ thống có lỗi, …
• …
BM CNTT - TMU - Bài giảng PTTK HTTT 2023 143 BM CNTT - TMU - Bài giảng PTTK HTTT 2023 144
10/04/2023
Ví dụ minh họa yêu cầu phi chức năng Ví dụ minh họa yêu cầu phi chức năng
Yêu cầu về hiệu năng thực hiện Yêu cầu về an toàn và bảo mật
• Tốc độ: • Giá trị của hệ thống:
• Tốc độ xử lý, tốc độ phản hồi, tốc độ hồi phục là bao nhiêu? • Hệ thống quản lý toàn bộ hồ sơ của nhân viên trong công ty cần đảm bảo không bị
sai sót, thất thoát, rò rit thông tin cá nhân của các nhân viên
• Phạm vi, giới hạn: • Vấn đề kiểm soát truy cập:
• Lưu trữ được từ 200 hồ sơ nhân viên trở lên, Số lượng truy cập tại một thời • Chỉ nhân viên phòng nhân sự được truy cập vào để thay đổi và chỉnh sửa các thông
điểm? tin của nhân viên trong hệ thống
• Độ tin cậy và tính khả dụng: • Vấn đề mã hóa và xác thực danh tính:
• Cấp tài khoản và mật khẩu đảm bảo bí mật và an toàn
• Các công thức đươc tính theo hướng dẫn của Bộ tài chính, đảm bảo tính
đúng lương, thưởng, bảo hiểm. thuế cho các nhân viên theo quy định chi • Kiểm soát mã độc, tấn công:
tiêu bội bộ của doanh nghiệp, .. • Cần đảm bảo tránh bị các loại mã độc tấn công, …
BM CNTT - TMU - Bài giảng PTTK HTTT 2023 145 BM CNTT - TMU - Bài giảng PTTK HTTT 2023 146
Ví dụ minh họa yêu cầu phi chức năng Chương 3: Phân tích hệ thống thông tin
Yêu cầu về văn hóa và quan điểm chính trị theo hướng đối tượng
• Vấn đề đa ngôn ngữ: • 3.2. Biểu đồ ca sử dụng (Use Case Diagram)
• 2 ngôn ngữ TA và TV, hay nhiều ngôn ngữ?
• 3.2.1. Giới thiệu về ca sử dụng
• Khả năng tùy chỉnh:
• 3.2.2. Xác định các biến thể của ca sử dụng
• Tùy chỉnh theo số lượng nhân sự trong công ty, tùy chỉnh theo phòng ban,
chi nhánh? • 3.2.3. Xác định mối liên kết giữa các ca sử dụng
• Vấn đề các định mức, định lượng mờ • 3.2.4. Xây dựng biểu đồ và viết đặc tả ca sử dụng
• Tính hợp pháp của hệ thống:
• Các văn bản, báo cáo, quy trình và công thức tính đều theo TCVN IS2005
Biểu đồ ca sử dụng
Cách xác định ca sử dụng chính
Tích hợp 4
biểu đồ chính • Trả lời các câu hỏi:
trong UML • Người dùng có thể làm trong hệ thống?
• Có những yêu cầu nào của người dùng cần hệ thống trả
lời/ phản hồi/ đáp ứng?
• Hệ thống có thể tạo ra các thông tin gì sau khi xử lý/ tính
toán/ phản hồi/ hiển thị/ thực hiện?
• Có thể dựa trên bảng Task Table của dự án để xác định
các ca sử dụng chính của dự án
151
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT
10/04/2023
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT 153 20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT 154
Biểu đồ ca sử dụng
Ký pháp
Phần tử Ý nghĩa Cách biểu diễn Ký hiệu trong biểu
đồ
Usecase Biểu diễn một chức Hình ellip chứa tên của các Ví dụ về ca sử
năng xác định của hệ use case Usecas
e Name dụng tổng
thống
Tác nhân Là một đối tượng bên Biểu diễn bởi một hình
quát
ngoài hệ thống tương người tượng trưng
tác trực tiếp với các
Usecase
Mối quan hệ Tùy từng dạng quan Extend và Include có dạng
giữa các use hệ mũi tên đứt nét,
case Generalization có dạng mũi
tên tam giác
Biên của hệ Tách biệt phần bên Được biểu diễn bởi một hình
thống trong và bên ngoài hệ chữ nhật rỗng
thống
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT 157 158
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT
Biểu đồ ca sử dụng
Biểu đồ ca sử Cách xây dựng biểu đồ ca sử dụng
dụng chi tiết
cùng các liên • Xác định các tác nhân
Ai sẽ sử dụng/ cung cấp/ nhận/ yêu cầu/ quản trị/ thực hiện/ tương tác… với hệ
kết •
thống
• Hệ thống có tương tác với những hệ thống nào?
• Xác định các ca sử dụng
• Hệ thống cần làm/ xử lý/ lưu trữ/ in ấn/ hiển thị/ thông báo/ thay đổi, … từ/ tới tác
nhân nào trong hệ thống?
• Xác định các liên kết giữa các ca sử dụng
Các kiểu quan hệ Include/ Extend/ Generalization/ Kết hợp
• Vẽ biểu đồ
• Vẽ đường biên, vẽ tác nhân, vẽ ca sử dụng, vẽ các liên kết và hiệu chỉnh và làm mịn
159
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT
10/04/2023
Trigger:
• Đảm bảo thứ tự thực hiện đúng thực tế
Relationships: (Association, Include, Extend, Generalization)
• Viết theo ngôn ngữ mô tả tự nhiên
Normal Flow of Events:
• Làm mịn dần và lặp lại với các tác vụ con
Subflows:
Alternate/Exceptional Flows:
Biểu đồ ca sử dụng
Mục đích Để tiến hành tạo đơn hàng
Người gửi chọn chức năng Tạo đơn hàng, sau đó nhập các thông tin về người gửi, người nhận, đơn hàng, hình thức thanh toán, hình
Mô tả
thức lấy hàng, chọn gói cước
Điều kiện đầu vào Người gửi đăng nhập vào ứng dụng thành công
Phân loại các bản đặc tả Điều kiện đầu ra Thông báo tạo đơn hàng thành công, đơn hàng được lưu trên hệ thống
Biểu đồ ca
1. Người gửi chọn chức năng Tạo đơn hàng
2. Hệ thống hiển thị giao diện điền thông tin người gửi, người nhận, thông tin lấy hàng, thời gian lấy hàng
3. Người gửi nhập thông tin người gửi, người nhận, thông tin lấy hàng, thời gian lấy hàng
sử dụng
4. Người gửi chọn “Tiếp theo” để chuyển sang bước tiếp
5. Hệ thống lưu cache thông tin đã nhập và hiển thị giao diện nhập thông tin đơn hàng
6. Người gửi nhập thông tin về sản phẩm như tên, số lượng, tổng khối lượng, tổng kích thước, giá trị đơn hàng, lựa chọn người
Chương 3:
Phân tích hệ thống thông tin
theo hướng đối tượng Tích hợp 4
biểu đồ chính
trong UML
• 3.3. Biểu đồ lớp (Class Diagram)
• 3.3.1. Giới thiệu về lớp, đối tượng
172
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT
10/04/2023
Lớp Lớp
Cấu trúc Các thành phần
Sinh viên
• Các bộ mẫu để tạo các thể hiện hoặc đối tượng Mã sinh viên
Đăng ký học phần
Họ và tên Mã sinh viên
• Lớp ứng dụng, lớp dữ liệu, lớp giao diện, … Ngày sinh Mã lớp học phần
Giới tính Tên lớp học phần
• Thuộc tính lớp Địa chỉ Phòng học
Thời gian học
• Đặc điểm của lớp đó Xem thông tin ()
In thông tin () Thực hiện đăng ký ()
• Chỉ xét các thuộc tính hỗ trợ cho các yêu cầu của dự án Xem thời khóa biểu ()
In danh sách học phần ()
• Phương thức Tên Lớp
• Các hành động mà đối tượng của lớp có thể thực hiện Kết quả học phần
• Chỉ xem xét các hành động trong ngữ cảnh của dự án Các thuộc tính Mã sinh viên
Họ và tên
• Mối liên kết Tên học phần
Điểm học phần
• Thể hiện mối quan hệ giữa các lớp Các phương thức ()
Xem thông tin ()
In thông tin ()
Chương 3: Phân tích hệ thống thông tin Quan hệ giữa các lớp
theo hướng đối tượng Phân loại
• Mô tả mối liên kết/ mối quan hệ/ sự rang buộc giữa hai lớp trong hệ
thống
• Phân loại
• 3.3. Biểu đồ lớp (Class Diagram) • Liên kết nhị phân (association)
• 3.3.2. Mô hình hóa liên kết giữa các lớp • Liên kết tổng hợp (aggregation)
• Liên kết khái quát hóa (generalization)
10/04/2023
• Thể hiện mối quan hệ ngữ nghĩa được thiết lập giữa hai lớp • Mô tả mối quan hệ giữa đối tượng lớn hơn được tạo từ các đối
• Biểu diễn tượng nhỏ hơn
• Ví dụTên quan hệ: dùng cụm động từ/ danh từ diễn tả quan hệ giữa hai lớp • Biểu diễn bằng các tên quan hệ đặc trưng như: Có, thuộc về, thành
• Số lượng/ mối quan hệ (min, max): xác định khoảng giá trị cho phép một viên, gồm, …
đối tượng của lớp này có thể tham gia vào bao nhiêu lần trong liên kết • Ví dụ
• Mỗi nhân viên làm việc tại một phòng ban trong tổ chức
• Mỗi khách hang có nhiều đơn hàng
• Mỗi gia đình có thể có từ 0 đến nhiều con
• Mỗi phòng ban có nhiều nhân viên • Mỗi dự án có thể gồm nhiều giai đoạn
• Mỗi lớp học gồm có nhiều học sinh
Slide 184
PTTK HTTT BMCNTT - KHOA HTTT KT&TMĐT _TMU
10/04/2023
Cách xác định lớp trong hệ thống Cách xác định lớp trong hệ thống
Các hướng tiếp cận để xác định lớp Tiếp cận theo cụm danh từ
• Tiếp cận theo cụm danh từ • Tìm trong mô tả danh sách các danh từ, cụm danh từ có ý nghĩa của
hệ thống
• Tiếp cận theo phân loại
• Loại bỏ các danh từ và cụm danh từ không có ý nghĩa, trùng lắp,
• Tiếp cận theo ca sử dụng không có mục đích sử dụng trong hệ thống, không thuộc phạm vi
của hệ thống đang xây dựng
• Ví dụ:
• Các lớp có thể có trong hệ thống đăng ký học tín chỉ: Sinh viên, Giảng viên,
Lớp học, Thời khóa biểu, …
Cách xác định lớp trong hệ thống Cách xác định lớp trong hệ thống
Tiếp cận theo phân loại Tiếp cận theo ca sử dụng
• Lớp khái niệm (concept): Các nguyên lý được dùng để tổ chức hoặc lưu trữ : • Dựa trên bản đặc tả của các ca sử dụng
Mô hình, phương pháp, …
• Lớp sự kiện (event): Các sự kiện xảy ra trong hoạt động của hệ thống: Đăng ký, • Xác định các đối tượng tương tác/ tiếp nhận sự tương tác với các
Kết quả đăng ký, … tác nhân trong hệ thống?
• Lớp con người (people): Thể hiện các vai trò khác nhau của người dùng trong • Ví dụ
hệ thống: Sinh viên, giáo viên, …
• Danh sách lớp học phần
• Lớp tố chức: Các tổ chức, bộ phận tham gia vào hệ thống: Ngân hàng, Phòng • Danh sách môn học
QLĐT, …
• …
• Lớp vị trí (Place): Các vị trí vật lý mà hệ thông cần mô tả thông tin: Phòng thi,
Phòng học, …
• Sự vật hữu hình (Object): Các đối tượng hữu hình: sách, tài liệu, …
10/04/2023
Lớp Lớp
Thuộc tính Xác định thuộc tính cho lớp
• Khái niệm • Các danh từ đi theo các phó từ trong các ca sử dụng
• Đặc tính mô tả/ biểu diễn thông tin cho lớp trong ứng dụng • Ví dụ: Họ tên của sinh viên, tên môn học trong thời khóa biểu, …
• Đặc điểm • Có thể là các tính từ và phó từ diễn tả đối tượng
• Các đơn vị thông tin liên quan đến mô tả của lớp • Ví dụ: mã pin, loại tài khoản, …
• Chỉ các thuộc tính quan trọng đối với ứng dụng mới được đưa • Chú ý
vào • Chọn các thuộc tính ngắn gọn, đơn giản
• Phân loại • Nên tìm trong mô tả bài toán
• Thuộc tính khóa • Không nên để ý đến tất cả các thuộc tính, chỉ xác định các thuộc tính dùng
• Thuộc tính không khóa trong ứng dụng
10/04/2023
Lớp Lớp
Phương thức Xác định phương thức
• Khái niệm • Dựa trên các biểu đồ UML và các ca sử dụng
• Các hoạt động mà lớp được thực hiện trong ứng dụng • Dựa trên hiểu biết và dự đoán các hoạt động của các đối tượng
• Đặc điểm trong dự án
• Các hành động mà các thể hiện/đối tượng có thể thực hiện trong ứng dụng • Ví dụ
• Tập trung vào các hoạt động liên quan đến vấn đề cụ thể (tại thời điểm hiện • Lớp Tài khoản sinh viên sẽ có phương thức là đăng ký học phần, bổ sung
tại) học phần, rút bớt học phần, …
• Phân loại • Phân loại
• Phương thức kiến tạo: Tạo ra đối tượng • Phương thức toàn cục (Public)
• Phương thức truy vấn: Cung cấp thông tin theo các yêu cầu • Phương thức cục bộ (Private)
• Phương thức cập nhật: Thay đổi giá trị của một hoặc một số thuộc tính
Lớp Lớp
Các bước xây dựng biểu đồ lớp Các bước xây dựng biểu đồ lớp
• Nguyên tắc • Liệt kê danh sách các lớp đã được xác định có ý nghĩa trong dự án
• Đảm bảo sự độc lập của các thành phần trong dự án • Xác định các kiểu của lớp và vai trò của chúng trong hệ thống
• Giảm tối đa nội dung thông tin thiết kế
• Xác định phạm vi ảnh hưởng của lớp đó trong dự án
• Cụ thể
• Thiết kế độc lập và giảm tối đa thông tin trao đổi giữa các đối tượng
• Xác định các thuộc tính và phương thức của chúng
• Mức độ liên kết (coupling) giữa các đối tượng cần ở mức tối thiểu • Xác định mối quan hệ giữa các lớp
• Mức độ gắn kết (cohesion) giữa các đối tượng ở mức tối đa • Vẽ biểu đồ
• Mỗi lớp cần có một mục đích xác định trong ứng dụng
• Kiểm tra và hoàn thiện
• Các lớp có thể tái sử dụng, được chuẩn hóa và có thể thừa kế
10/04/2023
Slide 197
PTTK HTTT BMCNTT - KHOA HTTT KT&TMĐT _TMU
Biểu mẫu thẻ CRC (Mặt trước) Biểu mẫu thẻ CRC (mặt sau)
211
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT
10/04/2023
aMessage()
Thông điệp
Kết thúc x
Slide 225
PTTK HTTT BMCNTT - KHOA HTTT KT&TMĐT _TMU
• Một cách nhìn thông điệp giữa các đối tượng hướng đến cấu • Mô tả tương tác giữa các đối tượng trong hệ thống và thứ
trúc của quá trình truyền thông điệp giữa các đối tượng. tự các thông điệp được thực hiện trong các tương tác.
• Mỗi đối tượng sẽ có một biểu đồ giao tiếp trong hệ thống
• Giúp nhìn rõ mối quan hệ rõ ràng giữa các đối tượng khác nhau
• Mô hình hóa trực quan các ảnh hưởng của đối tượng
• Thể hiện rõ quá trình tương tác trên từng đối tượng
10/04/2023
Chương 3:
Phân tích hệ thống thông tin
theo hướng đối tượng Tích hợp 4
biểu đồ chính
trong UML
• 3.5. Biểu đồ dịch chuyển trạng thái và biểu đồ hoạt động
• 3.5.1. Biểu đồ dịch chuyển trạng thái
240
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT
10/04/2023
Biểu đồ dịch chuyển trạng thái Biểu đồ dịch chuyển trạng thái
Vai trò Đặc điểm
• Diễn tả quá trình chuyển trạng thái của các đối tượng tại • Chỉ biểu diễn các trạng thái và các sự kiện xảy ra trong ca sử dụng
các thời điểm khác nhau trong một ca sử dụng • Không kèm các thông điệp
• Hiển thị các trạng thái khác nhau của đối tượng và những • Có đầy đủ các hành động của đối tượng
sự kiện tác động làm đối tượng thay đổi từ trạng thái này
sang trạng thái khác, cùng với các phản ứng và hành động
của đối tượng trong ca sử dụng đó
Biểu đồ dịch chuyển trạng thái Biểu đồ dịch chuyển trạng thái
Các thành phần Các ký pháp
Chương 3: Phân tích hệ thống thông tin Biểu đồ dịch chuyển trạng thái
theo hướng đối tượng Ví dụ
• Các trạng thái
• Các sự kiện
• 3.5. Biểu đồ dịch chuyển trạng thái và biểu đồ hoạt động • Các chuyển dịch
• Các hành động
• 3.5.1. Biểu đồ dịch chuyển trạng thái
• Các hoạt động
Slide 248
PTTK HTTT BMCNTT - KHOA HTTT KT&TMĐT _TMU
10/04/2023
Biểu đồ dịch chuyển trạng thái Biểu đồ dịch chuyển trạng thái
Cách xây dựng Ví dụ biểu đồ chi tiết
• Xác định ngữ cảnh (Dựa trên ca sử dụng và biểu đồ tuần tự)
• Xác định trạng thái khởi tạo, trạng thái kết thúc, các trạng thái trng
gian của đối tượng
• Xác định thứ tự của các trạng khi đối tượng chuyển dịch sang trạng
thái mới
• Xác định các sự kiện, các hành động, các điều kiện và mối liên kết
khi chuyển dịch trạng thái
• Hoàn thiện và vẽ biểu đồ
Slide 250
PTTK HTTT BMCNTT - KHOA HTTT KT&TMĐT _TMU
Slide 257
Chương 3: Phân tích hệ thống thông tin Viết và xây dựng tài liệu phân tích dự án
theo hướng đối tượng Mục đích
• Xây dựng tài liệu phân tích cho dự án, làm cơ sở cho các hoạt động
của pha Thiết kế
• Phân loại:
Tài liệu cho hợp đồng (tài liệu tóm tắt)
• 3.6.2. Viết và xây dựng tài liệu phân tích dự án •
• Tài liệu cho pha thiết kế (tài liệu chi tiết)
Viết và xây dựng tài liệu phân tích dự án Viết và xây dựng tài liệu phân tích dự án
Các nhóm tài liệu Các nội dung của tài liệu
• Tài liệu của hệ thống • Danh mục các ca sử dụng của hệ thống
• Các tài liệu phân tích tĩnh và phân tích động của hệ thống • Bảng hướng dẫn các nội dung
• Các tài liệu hướng dẫn hoạt động của các lớp và các phương • Bảng chỉ dẫn đến từng ca sử dụng
thức trong hệ thống
• Mô tả hoạt động của các ca sử dụng chính
• Chuẩn bị tài liệu cho người dùng • Danh sách các thuật ngữ quan trọng sử dụng trong hệ thống
• Các tài liệu hỗ trợ trong viết hướng dẫn sử dụng cho hệ thống
khi hệ thống hoàn thành
Viết và xây dựng tài liệu phân tích dự án Tổng kết chương 3
Nguyên tắc viết tài liệu Phân tích hệ thống thông in theo hướng đối tượng
Các kiến thức và kỹ năng cần đạt Các kiến thức và kỹ năng cần đạt
được trong chương 3 (2) được trong chương 3 (3)
• Các kiến thức cần nắm vững • Các kỹ năng cần đạt được
• Phân tích tĩnh
• Kỹ năng cứng
• Hiểu và nắm vững về pha phân tích
• Biểu đồ lớp • Vận dụng được các kiến thức để xác định được các loại yêu cầu
• Lược đồ ERD • Xây dựng được các biểu đồ hỗ trợ phân tích tĩnh
• Xây dựng được các biểu đồ phân tích động
• Phân tích động • Kỹ năng mềm
• Biểu đồ ca sử dụng • Đọc, tổng hợp và viết tài liệu
• Biểu đồ tương tác • Phân tích, tổng hợp và lập kế hoạch
• Biểu đồ hoạt động • Viết tài liệu phân tích dự án
• Thuyết trình và thương thảo
• Biểu đồ chuyển trạng thái
Thiết kế kiến trúc cho hệ thống Thiết kế kiến trúc cho hệ thống
Khái niệm Các bước thực hiện
• Hệ thống hướng đối tượng • Mô tả các thành phần cơ bản của một hệ thống thông tin?
được mô hình hóa dưới các • Mô tả kiến trúc ứng dụng khách-máy chủ, dựa trên máy chủ hay
thành phần ứng dụng di động?
• Các lớp
• Các đối tượng
• Mô tả các kỹ thuật và công nghệ sử dụng trong hệ thống
• Trạng thái • Giải thích các yêu cầu về hoạt động, hiệu suất, an ninh, văn hóa và
• Phương thức chính trị ảnh hưởng đến kiến trúc của hệ thống
• Thông điệp • Tạo mô tả về kỹ thuật phần cứng và phần mềm ứng dụng cho hệ
thống
304
© 2015 John Wiley & Sons. All Rights Reserved.
10/04/2023
• Biểu đồ triển khai biểu diễn kiến trúc cài đặt và triển khai hệ
thống dưới dạng các nodes và các mối quan hệ giữa các
• 4.1. Thiết kế kiến trúc và các hệ thống con node đó.
• 4.1.4. Thiết kế kiến trúc và biểu đồ triển khai • Thông thường, các nodes được kết nối với nhau thông qua
các liên kết truyền thông như các kết nối mạng, liên kết
TCPIP, microwave…
10/04/2023
Các liên kết truyền Nối các thành phần của biểu
thông đồ triển khai hệ thống.
Thường mô tả một giao thức
truyền thông cụ thể.
20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT 321 20/12/2013 Bộ môn CNTT - Khoa HTTT Kinh tế và TMDT 322
Tổng quan về thiết kế giao diện người dùng Tổng quan về thiết kế giao diện người dùng
Lưu ý khi thiết kế giao diện Nguyên tắc chung
• Dựa trên lớp giao diện trong biểu đồ lớp • Sự quen thuộc của người dùng
• Sự phù hợp và những trải nghiệm của người dùng • Sự thống nhất
• Nắm rõ về màu sắc, sự đồng nhất, sự đối lập, sự kết hợp, … • Tối thiểu hóa
• Hiểu rõ ảnh hưởng của giao diện đến đánh giá của người dùng • Khả năng hướng dẫn và phục hồi
• Hiểu rõ sự đa dạng về người dùng và sự đa dạng của ứng dụng • Sự đa dạng trong tương tác
10/04/2023
Tổng quan về thiết kế giao diện người dùng Tổng quan về thiết kế giao diện người dùng
Mục tiêu Nguyên tổ chức giao diện của hệ thống
• Có cách trình bày dễ hiểu • Xác định các thành phần cơ bản của giao diện hệ thống
• Người dùng có thể nắm được nội dung • Cách thức hoạt động và sự khác nhau đối với mỗi nhóm tác nhân
• Có tính thẩm mỹ • Cần có sơ đồ cấu trúc giao diện hay còn gọi là sơ đồ di chuyển tổng
• Dùng được với nhiều mức độ khác nhau thể của hệ thống
• Có tính nhất quán • Hiển thị cách tất cả các màn hình, biểu mẫu và báo cáo có liên quan
với nhau
• Cố gắng giảm thiểu nỗ lực của người dùng
• Cho biết cách người dùng di chuyển từ chức năng này sang chức
năng khác
331
© 2015 John Wiley & Sons. All Rights Reserved.
10/04/2023
Tổng quan về thiết kế giao diện người dùng Chương 4: Thiết kế hệ thống thông tin
Các loại giao diện của hệ thống theo hướng đối tượng
• Các thành phần cơ bản trên các màn hình, biểu mẫu và báo cáo riêng lẻ
trong ứng dụng
• Giao diện loại cần lựa chọn: lịch, sổ séc, giỏ hàng
Giao diện cho các đối tượng người dùng khác nhau: khách hàng/người
•
dùng cuối; nhân viên/cộng tác viên) • 4.2. Thiết kế giao diện người dùng
• Giao diện thể hiện hành động: mua hang/ tìm kiếm/ thanh toán/ tạo hóa • 4.2.2. Các phiên bản trong thiết kế giao diện
đơn
• Giao diện là các biểu tượng: Hình ảnh/ logo/ …
• Giao diện cho các trạng thái hoặc hoạt động: Đang sao chép/ Cho vào
thùng rác/ Đang xóa/ Đang lưu/ Đang tìm kiếm/ Đáng tính, …
• Các giao diện mẫu: Các bản hướng dẫn/ Các mô tả, …
Các phiên bản trong thiết kế giao diện Các phiên bản trong thiết kế giao diện
Khái niệm Phân loại
• UI - User Interface (giao diện người dùng)
• UI dùng để hướng dẫn người dùng một cách trực quan thông qua
giao diện.
• UI ếp nhận các thông tin từ UX để đưa ra thiết kế giao diện gồm:
• Màu sắc, hình ảnh, ngôn ngữ, trình bày bố cục...
• UX - User Experience (trải nghiệm người dùng)
• UX đảm bảo tính logic, trình tự hành động hoặc thao tác của người
dùng trên giao diện của hệ thống
• UX cho biết người dùng cần gì, thích gì? không thích điều gì? Để
người thiết kế cải thiện khả năng sử dụng, tạo được hứng thú và
giúp gia tăng khách hang tiềm năng
10/04/2023
Các phiên bản trong thiết kế giao diện Các phiên bản trong thiết kế giao diện
Phân loại Phân loại
Kiểu tài
Phiên bản Đặc điểm Công cụ hỗ trợ
liệu
Phác thảo nhanh về giao diện, về ý tưởng các thành phần Giấy, bút, phần Bản
Sketch
trên toàn bộ giao diện của hệ thống mềm phác thảo draft
Nâng cấp từ bản Sketch, tạo bản phác họa, các khối màu
Wireframe PowerPoint, Visio File
đen trằng hoặc có xám, các ghi chú text dạng sơ lược
Nâng cấp từ bản Wireframe, phác thảo màu sắc, có đủ các
Axure, Adobe
Mockup thành phần và các hình ảnh sơ bộ, khá sát với bản cuối, có File
XD, Photoshop
thể dùng cho hợp đồng
Nâng cấp từ bản Mockup, sát với thực tế, đầy đủ các giao Adobe XD,
Prototype diện, menu, hình ảnh và bao gồm cả sự dịch chuyển qua Photoshop, File
lại giữa các giao diện Figma
Các phiên bản trong thiết kế giao diện Các phiên bản trong thiết kế giao diện
Ký pháp bản Sketch Ví dụ bản Sketch giao diện
10/04/2023
Chương 4: Thiết kế hệ thống thông tin Thiết kế thực đơn trong giao diện
theo hướng đối tượng Khái niệm
• Thực đơn (menu) là cấu trúc tổ chức các hoạt động của hệ thống
Thể hiện được các chức năng hệ thống cung cấp cho người dùng
• 4.2. Thiết kế giao diện người dùng •
345 346
© 2015 John Wiley & Sons. All Rights Reserved. © 2015 John Wiley & Sons. All Rights Reserved.
348
© 2015 John Wiley & Sons. All Rights Reserved.
10/04/2023
350
© 2015 John Wiley & Sons. All Rights Reserved.
352
© 2015 John Wiley & Sons. All Rights Reserved.
10/04/2023
Chương 4: Thiết kế hệ thống thông tin Thiết kế các giao diện nhập dữ liệu
theo hướng đối tượng Khái niệm
• Giao diện nhập dữ liệu hay còn gọi giao diện nhập liệu
• Thiết kế các thành phần để người dùng nhập các kiểu dữ liệu khác
• 4.2. Thiết kế giao diện người dùng nhau
• 4.2.4. Thiết kế các giao diện nhập dữ liệu • Tiêu chí
• Đơn giản, dễ hiểu
• Dễ nhận biết kiểu dữ liệu và dễ dàng lựa chọn
• Hỗ trợ tối đa các thao tác của người dùng
• Đơn giản hóa các bộ dữ liệu lưu trữ vào hệ thống
Thiết kế các giao diện nhập dữ liệu Thiết kế các giao diện nhập dữ liệu
Các kiểu đối tượng hỗ trợ nhập liệu Các bước thiết kế
• Phác thảo bản Sketch
• Xác định các kiểu dữ liệu và cách thức lưu trữ chúng
• Xây dựng bản Wireframe với các đối tượng chi tiết
• Làm mịn và tích hợp vào thực đơn và Storyboard của các thực đơn
10/04/2023
Thiết kế các giao diện nhập dữ liệu Thiết kế các giao diện nhập dữ liệu
Các kiểu giao diện nhập liệu Phác thảo Storyboard cho giao diện nhập liệu
Chương 4: Thiết kế hệ thống thông tin Thiết kế giao diện xuất dữ liệu
theo hướng đối tượng Khái niệm
• Thiết kế biểu mẫu để hiển thị dữ liệu sau khi thực hiện một
hoặc một số yêu cầu từ người dùng
Mỗi giao diện xuất có các yêu cầu khác nhau
• 4.2. Thiết kế giao diện người dùng •
Thiết kế giao diện xuất dữ liệu Thiết kế giao diện xuất dữ liệu
Phân loại Báo cáo
• Báo cáo
• Định kỳ
• Tức thời
• Biểu mẫu hiển thị thông tin
• Sau khi tính toán xử lý
• Hiển thị định kỳ
• Kết quả truy xuất thông tin
• Theo thiết bị
• Theo định dạng
Thiết kế giao diện xuất dữ liệu Thiết kế giao diện xuất dữ liệu
Biểu mẫu hiển thị thông tin Kết quả truy xuất thông tin
• Xuất ra tập tin
• Pdf, word, xml, …
• Xuất ra màn hình
• Desktop, laptop, tablet, mobile device, …
• Xuất ra thiết bị khác
• Máy in, máy ảnh, máy quét …
10/04/2023
Tổng quan về mô hình hóa dữ liệu Tổng quan về mô hình hóa dữ liệu
Vai trò Các mức mô hình hóa
• Biểu diễn dữ liệu được thu thập, lưu trữ, sử dụng và tạo ra • Mô hình dữ liệu logic hiển thị cấu trúc và cách thức tổ chức
trong quá trình hệ thống hoạt động dữ liệu trong hệ thống như thế nào (Ngữ nghĩa)
• Biểu diễn các thông tin về người, địa điểm, sự kiện, đối • Mô hình dữ liệu vật lý cho thấy cách dữ liệu thực sự sẽ
tượng, hoạt động, khái niệm và toàn bộ dữ liệu mà hệ được lưu trữ trong hệ thống như thế nào và ở đâu (Vật lý)
thống thu thập, lưu trữ, xử lý và mối quan hệ giữa chúng.
Tổng quan về mô hình hóa dữ liệu Tổng quan về mô hình hóa dữ liệu
Quy trình thiết kế dữ liệu cho hệ thống Khái niệm cơ sở dữ liệu
• Bước 1: Thu thập và xử lý sơ bộ từ các nguồn từ thực tế • CSDL (Database) = Tập hợp dữ liệu được tổ chức có cấu trúc liên
• Bước 2: Phân loại các nhóm thực thể và lựa chọn các thuộc tính quan với nhau và được lưu trữ trong máy tính.
được sử dụng cho hoạt động của hệ thống • CSDL được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu,
• Bước 3: Xây dựng các tập thực thể và các mối liên kết truy xuất thông tin hoặc cập nhật dữ liệu
• Bước 4: Chuyển đổi sang mô hình dữ liệu tương ứng
Lưu trữ dữ liệu
• Bước 5: Chuẩn hóa cơ sở dữ liệu
• Bước 6: Xây dựng lược đồ dữ liệu và xác định các miền dữ liệu cho Cập nhật dữ liệu
CSDL
từng thuộc tính để có thể cài đặt lên hệ quản trị cơ sở dữ liệu
Truy xuất thông tin
Tổng quan về mô hình hóa dữ liệu Tổng quan về mô hình hóa dữ liệu
Cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu
• Quản lý dữ liệu bằng CSDL giúp dữ liệu được lưu trữ một cách • Phần mềm hỗ trợ tạo lập, lưu trữ và xử lý dữ liệu cho hệ thống
hiệu quả và có tổ chức, cho phép quản lý dữ liệu nhanh chóng
và hiệu quả • Phân loại
• Lợi ích: • Mã nguồn đóng
• Tránh dư thừa, trùng lắp dữ liệu • MS Access, MS SQL Server, Oracle, …
• Đảm bảo sự nhất quán trong CSDL • Mã nguồn mở
• Các dữ liệu lưu trữ có thể được chia sẻ • MySQL, MariaDB, …
• Có thể thiết lập các chuẩn trên dữ liệu
• Duy trì tính toàn vẹn dữ liệu
• Đảm bảo bảo mật dữ liệu
Tổng quan về mô hình hóa dữ liệu Tổng quan về mô hình hóa dữ liệu
Hệ quản trị cơ sở dữ liệu Vai trò của hệ quản trị cơ sở dữ liệu
• Cung cấp môi trường để tạo lập nên cơ sở dữ liệu.
• Cung cấp cho hệ thống cách thức cập nhật và khai thác các
dữ liệu
• Cung cấp các công cụ điều khiển, kiểm soát truy cập và quản
trị cơ sở dữ liệu
10/04/2023
Tổng quan về mô hình hóa dữ liệu Chương 4: Thiết kế hệ thống thông tin
Tiêu chí lựa chọn hệ quản trị cơ sở dữ liệu theo hướng đối tượng
• Các tiêu chí lựa chọn • Các kiểu cơ sở dữ liệu:
• Mô hình dữ liệu hỗ trợ • Cơ sở dữ liệu kế thừa
• Kiến trúc sử dụng • Cơ sở dữ liệu quan hệ
• Độ an toàn và tin cậy • Cơ sở dữ liệu đối tượng • 4.3. Thiết kế việc lưu trữ dữ liệu
• Tài chính • Cơ sở dữ liệu đa chiều • 4.3.2. Các mô hình dữ liệu phổ biến
• Cơ sở dữ liệu NoQuery
Bài giảng HTTT quản lý 1.3 379 Bài giảng HTTT quản lý 1.3 380
10/04/2023
Bài giảng HTTT quản lý 1.3 381 Bài giảng HTTT quản lý 1.3 382
Bài giảng HTTT quản lý 1.3 383 Bài giảng HTTT quản lý 1.3 384
10/04/2023
Bài giảng HTTT quản lý 1.3 385 Bài giảng HTTT quản lý 1.3 386
Mã KH ID
• Thành phần Tên KH
Địa chỉ
Mã HĐ ID
Ngày tạo HĐ
Tổng tiền
• Các tập thực thể Số điện thoại
Lược đồ ERD
Xác định quan hệ của các thực thể
is assigned PARKING
EMPLOYEE
is assigned to
one-to-one
PLACE
Lược đồ ERD
Ví dụ
PRODUCT includes PRODUCT
LINE
is included in
one-to-many
chính • => Có kiểu bộ, không phải giá trị đơn City
State
ZipCode
Chuẩn hóa
CustomerType
• Initials
District Number
• Loại bỏ các thuộc tính chỉ phụ thuộc 1 phần vào khóa chính Region Number
1 to 22 Occurrences of:
Thiết kế hệ thống lưu trữ dữ liệu Thiết kế hệ thống lưu trữ dữ liệu
Khái niệm Phân loại
• Thiết kế mô hình vật lý cho cơ sở dữ liệu của hệ thống • Không gian lưu trữ được xem xét dưới hai kiểu
• Bao gồm • Định dạng của dữ liệu
• Thiết bị vật lý • Định dạng kiểu tập tin (file): Kiểu tập tin, cấu trúc lưu trữ và cách thức
• Hệ cơ sở dữ liệu của dự án lưu trữ để tối ưu trong truy xuất và xử lý dữ liệu
• Định dạng cơ sở dữ liệu (database): Tập hợp dữ liệu cần lưu trữ theo
một mô hình xác định trước.
• Mô hình mà hệ quản trị CSDL hỗ trợ
• Hệ quản trị CSDL chỉ hỗ trợ 1 số mô hình dữ liệu nhất định, vì vậy, quyết
định lựa chọn Hệ quản trị CSDL sẽ xác định các phương thức xử lý và
quản trị dữ liệu trong hệ thống
10/04/2023
Thiết kế hệ thống lưu trữ dữ liệu Thiết kế hệ thống lưu trữ dữ liệu
Phân loại tập tin Phân loại cơ sở dữ liệu
• Tệp chính (Master File) – lưu trữ thông tin cốt lõi quan trọng đối với • Legacy database – CSDL kế thừa
ứng dụng.
• Relational database – CSDL quan hệ
• Tệp tra cứu (Lookup File) – chứa các giá trị tĩnh.
• Object database – CSDL đối tượng
• Tệp giao dịch (Transaction File) – lưu trữ thông tin có thể được sử
dụng để cập nhật tệp chính. • Multidimensional database – CSDL đa chiều
• Tệp kiểm tra (Audit File) – ghi lại hình ảnh dữ liệu “trước” và “sau” • NoSQL database – CSDL tự do (No Query)
khi dữ liệu bị thay đổi.
• Tệp lịch sử (History File) – lưu trữ các giao dịch trong quá khứ.
Thiết kế hệ thống lưu trữ dữ liệu Thiết kế hệ thống lưu trữ dữ liệu
Tối ưu hóa hiệu quả xử lý Các kỹ thuật tối ưu hóa hiệu quả xử lý
• Mục đích tối ưu hiệu quả xử lý • Chuẩn hóa
• Gồm hai nhóm: • Phân cụm
• Tối ưu trên thiết bị lưu trữ
• Tối ưu hay tăng tốc độ truy cập. • Đánh chỉ mục
• Giải pháp • Ước lượng kích thước dữ liệu để tối ưu thiết bị phần cứng
• Hạn chế dư thừa dữ liệu; Hạn chế giá trị null trong CSDL
• Chuẩn hóa dữ liệu
10/04/2023
Thiết kế hệ thống lưu trữ dữ liệu Chương 4: Thiết kế hệ thống thông tin
Tối ưu hóa hiệu quả xử lý theo hướng đối tượng
• Tiêu chí
• Phù hợp thiết bị phần cứng
• Các phần mềm quen thuộc với người dùng
• Thời gian xử lý đáp ứng yêu cầu thực hiện của hệ thống
• 4.4. Thiết kế chương trình và cài đặt
• Không gian lưu trữ đảm bảo để mở rộng hệ thống • 4.4.1. Tổng quan về thiết kế chương trình
Tổng quan về thiết kế chương trình Tổng quan về thiết kế chương trình
Lưu ý trong thiết kế chương trình và cài đặt Khái niệm
• Dựa trên biểu đồ ca sử dụng, biểu đồ lớp và biểu đồ hoạt • Tạo bản hướng dẫn cho người lập trình xây dựng chương
động trình cho dự án
• Là sự chuyển đổi từ mô hình logic sang mô hình vật lý của • Cách tiếp cận
hệ thống nên cần có sự tương thích về • Top - down
• Công nghệ thực tế áp dụng cho dự án • Bottom - Up
• Định dạng dữ liệu • Tài liệu thiết kế chương trình
• Sự tương tác giữa người và máy tính • Tất cả các lược đồ có cấu trúc và thông số kỹ thuật cần thiết
cho người lập trình để triển khai hệ thống bằng một ngôn
ngữ lập trình
10/04/2023
Tổng quan về thiết kế chương trình Tổng quan về thiết kế chương trình
Quy trình chung thiết kế chương trình Lược đồ cấu trúc tổ chức chương trình
• Quy trình thiết kế chương trình • Tuân thủ các kỹ thuật thiết kế chương trình
• Xây dựng sơ đồ luồng (Flow chart) • Yêu cầu phải hiển thị được tất cả các thành phần của mã
• Viết mã giả (Pseudocode) nguồn ở định dạng phân cấp
• Viết đặc tả chương trình (Program Specification) • Các câu lệnh tuần tự
• Các câu lệnh lựa chọn
• Các vòng lặp
• Minh họa tổ chức và sự tương tác của các mô-đun chương
trình khác nhau
Tổng quan về thiết kế chương trình Tổng quan về thiết kế chương trình
Tiêu chuẩn đánh giá bản thiết kế chương trình Tiêu chuẩn đánh giá bản thiết kế chương trình
Chương 4: Thiết kế hệ thống thông tin Thiết kế chương trình bằng lược đồ
theo hướng đối tượng Khái niệm
• Flowchart là một dạng biểu đồ hay lưu đồ diễn giải cho một
thuật toán hoặc một quy trình làm việc.
• 4.4. Thiết kế chương trình và cài đặt • Mục đích:
• 4.4.2. Thiết kế chương trình bằng Flow Chart • Biểu diễn quy trình hoạt động của ca sử dụng
• Một bước xử lý hay còn gọi là hoạt động, biểu thị dưới dạng
hình hộp chữ nhật.
• Một quyết định, biểu hiện dưới dạng viên kim cương.
10/04/2023
Thiết kế chương trình bằng lược đồ Thiết kế chương trình bằng lược đồ
Phân loại Ký pháp
• Lược đồ mô tả quy trình xử lý từng bước hoặc từng giai đoạn
• Biểu diễn các hoạt động
• Mỗi giai đoạn hoạt động được biểu thị dưới dạng hình hộp chữ nhật.
• Lược đồ dùng để mô tả một quyết định
• Biểu diễn việc ra quyết định hoặc rẽ nhánh
• Biểu diễn bằng dạng viên kim cương
Thiết kế chương trình bằng lược đồ Thiết kế chương trình bằng lược đồ
Quy trình xây dựng Xây dựng lược đồ theo phương pháp Top-down
• Xác định các nhiệm vụ • Xác định các mô-đun cấp cao nhất và phân tách chúng
• Xác định các luồng vào và ra thành các cấp thấp hơn
• Xác định các rẽ nhánh • Thêm các kết nối đến mô-đun khác hoặc câu lệnh điều
• Xác định các kết thúc của các nhiệm vụ khiển (rẽ nhánh, lặp, ngắt, …)
• Phác thảo trên giấy • Thêm các mô-đun con
• Sử dụng công cụ • Làm mịn dần cho đến khi hoàn thành
• Hoàn thiện lược đồ
10/04/2023
Thiết kế chương trình bằng lược đồ Thiết kế chương trình bằng lược đồ
Ví dụ biểu đồ đăng ký dịch vụ Ví dụ quy trình nghiệp vụ
Chương 4: Thiết kế hệ thống thông tin Thiết kế chương trình với mã giả
theo hướng đối tượng Khái niệm
• Mã giả là bản phác thảo mã nguồn (code) nêu rõ từng bước
để dần chuyển đổi thành chương trình bằng một ngôn ngữ lập
trình cụ thể.
• 4.4. Thiết kế chương trình và cài đặt • Mã giả được sử dụng để hoạch định các hàm (function), hoặc
• 4.4.3. Thiết kế chương trình với mã giả thủ tục (procedure) trong các chương trình và nâng cấp để
thành chương trình hoặc mô đun xử lý
10/04/2023
Thiết kế chương trình với mã giả Thiết kế chương trình với mã giả
Mục đích Quy tắc viết mã giả
• Mô tả rằng thuật toán sẽ hoạt động như thế nào? • Viết có cấu trúc rõ ràng
• Cấu tạo một hàm tạo (construct) • Mỗi câu lệnh viết trên một dòng
• Kỹ thuật hoặc quy trình xử lý được sử dụng trong chương trình.
• Các cấu trúc lặp, rẽ nhánh cần thể hiện rõ bằng các khối và lùi vào
• Giải thích quy trình tính toán cho các nhóm người dùng khác trong
dự án • Sử dụng ngôn ngữ kết hợp (tự nhiên và lập trình dạng mô phỏng)
• Thiết kế mã nguồn cho cả nhóm. • Viết HOA các từ khóa quan trọng
• Chèn mã giả vào những bản thiết kế để hỗ trợ giải quyết vấn đề phức tạp • Viết theo định dạng chương trình con, đúng cấu thứ tự thực hiện
mà nhiều lập trình viên đang gặp khó khăn
• Mã giả giúp những ý định của người thiết kế trở nên rõ ràng hơn.
Thiết kế chương trình với mã giả Thiết kế chương trình với mã giả
Quy trình viết mã giả cho chương trình Ví dụ mã giả cho chương trình
• Viết kiểu tự do theo mô tả hoạt động của chương trình
• Làm mịn dần với các cấu trúc điều khiển, rẽ nhánh
• Chỉnh sửa và đặt tên các biến sát với nội dung
• Hoàn thiện
10/04/2023
Xây dựng bản đặc tả chương trình Xây dựng bản đặc tả chương trình
Khái niệm Đặc điểm và nội dung
• Bản đặc tả chương trình dùng để mô tả bản thiết kế chương trình • Thường không có cách tiếp cận tiêu chuẩn
đầy đủ để đưa vào tài liệu của hệ thống và hỗ trợ lập trình viên cài • Thường viết lại các thông tin của chương trình
đặt chương trình trên thực tế
• Khi viết chú ý các sự kiện kích hoạt hành động
• Phân loại
• Dạng thu gọn • Liệt kê danh sách đầu vào và đầu ra
• Dạng chi tiết • Đưa cả phần mã giả vào đặc tả
• Cung cấp đầy đủ các ghi chú và nhận xét bổ sung đối với các biến,
hàm, tham số, … cần thiết
10/04/2023
Xây dựng bản đặc tả chương trình Xây dựng bản đặc tả chương trình
Chuyển từ bản đặc tả sang cài đặt Chuyển từ bản đặc tả sang cài đặt
• Xây dựng mã nguồn • Xây dựng mã nguồn
• Xác định quyền và phạm vi hoạt động của các mô đun • Lựa chọn ngôn ngữ lập trình tương thích
• Xây dựng các ca kiểm thử • Chuyển đổi từ đặc tả chương trình
• Cài đặt • Kết nối với cơ sở dữ liệu
• Kiểm tra và hoàn thiện
10/04/2023
Chương 4: Thiết kế hệ thống thông tin Lựa chọn ngôn ngữ lập trình và cài đặt
theo hướng đối tượng Chuyển đổi từ thiết kế sang cài đặt
• Xây dựng mã nguồn
• Xác định quyền và phạm vi hoạt động của các mô đun
• 4.4. Thiết kế chương trình và cài đặt • Xây dựng các ca kiểm thử
• Cài đặt
• 4.4.5. Lựa chọn ngôn ngữ lập trình và cài đặt
Lựa chọn ngôn ngữ lập trình và cài đặt Lựa chọn ngôn ngữ lập trình và cài đặt
Xây dựng mã nguồn Quy trình cài đặt chương trình
• Lựa chọn ngôn ngữ lập trình tương thích • Lập kế hoạch cài đặt
• Chuyển đổi từ đặc tả chương trình • Lựa chọn chiến lược cài đặt
• Kết nối với cơ sở dữ liệu • Phân công lập trình viên
• Kiểm tra và hoàn thiện • Phối hợp các hoạt động
• Quản lý tiến độ
10/04/2023
Lựa chọn ngôn ngữ lập trình và cài đặt Lựa chọn ngôn ngữ lập trình và cài đặt
Phối hợp và thiết kế quy tắc cài đặt Quản lý tiến độ
• Lập lịch các cuộc họp hàng tuần • Ước lượng thời gian
• Tạo và tuân theo các tiêu chuẩn cài đặt • Cập nhật thời gian khi tiến hành xây dựng
• Tổ chức khu vực làm việc của lập trình viên • Xem xét accs trường hợp vi phạm lịch trình
• Nhóm phát triển • Chú ý các nguy cơ dẫn đến sai sót
• Nhóm thử nghiệm
• Nhóm hoàn thiện sản phẩm
• Xây dựng và dự đoán các rủi ro
• Thực hiện các cơ chế kiểm soát thay đổi trong quá trình cài đặt • Chống lại sự cám dỗ dẫn đến giảm chất lượng nhằm thỏa mãn lịch
trình
• Sử dụng nhật ký chương trình để theo dõi các phiên bản
460
Roberta M. Roth © 2015 John Wiley & Sons. All Rights Reserved.
10/04/2023
© 2015 John Wiley & Sons. All Rights Reserved. 461 © 2015 John Wiley & Sons. All Rights Reserved. 462
© 2015 John Wiley & Sons. All Rights Reserved. 463 © 2015 John Wiley & Sons. All Rights Reserved. 464
10/04/2023
469
© 2015 John Wiley & Sons. All Rights Reserved.
2. Các nội dung cần đạt được của chương 4 3. Ôn tập chương 4
• Về kiến thức Về kiến thức
• Hiểu và vận dụng được các kiến trúc của hệ thống, phân chia hệ thống thành các hệ thống
con
• Hiểu và vận dụng về thiết kế giao diện, về thiết kế dữ liệu, về chương trình và cài đặt
• Kiến thức về kiến trúc của hệ thống, phân chia hệ thống
• Viết và xây dựng được tài liệu thiết kế cho một dự án thành các hệ thống con
• Về kỹ năng
• Sử dụng được một công cụ để xây dựng các tài liệu thiết kế • Kiến thức về thiết kế giao diện, về thiết kế dữ liệu, về
• Xây dựng được bản đặc tả phần cứng, phần mềm cho hệ thống chương trình và cài đặt
• Xây dựng được cơ sở dữ liệu và thiết kế được hệ thống lưu trữ cho hệ thống
• Xây dựng được bản thiết kế giao diện của hệ thống • Kiến thức và nguyên tắc trong viết và xây dựng tài liệu thiết
• Về kỹ năng mềm kế cho một dự án
• Rèn luyện khả năng thiết kế, viết tài liệu, làm việc nhóm
• Rèn luyện khả năng lập kế hoạch, tổ chức và xây dựng dự án
• Thành thạo trong sử dụng được một công cụ để xây dựng • Rèn luyện khả năng thiết kế, viết tài liệu, làm việc nhóm
các tài liệu thiết kế • Rèn luyện khả năng lập kế hoạch, tổ chức và xây dựng dự án
• Xây dựng được bản đặc tả phần cứng, phần mềm cho hệ
thống
• Xây dựng được cơ sở dữ liệu và thiết kế được hệ thống lưu
trữ cho hệ thống
• Xây dựng được bản thiết kế giao diện của hệ thống
10/04/2023
Hướng dẫn nội dung một tài liệu dự án Nội dung của một tài liệu dự án
Mô tả dự án
Nội dung của một tài liệu dự án Nội dung của một tài liệu dự án
Đặc tả yêu cầu dự án Phân tích yêu cầu dự án
Nội dung của một tài liệu dự án Nội dung của một tài liệu dự án
Phân tích yêu cầu dự án Thiết kế hệ thống cho dự án
• Phân tích cấu trúc động • Thiết kế kiến trúc với các hệ thống con
• Xác định các ca sử dụng • Thiết kế dữ liệu
• Xây dựng biểu đồ ca sử dụng
• Xây dựng biểu đồ hoạt động
• Thiết kế giao diện
• Xây dựng biểu đồ tương tác • Thiết kế chương trình
• Biểu đồ tuần tự • Chuyển đổi thiết kế sang cài đặt
• Biểu đồ tương tác tổng quát
• Biểu đồ thời gian
• Biểu đồ giao tiếp
• Xây dựng biểu đồ chuyển đổi trạng thái
Nội dung của một tài liệu dự án Tổng kết học phần
Tài liệu cho dự án Phân tích và thiết kế Hệ thống thông tin
• Tài liệu người dùng • Nội dung
• Tài liệu hệ thống • Các kiến thức cần nắm vững để vận dụng
• Các kỹ năng được thực hành
• Các sản phẩm và yêu cầu về học phần
• Các yêu cầu cần đạt được của các sản phẩm
10/04/2023
Các kiến thức cần nắm vững để vận dụng (1) Các kiến thức cần nắm vững để vận dụng (2)
Kiến thức chung Kiến thức riêng
• Quy trình và phương pháp phân tích và thiết kế một dự án • Xác định các ca sử dụng và xây dựng các biểu đồ liên quan
• Các mô hình thiết kế phổ biến hiện nay • Xây dựng tài liệu phân tích cho dự án
• Lập kế hoạch dự án • Xác định các hệ thống con và thiết kế kiến trúc
• Quản lý dự án • Xây dựng tài liệu thiết kế cho dự án
• Phân tích các yêu cầu dự án • Xây dựng các tài liệu cho dự án
• Thiết kế các nội dung
• Xây dựng tài liệu dự án
Các kỹ năng được thực hành (1) Các kỹ năng được thực hành (2)
Kỹ năng cứng Kỹ năng mềm
• Viết mô tả dự án
• Xây dựng bảng Task Table, Gantt Chart • Kỹ năng lập kế hoạch
• Đánh giá tính khả thi của dự án • Kỹ năng lựa chọn dự án
• Xác định ca sử dụng, vẽ biểu đồ ca sử dụng, viết mô tả kịch bản cho ca sử dụng • Kỹ năng tổ chức và điều tra
• Xây dựng biểu đồ lớp, biểu đồ tuần tự, biểu đồ dịch chuyển trạng thái, biểu đồ • Kỹ năng trao đổi và phỏng vấn
hoạt động, biểu đồ cộng tác • Kỹ năng đọc, tổng hợp và viết tài liệu
• Xây dựng tài liệu phân tích
• Kỹ năng xây dựng tài liệu thuyết trình
• Xác định các hướng thiết kế
• Thiết kế tổng thể, thiết kế giao diện, thiết kế dữ liệu, thiết kế chương trình • Kỹ năng trình bày, thuyết trình và phản biện
• Xây dựng tài liệu thiết kế • Khả năng làm việc độc lập, tự chịu trách nhiệm
• Xây dựng tài liệu cho dự án
10/04/2023
Các sản phẩm và yêu cầu về học phần (1) Các sản phẩm và yêu cầu về học phần (2)
Các sản phẩm cần có Yêu cầu chung cho sản phẩm cần có
• Sau khi học xong học phần cần có các sản phẩm • Yêu cầu:
• Bản mô tả một dự án (1 – 2 trang) • Các sản phẩm dạng bản mềm (word, pdf) hoặc bản cứng
• Bản tài liệu phân tích yêu cầu của dự án ( 2 – 4 trang) • Trình bày định dạng theo yêu cầu trong tài liệu yêu cầu của dự án
• Bản tài liệu phân tích của dự án ( 8 – 15 trang) • Cách thức nộp và thời hạn nộp bài được thông báo vào buổi thứ 2
• Bản tài liệu thiết kế của dự án (8 – 15 trang) của mỗi lớp học phần
• Bản tài liệu của dự án đầy đủ (20 – 50 trang) • Mỗi học viên tự thực hiện một dự án theo bài toán tự chọn
Các yêu cầu cần đạt được của các sản phẩm (1) Các yêu cầu cần đạt được của các sản phẩm (2)
Về bản mô tả dự án Về bản phân tích các yêu cầu của dự án
• Yêu cầu bản mô tả một dự án • Yêu cầu bản tài liệu phân tích yêu cầu của dự án
• Đưa ra danh sách cụ thể các yêu cầu của dự án gồm:
• Viết rõ ngữ cảnh và các tiến trình được xử lý trong dự án • Các yêu cầu chức năng
• Viết rõ các yêu cầu cụ thể và chi tiết của dự án • Các yêu cầu phi chức năng,
• Các yêu cầu chung của hệ thống
• Mỗi quy trình nghiệp vụ viết thành một đoạn văn, viết theo đoạn • Các yêu cầu của người dùng và các ràng buộc khác
văn diễn dịch • Mỗi yêu cầu nên viết thành một đoạn văn, viết theo đoạn văn diễn
• Đúng chính tả, bằng ngôn ngữ tự nhiên và có logic dịch
• Phân tích rõ từng yêu cầu của dự án
• Rà soát và chỉnh sửa làm mịn các đoạn mô tả • Đúng chính tả, bằng ngôn ngữ nghiệp vụ và có logic
• Hoàn thiện bản mô tả và gửi cho giáo viên • Rà soát và chỉnh sửa làm mịn các đoạn mô tả yêu cầu
• Hoàn thiện bản phân tích và gửi cho giáo viên
10/04/2023
Các yêu cầu cần đạt được của các sản phẩm (3) Các yêu cầu cần đạt được của các sản phẩm (4)
Về bản tài liệu phân tích của dự án Về bản tài liệu thiết kế của dự án
• Yêu cầu bản tài liệu phân tích của dự án • Yêu cầu bản tài liệu thiết kế của dự án
• Đưa ra tài liệu phân tích của dự án gồm: • Đưa ra tài liệu thiết kế của dự án gồm:
• Bảng Task Table, Gantt Chart cho dự án • Mô tả thiết kế tổng thể và các hệ thống con
• Các ca sử dụng và đặc tả các ca sử dụng • Mô tả thiết kế dữ liệu của dự án
• Các lớp và biểu đồ lớp • Mô tả thiết kế giao diện của dự án
• Các biểu đồ hành vi gồm: Biểu đồ ca sử dụng, biểu đồ tuần tự, biểu đồ chuyển • Mô tả thiết kế chương trình của dự án
trạng thái, biểu đồ lớp cho dự án • Các mô tả khác
• Mỗi biểu đồ cần viết cụ thể, chi tiết đúng cú pháp • Mỗi bản mô tả cần viết cụ thể, chi tiết đúng cú pháp, đúng chính tả,
• Đúng chính tả, bằng ngôn ngữ nghiệp vụ và có logic bằng ngôn ngữ nghiệp vụ và có logic
• Rà soát, chỉnh sửa và chú thích trên mỗi biểu đồ • Rà soát, chỉnh sửa và chú thích trên mỗi bản thiết kế
• Hoàn thiện bản phân tích và gửi cho giáo viên • Hoàn thiện bản thiết kế và gửi cho giáo viên
Các yêu cầu cần đạt được của các sản phẩm (5) Tổng kết học phần
Về bản tài liệu đầy đủ của dự án
• Yêu cầu bản tài liệu tài liệu đầy đủ của dự án • Xác định lại các tiêu chí đánh giá trong mục tiêu và yêu cầu
• Phần mô tả dự án của học phần
• Phần danh sách cụ thể các yêu cầu của dự án • Các kiến thức cần nắm vững để vận dụng
• Phần phân tích yêu cầu của dự án • Các kỹ năng được thực hành
• Phần tài liệu phân tích của dự án • Các sản phẩm và yêu cầu về học phần
• Phần tài liệu thiết kế của dự án • Các yêu cầu cần đạt được của các sản phẩm
• Các phụ lục cho dự án
• Rà soát và chỉnh sửa toàn bộ tài liệu
• Hoàn thiện bản tài liệu dự án và gửi cho giáo viên
10/04/2023