Bài giảng Nhập môn công nghệ phần mềm - Phan Phương Lan

z Phần I: Tổng quan vềCông nghệphần mềm

z Chương 1: Giới thiệu vềCông nghệphần mềm

z Chương 2: Các mô hình vềtiến trình phần mềm

z Chương 3: Quản lý phần mềm

z Quản lí nhân sựvà tổchức

z Quản lí chất lượng

z Quản lí cấu hình

z Quản lí dựán

z Chương 4: Ước lượng giá thành

z Phần II: Tiến trình phần mềm

z Chương 5: Đặc tảyêu cầu

z Chương 6: Thiết kế

z Chương 7: Lập trình

z Chương 8: Kiểm thử

z Chương 9: Triển khai hệthống

z Chương 10: Bảo trì

pdf229 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1911 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Phan Phương Lan, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
c đặc điểm, đặc trưng và thuận lợi của hệ
thống
15
Tài liệu
z Sách hướng dẫn điều hành viên
z Cấu hình phần cứng, phần mềm
z Các phương pháp chấp nhận và từ chối truy xuất đối 
với người dùng
z Các thủ tục thêm để bổ sung và loại bỏ các ngoại vi ra 
khỏi hệ thống
z Các kỹ thuật để sao chép và dự phòng các tập tin và tài 
liệu
16
Tài liệu
z Hướng dẫn hệ thống chung
z Hệ thống chi tiết hóa theo cách mà khách hàng 
có thể hiểu
z Cấu hình phần cứng và phần mềm của hệ thống
z Triết lý ẩn dưới cấu trúc của hệ thống
17
Tài liệu
z Hướng dẫn học và các khái quát được tự động
z Hướng dẫn học được tự động hóa, từng bước 
một, dựa trên đa phương tiện
18
Tài liệu
z Hướng dẫn lập trình viên
z Khái quát về cách thức phần cứng, phần mềm 
được cấu hình
z Các thành phần của phần mềm được chi tiết hóa 
và các chức năng của chúng được thực hiện
z Các chức năng hỗ trợ hệ thống
z Các cải tiến của hệ thống
19
Tài liệu
z Gỡ rối và giúp đỡ người dùng
z Thông điệp chỉ dẫn khi hệ thống không thực 
hiện
z Các tài liệu tham khảo
z Các tập tin giúp đỡ trực tuyến
1NHẬP MÔN 
CÔNG NGHỆ PHẦN MỀM
CHƯƠNG 10–
BẢO TRÌ HỆ THỐNG
2
Nội dung
z Hệ thống thay đổi
z Trạng thái tự nhiên của bảo trì
z Các vấn đề bảo trì
z Đo các đặc trưng của bảo trì
z Các kỹ thuật và công cụ bảo trì
3Hệ thống thay đổi
z Bảo trì: bất cứ công việc nào được thực hiện để 
thay đổi hệ thống sau khi nó được đưa vào vận 
hành
z Phần mềm liên tục tiến hóa => Quy trình bảo trì
có thể khó khăn
Hệ thống thay đổi
z Các kiểu hệ thống của Lehman
z Hệ thống S (S-system)
z Hệ tống P (P-system)
z Hệ thống E (E-system)
5Hệ thống thay đổi
z Hệ thống S: được định nghĩa một cách hình thức 
và được dẫn ra từ sự đặc tả
6
Hệ thống thay đổi
z Hệ thống P: các yêu cầu được dựa trên giải pháp gần 
với vấn đề (thực tế hơn để xây dựng và sử dụng )
7Hệ thống thay đổi
z Hệ thống E: được nhúng vào thế giới thực và thay đổi 
và thay đổi theo nó
8
Hệ thống thay đổi
z Các thay đổi trong suốt chu kỳ sống của hệ thống
z Hệ thống S: không thay đổi
z Hệ thống P: thay đổi gia tăng
z Hệ thống E: thay đổi hằng số
Bản chất của bảo trì
z Các loại bảo trì
z Hiệu chỉnh (Corrective): duy trì sự kiểm soát trên các 
chức năng hàng ngày
z Thích ứng (Adaptive): duy trì sự kiểm soát trên các 
sửa đổi của hệ thống
z Hoàn thiện (Perfective): hoàn thiện các chức năng 
z Ngăn ngừa (Preventive): ngăn sự thực thi của hệ thống 
bị suy thoái tới các mức không thể chấp nhận
Bản chất của bảo trì
z Người thực hiện bảo trì
z Nhóm bảo trì độc lập
z Có thể khách quan hơn
z Dễ dàng hơn trong phân biệt cách thức hệ thống nên 
thực hiện với cách thức hệ thống thực hiện
z Một phần của nhóm phát triển
z Xây dựng hệ thống theo cách làm cho việc bảo trì dễ
dàng hơn
z Quá tự tin, lờ đi tài liệu giúp cho việc bảo trì
Bản chất của bảo trì
• Hiểu hệ thống
• Định vị thông tin trong tài 
liệu hệ thống
• Tiếp tục cập nhật tài liệu hệ
thống
• Mở rộng các chức năng hiện 
có để đáp ứng các yêu cầu 
đang thay đổi hay yêu cầu 
mới
• Thêm các chức năng mới 
vào hệ thống
• Tìm ra nguồn gốc của vấn 
đề hay sự thất bại của hệ
thống
• Định vị và hiệu chỉnh các lỗi
• Trả lời các câu hỏi về cách thức 
hệ thống hoạt động
• Tái tổ chức các thành phần mã 
lệnh và thiết kế
• Viết lại các thành phần mã lệnh 
và thiết kế
• Xóa các thành phần mã lệnh và
thiết kế mà chúng không còn có
ích 
• Quản lý các thay đổi của hệ
thống khi chúng được tạo ra
z Trách nhiệm của nhóm bảo trì
12
Bản chất của bảo trì
z Sử dụng thời gian bảo trì:
Các vấn đề bảo trì
z Các vấn đề nhân sự
z Sự hiểu biết hạn chế
z Các ưu tiên trong quản lý
z Đạo đức
z Các vấn đề kỹ thuật
z Các mô hình
z Các khó khăn của kiểm thử
Các vấn đề bảo trì
z Cần sự thỏa hiệp
z Cân bằng nhu cầu thay đổi với nhu cầu giữ cho 
hệ thống sẵn có với người dùng
z Sửa chữa vấn đề nhanh nhưng giải pháp thiếu 
sự tinh tế
z Vấn đề giải quyết chỉ liên quan đến sự hiệu 
chỉnh tức thời của lỗi
Các vấn đề bảo trì
z Các yếu tố tác động đến phương pháp bảo trì
z Kiểu không hoạt động
z Tính khốc liệt hay nguy kịch của sự không hoạt 
động
z Mức độ khó của các thay đổi được yêu cầu
z Phạm vi của các thay đổi được yêu cầu
z Tính phức tạp của các thành phần sẽ được thay đổi
z Số vị trí vật lý mà tại đó các thay đổi phải được tạo 
ra
16
Các vấn đề bảo trì
z Các yếu tố tác động đến phương pháp bảo trì
z Loại ứng dụng
z Tính mới lạ của hệ thống
z Khả năng của nhân viên bảo trì và tốc độ thay thế
z Nhịp sống của hệ thống
z Sự phụ thuộc vào môi trường hay thay đổi
z Các đặc trưng của phần cứng
z Chất lượng thiết kế
z Chất lượng lập trình
z Chất lượng tài liệu
z Chất lượng kiểm thử
17
Các vấn đề bảo trì
z Mô hình hóa công sức bảo trì (Belady và Lehman) 
M = p + Kc-d
z M : toàn bộ công sức bảo trì
z p : công sức sản xuất
z c: tính phức tạp
z d : mức độ quen thuộc
z K : hằng số kinh nghiệm
18
Các vấn đề bảo trì
z Mô hình hóa công sức bảo trì (COCOMO 2)
Size = ASLOC (AA + SU + 0.4DM + 0.3CM + 
0.3IM)/100
z ASLOC: số dòng mã nguồn được sửa lại 
z AA: công sức đánh giá và đồng hóa
z SU: mức hiểu biết phần mềm
z DM: tỷ lệ % thiết kế được hiệu chỉnh
z CM: tỷ lệ % mã lệnh được hiệu chỉnh
z IM: tỷ lệ % mã lệnh bên ngoài được tích hợp
19
Các vấn đề bảo trì
1020304050SU increment
Self descriptive 
code; 
documentation 
up-to-date , 
well organized, 
with design 
rationale
Good code 
commentary 
and headers; 
useful 
documentation; 
some weak 
areas
Moderate level 
of code 
commentary 
headers, and 
documentation
Some code 
commentary 
headers; some 
useful 
documentation
Obscure code; 
documentation 
missing, 
obscure, or 
obsolete
Self 
descriptiveness
Clear match 
between 
program and 
application 
worldviews
Good 
correlation 
between 
program and 
application
Moderate 
correlation 
between 
program and 
application
Some 
correlation 
between 
program and 
application
No match 
between 
program and 
application 
worldviews
Application 
clarity
Strong 
modularity, 
information 
hiding in data 
and control 
structure
High cohesion, 
low coupling
Reasonably 
well structured, 
some weak 
areas
Moderately 
low cohesion, 
high coupling
Very low 
cohesion, high 
coupling, 
spaghetti code
Structure
Very highHighNominalLowVery low
Bảng đánh giá SU
20
Các vấn đề bảo trì
Extensive component test and evaluation 
documentation
8
Considerable component test and evaluation 
documentation
6
Some component test and evaluation documentation4
Basic component search and documentation2
None0
Level of Assessment and Assimilation EffortAssessment and 
Assimilation Increment
Công sức AA
21
Đo các đặc trưng của bảo trì
z Tính dễ bảo trì không chỉ liên quan đến mã lệnh 
mà còn liên quan đến sự đặc tả, thiết kế và kế
hoạch kiểm thử
z Tính dễ bảo trì có thể được nhìn theo hai cách
z Nhìn bên ngoài phần mềm
z Nhìn bên trong phần mềm
22
Đo các đặc trưng của bảo trì
z Dữ liệu cần thiết
z Thời điểm mà vấn đề được báo 
cáo
z Thời gian uổng phí do sự trì hoãn 
quản lý
z Thời gian cần để phân tích vấn đề
z Thời gian cần để xác định những 
thay đổi nào sẽ được tạo ra
z Thời gian cần để tạo ra sự thay 
đổi
z Thời gian cần để kiểm thử sự thay 
đổi
z Thời gian cần để ghi sự thay đổi 
vào tài liệu
z Dữ liệu mong muốn
z Tỷ lệ thời gian thực hiện thay đổi 
hoàn toàn trên số các thay đổi được 
thực hiện
z Số vấn đề chưa được giải quyết
z Thời gian dùng cho các vấn đề chưa 
được giải quyết
z Tỷ lệ phần trăm các thay đổi gây ra 
lỗi mới
z Số thành phần được sửa đổi để thực 
hiện sự thay đổi
Các thuộc tính bên ngoài tác 
động đến tính dễ bảo trì
23
Đo các đặc trưng của bảo trì
z Các thuộc tính bên trong tác động đến tính dễ bảo 
trì (theo McCabe)
z Tính phức tạp về cấu trúc của mã nguồn
zĐường độc lập tuyến tính
z Dựa trên khái niệm lý thuyết đồ thị
24
Đo các đặc trưng của bảo trì
z Các phép đo khác
z Phân tích cây phân lớp
z Chỉ mục Fog
z Tính dễ đọc của De Young và Kampen
25
Kỹ thuật và công cụ bảo trì
z Quản lý cấu hình
z Ban kiểm soát cấu hình
z Kiểm soát sự thay đổi
z Phân tích tác động
z Công cụ bảo trì được tự động hóa
26
Kỹ thuật và công cụ bảo trì
z Quy trình kiểm soát cấu hình
z Vấn đề được phát hiện bởi hay sự thay đổi được yêu cầu 
bởi người dùng/khách hàng/nhà phát triển và được ghi lại
z Sự thay đổi được báo cáo tới ban kiểm soát cấu hình (CCB)
z CCB thảo luận về vấn đề: xác định bản chất của sự thay đổi, 
người trả chi phí
z CCB thảo luận về nguồn gốc của vấn đề, phạm vi của sự 
thay đổi, thời gian sửa đổi; họ đưa ra độ ưu tiên và giao cho 
nhà phân tích
z Nhà phân tích tạo ra sự thay đổi trên bản sao của kiểm thử
z Nhà phân tích làm việc với thủ thư để kiểm soát sự thực 
hiện sự thay đổi
z Nhà phân tích đưa ra báo cáo về sự thay đổi
27
Kỹ thuật và công cụ bảo trì
z Các vấn đề kiểm soát sự thay đổi
z Sự đồng bộ hóa: khi sự thay đổi được tạo ra?
z Nhận dạng: ai tạo ra sự thay đổi?
z Đặt tên: thành phần nào của hệ thống được thay đổi?
z Sự xác thực: thay đổi được tạo ra một cách chính xác?
z Sự cho phép: ai được cho phép với sự thay đổi?
z Lộ trình: ai được thông báo về sự thay đổi?
z Sự hủy bỏ: ai có thể hủy bỏ yêu cầu thay đổi?
z Sự ủy thác: ai có trách nhiệm đối với sự thay đổi?
z Sự đánh giá: độ ưu tiên của sự thay đổi?
28
Kỹ thuật và công cụ bảo trì
z Phân tích sự tác động
z Sự đánh giá các rủi ro liên quan tới sự thay đổi, 
bao gồm các dự đoán về các ảnh hưởng lên tài 
nguyên, công sức và lịch biểu
z Giúp kiểm soát chi phí bảo trì
29
Kỹ thuật và công cụ bảo trì
z Các hoạt động bảo trì phần mềm: hình minh họa các hoạt 
động được thực hiện khi một thay đổi được yêu cầu
30
Kỹ thuật và công cụ bảo trì
z Công cụ bảo trì được tự động
z Trình soạn thảo văn bản
z Trình so tập tin
z Trình biên dịch và trình tải
z Công cụ gỡ rối
z Bộ sinh tham chiếu chéo
z Bộ phân tích mã lệnh tĩnh
z Kho quản lý cấu hình

File đính kèm:

  • pdfBài giảng Nhập môn công nghệ phần mềm - Phan Phương Lan.pdf