Các quy trình cải tiến phần mềm
Mục tiêu - Nắm được một số quy trình cải tiến phần mềm cơ bản - Biết được các chiến lược cải tiến hệ thống - Có khả năng áp dụng các quy trình cải tiến này trên những hệ thống thực. phụ ...
Mục tiêu
- Nắm được một số quy trình cải tiến phần mềm cơ bản
- Biết được các chiến lược cải tiến hệ thống
- Có khả năng áp dụng các quy trình cải tiến này trên những hệ thống thực.
phụ thuộc vào:
- Kiểu phần mềm cần bảo trì
- Quy trình phát triển phần mềm đã được sử dụng
- Kỹ năng và kinh nghiệm của các stakeholder.
Các đề xuất thay đổi là định hướng để cải tiến hệ thống. Phát hiện thay đổi và cải tiến được thực hiện trong vòng đời hệ thống. Các hình vẽ sau đây thể hiện một cách khái quát các quy trình cải tiến hệ thống.
Trên đây là những quy trình cơ bản. Tuy nhiên, với các yêu cầu thay đổi khẩn cấp, ta có thể cài đặt chúng nay mà không cần phải trải qua tất cả các pha của quy trình công nghệ phần mềm. Những yêu cầu thay đổi khẩn cấp thường xảy ra khi:
- Nếu có một lỗi hệ thống nghiêm trọng xảy ra và cần phải sửa chữa.
- Nếu những thay đổi về môi trường của hệ thống gây ra những hiệu ứng không mong đợi.
- Nếu sự thay đổi về mặt nghiệp vụ yêu cầu phải có đáp ứng nhanh.
Để cải tiến hệ thống hiện có, người ta đã đề xuất bốn chiến lược cơ bản:
- Tách hệ thống và chỉnh sửa các quy trình nghiệp vụ
- Tiếp tục bảo trì hệ thống
- Biến đổi hệ thống bằng cách tái kỹ nghệ để nâng cấp khả năng bảo trì của nó.
- Thay thế hệ thống bằng một hệ thống mới
Việc lựa chọn chiến lược cải tiến hệ thống phụ thuộc vào chất lượng hệ thống và giá trị nghiệp vụ của nó.
Các loại hệ thống hiện có được phân loại dựa trên tiêu chí chất lượng và giá trị nghiệp vụ mà nó mang lại như sau:
- Chất lượng thấp và giá trị nghiệp vụ thấp: những hệ thống này nền được tách ra.
- Chất lượng thấp và giá trị nghiệp vụ cao: những hệ thống này có giá trị nghiệp vụ cao nhưng chi phí bảo trì khá lớn. Ta nên tái kỹ nghệ hoặc thay thế bởi một hệ thống thích hợp
- Chất lượng cao và giá trị nghiệp vụ thấp: thay thế bằng các thành phần COTS
- Chất lượng cao và giá trị nghiệp vụ cao: tiếp tục sử dụng và bảo trì hệ thống theo cách thông thường.
Việc đánh giá giá trị nghiệp vụ được thực hiện từ nhiều khung nhìn khác nhau. Phỏng vấn các stakeholder khác nhau và đối sánh kết quả thu được. Các stakeholder thường là:
- Người sử dụng cuối
- Khách hàng của doanh nghiệp
- Người quản lý dây chuyền sản xuất
- Người quản lý công nghệ thông tin
- Người quản lý cao cấp
Đánh giá chất lượng hệ thống thông qua:
- Quy trình nghiệp vụ: quy trình nghiệp vụ đã hỗ trợ cho các mục tiêu nghiệp vụ như thế nào?
- Môi trường hệ thống: môi trường hệ thống có hiệu quả như thế nào và chi phí để bảo trì nó.
- Khả năng ứng dụng: chất lượng của ứng dụng?
Để đo hệ thống, chúng ta có thể thu thập dữ liệu định lượng để tạo ra bản đánh giá về chất lượng của hệ thống.
- Số lượng các yêu cầu thay đổi của hệ thống
- Số lượng các giao diện người dùng khác nhau
- Số lượng dữ liệu được sử dụng trong hệ thống.
Mục tiêu
- Nắm rõ tái kỹ nghệ hệ thống là gì? Ưu và nhược điểm của nó.
- Quy trình tái kỹ nghệ hệ thống
- Phân biệt forward-engineering và re-engineering
Tái kỹ nghệ hệ thống là kỹ thuật cấu trúc lại hoặc viết lại một phần hoặc toàn bộ hệ thống được thừa kế mà không thay đổi các chức năng của nó.
Tái ký nghệ giúp giảm rủi ro vì trong quá trình xây dựng phần mềm mới rủi ro có thể xảy ra là khá cao và giúp giảm chi phí.
Mô hình sau đây giúp phân biệt forward và re-engineering:
Quy trình tái kỹ nghệ bao gồm các hoạt động sau:
- Dịch mã nguồn: chuyển mã lệnh thành ngôn ngữ mới.
- Kỹ nghệ ngược: phân tích chương trình để tìm hiểu nó.
- Cải thiện cấu trúc chương trình
- Mô-đun hoá chương trình: tổ chức lại cấu trúc chương trình
- Tái kỹ nghệ dữ liệu: thu dọn và cấu trúc lại dữ liệu hệ thống
Các nhân tố ảnh hưởng tới chi phí tái kỹ nghệ:
- Chất lượng của hệ thống được tái kỹ nghệ
- Các công cụ hỗ trợ tái kỹ nghệ
- Mức mở rộng cần thiết của việc chuyển đổi dữ liệu
- Những nhân viên có kỹ năng về tái kỹ nghệ hệ thống