1. Trang chủ
  2. » Thể loại khác

ĐỀ ÁN Phân tích, thiết kế hướng đối tượng bằng UML

20 1 0

Đ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

ĐỀ ÁN Phân tích, thiết kế hướng đối tượng UML Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG I: PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG PHẦN MỀM 1.1 Giới thiệu 1.2 Giới thiệu hệ thống phần mềm 1.2.1 Các đặc trưng hệ thống 1.2.2 Phân loại hệ thống phần mềm 11 1.3 Sự phát triển hệ thống 13 1.3.1 Chu trình phát triển hệ thống 13 1.3.2 Mơ hình hố hệ thống 18 1.4 Các cách tiếp cận phát triển phần mềm 21 1.4.1 Cách tiếp cận hướng chức 21 1.4.2 Cách tiếp cận hướng đối tượng 23 1.5 Quá trình phát triển phần mềm hợp 25 1.6 Kết luận 33 Câu hỏi tập 33 CHƯƠNG II: UML VÀ QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM 35 2.1 Tổng quát UML 35 2.1.1 Mục đích UML 35 2.1.2 Quá trình phát triển phần mềm thống với UML 36 2.1.3 Giới thiệu tổng quát UML 37 2.1.4 Các phần tử UML 39 2.2 Các khái niệm phương pháp hướng đối tượng 43 2.2.1 Các đối tượng 43 2.2.2 Lớp đối tượng 44 2.2.3 Các giá trị thuộc tính đối tượng 45 2.2.4 Các thao tác phương thức 46 2.3 Các mối quan hệ lớp 46 2.3.1 Sự liên kết kết hợp đối tượng 46 -1- Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 2.3.2 Bội số 48 2.3.3 Các vai trò quan hệ 49 2.3.4 Quan hệ kết nhập 49 2.3.5 Quan hệ tổng quát hoá 51 2.3.6 Kế thừa bội 52 2.3.7 Quan hệ phụ thuộc 54 2.3.7 Quan hệ thực hoá 54 2.4 Các gói 55 2.5 Các qui tắc ràng buộc suy diễn 56 2.7 Rational Rose trình phát triển phần mềm thống 58 Bài tập câu hỏi 59 CHƯƠNG III: BIỂU ĐỒ CA SỬ DỤNG PHÂN TÍCH CÁC NHU CẦU CỦA HỆ THỐNG 60 3.1 Định nghĩa toán 60 3.2 Phân tích đặc tả yêu cầu hệ thống 63 3.2.1 Ca sử dụng 63 3.2.2 Tác nhân 64 3.2.3 Xác định ca sử dụng tác nhân 65 3.2.3 Đặc tả ca sử dụng 67 3.3 Biểu đồ ca sử dụng 70 3.4 Tạo lập biểu đồ ca sử dụng Rational Rose 74 Bài tập câu hỏi 74 CHƯƠNG IV: PHÂN TÍCH HỆ THỐNG – MƠ HÌNH KHÁI NIỆM VÀ BIỂU ĐỒ LỚP 76 4.1 Mơ hình khái niệm – mơ hình đối tượng 76 4.2 Xác định lớp đối tượng 77 4.3 Mối quan hệ lớp đối tượng 85 4.3.1 Đặt tên cho quan hệ kết hợp 86 4.3.2 Các phương pháp xác định mối quan hệ kết hợp 86 4.4 Biểu đồ lớp 88 4.4.1 Các loại lớp biểu đồ 88 4.4.2 Mẫu rập khuôn (stereotype) lớp 90 4.4.3 Biểu đồ lớp Hệ HBH 90 -2- Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 4.5 Thuộc tính lớp 91 4.5.1 Tìm kiếm thuộc tính 94 4.5.2 Các thuộc tính lớp HBH 97 4.6 Các phương thức lớp 98 4.7 Ghi nhận từ điển thuật ngữ 99 4.8 Thực hành Rational Rose 100 Câu hỏi tập 101 CHƯƠNG V: MƠ HÌNH ĐỘNG THÁI: CÁC BIỂU ĐỒ TƯƠNG TÁC VÀ HÀNH ĐỘNG TRONG HỆ THỐNG .103 5.1 Mô hình hố hành vi hệ thống 103 5.1.1 Các kiện hành động hệ thống 104 5.1.2 Sự trao đổi thông điệp đối tượng 106 5.2 Biểu đồ trình tự 106 5.2.1 Các thành phần biểu đồ trình tự 107 5.2.2 Xây dựng biểu đồ trình tự 108 5.2.3 Các biểu đồ trình tự mơ hình hành động hệ HBH 109 5.2.4 Ghi nhận hoạt động lớp đối tượng 111 5.2.5 Các hợp đồng hoạt động hệ thống 112 5.3 Biểu đồ trạng thái 114 5.3.1 Trạng thái biến đổi trạng thái 115 5.3.2 Xác định trạng thái kiện 116 5.3.3 Xây dựng biểu đồ trạng thái 117 5.4 Biểu đồ hoạt động 119 5.5 Sử dụng Rational Rose để tạo lập biểu đồ trình tự 121 5.6 Sử dụng Rational Rose để tạo lập biểu đồ trạng thái 122 Bài tập câu hỏi 123 CHƯƠNG VI: THIẾT KẾ CÁC BIỂU ĐỒ CỘNG TÁC VÀ BIỂU ĐỒ THÀNH PHẦN CỦA HỆ THỐNG .124 6.1 Các biểu đồ cộng tác 125 6.2 Thiết kế biểu đồ cộng tác lớp đối tượng 129 6.2.1 Ca sử dụng thực tế 130 6.2.2 Mẫu gán trách nhiệm 131 6.2.3 Mẫu gán trách nhiệm 132 -3- Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 6.3 Thiết kế hệ thống HBH 138 6.4 Thiết kế chi tiết biểu đồ lớp 144 6.5 Thiết kế biểu đồ cộng tác hoàn thiện thiết kế biểu đồ lớp 152 6.5.1 Xây dựng biểu đồ cộng tác 152 6.5.2 Hoàn thiện thiết kế biểu đồ lớp 152 Bài tập câu hỏi 153 CHƯƠNG VIII: KIẾN TRÚC HỆ THỐNG VÀ PHÁT SINH Mà TRÌNH 154 7.1 Kiến trúc Hệ thống 154 7.2 Biểu đồ thành phần 157 7.3 Biểu đồ triển khai 160 7.4 Ánh xạ thiết kế sang mã chương trình 161 7.4.1 Tạo lập định nghĩa lớp từ thiết kế biểu đồ lớp 161 7.4.2 Định nghĩa hàm từ biểu đồ cộng tác 163 7.5 Danh sách số lớp định nghĩa C++ 165 7.6 Thực hành Rose 168 7.6.1 Xây dựng biểu đồ thành phần 168 7.6.2 Xây dựng biểu đồ triển khai 168 7.6.3 Phát sinh mã trình Rose 168 Bài tập câu hỏi 174 TÀI LIỆU THAM KHẢO 176 Danh sách thuật ngữ từ viết tắt 179 -4- Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban LỜI NĨI ĐẦU Nhiệm vụ cơng nghệ thơng tin nói chung, cơng nghệ phần mềm nói riêng nghiên cứu mơ hình, phương pháp công cụ để tạo hệ thống phần mềm chất lượng cao nhằm đáp ứng nhu cầu thường xuyên thay đổi, ngày phức tạp thực tế Nhiều hệ thống phần mềm xây dựng theo cách tiếp cận truyền thống tỏ lạc hậu, không đáp ứng yêu cầu người sử dụng Cách tiếp cận hướng đối tượng giúp có cơng cụ, phương pháp mới, phù hợp để giải vấn đề nêu Cách tiếp cận phù hợp với cách quan sát quan niệm giới xung quanh tạo công cụ mới, hữu hiệu để phát triển hệ thống có tính mở, dễ thay đổi theo yêu cầu người sử dụng, đáp ứng tiêu chuẩn phần mềm theo yêu cầu công nghệ thông tin đại, giải vấn đề phức tạp thực tế đặt kỷ 21 Giáo trình trình bày cách sử dụng ngơn ngữ mơ hình hố thống UML (Unified Modeling Language) để phân tích thiết kế hệ thống theo cách tiếp cận hướng đối tượng Cách tiếp cận hướng đối tượng đặt trọng tâm vào việc xây dựng lý thuyết cho hệ thống tổng qt mơ hình Hệ thống xem tập thực thể tác động qua lại trao đổi với thông điệp để thực nhiệm vụ đặt Các khái niệm mơ hình hệ thống hướng đối tượng bước thực phân tích, thiết kế hướng đối tượng mô tả, hướng dẫn thực thông qua ngôn ngữ chuẩn UML phần mềm công cụ hỗ trợ mơ hình hố Rational Rose Giáo trình biên soạn theo nhu cầu giảng dạy, học tập nghiên cứu mơn học “Phân tích, thiết kế hệ thống” ngành Công nghệ thông tin; nội dung biên soạn theo yêu cầu chương trình đào tạo CNTT dựa vào kinh nghiệm giảng dạy môn học qua nhiều năm tác giả khoá đào tạo cao học, đại học Đại học Quốc gia Hà Nội, Đại học Khoa học Huế, Đại học Đà Nẵng, Đại học Thái Nguyên, v.v Giáo trình trình bày bảy chương Chương mở đầu giới thiệu khái niệm sở mơ hình hố, qui trình phát triển hệ thống hai cách tiếp cận để phát triển hệ thống phần mềm hướng thủ tục (hướng chức năng) hướng đối tượng Chương II giới thiệu ngôn ngữ mô hình hố thống UML vai trị trình phát triển phần mềm thống Vấn đề phân tích yêu cầu hệ thống cách xây dựng biểu đồ ca sử dụng nêu chương III Chương IV trình bày khái niệm lớp đối tượng mối quan hệ chúng khơng gian tốn Biểu đồ lớp cho phép biểu diễn tất khái niệm cách trực quan thơng qua mơ hình khái niệm biểu đồ lớp, hiểu rõ hệ thống cần phát triển Những biểu đồ tương tác, mơ hình động thái thể hành vi ứng xử hệ thống giới thiệu chương V Dựa vào kết phân tích chương trước, hai chương nêu cách thực để thiết kế biểu đồ cộng tác cho nhiệm vụ, ca sử dụng hệ thống từ có thiết kế lớp, biểu đồ lớp chi tiết mơ tả xác -5- Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban nhiệm vụ giao Vấn đề quan trọng lựa chọn kiến trúc cho hệ thống khả ánh xạ kết thiết kế sang mã chương trình ngơn ngữ lập trình hướng đối tượng C++, Java, Visual Basic, Oracle, v.v đề cập chương VII Bài toán xây dựng “Hệ thống quản lý bán hàng” chọn làm ví dụ minh hoạ xuyên suốt giáo trình để phân tích, thiết kế hệ thống phần mềm theo cách tiếp cận hướng đối tượng Ngoài ra, phần phụ lục giới thiệu số tài liệu phân tích, thiết kế để bạn tham khảo thêm Tác giả xin chân thành cám ơn bạn đồng nghiệp Viện CNTT, bạn Khoa CNTT, Đại học Khoa học Huế, bạn Khoa CNTT, Đại học Quốc gia Hà Nội, Đại học Thái Ngun đóng góp q báu, hỗ trợ thiết thực động viên chân thành để hồn thành giáo trình Mặc dù cố gắng, giáo trình khơng tránh khỏi sai sót Chúng tơi mong nhận ý kiến góp ý thầy cơ, nhận xét bạn đọc để hiệu chỉnh thành sách hồn thiện Hà Nội 2004 Tác giả -6- Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban CHƯƠNG I PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG PHẦN MỀM Chương I trình bày vấn đề sở về: Các khái niệm đặc trưng hệ thống phần mềm, Quá trình phát triển phần mềm hệ thống, Các phương pháp phân tích thiết kế hệ thống 1.1 Giới thiệu Thách thức lớn loài người kỷ 21 hỗn độn mức độ phức tạp hầu hết lĩnh vực sống Khoa học tính tốn, tin học đóng vai trị quan trọng việc tăng thêm trí tuệ, khoa học cho người nhằm giải vấn đề phức tạp hoạt động Nền kinh tế kỷ phải chuyển sang kinh tế tri thức, nghĩa đổi thay đổi, khác hẳn với kinh tế dựa vào vật chất Để hiểu, để khống chế độ phức tạp vấn đề đặt kinh tế tri thức từ đưa giải pháp để giải chúng phải có phương pháp khoa học đắn, phù hợp với qui luật xã hội tự nhiên Bên cạnh việc nghiên cứu phương pháp thích hợp loại hệ thống, cần tìm hiểu phận chúng để mơ hình hố xác định trình hình thành hệ thống Như Pascal khảng định “Không thể hiểu phận khơng hiểu tồn thể khơng thể hiểu tồn thể không hiểu phận” Do vậy, nhiệm vụ ngành khoa học nghiên cứu trình, qui luật tự nhiên, tính chất hành vi hệ thống để mơ hình hố chúng đề xuất phương pháp để giải vấn đề xảy hoạt động người cho hiệu Nhiệm vụ cơng nghệ thơng tin nói chung, cơng nghệ phần mềm nói riêng nghiên cứu mơ hình, phương pháp công cụ để tạo hệ thống phần mềm chất lượng cao phạm vi hạn chế tài nguyên nhằm đáp ứng nhu cầu thường xuyên thay đổi khách hàng, giải vấn đề phức tạp đặt thực tế Trước năm 60, chưa định hình phương pháp rõ rệt cho trình phát triển phần mềm [19, 35] Người ta xây dựng hệ thống phần mềm tương đối tuỳ tiện, theo sở thích kinh nghiệm cá nhân Từ năm 70 tới nay, nhiều mơ hình, phương pháp phát triển phần mềm đời Mỗi phương pháp có ưu, nhược điểm riêng, ưa chuộng nơi này, số lĩnh vực lại khơng ưa chuộng nơi khác Sự đa dạng phong phú phương pháp có nghĩa có khơng thống nhất, khơng chuẩn hố Tuy nhiên, trải qua thời gian, số phương pháp tỏ có sức sống dẻo dai, -7- Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban áp dụng rộng rãi thực tế Trong số phải kể trước hết phương pháp có tên chung phương pháp có cầu trúc [7, 9, 19] Những phương pháp thống cách tiếp cận, hướng thủ tục hướng tư (có cấu trúc xuống), phương pháp lại đề cập đến phương diện trình phát triển phần mềm Do vậy, người ta thường sử dụng số phương pháp liên hoàn, bổ sung cho đề án phát triển phần mềm phức tạp Ngày chưa lạc hậu, cịn phát huy tác dụng tốt cho hệ thống có cấu trúc với liệu tương đối Nhưng phong phú phương pháp luận đa dạng biểu diễn khái niệm (các ký hiệu khác nhau, khơng thống nhất) dẫn tới khó đưa qui trình thống cho trình phát triển phần mềm Mặt khác, nhiều vấn đề phức tạp xuất hiện, không yêu cầu tính tốn lớn, xử lý phân tán, thường xun thay đổi yêu cầu mà đòi hỏi phải quản lý với nhiều loại liệu khác nhau, liệu đa phương tiện, liệu âm thanh, hình ảnh, v.v Từ năm 90, xuất trào lưu mới, mãnh liệt: đời phương pháp hướng đối tượng [4, 5, 18, 21, 24] Thay cách tiếp cận dựa vào chức năng, nhiệm vụ hệ thống phương pháp có cấu trúc nêu trên, phương pháp hướng đối tượng lại dựa vào thực thể (các đối tượng) Cách tiếp cận hướng đối tượng đặt trọng tâm vào việc xây dựng lý thuyết cho hệ thống tổng quát mơ hình khái niệm sở Hệ thống xem tập đối tượng tác động với sở truyền thông điệp để thực thi nhiệm vụ đặt hệ thống Cách tiếp cận phù hợp với cách quan sát quan niệm giới xung quanh tạo công cụ mới, hữu hiệu để phát triển hệ thống có tính mở, dễ thay đổi theo yêu cầu người sử dụng, đáp ứng tiêu chuẩn phần mềm theo yêu cầu công nghệ thông tin đại, giải vấn đề phức tạp thực tế đặt kỷ 21 Một điều quan trọng công nghệ phần mềm khái niệm mơ hình hệ thống hướng đối tượng, bước phát triển đặc tả thực theo qui trình thống [2, 21] với hệ thống ký hiệu chuẩn, ngơn ngữ mơ hình hố hợp UML (Unified Modeling Language) [3, 10], hỗ trợ phần mềm công cụ Rational Rose [17, 22] Những công cụ hỗ trợ hiệu cho giai đoạn phân tích, thiết kế lập trình hướng đối tượng 1.2 Giới thiệu hệ thống phần mềm Theo từ điển Larousse, “Tin học tập hợp ngành khoa học, kỹ thuật, kinh tế xã hội vận dụng vào việc xử lý thông tin tự động hố” Nếu vậy, định nghĩa hệ thống tin học hệ thống có mục đích xử lý thơng tin có tham gia máy tính Sự tham gia máy tính hệ thống tin học nhiều mức độ khác nhau: ƒ Mức thấp: máy tính sử dụng để giải số công việc đơn lẻ, soạn thảo công văn, báo cáo, bảng biểu thống kê, hoá đơn, chứng từ, bảng tính lương, v.v -8- Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban ƒ Mức trung bình: máy tính với người cộng tác, phân cơng với để thực qui trình quản lý phức tạp, ví dụ, hệ thống thơng tin quản lý hành nhà nước, dịch vụ cơng, hệ thống điều hành tác nghiệp xây dựng Chương trình Cải cách hành chính, Đề án 112 Chính phủ giai đoạn 2001 – 2005, v.v ƒ Mức cao: máy tính đóng vai trị chủ chốt q trình xử lý thơng tin, người khơng can thiệt trực tiếp vào q trình mà có nhiệm vụ cung cấp thông tin đầu vào cho hệ thống nhận kết từ máy tính chương trình điều khiển chuyến bay tàu vũ trụ, chương trình điều khiển trình sản xuất tự động, vấn đề trí tuệ nhân tạo, v.v Hệ thống tin học (phần mềm) vậy, xem tổ hợp phần cứng, phần mềm có quan hệ qua lại với nhau, hoạt động hướng tới mục tiêu chung thông qua việc nhận liệu đầu vào (Input) sản sinh kết đầu (Output) thường dạng thông tin khác nhờ q trình xử lý, biến đổi có tổ chức Một cách hình thức định nghĩa phần mềm [13, 19] bao gồm thành phần sau: ƒ Hệ thống câu lệnh (chương trình) thực tạo hoạt động cho kết theo yêu cầu, ƒ Các cấu trúc liệu làm cho chương trình thực thao tác, xử lý cho thông tin cần thiết, ƒ Các tài liệu mô tả thao tác cách sử dụng hệ thống 1.2.1 Các đặc trưng hệ thống Hệ thống thông tin giống hệ thống khác có đặc trưng sau: Mọi hệ thống có tính thể hố đặc tính thể thơng qua: ƒ Phạm vi qui mô hệ thống xác định thể thống hệ thống không thay đổi điều kiện định Khi điều kiện khơng cịn đảm bảo hệ thống phải biến đổi theo ƒ Tạo đặc tính chung để thực nhiệm vụ hay nhằm đạt mục tiêu chung mà phận riêng lẻ thực Trong hỗn độn, phức tạp giới xung quanh, hệ thống tạo phát triển phải có tính tổ chức, có thứ bậc Nghĩa là: ƒ Mọi hệ thống hệ thống hệ thống lớn mơi trường lại bao gồm hệ thống (các thành phần) nhỏ -9- Phân tích, thiết kế hướng đối tượng UML ƒ Đoàn Văn Ban Giữa thành phần hệ thống có xếp theo quan hệ thứ bậc hay trình tự định Mọi hệ thống có cấu trúc: Chính cấu trúc hệ thống định chế vận hành hệ thống mục tiêu mà cần đạt Cấu trúc hệ thống thể bởi: ƒ Các phần tử xếp theo trật tự để cấu thành hệ thống ƒ Mối quan hệ thành phần liên quan chủ yếu đến loại hình, số lượng, chiều, cường độ, v.v Những hệ thống có cấu trúc chặt thường gọi hệ thống có cấu trúc Cấu trúc hệ thống quan trọng, định tính chất hệ thống Ví dụ: kim cương than đá cấu tạo từ phân tử các-bon, khác cấu trúc nên: kim cương vô rắn chắc, cịn tham đá khơng có tính chất Sự thay đổi cấu trúc tạo đặc tính (sức trồi mới, hay cịn gọi đột biến) hệ thống vượt q ngưỡng dẫn tới việc phá vỡ hệ thống cũ Ví dụ: cơng nghệ biến đổi gen: làm thay đổi cấu trúc tế bào sinh học Những nguyên lý di truyền biến đổi gen công nghệ sinh học nghiên cứu ứng dụng công nghệ thông tin Mọi hệ thống biến đổi theo thời gian không gian: ƒ Hệ thống có đời sống, từ lúc khai sinh đến lúc bị phế bỏ Các hệ thống phải thay đổi cho phù hợp với điều kiện thực tế theo thời gian không gian, nghĩa muốn tồn phát triển phải biến đổi cho phù hợp với mơi trường xung quanh theo qui luật tiến hố tự nhiên (Darwin) Sự khác chủ yếu tốc độ khả nhận biết thay đổi ƒ Mọi thay đổi ln có mối liên hệ ngược (feedback) hệ thống chịu tác động qui luật “nhân - quả” Hệ thống đánh giá theo nhiều tiêu chí khác [7, 13, 19, 24] chưa có hệ thống tiêu chí chuẩn để đánh giá cho sản phẩm phần mềm Ở quan tâm đến số tính chất quan trọng sản phẩm phần mềm Một sản phẩm công nghệ phần mềm nay, ngồi tính chất chung hệ thống nêu phải có tính chất sau: ƒ Tính tiện dụng (usability): sản phẩm phải dễ sử dụng tiện lợi cho người dùng, hỗ trợ để thực công việc tốt Muốn đạt mục đích phần mềm phải có giao diện thân thiện, phù hợp, có đầy đủ tài liệu mơ tả có hỗ trợ kịp thời cho người sử dụng - 10 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban ƒ Khả bảo hành trì hoạt động (Maintainability): Hệ thống phải có khả cập nhật, đễ thay đổi, có khả mở rộng để thực yêu cầu thay đổi khách hàng ƒ Tính tin cậy (Dependability): Tính tin cậy phần mềm khả thực nhiệm thiết kế khả đảm bảo an toàn, an ninh liệu Hệ thống phải thực bình thường có kiện bất thường xảy ƒ Tính hiệu (Efficiency): Phần mềm khơng gây lãng phí tài nguyên nhớ, xử lý,các thiết bị ngoại vi, thời gian sử dụng, v.v 1.2.2 Phân loại hệ thống phần mềm Nếu xét tới nội dung thơng tin xử lý tính chất mơi trường hệ thống, người ta phân hệ thống phần mềm theo loại khác [24, 35] sau: Hệ thống thông tin quản lý (Management Information System - MIS): hệ thống cung cấp thông tin cần thiết cho công tác quản lý điều hành doanh nghiệp, quan, hay nói rộng cho tổ chức Hạt nhân hệ thống thông tin quản lý sở liệu (CSDL) chứa thơng tin phản ánh tình trạng thời kết hoạt động sản xuất, kinh doanh tổ chức Hệ thống thu thập thông tin từ môi trường hoạt động doanh nghiệp, kết hợp với thơng tin có CSDL để kết xuất thông tin mà nhà quản lý cần, đồng thời thường xuyên cập nhật liệu để giữ cho thông tin CSDL phản ánh thực trạng thời tổ chức Hệ thống thơng tin quản lý thường phân loại theo hai mức: ƒ Mức thấp, hay gọi mức tác nghiệp, hệ thống có nhiệm vụ in bảng biểu, chứng từ giao dịch theo biểu mẫu cách xử lý thủ công (bằng tay) làm Đó thường hệ thống xử lý liệu hệ thống đơn hàng, quản lý nhân sự, quản lý thiết bị, vật tư, kế toán tài vụ, v.v ƒ Mức cao, hay gọi mức điều hành, hệ thống phải đưa thông tin có tính chất chiến lược kế hoạch giúp cho người lãnh đạo đưa định đắn công tác điều hành hoạt động đơn vị, ví dụ, hệ thống dịch vụ công, hệ thống thông tin tổng hợp, trang thông tin điều hành tác nghiệp Tỉnh / Thành xây dựng Đề án 112 Chính phủ [36, 37, 38] Những hệ thống phát triển thành hệ hỗ trợ định (Decision Support System – DSS) Đặc điểm hệ hỗ trợ định bên cạnh CSDL cịn có sở mơ hình, phương pháp mà lựa chọn để vận dụng lên liệu cho lời giải, cho kết theo yêu cầu đa dạng người dùng đặt tình chọn lựa định - 11 - Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Các hệ thống kỹ thuật (Technical Systems), hệ thống tự động hoá sản xuất hay gọi hệ thống điều khiển trình Đó hệ thống nhằm xử lý điều khiển tự động trình vận hành thiết bị kỹ thuật sản xuất, viễn thông, quân sự, q trình cơng nghiệp, v.v Những hệ thống thường phải làm việc theo phương thức xử lý thời gian thực Về mặt kiến trúc vật lý, bên cạnh phần mềm, hệ thống bao gồm nhiều loại thiết bị tin học đa dạng: từ CPU phổ dụng, đến máy tính chun dụng, ơtơmát lập trình được, điều khiển logic lập trình (Programmable Logic Controller – PLC), đường truyền, cảm biến, chuyển đổi tín hiệu A/N hay N/A Các hệ thống nhúng thời gian thực (Embedded Real_time System) Hệ thống thực thiết bị cứng đơn giản nhúng vào thiết bị khác như: mobile phone, hệ thống hướng dẫn lái xe ô tô, hệ thống điều khiển dụng cụ dân dụng, v.v Các hệ thống thường thực lập trình mức thấp, thường thực xử lý theo thời gian thực Trong hệ này, thường thiếu vắng thiết bị ngoại vi thông dụng hình, ổ đĩa cứng, v.v Phần mềm hệ thống (System Software) Những hệ thống thiết lập nên hạ tầng kỹ thuật hệ thống máy tính, phục vụ cho phần mềm ứng dụng chạy Đó hệ điều hành, hệ quản trị CSDL, chương trình dịch, giao diện phần mềm ứng dụng API (Application Programming Interface), v.v Chúng khai thác dịch vụ tầng thấp phần cứng để đưa giao diện, dịch vụ tầng cao mức khái quát, dễ sử dụng cho chương trình ứng dụng Các hệ thống tự động hố văn phịng (Automated Office Ssystems) Tự động hố văn phịng cách tiếp cận nhằm đưa máy tính vào hoạt động văn phịng, cho phép thâu tóm cơng việc tính tốn, giao lưu, quản lý thơng tin, tất vào cửa sổ hình máy tính, có bàn làm việc nhân viên văn phịng Một hệ thống tự động hố văn phịng phải cung cấp số chức sau: ƒ Thư tín điện tử (E-mail): nhận/gửi thông điệp văn (Text messages) tới cá nhân hay nhóm người ƒ Lịch biểu, kế hoạch công tác, thông báo, v.v ƒ Xử lý văn bản: soạn thảo, sửa chữa, mi trang, v.v tài liệu, biểu đồ, văn tự đồ hoạ ƒ Hội thảo điện tử: hội thảo nghe nhìn từ xa, trao đổi liệu, toạ đàm hỗn hợp liệu tiếng nói, hình ảnh, nối ghép hình với - 12 - Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban ƒ Các hệ thống tích hợp điện thoại với xử lý, tính tốn máy tính: người sử dụng truy cập tới hệ CSDL thông qua hệ thống điện thoại (kể điện thoại khơng dây) để có dịch vụ cần thiết Thông thường, loại phần mềm thường có phương pháp, mơ hình, cơng cụ qui trình riêng Do vậy, xây dựng hệ thống phần mềm cần phải xác định xem thuộc loại để định lưa chọn giải pháp cho thích hợp hiệu 1.3 Sự phát triển hệ thống Mọi hệ thống (phần mềm) phải trải qua khởi đầu, triển khai, xây dựng, kiểm định, khai thác, bảo trì kết thúc Gọi q trình vịng đời hay nhấn mạng đến triển khai xây dựng, gọi phát triển hệ thống (System Develoment) Để xem xét xự phát triển hệ thống, có hai khía cạnh phải đề cập: ƒ Sự nối tiếp giai đoạn q trình phát triển hệ thống, cịn gọi chu trình phát triển hệ thống, ƒ Các phương tiện để nhận thức đặc tả hệ thống, cịn gọi mơ hình 1.3.1 Chu trình phát triển hệ thống Có nhiều loại chu trình phát triển phần mềm khác Ivan Sommerville [19 ] nói tới năm loại chu trình phát triển (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 (Hình 1.1) 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 đủ Ngoà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 - 13 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban Xác định tốn đặc tả u cầu Phân tích Thiết kế Mã hố, lập trình Kiểm định Khai thác bảo trì Hình 1.1: Chu trình thác nước 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 trin 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 (Hình 1.2) Quá trình lặp lại nhiều lần có phương án hồn chỉnh cho hệ thống Tăng trưởng Phân tích Thiết kế Lập trình Kiểm định Chuyển giao phần Thiết kế Lập trình Kiểm định Chuyển giao phần Tăng trưởng Phân tích Hình 1.2: Chu trình phát triển phần mềm tăng trưở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: - 14 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban ƒ Tiến trình lặp lại dãy giai đoạn định, ƒ Qua vòng lặp, tạo nguyên mẫu hoà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 Kỹ thuật làm nguyên mẫu ngày thực hiệu nhờ ngơn ngữ lập trình phi thủ tục, cịn gọi ngơn ngữ hệ thứ tư, có ngơn ngữ hướng đối tượng Hầu hết sản phẩm phần mềm Viêt Nam, phần mềm phục vụ chương trình cải cách hành Chính Phủ xây dựng theo kỹ thuật làm nguyên mẫu chu trình xoắn ốc Ban điều hành Đề án 112 tổ chức quản lý thực - 15 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban chặt chẽ theo giai đoạn, ln có trao đổi, thảo luận, đánh giá kết đạt sở đề tài liệu mẫu [37, 38, 39] để hướng dẫn nhóm thực nhằm đảm bảo phần mềm làm theo yêu cầu 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 hình 1.3 Xác định mục tiêu, phương án ràng buộc Đánh giá phương án Thiết kế tạo lập nguyên mẫu Thử nghiệm đánh giá nguyên mẫu Hình 1.3: Chu trình xoắn ốc 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 Một số người cho cách làm vòng vo làm kéo dài thời gian Song, nghiên cứu nghiêm túc Boëhm Gray cho thấy thời gian rút xuống khoảng 45% so với cách làm cũ - 16 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban Nhưng, thành cơng tiến trình lặp dẫn tới vài hậu cần dè chừng Người dùng thoả mãn với phương án đầu muốn dừng ngay, khơng phải khơng có việc đáng làm Việc làm tư liệu, vốn cần thiết cho hoạt động bảo trì hệ thống sau này, dễ bị bỏ qua xem nhẹ Tóm lại, khn cảnh chung kỹ nghệ phần mềm mơ tả sau: Tập hợp yêu cầu Phân tích có cấu trúc Làm mẫu Phân tích hướng đối tượng Mơ hình xoắn ốc Thiết kế có cấu trúc Thiết kế hướng đối tượng Lập trình có cấu trúc Làm mẫu n Lập trình hướng đối tượng Mẫu hình vịng thứ n Lập trình hướng đối tượng Kiểm định Hệ thống hoạt động Bảo trì Hình 1.4: Quá trình phát triển phần mềm Các giai đoạn q trình phát triển phần mềm thực theo phương pháp khác tuỳ thuộc vào khả nhóm thực dự án Tuy nhiên, thống hiệu tốt nên chọn phương pháp, phương pháp hướng chức hay hướng đối tượng cho trình phát triển phần mềm Xu nên chọn phương pháp hướng đối tượng với hỗ trợ nhiều công cụ đại - 17 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban 1.3.2 Mơ hình hố hệ thống Các bước phát triển hệ thống tìm hiểu nhu cầu, phân tích, thiết kế lập trình hệ thống có khác nhiệm vụ mục tiêu, song chúng có đặc điểm sau: ƒ Đều phải đối mặt với phức tạp toán ứng dụng, ƒ Đều trình nhận thức diễn tả phức tạp thơng qua mơ hình Nói cách khác q trình thực mơ hình hố để hiểu xây dựng hệ thống (i) Nguyên lý chế ngự phức tạp Để tìm hiểu giới vô phức tạp, khoa học thực nghiệm phải vận dụng nguyên lý “Chia để trị” (Devide and Conquer) nguyên lý “Trừu tượng hoá” Trừu tượng hố (hay cịn gọi trừu xuất) ngun lý nhận thức, đòi hỏi phải bỏ qua sắc thái (của chủ đề) 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 đến chủ định (Từ điển Oxford) Nói cách khác, trước tốn (một chủ đề), ta tạm quyên hay tạm lờ chi tiết có tác dụng khơng có tác dụng lời giải tốn, nhờ hình thành diễn tả đơn giản hoá dễ hiểu, cho phép giải tốn thực tế, theo chất (ii) Mơ hình (Model) dạng trừu tượng hố hệ thống thực Nói cách khác, mơ hình hình ảnh thực toán mà xét, diễn tả mức độ trừu tượng hố đó, theo quan điểm thể hình thức (bằng văn bản, bảng biểu, biểu đồ, đồ thị, cơng thức hay phương trình tốn học, v.v.) Ngày phương pháp phân tích, thiết kế hệ thống có xu hướng sử dụng mơ hình thể dạng biểu đồ (diagrams) Đặc biệt phương pháp hướng đối tượng với UML, tất khái niệm, kết bước q trình phát triển phần mềm diễn tả cách tường minh, trực quan biểu đồ [2, 3, 16] theo ký pháp thống (iii) Mục đích mơ hình hố Có năm mục đích Mơ hình giúp ta hiểu thực trừu tượng, tổng quát hoá 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? Jean Piaget nói: “Hiểu tức mơ hình hố” Do vậy, q trình phát triển phần mềm nêu chẳng qua trình nhận thức diễn tả hệ thống Đó q trình thiết lập, sử dụng biến đổi mơ hình 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 - 18 - Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban 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 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, v.v Mơ hình cho phép ta đặc tả cấu trúc hành vi hệ thống để hoàn chỉnh: + Đảm bảo hệ thống đạt mục đích xác định trước Mọi mơ hình đơn giản hoá giới thực, phải đảm bảo đơn giản khơng loại bỏ những yếu tố quan trọng + Kiểm tra qui đị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ố q trình hồn thiện tiến hố liên tục Mơ hình hố nhằm tạo khn 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 theo mơ hình 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, hiểu biết (kết phân tích, thiết kế, lập trình) phải ghi lại chi tiết để phục vụ cho trình phát triển bảo trì hệ thống Vì tính hiểu mơ hình mà trở thành thứ ngôn ngữ chung để trao đổi người tham gia dự án người phát triển phần mềm với khách hàng Nhìn chung, khơng có mơ hình đầy đủ Mỗi hệ thống thực tế tiếp cận thơng qua hay số mơ hình khác Q trình mơ hình hố hệ thống phần mềm thường thực theo hai cấp: + Mơ hình logic: mô tả thành phần mối quan hệ chúng để thực nhu cầu hệ thống, + Mơ hình vật lý: xác định kiến trúc thành phần tổng thể hệ thống Tóm lại, mơ hình hố hệ thống phải thực theo bốn hướng: - 19 -

Ngày đăng: 13/07/2022, 04:32

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Chu trình thác nước - ĐỀ ÁN   Phân tích, thiết kế hướng đối tượng bằng UML
Hình 1.1 Chu trình thác nước (Trang 15)
Hình 1.3: Chu trình xoắn ốc - ĐỀ ÁN   Phân tích, thiết kế hướng đối tượng bằng UML
Hình 1.3 Chu trình xoắn ốc (Trang 17)
Hình 1.4: Quá trình phát triển phần mềm - ĐỀ ÁN   Phân tích, thiết kế hướng đối tượng bằng UML
Hình 1.4 Quá trình phát triển phần mềm (Trang 18)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w