Báo Cáo Đồ Án Môn: PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

Download Report

Transcript Báo Cáo Đồ Án Môn: PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

LOGO
www.themegallery.com
CHƯƠNG 13
CÀI ĐẶT
VÀ VẬN HÀNH HỆ THỐNG
LOGO
NỘI DUNG
1
2
3
KIỂM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH
BIÊN SOẠN TÀI LIỆU
THAY ĐỔI THÀNH HỆ THỐNG MỚI
4
ĐÁNH GIÁ HỆ THỐNG
5
BẢO TRÌ HỆ THỐNG
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.
 Lỗi cú pháp tương đối dễ dàng phát hiện và dễ sửa lỗi.
www.themegallery.com
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.
 Lỗi logic chỉ được phát hiện trong quá trình kiểm thử.
www.themegallery.com
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.
 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ỏ.
www.themegallery.com
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
in hay viết này được xóa bỏ từ chương trình.
www.themegallery.com
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.
 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.
www.themegallery.com
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.
 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.
www.themegallery.com
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.
 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.
www.themegallery.com
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ớ.
 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.
www.themegallery.com
LOGO
KIỂM THỬ VÀ GỠ LỖI
Sự khác biệt giữa Kiểm thử và gỡ lỗi
Thứ
Tự
Kiểm Thử
Gỡ Lỗi
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.
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.
2
Kiểm thử được hoàn thành khi
Gỡ lỗi hoàn thành khi tất cả các lỗi
tất cả các lệnh đã được thực hiện được biết trong chương trình đã
đúng.
đượ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
www.themegallery.com
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
Thứ
Tự
Kiểm Thử
Gỡ Lỗi
3
Kiểm thử là một quá trình đã Gỡ lỗi là một quá trình không thể
được định nghĩa và cần được được lên kế hoạch trước. Nó chỉ
quy hoạch và lập kế hoạch đúng được thực hiện khi phát hiện lỗi
trong một chương trình
2
Kiểm thử có thể bắt đầu trong
giai đoạn đầu phát triển phần
mềm
Gỡ lỗi chỉ bắt đầu sau khi chương
trình được mã hóa.
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
mềm được sửa đổi trong suốt giai đoạn bảo trì
www.themegallery.com
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.
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 đó.
www.themegallery.com
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
thực thi chương trình
www.themegallery.com
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)
www.themegallery.com
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 .
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.
www.themegallery.com
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
quả đầu ra.
www.themegallery.com
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.
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.
www.themegallery.com
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?
 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?
www.themegallery.com
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
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)
www.themegallery.com
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
có sẵn nhân lực và thời gian chuyển đổi ít hơn.
www.themegallery.com
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chuyển đổi trực tiếp (Immediate Changeover)
New system in
operation
Old system in
operation
Old system
New system
Cut-off date
Time
(Immediate changeover
www.themegallery.com
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.
 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.
www.themegallery.com
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
hợp nguồn nhân lực khan hiếm.
www.themegallery.com
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chạy song song (Parallel Run)
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
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.
 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.
www.themegallery.com
LOGO
THAY ĐỔI THÀNH HỆ THỐNG MỚI
Chuyển đổi từng giai đoạn (Phased Conversion)
Old system
completely
operational
Old and new systems in
operation in parts
New system
completely
operational
Old system
New system
Cut-off date
Time
(c )Phased conversion
www.themegallery.com
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)
6. Tỷ lệ thất bại (Failure Rate)
www.themegallery.com
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.
 Thay đổi theo nhu cầu của người sử dụng.
 Thay đổi công nghệ mới.
www.themegallery.com
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
hơn từ hai đến bốn lần chi phí ban đầu phát triển.
www.themegallery.com
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.
 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.
www.themegallery.com
LOGO
BẢO TRÌ HỆ THỐNG
 Bài tập trang 447
www.themegallery.com
LOGO
www.themegallery.com