Chương 5: Bảo trì phần mềm
Các thuật ngữ:
- MR (modification request): yêu cầu chỉnh sửa.
- PR (problem report): báo cáo các vấn đề.
- SCM (software configuration management): quản lý cấu hình phần mềm.
- SLA (service level agreement): thỏa thuận dịch vụ theo cấp độ.
- SQA (software quality assurance): quản lý chất lượng phần mềm.
- V&V (verification and validation): xác minh và thẩm định.
- Predelivery: Trước khi bàn giao
- Postdelivery: Sau khi phân phối
Giới thiệu
Nỗi lực tăng trưởng phần mềm dẫn tới khi chuyển giao loại sản phẩm phải thỏa mãn nhu cầu nhu yếu của người mua. Theo đó những mẫu sản phẩm phần mềm phải đổi khác và tăng trưởng. Sau khi hoạt động giải trí, những lỗi được phát hiện, môi trường tự nhiên hoạt động giải trí đổi khác và nhu yếu người dùng mới phát sinh. Giai đoạn bảo trì trong vòng đời tăng trưởng của phần mềm sẽ mở màn sau thời hạn bh, hoặc sau khi chuyển giao loại sản phẩm, nhưng đa số hoạt động giải trí này sẽ xảy ra sớm hơn. Bảo trì phần mềm là một phần không hề thiếu trong vòng đời phần mềm. Trong lịch sử vẻ vang, tăng trưởng phần mềm được nhìn nhận cao hơn nhiều so với bảo trì phần mềm trong hầu hết những tổ chức triển khai. Điều này đang biến hóa, những tổ chức triển khai đã góp vốn đầu tư vào khâu tăng trưởng phần mềm của họ bằng cách giữ cho phần mềm của họ hoạt động giải trí càng lâu càng tốt. Trong tài liệu này, bảo trì phần mềm được xác lập là hàng loạt những hoạt động giải trí thiết yếu để phân phối sự tương hỗ một cách hiệu suất cao về ngân sách cho phần mềm. Các hoạt động giải trí được triển khai trong tiến trình trước khi chuyển giao cũng như trong tiến trình sau khi chuyển giao. Hoạt động trước khi chuyển giao gồm có lập kế hoạch cho những hoạt động giải trí sau khi chuyển giao, bảo trì, và phục vụ hầu cần xác lập những hoạt động giải trí quy đổi. Hoạt động sau khi chuyển giao gồm có chỉnh sửa phần mềm, trainning, quản lý và điều hành hoặc tương tác. Kiến thức về nghành bảo trì phần mềm tương quan tới tổng thể những góc nhìn khác của kỹ thuật phần mềm. Do đó, tài liệu này được link tới tổng thể những nghành khác trong bảo trì phần mềm .
1. Cơ bản về bảo trì phần mềm
Mục tiên phong ra mắt những khái niệm và thuật ngữ cái mà hình thành một nền tảng cơ bản để hiểu rõ vai trò khoanh vùng phạm vi của bảo trì phần mềm. Các chủ đề phân phối khái niệm và nhấn mạnh vấn đề nguyên do tại sao phần mềm phải có nhu yếu bảo trì. Phân loại bảo trì phần mềm là rất quan trọng để hiểu được ý nghĩa của nó .
1.1 Định nghĩa và thuật ngữ
Mục đích của bảo trì phần mềm được định nghĩa theo các tiêu chuẩn quốc tế về bảo trì: trong bối cảnh của công nghệ phần mềm, bảo trì phần mềm cơ bản là một trong nhiều quy trình kĩ thuật.
Mục tiêu của bảo trì phần mềm là sửa đổi phần mềm hiện có trong khi vẫn đảm bảo toàn vẹn. Các chuẩn quốc tế cũng khẳng định tầm quan trọng của việc nên có một vài hoạt động bảo trì nên xảy ra trước khi bàn giao sản phẩm.
1.2 Bản chất của bảo trì phần mềm
Bảo trì phần mềm duy trì những mẫu sản phẩm phần mềm trong suốt vòng đời của nó ( từ tăng trưởng đến hoạt động giải trí ). Yêu cầu sửa đổi được đăng nhập và theo dõi, những ảnh hưởng tác động của những thay dổi được xác lập, code và loại sản phẩm sau khi được sửa đổi, thử nghiệm được thực thi và một phiên bản mới của những mẫu sản phẩm được phát hành. Ngoài ra, tập huấn và tương hỗ tiếp tục sẽ được cung ứng cho người sử dụng. Những người bảo trì được định nghĩa giống như một tổ chức triển khai thực thi những hoạt động giải trí bảo trì ; đôi lúc sẽ đề cập đến những cá thể triển khai những hoạt động giải trí khác hẳn với những nhà tăng trưởng. IEEE 14.764 xác lập những hoạt động giải trí chính của bảo trì phần mềm giống như thực thi những quy trình tiến độ, nghiên cứu và phân tích những lỗi và chỉnh sửa, thực thi chỉnh sửa, kiểm định, tích hợp hoặc vô hiệu. Các hoạt động giải trí này được tranh luận tại mục 3.2 – hoạt động giải trí bảo trì .
Bảo trì hoàn toàn có thể học hỏi những kiến thức và kỹ năng từ những nhà tăng trưởng phần mềm. Liên hệ với những nhà tăng trưởng và sự tham gia từ đầu của những nhà tăng trưởng sẽ làm giảm nỗ lực bảo trì tổng thể và toàn diện. Trong 1 số ít trường hợp, những nhà tăng trưởng khởi đầu không hề hợp tác hoặc đã chuyển sang trách nhiệm khác, yếu tố này sẽ tạo ra thử thách cho bảo trì. Bảo trì phải mất nhiều loại sản phẩm ( artifacts ) ( ví dụ source code, tài liệu … ) từ những nhà tăng trưởng hoặc phải tương hỗ ngay lập tức, sau đấy từ từ tự tăng trưởng và duy trì chúng trong một vòng đời phần mềm .
1.3 Sự cần thiết của bảo trì phần mềm
Bảo trì là thiết yếu để bảo vệ rằng phần mềm hoàn toàn có thể liên tục cung ứng nhu yếu của người sử dụng. Bảo trì được vận dụng cho phần mềm bằng cách sử dụng bất kỳ quy mô vòng đời phần mềm ( ví dụ : xoắn ốc, tuyến tính, … ). Sản phẩm phần mềm biến hóa do hoạt động giải trí chỉnh sửa sai hoặc không sai. Bảo trì phần mềm phải được thực thi để :
- Khắc phục lỗi.
- Cải thiện thiết kế.
- Thực hiện các cải tiến.
- Giao diện với các phần mềm khác.
- Thích ứng với các loại phần cứng, phần mềm, tính năng hệ thống,…khác nhau có thể được sử dụng.
- Tiến hóa phần mềm.
- Hủy bỏ phần mềm.
5 đặc thù chính gồm có những hoạt động giải trí của người bảo trì gồm có :
- Duy trì kiểm soát các chức năng của phần mềm liên tục.
- Duy trì kiểm soát việc sửa đổi phần mềm.
- Hoàn thiện các chức năng hiện có.
- Xác định các mối đe dọa an ninh và sửa chữa các lỗ hổng an ninh.
- Ngăn ngừa việc xuống cấp hiệu xuất tới mức không thể chấp nhận được.
1.4. Chi phí bảo trì
Bảo trì tiêu thụ một phần nhiều những nguồn lực kinh tế tài chính trong vòng đời phần mềm. Một nhận thức chung về bảo trì thường thấy : bảo trì đơn thuần là sửa lỗi. Tuy nhiên, những điều tra và nghiên cứu và khảo sát trong những năm qua đã chỉ ra rằng phần lới, trên 80 %, bảo trì phần mềm được sử dụng cho những hành vi khắc phục. Nhóm những nâng cấp cải tiến và sửa chữa thay thế lại với nhau trong báo cáo giải trình quản trị góp thêm phần tạo ra những ý niệm sai lầm đáng tiếc về ngân sách cao của việc sửa chữa thay thế. Hiểu biết về những loại bảo trì phần mềm giúp hiểu được cơ cấu tổ chức của ngân sách bảo trì. Ngoài ra, có kiến thức và kỹ năng về những yếu tổ ảnh hưởng tác động tới bảo trì phần mềm sẽ giúp quản trị được ngân sách. Một số yếu tố thiên nhiên và môi trường và mối quan hệ ảnh hưởng tác động tới ngân sách bảo trì phần mềm :
- Môi trường hoạt động liên quan đến phần cứng và phần mềm.
- Môi trường tổ chức liên quan đến chính sách, tính cạnh tranh, quy trình, sản p ẩm và nhân viên.
1.5. Sự tiến hóa của phần mềm
Quá trình tiến hóa của phần mềm đã được đề cập tới lần tiên phong vào cuối năm 1960 s. Trong khoảng chừng thời hạn hai mươi năm, điều tra và nghiên cứu đưa đến việc thiết kế xây dựng “ Law of Evolution ”. Những phát hiện chính gồm có một ý kiến đề nghị đó là duy trì tăng trưởng, tiến hóa, và quyết định hành động bảo trì được tương hỗ bởi sự tích lũy kiến thức và kỹ năng về hoạt động giải trí của phần mềm theo thời hạn. Một số trạng thái được liên tục duy trì tăng trưởng, nói cách khác, hiện tại phần mềm lớn không khi nào là hoàn thành xong, và nó liên tục tăng trưởng ; nó trở nên phức tạp hơn, trừ khi 1 số ít hành vi được thực thi để giảm sự phức tạp này .
1.6. Phân loại bảo trì phần mềm
Có ba loại bảo trì được xác lập : corrective ( kiểm soát và điều chỉnh, thay thế sửa chữa ), adaptive ( thích ứng ), và perfective ( triển khai xong ). Ngoài ra còn có preventative ( dự trữ ) .
- Bảo trì sửa chữa: sửa đổi phản ứng (hoặc sửa chữa) một sản phẩm phần mềm thực hiện sau khi bàn giao để chỉnh sửa các vấn đề được phát hiện. Trong loại này, bảo trì là khẩn cấp, một thay đổi đột xuất thực hiện.
- Bảo trì thích ứng: sửa đổi một sản phẩm phần mềm được thực thi sau khi bàn giao, phần mềm muốn chuyển đổi môi trường. Ví dụ như: nâng cấp hệ điều hành, khi đấy việc nâng cấp phần mềm là cần thiết.
- Bảo trì hoàn thiện: sửa đổi một sản phẩm phần mềm sau khi bàn giao để cung cấp cải tiến cho người dùng, cải thiện tài liệu chương trình, và viết lại mã để cải thiện hiệu suất phần mềm, bảo trì, hoặc các thuộc tính phần mềm khác.
- Bảo trì dự phòng: sửa đổi một sản phẩm phần mềm sau khi tìm thấy các lỗi tiềm ẩn trong sản phẩm phần mềm trước khi lỗi hoạt động.
2. Các vấn đề chính trong bảo trì phần mềm
Một số yếu tố quan trọng phải được giải quyết và xử lý để bảo vệ duy trì hiệu suất cao của phần mềm. Bảo trì phần mềm phân phối những thử thách độc lập về kỹ thuật và quản trị cho những ký sư phần mềm. ví dụ : cố gắng nỗ lực tìm được một lỗi trong phần mềm có chứa lượng lớn những dòng code của nhà tăng trưởng. Tương tự như vậy, cạnh tranh đối đầu với những nhà tăng trưởng giống như một trận chiến liên tục. Lập kế hoạch cho một tương lai phát hành loại sản phẩm, thường gồm có code cho tới khi tạo ra những bản vá lỗi cho phiên bản hiện tại, cũng tạo ra một thử thách. Phần sau đây trình diễn 1 số ít yếu tố kỹ thuật và quản trị tương quan tới bảo trì phần mềm. Họ đã được nhóm lại theo những chủ đề sau :
- Vấn đề kĩ thuật
- Vấn đề quản lý
- Ước lượng chi phí
- Đo lường
2.1 Vấn đề kĩ thuật
2.1.1 Giới hạn về hiểu biết
Hiểu biết hạn chế, đề cập đến một cách nhanh gọn, kỹ sư phần mềm hoàn toàn có thể hiểu được để hoàn toàn có thể đổi khác hoặc thay thế sửa chữa lỗi trong phần mềm, cái mà họ tăng trưởng. Nghiên cứu chỉ ra rằng, khoảng chừng một nửa tổng nỗ lực được duy trình dành hết cho khám phá phần mềm phải sửa đổi. Như vậy, chủ đề này là mối chăm sóc lớn cho những kĩ sư phần mềm. Vì vậy, thời gian đầu, kĩ sư phần mềm thường có hiểu biết tương đối hạn chế về phần mềm .
2.1.2 Kiểm thử
giá thành để lặp đi lặp lại kiểm tra phần mềm chiếm phần nhiều thời hạn và tài lộc. Để bảo vệ rằng, những nhu yếu báo cáo giải trình yếu tố là hợp lệ, những nhà bảo trì nên tái tạo hoặc xác định yếu tố bằng cách chạy thử nghiệm. Kiểm tra hồi quy ( những lần kiểm tra lại để xác định sửa đổi không gây ra công dụng không mong ước ) là một khái niệm kiểm thử quan trọng trong bảo trì. Ngoài ra, thời hạn tìm kiếm để kiểm tra là một yếu tố rất khó khăn vất vả. Phối hợp kiểm thử khi những thành viên trong đội bảo trì đang làm những việc làm khác nhau vẫn còn là một thử thách. Khi phần mềm thực thi những công dụng quan trọng, nó khó hoàn toàn có thể offline để triển khai kiểm thử. Kiểm thử không hề triển khai trong thiên nhiên và môi trường có ý nghĩa sản xuất nhất định. Kiến thức kiểm thử cung ứng thêm thông tin và tài liệu tìm hiểu thêm về yếu tố này trong chủ đề phụ của nó dựa trên kiểm thử hồi quy .
2.1.3 Phân tích tác động
Phân tích tác động ảnh hưởng miêu tả cách thực thi, ngân sách, một cách nghiên cứu và phân tích khá đầy đủ về ảnh hưởng tác động của sự đổi khác trong phần mềm hiện có. Bảo trì phải có một kỹ năng và kiến thức thâm thúy và nội dung của phần mềm. Họ sử dụng kiến thức và kỹ năng đó để triển khai những nghiên cứu và phân tích ảnh hưởng tác động, trong đó xác lập toàn bộ những mạng lưới hệ thống và loại sản phẩm phần mềm bị tác động ảnh hưởng bởi một nhu yếu biến hóa phần mềm và ước tính chi phi tăng trưởng và những nguồn lực thiết yếu để triển khai những đổi khác. Ngoài ra, rủi ro tiềm ẩn làm đổi khác được những quyết định hành động. Các nhu yếu biến hóa, nhiều lúc được gọi là một nhu yếu sửa đổi ( MR ) và thường gọi là một bản báo cáo giải trình yếu tố ( PR ), thứ nhất phải được nghiên cứu và phân tích và dịch thành ngôn từ phần mềm. Phân tích ảnh hưởng tác động được thực thi sau khi một nhu yếu đổi khác đưa vào quá trình quản trị thông số kỹ thuật. IEEE 14.764 nêu những trách nhiệm nghiên cứu và phân tích tác động ảnh hưởng :
- Phân tích MRs/ PRs.
- Tái tạo hay xác minh các vấn đề.
- Phát triển các tùy chọn để thực hiện sửa đổi.
- Tài liệu hóa MR/PR, kết quả và thực hiện các tùy chọn.
- Chấp thuận cho sửa đổi các tùy chon.
Mức độ nghiêm trọng của vấn đề thường được sử dụng để quyết định làm thế nào và khi nào ấn định. Các kĩ sư phần mềm sau đó xác định các thành phần bị ảnh hưởng. Một số giải pháp tiềm năng được cung cấp, tiếp theo đó là một khuyến cáo tốt nhất đưa ra.
Phần mềm được thiết kế với khả năng bảo trì trong điều kiện phân tích rất nhiều tác động. Thông tin chi tiết có thể được tìm thấy trong cuốn Software Configuration Management KA.
2.1.4 Bảo trì
IEEE 14.764 định nghĩa bảo trì như thể năng lực của những loại sản phẩm phần mềm hoàn toàn có thể sửa đổi. Sửa đổi hoàn toàn có thể gồm có sửa chữa thay thế, nâng cấp cải tiến, hoặc vận dụng những phần mềm sao cho tương thích với những thiên nhiên và môi trường và cụ thể kĩ thuật tính năng theo nhu yếu. Là một đặc trưng chính trong chất lượng phần mềm, bảo trì nên được chỉ định, xem xét lại, và trấn áp những hoạt động giải trí trong quy trình tăng trưởng phần mềm để giảm ngân sách bảo trì. Khi triển khai thành công xuất sắc, bảo trì phần mềm sẽ được cải tổ. Bảo trì thường khó đạt được vì nó không phải là trọng tâm quan trọng nhất trong quy trình tăng trưởng phần mềm. Các nhà tăng trưởng thường thì sẽ bận rộn với nhiều hoạt động giải trí khác và tiếp tục bỏ lỡ nhu yếu của những bảo trì viên. Điều này liên tục xảy ra dẫn đến thiếu tài liệu phần mềm, và thiên nhiên và môi trường kiểm tra, đó là nguyên do số 1 của những khó khăn vất vả trong đọc hiểu chương trình và nghiên cứu và phân tích ảnh hưởng tác động. Sự hiện hữu của những quy trình tiến độ, kỹ thuật, và những công cụ mạng lưới hệ thống sẽ giúp tăng cường năng lực bảo trì phần mềm .
2.2 Vấn đề về quản lý.
2.2.1 Liên kết với các mục tiêu của tổ chức.
Mục tiêu của tổ chức triển khai diễn đạt là làm thế nào để chứng tỏ được tại sao phải có những hoạt động giải trí góp vốn đầu tư vào bảo trì phần mềm. Phát triển phần mềm bắt đầu là thường dựa trên dự án Bất Động Sản, với quy mô, thời hạn và ngân sách xác lập. Sự nhấn mạnh vấn đề chính là cung ứng một loại sản phẩm phân phối nhu yếu của người sử dụng tương thích về thời hạn và ngân sách. Ngược lại, bảo trì phần mềm thường có những tiềm năng là lan rộng ra vòng đời sống của những phần mềm trở nên càng lâu càng tốt. Ngoài ra, nó hoàn toàn có thể được tinh chỉnh và điều khiển bởi sự thiết yếu để cung ứng nhu yếu của người sử dụng khi update phần mềm và nâng cấp cải tiến. Trong cả 2 trường hợp trên, sự trở lại trên góp vốn đầu tư sẽ không ít rõ ràng .
2.2.2 Nhân viên
Nhân sự đề cập tới làm thế nào để lôi cuốn và giữ chân những nhân viên cấp dưới bảo trì phần mềm. Bảo trì không phải là thường được xem như một việc làm điệu đàng. Như tìm hiểu, nhân viên cấp dưới bảo trì phần mềm chỉ được xem như “ công nhân hạng hai ” và do đó giảm sút ý thức .
2.2.3 Quy trình
Các quá trình vòng đời của phần mềm là một tập hợp những hoạt động giải trí, chiêu thức, cách thực thi và biến hóa, cái mà người sử dụng để tăng trưởng và duy trì phần mềm và những hoạt động giải trí tương quan. Ở Lever quá trình, phần mềm và những hoạt động giải trí bảo trì san sẻ nhiều điểm chung với việc tăng trưởng ( ví dụ, quản trị thông số kỹ thuật phần mềm là một hoạt động giải trí rất quan trọng trong cả 2 hình thức ). Bảo trì cũng yên cầu 1 số ít hoạt động giải trí mà không được tìm thấy trong tăng trưởng phần mềm, những hoạt động giải trí này là thử thách so với thực tại quản trị .
2.2.4 Các khía cạnh về tổ chức bảo trì
Khía cạnh tổ chức triển khai diễn đạt làm thế nào để xác lập được tổ chức triển khai và công dụng sẽ có nghĩa vụ và trách nhiệm bảo trì phần mềm. Các nhóm tăng trưởng phần mềm không nhất thiết phải được giao bảo trì phần mềm khi nó hoạt động giải trí. Trong quyết định hành động đâu là nơi mà phần mềm bảo trì, công dụng này sẽ được đặt, ví dụ với tăng trưởng khởi đầu đi đến một đội ngũ bảo trì vĩnh viễn ( hoặc duy trì ), có một đội ngũ bảo trì vĩnh viễn với nhiều quyền lợi :
- Cho phép chuyên môn.
- Tạo ra các kênh thông tin liên lạc.
- Thúc đẩy không gian làm việc.
- Giảm sự phụ thuộc vào các cá nhân.
- Cho phép kiểm tra định kì.
Vì có rất nhiều ưu điểm và khuyết điểm để lựa chọn, quyết định phải được thực hiện trên từng trường hợp. Phân công trách nhiệm bảo trì là một điều quan trọng, bất kể trong một nhóm đơn lẻ, hoặc trong cơ cấu tổ chức.
2.2.5 Gia công phần mềm
Gia công phần mềm ra quốc tế để bảo trì đã trở thành một ngành công nghiệp lớn. Các tổ chức triển khai đang gia công phần mềm nằm trong hạng mục của những nhà đầu tư. Tuy nhiên, thường tùy chọn gia công phần mềm rất ít là phần việc quan trọng vì những công ty không muốn mất trấn áp cốt lõi kinh doanh thương mại của họ trong mẫu sản phẩm phần mềm. Một trong những thử thách lớn của gia công phần mềm chính là xác lập khoanh vùng phạm vi của những dịch vụ bảo trì, những pháp luật thỏa thuận hợp tác Lever dịch vụ và chi tiết cụ thể trong hợp đồng. Các công ty gia công phải góp vốn đầu tư hạ tầng, và thiết lập tương hỗ từ xa và phải có những người nói ngôn từ địa phương. Gia công phần mềm yên cầu một sự góp vốn đầu tư khởi đầu tốt, và thiết lập quá trình bảo trì .
2.3 Ước tính chi phí bảo trì.
Các kĩ sư phần mềm phải hiểu những dạng thức khác nhau của bảo trì phần mềm, luận bàn ở trên, để xử lý yếu tố ước tính ngân sách bảo trì phần mềm. Đối với mục tiêu lập kế hoạch, dự trù ngân sách là một góc nhìn quan trọng của kế hoạch để bảo trì phần mềm .
2.3.1 Ước tính chi phí
Mục 2.1.3 diễn đạt cách nghiên cứu và phân tích tác động ảnh hưởng, xác lập tổng thể những mạng lưới hệ thống và những mẫu sản phẩm phần mềm bị ảnh hưởng tác động bởi một nhu yếu đổi khác phần mềm và ước tính nguồn lực thiết yếu để tăng trưởng và triển khai biến hóa. Dự toán ngân sách bảo trì được ảnh hưởng tác động bởi nhiều yếu tố kĩ thuật và không kĩ thuật. IEEE 14.764 cho rằng “ hai giải pháp thông dụng nhất để tiếp cận ước tính ngân sách và nguồn lực cho bảo trì phần mềm là việc sử dụng những quy mô và sử dụng kinh nghiệm tay nghề. Một sự phối hợp của hai giải pháp này cũng được sử dụng .
2.3.2 Mô hình tham biến
Mô hình tham biến chi phí (mô hình toán học) đã được áp dụng để bảo trì phần mềm. Có ý nghĩa là dữ liệu lịch sử từ bảo trì đã qua là cần thiết để sử dụng và hiệu chuẩn các mô hình toán học. Thuộc tính điều khiển chi phí ảnh hưởng tới dự toán.
2.3.3 Kinh nghiệm
Kinh nghiệm, trong những hình thức của sự phỏng đoán từ chuyên viên, thường được sử dụng để ước tính ngân sách trong nỗ lực bảo trì. Rõ ràng, cách tiếp cận tốt nhất để ước đạt bảo trì là phối hợp những tài liệu lịch sử vẻ vang và kinh nghiệm tay nghề. giá thành để thực thi sửa đổi ( về số lượng của con người và số lượng thời hạn ). Bảo trì ước đạt tài liệu lịch sử vẻ vang cần được phân phối như thể một hiệu quả của phép đo chương trình .
2.4 Đo lường bảo trì phần mềm.
Các đối tượng người dùng tương quan đến bảo trì phần mềm, mà thuộc tính hoàn toàn có thể bị đo lường và thống kê gồm có : những quy trình, tài nguyên và những mẫu sản phẩm. Có 1 số ít giải pháp phần mềm mà hoàn toàn có thể được bắt nguồn từ những thuộc tính của phần mềm, quy trình tiến độ bảo trì, và nhân viên cấp dưới, gồm có kích cỡ, độ phức tạp, chất lượng, tính dễ hiểu, năng lực bảo trì, và công sức của con người ( effort ). Giải pháp phức tạp của phần mềm cũng hoàn toàn có thể thu được bằng cách sử dụng những công cụ thương mại sẵn có. Những giải pháp này tạo thành một điểm khởi đầu tốt cho chương trình thống kê giám sát của người bảo trì. Thảo luận về những quy trình tiến độ phần mềm và giám sát loại sản phẩm cũng được biểu lộ trong tài liệu Software Engineering Process KA. Chủ đề về chương trình thống kê giám sát phần mềm được miêu tả trong tài liệu Software Engineering Management KA .
2.4.1 Các biện pháp cụ thể
Các nhà bảo trì phải xác lập những giải pháp thích hợp cho một tổ chức triển khai dựa trên thực trạng riêng của tổ chức triển khai đó. Chất lượng phần mềm cho thấy những giải pháp đơn cử để bảo trì. Các giải pháp phụ gồm có những điều sau đây :
- Phân tích: công sức của các kiểm thử viên hay nguồn lực hoặc để chẩn đoán thiếu sót hoặc nguyên nhân thất bại hoặc để xác định các thành phần phải sửa đổi.
- Tách hay thay đổi: các biện pháp của một kiểm thử viên (measures of the maintainer’s effort) kết hợp với việc thực hiện một quy định sửa đổi.
- Tính ổn định: các biện pháp của các hành vi không mong muốn, trong đó gặp phải tại quá trình kiểm thử.
- Khả năng kiểm thử: các biện pháp của các kiểm thử viên và nỗ lực của người sử dụng trong việc cố gắng kiểm tra sửa đổi.
- Các biện pháp khác nhau mà bảo trì sử dụng bao gồm: kích thước của phần mềm, độ phức tạp, tính dễ hiểu và khả năng bảo trì.
Cung cấp những nỗ lực bảo trì phần mềm, bởi chủng loại, cho những loại ứng dụng khác nhau phân phối thông tin kinh doanh thương mại cho người dùng và những tổ chức triển khai của họ. Nó cũng được cho phép so sánh những hồ sơ bảo trì phần mềm nội bộ trong một cơ quan, tổ chức triển khai .
3. Quy trình bảo trì phần mềm
Ngoài những tiến trình công nghệ phần mềm tiêu chuẩn và hoạt động giải trí được miêu tả trong IEEE 14.764, có một số ít hoạt động giải trí mà là duy nhất để bảo trì .
3.1. Các bước trong bảo trì phần mềm
Quy trình bảo trì phân phối những hoạt động giải trí thiết yếu và cụ thể đầu vào / đầu ra cho những hoạt động giải trí như diễn đạt trong IEEE 14764. Các hoạt động giải trí quy trình tiến độ bảo trì của IEEE 14.764 được bộc lộ trong hình 5.2. Các hoạt động giải trí bảo trì phần mềm gồm có :
- Việc thực hiện quy trình,
- Vấn đề và phân tích sửa đổi,
- Thực hiện sửa đổi,
- Xem xét bảo trì / nghiệm thu,
- Tiến hóa phần mềm
- Nghỉ hưu phần mềm
Gần đây, chiêu thức nhanh gọn, nhằm mục đích thôi thúc quy trình ánh sáng, đã được cũng thích nghi với bảo trì. Yêu cầu này xuất phát từ nhu yếu ngày càng tăng cho quay vòng nhanh những dịch vụ bảo trì. Cải tiến quá trình bảo trì phần mềm được tương hỗ bởi những quy mô trưởng thành năng lượng bảo trì phần mềm chuyên được dùng
3.2. Các hoạt động trong bảo trì, bảo dưỡng phần mềm
Quá trình bảo trì gồm những hoạt động giải trí và trách nhiệm thiết yếu để sửa đổi một mẫu sản phẩm phần mềm hiện có trong khi vẫn giữ toàn vẹn của nó. Những hoạt động giải trí và trách nhiệm là nghĩa vụ và trách nhiệm của những nhà bảo trì. Như đã quan tâm, nhiều hoạt động giải trí bảo trì tương tự như như tăng trưởng phần mềm. Bảo trì triển khai nghiên cứu và phân tích, phong cách thiết kế, mã hóa, thử nghiệm, và tài liệu. Họ phải theo dõi những nhu yếu trong hoạt động giải trí của họ, giống như được thực thi trong tài liệu hướng dẫn tăng trưởng và update là đường cơ sở đổi khác. IEEE 14.764 khuyến nghị rằng khi một nhà bảo trì sử dụng một quy trình tăng trưởng, nó phải được đổi khác để cung ứng những nhu yếu đơn cử. Tuy nhiên, để bảo trì phần mềm, 1 số ít hoạt động giải trí tương quan đến tiến trình độc lạ để bảo trì phần mềm .
3.2.1. Các hoạt động độc lập
Có 1 số ít quá trình, hoạt động giải trí, và thực hành thực tế là duy nhất để bảo trì phần mềm :
- Hiểu biết chương trình: các hoạt động cần thiết để có được một kiến thức tổng quát về những gì một sản phẩm phần mềm nào và làm thế nào các bộ phận làm việc cùng nhau.
- Chuyển tiếp: một chuỗi kiểm soát và điều phối các hoạt động trong đó phần mềm được chuyển dần từ các nhà phát triển cho nhà bảo trì.
- Sửa đổi yêu cầu chấp nhận / từ chối: sửa đổi yêu cầu công việc vượt quá một kích thước nhất định / nỗ lực / phức tạp có thể bị từ chối bởi người duy trì và định tuyến lại đến một nhà phát triển.
- Bảo trì giúp đỡ phối hợp: một người dùng cuối và bảo trì phối hợp hỗ trợ chức năng mà gây ra sự đánh giá, ưu tiên, và chi phí của các yêu cầu sửa đổi.
- Phân tích tác động: một kỹ thuật để xác định khu vực bị ảnh hưởng bởi sự thay đổi tiềm năng;
- Hiệp định mức độ bảo trì dịch vụ và giấy phép bảo dưỡng và các hợp đồng: thỏa thuận hợp đồng mô tả các dịch vụ và mục tiêu chất lượng.
3.2.2. Hoạt động hỗ trợ
Bảo trì cũng hoàn toàn có thể thực thi những hoạt động giải trí tương hỗ, ví dụ điển hình như tài liệu hướng dẫn, quản trị thông số kỹ thuật phần mềm, xác định và xác nhận, xử lý yếu tố, phần mềm bảo vệ chất lượng, nhìn nhận và truy thuế kiểm toán. Một hoạt động giải trí tương hỗ quan trọng gồm có đào tạo và giảng dạy những nhà bảo trì và người sử dụng .
3.2.3. Các hoạt động lập kế hoạch bảo trì phần mềm
Một hoạt động giải trí quan trọng để bảo trì phần mềm đang có kế hoạch, và bảo trì phải xử lý những yếu tố tương quan đến 1 số ít quan điểm quy hoạch, gồm có cả :
- Lập kế hoạch kinh doanh (cấp độ tổ chức),
- Lập kế hoạch bảo dưỡng (cấp độ chuyển tiếp),
- Lập kế hoạch phát hành / phiên bản (cấp độ phần mềm)
- Lập kế hoạch yêu cầu thay đổi phần mềm cá nhân (cấp độ yêu cầu)
Ở cấp độ yêu cầu cá nhân, kế hoạch được thực hiện trong quá trình phân tích tác động (xem phần 2.1.3, Phân tích tác động). Các hoạt động lập kế hoạch phát hành / phiên bản yêu cầu các nhà bảo trì:
- Thu thập các ngày khả dụng của các yêu cầu cá nhân,
- Đồng ý với người dùng trên các nội dung của bản phát hành/ phiên bản kế tiếp,
- Xác định các xung đột tiềm năng và phát triển các giải pháp thay thế,
- Đánh giá nguy cơ của một thông cáo được đưa ra và phát triển một kế hoạch dự phòng trong trường hợp các vấn đề sẽ phát sinh,
- Thông báo cho tất cả các bên liên quan
Trong khi những dự án Bất Động Sản tăng trưởng phần mềm thường hoàn toàn có thể lê dài từ vài tháng đến vài năm, tiến trình bảo trì thường lê dài trong nhiều năm. Lập dự trù những nguồn lực là một yếu tố quan trọng của việc lập kế hoạch bảo trì. Lập kế hoạch bảo trì phần mềm nên mở màn với quyết định hành động để tăng trưởng một mẫu sản phẩm phần mềm mới và nên xem xét những tiềm năng chất lượng. Một tài liệu khái niệm cần được tăng trưởng, theo sau là một kế hoạch bảo trì. Khái niệm bảo trì cho mỗi mẫu sản phẩm phần mềm cần phải được ghi trong kế hoạch và cần xử lý
- Phạm vi của bảo trì phần mềm
- Thích ứng của quá trình bảo trì phần mềm
- Xác định các tổ chức bảo trì phần mềm
- Ước tính chi phí bảo trì phần mềm.
Bước tiếp theo là tăng trưởng một kế hoạch bảo trì phần mềm tương ứng. Kế hoạch này cần được chuẩn bị sẵn sàng trong thời hạn tăng trưởng phần mềm và nên xác lập cách người dùng sẽ nhu yếu sửa đổi phần mềm hoặc báo cáo giải trình những yếu tố. Lập kế hoạch bảo trì phần mềm được đề cập trong IEEE 14764. Nó phân phối hướng dẫn cho một kế hoạch bảo trì. Cuối cùng, ở cấp cao nhất, những tổ chức triển khai bảo trì sẽ phải thực thi những hoạt động giải trí lập kế hoạch kinh doanh thương mại ( ngân sách, và nguồn nhân lực kinh tế tài chính ) giống như tổng thể những bộ phận khác của tổ chức triển khai. Quản lý được bàn luận trong những chương nguyên tắc tương quan của công nghệ phần mềm .
3.2.4. Quản lý cấu hình phần mềm
IEEE 14.764 diễn đạt quản trị thông số kỹ thuật phần mềm như thể một yếu tố quan trọng của quy trình bảo trì. Các thủ tục quản trị thông số kỹ thuật phần mềm sẽ phân phối cho việc xác định, xác nhận, và truy thuế kiểm toán của mỗi bước thiết yếu để xác lập, chuyển nhượng ủy quyền, thực thi và phát hành những loại sản phẩm phần mềm. Nó không phải là chỉ đơn thuần là đủ để theo dõi những nhu yếu sửa đổi hoặc yếu tố báo cáo giải trình. Các loại sản phẩm phần mềm và bất kể biến hóa được thực thi cho nó phải được trấn áp. Điều khiển này được thiết lập bằng cách thực thi và thực thi một quy trình quản trị thông số kỹ thuật phần mềm đã được phê duyệt ( SCM ). Quản lý thông số kỹ thuật phần mềm KA cung ứng thông tin cụ thể của SCM và luận bàn về quy trình mà những nhu yếu đổi khác phần mềm trình, nhìn nhận và phê duyệt. SCM để bảo trì phần mềm là khác nhau từ SCM cho tăng trưởng phần mềm trong số đổi khác nhỏ mà phải được trấn áp trên phần mềm hoạt động giải trí. Quá trình SCM được triển khai bằng cách tăng trưởng và theo một kế hoạch quản trị thông số kỹ thuật phần mềm và tiến trình hoạt động giải trí. Bảo trì tham gia Ban trấn áp thông số kỹ thuật để xác lập nội dung của việc phát hành / phiên bản tiếp theo .
3.2.5. Chất lượng phần mềm
Nó không phải là chỉ đơn thuần là đủ để kỳ vọng rằng việc ngày càng tăng chất lượng sẽ cho tác dụng từ việc bảo trì phần mềm. Bảo trì cần phải có một chương trình chất lượng phần mềm. Nó phải được quy hoạch và tiến trình phải được thực thi để tương hỗ quy trình bảo trì. Các hoạt động giải trí và kỹ thuật để bảo vệ chất lượng phần mềm ( SQA ), V và V, nhìn nhận, và truy thuế kiểm toán phải được lựa chọn trong sự phối hợp với tổng thể những quy trình khác để đạt được mức mong ước về chất lượng. Nó cũng khuyến nghị rằng những nhà bảo trì thích ứng với quy trình tăng trưởng phần mềm, kỹ thuật và phân phôi ( ví dụ, tài liệu thử nghiệm ), và hiệu quả xét nghiệm. Thông tin chi tiết cụ thể hoàn toàn có thể được tìm thấy trong những phần mềm chất lượng KA .
4. Các kĩ thuật trong bảo trì phần mềm
Chủ đề này ra mắt 1 số ít kỹ thuật thường được gật đầu sử dụng trong bảo trì phần mềm .
4.1. Đọc hiểu chương trình
Các lập trình viên dành nhiều thời hạn đọc sách và những chương trình sự hiểu biết đáng kể để thực thi đổi khác. Trình duyệt mã là công cụ quan trọng cho chương trình hiểu và được sử dụng để tổ chức triển khai và mã nguồn lúc bấy giờ. Tài liệu rõ ràng và súc tích cũng hoàn toàn có thể tương hỗ trong chương trình hiểu .
4.2. Tái cấu trúc
Tái cấu trúc được định nghĩa là việc kiểm tra và biến hóa phần mềm để pha nó trong một hình thức mới, và gồm có việc triển khai tiếp theo của hình thức mới. Nó thường không được triển khai để cải tổ năng lực bảo trì nhưng để sửa chữa thay thế lão hóa phần mềm thừa kế. Tái cấu trúc là một kỹ thuật tái cấu trúc đó nhằm mục đích tổ chức triển khai lại một chương trình mà không cần biến hóa hành vi của nó. Nó tìm cách cải tổ cấu trúc chương trình và bảo trì của nó. Kỹ thuật refactoring hoàn toàn có thể được sử dụng trong quy trình đổi khác nhỏ .
4.3. Kĩ thuật đảo ngược
Kỹ thuật đảo ngược là quy trình nghiên cứu và phân tích phần mềm để xác lập thành phần của phần mềm và liên mối quan hệ của họ và tạo ra những cơ quan đại diện thay mặt của những phần mềm dưới hình thức khác hoặc ở mức độ trừu tượng cao hơn. Kỹ thuật đảo ngược là thụ động ; nó không đổi khác phần mềm hoặc hiệu quả trong phần mềm mới. Nỗ lực đảo ngược kỹ thuật sản xuất đồ thị cuộc gọi và đồ thị luồng tinh chỉnh và điều khiển từ mã nguồn. Một loại kỹ thuật đảo ngược là tài liệu hóa lại. Một loại khác là phục sinh phong cách thiết kế. Cuối cùng, tài liệu kỹ thuật đảo ngược, nơi schemas logic được tịch thu từ cơ sở tài liệu vật lý, đã trở nên quan trọng trong vài năm qua. Công cụ là chìa khóa cho kỹ thuật và trách nhiệm tương quan ngược như tài liệu hóa lại và phục sinh phong cách thiết kế .
4.4. Chuyển đổi và tích hợp
Trong suốt cuộc đời của phần mềm, nó có thể phải được sửa đổi để chạy trong môi trường khác nhau. Để di chuyển nó đến một môi trường mới, các nhà bảo trì cần phải xác định các hành động cần thiết để thực hiện việc chuyển đổi, và sau đó phát triển và tài liệu hóa các bước cần thiết để thực hiện việc di chuyển trong một kế hoạch di cư bao gồm các yêu cầu chuyển đổi, công cụ chuyển đổi, chuyển đổi của sản phẩm và dữ liệu, thực hiện, xác minh, và hỗ trợ. Phần mềm di cư cũng có thể kéo theo một số hoạt động khác như:
- Thông báo về mục định: một tuyên bố về lý do tại sao môi trường cũ không còn được hỗ trợ, theo sau là một mô tả của môi trường mới và ngày sẵn có.
- Các hoạt động song song: làm cho có sẵn các môi trường cũ và mới để người dùng trải nghiệm một chuyển đổi suôn sẻ với môi trường mới.
- Thông báo hoàn thành: khi di chuyển dự kiến được hoàn tất, một thông báo được gửi đến tất cả có liên quan.
- Xem xét sau phẫu thuật: đánh giá về hoạt động song song và tác động của thay đổi môi trường mới.
- Dữ liệu lưu trữ: lưu trữ các dữ liệu phần mềm cũ.
4.5. Nghỉ hưu phần mềm
Một khi phần mềm đã đạt đến kết thúc của đời sống có ích của nó, nó phải được nghỉ hưu. Một nghiên cứu và phân tích nên được thực thi để tương hỗ trong việc đưa ra những quyết định hành động nghỉ hưu. Phân tích này nên được gồm có trong kế hoạch nghỉ hưu, trong đó gồm có những nhu yếu về hưu, tác động ảnh hưởng, thay thế sửa chữa, lịch trình, và nỗ lực. Tiếp cận của những kho tàng trữ những bản sao của tài liệu cũng hoàn toàn có thể được gồm có. Nghỉ hưu phần mềm yên cầu một số ít hoạt động giải trí tương tự như như di cư .
5. Công cụ sử dụng trong bảo trì phần mềm
Chủ đề này gồm có những công cụ đặc biệt quan trọng quan trọng trong việc bảo trì phần mềm, nơi phần mềm hiện đang được sửa đổi. Các ví dụ về chương trình hiểu gồm có :
- Cắt chương trình, mà chỉ chọn các phần của một chương trình bị ảnh hưởng bởi sự thay đổi;
- Phân tích tĩnh, cho phép xem chung và bản tóm tắt của một nội dung chương trình;
- Phân tích động, cho phép các nhà bảo trì để theo dõi con đường thực hiện của một chương trình;
- Phân tích lưu lượng dữ liệu, cho phép các nhà bảo trì để theo dõi tất cả các luồng dữ liệu có thể có của một chương trình;
- Tham chiếu xuyên qua, tạo ra các chỉ số thành phần của chương trình;
- Phân tích phụ thuộc, giúp bảo trì phân tích và hiểu được mối quan hệ giữa các thành phần của một chương trình.
Các công cụ kỹ thuật đảo ngược tương hỗ quy trình này bằng cách làm ngược từ một loại sản phẩm hiện có để tạo ra những đồ tạo tác như đặc thù kỹ thuật và phong cách thiết kế ra mắt, sau đó hoàn toàn có thể được đổi khác để tạo ra một loại sản phẩm mới từ một tuổi. Bảo trì cũng sử dụng phần mềm kiểm tra, quản trị thông số kỹ thuật phần mềm, tài liệu phần mềm, và những công cụ đo lường và thống kê phần mềm .