Bài giảng Nhập môn Công nghệ phần mềm - Chương 12: Hiện thực hướng đối tượng - Nguyễn Văn Hiệp

12.1 Nội dung công việc ở bước hiện thực

‰ Kế hoạch các bước tích hợp hệ thống phần mềm theo cơ chế tăng

dần (hệ thống ₫ược thực hiện như chuỗi các bước nhỏ và dễ quản

lý).

‰ Phân tán hệ thống phần mềm bằng cách ánh xạ các thành phần

khả thi trên các nút trong mô hình triển khai (dựa chủ yếu vào các

class chủ ₫ộng).

‰ Hiện thực các class và hệ thống con thiết kế.

‰ Kiểm tra ₫ơn vị trên các thành phần, tích hợp chúng vào 1hay

nhiều file khả thi trước khi gởi ₫i kiểm tra tích hợp và kiểm tra hệ

thống

pdf 9 trang yennguyen 1420
Bạn đang xem tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 12: Hiện thực hướng đối tượng - Nguyễn Văn Hiệp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn Công nghệ phần mềm - Chương 12: Hiện thực hướng đối tượng - Nguyễn Văn Hiệp

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

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_12_hien_thuc_hu.pdf