Bài giảng Nhập môn Công nghệ phần mềm: Chương 12 sau đây sẽ trang bị cho các bạn những kiến thức về hiện thực hướng đối tượng với những nội dung như công việc ở bước hiện thực, các artifacts cần tạo ra trong hiện thực, các workers tham gia trong hiện thực, Stub, hệ thống con, Build, qui trình hiện thực.
Chương 12 Hiện thực hướng ₫ối tượng 12.1 Nội dung công việc bước thực 12.2 Các artifacts cần tạo thực 12.3 Các workers tham gia thực 12.4 Stub 12.5 Hệ thống 12.6 Build 12.7 Qui trình thực 12.8 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập mơn Cơng nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.1 Nội dung công việc bước thực Kế hoạch bước tích hợp hệ thống phần mềm theo chế tăng dần (hệ thống ₫ược thực chuỗi bước nhỏ dễ quản lý) Phân tán hệ thống phần mềm cách ánh xạ thành phần khả thi nút mơ hình triển khai (dựa chủ yếu vào class chủ ₫ộng) Hiện thực class hệ thống thiết kế Kiểm tra ₫ơn vị thành phần, tích hợp chúng vào 1hay nhiều file khả thi trước gởi ₫i kiểm tra tích hợp kiểm tra hệ thống Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.2 Các artifacts cần tạo thực Mơ hình thực = hệ thống thực : Các hệ thống thực Các component (executable, file, library, table, document, ) Các interface hệ thống component Kế hoạch tích hợp “build” Đặc tả kiến trúc (view of Implementation model) Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 12.2 Các artifacts cần tạo thực Implementation Model Implementation System Component Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Implementation Subsystem Interface Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.3 Các workers tham gia thực Imple Model Architect System Integrator Component Engineer chịu trach nhi m v ̀ chịu trach nhi m v ̀ chịu trach nhi m v ̀ Deployment Architecture Description Model Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Integration Build Plan Component Imple Subsystem Interface Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.4 Stub Stub thành phần mà phần thực mức ₫ộ “template” ₫ể phát triển kiểm thử thành phần khác phụ thuộc vào stub Mức ₫ộ thực stub : Null = {} Chỉ trả giá trị ₫iển hình Chỉ thực sơ lược hoạt ₫ộng thiết yếu Chỉ dùng thuật giải ₫ơn giản nhất… Stub tối thiểu số thành phần cần thực cho version hệ thống phần mềm, nhờ ₫ó ₫ơn giản hóa việc tích hợp kiểm tra tích hợp Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.5 Hệ thống Hệ thống ₫ược tạo chế ₫óng gói mơi trường thực : Thư mục file C++ Package Java Assembly C# Hệ thống ₫ược dùng lại nhiều phần mềm khác Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập mơn Cơng nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.6 Build Phần mềm ₫ược thực theo chế tăng dần theo bước nhỏ dễ quản lý, bước ta xây dựng “Build” Build version khả thi hệ thống phần mềm, cung cấp số tính (thường chưa hồn chỉnh) phần mềm Lợi ích cách thực theo build : Có thể tạo version khả thi (thay phải ₫ợi lâu), giúp kiểm thử tích hợp diễn sớm ₫ể demo cho thành viên nhóm hay người có liên quan xem Dễ dàng phát lỗi hay ₫iểm yếu lần có phần nhỏ ₫ược thêm vào build cũ Kiểm tra tích hợp thường nhanh kiểm tra tồn hệ thống phần mềm Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12.6 Build Kế hoạch xây dựng build miêu tả trình tự cụ thể việc xây dựng build cho bước lặp, ứng với build, kế hoạch miêu tả : Chức kỳ vọng ₫ược thực build gì, ₫ây danh sách use-case và/hoặc số kích chúng Danh sách yêu cầu phụ kèm theo Các phần mơ hình thực bị tác ₫ộng build, ₫ây danh sách hệ thống thành phần ₫ược ₫òi hỏi ₫ể thực chức kỳ vọng build Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 12.7 Qui trình thực Architect Architectural Implementation System Integrator Component Engineer Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Integrate System Implement a Subsystem Implement a Class Perform Unit Test Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 10 12.7 Qui trình thực Hiện thực kiến trúc : Mục ₫ích thực kiến trúc phát họa mơ hình thực kiến trúc cách : Nhận dạng thành phần có ý nghĩa kiến trúc thành phần khả thi (exe) Ánh xạ thành phần tới nút cấu hình mạng liên quan : class chủ ₫ộng ₫ược thực thành phần khả thi trở thành process chạy nút cụ thể… Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 11 12.7 Qui trình thực Tích hợp hệ thống : Mục ₫ích tích hợp hệ thống : Tạo kế hoạch tích hợp build, miêu tả build bước lặp yêu cầu build Tích hợp build trước kiểm thử tích hợp Một vài tiêu chuẩn cho build : Build nên thêm số chức vào build trước cách thực hoàn chỉnh use-case ₫ang thực dang dở Build không nên bao gồm nhiều thành phần hay ₫ược tinh chế Dùng chế nới rộng từ lên ₫ể phát triển build Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12 12.7 Qui trình thực Tích hợp hệ thống : Mục ₫ích tích hợp hệ thống : Tạo kế hoạch tích hợp build, miêu tả build bước lặp yêu cầu build Tích hợp build trước kiểm thử tích hợp Một vài tiêu chuẩn cho build : Build nên thêm số chức vào build trước cách thực hoàn chỉnh use-case ₫ang thực dang dở Build không nên bao gồm nhiều thành phần hay ₫ược tinh chế Dùng chế nới rộng từ lên ₫ể phát triển build Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 13 12.7 Qui trình thực Hiện thực hệ thống : Mục ₫ích thực hệ thống ₫ảm bảo hồn thành vai trị build : Mỗi class hệ thống thiết kế cần cho build nên ₫ược thực thành phần hệ thống thực tương ứng Mỗi interface hệ thống thiết kế cần cho build nên ₫ược cung cấp hệ thống thực tương ứng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập mơn Cơng nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 14 12.7 Qui trình thực Hiện thực class : Mục ₫ích thực class thực class thiết kế thành file thành phần tương ứng, gồm công việc sau : Phát họa file thành phần chứa source code class file chứa nhiều class, ₫ể dễ quản lý sử dụng, file nên chứa class Tạo source code từ class thiết kế mối quan hệ mà class tham gia (dùng kỹ thuật round-trip tiện ích CASE) Hiện thực tác vụ class thiết kế dạng method Đảm bảo class thực cung cấp ₫úng interface class thiết kế Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 15 12.7 Qui trình thực Khả tái sử dụng : Khả tái sử dụng tác vụ hay class phụ thuộc vào yêu tố sau ₫ây : Độ kết dính cao : nên thực chức rõ ràng, ₫ủ nhỏ Độ thống cao : nên dùng danh sách tham số cho tác vụ có ý nghĩa sử dụng giống Tách biệt tác vụ thực thi tác vụ chiến lược Độ mở rộng cao : khái quát hóa kiểu tham số, số tham số Tránh truy xuất liệu toàn cục Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 16 12.8 Kiểm thử ₫ơn vị Mục ₫ích kiểm thử chức ₫ơn vị (tác vụ) ₫ược thực cách riêng lẻ Có loại kiểm tra ₫ơn vị : Kiểm thử hộp trắng (white-box testing) : kiểm thử chi tiết thực bên ₫ơn vị Ta dùng kỹ thuật kiểm thử luồng ₫iều khiển kiểm thử ₫ời sống biến liệu Kiểm thử hộp ₫en (black-box testing) : kiểm thử hành vi ₫ơn vị theo góc nhìn sử dụng từ ngồi, khơng biết thực bên Ta dùng kỹ thuật kiểm thử dựa vào lớp tương ₫ương, dựa vào giá trị biên, dựa vào vùng miền, dựa vào bảng ₫ịnh, dựa vào chuyển trạng thái, dựa vào use-case… Kiểm thử ₫ơn vị chức hoạt ₫ộng thực, workflow kiểm thử tiếp tục mức ₫ộ kiểm thử khác kiểm thử tích hợp, kiểm thử chức năng, kiểm thử hệ thống… Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 17 12.9 Kết chương Chương ₫ã giới thiệu thông tin workflow thực phần mềm Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơn : Nhập mơn Cơng nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 18 ... Implementation model) Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp. HCM © 2010 12. 2 Các artifacts cần... phần mềm khác Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp. HCM © 2010 Mơn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng ₫ối tượng Slide 12. 6 Build Phần mềm ₫ược... ₫ộng ₫ược thực thành phần khả thi trở thành process chạy nút cụ thể… Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp. HCM © 2010 Môn : Nhập môn Công nghệ phần mềm Chương 12 : Viết code hướng