1 TRẦN ĐÌNH QUẾ GIÁO TRÌNH PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN P T MỤC LỤC MỤC LỤC CHƯƠNG 1 CƠ SỞ CỦA PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 1 1 1 GIỚI THIỆU 1 1 2 CÁC KIỂU HỆ THỐNG THÔNG TIN 1 1 3[.]
TRẦN ĐÌNH QUẾ GIÁO TRÌNH PHÂN TÍCH VÀ THIẾT KẾ P T HỆ THỐNG THÔNG TIN MỤC LỤC MỤC LỤC CHƯƠNG 1: CƠ SỞ CỦA PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 1.1 GIỚI THIỆU 1.2 CÁC KIỂU HỆ THỐNG THÔNG TIN 1.3 CÁC KHÁI NIỆM CƠ BẢN CỦA HỆ HƯỚNG ĐỐI TƯỢNG 1.3.1 Lớp đối tượng 1.3.2 Phương thức thông điệp 1.3.3 Đóng gói ẩn dấu thơng tin 1.3.4 Đa xạ ràng buộc động 1.3.5 Quan hệ lớp 1.4 SỬ DỤNG LẠI 17 1.5 KẾT LUẬN 19 BÀI TẬP 19 IT CHƯƠNG 2: MƠ HÌNH HĨA HỆ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 20 P T 2.1 GIỚI THIỆU VỀ UML 20 2.1.1 Lịch sử phát triển UML 20 2.1.2 UML – Ngơn ngữ mơ hình hố hướng đối tượng 20 2.1.3 Các khái niệm UML 21 2.2 CÁC BIỂU ĐỒ TRONG UML 23 2.2.1 Biểu đồ ca sử dụng 24 2.2.2 Biểu đồ lớp 26 2.2.3 Biểu đồ trạng thái 32 2.2.4 Biểu đồ 34 2.2.5 Biểu đồ giao tiếp 36 2.2.6 Biểu đồ hoạt động 38 2.2.7 Biểu đồ thành phần 40 2.2.8 Biểu đồ triển khai 41 2.3 PHƯƠNG PHÁP LUẬN PHÁT TRIỂN PHẦN MỀM 42 2.3.1 Khái niệm phương pháp luận 42 2.3.2 Các pha phát triển truyền thống 44 2.3.3 Phương pháp luận hướng đối tượng 45 2.3.4 UP 47 2.3.5 Một tiến trình phát triển phần mềm đơn giản 53 2.4 GIỚI THIỆU CÔNG CỤ PHÁT TRIỂN PHẦN MỀM 54 2.5 KẾT LUẬN 57 BÀI TẬP 57 CHƯƠNG 3: XÁC ĐỊNH YÊU CẦU 59 3.1 GIỚI THIỆU 59 3.2 CÁC BƯỚC TRONG PHA XÁC ĐỊNH YÊU CẦU 59 MỤC LỤC 3.2.1 Yêu cầu gì? 59 3.2.2 Xác định yêu cầu 61 3.3 XÁC ĐỊNH YÊU CẦU NGHIỆP VỤ 62 3.3.1 Xác định mô tả tác nhân 63 3.3.2 Xây dựng Bảng Thuật ngữ 64 3.3.3 Xác định mô tả ca sử dụng nghiệp vụ 66 3.3.4 Mô tả chi tiết ca sử dụng 67 3.3.5 Xây dựng biểu đồ giao tiếp (Communication diagram) 67 3.3.6 Xây dựng biểu đồ hoạt động (Activity diagram) 68 3.4 XÁC ĐỊNH YÊU CẦU HỆ THỐNG 69 3.4.1 Xác định mô tả tác nhân 70 3.4.2 Xác định mô tả ca sử dụng 71 3.4.3 Xây dựng biểu đồ ca sử dụng 72 3.4.4 Xây dựng kịch 74 3.4.5 Xếp ưu tiên ca sử dụng 77 3.4.6 Phác họa giao diện người dùng 78 BÀI TẬP 81 CHƯƠNG 4: PHÂN TÍCH YÊU CẦU 82 P T IT 4.1 GIỚI THIỆU 82 4.2 CÁC BƯỚC TRONG PHA PHÂN TÍCH 83 4.3 PHÂN TÍCH TĨNH 84 4.3.1 Xác định lớp 84 4.3.2 Xác định quan hệ lớp 85 4.3.3 Xây dựng biểu đồ lớp 85 4.3.4 Xác định thuộc tính lớp 89 4.4 PHÂN TÍCH ĐỘNG 93 4.4.1 Xây dựng biểu đồ giao tiếp 94 4.4.2 Gán phương thức cho lớp 96 4.5 CASE STUDY: HỆ QUẢN LÝ ĐĂNG KÝ HỌC THEO TÍN CHỈ 100 4.5.1 Xác định yêu cầu 100 4.5.2 Phân tích tĩnh 113 4.5.3 Phân tích động 119 4.6 KẾT LUẬN 121 BÀI TẬP 122 CHƯƠNG 5: THIẾT KẾ KIẾN TRÚC HỆ THỐNG 123 5.1 GIỚI THIỆU 123 5.2 CÁC BƯỚC TRONG PHA THIẾT KẾ 124 5.3 LỰA CHỌN CÔNG NGHỆ MẠNG CHO HỆ THỐNG 125 5.3.1 Kiến trúc mạng đơn tầng hai tầng 125 5.3.2 Kiến trúc ba tầng 128 5.3.3 Kiến trúc Client – Server kiến trúc phân tán 129 5.3.4 Biểu diễn hình trạng mạng với UML 131 5.4 THIẾT KẾ TƯƠNG TRANH VÀ AN TOÀN-BẢO MẬT 132 5.4.1 Thiết kế tương tranh 132 5.4.2 Thiết kế an toàn-bảo mật 133 ii MỤC LỤC 5.5 PHÂN RÃ HỆ THỐNG THÀNH CÁC HỆ THỐNG CON 135 5.5.1 Hệ thống hệ thống 135 5.5.2 Các cụm (Layer) 135 5.5.3 Ví dụ : Java Layers - Applet plus RMI 138 5.6 XÂY DỰNG BIỂU ĐỒ GÓI 139 5.7 KẾT LUẬN 140 BÀI TẬP 140 CHƯƠNG 6: THIẾT KẾ CÁC HỆ THỐNG CON 141 T IT 6.1 GIỚI THIỆU 141 6.2 XÂY DỰNG MƠ HÌNH LỚP THIẾT KẾ 141 6.2.1 Ánh xạ phương thức 142 6.2.2 Các kiểu biến 142 6.2.3 Phạm vi trường 143 6.2.4 Các toán tử truy nhập 143 6.2.5 Ánh xạ lớp, thuộc tính kiểu quan hệ hợp thành 143 6.2.6 Ánh xạ kiểu quan hệ khác 144 6.3 XÂY DỰNG LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 148 6.3.1 Các hệ quản trị sở liệu 148 6.3.2 Mơ hình quan hệ 149 6.3.3 Ánh xạ lớp thực thể 150 6.3.4 Ánh xạ liên kết 150 6.3.5 Ánh xạ trạng thái đối tượng 152 6.4 THIẾT KẾ GIAO DIỆN NGƯỜI SỬ DỤNG 155 6.5 SỬ DỤNG FRAMEWORK, MẪU VÀ THƯ VIỆN 160 6.6 KẾT LUẬN 160 BÀI TẬP 160 P PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ 161 A.1 GIỚI THIỆU 161 A.2 CÔNG NGHỆ TẦNG CLIENT 161 A.3 GIAO THỨC GIỮA TẦNG CLIENT VÀ TẦNG GIỮA 162 A.4 CÔNG NGHỆ TẦNG GIỮA 163 A.5 CÔNG NGHỆ TẦNG GIỮA ĐẾN TẦNG DỮ LIỆU 164 A.6 CÁC CÔNG NGHỆ KHÁC 165 PHỤ LỤC B: CASE STUDY: HỆ QUẢN LÝ ĐĂNG KÝ HỌC THEO TÍN CHỈ 169 B.1 XÁC ĐỊNH YÊU CẦU 169 B.2 PHÂN TÍCH TĨNH 201 B3 PHÂN TÍCH ĐỘNG 207 TÀI LIỆU THAM KHẢO 227 LỜI NĨI ĐẦU LỜI NĨI ĐẦU Phân tích thiết kế hệ thống thông tin môn học bắt buộc thuộc chương trình Đại học dành cho sinh viên ngành Cơng nghệ thơng tin Có nhiều cách tiếp cận phát triển hệ thống tùy theo kiểu ta muốn xây dựng, yêu cầu người dùng công nghệ mà chúng ta sử dụng Tuy nhiên, dù theo cách tiếp cận phát triển nào, dự án phát triển hệ thống thông tin phải qua pha truyền thống sau đây: Xác định yêu cầu (requirement determination), phân tích yêu cầu (requirement analysis), thiết kế (design), cài đặt (implementation), kiểm thử (testing) bảo trì (maintenance) P T IT Ngày nay, cách tiếp cận hướng đối tượng ngày trở thành phổ biến công nghiệp phát triển phần mềm tính hiệu mặt phát triển hỗ trợ mạnh mẽ nhiều công nghệ Cách tiếp cận xem hệ thống tập lớp với thuộc tính thao tác hay hành vi tương ứng với tương tác đối tượng lớp Hơn nữa, phát triển mạnh mẽ kỹ thuật, công nghệ, công cụ hỗ trợ đặc biệt ngơn ngữ mơ hình hóa UML (Unified Modeling Language) làm thay đổi quan niệm cách phát triển hệ phần mềm Giáo trình xây dựng theo chương trình đào tạo theo tín Ngành Cơng nghệ Thơng tin Học viện Cơng nghệ Bưu Viễn thơng Nội dung tập trung trình bày số vấn đề phân tích thiết kế theo hướng đối tượng bao gồm pha xác định yêu cầu, phân tích u cầu thiết kế Giáo trình biên soạn dựa vào tài liệu có sẵn liệt kê phần tài liệu tham khảo kinh nghiệm gỉang dạy nhiều năm tác giả Ngồi ví dụ minh họa riêng rẽ, case study Hệ quản lý học tập theo tín sử dụng xuyên suốt nhiều chương nhằm giúp cho bạn đọc dễ dàng theo dõi bước pha phát triển Mục đích tài liệu nhằm phục vụ sinh viên ngành công nghệ thông tin học môn Phân tích Thiết kế Hệ thống Thơng tin Tài liệu dành cho giảng viên tham khảo giảng dạy môn học liên quan sinh viên ngành học khác Điện tử - Viễn thông tham khảo hay tự học để thiết kế hệ thông thông tin thông dụng Nội dung tài liệu bao gồm: Chương 1: Cơ sở phát triển phần mềm hướng đối tượng Giới thiệu kiểu hệ thống thơng tin mơ hình hệ thống dựa vào cách tiếp cận hướng đối tượng Các khái niệm đối tượng lớp, đóng gói, quan hệ lớp vấn đề sử dụng lại mã nguồn xem xét mức độ vừa phải đủ để bạn đọc có nhìn tổng quan kiến thức lập trình hướng đối tượng phục vụ cho việc tìm hiểu chương sau Chương Mơ hình hóa hệ phần mềm hướng đối tượng iv LỜI NÓI ĐẦU Nội dung bao gồm giới thiệu UML, biểu đồ UML sử dụng biểu đồ UML phân tích thiết kế hướng đối tượng Một số phương pháp luận phát triển phần mềm hướng đối tượng điểm qua đặc biệt phương pháp luận UP khảo sát chi tiết Cuối chương trình bày pha bước thực pha để phục vụ cho chương sau Chương Xác định yêu cầu Nội dung tập trung trình bày pha xác định yêu cầu dựa quan điểm nghiệp vụ quan điểm người phát triển Một case study Quản lý đăng ký học theo tín xem xét Chương Phân tích yêu cầu IT Nội dung bao gồm tổng quan q trình phân tích phân tích tĩnh phân tích động Phần phân tích tĩnh đề cập đến việc xác định lớp quan hệ lớp, thuộc tính Phần phân tích động bàn việc thực thi lớp, lớp biên, điều khiển thực thể, biểu đồ giao tiếp, phương thức lớp cách xây dựng dựa gán trách nhiệm cho lớp biểu đồ trạng thái Chương Thiết kế kiến trúc hệ thống P Chương Thiết kế chi tiết T Trình bày bước thiết kế hệ thống, chọn topo hệ thống mạng cho thiết kế, số chủ đề công nghệ, thiết kế đồng thời an toàn hệ thống Nội dung bao gồm: Các công nghệ tầng client; Các công nghệ tầng trung gian; Các công nghệ tầng trung gian đến tầng liệu; Các kiểu cấu hình; Các gói theo UML Chương trình bày ánh xạ mơ hình lớp phân tích thành mơ hình lớp thiết kế, xử lý lưu trữ với sở liệu quan hệ, số vấn đề liên quan đến giao diện người sử dụng, thiết kế dịch vụ nghiệp vụ, sử dụng pattern, framework thư viện Tác giả vô biết ơn đồng nghiệp thuộc Khoa Công nghệ Thông tin, Học viện Cơng nghệ Bưu Viễn thơng tạo động lực để tác giả hoàn thành tài liệu Trong trình sọan thảo giáo trình, sinh viên Khoa Cơng nghệ Thơng tin qua nhiều hệ có nhiều đóng góp, đặc biệt góp phần xây dựng case study Hệ Quản lý Học tập theo tín Vì vậy, tác giả muốn dành quà cho bạn sinh viên gần 15 năm nuôi dưỡng niềm say mê giảng dạy cội nguồn cội nguồn để tác giả viết giáo trình Mặc dù tác giả có nhiều nỗ lực để giáo trình đời chắn khơng thể tránh khỏi thiếu sót Tác giả mong nhận nhiều ý kiến đóng góp đồng nghiệp bạn sinh viên để tài liệu ngày hoàn thiện Tác giả IT T P CHƯƠNG CƠ SỞ CỦA PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 1.1 GIỚI THIỆU Ngày nay, cách tiếp cận hướng đối tượng sử dụng rộng rãi cho phát triển hệ thống phần mềm quản lý doanh nghiệp, thương mại điện tử, hệ thời gian thực, hệ thống thơng minh…Mục đích chương nhằm trình bày kiểu hệ thống thơng tin, khái niệm lập trình hướng đối tượng đối tượng, lớp, đóng gói, kế thừa, đa xạ Phần cón lại xem xét, phân tích quan hệ lớp, cách sử dụng lại mã nguồn 1.2 CÁC KIỂU HỆ THỐNG THÔNG TIN Các hệ thống điều khiển Các hệ sở tri thức Các hệ thống quản lý Các hệ thống chiến lược T IT Trong thực tế có nhiều kiểu hệ thống thông tin để dễ phân loại người ta thường chia hệ thống thông tin thành bốn mức: P Các hệ thống điều khiển: Dành cho nhà quản lý vận hành hay quản lý hệ thống để thu câu trả lời cho câu hỏi thường ngày Ví dụ, hệ thống lưu vết trình tự hoạt động giao dịch hàng ngày hệ xử lý giao dịch (Transaction Processing Systems), điều khiển thiết bị hay dây chuyền sản xuất, lưu trữ giao dịch, lập lịch, xử lý đơn đặt hàng… Các hệ sở tri thức: Dành cho nhân viên tri thức xây dựng liệu nhằm giúp tổ chức, khám phá tích hợp tri thức từ tri thức thời vào nghiệp vụ họ hay điều khiển luồng cơng việc Ví dụ, hệ thống hoạt đông dựa tri thức, tự động hóa văn phịng, hệ xử lý ngơn ngữ, hệ thống tư vấn thương mại điện tử… Các hệ thống quản lý: Dành cho nhà quản lý trung gian để phục vụ việc giám sát, điều khiển, định hoạt động quản trị hay hỗ trợ định quan trọng (ít có cấu trúc) với yêu cầu thông tin không rõ ràng Ví dụ hệ thơng tin quản lý, hệ hỗ trợ định, hệ quản lý bán hàng cần biết hàng tồn kho, ngân sách hàng năm để lập kế hoạch sản xuất, phân tích chi phí, phân tích giá cả/lợi nhuận Các hệ thống chiến lược:Dành cho nhà quản lý để giúp giải vạch chiến lược xu hướng lâu dài; so sánh khả tổ chức với thay đổi mơi trường bên ngồi hội xảy khoảng thời gian dài Ví dụ, hệ hỗ trợ CHƯƠNG CƠ SỞ CỦA PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG thực thi cho dự đoán ngân sách, xu hướng bán hàng năm năm, kế hoạch hoạt động năm năm, kế hoạch lợi nhuận, nhân lực Như vậy, dựa bốn mức phân thành sáu kiểu hệ thống thông tin tương ứng sau: Các hệ xử lý giao dịch (Transaction Processing Systems) Các hệ sở tri thức (Knowledge based Systems) Các hệ tự động hóa văn phịng (Office Automation Systems) Các hệ thơng tin quản lý (Management Information Systems) Các hệ trợ giúp định (Decision Support Systems) Các hệ trợ giúp thực thi (Executive Support Systems) IT Tương ứng với kiểu hệ thống thơng tin, q trình xử lý lưu trữ thể khác Vì vậy, nhà phát triển cần chú ý nắm vững đặc trưng kiểu hệ thống mà cần phải phát triển Hơn nữa, đa phần hệ thống thông tin môi trường Internet ngày trở nên phức tạp cần phải tích hợp nhiều kiểu hệ thống thơng tin P T Ví dụ, hệ thương mại điện tử eBay, Amazon hệ phân tán khơng có chức quản lý giao dịch mua, đặt hàng, bán hàng, mà cịn có chức quản lý giao dịch toán tư vấn khách hàng…Để thực chức này, nhà phát triển hệ thống cần phải biết sử dụng công nghệ, kỹ thuật lưu trữ xử lý phân tán nắm vững kỹ thuật biểu diễn xử lý tri thức lĩnh vực liên quan trí tuệ nhân tạo, khai phá liệu, web ngữ nghĩa… 1.3 CÁC KHÁI NIỆM CƠ BẢN CỦA HỆ HƯỚNG ĐỐI TƯỢNG Phần nhằm trình bày cách khơng hình thức số khái niệm hệ hướng đối tượng lớp, đối tượng, phương thức, thơng điệp, đóng gói, ẩn dấu thông tin, kế thừa, đa xạ, ràng buộc động Những khái niệm giúp cho nhà phân tích phân rã hệ thống phức tạp thành môđun nhỏ nhằm dễ dàng quản lý, thực thi đồng thời dễ dàng tích hợp thành hệ thống thơng tin Tính mơđun hóa giúp cho việc phát triển thuận lợi qua dễ chia sẻ với thành viên nhóm dễ dàng trao đổi với người sử dụng trình khảo sát u cầu Việc mơdun hóa giúp nhóm phát triển xây dựng gói phần mềm sử dụng lại cho dự án sau Hơn nữa, nhiều nghiên cứu cách “tư đối tượng” xem thực cách tư thuật tốn hay liệu thể cách suy nghĩ thông thường người giới xung quanh CHƯƠNG CƠ SỞ CỦA PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 1.3.1 Lớp đối tượng Lớp (class) thuật ngữ chung để xác định tập hợp thể hay đối tượng đặc biệt Lớp đóng gói đặc điểm chung nhóm đối tượng Khái niệm lớp nhà phát triển phần mềm hướng đối tượng sử dụng để mô tả đặc trưng mà dạng đối tượng cụ thể có T IT Đối tượng (object) khởi tạo lớp, vật, thực thể, danh từ mà bạn nhặt lên ném đi, hay mà bạn tưởng tượng với số đặc tính Mỗi đối tượng có thuộc tính (attribute) mơ tả thơng tin đối tượng Trạng thái (state) đối tượng xác định giá trị thuộc tính quan hệ với đối tượng khác thời điểm cụ thể Mỗi đối tượng có số hành vi (behavior) nhằm đặc tả đối tượng thực Trong mơ hình hướng đối tượng, thuật ngữ hành vi, hành động (action), thao tác (operation), phương thức (method) có nghĩa thường dùng cho ngữ cảnh khác Ví dụ, nói đối tượng thực tế ta thường hay nói hành vi hay hành động đối tượng đó; đề cập đến đối tượng lập trình người ta thường dùng phương thức hay thao tác phương thức dùng phổ biến, xem thể cài đặt hành vi P Ví dụ, lớp Sinh viên Sinhvien Hệ quản lý học tín có thuộc tính mã sinh viên, họ tên, địa chỉ….Các đối tượng sinh viên Nguyễn Minh Ngọc có mã sinh viên NH12345, địa 177 Nguyễn Trãi, Hà nội…và có hành vi đăng ký học, hủy đăng ký, xem lịch học…Lớp Sách Sach Hệ quản lý thư viện có thuộc tính tên sách sachTen, tên tác giả sachTacgia, nhà xuất sachNhaXuatban, năm xuất sachNamXuatban…Các đối tượng sách “Phân tích thiết kế hướng đối tượng” tác giả Đặng Văn Đức, nhà xuất Giáo dục, năm 2002 có hành vi xóa sách xoaSach, thêm sách themSach, cập nhật thông tin sách capnhatThongtinSach… Biểu diễn đối tượng lớp Để mơ tả suy nghĩ lớp - đối tượng, chúng ta phải có cách biểu diễn chúng theo biểu đồ Các ký hiệu biểu đồ mà chúng ta sử dụng Biểu đồ lớp đối tượng ngơn ngữ mơ hình hóa UML (Chi tiết trình bày Chương 2) Trong lớp Sách Sach mô tả UML bao gồm ba thành phần tên lớp, thuộc tính phương thức kèm theo dấu ngoặc đơn Hình 1.1: Thêm Sinh viên P Quản lý sinh viên T IT PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ Sửa Sinh viên 213 P T Thêm Giảng viên IT Quản lý giáo viên Sửa giảng viên 214 Biểu đồ P Đăng nhập T IT PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ Giảng viên đăng ký môn dạy 215 IT P T Giảng viên xem lịch dạy Sinh viên đăng ký môn học 216 P T Sinh viên xem thời khóa biểu IT PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ Sinh viên xem lịch thi học kỳ 217 P T IT Sinh viên xem điểm học tập Người dùng thay đổi thông tin cá nhân 218 PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ Nhân viên quản lý Sửa khoa P T IT Quản lý khoa Thêm Khoa 219 Quản lý chuyên ngành Thêm Chuyên ngành P T IT Sửa chuyên ngành Quản lý môn học Thêm Môn học 220 PHỤ LỤC A: LỰA CHỌN CƠNG NGHỆ P T IT Sửa Mơn học Nhân viên quản lý đào tạo Quản lý xếp lớp học Thêm lớp học 221 P T IT Sửa lớp học Quản lý đăng ký dạy giảng viên 222 P T Quản lý đăng ký học sinh viên IT PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ Quản lý điểm sinh viên 223 P T Thêm sinh viên IT Quản lý sinh viên Sửa sinh viên 224 Quản lý giáo viên P T Thêm giảng viên IT PHỤ LỤC A: LỰA CHỌN CÔNG NGHỆ Sửa giảng viên 225 226 IT T P TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Ba, Phát triển hệ thống hướng đối tượng với UML 2.0 C++, NXB Đại học Quốc gia Hà nội, 2005 [2] A Dennis B H Wixom and David Tegarden, System Analysis and Design with UML version 2.0: An Object-Oriented Approach, Second Edition, John Wiley & Sons 2005 [3] Huỳnh Văn Đức, Đoàn Thiện Ngân, Giáo trình nhập mơn UML, NXB Lao động Xã hội, 2003 [4] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng, NXB Giáo Dục, 2002 IT [5] Hans-Erit, Magnus Penker, Brian Lyons, David Faado, UML2 Toolkit, Wiley Publishing, Inc, 2004 [6] J A Hoffer, J George, Modern systems analysis and design, Prentice Hall, 2002 T [7] Mike O’Docherty, Object-Oriented Analysis and Design: Understanding System Development with UML 2.0, John Wiley & Sons, 2005 P [8] R Pressman, Software Engineering: A Practitioner’s Approach, McGraw-Hill, 2005 [9] Trần Đình Quế Nguyễn Mạnh Sơn, Phân tích Thiết kế hướng đối tượng, Bài giảng cho Sinh viên Đại học Từ xa, Học viện CNBCVT, 2005 [10] S Schach, Object-oriented and classical software engineering, Sixth Edition, McGrawHill, 2006 [11] Brett Spell, Pro Java Programming, Second Edition, Apress 2006 [12] Data Access Object Pattern http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html [13] Gregor Engels, Object-Oriented Modeling: A Roadmap, http://wwwcs.unipaderborn.de/cs/ag-engels/Papers/2000/EG00objectorientedModelling.pdf 227