Bài Giảng Phân Tích Thiết Kế Hệ Thống Điện Tử

108 3 0
Bài Giảng Phân Tích Thiết Kế Hệ Thống Điện Tử

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 MỤC LỤC CHƯƠNG 1 5 TỔNG QUAN VỀ HỆ THỐNG 5 1 1 Định nghĩa hệ thống 5 1 1 1 Hệ thống 5 1 1 2 Môi trường của hệ thống 5 1 2 Hệ thống kinh doanh 5 1 3 Hệ thống thông tin 6 1 3 1 Định nghĩa hệ thống thô[.]

MỤC LỤC CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG 1.1 Định nghĩa hệ thống 1.1.1 Hệ thống 1.1.2 Môi trường hệ thống 1.2 Hệ thống kinh doanh 1.3 Hệ thống thông tin 1.3.1 Định nghĩa hệ thống thông tin 1.3.2 Phân loại hệ thống thông tin 1.4 Quy trình phát triển hệ thống thơng tin 1.5 Cách tiếp cận hướng cấu trúc tiếp cận hướng đối tượng 11 1.5.1 Phương pháp hướng cấu trúc 11 1.5.2 Phương pháp hướng đối tượng 12 CHƯƠNG 14 MƠ HÌNH HĨA HƯỚNG ĐỐI TƯỢNG 14 2.1 Đại cương mơ hình hóa 14 2.1.1 Khái niệm mơ hình 14 2.1.2 Phương pháp mơ hình hóa 14 2.2 Ngơn ngữ mơ hình hóa UML 14 2.2.1 Lịch sử UML 14 2.2.2 UML Ngơn ngữ mơ hình hóa đối tượng 15 2.2.3 Các góc nhìn UML 16 2.2.4 Giới thiệu biểu đồ UML 17 2.3 Tiến trình RUP (Rational Unified Process) 19 2.3.1 Các nguyên tắc RUP 19 2.3.2 Các pha công đoạn RUP 20 2.3.3 Một tiến trình đơn giản 20 CHƯƠNG 24 PHÂN TÍCH CHỨC NĂNG 24 3.1 Mơ hình hóa nghiệp vụ với biểu đồ hoạt động 24 3.1.1 Mục đích 24 3.1.2 Biểu đồ hoạt động 24 3.2 Mơ hình hóa với biểu đồ ca sử dụng (USE CASE) 27 3.2.1 Giới thiệu 27 3.2.2 Tác nhân (Actor) 27 3.2.3 USECASE (Ca sử dụng) 30 3.2.4 Xác định mối quan hệ 33 3.2.5 Đặc tả UseCase 35 3.2.4 Xây dựng biểu đồ useCase 41 3.2.5 Phân rã Usecase 42 3.2.6 Phân chia UseCase vào gói 44 CHƯƠNG 46 PHÂN TÍCH CẤU TRÚC VỚI BIỂU ĐỒ LỚP 46 4.1 Các khái niệm biểu đồ lớp 46 4.1.1 Đối tượng 46 4.1.2 Lớp 46 4.1.3 Xác định thuộc tính thao tác đối tượng 46 4.1.4 Xác định mối quan hệ lớp 48 4.2 Lập biểu đồ lớp biểu đồ đối tượng 57 4.2.1 Phát lớp lĩnh vực 58 4.2.2 Phát lớp tham gia ca sử dụng 61 4.3 Lập biểu đồ lớp cho ca sử dụng 62 CHƯƠNG 66 PHÂN TÍCH HÀNH VI 66 5.1 Giới thiệu mô hình hóa hành vi 66 5.2 Mơ hình hóa tương tác 67 5.2.1 Mô hình hóa tương tác với biểu đồ trình tự (Sequence Diagram) 72 5.2.2 Mơ hình hóa với biểu đồ giao tiếp (Collaboration Diagram) 75 5.2.3 Đối chiếu chỉnh sửa mơ hình 78 5.3 Biểu đồ trạng thái (Statechart Diagram) 80 5.3.1 Ý nghĩa biểu đồ trạng thái 80 5.3.2 Các chuyển tiếp (transition) 83 5.3.3 Xây dựng biểu đồ trạng thái 83 5.3.4 Đối chiếu mơ hình 85 CHƯƠNG 89 THIẾT KẾ HỆ THỐNG 89 6.1 Mục đích giai đoạn thiết kế 89 6.2 Quá trình thiết kế 89 6.2.1 Thiết kế lớp 90 6.2.2 Thiết kế liên kết 92 6.2.3 Thiết kế thuộc tính 94 6.2.4 Thiết kế thao tác 96 6.3 Thiết kế chi tiết tầng 96 6.3.1 Thiết kế tầng trình bày 96 6.3.2 Thiết kế tầng ứng dụng 97 6.3.3 Thiết kế tầng nghiệp vụ 100 6.3.4 Thiết kế việc lưu trữ liệu 100 6.4 Mơ hình hóa cài đặt hệ thống 105 6.4.1 Xây dựng biểu đồ thành phần 105 6.4.2 Xây dựng biểu đồ triển khai 107 CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG 1.1 Định nghĩa hệ thống 1.1.1 Hệ thống Định nghĩa: Hệ thống tập hợp gồm nhiều phần tử có mối quan hệ ràng buộc lẫn hoạt động hướng tới mục đích chung (ví dụ cỗ máy hệ thống chi tiết liên kết với thực chức cỗ máy ) 1.1.2 Môi trường hệ thống Môi trường hệ thống tập hợp phần tử không thuộc hệ thống trao đổi thông tin với hệ thống Việc xác định mơi trường (hay cịn gọi khoanh vùng hệ thống) dựa mục tiêu tồn hệ thống Mơi trường Hệ thống Hình môi trường hệ thống 1.2 Hệ thống kinh doanh Là khái niệm chung dùng cho tổ chức kinh tế nhà máy, xí nghiệp, cơng ty, tổ chức dịch vụ có mục đích phục vụ cho kinh doanh (business) Kinh doanh lợ i ích hoặ c lợ i nhuậ n Ví dụ: - Các công ty, nhà máy, dịch vụ hệ thống kinh doanh lợi nhuận - Các trường học, cơng trình cơng cộng, bệnh viện, hệ thống kinh doanh lợi ích Các thành phần hệ thống kinh doanh • Hệ định: Hệ định gồm người, phương tiện, phương pháp để đề xuất định, chiến lược kinh doanh, có liên quan đến hoạt động tồn hệ thống Q trình định trải qua hai bước: -Tìm hiểu tình hình -Lựa chọn giải pháp Tuỳ theo tầm quan trọng, phạm vi ảnh hưởng ta chia làm loại định: - Quyết định chiến lược: Là định cho kế hoạch tổng thể lâu dài, có tính chất định hướng - Quyết định chiến thuật: Quyết định có tính chất cục có phạm vi hẹp thời gian ngắn để hỗ trợ cho định chiến lược • Hệ tác nghiệp: Hệ tác nghiệp bao gồm người, phương tiện… trực tiếp thực nhiệm vụ hệ thống kinh doanh để đạt mục tiêu xác định • Hệ thống thơng tin: Bao gồm người, phương tiện phương pháp tham gia vào trình thu thập, lưu trữ, xử lý thông tin đảm báo quan hệ hệ định hệ tác nghiệp 1.3 Hệ thống thông tin 1.3.1 Định nghĩa hệ thống thông tin 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 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 trình phát triển hệ thống thông tin - 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ơ 1.3.2 Phân loại hệ thống thông tin Các hệ thống thơng tin 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 - Hệ thống hỗ trợ định (Decision support system - DSS) hệ thống thông tin vừa trợ giúp xác định thời định, vừa cung cấp thơng tin để trợ giúp việc định - Hệ thống thông tin điều hành (Excutive information system - EIS) hệ thống thông tin hỗ trợ nhu cầu lập kế hoạch đánh giá nhà quản lý điều hành - Hệ thống chuyên gia (Expert System) hệ thống thông tin thu thập tri thức chuyên môn chun gia mơ tri thức nhằm đem lại lợi ích cho người sử dụng bình thường - Hệ thống truyền thông cộng tác (Communication and collaboration system) hệ thống thông tin làm tăng hiệu giao tiếp nhân viên, đối tác, khách hàng nhà cung cấp để củng cố khả cộng tác họ - Hệ thống tự động văn phòng (Office automation system) hệ thống thông tin hỗ trợ hoạt động nghiệp vụ văn phịng nhằm cải thiện luồng cơng việc nhân viên 1.4 Quy trình phát triển hệ thống thơng tin Có nhiều loại chu trình phát triển phần mềm khác nhau: (i) Mơ hình thác nước (Waterfall): Đây chu trình phát triển đầu tiên, Royce đề xuất năm 1970 để mô tả phát triển hệ thống tin học Quá trình phần mềm chia thành dãy giai đoạn (các pha) liên tiếp từ phân tích yêu cầu, phân tích thành phần, thiết kế, lập trình đến thử nghiệm triển khai hệ thống Giai đoạn sau bắt đầu giai đoạn trước hồn thành (khơng chờm lên nhau) Vì chu trình phát triển cịn gọi chu trình tuyến tính Mơ hình thiết lập theo cách tiếp cận hướng chức phù hợp cho dự án lớn, phức tạp Nhược điểm chu trình phát triển thác nước chỗ khơng có quay lui Sự quay lui nhu cầu tự nhiên trình phát triển phần mềm, nhiều thực giai sau người ta phát thiếu sót giai đoạn trước cần phải quay lại giai đoạn để chỉnh sửa, bổ sung cho đầy đủ Ngồi ra, trình phát triển phần mềm theo chu trình thác nước, khơng có tham gia trực tiếp người dùng giai đoạn, mà tiếp xúc với hệ thống sau hồn thành Chính mà có nhiều phương pháp cải tiến chu trình thác nước, cho phép quay lui Chẳng hạn chu trình phát triển hình chữ V [35], c AFCIQ (Association Franỗaise pour le Contrụle Industriel de la Qualité) đề nghị bao gồm bước quay lui, ngồi cịn đặt tương ứng pha kiểm thử, tích hợp giai đoạn phân tích thiết kế Khi sai sót phát giai đoạn xem lại chu trình bắt đầu lại từ (ii) Chu trình tăng trưởng: Chu trình tăng trưởng, D R Graham đề xuất năm 1989, dựa bước tăng trưởng dần, cho phép hoàn thành hệ thống phần Mỗi bước tăng trưởng thực tiến trình tuyến tính gồm bước phân tích, thiết kế, lập trình, kiểm định chuyển giao phần Quá trình lặp lại nhiều lần có phương án hồn chỉnh cho hệ thống Rõ ràng cách làm thích hợp với hệ thống chia cắt chuyển giao theo phần (iii) Chu trình xoắn ốc Chu trình xoắn ốc hay chu trình lặp Boëhm đề xuất năm 1988, với đặc điểm sau: • Tiến trình lặp lại dãy giai đoạn định • Qua vịng lặp, tạo ngun mẫu hồn thiện dần • Nhấn mạnh khắc phục nguy cơ, rủi ro xuất q trình phát triển phần mềm, có nguy bắt nguồn từ sai sót đặc tả yêu cầu Trong tin học, phần mềm nguyên mẫu (Prototype) hệ thống: • Có khả làm việc liệu thực, nghĩa vượt qua giai đoạn dự án giấy đánh giá người thiết kế người sử dụng (khách hàng) • Có thể phát triển thêm để tiến tới hệ thống hồn chỉnh, làm sở để phát triển hệ thống theo đơn đặt hàng • Được tạo lập nhanh tốn • Dùng để kiểm chứng giả định nhu cầu cần đáp ứng, lược đồ thiết kế logic chương trình Như vậy, việc tạo ngun mẫu nhanh chóng có ích nhiều phương diện: • Chính xác hố u cầu hệ thống Thường nhu cầu người dùng khơng phát biểu rành mạch, khó mà đặc tả cách hoàn toàn đắn Một nguyên mẫu phô diễn cụ thể, tường minh để người dùng nhìn cảm nhận thấy có đáp ứng trúng nhu cầu hay khơng • Phát hành vi lệch lạc, sai sót Trong thiết kế, có điểm nhạy cảm, người thiết kế khơng lường hết tình Xây dựng ngun mẫu giúp ta phát hành vi lệch lạc, khiếm khuyết hệ thống • Đánh giá hiệu hệ thống Hiệu hệ thống liên quan chặt chẽ tới thích ứng ngơn ngữ lập trình, (Platform) phần cứng máy tính Nguyên mẫu phản ánh hiệu tương đối chương trình thơng qua ngun mẫu ta phát nguyên nhân chậm chạp từ bên chương trình, từ khâu giao tiếp người/máy, v.v Với việc làm nguyên mẫu trình phát triển phần mềm có nhiều khác biệt so với q trình tuyến tính nêu Theo Jekins, Milton Naumann (Đại học Indiana City), chu trình xoắn ốc chia thành bốn giai đoạn cho vịng lặp Chu trình xoắn ốc chia thành bốn giai đoạn cho vịng lặp hình sau: Giai đoạn 1: Với vịng lặp giai đoạn nhằm phát yêu cầu bản, rõ nét thông qua phương pháp thông thường như: khảo sát, vấn, xem xét tài liệu, v.v Không cần phải vét cạn yêu cầu mà nhanh chóng chuyển sang giai đoạn sau Từ vịng lặp thứ hai, giai đoạn tập trung xác định mục tiêu vòng lặp tại, phương án ràng buộc từ kết vòng lặp trước Giai đoạn 2: Đánh giá phương án có thể, phát nguy tiềm ẩn tìm cách giải chúng Các nguy cơ, rủi ro xuất phát từ phía cơng nghệ mới, đối tác cạnh tranh, từ thị trường khách hàng, từ phía ngân sách, tài chính, v.v., sở đánh giá tính khả thi dự án Giai đoạn 3: Thiết kế tạo lập nguyên mẫu, tập trung vào điều cốt yếu Giai đoạn 4: Thử nghiệm nguyên mẫu Trước hết giới thiệu cho số người dùng chọn lọc, thu thập phê phán, góp ý họ Tuỳ theo mức độ quan trọng, số điều chỉnh thực vòng tiếp sau Các vòng lặp tiếp tục xét thấy ngun mẫu tốt chuyển sang sản xuất thực Tóm lại, khn cảnh chung kỹ nghệ phần mềm mơ tả sau: 10 6.2.3 Thiết kế thuộc tính - Việc thiết kế thuộc tính chủ yếu định nghĩa kiểu cho thuộc tính đưa phân tích • Mặc dù phần lớn thuộc tính thuộc kiểu sở có sẵn ngơn ngữ lập trình song văn có thuộc tính tương ứng với cấu trúc liệu cần làm rõ • Các cấu trúc liệu diễn tả lớp song để phân biệt chúng với lớp bình thường ta đưa thêm khn dập Với kiểu liệt kê ta dùng khn dập • Trong cấu trúc liệu thuộc tính cơng cộng cần có thêm cá thao tác liên quan - Thiết kế thuộc tính cịn xác định tầm nhìn cách truy cập vào chúng • Mặc định thuộc tính riêng tư • Các tính chất UML gắn cho thuộc tính {frozen}, {chaneable} hay {readonly} cần thực ngầm thao tác truy cập: + Các thuộc tính {changeable} cần có thao tác truy cập set get + Tính chất {frozen} địi hỏi phải khởi tạo thuộc tính cấu tử (constructor) lớp Điều thường thực thông qua tham số khởi tạo + Với thuộc tính {readonly} có thao tác get mà khơng có thao tác set - Cuối thiết kế thuộc tính cịn phải rõ phương thức dùng để cập nhật thuộc tính dẫn xuất Các kỹ thuật vận dụng cho mục đích đề cập mục thiết kế lớp 94 - Thí dụ: Thiết kế thuộc tính 95 6.2.4 Thiết kế thao tác • Thiết kế thao tác bước cuối vòng lặp thiết kế chi tiết Có lẽ cơng việc thu hút nhiều sức lực thời gian Nội dung thiết kế thao tác đưa hình ảnh chi tiết cho phương thức đề án • Để thiết kế tư liệu hóa phương thức UML cung cấp sẵn cho ta biểu đồ mô hình hóa đồng thái là: ▪ Một biểu đồ hoạt động, cho phép mô tả phương thức mà có lớp khác can thiệp vào Biểu đồ hữu hiệu mô tả giải thuật có nhiều giai đoạn có nhiều phép chọn lựa tình ▪ Một biểu đồ tương tác, cho phép trình bày phương thức mà có nhiều lớp tham gia, lại chọn lựa tình 6.3 Thiết kế chi tiết tầng 6.3.1 Thiết kế tầng trình bày • Vịng lặp quy trình thiết kế chi tiết áp dụng cho tầng kiến trúc khách hàng/dịch vụ( tầng trình bày, tầng ứng dụng, tầng nghiệp vụ, tầng truy cập liệu tầng lưu trữ liệu) • Tầng trình bày giới hạn phần trơng thấy ứng dụng: phần thực giao diện người máy tính Đây phần dễ bay biến( thay đổi) hệ thống, kỹ thuật làm giao diện tiến nhanh, mà người dùng sau thời gian khai thác hệ thống lại thường muốn có đổi hình thức giao tiếp • Hình thức giao diện người dùng phổ biến giao tiếp qua cửa sổ( loại Windows) Trong hình thức người dùng đối diện với ba loại khái niệm chính: ▪ Các cửa sổ nội dung bên đó, mà người dùng trồn thấy, dịch chuyển, thay đổi kích cỡ… Đó phần nhìn thấy phần cấu trúc tĩnh giao diện ▪ Các hành động mà người dùng kích hoạt tạo nên thay đổi trạng thái giao diện Đó phần hành vi giao diện ▪ Các luồng thông tin mà hệ thống đưa cho người dùng hay người dùng đưa vào hệ thống thông qua danh sách chọn lựa, trường biên tập… Đó phần trao đổi thông tin với ứng dụng, tức phần chức giao diện 96 • Thiết kế tư liệu hóa tầng trình bày trở thành việc xem xét ba sắc thái nói nó, tức hiển thị, hành vi chức • Sự trở giúp dễ dàng thuận lợi công cụ GUI dễ bị lạm dụng, dẫn tới vi phạm nghiêm trọng nguyên tắc cố kết cao tương liên yếu tầng Bởi dễ có xu hướng từ giao diện người dùng ta cho gọi trực tiếp tới đối tượng thực thể để lấy thơng tin điều tạo tương liên chằng chịt, khó khống chế tầng trình bày với tầng • Để tránh nguy này, thiết kế tầng trình bày, ta nên áp dụng khuôn khổ MVC, với định hướng tạo phân công tách biệt ba phần sau: ▪ M Model (mơ hình), lớp thực thể (chẳng hạn khách hàng, Đơn hàng) thuộc tầng nghiệp vụ Đây nguồn gốc thông tin hiển thị giao diện người dùng Tuy nhiên giao diện không truy cập trực tiếp vào đối tượng thực thể, mà tầng ứng dụng gom thông tin từ đối tượng thực thể vào “tài liệu” (document), giao diện người dùng truy cập vào tài liệu để lấy tin Thường có tương ứng 1-1 khung nhìn tài liệu, song tài liệu tương ứng với hay nhiều đối tượng thực thể ▪ V View (khung nhìn), phần hiển thị giao diện mà người dùng trơng thấy Khung nhìn phải quản lý vật thể đồ họa (cấu trúc tĩnh) mình, truy cập vào tài liệu để lấy thông tin hiển thị hay để cập nhật thông tin ▪ C Controller (Bộ điều khiển), phần đảm trách việc quản lý động thái (tức hành vi) giao diện, thực chuyển đổi trạng thái giao diện theo kiện kích hoạt từ phía người dùng Có tương ứng 1-1 View Controller Thơng thường View+ Controller tạo nên tầng trình bày 6.3.2 Thiết kế tầng ứng dụng • Tầng ứng dụng bao gồm trước hết lớp điều khiển (đã phân tích, mơ hình cấu trúc tĩnh hệ thống), có nhiệm vụ dẫn dắt q trình ứng dụng, thực quy tắc cần bảo đảm ứng dụng • Theo James Martin, hệ thống có ba loại quy tắc, hay cịn gọi luật (rules): - Các luật tồn vẹn phát biểu điều phải ln Chẳng hạn thuộc tính phải có giá trị ngun từ đến 97 - Các luật dẫn xuất phát biểu giá trị (hay tập giá) tính Chẳng hạn thànhtiền = đơngiá * sốlượng - Các luật hành vi mô tả sắc thái động hành vi, điều kiện phải bước vào thực hành động Chẳng hạn sổ lị vi sóng mở đèn phải bật sáng • Các luật thường gọi luật nghiệp vụ, nghiên cứu giai đoạn phân tích ánh xạ vào lớp điều khiển Tuy nhiên cịn có luật hay u cầu có tính chất kỹ thuật thiết kế chi tiết ta phải ý đến Đó là: - Sự đồng hóa nhiều cửa sổ liệu chung Sự tối ưu hóa việc nạp tải liệu trạm người dùng - Sự kiểm sốt chặt chẽ q trình tương tác với người dùng • Để đáp ứng yêu cầu việc thiết kế chi tiết tầng ứng dụng thực dựa định nghĩa “ tài liệu”, biểu diễn cho hình ảnh nhớ trao đổi liệu với cửa sổ Theo định nghĩa có tài liệu cho cửa sổ Trên sở khuôn khổ cài đặt này, ta xem xét sau ba yêu cầu kỹ thuật vừa nói a) Đồng hóa cửa sổ • Đồng hóa cửa sổ việc làm cho cửa sổ khác không mâu thuẫn với chúng trình bày số liệu có chung nguồn gốc Chẳng hạn số thông tin địa lý trình bày cửa sổ: cửa sổ văn tự cửa sổ đồ • Để đảm bảo tính đồng thơng tin trình bày, ta phải thiết lập mối liên quan kết nhập tài liệu tương ứng với cửa sổ( tầng ứng dụng) để rõ chia sẻ thơng tin chúng b) Tối ưu hóa việc tải nặp thơng tin từ thực thể • Trong hệ phân tán, đối tượng thực thể thường cư trú cách phân tán, làm cho việc truy cập vào chúng trở nên tốn Để tối ưu hóa việc tải nạp thơng tin từ thực thể tới tầng ứng dụng (cho tài liệu), ta phải tìm cách giảm thiểu số lần truy cập Muốn thế, ta phải ghi nhớ thông tin tải nạp, để tránh việc truy cập lặp lặp lại thực thể • Người ta dùng catalơ tham chiếu đối tượng thực thể theo OID (Object Identifier) chúng 98 - Để tối ưu hóa, catalơ tổ chức thành catalô con, xếp theo tên lớp, để từ tim đến đơi tượng theo OID - Giao diện “ThthểThànhPhần” biểu diễn cho thực thể đến từ thành phần phân tán Khi tải nạp thực thể, đối tượng giao - diện ThthểThànhPhần tạo lập để ghi nhận thơng tin tải nạp Nhờ lần tải nạp sau tìm lại thơng tin (trong catalô) mà truy cập trực tiếp vào thực tế Tổ chức catalô để lưu giữ thông tin tải nạp: CatalôCáclớp {singleton} tênLớp:Strin g CatalôCácĐốitượng oid: OID ThthểThànhphần tảinạp( oid: OID): Đốitượng c) Tổ chức kiểm soát chặt chẽ q trình tương tác với người dùng • Khi làm việc với cửa sổ, người dùng phát lệnh (command) cách kích vào nút hay kích vào khoản đơn chọn Lệnh có mục đích gọi thao tác đối tượng tài liệu, ứng với cửa sổ đó: Cửa sở Đơn chọn Khoản chọn Kích() Tài liệu open() close() cut() Yêu cầu thực thao tác đối tượng tài liệu copy() paste() 99 • Tuy nhiên lệnh phát từ cửa sổ truyền trực tiếp tới tài liệu (nơi nhận lệnh) nhiều lý do: - Lệnh cần bị chặn lại để kiểm tra quyền sử dụng - Lệnh phải lưu giữ lại để đưa vào hàng đợi, đến lượt thực - Dãy lệnh thực liên tiếp cần phải quản lý ghi nhớ để cần trở lại (undo), hay phục hồi (redo) - Có lệnh cịn phải tham số hóa để thích ứng theo hồn cảnh cụ thể • Tất yêu cầu quản lý lệnh khơng thể giao cho cửa sổ phụ trách được, cửa sổ thiết kế theo dụng cụ (toolkit), phải giữ tính độc lập với ứng dụng Vậy ứng dụng phải tổ chức lấy việc quản lý lệnh cách chặt chẽ sát với yêu cầu 6.3.3 Thiết kế tầng nghiệp vụ • Tầng nghiệp vụ nơi trú ngụ lớp thực thể phản ánh lĩnh vực ứng dụng Đây tầng ổn định (ít bay biến) có khả tái sử dụng cao • Bước đầu, lớp thực thể bao gồm thuộc tính thao tác phát giai đoạn trước Tuy nhiên sau ta phải đưa thêm: - Các thao tác get (lấy) let (đặt) cho thuộc tính, thuộc tính khai báo riêng tư - Các dịch vụ mà lớp thực thể phải cung ứng, nhằm đáp ứng u cầu tìm - kiếm thơng tin theo sắc thái hệ thống Các thao tác đáp lại yêu cầu cập nhật, cách chuyển tác dụng cập nhật xuống tầng (tầng lưu trữ liệu) 6.3.4 Thiết kế việc lưu trữ liệu • Có đối tượng cần phải lưu trữ lại cách lâu dài (trên nhớ ngồi), khơng thể để với kết thúc chương trình Gọi đối tượng trường cữu (persistent) Thường đối tượng thực thể, đối tượng biên (giao diện) hay đối tượng điều khiển a) Chọn lựa cách lưu trữ liệu • Việc mơ hình hóa hệ thống lớp đối tượng tạo nhiều thuận lợi cho việc lưu trữ liệu Tuy nhiên ngày có ba cách lưu trữ dùng • Các hệ thống tệp (tệp tin): Đó phương tiện lưu trữ thô sơ Lưu trữ liệu tệp không gây nên tốn Tuy nhiên cho phép đọc 100 viết đối tượng, mà khơng có khả đặt câu hỏi tìm kiếm liệu phức tạp Vì dùng với hệ thống có tầm quan trọng đáng kể • Các sở liệu quan hệ (RDBMS): Tinh tế quản lý liệu tìm kiếm thơng tin với câu hỏi phức tạp Tồn nhiều hệ quản trị CSD thích ứng theo yêu cầu khác khối lượng, phân tán hệ điều hành Cho nên cách lưu trữ liệu dùng phổ biến • Các sở liệu hướng đối tượng (OODBMS): cho phép lưu trữ quản lý đối tượng cách trực tiếp Nhờ mà nói khâu thiết kế cho việc lưu trữ liệu hầy chẳng cịn việc phải làm Tuy nhiên hệ quản trị CSDL đối tượng chưa thực hoàn chỉnh chưa chiếm thị phần lớn thực tế • Dưới ta đề cập việc thiết kế CSDl với chọn lựa hệ quản trị CSDL quan hệ b) Ánh xạ lớp sang bảng • Mỗi lớp trường cữu tương ứng với bảng mơ hình quan hệ: - Mỗi thuộc tính lớp tương ứng với cột bảng Mỗi cá thể (đối tượng) lớp tương ứng với dịng (một bộ- n) bảng, OID đối tượng đóng vai trị khóa (primary key) bảng • Có số thuộc tính lớp có kiểu phức tạp (các cấu trúc liệu) không tương ứng với kiểu SQL Vậy phải có biến đổi kiểu phức tạp đó: - Hoặc nhiều cột, cột tương ứng với trường cấu trúc liệu - Hoặc bảng riêng biệt, liên hệ với bảng khóa ngồi, cho phép kêt nối đối tượng với giá trị thuộc tính phức tạp • Sự tương đương lớp với bảng: Mơ hình đối tượng Mơ hình quan hệ Lớp Bảng Thuộc tính có kiểu đơn Cột Thuộc tính có kiều phức tạp Các cột hay khóa ngồi Đối tượng Bộ - n OID Khóa Liên kết kết nối Khóa ngồi hay bảng 101 Khóa đồng nhiều bảng Thừa kế • Thí dụ: ánh xạ lớp bán hàng sang bảng Kết ánh xạ biểu đồ lớp (trong UML), diễn tả cấu trúc lưu trữ, lớp mang khuôn dập , tên lớp gắn thêm tiền tố T_ Một công cụ trợ giúp (Rational Rose chẳng hạn) biến đổi biểu đồ thành ngôn ngữ định nghĩa liệu (DDL), cho phép tạo lập bảng CSDL • Ánh xạ từ lớp sang bảng khơng nên hiểu máy móc ánh xạ 1-1 ánh xạ 1-1 thường dẫn tới hiên tượng không tốt sau: - Quá nhiều bảng q nhiều kết nối phải thực Thơng thường biểu đồ lớp chứa nhiều lớp, ánh 1-1 thành bảng ta có nhiều bảng Mà có nhiều bảng để tìm kiếm thông tin CSDL ta lại phải áp dụng nhiều phép kết nối (join), ảnh hưởng nặng nề đến tốc độ truy cập Vì vậy, nên cố gắng gom bảng thường liền với tìm kiếm thành bảng lớn - Thiếu bảng: Như ta thấy mục thiết kế liên kết, hai lớp có liên kết nhiều-nhiều mà liên kết lại có thuộc tính phải định nghĩa lớp liên kết chứa thuộc tính Chẳng hạn, Sinh viên Mơn học có liên kết nhiều-nhiều (“Sinh viên hồn thành Mơn học”); liên kết lại có thuộc tính (như năm học, kết thi), mơ hình đối tượng phải thêm lớp liên kết lớp Kết học Chuyển sang mơ hình quan hệ, ngồi hai bảng Sinh viên Mơn học ta có bảng Kết học 102 Sinh vien Mon h oc * * Ket qua hoc • Tuy nhiên, trường hợp liên kết nhiều-nhiều hai lớp mà khơng có thuộc tính, lớp liên kết khơng cần có biểu đồ lớp Chẳng hạn, DịngĐơnHàng PhátHàng có liên kết nhiều-nhiều, nhiên liên kết thuộc tính nào, khơng cần có lớp liên kết (bởi liên kết nhiều-nhiều cài đặt trực tiếp thuộc tính bội, phép dùng ngơn ngữ lập trình hướng đối tượng) Tuy nhiên chuyển qua mơ hình quan hệ, thiết lại phải có bảng đặt tương ứng đối tượng hai bên để biểu diễn cho liên kết nhiều-nhiều Do quan hệ 1-1 làm quan hệ Don hang 1 * Dong don hang * * Phat hang • Mất khả thừa kế: Mơ hình quan hệ khơng sẵn sàng hỗ trợ cho thừa kế Vì vậy, ánh xạ đơn giản lớp sang bảng, mà khơng có xử lý đặc biệt (xem dưới) khơng cịn giữ mối liên quan khái qt hóa thừa kế • Suy giảm hiệu năng: Một ánh xạ 1-1 thường chuyển biểu đồ lớp thành mơ hình quan hệ dạng chuẩn Tuy nhiên có nhiều ứng dụng hướng tới số báo cáo định, đòi hỏi phải hạ chuẩn liệu (chẳng hạn phải lặp lại liệu nhiều bảng, hay sát nhập số bảng) nhằm tạo khả truy cập thuận lợi cho mục đích định sẵn ứng dụng c) Ánh xạ liên kết: • Trong phần ta đề cập việc thiết kế chi tiết liên kết vốn khơng có sẵn ngơn ngữ lập trình hướng đối tượng Nay ta ánh xạ liên kết lớp vào bảng mô hình quan hệ, ta có điều tương tự, nghĩa phải chuyển liên kết thành khóa ngồi hay bảng liên kết Có khác 103 biệt chỗ thuộc tính bảng mơ hình quan hệ phải thuộc tính đơn - Với liên kết một-một: Lập bảng cho lớp (bảng A, B) Khóa bảng khóa ngồi bảng Thực lập thành hai bảng thực cần thiết liên kết ánh xạ vào (1 đến 1), cịn liên kết đối cách tốt lập bảng - Với liên kết một-nhiều: Lập bảng cho lớp (bảng A, B) Khóa bảng A (đầu Một) khóa ngồi bảng B (đầu Nhiều) - Với liên kết nhiều-nhiều: Lập bảng cho lớp (bảng A, B) Lập thêm bảng kết nối, hay gọi bảng giao (bảng C) Khóa bảng A,B định nghĩa khóa ngồi bảng C Khóa C cột riêng, song khóa bội hợp thành từ hai khóa ngồi - Với kết nhập hợp thành: Trong mơ hình quan hệ kết nhập hợp thành mơ hình hóa liên kết bình thường Hợp thành có số 1-1 nên cài đặt thành bảng Nếu hợp thành cài đặt thành hai bảng riêng biệt khả loại bỏ lan truyền phải xem xét cài đặt CSDL vật lý Còn kết nhập nên để thành hai bảng đối tượng bị kết nhập tồn độc lập - Với liên kết đệ quy: Đó loại liên kết lớp với nó, cho ta kết nối cặp đối tượng lớp Liên kết đệ quy cài đặt cách thêm vào cột, mà giá trị giá trị khóa lớp xem khóa ngồi d) Ánh xạ mối liên quan khái qt hóa • Nếu hầu hết ngơn ngữ lập trình hướng đối tượng hỗ trợ cho mối liên quan (sự thừa kế) mơ hình quan hệ khơng hỗ trợ cho Có nhiều cách để chuyển đổi mối quan hệ vào mơ hình quan hệ: • Lập bảng cho lớp (lớp lớp dưới): Mối liên quan bảng giải theo hai cách: - Dùng ODI chung cho bảng phả hệ thừa kế Như để truy cập liệu đối tượng phải thực phép kết nối (join) lớp lớp (cha con) - Lập khung nhìn SQL (view) cho cặp lớp trên/lớp Như số bảng tăng thêm thực chất phải dùng phép kết nối truy cập liệu 104 • Cả hai cách làm cho phép tăng thêm lớp tương lai mà không làm xáo trộn lớp cũ - Chỉ lập bảng (ứng với lớp trên): Mọi thuộc tính lớp dồn bảng Như số bảng tối thiểu (=1) số cột tăng thêm với cá thể có cột khơng dùng tới.Vậy thích hợp số thuộc tính lớp Khơng thuận lợi cho việc thêm lớp - Lập bảng cho lớp dưới: Lặp lại thuộc tính lowpstreen vào bảng lớp (hạ chuẩn) Như vậy, sơ bảng rút bớt (khơng có bảng cho lớp cha) việc tăng thêm lớp tương lai không gây ảnh hưởng việc điều chỉnh lớp cha buộc phải điều chỉnh lại bảng Thích hợp số thuộc tính lớp cha 6.4 Mơ hình hóa cài đặt hệ thống 6.4.1 Xây dựng biểu đồ thành phần a) Ý nghĩa Biểu đồ thành phần sử dụng để biểu diễn thành phần phần mềm cấu thành nên hệ thống Một hệ phần mềm xây dựng từ đầu cách sử dụng mơ hình lớp trình bày phần trước tài liệu, tạo nên từ thành phần sẵn có Mỗi thành phần coi phần mềm nhỏ hơn, cung cấp khối dạng hộp đen q trình xây dựng phần mềm lớn Nói cách khác, thành phần gói xây dựng cho q trình triển khai hệ thống Các thành phần gói mức cao JavaBean, gói thư viện liên kết động dll, hoặccác phần mềm nhỏ tạo từ thành phần nhỏ lớp thư viện chức b) Các phần tử biểu đồ 105 Ví dụ: Biểu đồ thành phần hệ thống quản lý thư viện Hình thành phần có mặt hệ quản lý thư viện Hệ thống cần quản lý thông tin liên quan đến sách bạn đọc có hai thành phần thực công việc (Quản lý sách Quản lý bạn đọc) Các thành phần quản lý thao tác CSDL hệ thống nên có thành phần cài đặt CSDL Ngoài hệ thống cần thành phần giao tiếp với người dùng gồm Giao diện bạn đọc Giao diện thử thư cài đặt riêng máy client Thông thường, biểu đồ thành phần thường kết hợp với biểu đồ triển khai để trở thành biểu đồ vật lý chung hệ thống 106 6.4.2 Xây dựng biểu đồ triển khai Biểu đồ triển khai biểu diễn kiến trúc cài đặt triển khai hệ thống dạng cá nodes mối quan hệ node Thơng thường, nodes kết nối với thông qua liên kết truyền thông kết nối mạng, liên kết TCPIP,microwave… đánh số theo thứ tự thời gian tương tự biểu đồ cộng tác Ví dụ: Biểu đồ triển khai hệ thống thư viện Hình biểu diễn biểu đồ triển khai cho hệ quản lý thư viện Biểu đồ cho biết hệ thống cài đặt ba dạng máy tính khác nhau: máy client dành cho thủ thư cài đặt thành phần giao diện thủ thư, quản lý sách, quản lý bạn đọc; máy client dành cho 107 bạn đọc cài giao diện bạn đọc; CSDL thành phần điều khiển CSDL cài server chung gọi Server 108 ... định đối tượng, liệu hành động gắn với đối tượng mối quan hệ đối tượng Các đối tượng hoạt động độc lập thực hành động nhận yêu cầu từ đối tượng khác Vì vậy, phương pháp hỗ trợ phân tích, thiết kế. .. Hành vi đối tượng thể tập hợp thao tác, dịch vụ mà thực đối tượng khác yêu cầu - Căn cước đối tượng để phân biệt với đối tượng khác ▪ Biểu diễn đối tượng: 4.1.2 Lớp • Lớp mô tả tập hợp đối tượng. .. 6.2.2 Thiết kế liên kết 92 6.2.3 Thiết kế thuộc tính 94 6.2.4 Thiết kế thao tác 96 6.3 Thiết kế chi tiết tầng 96 6.3.1 Thiết kế tầng trình bày 96 6.3.2 Thiết

Ngày đăng: 14/03/2023, 02:34