intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM- Chương 3: Xây dựng phần mềm

Chia sẻ: Cao Tuấn | Ngày: | Loại File: PDF | Số trang:71

146
lượt xem
27
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Khái niệm Xây dựng phần mềm Khái niệm: • “The term software construction refers to the detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging” (IEEE) Mối liên hệ với các giai đoạn khác: Có liên quan mật thiết đến gian đoạn thiết kế (SD) và giai đoạn kiểm thử (ST) phần mềm Đầu ra của giai đoạn thiết kế là đầu vào của giai đoạn này Đầu ra của giai đoạn này là đầu vào của giai đoạn kiểm thử...

Chủ đề:
Lưu

Nội dung Text: THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM- Chương 3: Xây dựng phần mềm

  1. THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM (SOFTWARE DESIGN AND CONSTRUCTION) Năm học 2008-2009 Giảng viên: PGS.Huỳnh Quyết Thắng BM Công nghệ phần mềm Khoa CNTT, ĐHBK HN 1
  2. Chương 3. Xây dựng phần mềm (Software construction) 1. Xây dựng phần mềm 2. Thiết kế thành phần phần mềm 3. Thiết kế chi tiết 4. Thiết kế chương trình 5. Câu hỏi, bài tập, tài liệu tham khảo 2
  3. 3.1.Khái niệm Xây dựng phần mềm Khái niệm: • “The term software construction refers to the detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging” (IEEE) Mối liên hệ với các giai đoạn khác • Có liên quan mật thiết đến gian đoạn thiết kế (SD) và giai đoạn kiểm thử (ST) phần mềm • Đầu ra của giai đoạn thiết kế là đầu vào của giai đoạn này • Đầu ra của giai đoạn này là đầu vào của giai đoạn kiểm thử
  4. 3.2. Thiết kế thành phần phần mềm Component-based software engineering (CBSE) is an approach to software development that relies on reuse It emerged from the failure of object-oriented development to support effective reuse. Single object classes are too detailed and specific Components are more abstract than object classes and can be considered to be stand- alone service providers
  5. 3.2. Thiết kế thành phần phần mềm Components provide a service without regard to where the component is executing or its programming language • A component is an independent executable entity that can be made up of one or more executable objects • The component interface is published and all interactions are through the published interface Components can range in size from simple functions to entire application systems
  6. Component interfaces Requires interface Component Provides interface
  7. Component interfaces Provides interface • Defines the services that are provided by the component to other components Requires interface • Defines the services that specifies what services must be made available for the component to execute as specified
  8. Printing services component Requires interface PrintService Provides interface GetPDfile Print GetQueue PrinterInt Remove Transfer Register Unregister
  9. Component abstractions Functional abstraction • The component implements a single function such as a mathematical function Casual groupings • The component is a collection of loosely related entities that might be data declarations, functions, etc. Data abstractions • The component represents a data abstraction or class in an object-oriented language Cluster abstractions • The component is a group of related classes that work together System abstraction • The component is an entire self-contained system
  10. CBSE processes Component-based development can be integrated into a standard software process by incorporating a reuse activity in the process However, in reuse-driven development, the system requirements are modified to reflect the components that are available CBSE usually involves a prototyping or an incremental development process with components being ‘glued together’ using a scripting language
  11. An opportunistic reuse process Design Search for Incorporate Specify system reusable discovered components aachitecture components components
  12. Development with reuse Modify requirements Outline Search for according to system reusable discovered requirements components components Specify system Search for components Architectural reusable based on reusable design components components
  13. CBSE problems Component incompatibilities may mean that cost and schedule savings are less then expected Finding and understanding components Managing evolution as requirements change in situations where it may be impossible to change the system components
  14. 3.3. Thiết kế chi tiết Là thiết kế cho các phần không thấy được. Nó là thiết kế khi được nhìn theo quan điểm của chuyên gia máy tính hay người phát triển hệ thống. Đối lập với thiết kế ngoài: Hệ thống được thiết kế theo quan điểm người dùng. Mục đích: • Xác định các chức năng mà phần mềm cần phải thực hiện theo quan điểm người phát triển. • Đảm bảo sự độc lập của từng pha sao cho pha nọ có thể được phân biệt rõ ràng bởi pha kia.
  15. 3.3. Thiết kế chi tiết Đặc điểm của thiết kế trong • Minimal complexity (clever design) • Ease of maintenance (think in maintenance side) • Loose coupling (abt cls, int cls) • Extensibility • Reusability • Portability • Leanness • Stratification • Standard techniques
  16. 3.3. Thiết kế chi tiết Quy trình Hiểu tài liệu thiết kế ngoài Phân hoạch và cấu trúc chức năng Thiết kế dữ liệu vật lý Thiết kế vào/ra chi tiết Reuse Tạo tài liệu thiết kế chi tiết Xét duyệt tài liệu
  17. 3.3. Thiết kế chi tiết 3.3.1. Hiểu tài liệu thiết kế ngoài • Kết quả của pha trước phải được hiểu rõ trong pha này theo tổng thể của hệ thống • Bao gồm: • Luồng hệ thống -> phân chia hệ con • Bản thiết kế cái vào cái ra -> thiết kế I/O • Bản thiết kế dữ liệu logic -> thiết kế DL Vật lý • Cấu hình và hiệu năng hệ thống
  18. 3.3. Thiết kế chi tiết 3.3.2. Phân hoạch và cấu trúc các chức năng: • Các chức năng được định nghĩa qua việc phát triển các hệ thống con trong giai đoạn thiết kế ngoài phải được xác định và việc thiết kế chương trình cho từng thao tác phải được chuẩn bị • Hai bước: Bước phân hoạch và bước cấu trúc chức năng
  19. 3.3. Thiết kế chi tiết 3.3.2 Phân hoạch và cấu trúc các chức năng (tiếp): • Trong giai đoạn thiết kế ngoài, hệ con được phân hoạch thành các chức năng. Trong giai đoạn thiết kế trong, hệ con được phân hoạch thành các chương trình dựa trên các chức năng của nó. • Thứ tự thực hiện chương trình được xác định để cài đặt các chức năng và để thực hiện các thao tác một cách có hiệu quả.
  20. 3.3. Thiết kế chi tiết Thủ tục phân hoạch & cấu trúc chức năng • Nghiên cứu kỹ các chức năng • Làm rõ luồng dữ liệu • Gộp nhóm chức năng • Thiết lập cấu trúc phân cấp
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2