UML và quá trình phát triển

36 137 0
UML và quá trình phát triển

Đ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ÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Chương Tiến trình phát triển phần mềm theo hướng đối tượng GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Sản phẩm phần mềm  Các đặc tính phần mềm  Có thể sử dụng • Cần có UI phù hợp, tài liệu rõ ràng  Tính dễ bảo trì • Dễ dàng mở rộng để đáp ứng yêu cầu thay đổi (phần mềm mềm dẻo)  Tính độc lập • Các tính chất tin cậy, an toàn • Không gây tác hại vật lý, kinh tế hệ thống hỏng  Tính hiệu • Không tiêu tốn nhiều tài nguyên hệ thống nhớ, thời gian CPU GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Hệ thống phần mềm  Phát triển phần mềm bị khủng hoảng phương pháp đủ tốt  Kỹ thuật áp dụng cho hệ thống nhỏ trước không phù hợp cho hệ thống lớn  Các dự án lớn thường bị kéo dài hàng năm làm tăng kinh phí  Phần mềm không tin cậy, khó bảo trì  Để đáp ứng đòi hỏi phần mềm cần có  Lý thuyết, kỹ thuật, phương pháp, công cụ để điều khiển tiến trình phát triển hệ thống phần mềm GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Sản phẩm phần mềm  Để xây dựng hệ thống phần mềm tốt ta cần:  Xác định đắn tiến trình phát triển phần mềm • Các pha hoạt động • Sản phẩm pha  Phương pháp kỹ thuật áp dụng pha mô hình hóa sản phẩm chúng  Công cụ phát sinh sản phẩm Sản phẩm phần mềm xem mô hình giới thực Nó phải trì để luôn phản ánh xác thay đổi giới thực GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Tiến trình phát triển phần mềm  Tiến trình phát triển phần mềm mô tả tập hoạt động cần thiết để chuyển đổi từ yêu cầu người sử dụng sang hệ thống phần mềm  Yêu cầu người sử dụng xác định mục tiêu phát triển phần mềm  Khách hàng kỹ sư tin học xác định dịch vụ mà hệ thống cần có (yêu cầu chức hệ thống)  Yêu cầu chức mô tả mà hệ thống phải làm (What) không mô tả hệ thống làm (How)  Khách hàng có ràng buộc phi chức năng: thời gian đáp ứng, chuẩn ngôn ngữ… GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Tiến trình phát triển phần mềm  Tổng quát tiến trình (process) xác định (Who) làm (What), làm (When) làm (How) để đạt tới mục đích mong muốn  Tiến trình phát triển phần mềm (Software Development Process - SDP) tiến trình xây dựng sản phẩm phầm mềm hay nâng cấp phần mềm có  Thí dụ tiến trình phát triển phần mềm:  Rational Unified Process - RUP New or changed requirements Software Development Process New or changed system GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phân tích yêu cầu  Tiến trình phân tích yêu cầu bao gồm hoạt động lặp Người phát triển Khách hàng Các chuyên gia hệ thống Người sử dụng Thu thập yêu cầu Hiểu lĩnh vực vấn đề Nghiên cứu tính khả thi Thẩm định Tài liệu đặc tả yêu cầu bước GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phân loại Các hoạt động phân tích yêu cầu  Hiểu lĩnh vực vấn đề  Phân tích viên trình bày hiểu biết lĩnh vực vấn đề  Suy yêu cầu khách hàng  Thu thập yêu cầu  Phân tích viên cần có cách thu thập nhu cầu khách hàng cho họ tham gia vào dự án  Phân tích viên, khách hàng, chuyên gia lĩnh vực ứng dụng người sử dụng hệ thống phát thu thập yêu cầu  Kỹ trừu tượng quan trọng để thu thập chính, bỏ qua không cần thiết GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Các hoạt động phân tích yêu cầu  Phân loại  Đầu vào hoạt động tập hợp phi cấu trúc yêu cầu thu thập pha trước để tổ chức chúng thành nhóm dính liền  Gắn mức ưu tiên cho yêu cầu theo tầm quan trọng chúng khách hàng người sử dụng  Thẩm định  Kiểm tra xem yêu cầu có quán đầy đủ  Giải mâu thuẫn yêu cầu  Nghiên cứu tính khả thi  Dự báo khả thỏa mãn sử dụng phần cứng, phần mềm yêu cầu nhận  Quyết định bước hệ thống đề xuất có hiệu GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Mô hình thác nước  Nhận xét mô hình thác nước  Khó phân biệt rõ ràng giới hạn pha, nhiều pha gối lên cung cấp thông tin cho • Khi thiết kế nhận yêu cầu • Khi viết mã trình nhận thấy vài thiết kế có vấn đề • Khi bảo trì hiệu năng, thực lại vài hay toàn bước trước  Tiến trình phát triển mô hình tuyến tính mà trình tự lặp hoạt động phát triển  Khó nhận điểm mấu chốt để lập kế hoạch báo cáo kết  Do vậy, sau vài lần lặp thường phải đưa vật phẩm đặc tả để tiếp tục bước sau  Đôi khó phân hoạch hoạt động phát triển dự án thành bước mô hình GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Tính phức tạp cố hữu phần mềm  Tính phức tạp lĩnh vực vấn đề  Xuất phát từ không hiểu người sử dụng người phát triển hệ thống • Người sử dụng thường gặp khó khăn diễn đạt xác nhu cầu hình thức người phát triển hiểu • Người sử dụng có ý tưởng mơ hồ họ muốn có hệ thống  Các yêu cầu trái ngược nhau: yêu cầu chức yêu cầu phi chức  Thay đổi yêu cầu thường xuyên phát triển hệ thống GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Tính phức tạp cố hữu phần mềm  Khó khăn quản lý tiến trình phát triển  Nhiệm vụ đội ngũ phát triển phần mềm • Chỉ hình ảnh đơn giản để người sử dụng không bị rối độ phức tạp lớn hệ thống  Hệ thống lớn phức tạp đòi hỏi viết hàng nghìn, hàng triệu dòng lệnh • Cần có đội ngũ phát triển  Nhiều người phát triển • Giao tiếp phức tạp, điều phối phức tạp GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Tính phức tạp cố hữu phần mềm  Vấn đề xác định đặc điểm hành vi hệ thống  Trong hệ thống ứng dụng lớn • Có đến hàng nghìn biến nhiều luồng điều khiển  Hành vi hệ thống thay đổi từ trạng thái sang trạng thái khác • Tổng số trạng thái lớn • Mỗi kiện bên làm thay đổi trạng thái hệ thống • Hệ thống phản ứng với kiện cách không xác định trước GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phương pháp hướng chức  Cho đến 1990: Phần lớn kỹ sư phần mềm sử dụng phương pháp thiết kế hướng chức Phương pháp có đặc trưng sau:  Dựa vào chức hệ thống  Phân rã chức làm mịn dần theo cách từ xuống (Top Down)  Các chức trao đổi với cách truyền tham số hay sử dụng liệu chung  Tính mở thích nghi hệ thống thấp  Khả tái sử dụng bị hạn chế không hỗ trợ chế kế thừa GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phương pháp hướng chức  Tiến trình phát triển tập trung vào thông tin mà hệ thống quản lý     Người phát triển hệ thống hỏi người sử dụng cần thông tin Thiết kế CSDL để lưu trữ thông tin Xây dựng hình nhập liệu Hiển thị báo cáo  Chỉ tập trung vào thông tin, quan tâm đến thực với thông tin hay hành vi hệ thống  Tiệm cận gọi tiệm cận hướng liệu  Đã áp dụng nhiều năm tạo hàng ngàn hệ thống  Thuận tiện cho thiết kế CSDL (dễ dàng thay đổi CSDL)  Bất tiện cho xây dựng hệ thống tác nghiệp (khó thay đổi nguyên tắch nghiệp vụ hay cách hoạt động hệ thống) • Khi yêu cầu hệ thống thay đổi theo thời gian GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phương pháp hướng chức  Công nghệ hướng chức có hạn chế sau:  Sản phẩm hình thành từ giải pháp khó bảo trì • Mọi chức chia sẻ khối liệu lớn • Các chức phải hiểu rõ liệu lưu trữ • Khi thay đổi chức kéo theo thay đổi chức liên quan  Tiến trình phát triển không ổn định • Thay đổi yêu cầu kéo theo thay đổi chức • Rất khó bảo toàn kiến trúc thiết kế ban đầu hệ thống tiến hóa  Tiệm cận không hỗ trợ lập trình ngôn ngữ hướng đối tượng C++, Java, Smalltalk, … GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phương pháp hướng đối tượng  Chiến lược phát triển phần mềm hướng đối tượng quan sát giới tập đối tượng  Các đối tượng tương tác cộng tác với để hình thành chức hệ thống  Đối tượng • Thực thể nhìn thấy giới thực (trong pha phân tích yêu cầu) • Biểu diễn thực thể hệ thống (trong pha thiết kế)  Đối tượng có trách nhiệm quản lý trạng thái mình, cung cấp dịch vụ cho đối tượng khác có yêu cầu • Do vậy, liệu hàm gói đối tượng GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phương pháp hướng đối tượng  Chức hệ thống: • Các dịch vụ yêu cầu cung cấp đối tượng, không quan tâm đến thay đổi trạng thái bên đối tượng  Các đối tượng phân thành class • Các đối tượng thuộc lớp có đặc tính (thuộc tính thao tác) chung • Các đối tượng trao đổi với thông điệp  Tiệm cận hướng đối tượng tập trung vào thông tin hành vi GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Phương pháp hướng đối tượng  Ưu điểm phương pháp hướng đối tượng  Cho khả xây dựng hệ thống mềm dẻo, “co dãn”  Tái sử dụng dễ dàng  Đóng gói, che dấu thông tin làm cho hệ thống tin cậy an toàn  Kế thừa làm giảm chi phí, hệ thống có tính mở cao GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Các giai đoạn tiến trình phát triển phần mềm theo hướng đối tượng  Phân tích hướng đối tượng (Object Oriented Analysis OOA): Là giai đọan phát triển mô hình xác súc tích vấn đề, có thành phần đối tượng khái niệm đời thực, dễ hiểu người sử dụng Dựa vấn đề có sẵn, nhà phân tích cần ánh xạ đối tượng hay thực thể có thực khách hàng, ô tô, người bán hàng, … vào thiết kế để tạo thiết kế gần cận với tình thực Mô hình thiết kế chứa thực thể vấn đề có thực giữ nguyên mẫu hình cấu trúc, quan hệ hành vi chúng GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Các giai đoạn tiến trình phát triển phần mềm theo hướng đối tượng  Đối với ví dụ phòng bán ô tô, giai đoạn OOA nhận biết thực thể như: - Khách hàng - Người bán hàng - Phiếu đặt hàng - Phiếu (hoá đơn) toán - Xe ô tô Tương tác quan hệ đối tượng là: - Người bán hàng dẫn khách hàng tham quan phòng trưng bày xe - Khách hàng chọn xe - Khách hàng viết phiếu đặt xe - Khách hàng trả tiền xe - Xe ô tô giao đến cho khách hàng GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Các giai đoạn tiến trình phát triển phần mềm theo hướng đối tượng  Đối với ví dụ nhà băng lẻ, giai đoạn OOA nhận biết thực thể như: - Loại tài khoản: ATM (rút tiền tự động), Savings (tiết kiệm), Current (bình thường), Fixed (đầu tư), - Khách hàng - Nhân viên - Phòng máy tính Tương tác quan hệ đối tượng trên: - Một khách hàng mở tài khoản tiết kiệm - Chuyển tiền từ tài khoản tiết kiệm sang tài khoản đầu tư - Chuyển tiền từ tài khoản tiết kiệm sang tài khoản ATM GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Các giai đoạn tiến trình phát triển phần mềm theo hướng đối tượng  Thiết kế hướng đối tượng (Object Oriented Design OOD): Trong giai đoạn OOD, nhà thiết kế định nghĩa chức năng, thủ tục (operations), thuộc tính (attributes) mối quan hệ hay nhiều lớp (class) định chúng cần phải điều chỉnh cho phù hợp với môi trường phát triển Đây giai đoạn để thiết kế ngân hàng liệu áp dụng kỹ thuật tiêu chuẩn hóa Về cuối giai đoạn OOD, nhà thiết kế đưa loạt biểu đồ (diagram) khác Các biểu đồ chia thành hai nhóm Tĩnh động Các biểu đồ tĩnh biểu thị lớp đối tượng, biểu đồ động biểu thị tương tác lớp phương thức hoạt động xác chúng Các lớp sau nhóm thành gói (Packages) tức đơn vị thành phần nhỏ ứng dụng GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc Các giai đoạn tiến trình phát triển phần mềm theo hướng đối tượng  Lập trình hướng đối tượng (Object Oriented Programming - OOP): Giai đoạn xây dựng phần mềm thực sử dụng kỹ thuật lập trình hướng đối tượng Đó phương thức thực thiết kế hướng đối tượng qua việc sử dụng ngôn ngữ lập trình có hỗ trợ tính hướng đối tượng Kết qủa giai đoạn loạt code chạy được, đưa vào sử dụng sau trải qua nhiều vòng quay nhiều bước thử nghiệm khác GV: Hoàng Thị Lam – Tổ Tin – ĐH Tây Bắc ... Khi viết mã trình nhận thấy vài thiết kế có vấn đề • Khi bảo trì hiệu năng, thực lại vài hay toàn bước trước  Tiến trình phát triển mô hình tuyến tính mà trình tự lặp hoạt động phát triển  Khó... – ĐH Tây Bắc Tiến trình phát triển phần mềm  Tổng quát tiến trình (process) xác định (Who) làm (What), làm (When) làm (How) để đạt tới mục đích mong muốn  Tiến trình phát triển phần mềm (Software... đặc tả yêu cầu sử dụng  Cam kết khách hàng tổ chức phát triển hệ thống mà hệ thống làm (và mà hệ thống làm)  Cơ sở để đội ngũ phát triển phát triển hệ thống  Mô hình tương đối đầy đủ hệ thống

Ngày đăng: 27/08/2017, 23:08

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

Tài liệu liên quan