1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương phân tích thiết kế hướng đối tượng với UML

133 451 2

Đ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ội dung

MỤC LỤC Bài 1: Tổng quan phân tích thiết kế hệ thống 1.1 Giới thiệu hệ thống phần mềm 1.2 Các mơ hình phát triển phần mềm 1.2.1 Tổng quan quy trình phát triển phần mềm 1.3 Các cách tiếp cận phân tích thiết kế hệ thống thơng tin 16 1.4 Lịch sử hướng đối tượng 17 1.5 Các khái niệm hướng đối tượng 19 1.6 Ưu, nhược điểm mô hình hướng đối tượng 23 1.7 Các bước phân tích thiết kế hướng đối tượng 23 Bài 2: Giới thiệu UML 26 2.1 Tổng quát UML 26 2.2 Mơ hình khái niệm UML 30 2.4 Kiến trúc hệ thống 36 2.5 Các biểu đồ UML 38 2.6 Giới thiệu công cụ Visual Paradigm 46 Bài 3: Thảo luận phương pháp hướng đối tượng 50 Bài 4: Phân tích hướng đối tượng (1) 51 4.1 Tổng quan phân tích hướng đối tượng 51 4.2 Mơ hình Use case 53 Bài 5: Thực hành 1: Thực hành mơ hình Use Case 73 Bài 6: Phân tích hướng đối tượng (2) 73 6.1 Vấn đề xác định lớp 73 6.2 Xây dựng biểu đồ lớp pha phân tích 84 6.3 Biểu diễn biểu đồ lớp Visual Paradigm 90 Bài 7: Bài thực hành – Thực hành biểu đồ lớp 92 Bài 8: Phân tích hướng đối tượng (3) 92 8.1 Khái qt mơ hình động 92 8.2 Xây dựng biểu đồ trạng thái 94 8.3 Xây dựng biểu đồ trạng thái VP 96 Bài 9: Thảo luận phân tích hướng đối tượng 97 Bộ môn Công nghệ phần mềm Trang Bài 10: Pha thiết kế hướng đối tượng (1) 97 10.1 Tổng quan thiết hướng đối tượng 97 10.2 Các biểu đồ tương tác 98 Bài 11: Thực hành – Biểu đồ trạng thái biểu đồ tương tác 104 Bài 12: Thảo luận thiết hướng đối tượng 105 Bài 13: Pha thiết kế hướng đối tượng (2) 113 13.1 Biểu đồ lớp chi tiết 113 13.3 Thiết kế chi tiết 119 Bài 14: Thực hành – Xây dựng biểu đồ lớp chi tiết 123 Bài 15: Thực hành – Xây dựng sở liệu 123 Bài 16: Thiết kế hướng đối tượng(3) 123 16.1 Biểu đồ thành phần 123 16.2 Biểu đồ triển khai 127 Bài 17: Thực hành – Xây dựng biểu đồ thành phần, biểu đồ triển khai 130 Bài 18: Thực hành – Triển khai phần mềm hướng đối tượng 132 Bài 19: Thực hành – Kiểm tra thực hành 133 Bộ môn Công nghệ phần mềm Trang Bài 1: Tổng quan phân tích thiết kế hệ thống 1.1 Giới thiệu hệ thống phần mềm Hệ thống tổ hợp phần cứng, phần mềm cung cấp giải pháp cho vấn đề cần giải Ngày nay, hệ thống phức tạp mà tri thức lại chuy n ngành ngư i khơng thể biết m i khía cạnh tác nghiệp Một ngư i hiểu đồng th i m i vấn đề hệ thống: t thiết kế giải pháp, viết m trình, triển khai tr n phần cứng đến đảm bảo ch c ch n m i thành phần phần cứng làm việc tốt với Tiến trình phát triển phần mềm phức tạp phải nhiều ngư i thực Trước hết khách hàng, đ ngư i đưa vấn đề cần giải Phân tích vi n làm tài liệu vấn đề khách hàng chuyển n tới ngư i phát triển, đ lập trình vi n xây dựng phần mềm để giải quyết, kiểm tra triển khai n tr n phần cứng Phát triển phần mềm c thể thực b ng nhiều đư ng khác Các dự án c thể tuân thủ loại tiến trình l p t ng dần M i loại c ưu nhược điểm ri ng  Phần mềm gì? Phần mềm chương máy tính, cấu trúc liệu tài liệu kèm theo tài liệu y u cầu, mơ hình thiết kế, tài liệu hướng dẫn sử dụng… Sản phẩm phần mềm c thể làm theo y u cầu, ho c làm cho thị trư ng chung  Theo y u cầu: Là phát triển phần mềm cho khách hàng theo đ c tả h Ví dụ phần mềm quản lý bệnh viện tỉnh Hưng Y n  Tổng quát: Là phát triển phần mềm để bán cho nhiều khách hàng khác Ví dụ Photoshop, phần mềm nghe nhạc, word, Excel Phần mềm c thể phát triển t : Chương trình hồn tồn, cấu hình hệ thống phần mềm tổng quát, sử dụng lại phần mềm đ c phát triển chỉnh sửa tiếp  Kỹ nghệ phần mềm gì? Kỹ nghệ phần mềm mơn tích hợp quy trình, phương pháp, cơng cụ để phát triển phần mềm máy tính hiệu với giới hạn cho trước (Giới hạn kinh phí, th i gian, cơng cụ, ngư i…) 1.2 Các mơ hình phát triển phần mềm 1.2.1 Tổng quan quy trình phát triển phần mềm Cũng m i ngành sản xuất khác, qui trình yếu tố quan tr ng đem lại thành công cho nhà sản xuất phần mềm, n giúp cho m i thành vi n dự án t ngư i cũ đến ngư i mới, hay ngồi cơng ty c thể xử lý Bộ môn Công nghệ phần mềm Trang đồng cơng việc tương ứng vị trí thơng qua cách thức chung cơng ty, hay cấp độ dự án Quy trình phần mềm c thể chia thành giai đoạn sau: - Nghi n cứu sơ (Preliminary Investigation hay g i Feasibility Study) Phân tích y u cầu (Analysis) Thiết kế hệ thống (Design of the System) Xây dựng phần mềm (Software Construction) Thử nghiệm hệ thống (System Testing) Thực hiện, triển khai (System Implementation) Bảo trì, nâng cấp (System Maintenance) a Nghiên cứu sơ bộ: Câu hỏi quan tr ng phát triển hệ thống hồn tồn khơng phải câu hỏi mang tính phương pháp luận Mà câu hỏi kỹ thuật N câu hỏi dư ng c vẻ đơn giản, thật đ c biệt kh trả l i: “Đây c hệ thống để thực khơng?” Đáng buồn câu hỏi thực tế thư ng chẳng đ t lại không trả l i M c dù việc lầm lẫn phương pháp hay định sai lầm kỹthuật c thể dẫn tới thất bại, thư ng dự án c thể cứu v n c đầy đủ tài nguy n cố g ng qu n nhân vi n tài giỏi Nhưng chẳng điều cứu v n cho hệ thống phần mềm hoàn toàn chẳng cần tới ho c cố g ng tự động h a quy trình lầm lạc Trước b t tay vào dự án, bạn phải c ý tưởng cho n Ý tưởng song song với việc n m b t y u cầu xuất giai đoạn khởi đầu N hoàn tất phát biểu: "Hệ thống mà mong muốn làm việc sau " Trong suốt giai đoạn này, tạo n n tranh ý tưởng đ , nhiều giả thuyết công nhận hay loại bỏ Các hoạt động th i gian thư ng bao gồm thu thập ý tưởng, nhận biết rủi ro, nhận biết giao diện b n ngoài, nhận biết các chức n ng mà hệ thống cần cung cấp, c thể tạo vài nguy n mẫu dùng để “minh chứng khái niệm hệ thống” Ý tưởng c thể đến t nhiều nguồn khác nhau: khách hàng, chuy n gia lĩnh vực, nhà phát triển khác, chuy n gia kỹ nghệ, nghi n cứu tính khả thi việc xem xét hệ thống khác tồn Một khía cạnh cần nh c tới code viết th i kỳ thư ng bị "bỏ đi”, chúng viết nh m mục đích thẩm tra hay trợ giúp giả thuyết khác nhau, chưa phải thứ code viết theo kết phân tích thiết kế thấu đáo Trong giai đ an nghi n cứu sơ bộ, nh m phát triển hệ thống cần xem xét y u cầu doanh nghiệp (cần dùng hệ thống), nguồn tài nguy n c thể sử dụng, công nghệ cộng đồng ngư i dùng ý tưởng h hệ thống C thể thực thảo luận, nghi n cứu, xem xét khía cạnh thương mại, phân tích khả n ng l i-l , phân tích trư ng hợp sử dụng tạo nguy n mẫu để xây Bộ môn Công nghệ phần mềm Trang dựng n n khái niệm cho hệ thống đích với mục đích, quyền ưu ti n phạm vi n Thư ng giai đoạn ngư i ta tiến hành tạo phi n thô lịch trình kếhoạch sử dụng tài nguy n Một giai đoạn nghi n cứu sơ thích đáng lập n n tập hợp y u cầu (dù mức độ khái quát cao) hệ thống khả thi mong muốn, kể phương diện kỹ thuật lẫn x hội Một giai đoạn nghi n cứu sơ không thực thoả đáng dẫn tới hệ thống không mong muốn, đ t tiền, bất khả thi định nghĩa lầm lạc – hệ thống th ơng chẳng hoàn tất hay sử dụng Kết giai đoạn nghi n cứu sơ Báo Cáo Kết Quả Nghi n Cứu Tính Khả Thi Khi hệ thống tương lai chấp nhận dựa tr n báo cáo lúc giai đoạn Phân tích b t đầu b Phân tích yêu cầu Sau đ xem xét tính khả thi hệ thống tạo lập tranh sơ dự án, bước sang giai đoạn thư ng coi quan tr ng công việc lập trình: hiểu hệ thống cần xây dựng Ngư i thực cơng việc nhà phân tích Q trình phân tích nhìn chung hệ việc trả l i câu hỏi "Hệ thống cần phải làm gì?" Q trình phân tích bao gồm việc nghi n cứu chi tiết hệ thống doanh nghiệp th i, tìm cho nguy n lý hoạt động n vị trí c thể nâng cao, cải thiện B n cạnh đ việc nghi n cứu xem xét chức n ng mà hệ thống cần cung cấp mối quan hệ chúng, b n với phía ngồi hệ thống Trong tồn giai đoạn này, nhà phân tích ngư i dùng cần cộng tác mật thiết với để xác định y u cầu hệthống, tức tính n ng cần phải đưa vào hệ thống Những mục tiêu cụ thể giai đoạn phân tích là: - Xác định hệ thống cần phải làm - Nghi n cứu thấu đáo tất chức n ng cần cung cấp yếu tố liên quan - Xây dựng mô hình n u bật chất vấn đề t hướng nhìn c thực (trong đ i sống thực) - Trao định nghĩa vấn đề cho chuy n gia lĩnh vực để nhận đánh giá, g p ý - Kết giai đoạn phân tích Đ c Tả Y u Cầu (Requirements Specifications) c Thiết kế hệ thống Bộ môn Công nghệ phần mềm Trang Sau giai đoạn phân tích, y u cầu cụ thể hệ thống đ xác định, giai đoạn thiết kế cho y u cầu Công tác thiết kế xoay quanh câu hỏi chính: Hệ thống làm cách để thỏa m n y u cầu đ n u Đ c Tả Y u Cầu? Một số công việc thường thực giai đoạn thiết kế: - Nhận biết form nhập liệu tùy theo thành phần liệu cần nhập - Nhận biết reports output mà hệ thống phải sản sinh - Thiết kế forms (vẽ tr n giấy hay máy tính, sử dụng công cụ thiết kế) - Nhận biết thành phần liệu bảng để tạo database - Ước tính thủ tục giải thích q trình xử lý t input đến output Kết giai đoạn thiết kế Đ c Tả Thiết Kế (Design Specifications) Bản Đ c Tả Thiết Kế Chi Tiết chuyển sang cho lập trình vi n để thực giai đoạn xây dựng phần mềm d Xây dựng phần mềm Đây giai đoạn viết lệnh (code) thực sự, tạo hệ thống T ng ngư i viết code thực y u cầu đ nhà thiết kế định sẵn Cũng ngư i viết code chịu trách nhiệm viết tài liệu li n quan đến chương trình, giải thích thủ tục (procedure) mà tạo n n viết lý cho việc Để đảm bảo chương trình viết n n phải thoả m n m i y u cầu c ghi trước Đ c Tả Thiết Kế Chi Tiết, ngư i viết code đồng th i phải tiến hành thử nghiệm phần chương trình Phần thử nghiệm giai đoạn c thể chia thành hai bước chính: Thử nghiệm đơn vị: Ngư i viết code chạy thử phần chương trình với liệu giả (test/dummy data) Việc thực theo kế hoạch thử, ngư i viết code soạn Mục đích giai đoạn thử xem chương trình c cho kết mong đợi Giai đoạn thử nghiệm đơn vị nhiều g i "Thử hộp tr ng" (White Box Testing) Thử nghiệm đơn vị độc lập: Công việc thành vi n khác nh m đảm trách Cần ch n ngư i không c li n quan trực tiếp đến việc viết code đơn vị chương trình cần thử nghiệm để đảm bảo tính “độc lập” Cơng việc thử đợt thực dựa tr n kế hoạch thử ngư i viết code soạn n n e Thử nghiệm hệ thống Sau thủ tục đ thử nghiệm ri ng, cần phải thử nghiệm toàn hệ thống M i thủ tục tích hợp chạy thử, kiểm tra xem m i chi tiết ghi Đ c Tả Y u Cầu mong ch ngư i dùng c thoả m n Dữ liệu thử cần ch n l c đ c biệt, kết cần phân tích để phát m i lệch lạc so với mong ch f Thực hiện, triển khai Bộ môn Công nghệ phần mềm Trang Trong giai đoạn này, hệ thống v a phát triển triển khai cho phía ngư i dùng Trước để ngư i dùng thật b t tay vào sử dụng hệ thống, nh m nhà phát triển cần tạo file liệu cần thiết huấn luyện cho ngư i dùng, để đảm bảo hệ thống sử dụng hữu hiệu g Bảo trì, nâng cấp Tùy theo biến đổi môi trư ng sử dụng, hệ thống c thể trở n n l i th i hay cần phải sửa đổi nâng cấp để sử dụng c hiệu Hoạt động bảo trì hệ thống c thể khác biệt tùy theo mức độ sửa đổi nâng cấp cần thiết Nghi n cứu sơ Preliminary Investigation Phân tích y u cầu System Analysis Thiết kế hệ thống System Design Xây dựng phần mềm Software Construction Thử nghiệm hệ thống System Testing Thử triển khai Implemention Bảo trì, nâng cấp Maintenance Hình 1.1: Sơ đồ tổng quát giai đoạn chu trình phát triển phần mềm  Mơ hình quy trình phần mềm Một cách biểu diễn đơn giản quy trình phần mềm theo g c nhìn (perspective) cụ thể Bộ mơn Cơng nghệ phần mềm Trang  Ví dụ g c nhìn quy trình: o Luồng cơng việc d y hoạt động để hoàn thành sản phẩm phần mềm o Luồng liệu: Luồng thơng tin; o Vai trị/hành động: Ai làm Tùy theo mơ hình phát triển phần mềm, nh m công việc triển khai theo cách khác Để sản xuất sản phẩm phần mềm ngư i ta c thể dùng mơ hình khác Tuy nhiên khơng phải tất mơ hình thích hợp cho m i ứng dụng 1.2.2 Mơ hình Waterfall Hình 1.2 Mơ hình thác nước Mơ hình bao gồm giai đoạn xử lý nối tiếp  Xác định yêu cầu tài liệu đặc tả (Requirements and Specifications): giai đoạn xác định “đòi hỏi” (“What”) li n quan đến chức n ng phi chức n ng mà hệ thống phần mềm cần c Giai đoạn cần tham gia tích cực khách hàng kết thúc b ng tài liệu g i “Bản đ c tả y u cầu phần mềm” hay SRS (software requirement specification), đ bao gồm tập hợp y u cầu đ duyệt (reviewed) nghiệm thu (approved) ngư i c trách nhiệm dự án (t phía khách hàng) SRS tảng cho hoạt động cuối dự án  Phân tích hệ thống thiết kế (System Analysis and Design): giai đoạn định “làm nào” (“How”) để hệ thống phần mềm đáp ứng “đòi hỏi” (“What”) mà Bộ môn Công nghệ phần mềm Trang khách hàng y u cầu SRS Đây là cầu nối “đòi hỏi” (“What”) m (Code) thực để đáp ứng y u cầu đ  Cài đặt kiểm thử đơn vị (Coding and Unit Test): giai đoạn thực “làm nào” (“How”) giai đoạn “Phân tích hệ thống thiết kế”  Tích hợp kiểm thử(Test): giai đoạn tiến hành kiểm thử m (code) đ thực, bao gồm kiểm thử tích hợp cho nh m thành phần kiểm thử toàn hệ thống (system test) Một khâu kiểm thử cuối thư ng thực nghiệm thu (acceptance test), với tham gia khách hàng vai trị để xác định hệ thống phần mềm c đáp ứng y u cầu h hay không  Vận hành bảo trì(Deployment and Maintenance): giai đoạn cài đ t, cấu hình huấn luyện khách hàng Giai đoạn sửa chữa l i phần mềm (nếu c ) phát triển thay đổi khách hàng y u cầu (như sửa đổi, th m hay bớt chức n ng/đ c điểm hệ thống) Thực tế cho thấy đến giai đoạn sau c khả n ng nhận sai s t giai đoạn trước phải quay lại để sửa chữa Đây kiểu waterfall dạng l p (Iterative Waterfall) Ưu điểm: Các giai đoạn định nghĩa, với đầu vào đầu rõ ràng Mơ hình dựa tr n tài liệu giai đoạn đầu, đầu vào đầu tài liệu Sản phẩm phần mềm hình thành thơng qua chu i hoạt động xây dựng phần mềm theo trình tự rõ ràng Nhược điểm: Đòi hỏi tất y u cầu phần mềm phải xác định rõ ràng t đầu dự án Nhưng đa số dự án thực tế cho thấy y u cầu phần mềm thư ng ẩn chứa không nhiều điểm khơng ch c ch n Một thực tế dự án thực đầy đủ bước suốt chu kỳ dự án Đ c biệt giai đoạn kiểm thử gần đến ngày giao hàng chẳng hạn, c trục tr c xảy y u cầu phần mềm không rõ ràng hay thiết kế c l i, xu hướng mã nguồn sửa đổi trực tiếp mà không qua bước bổ sung theo mô hình, n n dẫn đến đ c tả phần mềm số sản phẩm trung gian khác thiết kế, cho dù c cập nhật sau c thể không phản ánh đầy đủ đ sửa đổi m nguồn Ngư i sử dụng không c hội tham gia suốt th i gian giai đoạn trung gian t thiết kế kiểm thử Đ c biệt với dự án lớn, ngư i sử dụng Bộ môn Công nghệ phần mềm Trang c thể nhận r ng hệ thống phần mềm không phù hợp cho nhu cầu h vào th i điểm cuối dự án N i chung, mơ hình thư ng ẩn chứa nhiều rủi ro mà c thể phát giai đoạn cuối chi phí để sửa chữa c thể cao Ứng dụng: Y u cầu định nghĩa rõ ràng, chi tiết không thay đổi, thư ng xuất phát t sản phẩm đ đạt mức ổn định Y u cầu bổ sung (nếu c ) sớm xác định rõ ràng, đầy đủ t đầu dự án Đội ngũ thực quen thuộc hiểu rõ tất y u cầu dự án, c nhiều kinh nghiệm với công nghệ dùng để phát triển sản phẩm Dự án xác định khơng c rủi ro 1.2.3 Mơ hình chữ V Hình 1.3 Mơ hình chữ V Trong mơ hình Waterfall, kiểm thử thực giai đoạn ri ng biệt Cịn với mơ hình chữ V, tồn qui trình chia thành hai nh m giai đoạn tương ứng nhau: phát triển kiểm thử M i giai đoạn phát triển kết hợp với giai đoạn kiểm thử tương ứng minh h a Hình Bộ mơn Cơng nghệ phần mềm Trang 10 ... pháp hướng đối tượng đ phát triển để trả l i cho vấn đề đ Với lối tiếp cận hướng đối tượng, tập trung vào hai m t vấn đề : thông tin cách hoạt động 1.3.2 Phương pháp hướng đối tượng: Hướng đối tượng. .. tác 104 Bài 12: Thảo luận thiết hướng đối tượng 105 Bài 13: Pha thiết kế hướng đối tượng (2) 113 13.1 Biểu đồ lớp chi tiết 113 13.3 Thiết kế chi tiết 119... tính đ n thiết kế, phù hợp y u cầu, hệ thống giữ vững y u cầu ngư i dùng thay đổi Phương pháp hướng đối tượng xem phần giới thực đối tượng Máy điện thoại, xe ô tô, ngư i … đối tượng Các đối tượng

Ngày đăng: 24/10/2017, 15:51

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w