Lai hóa tái ký nghệ phần mềm
Trang 1Hybrid Re-engineering
Lai hoá tái kỹ nghệ PM
Trang 2Nội dung trình bày
Là gì?
Cách thức thực hiện? Rủi ro?
Tiếp cận như thế nào?
Lợi ích?
Trang 3Hybrid re-engineering là gì?
SATC đã đặt ra cụm từ "Hybrid Re-engineering " có
nghĩa là quy trình tái kỹ nghệ sử dụng không chỉ duy nhất mà còn là một sự kết hợp của các cấp trừu tượng
và phương pháp thay đổi để chuyển tiếp một hệ thống
đã có thành một hệ thống đích.
Trang 4Kế hoạchNgân sách
Trang 5Hybrid re-engineering là gì?
Tái kỹ nghệ như là một phương pháp luận sự phát triển có những rủi
ro vốn, chẳng hạn như lịch trình, tính năng, chi phí và chất lượng
Hybrid re-engineering được phát triển để giảm:
Một số những rủi ro khi các gói Cots được mong đới có thể có độ tin cậy cao
•Tối thiểu thời gian phát triển.
•Tối thiểu thời gian phát triển.
•Tối thiểu thời gian phát triển.
Tối thiểu thời gian phát triển
Trang 6Hybrid re-engineering thực hiện ntn?
C u s t o m
G l u e
COTS
CustomSoftware
Translation
Re-designRe-codeRe-specify
Trang 7Hybrid re-engineering thực hiện ntn?
Custom Track Hybrid Re-engineering
COTS Track Hybrid Re-engineering
Translation Track Hybrid Re-engineering
Trang 8Hybrid re-engineering thực hiện ntn?
Translation Track Hybrid Re-engineering
Mã không
ổn định
Mã ổn định
Trang 9Hybrid re-engineering thực hiện ntn?
Translation Track Hybrid Re-engineering
Tái kỹ nghệ mã ổn định có thể không đòi hỏi tất cả kỹ nghệ ngược (Reverse engineering), nó có thể thực hiện đơn
mới hay môi trường mới Quá trình này được coi là
Translation Track Hybrid Re-engineering.
Trang 10Hybrid re-engineering thực hiện ntn?
Translation Track Hybrid Re-engineering
Rủi ro
Khi chuyển từ một ngôn ngữ sang một ngôn ngữ khác, đoạn mã có thể có cú
pháp của ngôn ngữ lập trình mới nhưng không có cấu trúc hoặc tính năng mới
Khi dịch từng dòng sẽ không tận dụng được lợi thế của ngôn ngữ mới, cấu trúc
Nhiều mã nguồn cho phép hỗ trợ việc chuyển đổi từ một ngôn ngữ, hệ điều
hành nào đó sang ngôn ngữ, hệ điều hành khác Mã nguồn dịch có thể không
giải quyết vấn đề này
Các đoạn mã cũ đều đạt tiêu chuẩn, điều này không đảm bảo rằng các đoạn
mã mới sẽ có chất lượng tương tự Nếu không đạt được chất lượng đó, các
đoạn mã cần phải được cải thiện
Trang 11Hybrid re-engineering thực hiện ntn?
Translation Track Hybrid Re-engineering
Rủi ro
Nếu 20-30% mã dịch phải thay đổi để cải thiện chất lượng
của nó hoặc để đáp ứng tiêu chuẩn thì đoạn mã đó không
nên sử dụng và tất cả các chức năng và thành phần nên tái
kỹ nghệ theo hướng khác.
Trang 12Hybrid re-engineering thực hiện ntn?
Custom Track Hybrid Re-engineering
COTS Track Hybrid Re-engineering
Translation Track Hybrid Re-engineering
Trang 13Hybrid re-engineering thực hiện ntn?
COTS Track Hybrid Re-engineering
Trang 14Hybrid re-engineering thực hiện ntn?
COTS Track Hybrid Re-engineering
Áp dụng các kỹ thuật của kỹ nghệ
ngược phần mềm để xác định các yêu cầu
Yêu cầu phải chứa trong hệ thống đích
Sử dụng các lợi thế Cots để giảm thời gian phát triển và tăng độ tin cậy
Kiểm thử vẫn cần thiết trong sự hòa hợp môi trường
Trang 15Hybrid re-engineering thực hiện ntn?
COTS Track Hybrid Re-engineering
Sử dụng gói cots các phần mềm sẽ không thực hiện được quảng cáo hay như
dự đoán, rằng nó là không tin cậy, non nớt hay không đầy đủ Phần mềm cũng có thể phải thường xuyên yêu cầu nhà sản xuất phiên bản cải tiến không ngừng
nâng cấp Trong trường hợp xấu hơn, thay đổi này có thể thay đổi hoặc loại bỏ
các chức năng cần thiết cho hệ thống
Rủi ro
COTS có thể đòi hỏi phải sửa đổi hoặc bổ sung để phù hợp với các yêu cầu,
làm tăng thời hạn hoặc giảm bớt sự đáng tin cậy
Việc sử dụng một COTS có thể giới hạn các thêm các cải tiến cho hệ
thống, vì các thay đổi trong COTS đã cung cấp các chức năng không thể
xảy ra do các kết quả chấp nhận được
Trang 16Hybrid re-engineering thực hiện ntn?
Custom Track Hybrid Re-engineering
COTS Track Hybrid Re-engineering
Translation Track Hybrid Re-engineering
Trang 17Hybrid re-engineering thực hiện ntn?
Custom Track Hybrid Re-engineering
Trang 18Hybrid re-engineering thực hiện ntn?
Custom Track Hybrid Re-engineering
Kỹ nghệ ngược được thực hiện đầu tiên
Các chức năng không thỏa mãn bởi các gói COTS
hoặc do đã dịch mã phải được đồng nhất hóa, và các
yêu cầu của chúng và kế hoạch được tóm lược.
Kỹ nghệ chuyển tiếp lúc đó được thực hiện
Khởi đầu với các yêu cầu phân tích, với mục tiêu của việc nhận biết các yêu cầu không cần thiết
Tiến trình lúc đó tương tự như bất kỳ quá trình phát triển nào, bắt đầu với việc phát triển một
thiết kế mới, với cấu trúc hướng đối tượng nếu được đòi hỏi
Sau đó thực thi mã và kiểm thử.
Trang 19Hybrid re-engineering thực hiện ntn?
Custom Track Hybrid Re-engineering
Ưu điểm là mã kết quả đáp ứng các yêu cầu chính xác Các mã được phát triển
nên chất lượng cao và cũng có cấu trúc, đòi hỏi chút sửa chữa bảo dưỡng
Khó khăn tương tự như phát triển phần mềm tiêu chuẩn, trong đó mã này có
thể không đáng tin cậy, cần phải kiểm tra thêm, và rằng sự phát triển / thử
nghiệm quá trình có thể vượt thời gian và ngân sách chi phí
Mã custom cũng rủi do như bất kỳ mã nào, từ chất lượng, độ tin cậy và thời hạn Vì hầu hết các chức
năng của hệ thống cũ đã nhận biết là duy nhất để hệ thống sẽ được thực hiện với mã custom, rủi ro là
một trong những đặc trưng sẽ không được nhận ra và chức năng của hệ thống mới sẽ thiếu
Trang 20Tiếp cận Hybrid re-engineering
Hybrid Re-engineering đòi hỏi một cách tiếp cận tái kỹ nghệ truyền thống , nhưng với những bổ sung cần thiết
Để tiếp cận Hybrid re-engineering có 4 bước
Trang 21Thời gian phải được xây dựng để kiểm tra nghiên cứu tí mỉ COTS có sẵn
Trong quá trình kỹ nghệ chuyển tiếp thời gian phát triển nên giảm xuống với việc sử dụng COTS và mã dịch, thêm thời gian sẽ cần cho việc kiểm thử sự thích hợp và giao diện của sản phẩm
Ràng buộc ngân sách cũng phải được xem xét
Uỷ thác quản lý và nhu cầu của tổ chức cũng phải được xác định
Theo ba bước phát triển, cân bằng sẽ là cần thiết vì vậy nó rất
quan trọng để ưu tiên các yêu cầu
Trang 22Tiếp cận Hybrid re-engineering
Bước 2
Phân tích sâu vào bên trong hệ thống di sản kế thừa, tập trung vào chức năng
và các đoạn mã thích hợp cho mỗi bước (Translation, Custom, Cots)
Trong tái kỹ nghệ phần mềm, phân tích của hệ thống hiện hành thường được
thực hiện để cung cấp đánh giá chất lượng của hệ thống hiện có và chi phí bảo trì Thông tin này được sử dụng để biện minh cho các chi phí và cải tiến ở cuối dự án
Lưu ý
Trong quá trình phân tích hệ thống di sản, các thành phần và chức năng phải
được được xác định
Mã nguồn phải được sắp xếp bởi chi phí bảo trì, và chất lượng của các cơ
cấu hiện tại
Trang 23Tiếp cận Hybrid re-engineering
Bước 3
Sau khi mã đã được chia ra thành những track, từng track
sẽ tiến hành độc lập Các kế hoạch hoàn thành các track
sẽ khác nhau dựa trên các nhiệm vụ Như là những track
bao gồm các nhiệm vụ khác nhau, sự hợp nhất của các
sản phẩm cuối cùng có thể bắt đầu.
Trang 24Thứ hai, biện minh cho việc tái kỹ nghệ được yêu cầu – làm những lợi ích thu được biện minh cho những chi phí bỏ ra
Trang 25Lợi ích của Hybrid re-engineering
Trong tái kỹ nghệ, hệ thống hiện có được tái triển khai thực hiện với phương pháp phát triển phần mềm tốt, các thuộc tính, và công nghệ mới trong khi duy trì các chức năng hiện tại Độ tin cậy và bảo trì cũng được cải thiện
Hybrid Re-engineering có thêm các lợi ích của một lịch trình phát triển giảm, do đó giảm chi phí, sử dụng tối thiểu thời gian làm việc của kỹ
nghệ đảo ngược