LOGO www.themegallery.com
CHƯƠNG 8
CÀI ĐẶT
VÀ VẬN HÀNH HỆ THỐNG
LOGO
NỘI DUNG
KIỂM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH
1
BIÊN SOẠN TÀI LIỆU
2
THAY ĐỔI THÀNH HỆ THỐNG MỚI
3
ĐÁNH GIÁ HỆ THỐNG
4
BẢO TRÌ HỆ THỐNG
5
www.themegallery.com
LOGO
KIỂM THỬ VÀ GỠ LỖI
Định nghĩa - Definition of Testing and Debugging
‘Kiểm thử’ là một quá trình đảm bảo rằng chương trình sẽ thực hiện
được nhiệm vụ được giao
“Gỡ lỗi’ là một quá trình tìm và loại bỏ lỗi chương trình. Các loại lỗi của chương trình - Types of Program Errors
Lỗi cú pháp - Syntax Errors:
Là các lệnh trong chương trình không tuân theo cú pháp của ngôn
ngữ lập trình đó
Ví dụ: C:= 5+4; Lỗi trong C nhưng lại đúng trong Pascal
Lỗi Logic - Logic Errors
Chương trình vẫn được biên dịch và thực hiện thành công nhưng
kết quả không chính xác.
Ví dụ: Thay vì C=5+4; Lại đánh C=5-4;
www.themegallery.com
LOGO
KIỂM THỬ VÀ GỠ LỖI
Kiểm thử chương trình - Testing a Program
Kiểm thử là quá trình chạy chương trình với nhiều mẫu dữ liệu khác nhằm đảm bảo chương trình không có lỗi logic, kết quả luôn luôn chính xác
Dữ liệu được lựa chọn để kiểm thử một chương trình bao
gồm:
Tất cả các dữ liệu nằm trong phạm vi do chương trình qui
định.
Tất cả các loại dữ liệu không hợp lệ (không chính xác, không đầy đủ, hoặc kiểu dữ liệu không thích hợp) với qui định của chương để kiểm tra khả năng xử lý các lỗi của chương trình. Các chương trình tốt sẽ xuất những thông báo lỗi thích hợp thay vì treo chương trình hoặc tạo ra các kết quả vô nghĩa.
www.themegallery.com
LOGO
KIỂM THỬ VÀ GỠ LỖI
Gỡ lỗi lỗi cú pháp cho chương trình - Debugging a
Program for Syntax Errors
Bộ xử lý ngôn ngữ đưa ra các thông báo lỗi của các lệnh trong chương trình cho biết là lỗi gì và đưa ra gợi ý sửa lỗi.
www.themegallery.com
Lỗi cú pháp tương đối dễ dàng phát hiện và dễ sửa lỗi.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Gỡ lỗi logic cho chương trình - Debugging a
Program for Logic Errors
Không giống như các lỗi cú pháp, máy tính không đưa ra
bất kỳ thông báo lỗi nào cho các lỗi logic trong một chương trình. Do vậy lỗi logic khó loại bỏ hơn nhiều so với các lỗi cú pháp.
www.themegallery.com
Lỗi logic chỉ được phát hiện trong quá trình kiểm thử.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Mô phỏng bằng tay mã chương trình Thi hành từng lệnh của chương trình. Người lập trình có thể biết được giá trị của các biến trong từng lệnh, từ đó mới phát hiện lỗi logic của chương trình.
www.themegallery.com
Thực hiện bằng tay một chương trình là một quy trình dài dòng đòi hỏi phải tập trung rất nhiều. Do vậy phương pháp này thường chỉ được sử dụng cho các chương trình đơn giản và nhỏ.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Đưa các lệnh xuất dữ liệu vào trong các đoạn mã của chương
trình
Đưa một vài lệnh xuất dữ liệu tại các điểm thích hợp trong chương trình sao cho các giá trị của các biến khác nhau được in / hiển thị để chỉ ra các kết quả của sự tính toán trung gian.
Chương trình được biên soạn lại và thực hiện với các
câu lệnh.
Một khi các lỗi đã được tìm thấy và sửa chữa, các lệnh
www.themegallery.com
in hay viết này được xóa bỏ từ chương trình.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Sử dụng bộ gỡ lỗi (debugger) Đây là phương pháp tiếp cận được sử dụng phổ biến
nhất.
Bộ gỡ lỗi là một công cụ phần mềm hỗ trợ cho lập trình viên trong việc từng bước thực hiện chương trình để hiển thị các kết quả tính toán trung gian và các vùng giá trị bất cứ khi nào muốn.
www.themegallery.com
Khi sử dụng một bộ gỡ lỗi để gỡ lỗi logic của chương trình, bạn có thể di chuyển, hoặc từ câu lệnh này đến câu lệnh khác hoặc từ một điểm kiểm tra này đến một điểm kiểm tra khác, tạm dừng việc thực hiện của chương trình khi cần thiết để kiểm tra các giá trị cần thiết.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Bộ gỡ lỗi hỗ trợ hai công cụ: 1. Điểm ngắt (Breakpoint): Là một điểm mà bộ gỡ lỗi dừng lại khi thực thi chương trình và đợi lệnh của bạn. Khi dừng lại bạn có thể chỉ thị nó để hiển thị giá trị hiện tại của các tham số cần kiểm tra.
www.themegallery.com
Bạn có thể đặt hoặc gỡ bỏ bất kỳ điểm ngắt nào tại bất kỳ lệnh nào của chương trình. Bạn có thể thiết lập nhiều điểm ngắt.
LOGO
KIỂM THỬ VÀ GỠ LỖI
2. Điểm quan sát (watch point): Bộ gỡ lỗi theo dõi lần vết biến và thời điểm giá trị của
nó thay đổi, dừng lại và cho phép bạn quyền kiểm soát.
www.themegallery.com
Bộ gỡ lỗi sẽ ngừng ngay lập tức sau câu lệnh đã làm cho giá trị của biến thay đổi và sẽ chờ lệnh thêm vào của bạn.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Sử dụng kết xuất bộ nhớ (Memory dump) Thường được sử dụng khi chương trình “bị treo" trong
thời gian chạy thử nghiệm.
Trong phương pháp tiếp cận này, bản sao nội dung
thuộc bộ nhớ chính và bộ đếm được lấy tại thời điểm khi các chương trình bị treo.
Bản sao này được gọi là sự kết xuất bộ nhớ hoặc kết
xuất vùng nhớ.
www.themegallery.com
Danh sách các chỉ thị và dữ liệu kết xuất bộ nhớ được giữ trong bộ nhớ chính của máy tính theo hình thức nguyên mẫu, nghĩa là hình thức nhị phân, thập lục phân hay hệ bát phân.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Sự khác biệt giữa Kiểm thử và gỡ lỗi
Kiểm Thử
Gỡ Lỗi
Thứ Tự
Gỡ lỗi là một quá trình loại bỏ lỗi trong một chương trình. Mục đích là để phát hiện chính xác nguyên nhân và loại bỏ các lỗi được biết trong chương trình.
1 Kiểm thử là một quá trình xác nhận sự đúng đắn của một chương trình. Mục đích là để chứng minh rằng các chương trình thiết kế đáp ứng các chi tiết kỹ thuật.
2 Kiểm thử được hoàn thành khi
tất cả các lệnh đã được thực hiện đúng.
www.themegallery.com
Gỡ lỗi hoàn thành khi tất cả các lỗi được biết trong chương trình đã được chỉnh sửa. Lưu ý quá trình gỡ lỗi kết thúc chỉ tạm thời vì nó phải được khởi động lại bất cứ khi nào một lỗi mới được tìm thấy trong chương trình.
LOGO
KIỂM THỬ VÀ GỠ LỖI
Sự khác biệt giữa Kiểm thử và gỡ lỗi
Kiểm Thử
Gỡ Lỗi
Thứ Tự
3
Kiểm thử là một quá trình đã được định nghĩa và cần được quy hoạch và lập kế hoạch đúng
Gỡ lỗi là một quá trình không thể được lên kế hoạch trước. Nó chỉ được thực hiện khi phát hiện lỗi trong một chương trình
2
Gỡ lỗi chỉ bắt đầu sau khi chương trình được mã hóa.
Kiểm thử có thể bắt đầu trong giai đoạn đầu phát triển phần mềm
www.themegallery.com
LOGO
TÀI LiỆU PHẦN MỀM
Định nghĩa
Tài liệu phần mềm là một quá trình thu thập, tổ chức, lưu trữ các ghi chép về quá trình hoàn thành chương trình.
Một phần mềm không thể được coi là hoàn thành cho
đến khi nó có tài liệu hợp lệ.
Tài liệu phần mềm là một tiến trình không bao giờ kết
thúc trong suốt vòng đời của phần mềm.
Nó phải được thực hiện theo thời gian và khi đó phần
www.themegallery.com
mềm được sửa đổi trong suốt giai đoạn bảo trì
LOGO
TÀI LiỆU PHẦN MỀM
Sự cần thiết của tư liệu phần mềm
1. Giải quyết vấn đề mang tính bắt buộc của một cá nhân
trong một tổ chức.
2. Khả năng bảo trì của phần mềm máy tính. Chìa khóa để bảo trì là tài liệu phần mềm phù hợp và năng động.
www.themegallery.com
3. Hồ sơ tài liệu khá hữu ích trong việc bắt đầu lại một dự án phần mềm đã được hoãn vì một số lý do nào đó.
LOGO
TÀI LiỆU PHẦN MỀM
Các hình thức của tài liệu phần mềm a) Các Chú Thích (Comment) Chúng được sử dụng để giải thích sự logic của
chương trình.
Các chú thích nên được sử dụng một cách thông minh để cải thiện chất lượng và tính chất có thể hiểu được của chương trình.
Các chú thích bị bỏ qua khi biên dịch cũng như khi
www.themegallery.com
thực thi chương trình
LOGO
TÀI LiỆU PHẦN MỀM
www.themegallery.com
Các hình thức của tài liệu phần mềm a) Các Chú Thích (Comment)
LOGO
TÀI LiỆU PHẦN MỀM
b) Sổ tay hệ thống
1. Trình bày rõ mục tiêu của phần mềm và tính hữu dụng của nó vào mục đích khác nhau của người sử dụng.
2. Mô tả rõ các chức năng, hạn chế, hình thức và các dạng của dữ liệu đầu vào sẽ được sử dụng, và kết quả đầu ra cần tìm.
3. Tên cụ thể của chương trình cùng với sự mô tả về mục
đích của chương trình .
www.themegallery.com
4. Biểu đồ chi tiết về hệ thống và biểu đồ của chương trình để tham chiếu đến danh sách tham số, biến của chương trình.
LOGO
TÀI LiỆU PHẦN MỀM
b) Sổ tay hệ thống
5. Mô tả danh sách chương trình, các quá trình tính toán
được thực hiện và kiểm soát các thủ tục.
6. Danh sách mã nguồn của tất cả các chương trình cùng
với thông tin chi tiết về bất kỳ sự thay đổi nào.
7. Mô tả và chỉ rõ tất cả các đầu vào và đầu ra cho các
phương tiện truyền thông.
8. Là mẫu của tất cả các hình thức đầu vào và in ra kết
www.themegallery.com
quả đầu ra.
LOGO
TÀI LiỆU PHẦN MỀM
b) Sổ tay hệ thống
9. Bố trí dạng tập tin, các dạng chi tiết mẫu tin vào và ra.
www.themegallery.com
10. Cấu trúc và mô tả về dữ liệu kiểm thử và kết quả kiểm thử, sự kết xuất vùng nhớ, theo dõi dữ liệu chương trình, dữ liệu in ra từ máy tính,…, được sử dụng để gỡ lỗi các chương trình.
LOGO
TÀI LiỆU PHẦN MỀM
c) Sổ tay người dùng: phải chứa các thông tin sau:
1. Chi tiết cài đặt và hoạt động mỗi chương trình.
2. Nạp và không nạp các thủ tục
3. Bắt đầu, chạy, và chấm dứt các thủ tục.
4. Mô tả và ví dụ các câu lệnh kiểm tra có thể được dùng
5. Tất cả các lệnh giao tiếp cùng với các lỗi và các thông báo giao
tiếp có thể phát sinh, trả lời và hành động thực hiện.
6. Danh sách các điều kiện, lỗi và các giải thích cho việc gọi lại
chúng vào hệ thống.
7. Danh sách các chương trình được thực hiện trước và sau khi thực
hiện của mỗi chương trình
8. Kiểm tra đặc biệt (nếu có) và các biện pháp bảo mật,…
www.themegallery.com
LOGO
TÀI LiỆU PHẦN MỀM
Tiêu chuẩn của tư liệu phần mềm Chi tiết tư liệu phần mềm được thực hiện như thế nào? Làm thế nào để lựa chọn tên biến cho chương trình? Làm thế nào để thiết kế giao diện cho người sử dụng
phần mềm?
www.themegallery.com
Làm thế nào để trình bày chi tiết các chú thích trong mã chương trình, sơ đồ, biểu đồ, báo cáo, kết quả đầu ra?
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
1. Hoạt động thay đổi
Phổ biến hệ thống và đào tạo người sử dụng cho các thành viên
của tổ chức, trong đó hệ thống mới được triển khai.
Thay thế tất cả các thủ tục hoạt động cũ bằng những cái mới.
Thay thế tất cả các thiết bị đầu vào và đầu ra bằng những thứ của
hệ thống mới.
Xác định vai trò của từng thành viên và giao trách nhiệm cho họ
theo các yêu cầu của hệ thống mới.
Chuyển đổi dữ liệu trên tất cả tập tin đang tồn tại thành một hình
thức mà hệ thống mới chấp nhận được.
Mâu thuẫn giữa các tập tin hay bất kỳ lỗi nào trong tập tin hiện tại
cũng phải được phát hiện và loại bỏ.
www.themegallery.com
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
www.themegallery.com
2. Phương thức thay đổi: gồm 3 phương thức Chuyển đổi trực tiếp (Immediate Changeover) Chạy song song (Parallel Run) Chuyển đổi từng giai đoạn (Phased Conversion)
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chuyển đổi trực tiếp (Immediate Changeover) Là giới hạn ngày với quyết định và sự hoàn thành hệ thống mới được đặt vào hoạt động từ ngày đó trở đi. Là nguyên nhân gây ra lỗi nghiêm trọng vì một lỗi bất kì trong hệ thống mới là nguyên nhân gây ra toàn bộ hoạt động của tổ chức không thể tiến hành bởi vì tất cả các hoạt động của hệ thống cũ đã ngừng lại.
Phương pháp này được dùng trong những tình huống
www.themegallery.com
có sẵn nhân lực và thời gian chuyển đổi ít hơn.
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
New system in operation
Old system in operation
Old system
New system
Cut-off date
Time
(Immediate changeover
www.themegallery.com
Chuyển đổi trực tiếp (Immediate Changeover)
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chạy song song (Parallel Run) Cả hệ thống cũ và hệ thống mới đều hoạt động song song với cùng một dữ liệu ban đầu cho ba hay bốn chu kỳ. Kết quả của hệ thống mới được so sánh với hệ thống cũ để tăng độ tin cậy trong các hệ thống mới. Là một trong những phương pháp an toàn để triển khai
một hệ thống mới.
www.themegallery.com
Không có sự gián đoạn công việc nếu có vấn đề với hệ thống mới, vì hệ thống cũ vẫn còn đang hoạt động và những vấn đề được tìm thấy trong hệ thống mới có thể được sửa chữa, trong khi hệ thống cũ vẫn còn được sử dụng.
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chạy song song (Parallel Run) Phương pháp này rất tốn kém, vì bổ sung nhân lực cần thiết trong suốt các quá trình chồng chất lên nhau của các hoạt động của hai hệ thống song song.
Phương pháp này không được ưa thích trong trường
www.themegallery.com
hợp nguồn nhân lực khan hiếm.
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Old system in operation
New system in operation
Overlapping period of complete operation of both the old and the new systems
Timee
(b) Parallel run
www.themegallery.com
Chạy song song (Parallel Run)
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chuyển đổi từng giai đoạn (Phased Conversion) Việc chuyển đổi hoàn toàn vào hệ thống mới và nó diễn
ra tăng dần theo thời gian.
Các kết quả thu được ở mỗi phần của hệ thống mới được so sánh với các kết quả của hệ thống cũ. Bất kỳ khác biệt hay sai sót nào tìm thấy sẽ được kiểm tra và gỡ bỏ.
Độ tin cậy tăng trong từng phần riêng biệt của hệ thống
mới.
www.themegallery.com
Qua một thời gian hệ thống mới đang đi dần vào trong giai đoạn thực hiện, trong khi hệ thống cũ từng bước ra khỏi giai đoạn.
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Old and new systems in operation in parts
Old system completely operational
New system completely operational
Old system
New system
Cut-off date
Time
(c )Phased conversion
www.themegallery.com
Chuyển đổi từng giai đoạn (Phased Conversion)
LOGO
ĐÁNH GIÁ HỆ THỐNG
1. Đánh giá hiệu quả (Performance Evaluation)
2. Phân tích chi phí (Cost Analysis) 3. Phân tích thời gian (Time Analysis)
4. Sự hài lòng của người sử dụng (User Satisfaction)
5. Sửa đổi dễ dàng (Ease of Modification)
www.themegallery.com
6. Tỷ lệ thất bại (Failure Rate)
LOGO
BẢO TRÌ HỆ THỐNG
Hệ thống cần phải được sửa đổi vì những lý do sau: Thay đổi điều kiện kinh doanh hoặc hoạt động của tổ
chức đang sử dụng hệ thống.
Thay đổi chính sách hoặc tổ chức thực thi các luật lệ
mới.
www.themegallery.com
Thay đổi theo nhu cầu của người sử dụng. Thay đổi công nghệ mới.
LOGO
BẢO TRÌ HỆ THỐNG
Bảo trì hệ thống là một giai đoạn quan trọng trong chu
kỳ sống của một hệ thống máy tính.
Chi phí của việc duy trì một hệ thống máy vi tính nhiều
www.themegallery.com
hơn từ hai đến bốn lần chi phí ban đầu phát triển.
LOGO
BẢO TRÌ HỆ THỐNG
Một trong những phương thức đạt được yêu cầu kiểm soát này là tất cả các yêu cầu cho việc thay đổi đánh giá hệ thống đều do Ban kiểm soát thay đổi.
Các hoạt động kinh doanh nên được ghi lại và định kỳ
tổng kết báo cáo cho hội đồng.
www.themegallery.com
Khi chương trình được sửa đổi, điều quan trọng là đảm bảo rằng các tài liệu hướng dẫn chương trình cũng được thay đổi cho phù hợp. Nếu không tồn tại tài liệu phù hợp với các chương trình, các thay đổi trong tương lai sẽ là rất khó khăn và tốn kém để thực hiện.
LOGO
BẢO TRÌ HỆ THỐNG
www.themegallery.com
Bài tập trang 447
LOGO www.themegallery.com