Chương 5: Bảo trì phần mềm | SWEBOK3

Mục lục

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 đó các mẫu sản phẩm phần mềm phải biến hóa và tăng trưởng. Sau khi hoạt động giải trí, các 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 mẫu sản phẩm, nhưng phần lớn 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 các tổ chức triển khai. Điều này đang biến hóa, các 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 các hoạt động giải trí thiết yếu để cung ứng 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 quá trình trước khi chuyển giao cũng như trong quá 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 các 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 các 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 nghề dịch vụ bảo trì phần mềm tương quan tới toàn bộ các 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ể các nghành khác trong bảo trì phần mềm .

Sơ đồ bảo trì phần mềm

1. Cơ bản về bảo trì phần mềm

Mục tiên phong trình làng các 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ì các 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, các ả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 các 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 triển khai các hoạt động giải trí bảo trì ; nhiều lúc sẽ đề cập đến những cá thể thực thi các hoạt động giải trí khác hẳn với các nhà tăng trưởng. IEEE 14.764 xác lập các hoạt động giải trí chính của bảo trì phần mềm giống như thực thi các quy trình tiến độ, nghiên cứu và phân tích các 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 bàn 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 các kiến thức và kỹ năng từ các 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 các 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 một số ít trường hợp, các 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 mẫu sản phẩm ( artifacts ) ( ví dụ source code, tài liệu … ) từ các 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 phân phối 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 đổi khác 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ó các 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 đông các 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, các nghiên cứu và điều tra 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 các hành vi khắc phục. Nhóm các nâng cấp cải tiến và thay thế sửa chữa 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 các ý 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ề các 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ó kỹ năng và kiến thức về các yếu tổ tác động ảnh hưở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, nghiên cứu và điều tra đưa đến việc kiến thiết 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à triển khai xong, và nó liên tục tăng trưởng ; nó trở nên phức tạp hơn, trừ khi một 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, sửa chữa thay thế ), 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 cung ứng các thử thách độc lập về kỹ thuật và quản trị cho các 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 các 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 mẫu sản phẩm, thường gồm có code cho tới khi tạo ra các 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 một 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 các 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 sửa chữa thay thế 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 các 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 hầu hết thời hạn và tài lộc. Để bảo vệ rằng, các 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 ( các 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 các thành viên trong đội bảo trì đang làm các 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 các tính năng quan trọng, nó khó hoàn toàn có thể offline để thực thi kiểm thử. Kiểm thử không hề triển khai trong môi trường tự nhiên 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 diễn đạt cách triển khai, ngân sách, một cách nghiên cứu và phân tích vừa đủ về tác động ảnh hưởng của sự biến hóa trong phần mềm hiện có. Bảo trì phải có một kiến thức và kỹ năng 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 các nghiên cứu và phân tích ảnh hưởng tác động, trong đó xác lập toàn bộ các mạng lưới hệ thống và loại 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 chi phi tăng trưởng và các nguồn lực thiết yếu để triển khai các biến hóa. Ngoài ra, rủi ro tiềm ẩn làm đổi khác được các quyết định hành động. Các nhu yếu đổi khác, 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 tác động ảnh hưởng được triển khai 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 các trách nhiệm nghiên cứu và phân tích ảnh hưởng tác độ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 các mẫu 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 các phần mềm sao cho tương thích với các thiên nhiên và môi trường và chi tiết 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 các 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 thực thi 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à liên tục bỏ lỡ nhu yếu của các 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à môi trường tự nhiên 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 tác động ảnh hưởng. Sự hiện hữu của các quy trình tiến độ, kỹ thuật, và các 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 miêu tả là làm thế nào để chứng tỏ được tại sao phải có các 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 khởi đầ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ó các tiềm năng là lan rộng ra vòng đời sống của các 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 để phân phối 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 các 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 quy trình tiến độ vòng đời của phần mềm là một tập hợp các hoạt động giải trí, giải pháp, 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à các hoạt động giải trí tương quan. Ở Lever quy trình tiến độ, phần mềm và các 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 một 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à tính nă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ì, tính năng này sẽ được đặt, ví dụ với tăng trưởng bắt đầ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 các 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ì các 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 loại 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 các dịch vụ bảo trì, các lao lý thỏa thuận hợp tác Lever dịch vụ và 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ư bắt đầu tốt, và thiết lập tiến 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 các dạng thức khác nhau của bảo trì phần mềm, tranh luậ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 ảnh hưởng tác động, xác lập toàn bộ các mạng lưới hệ thống và các mẫu sản phẩm phần mềm bị ảnh hưởng tác động bởi một nhu yếu biến hóa phần mềm và ước tính nguồn lực thiết yếu để tăng trưởng và triển khai đổi khác. Dự toán ngân sách bảo trì được tác động ảnh hưởng bởi nhiều yếu tố kĩ thuật và không kĩ thuật. IEEE 14.764 cho rằng “ hai chiêu thức 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 các quy mô và sử dụng kinh nghiệm tay nghề. Một sự phối hợp của hai chiêu thức 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 các 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à tích hợp các tài liệu lịch sử vẻ vang và kinh nghiệm tay nghề. Ngân sách chi tiêu để triển khai 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ử dân tộc cần được phân phối như thể một tác dụng 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 tiêu 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ó : các quy trình, tài nguyên và các 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ừ các thuộc tính của phần mềm, quá trình 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à sức lực lao động ( 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 các 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ề các quy trình tiến độ phần mềm và đo lường và thống kê 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 đo lường và thống kê phần mềm được diễn đạ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 các 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 các 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 các nỗ lực bảo trì phần mềm, bởi chủng loại, cho các 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à các tổ chức triển khai của họ. Nó cũng được cho phép so sánh các 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 các quá 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ì cung ứng các 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ư miêu tả trong IEEE 14764. Các hoạt động giải trí quá trình bảo trì của IEEE 14.764 được biểu 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 các dịch vụ bảo trì. Cải tiến quy trình tiến độ bảo trì phần mềm được tương hỗ bởi các quy mô trưởng thành năng lượng bảo trì phần mềm chuyên sử 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 các hoạt động giải trí và trách nhiệm thiết yếu để sửa đổi một loại 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 các nhà bảo trì. Như đã quan tâm, nhiều hoạt động giải trí bảo trì tựa như như tăng trưởng phần mềm. Bảo trì thực thi 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 các 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 các nhu yếu đơn cử. Tuy nhiên, để bảo trì phần mềm, một số ít hoạt động giải trí tương quan đến quy trình tiến độ độc lạ để bảo trì phần mềm .

3.2.1. Các hoạt động độc lập

Có một số ít quy trình tiến độ, 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ể triển khai các 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ó huấn luyện và đào tạo các 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ý các 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 các 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, quá trình bảo trì thường lê dài trong nhiều năm. Lập dự trù các 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 khởi đầu 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 các 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 các yếu tố. Lập kế hoạch bảo trì phần mềm được đề cập trong IEEE 14764. Nó cung ứng hướng dẫn cho một kế hoạch bảo trì. Cuối cùng, ở cấp cao nhất, các tổ chức triển khai bảo trì sẽ phải thực thi các 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ư toàn bộ các bộ phận khác của tổ chức triển khai. Quản lý được luận bàn trong các 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ẽ cung ứng 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 các mẫu sản phẩm phần mềm. Nó không phải là chỉ đơn thuần là đủ để theo dõi các 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 triển khai 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 phân phối thông tin cụ thể của SCM và tranh luận về quy trình mà các 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ố biến hóa 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 thực thi 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à quy trình tiến độ 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 hiệu quả 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 triển khai để 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ể các quy trình khác để đạt được mức mong ước về chất lượng. Nó cũng khuyến nghị rằng các 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 cụ thể hoàn toàn có thể được tìm thấy trong các 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 trình làng 1 số ít kỹ thuật thường được đồng ý 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à các chương trình sự hiểu biết đáng kể để triển khai đổ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 thực thi tiếp theo của hình thức mới. Nó thường không được thực thi để 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 các cơ quan đại diện thay mặt của các 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 biến hóa 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 điều khiển và tinh chỉnh 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à hồi 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 hữu dụng 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 các 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ó các 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 các kho tàng trữ các 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 1 số ít hoạt động giải trí tựa 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ó các 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 các đồ 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à các công cụ giám sát phần mềm .

Source: https://thevesta.vn
Category: Dịch Vụ