
Bảo trì phần mềm là gì? Phân biệt các loại bảo trì
Last updated: May 09, 2022 Xem trên toàn màn hình



- 04 Mar 2020
Kinh nghiệm lập dự toán chi phí dự án phần mềm theo phương pháp Man-Month 2138
- 01 Jul 2023
Phương pháp Shuhari - Làm sao học ít hiểu nhiều? 584
- 01 Aug 2022
"Sponsored Content" là gì? Khác nhau giữa Sponsored Content và Native Advertising? 519
- 01 Feb 2022
Thách thức với doanh nghiệp chuyển đổi số trong thời đại VUCA 494
- 04 Jan 2023
Phát triển phần mềm linh hoạt theo mô hình Big Bang 486
- 18 May 2021
Cây cầu hiện đại vô dụng nhất thế giới và câu chuyện cái kết của thay đổi yêu cầu 414
- 03 Mar 2020
Giả định (Assumption ) là gì? Tại sao giả định rất quan trọng với dự án? 371
- 03 May 2022
Mô hình Hybrid Agile là gì? 353
- 15 Apr 2020
Phần mềm BPM là gì? So sánh với ERP và các phần mềm Workflows 329
- 03 Feb 2020
Sản phẩm OEM và ODM là gì? 320
- 18 Mar 2021
Kỹ thuật ước lượng dự án phần mềm linh hoạt dựa vào Story Point - phương pháp T-Shirt Sizing 314
- 20 Jul 2021
Quản lý và đánh giá công việc theo quy trình TIGO SmartWork 275
- 02 Aug 2021
Product Owner làm gì trước khi bắt đầu sprint đầu tiên của dự án (Sprint Zero)? 272
- 12 May 2021
Các yêu cầu thay đổi (Change Requests) - nỗi ám ảnh của team dự án phần mềm 267
- 14 Aug 2022
Khác biệt giữa tiêu chí hoàn thành DOD (Definition of Done) với tiêu chí nghiệm thu (Acceptance Criteria) 266
- 02 Aug 2023
Tổng hợp một số project tham khảo khi xây dựng các ứng dụng theo mô hình Microservices 257
- 01 Aug 2023
Phân tích yêu cầu phần mềm sẽ nhìn vào thực trạng (AS-IS) hay tương lai (TO-BE)? 241
- 28 Jun 2024
Tại sao các kỹ sư IT giỏi nhất lại là những người theo thuyết bất khả tri về công nghệ (technology agnostics)? 226
- 04 Jan 2023
Đánh giá nhân sự theo chuẩn người Nhật 220
- 02 Mar 2018
Tại sao ví Scrum như dòng điện xoay chiều? 207
- 17 Aug 2020
Mục tiêu dự án là gì? Làm thế nào để xác định mục tiêu? 179
- 14 Apr 2019
Product Backlog là gì? Các đặc điểm cơ bản của một Product Backlog 178
- 08 Jan 2022
Yêu cầu thay đổi (Change Request) là gì? Làm thế nào để kiểm soát Change Request? 156
- 14 May 2024
Chiến lược răng lược là gì? Làm thế nào để tận dụng chiến lược răng lược trong kinh doanh? 147
- 08 Mar 2022
Mô hình nguồn mở hoạt động ra sao? 147
- 08 Mar 2020
Vì sao doanh nghiệp cần phải tạo Web bán hàng? 143
- 08 Feb 2021
Quy trình nâng cấp phần mềm quản trị doanh nghiệp TIGO ERP 142
- 24 Mar 2019
Scrum giống như bà mẹ chồng, giúp bạn nhìn ra các lỗi sai 136
- 14 Dec 2022
Phương pháp kiểm tra Fagan Inspection là gì? 135
- 01 May 2023
[Tư vấn CNTT] Quản lý ngân sách CNTT cho doanh nghiệp 132
- 10 May 2021
Phát triển Phần mềm Tinh gọn (Lean Software Development) 129
- 01 Apr 2022
Chi phí nhà thầu phụ chiếm bao nhiêu phần trăm gói thầu? 129
- 01 Sep 2020
Co-founder là gì? Vai trò của các Co-Founder khi lập nghiệp. 129
- 19 Aug 2020
Lift & Shift - Phương pháp tối ưu dịch chuyển hệ thống phần mềm qua đám mây 129
- 17 Feb 2018
Hệ luỵ khi sử dụng Web Hosting từ nhà cung cấp kém chất lượng 118
- 18 Mar 2018
Dịch vụ Hosting cho Website là gì? Các lời khuyên chọn Hosting tốt nhất 110
- 09 Feb 2021
Tầm nhìn là gì? Tí dụ minh họa cụ thể về tầm nhìn 103
- 03 Oct 2021
Khác biệt giữa thiết kế phần mềm và thiết kế công trình xây dựng 98
- 25 Apr 2018
Bảo hộ bản quyền phần mềm dưới khía cạnh sở hữu trí tuệ như thế nào? 86
- 22 Jul 2020
Quản lý dự án phần mềm trong thực tế và câu chuyện thành công của InfoSys 75
Bảo trì phần mềm là gì?
Bảo trì phần mềm (tiếng Anh software maintenance) bao gồm điều chỉnh các lỗi mà chưa được phát hiện trong các giai đoạn trước của chu kỳ sống của một phần mềm, nâng cấp tính năng sử dụng và an toàn vận hành của phần mềm. Bảo trì phần mềm có thể chiếm đến 65%-75% công sức trong chu kỳ sống của một phần mềm.
Nguồn: radixweb
Phân biệt bảo trì phần mềm (software maintenance) và bảo trì hệ thống (system maintenance)
Bảo trì phần mềm (software maintenance) khác với bảo trì hệ thống (system maintenance). Bảo trì hệ thống là các hoạt động diễn ra bên ngoài phần mềm. Thí dụ bảo trì hệ thống bao gồm các công việc:
- Kiểm tra kích thước database log, nếu quá lớn thì tiến hành cắt bỏ (shrink database).
- Kiểm tra dung lượng lưu trữ các tài nguyên số (các file ảnh, tài liệu upload lên server).
- Kiểm tra các lỗ hổng bảo mật trong phân quyền truy cập các folder trên server.
- Kiểm tra các vấn đề xung đột khác có thể gây ra.
Các loại bảo trì phần mềm
Quá trình phát triển phần mềm bao gồm rất nhiều giai đoạn: thu thập yêu cầu, phân tích, thiết kế, xây dựng, kiểm tra, triển khai và bảo trì phần mềm. Nhiệm vụ của giai đoạn bảo trì phần mềm là giữ cho phần mềm được cập nhật khi môi trường thay đổi và yêu cầu người sử dụng thay đổi.
Theo IEEE (1993), thì bảo trì phần mềm được định nghĩa là việc sửa đổi một phần mềm sau khi đã bàn giao để chỉnh lại các lỗi phát sinh, cải thiện hiệu năng của phần mềm hoặc các thuộc tính khác, hoặc làm cho phần mềm thích ứng trong một môi trường đã bị thay đổi. Bảo trì phần mềm được chia thành bốn loại:
- Sửa lại cho đúng (corrective): Là việc sửa các lỗi hoặc hỏng hóc phát sinh. Các lỗi này có thể do lỗi thiết kế, lỗi logic hoặc lỗi coding sản phẩm. Ngoài ra, các lỗi cũng có thể do quá trình xử lý dữ liệu, hoặc hoạt động của hệ thống.
- Thích ứng (adaptative): Là việc chỉnh sửa phần mềm cho phù hợp với môi trường đã thay đổi của sản phẩm. Môi trường ở đây có nghĩa là tất các yếu tố bên ngoài sản phẩm như quy tắc kinh doanh, luật pháp, phương thức làm việc,...
- Hoàn thiện (perfective): Chỉnh sửa để đáp ứng các yêu cầu mới hoặc thay đổi của người sử dụng. Loại này tập trung vào nâng cao chức năng của hệ thống, hoặc các hoạt động tăng cường hiệu năng của hệ thống, hoặc đơn giản là cải thiện giao diện. Nguyên nhân là với một phần mềm thành công, người sử dụng sẽ bắt đầu khám phá những yêu cầu mới, ngoài yêu cầu mà họ đã đề ra ban đầu, do đó, cần cải tiến các chức năng.
- Bảo vệ (preventive): Mục đích là làm hệ thống dễ dàng bảo trì hơn trong những lần tiếp theo.
Nguồn: wiki