Danh mục tài liệu

Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 2

Số trang: 139      Loại file: pdf      Dung lượng: 980.55 KB      Lượt xem: 11      Lượt tải: 0    
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mục tiêu của chương 2 Phát triển phần mềm thuộc bài giảng Phát triển vận hành và bảo trì phần mềm trình bày các kiến thức cơ bản như: hoạt động và các nguyên tắc để phát triển phần mềm theo hướng cấu trúc và hướng đối tượng...mời các bạn thma khảo tài liệu này để hiểu sâu hơn về phát triển phần mềm.
Nội dung trích xuất từ tài liệu:
Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 2 CHƯƠNG 2 PHÁT TRIỂN PHẦN MỀMMục đich: Chương này tập trung vào cáchoạt động và các nguyên tắc để pháttriển phần mềm theo hướng cấu trúc vàhướng đối tượng NỘI DUNG2.1 Các hoạt động phát triển p/mềm 2.1.1 Thiết kế phần mềm 2.1.2 Sinh mã – hiện thực, triển khai 2.1.3 Kiểm thử phần mềm2.2 Nghệ thuật gỡ rối 2.2.1 Brute-force (ép buộc) 2.2.2 Loại trừ nguyên nhân 2.2.3 Theo vết2.1 Các hoạt động phát triển p/mềm• Các giai đoạn p/triển gồm: 2.1.1 Thiết kế phần mềm (software design); 2.1.2 Sinh mã (code generation); 2.1.3 Kiểm thử phần mềm (software testing) 2.1.1 Thiết kế phần mềm• Là công việc đầu tiên của giai đoạn ↑• Nhằm tạo ra các biểu diễn và dữ kiện của hệ thống p/mềm cần x/dựng từ kết quả phân tích yêu cầu để có thể dễ dàng thực hiện sau đó• Là lĩnh vực tương đối mới mẻ và đang phát triển với nhiều phương pháp khác nhau 2.1.1 Thiết kế phần mềm2.1.1.1 Cơ sở của thiết kế p/mềm2.1.2.2 Phân chia module hiệu quả2.1.2.3 Các hoạt động thiết kế2.1.2.3 Phương pháp thiết kế cổ điển2.1.2.4 Phương pháp thiết kế hướng đối tượng2.1.1.1 Cơ sở của thiết kế p/mềm• a) Trừu tượng hóa• b) Tinh chế• c) Phân chia moddule• d) Kiến trúc phần mềm• e) Cấu trúc dữ liệu• f) Thủ tục• g) Che dấu thông tin a) Trừu tượng hóa• Quá trình thiết kế trải qua nhiều mức độ trừu tượng hóa khác nhau: – Mức cao nhất: Vần đề cần thiết kế được mô tả một cách tổng quát sử dụng thuật ngữ hướng vấn đề – Mức thấp hơn: Hướng đến thủ tục xử lý chi tiết; kết hợp các thuật ngữ hướng đến hiện thực – Mức thấp nhất: Vấn đề được mô tả theo cách có thể thực hiện trực tiếp a) Trừu tượng hóa• Phân loại giữa trừu tượng hóa thủ tục và dữ liệu * Trừu tượng hóa thủ tục: Là chuỗi các lệnh liên tiếp thực hiện một chức năng nào đó. Ví dụ: - Mở cửa bao gồm: đi đến cửa, cầm lấy tay nắm, xoay tay nám, kéo cánh cửa ra - Thêm một phần tử vào danh sách có thứ tự: Xác định vị trí, chèn phần tử mới a) Trừu tượng hóa• * Trừu tượng hóa dữ liệu: Là tổ hợp dữ liệu mô tả một đối tượng dữ liệu• Ví dụ: một đối tượng thực thể là sự trừu tượng hóa của các tính chất và hành vi b) Tinh chế• Tinh chế là quá trình làm rõ vấn đề. Tinh chế và trừu tượng hóa là 2 khái niệm bù trừ nhau thể hiện: Càng tinh chế thì càng hạ thấp mức độ trừu tượng hóa c) Phân chia moddule• p/mềm được thực hiện bằng cách phân chia thành nhiều module, sau đó sẽ được tích hợp lại• Phân chia module làm cho việc quản lý phần mềm khoa học hơn. Thật vậy: – Giả sử C(x) là độ phức tạp của X, E(X) là công sức để thực hiện X. Rõ ràng nếu C(p1)>C(p2) thì E(p1)>E(p2). Nếu phân chia p = p1+p2 ta thấy (một cách trực quan) C(p1+p2) >C (p1)+C(p2)  E(p1+p2)>E(p1) +E(p2) c) Phân chia moddule• Số lượng module phụ thuộc vào độ phức tạp của hệ thống phần mềm cần xây dựng. Quá ít hay quá nhiều module đều không tốt Công sức bỏ ra Vùng tối ưu Công sức tích hợp Công sức từng module Số lượng module d) Kiến trúc phần mềm• Kiến trúc phần mềm mô tả các thành phần kiến tạo nên hệ thống phần mềm và sự giao tiếp giữa các thành phần đó. => Kiến trúc p/m = tập hợp các module/thành phần và quan hệ giữa chúng – Các thành phần/module có thể là: • Các module mã nguồn: hàm/nhóm hàm/lớp • Các file thực thi (*.dll. *.exe; *.class) • Các thành phần của kiến trúc hệ thống: ActiveX control, bean, ... • Các trang html: *.asp, *.jsp – Quan hệ: Sử dụng/gọi/kế thừa, …. d) Kiến trúc phần mềmPhần mềm nhìn từ cấu trúc phân cấp• Cấu trúc phần mềm là cấu trúc phân cấp (hierarchical structure): mức trên là hệ thống (system), dưới là các hệ thống con (subsystems)• Dưới hệ thống con là các chương trình• Dưới chương trình là các Modules hoặc Subroutines với các đối số (arguments) d) Kiến trúc phần mềmPhần mềm nhìn từ cấu trúc phân cấp System Subsystem Master files Subsystem Job unit  Program Tem porary Program Jobstep unit files  Module Module Subroutine Arguments Arguments Member unit Common Module d) Kiến trúc phần mềmPhần mềm nhìn từ cấu trúc và thủ tục• Hai yếu tố cấu thành của phần mềm – Phương diện cấu trúc – Phương diện thủ tục• Cấu trúc phần mềm: biểu thị kiến trúc các chức năng mà ph ...