Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
2,22 MB
Nội dung
PHÂNTÍCHVÀTHIẾTKẾHƯỚNGĐỐITƯỢNG OBJECT ORIENTED ANALYSIS AND DESIGN DR DAONAMANHBàigiảng 1: Phương pháp hướngđốitượng trình phát triển hệ thống phần mềm RESOURCE - REFERENCE Ian Sommerville, Software Engineering, Ninth Edition, 2011 Bernd Bruegge & Allen H Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java, Third Edition, Prentice Hall, 2010 Russell C Bjork, ATM Simulation Links, Gordon College Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado, UML Toolkit, John Wiley & Sons Inc, 2003 Dương Kiều Hoa – Tôn Thất Hồ An, Phântíchthiếtkế Hệ thống thơng tin với UML, 2006 ĐàoNam Anh, Giáo Trình PhânTíchVàThiếtKếHướngĐối Tượng, Đại học Điện lực, 2013 CONTENT – NỘI DUNG Phương pháp hướngđốitượng trình phát triển hệ thống phần mềm Giới thiệu hệ thống phần mềm Sự phát triển hệ thống Các cách tiếp cận phát triển phần mềm Quá trình phát triển phần mềm hợp Công nghệ phần mềm Cơng việc lập mơ hình (modeling) Giải phức tạp thơng qua mơ hình, cách tập trung vào chi tiết có liên quan thời điểm bỏ qua tất chi tiết khác Việc giải vấn đề (problem-solving) Các mơ hình sử dụng để tìm giải pháp chấp nhận Việc thu thập kiến thức (knowledge acquisition) Trong lập mơ hình cho ứng dụng lĩnh vực liên quan, kỹ sư phần mềm thu thập liệu, tổ chức thành thông tin, tổng hợp thành kiến thức Hoạt động hướng hợp lý (rationale-driven) Khi thu thập kiến thức đưa định hệ thống, kỹ sư phần mềm cần phải hiểu bối cảnh thực định, lý đằng sau định Lập mơ hình Mơ hình kết trừu tượng, nhằm miêu tả thành phần cốt yếu vấn đề hay cấu trúc phức tạp, qua việc lọc bớt chi tiết không quan trọng làm cho vấn đề dễ hiểu Lập mơ hình có ích với hệ thống lớn, phức tạp, đắt để trực tiếp trải nghiệm Lập mơ hình cho phép ta hình dung hiểu hệ thống, cho dù khơng tồn ý tưởng Trong dự án có khách hàng, chuyên gia lĩnh vực liên quan, phântích viên, người thiếtkế Mơ hình hố giúp người dự án trao đổi, hiểu hệ thống Các mơ hình giúp hiểu yêu cầu hệ thống tốt hơn, tạo thiếtkế rõ ràng xây dựng hệ thống có khả dễ bảo trì Mơ hình lĩnh vực ứng dụng Mơ tả khía cạnh hệ thống thực tế có liên quan đến vấn đề xem xét Kỹ sư phần mềm cần phải hiểu mơi trường hệ thống hoạt động Với hệ thống điều khiển giao thông đường sắt, kỹ sư phần mềm cần biết thủ tục báo hiệu tàu Với hệ thống giao dịch ngân hàng, kỹ sư phần mềm cần phải biết quy tắc giao dịch ngân hàng Mơ hình lĩnh vực giải pháp Kỹ sư phần mềm cần phải hiểu hệ thống họ xây dựng, để đánh giá giải pháp khác lựa chọn giải pháp Hầu hết hệ thống phức tạp để hiểu hết, hầu hết hệ thống đắt để xây dựng Với thách thức này, kỹ sư phần mềm tìm hiểu mơ tả khía cạnh quan trọng hệ thống thay Phương pháp hướngđốitượng kết hợp việc mơ hình Lĩnh vực ứng dụng mơ hình hóa tập đốitượng liên kết Sau sử dụng mơ hình để mơ tả hoạt động hệ thống Lĩnh vực giải pháp mơ hình hóa đốitượng Giải vấn đề Cơng nghệ hoạt động giải vấn đề (problem solving) Phát biểu vấn đề, Phântích vấn đề, Tìm kiếm giải pháp, Quyết định giải pháp thích hợp, Đặc tả giải pháp Giải vấn đề Phát triển phần mềm hướngđốitượng thường có hoạt động: Lấy yêu cầu, Phân tích, Thiếtkế hệ thống, Thiếtkếđối tượng, Lập trình, Kiểm thử 10 Các cách tiếp cận phát triển phần mềm Phát triển phần mềm hướngđốitượng Biểu diễn đốitượngđời thực đốitượng mơ hình Chia ứng dụng thành thành phần nhỏ tươngđối độc lập với nhau, gọi đốitượng Sau ta xây dựng ứng dụng cách xếp đốitượng lại với 29 Các cách tiếp cận phát triển phần mềm Phát triển phần mềm hướngđốitượng Ưu điểm: tính tái sử dụng khả điều chỉnh phù hợp đốitượng cho việc sử dụng Ta tạo đốitượng lần dùng chúng nhiều lần sau Vì đốitượng kiểm thử kỹ lần dùng trước đó, nên khả tái sử dụng đốitượng có tác dụng giảm thiểu lỗi khó khăn việc bảo trì, giúp tăng tốc độ thiếtkế phát triển phần mềm 30 Các cách tiếp cận phát triển phần mềm Phát triển phần mềm hướngđốitượng Trong phương pháp phát triển phần mềm hướngđốitượng có khả kết hợp đốitượng nghiệp vụ tính tốn hữu ích Ví dụ giao diện ứng dụng dựa đốitượng đồ hoạ từ thư viện đồ họa có sẵn 31 Các cách tiếp cận phát triển phần mềm Phântíchhướngđốitượng (Object-Oriented Analysis – OOA) Dữ liệu qui trình thao tác liệu kết hợp đóng gói vào đốitượng Với vấn đề, nhà phântích cần ánh xạ đốitượng hay thực thể có thực khách hàng, người bán hàng, mơ hình thiếtkế để tạo thiếtkế gần cận với tình thực Mơ hình thiếtkế có thực thể vấn đề thực giữ nguyên mẫu hình cấu trúc, quan hệ hành vi chúng 32 Các cách tiếp cận phát triển phần mềm Thiếtkếhướngđốitượng (Object Oriented Design OOD) tổ chức chương trình thành tập hợp đốitượng cộng tác, đốitượng thực thể lớp Các lớp thành viên cấu trúc với mối quan hệ thừa kế Tạo thiếtkế dựa kết giai đoạn OOA, quy định phi chức năng, yêu cầu môi trường, yêu cầu khả thực thi OOD tập trung vào việc cải thiện kết OOA, tối ưu hóa giải pháp cung cấp đảm bảo thỏa mãn yêu cầu định trước 33 Các cách tiếp cận phát triển phần mềm Lập trình hướngđốitượng (Object Oriented Programming - OOP) Thực thiếtkếhướngđốitượng qua việc sử dụng ngôn ngữ lập trình có hỗ trợ tính hướngđốitượng Ngôn ngữ hướngđốitượng thường nhắc tới C++ Java Kết giai đoạn code chạy được, đưa vào sử dụng sau trải qua nhiều vòng kiểm thử khác 34 Q trình phát triển phần mềm hợp Việc quản lý dự án công nghệ phần mềm Hoạt động quản lý tập trung vào việc lập kế hoạch dự án, theo dõi tình trạng dự án, theo dõi thay đổi, điều phối nguồn lực để bàn giao sản phẩm chất lượng cao đứng thời hạn phạm vi ngân sách Hoạt động quản lý bao gồm Trao đổi thông tin Quản lý hợp lý Quản lý Cấu hình Phần mềm Quản lý dự án Vòng đờiphần mềm Bảo trì phần mềm 35 Quá trình phát triển phần mềm hợp Trao đổi thông tin (Communication ) hoạt động quan trọng tốn thời gian công nghệ phần mềm Hiểu lầm thiếu thông tin thường dẫn đến lỗi chậm trễ, tạo nên sửa chữa tốn sau Trao đổi thông tin bao gồm việc trao đổi mơ hình tài liệu hệ thống lĩnh vực dụng hệ thống, báo cáo tình trạng sản phẩm dự án, cung cấp thông tin phản hồi chất lượng sản phẩm, thiết lập vấn đề đàm phán vấn đề, thông báo định 36 Quá trình phát triển phần mềm hợp Quản lý cấu hình phần mềm (Software configuration management) trình theo dõi kiểm soát thay đổi sản phẩm Các thay đổi tràn ngập trình phát triển phần mềm Yêu cầu thay đổi khách hàng cần có tính nhà phát triển giúp họ hiểu rõ lĩnh vực ứng dụng Môi trường phần cứng / phần mềm có thay đổi tổ chức áp dụng cơng nghệ 37 Q trình phát triển phần mềm hợp Quản lý cấu hình phần mềm Theo dõi thay đổi Hệ thống mô tả cấu hình phần tử độc lập Sự tiến hóa cấu hình theo dõi tập hợp phiên cấu hình Khi có thay đổi khơng tốt, nhà phát triển đặt lại hệ thống vào cấu hình cũ có tình trạng ổn định trước Kiểm soát thay đổi Mọi thay đổi cần đánh giá chấp thuận trước thực Điều đảm bảo cho hệ thống phát triển theo mục tiêu dự án hạn chế số lượng lỗi hệ thống 38 Quá trình phát triển phần mềm hợp Quản lý hợp lý Hợp lý (Rationale) biện minh cho định Với định, hợp lý bao gồm vấn đề mà đề cập đến, lựa chọn thay mà nhà phát triển xem xét Sự hợp lý thông tin quan trọng nhà phát triển cần có thay đổi hệ thống Nếu tiêu chuẩn thay đổi, nhà phát triển đánh giá lại tất định có phụ thuộc vào tiêu chuẩn Nếu có thêm lựa chọn, nhà phát triển đánh giá lại lựa chọn dựa vào tiêu chí có Nếu định cần xem xét lại, ta xem lại hợp lý để biện minh cho 39 Q trình phát triển phần mềm hợp Quản lý dự án (Project Management) không tạo sản phẩm trình phát triển phần mềm Quản lý dự án bao gồm hoạt động giám sát để đảm bảo tạo hệ thống chất lượng cao, thời gian phạm vi ngân sách Điều bao gồm việc quản lý kế hoạch quản lý ngân sách dự án trình đàm phán với khách hàng, thuê nhà phát triển tổ chức thành đội phát triển, theo dõi tình trạng dự án, can thiệp có sai lệch 40 Q trình phát triển phần mềm hợp Vòng đờiphần mềm Hoạt động quản lý dự án có phần việc xây dựng kế hoạch phát triển theo vòng đờiphần mềm, triển khai kiểm soát việc thực kế hoạch 41 Quá trình phát triển phần mềm hợp Bảo trì phần mềm hoạt động sau bàn giao hệ thống cho khách hàng Bảo trì phần mềm khác biệt với hoạt động phát triển khác hay có thay đổi thực đội ngũ, khác với nhóm phát triển ban đầu Khi dự án công nghệ phần mềm có định hướng thay đổi (change driven), khác biệt hoạt động xây dựng hoạt động bảo trì lu mờ 42 DISCUSSION – CÂU HỎI https://sites.google.com/site/daonamanhedu/teac hing/objectorientedanalysisanddesign 43 ... Hồ An, Phân tích thiết kế Hệ thống thông tin với UML, 2006 Đào Nam Anh, Giáo Trình Phân Tích Và Thiết Kế Hướng Đối Tượng, Đại học Điện lực, 2 013 CONTENT – NỘI DUNG Phương pháp hướng đối tượng. .. mềm hướng đối tượng Biểu diễn đối tượng ngồi đời thực đối tượng mơ hình Chia ứng dụng thành thành phần nhỏ tương đối độc lập với nhau, gọi đối tượng Sau ta xây dựng ứng dụng cách xếp đối tượng. .. mềm Thiết kế đối tượng Thiết kế viên xác định đối tượng lĩnh vực giải pháp Bước khai báo đối tượng, giao diện hệ thống con, cấu lại mơ hình đối tượng để đạt mục tiêu thiết kế khả mở rộng hệ