2-2009 GIÁO TRÌNH PHÂN TÍCH THIẾT KẾ HỆ THỐNG Lưu Hành Nội Bộ LỜI NĨI ðẦU Tài liệu mơn phân tích thiết kế hệ thống chọn lọc theo đề cương mơn học Phân tích thiết kế hệ thống Trung Tâm Công Nghệ Thông Tin – trường ðại Học Công Nghiệp Tp HCM Tài liệu bao gồm hai nội dung chính: phân tích thiết kế hệ thống hướng chức phân tích thiết kế hệ thống hướng đối tượng với UML Tuy nhiên phần phân tích thiết kế hướng đối tượng đề cập số phần ñể sinh viên làm quen, ñọc hiểu ñược hệ thống hướng đối tượng phân tích, thiết kế Nếu sinh viên có nhu cầu tham khảo thêm phần thiết kế hướng đối tượng liên hệ giáo viên giảng dạy mơn để cung cấp tài liệu TÀI LIỆU THAM KHẢO Tài liệu Phân tích thiết kế hệ thống, trường ðại Học Sư Phạm Hà Nội Tài liệu Phân tích thiết kế hệ thống, Th.S Trần ðắc Phiến , trường ðại Học Cơng Nghiệp Tp.HCM Giáo trình Phân tích thiết kế Hệ thống thông tin với UML, TS Dương Kiều Hoa – Tơn Thất Hịa An, trường ðại Học Cần Thơ Tài liệu Phân tích thiết kế hệ thống hướng ñối tượng, Trung Tâm ñào tạo lập trình viên quốc tế FPT NỘI DUNG TÀI LIỆU PHẦN ðẠI CƯƠNG VỀ HỆ THỐNG THÔNG TIN .1 CHƯƠNG TỔNG QUAN VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1.1 Khái niệm hệ thống thông tin 1.2 Một quy trình phát triển hệ thống ñơn giản CHƯƠNG PHÁT TRIỂN HỆ THỐNG THÔNG TIN .14 2.1 Quy trình phát triển hệ thống 14 2.2 Một quy trình phát triển hệ thống 18 2.3 Các chiến lược phát triển hệ thống 23 2.4 Các kỹ thuật công cụ tự ñộng hóa .25 PHẦN PHÂN TÍCH HỆ THỐNG 31 CHƯƠNG TỔNG QUAN VỀ PHÂN TÍCH HỆ THỐNG 31 3.1 Khái niệm phân tích hệ thống 31 3.2 Các hướng tiếp cận phân tích hệ thống 31 3.3 Các giai đoạn phân tích hệ thống .33 3.4 Xác ñịnh yêu cầu người dùng .38 CHƯƠNG CÁC PHƯƠNG PHÁP THU THẬP THÔNG TIN 43 4.1 Phương pháp vấn 43 4.2 Phương pháp dùng phiếu hỏi .47 4.3 Phương pháp lấy mẫu 49 4.4 Phân tích tài liệu định lượng/định tính 50 4.5 Phương pháp quan sát 51 CHƯƠNG MƠ HÌNH HĨA CHỨC NĂNG 56 5.1 Mô hình hóa hệ thống 56 5.2 Mơ hình logic 58 5.3 Biểu ñồ phân rã chức 58 5.4 Biểu ñồ luồng liệu (DFD) 61 5.5 Các phần tử DFD .62 5.6 Biểu ñồ luồng liệu mức ngữ cảnh .65 5.7 Trình tự quy tắc xây dựng DFD 66 CHƯƠNG MƠ HÌNH HỐ DỮ LIỆU 73 6.1 Mô hình hóa liệu 73 6.2 Các phần tử biểu ñồ quan hệ thực thể (ERD) .73 6.3 Xây dựng biểu ñồ quan hệ thực thể 79 6.4 Xây dựng biểu ñồ liệu quan hệ (RDM) 83 6.5 Từ ñiển liệu 89 PHẦN PHƯƠNG PHÁP THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 93 CHƯƠNG TỔNG QUAN VỀ THIẾT KẾ HỆ THỐNG 93 7.1 Các hướng tiếp cận thiết kế hệ thống .93 7.2 Các công việc cụ thể giai ñoạn thiết kế 95 CHƯƠNG KIẾN TRÚC ỨNG DỤNG VÀ VIỆC MƠ HÌNH HỐ 97 8.1 Kiến trúc ứng dụng 97 8.2 Biểu ñồ luồng liệu vật lý .97 8.3 Kiến trúc công nghệ thông tin 98 CHƯƠNG THIẾT KẾ CƠ SỞ DỮ LIỆU 102 9.1 Các phương thức lưu trữ liệu 102 9.2 Kiến trúc liệu 103 9.3 Triển khai mơ hình liệu logic dựa sở liệu quan hệ 103 CHƯƠNG 10 THIẾT KẾ ðẦU VÀO 106 10.1 Tổng quan thiết kế ñầu vào .106 10.2 Các ñiều khiển giao diện cho thiết kế ñầu vào 107 CHƯƠNG 11 THIẾT KẾ ðẦU RA 110 11.1 Tổng quan thiết kế ñầu 110 11.2 Cách thức thiết kế ñầu 110 CHƯƠNG 12 THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG 112 12.1 Tổng quan giao diện người dùng 112 12.2 Kỹ thuật giao diện người dùng 113 12.3 Các phong cách thiết kế giao diện người dùng 114 12.4 Cách thức thiết kế giao diện người dùng .116 CHƯƠNG 13 XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG 118 13.1 Giai ñoạn xây dựng 118 13.2 Giai ñoạn triển khai 120 CHƯƠNG 14 VẬN HÀNH VÀ HỖ TRỢ HỆ THỐNG .124 14.1 Tổng quan vận hành hỗ trợ hệ thống 124 14.2 Bảo trì hệ thống 124 14.3 Phục hồi hệ thống .126 14.4 Hỗ trợ kỹ thuật .126 14.5 Nâng cấp hệ thống 127 Phần IV: PHÂN TÍCH THIẾT KẾ HỆ THỐNG HƯỚNG ðỐI TƯỢNG 130 CHƯƠNG 15 TỔNG QUAN VỀ THIẾT KẾ HƯỚNG ðỐI TƯỢNG 130 15.1 Phân tích hướng đối tượng (Object Oriented Analysis - OOA): 130 15.2 Thiết kế hướng ñối tượng (Object Oriented Design - OOD): 131 15.3 Lập trình hướng đối tượng (Object Oriented Programming - OOP): 131 CHƯƠNG 16 LỊCH SỬ PHÁT TRIỂN CỦA UML 133 16.1 Lịch sử phát triển UML 133 16.2 Unified Modeling Language gì? 134 CHƯƠNG 17.CÁC THÀNH PHẦN CỦA UML 137 17.1 Các phần tử mang tính cấu trúc 137 17.2 Các quy tắc UML 139 17.3 Các kỹ thuật chung UML 139 17.4 Kiến trúc hệ thống 140 CHƯƠNG 18.USE CASE 145 18.1 Actor 145 18.2 Use case 147 18.3 Biểu ñồ use case (Use case Diagram) 151 18.4 Lớp (Class) 154 18.5 Phân bổ trách nhiệm lớp 156 18.6 Biểu ñồ lớp (Class Diagram) 157 CHƯƠNG 19: MƠ HÌNH ðỘNG 160 19.1 Sự cần thiết có mơ hình động (Dynamic model) 160 19.2 Các thành phần mơ hình động .160 19.3 Ưu điểm mơ hình động: .162 19.4 Sự kiện thông ñiệp (Event & Message) 164 19.5 Thơng điệp (Message): .166 19.6 Biểu ñồ (Sequence diagram) 168 19.7 Biểu ñồ cộng tác (Collaboration Diagram) 170 19.8 Biểu ñồ trạng thái (State Diagram) 171 19.9 Biểu ñồ hoạt ñộng (Activity Diagram) 177 19.10 Vòng ñời ñối tượng (Object lifecycle) 181 19.11 Xem xét lại mơ hình động 182 19.12 Phối hợp mơ hình động mơ hình đối tượng 184 19.13 Tóm tắt mơ hình ñộng .185 PHẦN ðẠI CƯƠNG VỀ HỆ THỐNG THÔNG TIN Nội dung Phần trình bày khái niệm hệ thống thơng tin q trình phát triển hệ thống thông tin CHƯƠNG TỔNG QUAN VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG Mục tiêu học tập: Chương nhằm cung cấp khái niệm phân tích thiết kế hệ thống ðồng thời đưa quy trình phát triển hệ thống ñơn giản 1.1 Khái niệm hệ thống thông tin Thông tin loại tài nguyên tổ chức, phải ñược quản lý chu ñáo giống tài nguyên khác Việc xử lý thơng tin địi hỏi chi phí thời gian, tiền bạc nhân lực Việc xử lý thơng tin phải hướng tới khai thác tối đa tiềm Hệ thống thơng tin (Information System - IS) tổ chức có chức thu nhận quản lý liệu ñể cung cấp thơng tin hữu ích nhằm hỗ trợ cho tổ chức ñó nhân viên, khách hàng, nhà cung cấp hay đối tác Ngày nay, nhiều tổ chức xem hệ thống thông tin yếu tố thiết yếu giúp họ có đủ lực cạnh tranh ñạt ñược bước tiến lớn hoạt ñộng Hầu hết tổ chức nhận thấy tất nhân viên cần phải tham gia vào q trình phát triển hệ thống thông tin Do vậy, phát triển hệ thống thơng tin chủ đề nhiều có liên quan tới bạn cho dù bạn có ý ñịnh học tập ñể trở nên chuyên nghiệp lĩnh vực hay không Hệ thống thông tin hệ thống bao gồm người, liệu, quy trình cơng nghệ thơng tin tương tác với ñể thu thập, xử lý, lưu trữ cung cấp thơng tin cần thiết đầu nhằm hỗ trợ cho hệ thống Hệ thống thông tin hữu hình dạng quy mơ Phân loại hệ thống thơng tin: Các hệ thống thơng tin ñược phân loại theo chức chúng phục vụ Hệ thống xử lý giao dịch (Transaction processing system – TPS) hệ thống thơng tin có chức thu thập xử lý liệu giao dịch nghiệp vụ Hệ thống thông tin quản lý (Management information system - MIS) hệ thống thông tin cung cấp thông tin cho việc báo cáo hướng quản lý dựa việc xử lý giao dịch hoạt ñộng tổ chức 19.11.4 Lớp biểu ñồ trạng thái Tất lớp ñều thừa kế thuộc tính thủ tục lớp cha Vì vậy, lớp thừa kế mơ hình động lớp cha Ngồi biểu ñồ trạng thái ñược thừa kế, lớp có biểu đồ trạng thái riêng Biểu đồ trạng thái lớp cha ñược mở rộng ñể bao chứa lối ứng xử chuyên biệt lớp Biểu ñồ trạng thái lớp biểu ñồ trạng thái lớp cha phải ñược bảo trì riêng biệt ñộc lập Biểu ñồ trạng thái lớp cần phải ñược ñịnh nghĩa sử dụng thuộc tính lớp khơng phải thuộc tính lớp cha Mặt khác, có móc nối ngồi ý muốn lớp cha đến với lớp thơng qua thuộc tính mà chúng sử dụng chung, ví dụ nên xem xét biểu đồ trạng thái cho tài khoản có kỳ hạn theo phương diện thay đổi thuộc tính chúng, khơng phải thuộc tính lớp cha Ta phải ñể né tránh trường hợp trộn lẫn thuộc tính lớp lớp cha Việc tuân thủ quy tắc kể q trình vẽ biểu đồ trạng thái cho lớp đảm bảo tính mơđun cho động tác mở rộng bạn 19.12 Phối hợp mơ hình động mơ hình đối tượng Khi kết hợp mơ hình đối tượng mơ hình động, kiện mơ hình động cần phải tương thích với thủ tục mơ hình đối tượng Từ ñó suy ra, thay ñổi mặt trạng thái mơ hình động cần phải phù hợp với thủ tục ñối tượng Hành ñộng phụ thuộc vào trạng thái ñối tượng vào kiện Mối quan hệ mơ hình đối tượng mơ hình động miêu tả sau: - Mơ hình đối tượng cấu (framework) cho mơ hình động - Mơ hình động xác định chuỗi thay ñổi ñược phép xảy ñối với ñối tượng mơ hình đối tượng - Mơ hình động bị hạn chế đối tượng có mặt mơ hình đối tượng cấu trúc chúng - Khơng thể có mơ hình động cho đối tượng khơng tồn mơ hình đối tượng Có mối quan hệ 1-1 mơ hình đối tượng mơ hình động - Mơ hình động mơ hình đối tượng cộng thêm với phần ứng xử "sống" - Mơ hình đối tượng miêu tả khác biệt ñối tượng khác biệt lớp Khi ñối tượng ứng xử khác đối tượng khác đối tượng số có lớp riêng 184 - Mặc dù vậy, mơ hình động, khác biệt ứng xử động mơ hình hóa thành trạng thái khác lớp 19.13 Tóm tắt mơ hình động Tất hệ thống có cấu trúc tĩnh có ứng xử ñộng Cấu trúc ñược miêu tả qua phần tử mơ hình tĩnh, ví dụ lớp, quan hệ lớp, nút mạng thành phần Khái niệm ứng xử miêu tả phần tử mơ hình nội cấu trúc tương tác với dọc theo tiến trình thời gian ðó thường tương tác xác định trước mơ hình hóa Mơ hình hóa ứng xử động hệ thống gọi mơ hình động, ñược UML hỗ trợ Có tất bốn loại biểu ñồ khác nhau, loại với mục ñích khác nhau: biểu ñồ trạng thái , biểu ñồ tuần tự, biểu ñồ cộng tác biểu ñồ hoạt ñộng Biểu ñồ trạng thái ñược sử dụng ñể miêu tả lối ứng xử trạng thái nội lớp (nó sử dụng cho hệ thống cho toàn hệ thống) Nó tập trung vào khía cạnh đối tượng theo tiến trình thời gian thay đổi trạng thái chúng tùy theo kiện xảy ra, lối ứng xử hành ñộng ñược thực trạng thái, thay ñổi trạng thái xảy Một kiện nổ điều kiện trở thành ñược thỏa mãn, nhận tín hiệu lệnh gọi thủ tục, khoảng thời gian ñịnh trước qua ñi Biểu ñồ ñược sử dụng để miêu tả nhóm đối tượng tương tác với cảnh kịch riêng biệt Nó tập trung vào chuỗi thơng điệp, tức câu hỏi thơng điệp gửi nhận nhóm đối tượng Biểu đồ có hai trục; trục dọc thời gian trục nằm ngang ñối tượng tham gia cảnh kịch Khía cạnh quan trọng biểu ñồ thời gian Biểu ñồ cộng tác ñược sử dụng ñể miêu tả ñối tượng tương tác với không gian nhớ (space), có nghĩa bên cạnh tương tác động, cịn miêu tả rõ ràng đối tượng ñược nối kết với Trong biểu đồ cộng tác khơng có trục cho thời gian; thay vào đó, thơng điệp đánh số để tạo chuỗi Biểu ñồ hoạt ñộng ñược sử dụng ñể miêu tả việc xảy ra sao, công việc ñược thực Biểu ñồ hoạt ñộng sử dụng cho thủ tục, lớp, trường hợp sử dụng, sử dụng để quy trình nghiệp vụ (workflow) 185