Trong quá trình thiết kế, ta đã chuẩn bị đầy đủ kiến trúc hệ thống cùng những thành phần thiết kế để từ đó có thể hiện thực được hệ thống dưới dạng các thành phần như mã [r]
(1)CÔNG NGHỆ PHẦN MỀM
TÁC VỤ XÂY DỰNG CHƢƠNG TRÌNH
Bài 6:
Thời gian: tiết
Giảng viên: ThS Dƣơng Thành Phết Email: phetcm@gmail.com
Website: http://www.thayphet.net Tel: 0918158670
(2)2
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
NỘI DUNG
1.Tổng quan
2.Mơi trường lập trình 3 Phong cách lập trình
(3)CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
6.1 TỔNG QUAN
Trong trình thiết kế, ta chuẩn bị đầy đủ kiến trúc hệ thống thành phần thiết kế để từ thực hệ thống dạng thành phần mã nguồn, kịch bản, tập tin nhị phân, tập tin thực thi, thư viện, bảng, liệu …
Hơn nữa, việc xây dựng chương trình có chất lượng tốt phản ánh định thiết kế (Xem thêm Phụ lục C – Phần D)
Mục tiêu bước xây dựng chương trình bổ sung thêm thành phần giúp kiến trúc hệ thống trở thành khối hoàn chỉnh, cụ thể là:
(4)4
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.1 TỔNG QUAN
Triển khai hệ thống cách ánh xạ thành phần thực thi vào nút mơ hình triển khai Cơng việc chủ yếu dựa vào lớp động tìm thấy trình thiết kế
Xây dựng lớp thiết kế hệ thống tìm được trình thiết kế Đặc biệt, lớp thiết kế xây dựng thành thành phần dạng tập tin mã nguồn
(5)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.1 TỔNG QUAN
Việc xây dựng chương trình cần theo tiêu chí sau:
Cấu trúc chương trình, CTDL định nghĩa chọn lựa thiết lập suốt trình thiết kế thủ tục cần tổ chức tốt để dễ dàng nhận biết trình xây dựng chương trình,
Mức trừu tượng thiết kế lớp đối tượng, mơ-đun, thuật tốn, cấu trúc liệu, kiểu liệu phải linh động trình thực hiện,
Giao diện thành phần hệ thống phần mềm mô tả rõ ràng thực hiện,
(6)6
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.1 TỔNG QUAN
(7)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
(8)8
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.2 MÔI TRƢỜNG LẬP TRÌNH
Việc chọn lựa “đúng” ngơn ngữ lập trình cho q trình thực hóa vấn đề quan trọng quy trình lập trình
Mức lý tưởng, việc thiết kế nên thực độc lập tránh liên quan đến dạng ngôn ngữ dùng thực sau đó, nhằm tạo thiết kế thực ngơn ngữ lập trình
(9)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.2.1 TIÊU CHÍ VỀ CHẤT LƢỢNG CỦA NNLT
(10)10
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.2.2 TIÊU CHÍ VỀ KHẢ NĂNG MƠ-ĐUN HĨA CỦA NNLT
Tiêu chí nhấn mạnh khả mơ-đun hóa, tức mức độ hỗ trợ việc phân chia chương trình thành thành phần độc lập nhỏ
Việc phác thảo chương trình lớn thành nhiều mô-đun điều kiện tiên để thực thi dự án phần mềm
Khơng có khả mơ-đun hóa việc phân chia cơng việc giai đoạn thực trở nên không khả thi
Những chương trình đơn trở nên khơng thể quản lý chúng khó bảo trì tài liệu kỹ thuật chúng thực với thời gian biên dịch dài
Nếu ngôn ngữ lập trình hỗ trợ phát thảo chương trình thành phần nhỏ, chúng phải đảm bảo thành phần phải hoạt động với
(11)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Tiêu chí nhấn mạnh khả đọc bảo trì chương trình thơng qua tài liệu kỹ thuật
Điều quan trọng chương trình lớn hay phần mềm mà khách hàng tiếp tục phát triển
Tài liệu kỹ thuật chương trình mang lại giá trị cao kết đạt hành chương trình đó, tài liệu kỹ thuật tham khảo nhiều lần khai thác triệt để nhằm phục vụ trình bảo trì nâng cấp cho chương trình
Hơn nữa, nhiều ngôn ngữ mở rộng với nhiều chức chuyên biệt, thiếu tài liệu kỹ thuật, ta khó hiểu tất chi tiết bên chương trình nên dẫn đến việc hiểu hay giải thích sai ý tưởng chúng
(12)12
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Khi thực hóa chương trình, liệu phức tạp cần xử lý hoàn chỉnh
Khả (của ngơn ngữ lập trình) sẵn sàng hỗ trợ thực cấu trúc liệu đóng vai trị quan trọng q trình thực chương trình
Ví dụ: họ ngơn ngữ C cho phép khai báo trỏ cấu trúc liệu, điều cho phép cấu trúc liệu phức tạp, phạm vi cấu trúc chúng thay đổi thời điểm thực thi, nhiên không nghiêm ngặt truy xuất (khi so sánh với Java)
(13)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Trong dự án lớn với nhiều nhóm dự án, liệu trừu tượng vấn đề trọng tâm mang ý nghĩa cụ thể
Ngơn ngữ lập trình hướng đối tượng có đặc trưng mở rộng loại kiểu liệu trừu tượng, nhằm cho phép thực hoá hệ thống phần mềm phức tạp
Đối với giải pháp mở rộng uyển chuyển, ngôn ngữ lập trình hướng đối tượng cung cấp tuỳ chọn đặc biệt tốt ngơn ngữ lập trình thơng thường khác
(14)14
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.2.5 VÍ DỤ
Ví dụ: Xét phần mềm quản lý thư viện:
Ngơn ngữ lập trình chọn: VB/ C++ / C# hay Java …
Hê QT CSDL: MS Access / SQL Server/Oracle …
Hệ thống lớp đối tượng: tạo lập lớp đối tượng (THU_VIEN, DOC_GIA, SACH) theo mô tả phần thiết kế môi trường cụ thể
Hệ thống giao diện: Tạo giao diện (màn hình chính, hình lập thẻ, …) theo mô tả phần thiết kế môi trường cụ thể đó,
(15)CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3 PHONG CÁCH LẬP TRÌNH
Sau thực kiểm tra chương trình, hệ thống phần mềm sử dụng thời gian dài mà sửa đổi hay điều chỉnh
Điều thực yêu cầu phần mềm cập nhật mở rộng (sau hồn chỉnh sản phẩm hay suốt q trình thực thao tác), ta thường khó phát lỗi hay thiếu sót phát sinh
Vì vậy, giai đoạn thực phần mềm chắn phải sửa đổi mở rộng, đòi hỏi lặp lại việc đọc hiểu chương trình nguồn nhiều lần
(16)16
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3 PHONG CÁCH LẬP TRÌNH
Tuy nhiên, chương trình nguồn dạng tài liệu phản ánh trạng thực thi
Khả “đọc được” chương trình (tức ta đọc hiểu mã nguồn chương trình đó) phụ thuộc vào ngơn ngữ lập trình dùng phong cách lập trình người thực
Việc viết chương trình để đọc tiến trình sáng tạo
Phong cách lập trình người thực ánh hưởng đến khả đọc chương trình ngơn ngữ lập trình sử dụng
(17)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.1 TÍNH CẤU TRÚC
Tính chất thể việc:
Phân rã hệ thống phần mềm dựa độ phức tạp thơng qua mức trừu tượng thành phần, tạo cấu trúc chương trình lớn,
(18)18
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.2 ƢU ĐIỂM CỦA DIỄN ĐẠT
Quy trình thực hệ thống phần mềm bao gồm việc đặt tên đối tượng mô tả công việc thực thi đối tượng
(19)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.2 ƢU ĐIỂM CỦA DIỄN ĐẠT
Một số đề nghị
Với hệ thống, ta gán tên dựa ngơn ngữ (ví dụ đừng dùng lẫn lộn tiếng Anh tiếng Việt)
Nếu dùng chữ viết tắt, ta nên sử dụng tên đặt để giúp người đọc chương trình hiểu mà khơng cần giải thích Việc sử dụng từ viết tắt bao gồm ngữ cảnh
Dùng chữ hoa chữ thường để phân biệt loại định nghĩa khác (như chữ hoa cho kiểu liệu, lớp, mô-đun, chữ thường cho biến), đặt tên dài để dễ hiểu (như CheckInputValue)
(20)20
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.2 ƢU ĐIỂM CỦA DIỄN ĐẠT
Ghi rõ ràng đầy đủ diễn giải sử dụng, nhằm đóng góp cho khả đọc chương trình
(21)CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.2 ƢU ĐIỂM CỦA DIỄN ĐẠT Một số luật cho cách tạo ghi
Mỗi thành phần hệ thống (mô-đun hay lớp) nên bắt đầu với ghi chi tiết để cung cấp cho người đọc thông tin liên quan đến thành phần hệ thống như:
Thành phần làm gì?
Thành phần sử dụng ngữ cảnh gì?
Những phương thức đặc biệt sử dụng
Ai tác giả thành phần này?
Thành phần viết nào?
(22)22
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.2 ƢU ĐIỂM CỦA DIỄN ĐẠT
Mỗi thủ tục phương thức nên cung cấp ghi mô tả công việc Điều cần đặc biệt phần mềm cho phần đặc tả giao diện
Ghi để giải thích ý nghĩa biến
Gán nhãn ghi cho thành phần có tác nhiệm riêng
(23)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.2 ƢU ĐIỂM CỦA DIỄN ĐẠT
Phản ánh ghi cập nhật thay đổi chương trình liên quan phần khai báo khối lệnh thành phần
Việc tuân thủ luật cần cân nhắc khơng có luật áp dụng đồng cho tất hệ thống phần mềm phạm vi phần mềm Việc tạo ghi cho hệ thống phần mềm nghệ thuật giống phần thiết kế cài đặt hệ thống phần mềm
(24)24
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.3.3 CÁCH THỨC TRÌNH BÀY BÊN NGỒI
Một số luật cho hình thức trình bày chương trình:
Mỗi thành phần chương trình, khai báo (kiểu liệu, biến …) nên tách biệt phần khối lệnh
Phần khai báo nên có cấu trúc đồng thứ tự sau: hằng, kiểu liệu, lớp, mô-đun, phương thức thủ tục
Mô tả giao diện (danh sách tham số cho phương thức thủ tục) nên tách tham số nhập liệu, kết xuất nhập/xuất
Phần ghi chương trình nguồn nên tách biệt
(25)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4 ĐÁNH GIÁ CHẤT LƢỢNG CÔNG VIỆC
6.4.1 Hiện thực tăng cường
(26)26
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.1 HIỆN THỰC TĂNG CƢỜNG
Ý tưởng việc thực tăng cường gần với việc kết hợp giai đoạn thiết kế thực tách biệt hai giai đoạn này, mơ hình quy trình phát triển cổ điển đề
Phương pháp cho thấy định thiết kế cài đặt có tác động lẫn nhau, ta tách biệt thiết kế rời rạc khơng đạt mục tiêu tăng cao chất lượng công việc
(27)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.1 HIỆN THỰC TĂNG CƢỜNG
Theo đó, tác động qua lại thành phần hệ thống cụ thể – thiết kế hình thức đặc tả giao diện – cần thẩm định
Để làm điều này, thành phần hệ thống (với hành vi xuất/nhập) mơ hay thực tế hóa khn mẫu
Nếu có nghi ngờ liên quan đến tính khả thi thành phần tiến trình thiết kế ngắt thành phần thực
(28)28
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.1 HIỆN THỰC TĂNG CƢỜNG
Hiệu phương pháp phụ thuộc vào việc mở rộng khả tích hợp thành phần hệ thống (được hoàn chỉnh theo chuẩn khác cấp độ khác nhau) toàn hệ thống để thực gần với thực tế
Vài thành phần hệ thống (như giao diện người dùng mơ hình liệu) thể dạng khn mẫu, cịn thành phần khác (thư viện có sẵn, hay tồn thực hoàn chỉnh) thể dạng mã nguồn thực thi, thành phần hệ thống khác có sẵn thể đặc tả giao diện
(29)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.2 ĐÁNH GIÁ LẠI THIẾT KẾ VÀ CHƢƠNG TRÌNH
Việc xem lại (review) thiết kế chương trình giúp ta hồn chỉnh chất lượng hiệu công việc điều chỉnh thay đổi đơn lẻ trình phát triển phần mềm
Trong phần mềm lớn, vấn đề quan trọng nhu cầu xem xét lại yêu cầu, đặc tả, thiết kế, chương trình ta, để từ giúp ta điều chỉnh thiếu sót, luận lý, cấu trúc, tính sáng tỏ
(30)30
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.2 ĐÁNH GIÁ LẠI THIẾT KẾ VÀ CHƢƠNG TRÌNH
Mục đích việc xem lại để đảm bảo chương trình tạo đạt chất lượng cao
Một số dạng xem lại thao tác kiểm duyệt, duyệt qua, xem xét mục riêng từ thiết dịng lệnh
(31)CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.2 ĐÁNH GIÁ LẠI THIẾT KẾ VÀ CHƢƠNG TRÌNH
Trong thực tế, nhiều dự án phần mềm triển khai đến tận giai đoạn kiểm thử thiếu công tác xem lại, điều không thực hiệu
Xem lại thiết kế chương trình cách thức hiệu để tìm sửa chữa thiếu sót
(32)32
CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
6.4.2 ĐÁNH GIÁ LẠI THIẾT KẾ VÀ CHƢƠNG TRÌNH
Cơng việc xem lại cho phép ta quay trở lại việc làm trước chương trình
Nhóm phát triển nên đọc lại thiết kế chương trình, nghiên cứu để hiểu chúng tường tận nhằm sửa sai sót luận lý, cấu trúc hay tính rõ ràng,
(33)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.5 VÍ DỤ MINH HOẠ
Ví dụ: Xét phần mềm hỗ trợ giải tập phương trình đại số với yêu cầu Soạn đề bài, Soạn đáp án, Giải tập, Chấm điểm Các giai đoạn thực quy trình bao gồm:
Giai đoạn 1: Xác định yêu cầu
Yêu cầu 1: Soạn đề với mô tả quy tắc
Yêu cầu 2: Soạn đáp án với mô tả, quy tắc
Yêu cầu 3: Giải tập với mô tả, quy tắc biểu mẫu
Yêu cầu 4: Chấm điểm với mô tả, quy tắc
(34)34
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
6.5 VÍ DỤ MINH HOẠ
Giai đoạn 5: Thực phần mềm
Hệ thống Lớp đối tượng: Tạo lớp đối tượng SACH_BAI_TAP, BAI_TAP theo mô tả thiết kế môi trường cụ thể (VB, C#, Java)
Hệ thống giao diện: tạo (vẽ) giao diện (màn hình chính, hình soạn đề bài, hình soạn đáp án, hình giải tập, hình chấm điểm) theo mơ tả thiết kế môi trường cụ thể (VB, C#, Java),
Hệ thống lưu trữ: tạo cấu trúc sở liệu (các bảng SACH_BAI_TAP, BAI_TAP, BAI_GIAI, BUOC_GIAI) theo mô tả phần thiết kế mơi trường cụ thể (MS Access / SQL Server, Oracle …)
(35)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
TÓM TẮT
Các kiến thức về:
Mơi trường lập trình tiêu chí ngơn ngữ lập trình (Chất lượng, Khả mơ-đun hóa, Giá trị tài liệu kỹ thuật, Cấu trúc liệu)
Phong cách lập trình vấn đề liên quan (Tính cấu trúc, Ưu điểm diễn đạt, Cách thức trình bày bên ngồi)
(36)36
CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
36
BÀI TẬP