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

Phân tích và thiết kế hệ thống thông tin - Tran Manh Tuan TLU ď Bai 2

28 352 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 881,86 KB

Nội dung

Phân tích và thiết kế hệ thống thông tin - Tran Manh Tuan TLU ď Bai 2 tài liệu, giáo án, bài giảng , luận văn, luận án,...

Bài Tiến trình phát triển phần mềm theo hướng đối tượng Kỹ nghệ phần mềm   Khái niệm kỹ nghệ phần mềm (software engineering) xuất vào cuối 1960 – bắt đầu có máy tính hệ Các đặc tính chủ yếu hệ thống phần mềm  Nó mơ hình hóa phần giới thực  Rất lớn phức tạp  Nó trừu tượng  Phải có tính độc lập cao  Phải dễ bảo trì:   giới thực thay đổi, phần mềm phải đáp ứng yêu cầu thay đổi Phải thân thiện với người sử dụng  UI phần quan trọng hệ thống phần mềm Phân tích thiết kế hướng đối tượng Kỹ nghệ phần mềm  Phát triển phần mềm bị khủng hoảng khơng có phương pháp đủ tốt      Thực tế: Giá phần cứng giảm nhanh, giá phần mềm tăng cao Để đáp ứng địi hỏi phần mềm cần có    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 hành 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 Kỹ nghệ phần mềm: Liên quan tới lý thuyết, phương pháp công cụ cần để phát triển phần mềm Mục tiêu: Sản xuất phần mềm độc lập, hạn, phù hợp kinh phí đáp ứng yêu cầu người sử dụng Phân tích thiết kế hướng đối tượng Sản phẩm phần mềm  Kỹ nghệ phần mềm để sản xuất   Hệ thống phần mềm Các tài liệu    Thiết kế hệ thống Tài liệu sử dụng: Cài đặt? Sử dụng phần mềm? Các đặc tính phần mềm  Có thể sử dụng   Tính dễ bảo hành   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ần có UI phù hợp, tài liệu rõ ràng Các tính chất tin cậy, an tồ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 q nhiều tài nguyên hệ thống nhớ, thời gian CPU Phân tích thiết kế hướng đối tượng Sản phẩm phần mềm  Để thỏa mãn đồng thời tính chất sản phẩm phần mềm nói khó khăn   Thí dụ giá với tính Để 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ì để ln ln phản ánh xác thay đổi giới thực Phân tích thiết kế hướng đối tượng Tiến trình phát triển phần mềm     Mọi kỹ nghệ (engineering) đề cập đến sản xuất sản phẩm theo tiến trình 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 Phân tích thiết kế hướng đối tượng New or changed system 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ữ Phân tích thiết kế hướng đối tượng Tiến trình phát triển phần mềm  Thu thập phân tích yêu cầu cơng việc khó khăn      Yêu cầu khách hàng thường mô tả khái niệm, đối tượng thuật ngữ khó hiểu với kỹ sư tin học Các yêu cầu khách hàng thường thiếu cấu trúc, thiếu xác, dư thừa, chừng, thiếu quán Các yêu cầu thiếu tính khả thi Do   Các yêu cầu thường khơng hồn chỉnh Bất kỳ tiến trình phát triển thu thập phân tích yêu cầu Các hoạt động SDP kết liên quan hình thành pha tiến trình gọi Phân tích u cầu Phân tích thiết kế hướng đối tượng Phân tích yêu cầu  Khi kết thúc phân tích yêu cầu?   Khơng có quy luật định Để tiến tới bước phát triển phần mềm trả lời câu hỏi sau:   Khách hàng, người sử dụng cuối người phát triển hiểu trọn vẹn hệ thống? Mơ hình hệ thống địi hỏi xây dựng hình thành đầy đủ?      có đầy đủ chức (dịch vụ) có đầy đủ đầu vào- đầu cần loại liệu Chú ý: Chưa mô tả định cài đặt mơ hình Đặc tả u cầu mơ hình hệ thống mức cần phải hiệu chỉnh, bổ sung cần thiết pha phát triển Phân tích thiết kế hướng đối tượng Phân tích yêu cầu  Đặc tả yêu cầu    thông báo thức địi hỏi hệ thống phải phát triển Nó khơng phải tài liệu thiết kế Mô tả đặc tả yêu cầu   Ngôn ngữ đặc tả Ký pháp đồ họa Pha thu thập phân tích u cầu quan trọng Nếu khơng phát lỗi pha khó tốn để phát pha Phân tích thiết kế hướng đối tượng Tích hợp kiểm thử hệ thống    Tổ hợp mođun chương trình thành hệ thống Kiểm thử hệ thống chương trình để đảm bảo đáp ứng đầy đủ yêu cầu Khi người phát triển thỏa mãn với sản phẩm   khách hàng kiểm thử hệ thống Pha kết thúc khách hàng chấp nhận sản phẩm Phân tích thiết kế hướng đối tượng Bảo trì hệ thống    Pha bắt đầu hệ thống cài đặt sử dụng thực tế, sau cấp phát sản phẩm cho khách hàng Bảo trì bao gồm thay đổi sản phẩm để khách hàng đồng ý họ thỏa mãn với sản phẩm Bảo trì bao gồm  sửa phần mềm   nâng cấp phần mềm    loại bỏ lỗi mà khơng phát pha trước Hiệu năng: Bổ sung chức năng, tăng tốc độ thực chương trình Thích nghi: Các thay đổi cho phù hợp với môi trường phần mềm hoạt động thay đổi, thí dụ yêu cầu phủ Thời gian trung bình:  sửa lỗi 17,5%, hiệu 60%, thích nghi 18% Phân tích thiết kế hướng đối tượng Phát triển tiến hóa  Vấn đề mơ hình thác nước    Một vài dự án phát triển phần mềm khó phân hoạch thành giai đoạn khác phân tích yêu cầu, thiết kế Đơi khó khăn việc hình thành đặc tả chi tiết yêu cầu Tiến trình phát triển tiến hóa (Evolutionary Development)     Dựa ý tưởng phát triển mã trình khởi đầu Thu thập ý kiến người sử dụng Làm mịn dần thông qua nhiều phiên có hệ thống hồn chỉnh Cho phép phát triển đồng thời hoạt động phát triển phần mềm Phân tích thiết kế hướng đối tượng Phát triển tiến hóa  Các kỹ thuật sử dụng phát triển tiến hóa  Lập trình thăm dị (Exploratory programming)     Làm việc khách hàng để thăm dò yêu cầu họ dãi bày hệ thống cuối Phát triển phần hệ thống hiểu rõ ràng Hệ thống tiến hóa bổ sung đặc trưng khách hàng đề xuất Prototyping (a standard or typical example)   Mục đích để hiểu yêu cầu khách hàng Prototype tập trung vào thực nghiệm phần yêu cầu khách hàng mà chưa hiểu rõ Phân tích thiết kế hướng đối tượng Phát triển tiến hóa  Vấn đề hoạt động phát triển tiến trình  Tiến trình khơng rõ ràng   Hệ thống khơng có cấu trúc tốt   Thay đổi liên tục kéo theo việc phá hỏng cấu trúc hệ thống Không luôn khả thi     Rất khó hình thành tài liệu phản ảnh phiên hệ thống Với hệ thống lớn: việc thay đổi phiên cuối thường khó khăn khơng u cầu mới, đòi hỏi đòi hỏi người phát triển bắt đầu lại toàn dự án Prototyping thường xuyên tốn Tiến hóa phần mềm khó khăn đắt Phân tích thiết kế hướng đối tượng Phát triển phần mềm theo OO Higher technical complexity - Embedded, real-time, distributed, fault-tolerant - Custom, unprecedented, architecture reengineering - High performance An average software project: - 5-10 people - 10-15 month duration - 3-5 external interfaces - Some unknowns & risks Lower management complexity - Commercial Embedded Compiler Automotive Software CASE Tool Small Scientific Small scale Simulation Informal IS Application Single stakeholder Distributed Objects “Products” (Order Entry) Business Spreadsheet IS Application GUI/RDB (Order Entry) Telecom Switch Defense Weapon System National Air Traffic Control System Large-Scale Organization/Entity Simulation Enterprise IS (Family of IS Applications) Defense MIS System Lower technical complexity - Mostly 4GL, or component-based - Application reengineering - Interactive performance Phân tích thiết kế hướng đối tượng Higher management complexity - Large scale Contractual Many stakeholders “Projects” [Grady Booch] Tính phức tạp cố hữu phần mềm  Chúng ta giai đoạn “khủng hoảng” phần mềm   Do 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 Khó khăn quản lý tiến trình phát triển Vấn đề xác định đặc điểm hành vi hệ thống Phân tích thiết kế hướng đối tượng 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ế chức top-down (thiết kế kiến trúc)    Bị ảnh hưởng bới ngôn ngữ lập trình ALGOL, Pascal, C Các hàm hệ thống phần mềm xem tiêu chí sở phân dã Tách chức khỏi liệu    Chức có hành vi Dữ liệu chứa thơng tin bị chức tác động Phân tách top-down chia hệ thống thành hàm để chuyển sang mã trình, liệu gửi chúng Main function F1 F 1.1 F2 F 1.2 F 2.1 Phân tích thiết kế hướng đối tượng F 2.2 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 Bất tiện cho xây dựng hệ thống tác nghiệp  yêu cầu hệ thống thay đổi theo thời gian Phân tích thiết kế hướng đối tượng 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ì     Tiến trình phát triển khơng ổn định    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 cấu trúc liệu kéo theo thay đổi hàm liên quan Thay đổi yêu cầu kéo theo thay đổi chức Rất khó bảo tồ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, Eiffel Phân tích thiết kế hướng đối tượng 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 hành vi mức cao Các tính chất đối tượng  Đối tượng    Đố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   vậy, liệu hàm gói đối tượng Chức hệ thố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ế) 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 Phân tích thiết kế hướng đối tượng Phương pháp hướng đối tượng Phân tích thiết kế hướng đối tượng Phương pháp hướng đối tượng    Tiệm cận hướng đối tượng tập trung vào thông tin hành vi Cho khả xây dựng hệ thống mềm dẻo, “co dãn” Phương pháp dựa ngun tắc sau    Tính gói Kế thừa Đa trị Lake Model Natural Model Phân tích thiết kế hướng đối tượng Ngơn ngữ lập trình Fortran Algol LISP Cobol 1960 PL/1 Simula 1970 Smalltalk-72 Prolog Smalltalk-74 Pascal Smalltalk-76 C 1980 Ada Smalltalk-78 Objective C Loops Smalltalk-80 C++ ObjectPascal CLOS Eiffel 1990 Ada ObjectCobol Java Hướng đối tượng Khơng hướng đối tượng Phân tích thiết kế hướng đối tượng (B Oesterich) Các lặp luồng công việc Phases Core Workflows Inception Elaboration Construction Transition Yêu cầu An iteration in the elaboration phase Phân tích Thiết kế Thực Kiểm tra P r e li m i n a r y I te r a t i o n ( s ) ite r #1 ite r #2 ite r #n ite r #n +1 Ite r a ti o n s Phân tích thiết kế hướng đối tượng ite r # n +2 it e r #m ite r # m +1 ... chứa thông tin bị chức tác động Phân tách top-down chia hệ thống thành hàm để chuyển sang mã trình, liệu gửi chúng Main function F1 F 1.1 F2 F 1 .2 F 2. 1 Phân tích thiết kế hướng đối tượng F 2. 2... Thiết kế hệ thống  Sau có đặc tả yêu cầu, hai tiến trình thiết kế hệ thống  Thiết kế kiến trúc (logíc)    Thiết kế chi tiết (vật lý)    Phân hoạch yêu cầu thành thành phần Tài liệu thiết kế. .. thành chức hệ thống Thiết kế thành phần Tài liệu thiết kế chi tiết mô tả thành phần hệ thống phải làm cần làm Các hoạt động thiết kế Hệ thống cốt lõi cụ thể phụ thuộc cài đặt Mơ hình hệ thống Đặc

Ngày đăng: 18/12/2017, 11:42

TỪ KHÓA LIÊN QUAN

w