Tài liệu phụ lục 6 phân tích, thiết kế và lập trình tượng pdf

29 423 0
Tài liệu phụ lục 6 phân tích, thiết kế và lập trình tượng pdf

Đ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

phụ lục phân tích, thiết kế lập trình tượng hướng đối § Phân tích hướng đối tượng 1.1 Giới thiệu Phân tích hệ thống khơng có liên quan chặt chẽ với xuất máy tính, mà thực tế nhu cầu phân tích có trước máy tính xuất từ nhiều kỷ Khi Vua Pharaon Ai Cập cổ đại xây dựng Kim Tự Tháp, người thiết kế Kim Tự Tháp coi nhà thiết kế hệ thống, kiến trúc sư đại tài, người tổ chức vận chuyển nguyên vật liệu, huy động nhân công xây dựng Kim Tự Tháp, theo nghĩa đó, người phân tích hệ thống Từ kỷ trước, nhà tư bản, doanh nghiệp muốn có lợi nhuận cao phải tiến hành nghiên cứu phương pháp, cách tổ chức, phân công lao động hợp lý hệ thống sản xuất, kinh doanh hoạt động đạt hiệu cao Chính họ thực phân tích hệ thống để đề phương pháp quản lý, cách tổ chức mới, tốt Cùng với phát triển công nghiệp điện tử, giá thành phần cứng giảm nhiều, giá phần mềm lại tăng Nhất phí tổn cho bảo trì để hệ thống đáp ứng cầu người sử dụng lại chiếm tỷ trọng lớn tổng chi phí cho dự án phát triển phần mềm Điều cho thấy vai trị cơng việc phân tích hệ thống quan trọng cần thiết phải tìm phương pháp tốt cho việc phát triển hệ thống Phân tích làm nhiệm vụ phân tách tốn thành thành phần nhỏ Trong công nghệ phần mềm cịn có nghĩa phải hiểu rõ q trình xây dựng đặc tả yêu cầu người sử dụng, nắm chức cách phân rã hệ thống vật lý thành đơn thể (module) Theo phương pháp truyền thống điều thường thực theo cách tiếp cận trên-xuống (top-down), sử dụng phương pháp phân tích có cấu trúc Phân tích hướng đối tượng cho phép mô tả hệ thống gần với giới thực hơn, xác định rõ đối 577 tượng, trừu tượng hoá yêu cầu để sở xây dựng cấu trúc hệ thống Phương pháp hướng đối tượng giải hố ngăn cách phân tích thiết kế hệ thống Trong mục đề cập đến bước cần thực phân tích hướng đối tượng (PTHĐT) Thơng qua ví dụ phân tích hệ thống thư viện, hình dung rõ cơng việc xây dựng đặc tả yêu cầu, mô tả đối tượng cách xác định mối quan hệ lớp đối tượng hệ thống 1.2 Các bước thực phân tích hướng đối tượng Để xây dựng hệ thống phần mềm phải giải ba vấn đề sau: + Dữ liệu, lớp đối tượng cấu trúc chúng + Những hành vi thể chức cục bộ, trình hệ thống + Điều khiển hành vi tổng thể hệ thống Trong thực tế, cấu trúc liệu yêu cầu hành vi hệ thống thường xuyên thay đổi Do phải phân tích kỹ tốn, lựa chọn phương pháp phát triển hệ thống thích hợp hệ thống có tính chất mở, dễ thích nghi giúp cho cơng việc bảo trì hệ thống đỡ tốn Người phân tích hệ thống người có kiến thức bao qt, có kinh nghiệm q trình phân tích nhiều hệ thống ứng dụng khác nhau, đồng thời phải có khả giao tiếp, trao đổi hiểu người đầu tư, thiết kế người sử dụng hệ thống Nhiệm vụ phân tích hệ thống phải trả lời cho câu hỏi "Hệ thống làm gì?" "Tại sao?" Để xác định toán trả lời câu hỏi nêu người phân tích cần phải phát hiện, tìm hiểu kỹ hệ thống có hoạt động thực tế Có thể chưa phải hệ thống tin học hoá Trên sở nghiên cứu hệ thống cũ, xác định rõ yêu cầu người sử dụng để định xem hệ thống cần xây dựng làm hoạt động Q trình mơ tả hình 1-1 578 Tìm hiểu hệ thống cũ Quyết định hệ thống làm gì? Xây dựng đặc tả yêu cầu 579 Yêu cầu người sử dụng Phát hệ thống cũ Định nghĩa toáni toán Xác định lớp đối Xác định rõ hệ thống cần phát triển Hình 1-1 Mức độ bao quát giới thực Trong phương pháp truyền thống mơ hình dịng liệu mơ tả thơng qua sơ đồ dịng liệu Các q trình hệ thống xác định thông qua việc phân rã chức top-down Sơ đồ biến đổi trạng thái sử dụng để mô tả biến đổi thông tin dòng điều khiển hệ thống Phương pháp hướng đối tượng kết hợp hai phương diện liệu với trình, gộp chung hành vi cục với liệu đơn vị cấu trúc Phương pháp phân tích hướng đối tượng cung cấp cho cơng cụ đơn giản đủ mạnh để xác định đối tượng xây dựng đơn nguyên hệ thống cần phát triển Phân tích hướng đối tượng bao gồm bước sau: + Tìm hiểu tốn + Xác định rõ đặc tả yêu cầu người sử dụng, hệ thống phần mềm + Xác định đối tượng thuộc tính chúng + Xác định hàm mà đối tượng phải thực (hành vi đối tượng) + Xác định mối quan hệ tương tác đối tượng, thông báo truyền thông báo đối tượng Xác định hài toánm Mối quan hệ đối tượng Thiết kế Hình 1-2 Phân tích hướng đối tượng 1.2.1 Tìm hiểu kỹ tốn Nhiệm vụ q trình phân tích phải tìm hiểu kỹ tốn ứng dụng Người phân tích phải gặp gỡ, trao đổi với người đầu tư, người sử dụng để biết rõ chức năng, nhiệm vụ hệ thống cần phát triển Đồng thời người phân tích phải tìm hiểu, phát hệ thống cũ giải vấn đề tương tự vấn dề mà hệ thống cần xử lý Dựa vào kinh nghiệm, kết phân tích hệ thống cũ, cơng việ mà hàng ngàyphải thực để xác định xác tốn Trên sở làm rõ yêu cầu toán định nghĩa lại theo quan điểm kỹ sư phầm mềm để đảm bảo đưa lời giải tin học (hệ thống thực máy tính) Các khẳng định tốn phải đơn giản rõ ràng, mạch lạc văn phạm 580 Điều giúp cho kỹ sư phần mềm có điều kiện tập chung nhiều vào việc xây dựng lời giải cho toán Dựa khẳng định toán để xây dựng đặc tả yêu cầu người sử dụng lẫn hệ thống phần mềm 1.2.2 Xây dựng đặc tả u cầu Khi định nghĩa rõ tốn bước phải tìm hiểu xem hệ thống dự kiến yêu cầu làm gì? Điều quan trọng phải xây dựng danh sách yêu cầu người sử dụng Rõ ràng cần có trao đổi, hiểu biết người sử dụng người phát triển hệ thống điều mà họ mong muốn Dựa yêu cầu người sử dụng, người phát triển đưa đặc tả cho hệ thống Người xây dựng hệ thống phải trả lời câu hỏi: + Đầu (output) hệ thống gì? + Hệ thống phải làm để có kết mong muốn, nghĩa phải xử lý gì? + Đầu vào (input) hệ thống gì? + Những tài nguyên mà hệ thống yêu cầu gì? Phải hiểu rõ nguồn gốc, dạng thơng tin cần cung cấp cho hệ thống hoạt động Hệ thống giải vấn đề gì, kết cần phải có Xác định mối quan hệ đầu vào/ra (input/ output), nghĩa xác định khẳng định mối quan hệ tiền điều kiện hậu điều kiện cho trình hệ thống Các đặc tả chi tiết phục vụ cho việc xây dựng trắc nghiệm hệ thống để kiểm tra xem nhiệm vụ đặt có hồn thành hay không 1.2.3 Xác định đối tượng Thông thường đối tượng xác định thông qua thực thể giới thực trừu tượng hoá thành đối tượng trừu tượng Để xác định đối tượng sử dụng cơng cụ sau: Sơ đồ dịng liệu Phân tích văn Sơ đồ dịng liệu: Sơ đồ dịng liệu mơ hình hệ thống cho liệu lẫn q trình Thơng tin lấy từ nguồn liệu, chuyển đến cho hay nhiều trình xử lý ngược lại, q trình nhận đủ thơng tin vào (input) bắt đầu thực hiện, xử lý thơng tin cho 581 Trong sơ đồ kết (output) chúng gửi tới kho liệu dòng liệu, trình thực có đủ thơng tin đầu vào (theo đường có mũi tên dẫn đến q trình đó) Trong sơ đồ, hình trịn ellipse sử dụng để biểu diễn cho q trình, hình có tên gọi trình Tên gọi cho trình phải phải bắt đầu động từ kết hợp với bổ ngữ như: "Xử lý đơn hàng", "Ghi nhận nguồn hàng" v.v Ví dụ: Đơn đặt hàng Xử lý đơn hàng Chỉ thị Chức quan trọng trình xử lý liệu, biến đổi thơng tin Dịng liệu biểu diễn đường thẳng có mũi tên làm nhiệm vụ chuyển tải thông tin vào khỏi q trình Mũi tên hướng dịng thơng tin Lưu ý nói tới vận chuyển thông tin logic thông tin dạng vật lý Dòng liệu gắn với tên không thiết phải Các dịng liệu, tên gắn cho phải thông tin logic tương ứng cho q trình Trong sơ đồ dịng liệu, liệu biểu diễn hình chữ nhật có chứa tên thông tin đượcc cất giữ Tên gắn với liệu phải danh từ Vícc cất giữ Tên gắn với liệu phải danh từ Vít giữ Tên gắn với liệu phải danh từ Ví Tên gắn với liệu phải danh từ Vín với liệu phải danh từ Víi Tên gắn với liệu phải danh từ Ví liệu phải danh từ Víu phải danh từ Víi lài tốn danh từ Ví Ví dụ:: KHACH_HANG biểu diễn cho thơng tin khách hàng có tên KHACH_HANG Giữa liệu q trình ln có dòng liệu liên kết Khách hài toánng Đơn đặt hàng Xử lý Chỉ thị Kho sách 582 đơn hàng Hình 1-3 Sơ đồ dịng liệu Các q trình biểu diễn hình trịn ellipse thủ tục, hàm Hình 1-3 mơ tả sơ đồ dịng liệu hệ thống xử lý đơn hàng vận chuyển thông tin cho cơng ty phát hành sách Trong sơ đồ dịng liệu hệ thống thực thể biểu diễn hình chữ nhật kho liệu biểu diễn với tên gọi đặt hai đường thẳng song song Kho liệu biểu diễn cho lượng lớn thông tin cần phải lưu trữ thời gian dài, thường tệp liệu nhiều người truy nhập vào Sơ đồ dịng liệu sử dụng để biểu diễn q trình xử lý thơng tin hệ thống nhiều mức độ trừu tượng khác Quá trình "Xử lý đơn hàng", "Tập hợp đơn hàng" hình 1-4 làm mịn từ trình "Xử lý đơn hàng" hình 1-3 tiếp tục làm mịn thêm, mơ tả q trình toán, giao hàng v.v , mức độ chi tiết CSDL sách Đơn đặt Xử lý đơn hàng Các sách CSDL khách hàng Tập hợp đơn hàng Hình 1-4 Sơ đồ dịng liệu hệ xử lý đơn đặt hàng kho Phương pháp tạo sơ đồ dịng liệu Chúng ta tạo sơ đồ dòng liệu theo hai cách sau: Dùng sơ đồ chức năng: Sơ đồ chức cho biết chức cấu trúc phân cấp công việc cần thực Một nhiệm vụ người phân tích phân tích tốn để xây dựng sơ đồ chức hệ thống Theo phương pháp có cấu trúc, việc phân rã chức hệ thống thành chức lại bao hàm nhiều chức khác cho kết sơ đồ phân cấp chức hệ thống (phân tích chức 583 cách xây dựng sơ đồ chức đề cập kỹ "Phân tích, thiết kế cài đặt hệ thơng tin quản lý, Viện Tin học") Các chức sơ đồ chức chuyển tương ứng sang trình sơ đồ dịng liệu Dựa vào kết tìm hiểu, phân tích tốn để xác định nguồn liệu, kho liệu vào/ra cho q trình sơ đồ dịng liệu Sử dụng sơ đồ ngữ cảnh: Sơ đồ ngữ cảnh thường sử dụng giai đoạn đầu trình phân tích dùng để vạch phạm vi hoạt động hệ thống Thông thường sơ đồ ngữ cảnh xây dựng dạng tựa sơ đồ chức năng, bao gồm nút biểu diễn cho nhiệm vụ trung tâm hệ thống, toả tác nhân ngồi nhóm cơng việc có liên quan Phân tích sơ đồ chức năng, sơ đồ ngữ cảnh cách xây dựng sơ đồ dòng liệu tham khả "Phân tích, thiết kế cài đặt hệ thông tin quản lý, Viện Tin học" Chúng ta dựa vào định nghĩa sơ đồ dòng liệu để xác định đối tượng Trong sơ đồ dịng liệu, hình chữ nhật, có hai đường thẳng song song biểu diễn cho liệu, kho liệu xem đối tượng Lưu ý tương ứng 1-1 nút biểu diễn cho liệu, kho liệu sơ đồ dòng liệu với đối tượng Một đối tượng đại diện hay nhiều nút liệu, kho liệu sơ đồ dòng liệu tuỳ thuộc vào ngữ cảnh vấn đề mà mơ tả Ví dụ hình 1-4 có ba đối tượng: SACH, DON_HANG 584 KHACH_HANG Hai nút: kho liệu "CSDL sách" với nút liệu "Các kho sách" đại diện cho đối tượng SACH quản lý thơng tin sách; đối tượng DON_HANG xác định từ nút "Đơn đặt sách" KHACH_HANG xác định từ nút "CSDL khách hàng" Phân tích văn bản: Cách thực thứ hai dựa mô tả văn tốn lời giải để phân tích Văn mơ tả gồm có hay nhiều câu, hay nhiều đoạn, chương, phần, tuỳ thuộc vào mức độ phức tạp tốn Trong đối tượng thường mô tả danh từ Danh từ thường phân loại thành danh từ riêng, danh từ chung, danh từ trừu tượng danh từ đại lượng Điều quan trọng cần lưu ý phân tích phải dựa vào ngữ nghĩa ngữ cảnh để phân loại danh từ Một từ danh từ chung ngữ cảnh song danh từ trừu tượng danh từ đại lượng ngữ cảnh khác Cũng cần lưu ý tất danh từ dùng để biểu diễn cho đối tượng cần thiết cho hệ thống Bảng 1-1 Bải danh từ Vính phân loại danh từi danh từ Ví ý nghĩa Ví dụ Danh từ chung Xác định lớp thực thể Ơ tơ, khách hàng, học sinh Danh từ riêng Tên đối tượng xác định Nguyễn An, IBM, BBC Danh từ trừu tượng đại lượng Xác định chất lượng, đại lượng hoạt động ứng với danh từ Thu nhập, thông Kiểu danh từ lương, giao Tóm lại, sử dụng hai cơng cụ để xác định danh sách đối tượng tốn ứng dụng sau tiếp tục: Xác định đối tượng nằm không gian tốn, khơng gian lời giải, đối tượng nằm khơng gian tốn nằm ngồi giới hạn hệ thống phần mềm Xây dựng thuộc tính cho đối tượng khơng gian lời giải Sau xác định đối tượng nhiệm vụ xác định thuộc tính mơ tả tính chất lớp đối tượng Người phân tích dựa vào ba nguồn cung cấp thông tin sau để tập hợp, xây dựng thuộc tính cho lớp đối tượng: Từ kinh nghiệm, tri thức người phân tích hệ thống thực tế công việc lĩnh vực tập trung nghiên cứu để dự đoán, xác định danh sách thuộc tính Từ người sử dụng, thông qua 585 vấn, trao đổi tìm hiểu tốn cụ thể để lập danh sách thuộc tính Từ hệ thống cũ, bảng biểu, báo cáo tài liệu khoa học sử dụng thường xuyên lĩnh vực nghiên cứu để chọn lọc thuộc tính cho lớp đối tượng xác định Theo cách thức đề xuất danh sách thuộc tính cho lớp SACH, DON_HANG KHACH_HANG hệ quản lý kinh doanh sách nêu sau: Đối với lớp SACH Tac_gia : Tên tác giả sách Ten_sach : Tên gọi, tiêu đề sách Nha_XB : Nhà xuất Nam_XB : Năm xuất Đối với lớp DON_HANG So_hieu : Số hiệu đơn đặt hàng SH_KH : Số hiệu tên khách hàng Ngay_DH : Ngày đặt hàng 586 Ngay_GH : Ngày giao hàng dựng hàm xử lý thuộc tính xác định hàm xác định thông tin khách hàng: số hiệu, họ tên, địa chỉ, tài khoản v.v Đối với lớp KHACH_HANG SH_KH : Số hiệu khách hàng Ten_KH : Tên khách hàng Dia_chi : Địa chỉ, nơi giao hàng TK_KH : Số tài khoản khách hàng ngân hàng Danh sách thuộc tính lớp tiếp tục xem xét, bổ sung cho đầy đủ giai đoạn thiết kế Cần lưu ý phải cân nhắc để đưa thuộc tính chung nhất, với tên gọi đặc trưng cho lớp đối tượng 1.2.4 Xác định hàm Để mô tả đầy đủ, xác đối tượng cần tiếp tục xác định hàm mô tả hành vi chúng Chúng ta dựa vào văn mơ tả tốn để xác định hàm Thơng thường, câu mơ tả động từ dùng để hành động, xuất hiện, phân loại hay cấu thành đối tượng Bảng 1-2 Bải danh từ Víng phân loại danh từi động từ Ví Các kiểu động từ ý nghĩa Ví dụ Động từ hành động Nêu hành động Đọc, viết, mua, bán Động từ xuất Phân loại Là, nằm v.v Động từ sở hữu Cấu thành Có, phần Động từ so sánh Các phép so sánh Nhỏ hơn, v.v Động từ trạng thái Điều kiện - bất biến Cần, phải có mặt Các động từ hành động so sánh giúp cho xác định hàm, động từ xuất hiện, so sánh giúp xây dựng cấu trúc phân loại Động từ sở hữu giúp cho việc xác định cấu trúc cấu thành đối tượng Cách thứ hai dựa vào sơ đồ dòng liệu để xác định hàm, chức biểu diễn hình trịn ellipse Ví dụ, để mơ tả cho hành vi đối tượng lớp KHACH_HANG phải xây 1.2.5 Xác định mối quan hệ đối tượng Bước xác định mối quan hệ đối tượng, nghĩa trao đổi thông tin chúng Như thấy, hệ thống thực thể phải có quan hệ với thực thể khác Chẳng hạn, hệ thống quản lý kinh doanh công ty phát hành sách với sơ đồ dịng liệu xây dựng hình 1-4, khách hàng muốn mua sách phải ghi vào đơn đặt hàng, nghĩa đối tượng KHACH_HANG phải gửi thông báo (đơn đặt hàng) cho đối tượng DON_HANG Tương tự, DON_HANG lại có quan hệ với SACH sách bán cho khách hàng nhận đơn đặt hàng Quan hệ lớp đối tượng có kiểu khác phân thành ba kiểu sau: Quan hệ - 587 Quan hệ - nhiều Quan hệ nhiều - nhiều Quan hệ - một: Hai lới liệu phải danh từ Víp có quan hệu phải danh từ Ví 1-1 với đốiu với liệu phải danh từ Víi đốii đốii tượcc cất giữ Tên gắn với liệu phải danh từ Víng lớp có liên quan tương ứng đối tượng lớpa lới liệu phải danh từ Víp nài tốny có liên quan tương ứng đối tượng lớpng ứng đối tượng lớpng mộng từt đốii tượcc cất giữ Tên gắn với liệu phải danh từ Víng lớp lới liệu phải danh từ Víp vài tốn ngượcc cất giữ Tên gắn với liệu phải danh từ Víc lại danh từi Ví dụ:: Hai lới liệu phải danh từ Víp PHIEU_GHI vài tốn MAT_HANG có quan hệu phải danh từ Ví 1-1 Mỗi đốii phiếu với đốiu ghi lới liệu phải danh từ Víp PHIEU_GHI mô tả mô tải danh từ Ví mộng từt mặt hàng quản lý lớp MAT_HANG Quan hệ nàyt hài toánng đượcc cất giữ Tên gắn với liệu phải danh từ Víc quải danh từ Vín lý lới liệu phải danh từ Víp MAT_HANG Quan hệu phải danh từ Ví nài tốny đượcc cất giữ Tên gắn với liệu phải danh từ Víc biểu diễn sau:u diễn sau:n sau: PHIEU_GHI MAT_HANG Hình 1-5 Quan hệ - Quan hệ - nhiều: Hai lớp A B có quan hệ - nhiều nếu: - Với đối tượng lớp A có quan hệ với hay nhiều đối tượng lớp B - Mỗi đối tượng lớp B có quan hệ với đối tượng lớp A Quan hệ - nhiều biểu diễn sau:u đượcc cất giữ Tên gắn với liệu phải danh từ Víc biểu diễn sau:u diễn sau:n sau: 588 A KHACH_HANG B DON_HANG Hình 1-6 Quan hệ - nhiều Lớp KHACH_HANG có quan hệ - nhiều với lớp DON_HANG khách hàng đặt nhiều đơn hàng khác Quan hệ nhiều - nhiều: Hai lớp A B có quan hệ nhều - nhiều nếu: - Mỗi đối tượng A có tương ứng với nhiều đối tượng B - Ngược lại, đối tượng B có tương ứng với nhiều đối tượng A Quan hệu phải danh từ Ví nhiều biểu diễn sau:u - nhiều biểu diễn sau:u đượcc cất giữ Tên gắn với liệu phải danh từ Víc biểu diễn sau:u diễn sau:n sau: A NHA_CUNG_CAP B MAT_HANG Hình 1-7 Quan hệ nhiều - nhiều Hai lớp NHA_CUNG_CAP MAT_HANG có quan hệ nhiều nhiều xí nghiệp sản xuất bán nhiều mặt hàng ngược lại, mặt hàng sản xuất nhiều nơi Mơ hình liệu quan hệ đối tượng sử dụng không công cụ để phân tích, thiết kế mà cịn phương pháp kiểm chứng yêu cầu hệ thống Những vấn đề xây dựng mơ hình liệu, mơ hình quan hệ bước chuẩn hố liệu tham khảo “Phân tích, thiết kế cài đặt hệ thông tin quản lý, Viện Tin học” 1.3 Ví dụ 1.3.1 Phát biểu tốn Tại khoa Tin học trường đại học có khoảng vài trăm sách cán nhân viên khoa mượn Hãy xây dựng hệ thống để quản lý máy tính sách mà khoa có, phịng làm việc, có người mượn mượn Đây ví dụ đơn giản, điển hình q trình phân tích, thiết kế hướng đối tượng Chúng ta phân tích khả mở rộng, khả bảo trì hệ thống hướng đối tượng theo yêu cầu cần mở rộng phát triển hệ thống nhằm đáp ứng nhu cầu người sử dụng Để giải toán nêu trên, sử dụng hệ quản trị liệu phổ dụng FoxPro, Access v.v muốn thơng qua ví dụ làm rõ công việc, bước cần thực q trình phân tích hướng đối tượng 1.3.2 Phân tích hệ thống 589 Bài tốn nêu tương đối rõ ràng Yêu cầu xây dựng hệ thống phần mềm để quản lý sách Phân tích hướng đối tượng việc lặp lại nhiều lần việc phân tích tốn để xác định đối tượng xây dựng đặc tả toán Nhưng phân tích hướng đối tượng cịn có yếu tố tổng hợp Việc thực trừu tượng hoá yêu cầu người sử dụng xác định rõ đối tượng cho phép tập hợp chúng để tạo cấu trúc hệ thống logic hỗ trợ cho giai đoạn thiết theo Nhiệm vụ giai đoạn phân tích xây dựng mơ hình khái niệm cho giới thực Thế giới thực gồm sách bạn đọc Những sách để đâu đó, phòng làm việc cho mượn Để hiểu rõ thực thể mối quan hệ chúng giới thực mà toán đặt sách bạn đọc, cần tìm hiểu kỹ hệ thống có liên quan hệ thống thư viện Trên sở đó, xây dựng đặc tả yêu cầu cho toán Phân tích kỹ tốn, dựa vào văn mơ tả tốn 590 thấy có hai lớp đối tượng là: SACH BAN_DOC Trong hệ thống thư viện, sách xác định thơng thuộc tính như: mã số thư viện, tên tác giả, tên gọi sách, nhà xuất bản, năm xuất v.v Để đơn giản dùng tên tác giả để xác định sách, tên gọi tên tác giả có hai tác giả, cịn bạn đọc xác định thông qua họ tên người Ví dụ: Peter Norton sách “Cẩm nang lập trình” Peter Norton viết, đối tượng lớp SACH Lan Anh tên độc giả, đối tượng lớp BAN_DOC v.v Hệ thống phần mềm mà xây dựng phải giải vấn đề sau: + Lan Anh mượn Peter Norton + Hoang Trung mượn sách nào? + Ai mượn sách Peter Hendenson? + Lan Anh trả Peter Norton + Một sách bổ sung Đây danh sách yêu cầu hệ thống Sau xác định yêu cầu toán lớp đối tượng, thực bước xác định thuộc tính, hàm mối quan hệ lớp đối tượng Sách đối tượng xác định biểu diễn sau: SACH Peter Norton Trong đó, SACH tên gọi lớp tất sách có thư viện Peter Norton tên sách, đối tượng cụ thể Tương tự đối tượng bạn đọc mô tả sau: BAN_DOC Lan Anh Trong đó, BAN_DOC lớp độc giả Lan Anh bạn đọc, đối tượng lớp Trong hệ thống thư viện, sách độc giả mô tả tương ứng đối tượng SACH BAN_DOC Bằng nhiều cách khác nhau, phân tích xác định thuộc tính, hàm cho hai lớp SACH, BAN_DOC class SACH { Attribute //Thuộc tính Tac_gia : Tác giả sách, Ten_sach : Tên gọi tiêu đề sách Xuat_ban : Nhà, năm xuất Noi_giu : Sách cho mượn hay có thư viện Function //Hàm Nhap_sach() : Nhập thông tin sách vào thư viện Cho_muon() : Xác định sách cho mượn Hoan_tra() : Sách trả lại thư viện 591 Display() : Hiện thông tin sách } class BAN_DOC { Attribute //Thuộc tính Ho_ten : Họ tên người mượn sách, Dia_chi : Địa chỉ, điện thoại bạn đọc Ten_sach : Tên sách mượn Function //Hàm Nhan_HT() : Nhập họ tên, địa bạn đọc Muon() : Nhập thêm sách mượn 592 Tra() Display() : Trả sách cho thư viện : Cho biết thông tin bạn đọc } Bây cần xác định mối quan hệ hai lớp SACH cần xác định mối quan hệ hai lớp SACHn xác định mối quan hệ hai lớp SACHnh mốii quan hệu phải danh từ Ví giữ Tên gắn với liệu phải danh từ Vía hai lới liệu phải danh từ Víp SACH vài tốn BAN_DOC Ví dụ:, Lan Anh mượcc cất giữ Tên gắn với liệu phải danh từ Vín cuốin Peter Norton có thểu diễn sau: đượcc cất giữ Tên gắn với liệu phải danh từ Víc mơ tải danh từ Ví đồ thị sau: thịnh mối quan hệ hai lớp SACH sau: BAN_DOC Lan Anh SACH Ian Graham Hình 1-10 Thể mối quan hệ hai lớp đối tượng SACH BAN_DOC Sơ đồ mô tả trao đổi thông tin lớp đối tượng Lan Anh mượn hai Peter Norton C++; Hoang Trung mượn OOA, sách OOD chưa có mượn v.v Hệ thống hoạt động vì: + Thường xun có người mượn sách + Một sách trả lại mua bổ sung Dựa vào kết phân tích dễ dàng xây dựng thiết kế cài đặt hệ thống quản lý sách đơn giản đáp ứng yêu cầu đặt quản lý sách dễ dàng sửa đổi, bổ sung cần thiết Hình 1-8 Lan Anh mượn sách Peter Norton Mộng từt cuốin sách có thểu diễn sau: cho nhiều biểu diễn sau:u giữ Tên gắn với liệu phải danh từ Vít mộng từt ngườ cần xác định mối quan hệ hai lớp SACHi mượcc cất giữ Tên gắn với liệu phải danh từ Vín, ngượcc cất giữ Tên gắn với liệu phải danh từ Víc lại danh từi mộng từt ngườ cần xác định mối quan hệ hai lớp SACHi có thểu diễn sau: mượcc cất giữ Tên gắn với liệu phải danh từ Vín nhiều biểu diễn sau:u cuốin sách Do BAN_DOCy BAN_DOC vài toán SACH có quan hệu phải danh từ Ví mộng từt - nhiều biểu diễn sau:u BAN_DOC SACH Hình 1-9 Mối quan hệ độc giả sách Trong mơ hình đồ thị chúng ta, mối quan hệ hai lớp đối tượng thể chi tiết hình 1-10 BAN_DOC BAN_DOC BAN_DOC BAN_DOC Lan Anh Thu Ha Van Dung Quynh Lien SACH SACH SACH SACH OOD Peter Norton C++ OOA § Thiết kế hướng đối tượng 593 2.1 Giới thiệu chung Mục mô tả phương pháp thiết kế phần mềm dựa đối tượng Phương pháp hướng đối tượng (HĐT) nhằm che dấu thông tin mức tối đa hỗ trợ cho việc thiết kế hệ thống với cặp thành phần cực tiểu mức độ cố kết hệ thống lại cao cách tiếp cận chức Chúng ta tập trung nghiên cứu bước cần thực thiết kế hướng đối tượng ví dụ mơ tả cách thiết kế lớp, xây dựng cấu trúc hệ thống trình phát triển phần mềm Che giấu thơng tin chiến thuật thiết kế cho giấu nhiều lượng thông tin bên thành phần sở thiết kế Điều có nghĩa trao đổi thực thể thiết kế cực tiểu thiết kế dễ dàng thay đổi Thiết kế hướng đối tượng (TKHĐT) phương pháp thiết kế thực 594 theo nguyên lý che giấu thông tin Khác với cách tiếp cận truyền thống (hướng chức năng) xem hệ thống phần mềm (HTPM) tập hợp đối tượng tương tác với Mỗi đối tượng làm việc với trạng thái (dữ liệu) riêng Đối tượng, khái niệm sở đề cập nhiều phần trước thực thể có tập thuộc tính tập hàm tác động thuộc tính Tập giá trị thuộc tính xác định trạng thái đối tượng Một đối tượng không quyền truy nhập trực tiếp làm thay đổi trạng thái đối tượng khác Điều dẫn đến đối tượng trao đổi với thông báo Thông báo kích hoạt hàm đối tượng nhận thông tin tương ứng Hoạt động chế truyền thông báo đối tượng dị (không đồng bộ) chương trình thiết kế theo hướng đối tượng thực song song tuỳ theo phương pháp lập trình công cụ mà thực cài đặt có cho phép thực song song hay khơng Thiết kế hướng đối tượng phương pháp thiết kế hệ thống phần mềm không phụ thuộc vào ngôn ngữ lập trình Nhiều đặc tính “Che dấu”, “kế thừa” làm cho việc thực thiết kế trở nên dễ dàng hơn, đơn giản Những thiết kế cài đặt ngơn ngữ chưa có đặc tính Turbo C, Pascal, tốt nên sử dụng ngôn ngữ hướng đối tượng để cài đặt thiết kế thực theo cách tiếp cận hướng đối Nhiều ngơn ngữ lập trình hướng đối tượng Eiffel, Object Pascal, Smalltalk, C++ có đặc tính hướng đối tượng hỗ trợ cho việc mô tả thực cài đặt trực tiếp thiết kế hướng đối tượng hiệu Tóm lại thiết kế hướng đối tượng có ưu điểm sau: - Loại bỏ miền liệu dùng chung thông qua chế trao đổi thông tin đối tượng thông báo - Các đối tượng thiết kế thực thể độc lập (theo nghĩa không sử dụng liệu chung), thay đổi trạng thái, bổ sung, sửa đổi hoạt động chức đối tượng sảy bên đối tượng đó, khơng ảnh hưởng đến đối tượng khác Mọi thay đổi thiết kế, hệ thống phần mềm sảy cục số đối tượng liên quan Điều đảm bảo hệ thống có tính dễ mở rộng dễ thích nghi, đáp ứng nhiều tính chất quan trọng sản phẩm phần mềm Các đối tượng tổ chức phân tán song song hay theo yêu cầu toán ứng dụng khả kỹ thuật thực tế dự án phát triển tin học ứng dụng 2.2 Các bước thực thiết kế hướng đối tượng Nhiện vụ thiết kế hướng đối tượng xác định đối tượng khơng gian tốn, chuyển chúng sang khơng gian lời giải, xây dựng mơ hình kiến trúc mơ hình tính tốn cho hệ thống phần mềm Để xây dựng kiến trúc tổng thể cho hệ thống sử dụng cách tiếp cận - lên (bottom - up) Điều quan trọng phải tạo cấu trúc phân cấp, xác định lớp đối tượng trừu tượng giảm thiểu trao đổi đối tượng đề cập đến khả sử dụng lại thiết kế, phân loại đối tượng thành hệ thống cấu trúc phân cấp Cách tiếp cận TKHĐT gồm bước sau: Xác định lớp đối tượng, thành phần lời giải Xây dựng đặc tả cho đối tượng, lớp mối quan 595 hệ chúng Xây dựng cấu trúc phân cấp cho lớp Thiết kế lớp Thiết kế hàm thành phần lớp Thiết kế chương trình Xác định đối tượng không gian lời giải Khi phân tích văn mơ tả tốn yêu cầu người sử dụng, xác định thực thể, đối tượng không gian tốn Bước phân tích kỹ đối tượng, xác định thuộc tính hàm đặc tả cho đối tượng Đồng 596 cấu trúc tuần tự, tuyển chọn vịng lặp Có thể thiết kế hàm thành phần theo phương pháp có cấu trúc Kết thiết kế có cấu trúc cho hàm cấu trúc có lối vào lối tổ hợp từ ba cấu trúc bản: cấu trúc tuần tự, tuyển chọn vịng lặp Thiết kế chương trình Bước cuối khâu thiết kế hệ thống xây dựng chương trình chính, giống chương trình main() ngôn ngữ C++ Hệ thống bắt đầu kết thúc chương trình Do nhiệm vụ chương trình là: Nhập liệu từ người sử dụng Tạo đối tượng theo định nghĩa lớp Tổ chức thực trao đổi thông tin đối tượng Lưu trữ kết xử lý lên hình, máy in, thiết bị ngoại vi theo yêu cầu người sử dụng Mọi hoạt động, xử lý trình thực chương trình kết trao đổi, tương tác đối tượng Vì nhiệm vụ chủ yếu thiết kế chương trình xác định thứ tự logic trình trao đổi thông tin đối tượng hệ thống Chương trình liên quan trực tiếp đến người sử dụng Vì thiết kế cần đề cập đến thiết kế giao diện thân thiện với người sử dụng Thiết kế giao diện người máy Có nhiều kiểu thiết kế giao diện tạo nhằm phục vụ cho người sử dụng khai thác hệ thống phần mềm cho có hiệu Mỗi kiểu có đặc tính khả khác Điều quan trọng thiết kế giao diện phải phù hợp với lĩnh vực ứng dụng công việc người sử dụng, người tham gia trực tiếp đối thoại với máy tính Nhìn chung, hệ giao diện với người sử dụng cần phải có tính chất sau: + Dễ sử dụng: Giao diện thân thiện, dễ sử dụng với người sử dụng khơng có kinh nghiệm + Dễ học: Các lệnh, thao tác hệ thống xây dựng theo qui định chung, dễ tiếp thu dễ nhớ + Tốc độ thao tác nhanh, hợp lý: Các bước thao tác, ấn nút bàn phím, chuột nhanh gọn, tiện lợi cho người sử dụng Thời gian thực trả lời máy tính nhanh xác + Đảm bảo an tồn: Kiểm sốt tình huống, thao tác cố tình hay vơ ý người sử dụng xử lý tốt Dễ phát triển: Hệ thống có tính mở, có khả thay đổi, bổ sung theo yêu cầu người sử dụng Dưới đề cập đến số kiểu thiết kế giao diện: dạng hỏi đáp, thực đơn biểu tượng Bạn đọc quan tâm sâu thiết kế giao diện với người sử dụng tham khảo "Phân tích, thiết kế cài đặt hệ thông tin quản lý, Viện Tin học" Thiết kế giao diện đối thoại: Việc thiết kế đối thoại bắt đầu việc chia chức giao diện hệ thống thành đơn thể Mỗi đơn thể đảm nhận chức hệ thống Ví dụ, đơn thể nhập liệu làm nhiệm vụ kiểm soát liệu nhập vào cho phù hợp với qui định người thiết Bảng đối thoại thường bao gồm loạt câu hỏi, thông báo nhắc công việc hệ thống cần thực Thiết kế hỏi đáp phải bao quát hết trường hợp, có đầy đủ thích, hướng dẫn trợ giúp người sử dụng Cách thiết kế phù hợp với người sử dụng kinh nghiệm Thiết kế bảng thực đơn (Menu): Bảng thực đơn cho biết tất công việc để lựa chọn Thông thường bảng thực đơn nên tổ chức thành cấu trúc phân cấp Mỗi mục bảng thực đơn lại tổ chức thành bảng thực đơn gồm số mục để lựa chọn thể dạng hình cửa sổ (Window) Thiết kế biểu tượng: Biểu tượng sử dụng để giới thiệu chức hệ thống hình Mỗi chức biểu diễn biểu tượng (hình vẽ tương ứng) cho dễ nhớ dễ hình dung 605 nêu tất bước trình thiết kế 606 hướng đối tượng Phần cịn lại chương xây dựng thiết kế cho hai hệ: hệ quản lý kết học tập học sinh hệ điều khiển hệ thống điều hoà nhiệt độ 2.3 Ví dụ 2.3.1 Bài tốn thứ nhất: Thiết kế hệ thống quản lý Bài toán đặt ra: Hãy xây dựng chương trình chạy máy tính để theo dõi kết học tập sinh viên lớp, tìm kiếm theo kết điểm trung bình mơn thi Giáo viên muốn quản lý sinh viên thông qua: Họ tên, điểm thi: học kỳ 1, học kỳ 2, thi cuối năm điểm trung bình qua kỳ thi mơn học Phân tích kỹ tốn xác định hai đối tượng là: SINH_VIEN MON_HOC Tương ứng với đối tượng thiết kế lớp SINH_VIEN MON_HOC Vì đối tượng thể lớp, nên hai lớp SINH_VIEN MON_HOC xác định hai loại đối tượng hệ thống theo dõi kết học tập mà giáo viên cần phải phát triển Bước thiết kế mô tả chi tiết lớp đối tượng mối quan hệ chúng Theo yêu cầu giáo viên (người sử dụng) đối tượng lớp SINH_VIEN mơ tả thuộc tính: Ho_ten, Diem_thi_ky1, Diem_thi_ky2, Diem_thi_CN Diem_TB; MON_HOC cho biết danh sách đối tượng SINH_VIEN theo mơn học Mỗi thành phần liệu có kiểu xác định giá trị liệu thành phần mô tả trạng thái đối tượng Cuối có danh sách thuộc tính mơ tả lớp SINH_VIEN MON_HOC sau: class SINH_VIEN {// Danh sách thuộc tính mơ tả SINH_VIEN a Ho_ten : string (kiểu xâu ký tự) b Diem_thi_ky1 : float c Diem_thi_ky2 : float d Diem_thi_CN : float e Diem_TB : float } class MON_HOC {// Danh sách thuộc tính mơ tả MON_HOC a Mon_hoc : string // tên môn học b Danh_sach_SV :SINH_VIEN // Bảng danh sách // sinh viên theo học c Si_so : integer // Số học sinh lớp } Sau xác định đối tượng, lớp danh sách thuộc tính mơ tả đối tượng, bước xác định hàm thành phần lớp Hàm thành phần mô tả hành vi đối tượng bao gồm: + Truy nhập vào thành phần liệu đối tượng + Cho phép cập nhật, thay đổi liệu thành phần + Kiểm tra liệu theo nhiều cách + Hiện thông tin liệu lên hình, thiết bị ngoại vi Mục tiêu thiết kế lớp tạo lớp cho nhiều ứng dụng khác liên quan đến loại liệu Người thiết kế lớp muốn xây dựng class đáp ứng nhu cầu người lập trình (khách hàng) Quan hệ người phát triển với người lập trình, giống quan hệ chủ hàng - khách hàng, dẫn đến trường hợp chủ hàng mong có nhiều người sử dụng nhất, nghĩa lớp xây dựng với số lượng lớn hàm thành phần Nhưng khách hàng lại sử dụng hàm liên quan đến ứng dụng họ mà Do phải cố gắng xây dựng hàm thành phần bản, đặc trưng cho lớp xét, sau sử dụng quan hệ kế thừa để tạo lớp thích hợp cho nhiều ứng dụng khác Trong toán chúng ta, hàm thành phần là: Các hàm thành phần lớp SINH_VIEN a Hàm khởi tạo đối tượng sinh viên: SINH_VIEN() 607 608 b Hàm huỷ bỏ đối tượng sinh viên: ~SINH_VIEN() c Hàm đọc tên sinh viên: DOC_TEN() d Hàm gán tên sinh viên: GAN_TEN() e Hàm đọc liệu: DOC_DL() f Hàm tính trung bình: T_BINH() g Hàm kết quả: DISPLAY() Các hàm lớp MON_HOC a Hàm khởi tạo môn học: MON_HOC() b Hàm huỷ bỏ đối tượng môn học: ~MON_HOC() c Hàm đọc tên môn học: DOC_TEN() d Hàm đọc liệu: DOC_DL() e Hàm tính trung bình: T_BINH() f Hàm bổ sung sinh viên vào lớp: THEM_SV() g Hàm xếp sinh viên theo tên: SAP_XEP() h Hàm tìm kiếm sinh viên: TIM() Hàm làm nhiệm vụ khởi tạo đối tượng lớp thường có tên lớp đối tượng gọi cấu tử, hàm huỷ bỏ đối tượng tên có dấu "~" đứng trước gọi huỷ tử Hai hàm gọi thực cách tự động cần thiết Hàm cấu tử gọi cần định nghĩa, tạo lập đối tượng, cịn hàm huỷ tử gọi chương trình khỏi phạm vi mà đối tượng định nghĩa Một lớp có nhiều hàm cấu tử chúng phân biệt danh sách kiểu tham biến Nhưng có hàm huỷ tử cho lớp hàm khơng có tham số 2.3.2 Bài tốn thứ hai: Thiết kế hệ thống điều hoà nhiệt độ Phát biểu tốn: Một tồ nhà có N phịng, phịng có máy điều hoà, máy cảm nhiệt máy điều nhiệt Hãy xây dựng hệ thống phần mềm điều khiển máy điều hoà nhiệt độ theo yêu cầu người sử dụng Theo cách tiếp cận truyền thống nghĩ đến việc dùng cấu trúc mảng chiều để lưu trữ nhiệt độ mà người sử dụng yêu cầu, nhiệt độ trạng thái máy điều hoà phịng Khi hệ thống điều hồ nhiệt độ phịng thiết kế dựa theo thuật toán sau: Lần lượt xem xét phòng I=1 N Nếu nhiệt độ phịng khác với nhiệt độ u cầu máy điều hồ chuyển sang trạng thái On (đóng) trạng thái Off (tắt) Ngược lại nhiệt độ phòng làm việc đạt nhiệt độ người sử dụng u cầu máy điều hồ chuyển sang trạng thái Off trạng thái On Cách thứ hai thực thiết kế theo cách tiếp cận hướng đối tượng Nhiệm vụ trước tiên xác định đối tượng thành phần sở hệ thống điều hoà nhiệt độ Phân tích tốn thấy có hai lớp đối tượng: Đối tượng PHONG Đối tượng DIEU_HOA Trong phòng: nhiệt độ thời xác định máy điều nhiệt Máy điều hồ có hai trạng thái On (đóng) Off (tắt) Trạng thái máy điều hoà thay đổi tuỳ thuộc vào thơng báo PHONG: nhiệt độ phịng có cần phải thay đổi hay khơng Sau xác định lớp, thuộc tính mơ tả trạng thái đối tượng mối quan hệ hai lớp đối tượng cần xác định hàm thành phần chúng Đối với lớp PHONG có: Hàm khởi tạo đối tượng: PHONG() Hàm xoá bỏ đối tượng: ~PHONG() Hàm xác định nhiệt độ qua máy cảm nhiệt: NHIET_KE() Hàm đặt nhiệt độ yêu cầu vào máy điều nhiệt:T_YEU_CAU() Đối với lớp DIEU_HOA: Hàm khởi tạo đối tượng: DIEU_HOA() Hàm xoá bỏ đối tượng: ~DIEU_HOA() Hàm xác định trạng thái On, Off: DONG_MO() 609 Hàm xác định số phịng đặt máy điều hồ: PHONG_MAY() Hệ điều khiển hệ thống điều hồ nhiệt độ phịng khơng thiết phải có tương ứng 1-1 số phịng máy điều hoà điều kiện ban đầu tốn đặt Trong trường hợp cần thay đổi, ví dụ hội trường lớn cần phải đặt nhiều máy đủ cơng suất điều hồ nhiệt độ nhiều phịng dùng chung máy Khi có thay đổi thiết kế theo cách tiếp cận thứ phải thay đổi nhiều, chương trình gần phải viết lại tồn giả thiết phịng có máy điều hoà Nhưng cách tiếp cận thứ hai (thiết kế hướng đối tượng) cần sửa đổi đối tượng liên quan Để sửa đổi hệ thống theo yêu cầu hàm DONG_MO() đối tượng DIEU_HOA phải thiết kế lại cho bật tắt nhiều máy hàm T_YEU_CAU() đối tượng PHONG dùng chung DIEU_HOA cần thiết kế lại cho xác định nhiệt độ bình quân phịng đó, cịn cấu trúc hệ thống, mơ hình tính tốn khơng có thay đổi 2.3.3 Bài tốn thứ 3: Thiết kế hệ thống khí tượng thuỷ văn Nội dung toán: Hệ thống gồm nhiều trạm đo số liệu thu nhận thông tin liệu khí tượng thuỷ văn để dự báo thời tiết Hệ thống thu nhận liệu theo định kỳ, xử lý liệu cục truyền liệu, thơng tin cần thiết cho máy tính trung tâm xử lý tiếp Dữ liệu mà hệ thống tập hợp bao gồm: nhiệt độ khí quyển, lịng đất; tốc độ, hướng gió; áp suất lưu lượng mưa Một ưu điểm cách tiếp cận hướng đối tượng tiến hành thiết kế chưa có đủ tất đặc tả yêu cầu sau dễ dàng thay đổi cần bổ sung hay sửa đổi yêu cầu nêu Bài tốn mơ tả chưa cho biết tần số thu thập liệu cách xử lý liệu, tiến hành xây dựng thiết kế cho hệ thống Trước tiên cần xác định thành phần hệ thống, nghĩa thực thể tương ứng với khái niệm đối tượng hệ thống phần mềm mà cần xây dựng Nói chung, việc xác định đối tượng thực theo cách làm mịn dần trình thiết kế Hệ thống mà xây dựng hệ khí 610 tượng thuỷ văn có đối tượng "cứng" lẫn đối tượng "mềm" Đối tượng "cứng" hồn tồn máy móc, thiết bị phần cứng mà thực thể liên quan đến máy móc, thiết bị Những đối tượng nhúng vào hệ thống phần mềm để điều khiển phần cứng tương ứng Ngược lại, đối tượng "mềm" đối tượng tương tác với đối tượng khác hệ thống, nghĩa giúp đối tượng "cứng" trao đổi thông tin với Phân tích kỹ tốn xác định đối tượng "cứng" sau: + Trạm khí tượng thuỷ văn + Máy đo nhiệt độ khí + Máy đo nhiệt độ lịng đất + Máy đo sức gió + Máy đo hướng gió + Máy đo áp suất + Máy đo lưu lượng mưa + Đồng hồ (xác định thời gian thu nhận liệu truyền thông báo) + Modem (truyền nhận thơng báo từ máy tính trung tâm) Nhiệm vụ đối tượng mô tả Bảng 2.1 Bảng 3.1 Xác định mối quan hệ hai lớp SACHnh công việu phải danh từ Víc lớp có liên quan tương ứng đối tượng lớpa đốii tượcc cất giữ Tên gắn với liệu phải danh từ Víng "cứng đối tượng lớpng" Đối tượng Nhiệm vụ Operate Khởi động cách bấm nút khởi động máy TRAM_KT thu nhận thông tin làm báo cáo để dự báo thời tiết Self_test Kiểm tra lại kết thu nhận Shut_down Bấm nút để dừng hoạt động máy Evaluate Đo nhiệt độ khơng khí TRAM_KT May_DKH Mô tả công việc cụ thể May_DLD May_DSG May_DHG May_DLA May_DLM DONG_HO Modem Evaluate Evaluate Evaluate Evaluate Evaluate Reset Đo nhiệt độ lịng đất Đo sức gió Đo hướng gió, tính theo độ đo góc Đo áp suất khơng khí Xác định lượng nước mưa kể từ lúc Reset lại Đặt lại máy đo, xố thơng số cũ Time_now() Xác định thời gian theo yêu cầu Reset Đặt lại thời gian theo yêu cầu Transmit Truyền thông báo cho máy tính trung tâm Receive Nhận thơng báo từ máy tính trng tâm 611 sau: 612 Tram_KT Để dễ theo dõi, nên sử dụng sơ đồ khối để mô tả thiết kế xác định hệ thống có hai loại đối tượng: cứng mềm Những đối tượng mơ tả sau: Object Object Attr Attr Functions Functions a) Đối tượng cứng b) Đối tượng mềm Các đối tượng "cứng" có quan hệ với hệ thống hình 2-6 Đối tượng TRAM_KT thu nhận thông tin từ đối tượng May_DKH, May_DLD, May_DSG, May_DHG, May_DKA, May_DLM, DONG_HO Modem để xử lý sơ chuyển thơng báo cho máy tính trung tâm Một điều cần lưu ý đối tượng "cứng" trao đổi thông tin trực tiếp với mà phải thông qua đối tượng "mềm" Bước xác định đối tượng "mềm" Để làm điều cần tìm hiểu thêm số thông tin tần suất thu nhận liệu cách xử lý liệu hệ thống Trong trình tiếp xúc với chuyên gia, người sử dụng hệ thống khí tượng thuỷ văn để xác định tốn, có thêm mô tả Operate Self_test Shut_down May_ĐKH May_ĐKH May_ĐKH May_ĐKH Evaluate Evaluate Evaluate Evaluate May_ĐKH May_ĐKH May_ĐKH May_ĐKH Evaluate Evaluate Evaluate Evaluate Hình 2-6 Cấu trúc phân cấp phần cứng "Tất tham số thời tiết, ngoại trừ lượng mưa thu thập theo chu kỳ phút Sau (sau 60 lần nhận liệu) nhiệt độ, tốc độ gió, áp suất xử lý để tính giá trị trung bình, giá trị cực đại, cực tiểu đó, lượng mưa ghi nhận Các hướng gió đo theo độ đo góc  ( < 150) ghi nhận Tất thơng số tính tốn sơ truyền máy tính trung tâm để xử lý dự báo thời tiết" Phân tích mơ tả tốn thấy có đối tượng "mềm" sau: + SUC_ GIO Xác định tốc độ gió + H_GIO Xác định hướng gió + ND_KH Đo nhiệt độ khơng khí + ND_LD Đo nhiệt độ lòng đất 613 + L_MUA Đo lưu lượng nước mưa + A_SUAT Đo áp suất khí Những đối tượng cung cấp thông tin cho đối tượng làm nhiệm vụ tổng hợp liệu là: + TH_DL Tạo ghi thông tin từ đối tượng con, kiển tra, truyền nhận thông báo Chức nhiệm vụ đối tượng mô tả chi tiết Bảng 2-2 Bảng 2-2 Mơ tải danh từ Ví cơng việu phải danh từ Víc lớp có liên quan tương ứng đối tượng lớpa đốii tượcc cất giữ Tên gắn với liệu phải danh từ Víng mều biểu diễn sau:m Đối tượng TH_DL SUC_GIO H_GIO Thao tác Mô tả công việc Create Tạo lập DL để dự báo thời tiết Check Kiểm tra tính hợp lý DL Transmit Gửi thơng báo trung tâm Collect Ghi nhận tốc độ gió theo phút Max Xác định tốc độ cực đại gió Min Xác định tốc độ cực tiểu gió Mean Xác định tốc độ trung bình gió Collect Ghi nhận hướng gió Variances Danh sách hướng gió lớn  Mean Xác định độ đo trung bình Collect Ghi nhận nhiệt độ khơng khí theo chu kỳ Max Xác định giá trị cực đại nhiệt độ DN_KH DN_LD 614 L_MUA A_SUAT Min Xác định giá trị cực tiểu nhiệt độ Mean Xác định giá trị trung bình nhiệt độ Collect Ghi nhận nhiệt độ lòng đất Max Xác định giá trị cực đại Min Xác định giá trị cực tiểu Mean Xác định độ đo trung bình Collect Max Min Mean Collect Max Min Mean Ghi nhận lượng nước mưa Xác định giá trị cực đại Xác định giá trị cực tiểu Xác định độ đo trung bình Đo đo áp suất khơng khí Xác định giá trị cực đại Xác định giá trị cực tiểu Xác định độ đo trung bình Nhiệm vụ thiết kế hướng đối tượng thiết kế lớp xác định mối quan hệ chúng sử dụng C+ + để đặc tả thiết kế lớp đối tượng Trước tiên xét lớp TH_DL Lớp làm nhiệm vụ tổng hợp liệu, tạo record liệu nhận từ đối tượng nhiệt độ, sức, hướng gió, lượng nước mưa, áp suất khí quyển, kiểm tra tính hợp lý liệu, truyền nhận thông báo từ trung tâm Lưu ý rằng, TH_DL khơng cần biết cách thu nhập liệu đối tượng Trong C++ mô tả TH_DL sau: class TH_DL { private: // Khai báo biến lưu trữ nhiệt độ, sức gió // hướng gió, áp suất, lượng mưa public: void Create(void); // Tạo lập record liệu void Check(void); // Kiểm tra liệu ... đối tượng phương pháp thiết kế hệ thống phần mềm không phụ thuộc vào ngơn ngữ lập trình Nhiều đặc tính “Che dấu”, ? ?kế thừa” làm cho việc thực thiết kế trở nên dễ dàng hơn, đơn giản Những thiết kế. .. thông tin bên thành phần sở thiết kế Điều có nghĩa trao đổi thực thể thiết kế cực tiểu thiết kế dễ dàng thay đổi Thiết kế hướng đối tượng (TKHĐT) phương pháp thiết kế thực 594 theo nguyên lý che... tiếp thiết kế hướng đối tượng hiệu Tóm lại thiết kế hướng đối tượng có ưu điểm sau: - Loại bỏ miền liệu dùng chung thông qua chế trao đổi thông tin đối tượng thông báo - Các đối tượng thiết kế

Ngày đăng: 23/12/2013, 05:17

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan