Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
1,92 MB
Nội dung
M· sè: HT 08 HM 10 THUẬT NGỮ VÀ TỪ VIẾT TẮT Tiếng Anh ATM Automated Teller Machine Máy rút tiền tự động GRASP General Responsibility Assignment Software Pattern Mẫu gán trách nhiệm ID Identifier Định danh ODBMS Object Database Management System Hệ quản trị sở liệu đối tượng OID Object Identifiers Định danh đối tượng OMT Object Modeling Technique Kỹ thuật mơ hình hóa đối tượng OOSE Object-Oriented Software Engineering Cơng nghệ phần mềm hướng đối tượng PC Person Computer Máy tính cá nhân PIN Personal Identification Number Số nhận dạng cá nhân RAD Rapid Application Development Phát triển ứng dụng nhanh RDBMS Relational Database Management System Hệ quản trị sở liệu quan hệ RUP Rational Unified Process Tiến trình hợp Rational UI User Interface Giao diện người dùng UML Unified Modeling Language Ngơn ngữ mơ hình hóa hợp UPC Universal Product Code Mã sản phẩm phổ biến Tiếng Việt CSDL Cơ sở liệu NSD Người sử dụng LỜI NĨI ĐẦU Cách đây khoảng 20 năm, để khắc phục những vấn đề tồn tại trong cách tiếp cận hướng cấu trúc, người ta đã nghiên cứu một mơ hình mới thích hợp cho việc phát triển phần mềm lớn và phức tạp, đó là mơ hình hướng đối tượng. Cách tiếp cận hướng đối tượng đã ngày càng trở nên phổ biến. Trong các dự án phát triển hệ thống lớn, ngôn ngữ mơ hình hóa hợp nhất ‐ UML đã được ưu tiên cho q trình phân tích thiết kế hệ thống. Ngày nay, nó được coi là một chuẩn quốc tế được tổ chức tiêu chuẩn quốc tế ISO chấp nhận. Việc nắm vững các kiến thức cơ bản về mơ hình, q trình mơ hình hóa, các kỹ thuật xây dựng mơ hình là những u cầu bắt buộc cho bất cứ ai muốn phân tích và thiết kế một hệ thống lớn theo hướng đối tượng. Nhằm giúp sinh viên, nghiên cứu sinh và các lập trình viên có tài liệu tham khảo tương đối hệ thống về phân tích và thiết kế theo hướng đối tượng, Nhà xuất bản Thơng tin và Truyền thơng trân trọng giới thiệu cuốn sách “Các mơ hình cơ bản trong phân tích và thiết kế hướng đối tượngʺ do TS. Lê Văn Phùng (Viện Cơng nghệ thơng tin thuộc Viện Khoa học và Cơng nghệ Việt Nam) biên soạn. Nội dung cuốn sách gồm 10 chương: Chương 1: Tổng quan về mơ hình hóa phần mềm Chương 2: Các khái niệm cơ bản trong phân tích và thiết kế hướng đối tượng Chương 3: u cầu hệ thống và mơ hình nghiệp vụ Chương 4: Mơ hình phân tích đối tượng Chương 5: Các mơ hình phân tích động thái Chương 6: Các mơ hình thiết kế tương tác Chương 7: Mơ hình kiến trúc logic Chương 8: Mơ hình kiến trúc vật lý Chương 9: Mơ hình phân tích và thiết kế một ca sử dụng Chương 10: Mơ hình thiết kế đối tượng Hy vọng cuốn sách sẽ thực sự hữu ích cho các bạn đọc yêu công nghệ thông tin, ham mê phân tích thiết kế một hệ thống thông tin, các bạn đồng nghiệp, giáo viên, sinh viên đại học, cao đẳng và học viên cao học chuyên ngành công nghệ phần mềm hoặc hệ thống thông tin,… Nhà xuất bản xin trân trọng giới thiệu cùng bạn đọc và rất mong nhận được ý kiến đóng góp của q vị. Mọi ý kiến đóng góp xin gửi về Nhà xuất bản Thơng tin và Truyền thơng ‐ 18 Nguyễn Du, Hà Nội. Xin trân trọng cảm ơn./. NXB THƠNG TIN VÀ TRUYỀN THƠNG CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM 1.1 TỔNG QUAN VỀ MƠ HÌNH HĨA 1.1.1 Khái niệm trừu tượng hóa Để tìm hiểu giới phức tạp, khoa học thực nghiệm phải vận dụng nguyên lý bản, trừu tượng hóa (Abstraction) Trừu tượng hóa nguyên lý nhận thức, đòi hỏi phải bỏ qua sắc thái (chi tiết chủ điểm) không liên quan tới chủ định thời, để tập trung hoàn toàn vào sắc thái liên quan tới chủ định (từ điển Oxford) Theo Liberty J.,1998, trừu tượng nguyên lý bỏ qua khía cạnh chủ thể khơng liên quan đến mục đích để tập trung đầy đủ vào khía cạnh cịn lại Trừu tượng hóa đơn giản hóa giới thực cách thơng minh Nó cho khả tổng qt hóa ý tưởng hóa vấn đề xem xét Chúng loại bỏ chi tiết dư thừa mà tập trung vào điểm chính, Trừu tượng mô tả cách khái quát đối tượng thực bỏ qua nhiều yếu tố, nhiều mặt khơng quan trọng [23] Sử dụng ngun lý trừu tượng hóa có nghĩa thừa nhận giới thực phức tạp, thay cố gắng hiểu biết toàn lựa chọn phần vấn đề 6 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Trừu tượng bao gồm nhiều dạng: trừu tượng thủ tục, trừu tượng liệu, trừu tượng điều khiển [11] Trong trừu tượng liệu chế mạnh, dựa sở tổ chức suy nghĩ đặc tả nhiệm vụ hệ thống Trừu tượng liệu nguyên tắc xác định kiểu liệu cho thao tác áp dụng cho đối tượng, với ràng buộc giá trị lưu trữ đối tượng sửa đổi hay quan sát thơng qua thao tác Người thiết kế áp dụng trừu tượng liệu để xác định thuộc tính thao tác, xâm nhập thuộc tính thông qua thao tác Theo Wasserman, “Ký pháp trừu tượng mang tính tâm lý cho phép ta tập trung vào vấn đề mức khái quát, bỏ qua chi tiết mức thấp liên quan Việc sử dụng trừu tượng cho phép ta làm việc với khái niệm thuật ngữ gần gũi môi trường vấn đề đặt mà chuyển chúng thành cấu trúc không quen thuộc” [11] Nếu mặt, yếu tố đối tượng mô tả bị bỏ qua nhiều mức trừu tượng hóa cao Như ta mơ tả đối tượng thiết kế với nhiều mức trừu tượng khác tùy thuộc vào hiểu biết, nhận thức người phát triển yêu cầu đặt Có nhiều mức trừu tượng: - Mức cao nhất: giải pháp phát biểu theo thuật ngữ đại thể cách dùng ngôn ngữ môi trường vấn đề - Mức vừa: lấy khuynh hướng thủ tục nhiều Thuật ngữ hướng vấn đề thường đôi với thuật ngữ hướng cài đặt mô tả giải pháp - Mức thấp: giải pháp phát biểu theo thuật ngữ chi tiết để cài đặt trực tiếp Mỗi bước tiến trình kỹ nghệ phần mềm làm mịn cho mức trừu tượng phần mềm Trong kỹ nghệ hệ thống, phần mềm dùng phần tử hệ thống dựa máy tính Trong phân tích yêu cầu phần mềm, giải pháp phần mềm CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM phát biểu dạng "đó quan trọng môi trường vấn đề" Khi chuyển từ thiết kế sơ sang thiết kế chi tiết mức độ trừu tượng giảm dần Quá trình dẫn tới mức trừu tượng thấp sinh chương trình gốc Trừu tượng hóa khả người việc giải vấn đề phức tạp Nó chế dùng để biểu diễn vật phức tạp để trở nên đơn giản cách dùng số loại mơ hình Nếu trừu tượng biểu diễn mức vật lý, chẳng hạn sơ đồ giấy đối tượng vật lý, người ta thường dùng thuật ngữ mơ hình Trong việc phân tích thiết kế hướng đối tượng, người ta sử dụng sơ đồ để đơn giản hóa hệ thống để biểu diễn đặc điểm đó, nghĩa để thực trừu tượng Khi tạo thiết kế, việc dùng sơ đồ có lợi ích để trừu tượng hóa thuộc tính thiết kế Tất nhiên, người ta phải dùng nhiều sơ đồ thể hết phương diện khác đối tượng phức tạp Trừu tượng hóa đặc điểm thích hợp xây dựng mơ hình xác kỹ người phân tích [20] 1.1.2 Khái niệm mơ hình mơ hình hóa Định nghĩa ý nghĩa mơ hình Mơ hình (model) dạng trừu tượng hóa hệ thống thực Mơ hình hình ảnh (một biểu diễn) hệ thống thực, diễn tả mức độ trừu tượng đó, theo quan điểm đó, theo hình thức (hiểu được) phương trình, bảng, đồ thị,… Mơ hình có xu hướng dạng sơ đồ (diagrams) tức đồ thị gồm nút cung [21] Mô hình mơ tả chất vấn đề cấu trúc phức tạp cách loại bỏ chi tiết khơng quan trọng, làm cho tốn trở nên dễ hiểu dễ nắm bắt Để xây dựng hệ thống CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG phức tạp, người phát triển phải trừu tượng hóa khía cạnh khác hệ thống, xây dựng mơ hình cách sử dụng ký hiệu cách rõ ràng, cẩn thận, kiểm tra xem mô hình thỏa mãn yêu cầu hệ thống chưa thêm vào chi tiết để chuyển đổi từ mơ hình sang cài đặt cụ thể [18] Trong phân tích thiết kế hệ thống, mơ hình tạo để trừu tượng hóa đặc điểm quan trọng hệ thống giới thực Trong lĩnh vực phần mềm, mơ hình kế hoạch chi tiết hệ thống, tranh hay mô tả vấn đề cố gắng giải hay biểu diễn Mơ hình cịn mơ tả giải pháp, dùng biểu tượng thay cho đối tượng thực Tiến trình phát triển phần mềm làm giảm số đặc trưng đối tượng để hình thành mơ hình, làm giảm độ phức tạp mơ hình trừu tượng Mọi mơ hình phản ánh hệ thống theo khung nhìn trừu tượng hóa Có khung nhìn chính: + Khung nhìn logic: tập trung mơ tả chất hệ thống mục đích hoạt động hệ thống, bỏ qua yếu tố tổ chức thực hiện, biện pháp cài đặt Nói cách khác, mơ hình logic trả lời câu hỏi “là gì?” (What?)- chức gì, thơng tin gì, ứng xử gì, bỏ qua câu hỏi “như nào?” (How?) Ở tầng này, người ta tiến hành phương diện xử lý, liệu động thái hệ thống + Khung nhìn vật lý: Trả lời câu hỏi “như nào”, “ai làm”, “làm đâu”, “khi làm”, quan tâm đến mặt như: phương pháp, biện pháp, công cụ, tác nhân, địa điểm, thời gian, hiệu năng, Ở tầng yêu cầu cần làm rõ kiến trúc vật lý hệ thống Việc xây dựng mô hình có ý nghĩa lớn q trình phát triển phần mềm: - Mơ hình giúp ta hiểu thực trừu tượng, tổng quát hóa khái niệm sở để giảm thiểu độ phức tạp hệ thống CHƯƠNG TỔNG QUAN VỀ MÔ HÌNH HĨA PHẦN MỀM Qua mơ hình biết hệ thống gồm gì? chúng hoạt động - Mơ hình giúp quan sát hệ thống vốn có thực tế phải có ta mong muốn Muốn hiểu phát triển hệ thống phần mềm theo yêu cầu thực tế ta phải quan sát theo nhiều góc nhìn khác nhau: theo chức sử dụng, theo thành phần logic - Mơ hình thể rõ đặc tả cấu trúc hành vi hệ thống - Đồng thời, mơ hình sở để trao đổi, ghi lại định thực nhóm tham gia dự án phát triển phần mềm Mọi quan sát, kết phân tích ghi lại chi tiết để phục vụ cho trình phát triển phần mềm Khái niệm mơ hình hóa Việc dùng mơ hình để nhận thức diễn tả hệ thống gọi mơ hình hóa Trong khoa học máy tính, mơ hình hóa việc mơ tả vấn đề, sau mơ tả giải pháp vấn đề Các hoạt động cịn gọi phân tích thiết kế Khi khảo sát hệ thống, người ta sưu tập yêu cầu cho hệ thống, ánh xạ chúng thành u cầu phần mềm, từ phát sinh mã trình, đảm bảo yêu cầu phù hợp với mã trình khả chuyển đổi mã trình ngược lại thành yêu cầu Tiến trình thực mơ hình hóa Người ta lấy thơng tin từ mơ hình hiển thị đồ họa tập phần tử đồ họa chuẩn Tiến trình gọi mơ hình hóa trực quan Tiêu chuẩn cốt lõi để thực lợi mô hình trực quan, vấn đề giao tiếp Giao tiếp tất người tham gia dự án mục tiêu quan trọng mơ hình hóa trực quan Tương tác thực văn tốt đồ họa Các nhà tin học cố gắng để hình thành ký pháp mơ hình hóa trực quan Một số ký pháp quen thuộc Booch, OMT UML Phần mềm công cụ Rational Rose 2000 trợ giúp tốt vấn đề 10 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Mục đích mơ hình hóa Mục đích mơ hình hóa để hiểu, để làm phương tiện trao đổi, để hồn chỉnh hệ thống, hay nói rõ hơn: a) Mơ hình hóa giúp ta hiểu thực trừu tượng, tổng quát hóa khái niệm sở để giảm thiểu độ phức tạp hệ thống Qua mơ hình biết hệ thống gồm gì? chúng hoạt động nào? Michael B., William P [17] nói: “Hiểu tức mơ hình hóa” Do vậy, q trình phát triển phần mềm chẳng qua q trình nhận thức mơ tả lại hệ thống Đó q trình thiết lập, sử dụng biến đổi mơ hình Vậy, có mơ hình giúp ta làm sáng tỏ vấn đề phức tạp cho ta nhìn thấu đáo vấn đề cần giải b) Mơ hình hóa giúp quan sát hệ thống vốn có thực tế phải có ta mong muốn Muốn hiểu phát triển hệ thống phần mềm theo yêu cầu thực tế ta phải quan sát theo nhiều góc nhìn khác nhau: theo chức sử dụng, theo thành phần logic, theo phương diện triển khai, c) Mơ hình hóa cho phép đặc tả cấu trúc hành vi hệ thống: + Đảm bảo hệ thống đạt mục đích xác định trước Mọi mơ hình đơn giản hóa giới thực, phải đảm bảo đơn giản không loại bỏ yếu tố quan trọng + Kiểm tra quy định cú pháp, ngữ nghĩa tính chặt chẽ đầy đủ mơ hình, khẳng định tính đắn thiết kế, phù hợp với yêu cầu khách hàng Nghĩa là, mơ hình hóa q trình hồn thiện tiến hóa liên tục d) Mơ hình hóa nhằm tạo khuôn mẫu (template) hướng dẫn cách xây dựng hệ thống; cho phép thử nghiệm, mô thực hiện, hồn thiện theo mơ hình CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM 11 1.1.3 Phương pháp mơ hình hóa Phương pháp cách trực tiếp cấu trúc hóa suy nghĩ hành động người Phương pháp cho người sử dụng biết phải làm gì? làm nào? nào? sao? (mục đích hành động) Phương pháp chứa mơ hình (model), mơ hình dùng để mơ tả sử dụng cho việc truyền đạt kết trình sử dụng phương pháp [2] Phương pháp mơ hình hóa phương pháp quan trọng để nghiên cứu hệ thống Ý tưởng phương pháp mơ hình hóa khơng nghiên cứu trực tiếp đối tượng mà thông qua việc nghiên cứu đối tượng khác “tương tự” “hình ảnh” mà sử dụng cơng cụ khoa học Kết nghiên cứu mơ hình áp dụng vào cho đối tượng thực tế Kiểm tra mức độ phù hợp Hệ thống thực Áp dụng khơng cần phải điều chỉnh Mơ hình Điều chỉnh Kiểm nghiệm đánh giá Kết nghiên cứu mơ hình Hình 1.1 Sơ đồ ngun tắc hoạt động phương pháp mơ hình hóa Việc mơ hình hóa thể tiến độ triển khai, bao gồm bước lần lượt, hoạt động cần làm Mơ hình hóa giữ vai trị đặc biệt quan trọng trở thành cơng cụ trợ giúp Đó sở tạo phần mềm giúp cho việc triển khai hệ thống thực nhanh 12 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Như vậy, mơ hình hóa biểu diễn hệ thống dạng hình thức dễ hiểu s¬ đồ, đồ thị, cơng thức Mơ hình hóa giúp hiểu rõ tốn, trao đổi thông tin người liên quan khách hàng, chun gia, người phân tích, người thiết kế Mơ hình giúp cho việc xác định yêu cầu tốt hơn, thiết kế rõ ràng khả bảo trì hệ thống cao Mơ hình hóa phần trung tâm công việc, hoạt động để dẫn tới phần mềm tốt Chúng ta xây dựng mô hình để trao đổi, bàn bạc cấu trúc hành vi mong muốn hệ thống Đồng thời xây dựng mơ hình để trực quan hóa kiểm sốt kiến trúc hệ thống Mơ hình hóa mô tả cấu trúc, nhấn mạnh mặt tổ chức hệ thống mơ tả hành vi, tập trung vào mặt động hệ thống Tóm lại, phương pháp mơ hình hóa phương pháp tiên tiến Nó giúp hiểu rõ hệ thống mà xây dựng, tạo hội để đơn giản hóa tái sử dụng Ngồi phương pháp mơ hình hóa cịn giúp dễ dàng kiểm sốt rủi ro Theo Booch G., Rumbaugh J and Jacobson I., mơ hình hóa hệ thống phải thực theo bốn hướng [2]: Hình 1.2 Các hướng mơ hình hóa Hướng điểm xuất phát kéo theo phương pháp cần lựa chọn để phát triển phần mềm Nếu ta bên trái, nghĩa tập trung vào chức để phân tích thực hiện, phát triển phần mềm theo cách tiếp cận hướng chức Ngược lại, CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HÓA PHẦN MỀM 13 bên phải, nghĩa dựa vào liệu sử dụng phương pháp hướng đối tượng 1.1.4 Ngôn ngữ mơ hình hóa Mơ hình biểu diễn theo ngơn ngữ mơ hình hóa Ngơn ngữ mơ hình hóa bao gồm ký hiệu (những biểu tượng dùng mơ hình) tập quy tắc cách sử dụng chúng Các quy tắc bao gồm: - Cú pháp (Syntactic): cho biết hình dạng biểu tượng cách kết hợp chúng ngôn ngữ - Ngữ nghĩa (Semantic): cho biết ý nghĩa biểu tượng, chúng hiểu nằm không nằm ngữ cảnh biểu tượng khác - Mục đích (Pragmatic): định nghĩa ý nghĩa biểu tượng để cho mục đích mơ hình thể người hiểu 1.1.5 Ngun tắc mơ hình hóa Thơng qua mơ hình hóa, giới hạn vấn đề nghiên cứu cách tập trung vào khía cạnh vấn đề vào thời điểm Mơ hình hóa tăng độ dễ hiểu người Việc chọn mô hình cho khả mơ hình làm việc mức trừu tượng cao Booch G., Rumbaugh J., Jacobson I., 1999, đưa nguyên tắc mơ hình hóa: Việc chọn mơ hình để tạo lập có ảnh hưởng sâu sắc đến cách giải vấn đề cách hình thành giải pháp Mỗi mơ hình biểu diễn hệ thống với mức độ xác khác Mơ hình tốt phải mơ hình phù hợp với giới thực Khơng mơ hình đầy đủ Mỗi hệ thống thường tiếp cận thơng qua tập mơ hình gần độc lập 14 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Phụ thuộc vào chất hệ thống mà mơ hình có tầm quan trọng khác Mơ hình quan sát thiết kế tĩnh quan trọng hệ thống quản lý nhiều liệu; mơ hình ca sử dụng quan trọng hệ thống có nhiều giao diện; cịn mơ hình quan sát tiến trình động quan trọng hệ thống thời gian thực; đặc biệt mơ hình triển khai cài đặt quan trọng với hệ thống phân tán có ứng dụng web… 1.2 MƠ HÌNH HĨA TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM 1.2.1 Tiến trình phát triển phần mềm Một tiến trình phát triển phần mềm tập hoạt động cần thiết để chuyển yêu cầu người dùng thành hệ thống phần mềm đáp ứng yêu cầu đặt [26] Yêu cầu người dùng Tiến trình phát triển phần mềm Hệ thống phần mềm Hình 1.3 Quá trình phát triển phần mềm Vòng đời phát triển phần mềm chia thành pha: sơ bộ, soạn thảo, xây dựng chuyển giao Trong pha lại chia thành nhiều bước lặp nhỏ Mỗi bước lặp gồm số công việc thực trọn vẹn sản phẩm phần mềm: lập mơ hình đặc tả nghiệp vụ, xác định u cầu, lập mơ hình phân tích liệu, xử lý hành vi, lập mơ hình thiết kế, triển khai kiểm thử Mơ hình tiến trình phần mềm mơ tả tiến trình cách đơn giản hóa xem xét từ cách nhìn cụ thể [27] Về chất, mơ hình tiến trình trừu tượng hóa lớp tiến trình thực Một vài mơ hình tiến trình phần mềm, trình bày trên, nhiều người biết đến mơ hình thác nước, mơ hình xoắn ốc, mơ hình làm mẫu CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM 15 Năm 1996, Huff lần hệ thống hóa số mơ hình tiến trình phần mềm Sommerville, 2001, nhắc tới số loại mơ hình tiêu biểu: - Mơ hình thác nước (waterfall model) - Mơ hình phát triển tiến hóa (evolutionary models): mơ hình trình phát triển với q trình lặp để xây dựng dần phần phềm Mơ hình loại bao gồm mơ hình làm mẫu, mơ hình xoắn ốc, mơ hình tiến trình hợp Rational-RUP, mơ hình phát triển tăng dần, phát triển ứng dụng nhanh-RAD (Rapid Application Development) - Phát triển hệ thống hình thức (formal system development): Một cách tiếp cận dựa đặc tả hệ thống toán học để chứng minh hay chuyển đổi thành chương trình nhờ cơng cụ toán học chuyên dụng - Phát triển phần mềm theo hướng sử dụng lại (reuse oriented software development): Quá trình phát triển tập trung vào việc tích hợp thành phần có để nhận hệ thống, đáp ứng yêu cầu đặt 1.2.2 Ngôn ngữ mô hình hóa hợp (UML) UML (Unified Modeling Language) ngơn ngữ trực quan dùng quy trình phát triển hệ thống phần mềm Nó ngơn ngữ đặc tả hình thức (formal specification language) UML có tập phần tử tập quy tắc riêng Hầu hết phần tử UML đối tượng đồ họa đường thẳng, hình chữ nhật, hình oval,… thường có nhãn kèm theo để tăng thông tin Các quy tắc UML mô tả đặc tả UML cú pháp trừu tượng (được biểu diễn sơ đồ ngôn ngữ tự nhiên), quy tắc hình thức (nằm ngơn ngữ ràng buộc đối tượng) ngữ nghĩa Quy tắc xác định cách kết hợp phần tử [20] 16 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Do UML ngôn ngữ mô hình hóa chuẩn, ngơn ngữ mơ hình đồ họa, trực quan, vừa đặc tả vừa có cấu trúc, đồng thời lại ngôn ngữ làm tài liệu nên việc phát triển phần mềm hướng đối tượng, UML đặc biệt có khả sau: - Cho phép mơ tả tồn sản phẩm phân tích thiết kế; - Trợ giúp việc tự động hóa q trình thiết kế máy tính; - Trợ giúp việc dịch xi dịch ngược thiết kế sang mã nguồn ngơn ngữ lập trình CSDL UML hợp từ nhiều thành tựu kinh nghiệm nghiên cứu triển khai nhờ: - Cách tiếp cận Grady Booch (Booch Approach), - Kỹ thuật mơ hình hóa đối tượng (OMT: Object Modeling Technique) James Rumbaugh, - Công nghệ phần mềm hướng đối tượng (OOSE: Object-Oriented Software Engineering) Ivar Jacobson, - Thống nhiều ký pháp, khái niệm nhiều phương pháp khác Quá trình hình thành UML ngôn ngữ Ada (Booch) trước năm 1990 Mục đích UML nhằm vào hoạt động sau: - Mơ hình hóa hệ thống sử dụng tất khái niệm hướng đối tượng cách thống - Cho phép đặc tả, hỗ trợ để đặc tả tường minh mối quan hệ khái niệm hệ thống, đồng thời mô tả trạng thái hoạt động hệ thống đối tượng Nghĩa cho phép mơ tả mơ hình tĩnh lẫn mơ hình động cách đầy đủ trực quan - Tận dụng khả sử dụng lại kế thừa phạm vi diện rộng để xây dựng hệ thống phức tạp nhạy cảm như: hệ thống động, hệ thống thời gian thực, hệ thống nhúng thời gian thực CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM 17 - Tạo ngơn ngữ mơ hình hóa sử dụng cho người lẫn máy tính Ada/Booch 1990 Booch 91 OMT Rumbaugh OOSE Jacobson Booch 93 OOSE 94 OMT 94 1995 UML 0.9 Booch/Rumbaugh UML 0.9 Amigos 1997 UML 1.0 11/ 1997 chấp nhận UML 1.1 Hình 1.4 Sự phát triển UML 1.2.3 Quy trình phát triển phần mềm hợp (USDP) UML phát triển để đặc tả q trình phát triển phần mềm, nhằm mơ hình hóa hệ thống Quy trình phát triển phần mềm có sử dụng UML gọi quy trình phát triển phần mềm hợp viết tắt USDP (Unified Software Development Proccess) Các đặc trưng quy trình phát triển phần mềm hợp bao gồm: - Quy trình phát triển phần mềm hợp bao gồm người, dự án, sản phẩm, quy trình cơng cụ Con người người ... và? ? Truyền thơng trân trọng giới thiệu cuốn sách ? ?Các? ?mơ? ?hình? ?cơ? ?bản? ?trong? ?phân? ?tích? ?và? ?thiết? ?kế? ?hướng? ? đối? ?tượng? ? do? ?TS. ? ?Lê? ?Văn? ?Phùng? ?(Viện Cơng nghệ thơng tin thuộc Viện Khoa học? ?và? ?Cơng nghệ Việt Nam) biên soạn. ... Chương 1: Tổng quan về mơ? ?hình? ?hóa phần mềm Chương 2:? ?Các? ?khái niệm? ?cơ? ?bản? ?trong? ?phân? ?tích? ?và? ?thiết? ?kế? ?hướng? ? đối? ?tượng? ? Chương 3: u cầu hệ thống? ?và? ?mơ? ?hình? ?nghiệp vụ Chương 4: Mơ? ?hình? ?phân? ?tích? ?đối? ?tượng? ? Chương 5:? ?Các? ?mơ? ?hình? ?phân? ?tích? ?động thái ... phần vấn đề 6 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Trừu tượng bao gồm nhiều dạng: trừu tượng thủ tục, trừu tượng liệu, trừu tượng điều khiển [11] Trong trừu tượng liệu