Những cách mở rộng phần mềm

23 452 0
Những cách mở rộng phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Những cách Mở rộng phần mềm Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Mục tiêu ● ● ● ● Giải thích việc thay đổi tránh khỏi mà phần mềm hữu ích Thảo luận việc bảo trì phần mềm số chi phí bảo trì Mô tả qui trình liên quan đến việc mở rộng phần mềm Bàn cách tiếp cận dùng để đánh giá chiến lược thay đổi phần mềm thuộc loại di sản Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Thay đổi phần mềm ● Thay đổi phần mềm điều tránh khỏi • • • • • ● Các yêu cầu xuất phần mềm sử dụng; Môi trường nghiệp vụ thay đổi; Các sai sót pahỉ sửa chữa; Các máy tính thiết bị thêm vào hệ thống; Hiệu độ tin cậy hệ thống phải nâng lên Vấn đề tổ chức thực quản lý việc thay đổi hệ thống phần mềm tồn Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Tầm quan trọng mở rộng ● ● ● Các tổ chức có đầu tư khổng lồ cho hệ thống phần mềm họ - chúng tài sản thương mại quan trọng Để bảo toàn giá trị tài sản này, chúng cần phải thay đổi cập nhật Một phần lớn ngân sách phần mềm công ty lớn giành để nâng cấp phần mềm có để phát triển phần mềm Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Mô hình mở rộng xoắn ốc Specifi cat ion Im plem en t ion St art Release Operat ion Validation Release Release Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Cách thức mở rộng chương trình ● ● ● Cần phải tiến hành nghiên cứu qui trình thay đổi hệ thống Lehman Belady đề nghị số “luật” cần phải áp dụng cho tất hệ thống cần phải thay đổi Ngoài cần phải có quan sát nhạy cảm không dựa vào “luật” Những quan sát thường thích hợp với hệ thống lớn phát triển tổ chức lớn Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Các luật Lehman Law Description Continuing change A program that is used in a real-world environment necessarily must change or become progressively less useful in that environment Increasing complexity As an evolving program changes, its structure tends to become more complex Extra resources must be devoted to preserving and simplifying the structure Large program evolution Program evolution is a self-regulating process System attributes such as size, time between releases and the number of reported errors is approximately invariant for each system release Organisational stability Over a program’s lifetime, its rate of development is approximately constant and independent of the resources devoted to system development Conservation of familiarity Over the lifetime of a system, the incremental change in each release is approximately constant Continuing growth The functionality offered by systems has to continually increase to maintain user satisfaction Declining quality The quality of systems will appear to be declining unless they are adapted to changes in their operational environment Feedback system Evolution processes incorporate multi-agent, multi-loop feedback systems and you have to treat them as feedback systems to achieve significant product improvement Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Bảo trì phần mềm ● ● ● Sửa lại chương trình sau đưa vào sử dụng Bảo trì thông thường không bao gồm thay đổi kiến trúc hệ thống Những thay đổi thực việc sửa đổi thành phần có thêm thành phần vào hệ thống Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Bảo trì tránh khỏi ● ● ● Các yêu cầu hệ thống có khả thay đổi hệ thống phát triển môi trường nuôn biến động Do hệ thống chuyển giao không đáp ứng yêu cầu người sử dụng Các hệ thống thường gắn kết với môi trường chúng Khi hệ thống cài đặt môi trường thay đổi môi trường làm thay đổi yêu cầu hệ thống Do đó, hệ thống PHẢI bảo trì chúng muốn có ích môi trường Bùi Th H ng Ch ng 12 M r ng ph n m m Trang Các kiểu bảo trì ● Bảo trì sửa chữa lối phần mềm • ● Bảo trì làm thích nghi phần mềm môi trường vận hành khác • ● Sửa lỗi phần mềm để đáp ứng yêu cầu hệ thống Thay đổi hệ thống cho hoạt động môi trường khác với môi trường ban đầu Bảo trì thêm sửa chức hệ thống • Bùi Th H ng Sửa lại hệ thống để thoả mãn yêu cầu Ch ng 12 M r ng ph n m m Trang 10 Phân bổ nỗ lực bảo trì Fau lt repair ( 17%) Soft ware adapt at ion ( 18 %) Bùi Th H ng Ch Fu n ct ion alit y addit ion or m odifi cat ion ( 65 %) ng 12 M r ng ph n m m Trang 11 Các chi phí cho bảo trì ● ● ● ● Thường lớn chi phí phát triển (từ lần đến 100 lần tuỳ thuộc vào ứng dụng) Bị ảnh hưởng yếu tố kỹ thuật yếu tố phi kỹ thuật Chi phí tăng lên phải bảo trì lâu dài Bảo trì làm thay đổi cấu trúc phần mềm bảo trì sau ngày khó Những phần mềm dùng lâu năm đòi hỏi chi phí bảo hành cao Bùi Th H ng Ch ng 12 M r ng ph n m m Trang 12 Các chi phí phát triển/bảo trì Syst em Syst em 50 100 Developm en t cost s Bùi Th H ng Ch 150 200 250 300 350 400 450 500 M ain t en an ce cost s ng 12 M r ng ph n m m Trang 13 $ Các nhân tô ảnh hưởng đến chi phí bảo trì ● Tính ổn định đội bảo trì • ● Các trách nhiệm hợp đồng • ● Người phát triển hệ thống trách nhiệm bảo trì qui định hợp đồng họ động để thiết kế hệ thống cho dễ dàng thay đổi sau Kỹ nhân viên bảo trì • ● Chi phí bảo trì giảm bớt trì ổn định đội bảo trì thời gian dài Nhân viên bảo trì thường thiếu kinh nghiệm có kiến thức hạn chế lĩnh vực nghiệp vụ ứng dụng Tuổi cấu trúc chương trình • Bùi Th H ng Khi chương trình cũ, cấu trúc chúng bị suy giảm chúng trở nên khó hiểu khó thay đổi Ch ng 12 M r ng ph n m m Trang 14 Dự đoán trước bảo trì ● Dự đoán cho bảo trì liên quan đến việc đánh giá phận hệ thống gây vấn đề có chi phí bảo trì cao • • • Bùi Th H ng Việc chấp nhận thay đổi tuỳ thuộc vào khả bảo trì thành phần bị ảnh hưởng thay đổi này; Việc thực thay đổi làm cho hệ thống bị suy biến giảm sút khả bảo trì nó; Chi phí bảo trì phụ thuộc vào số lượng thay đổi chi phí thay đổi phụ thuộc vào khả bảo trì Ch ng 12 M r ng ph n m m Trang 15 Dự đoán bảo trì What par ts of the system are most likely to be affected by change requests? What par ts of the system will be the most expensive to maintain? Predicting maintainability Predicting system Predicting maintenance changes costs What will be the costs of maintaining this system over the next year? How many change requests can be expected? Bùi Th H ng Ch What will be the lifetime maintenance costs of this system? ng 12 M r ng ph n m m Trang 16 Qui trình mở rộng hệ thống Change requests Bùi Th H ng Impact analysis Release planning Fault repair Platform adaptation Ch ng 12 M r ng ph n m m Change implementa tion System release System enhancement Trang 17 Sửa chữa khẩn cấp Change requests Bùi Th H ng Analyse source code Ch Modify source code ng 12 M r ng ph n m m Deliver modified system Trang 18 Tái cấu hệ thống ● ● ● Tái cấu trúc viết lại phần tất hệ thống cũ mà không làm thay đổi chức Thích hợp số tất hệ thống hệ thống lớn đòi hỏi bảo trì thường xuyên Tái cấu qui trình bao gồm nỗ lực nhằm làm cho hệ thống dễ bảo trì Hệ thống phải cấu trúc lại viết lại tài liệu mô tả Bùi Th H ng Ch ng 12 M r ng ph n m m Trang 19 Ưu điểm tái cấu qui trình ● ● Giảm bớt rủi ro • Khi phát triển phần mềm thường có rủi ro cao Có thể có vân đề phát triển, vấn đề đội ngũ thực vấn đề đặc tả Giảm bớt chi phí • Chi phí cho tái cấu qui trình thường nhiều so với chi phí phân tích phần mềm Bùi Th H ng Ch ng 12 M r ng ph n m m Trang 20 Qui trình tái cấu Program docu m en t at i on Origin al program M odu lari sed program Origin al dat a Reverse en gin eeri n g Program m odu larisat ion Sou rce code t ran sl at ion Dat a re-en gin eerin g Prog ram st ru ct u re im provem en t St ru ct u red program Bùi Th H ng Ch ng 12 M r ng ph n m m Re-en gi n eered dat a Trang 21 Cải tiến hệ thống cũ ● Những tổ chức sở hữu hệ thống cũ cần phải lựa chọn chiến lược cải tiến hệ thống • • • • ● Phá bỏ hoàn toàn sửa lại qui trình nghiệp vụ đến không thích hợp nữa; Tiếp tục trì hệ thống; Chuyển đổi hệ thống cách tái cấu qui trình để nâng cao khả bảo trì nó; Thay ht hệ thống Chiến lược lựa chọn phụ thuộc vào chất lượng hệ thống giá trị thương mại Bùi Th H ng Ch ng 12 M r ng ph n m m Trang 22 Phân loại hệ thống cũ ● Chất lượng thấp, giá trị thương mại thấp • ● Chất lượng thấp, giá trị thương mại cao • ● Những hệ thống có đóng góp quan trọng thương mại bảo trì lại tốn Nên tái cấu lại qui trình thay sẵn có hệ thống thích hợp Chất lượng cao, giá trị thương mại thấp • ● Những hệ thống nên phá bỏ toàn Tuỳ thuộc vào chi phí mà đạp bỏ sử dụng Chất lượng cao, giá trị thương mại cao • Bùi Th H ng Tiếp tục hoạt động với bảo trì thông thường Ch ng 12 M r ng ph n m m Trang 23 [...]... 19 Ưu điểm của tái cơ cấu qui trình ● ● Giảm bớt rủi ro • Khi phát triển một phần mềm mới thường có những rủi ro cao Có thể có những vân đề về phát triển, những vấn đề về đội ngũ thực hiện và những vấn đề về đặc tả Giảm bớt chi phí • Chi phí cho tái cơ cấu qui trình thường ít hơn rất nhiều so với chi phí phân tích một phần mềm mới Bùi Th H ng Ch ng 12 M r ng ph n m m Trang 20 Qui trình tái cơ cấu Program... thuộc vào ứng dụng) Bị ảnh hưởng bởi các yếu tố kỹ thuật và cả các yếu tố phi kỹ thuật Chi phí càng tăng lên khi phải bảo trì lâu dài Bảo trì sẽ làm thay đổi cấu trúc phần mềm vì vậy các bảo trì sau đó sẽ càng ngày càng khó hơn Những phần mềm dùng lâu năm có thể đòi hỏi chi phí bảo hành cao hơn Bùi Th H ng Ch ng 12 M r ng ph n m m Trang 12 Các chi phí phát triển/bảo trì Syst em 1 Syst em 2 0 50 100 Developm... đổi Ch ng 12 M r ng ph n m m Trang 14 Dự đoán trước về bảo trì ● Dự đoán cho bảo trì liên quan đến việc đánh giá những bộ phận của hệ thống có thể gây ra vấn đề và có chi phí bảo trì cao • • • Bùi Th H ng Việc chấp nhận thay đổi tuỳ thuộc vào khả năng có thể bảo trì được của những thành phần bị ảnh hưởng bởi sự thay đổi này; Việc thực hiện các thay đổi sẽ làm cho hệ thống bị suy biến và giảm sút khả... ng 12 M r ng ph n m m Re-en gi n eered dat a Trang 21 Cải tiến hệ thống cũ ● Những tổ chức đang sở hữu các hệ thống cũ cần phải lựa chọn một chiến lược cải tiến các hệ thống này • • • • ● Phá bỏ hoàn toàn và sửa lại những qui trình nghiệp vụ đến nay không còn thích hợp nữa; Tiếp tục duy trì hệ thống; Chuyển đổi hệ thống bằng cách tái cơ cấu qui trình để nâng cao khả năng bảo trì của nó; Thay thế ht bằng... maintaining this system over the next year? How many change requests can be expected? Bùi Th H ng Ch What will be the lifetime maintenance costs of this system? ng 12 M r ng ph n m m Trang 16 Qui trình mở rộng hệ thống Change requests Bùi Th H ng Impact analysis Release planning Fault repair Platform adaptation Ch ng 12 M r ng ph n m m Change implementa tion System release System enhancement Trang 17... n m m Deliver modified system Trang 18 Tái cơ cấu hệ thống ● ● ● Tái cấu trúc hoặc viết lại một phần hoặc tất cả một hệ thống cũ mà không làm thay đổi chức năng của nó Thích hợp khi một số chứ không phải tất cả các hệ thống con của một hệ thống lớn đòi hỏi bảo trì thường xuyên Tái cơ cấu qui trình bao gồm những nỗ lực nhằm làm cho hệ thống dễ bảo trì hơn Hệ thống có thể phải cấu trúc lại và viết lại... thống cũ ● Chất lượng thấp, giá trị thương mại thấp • ● Chất lượng thấp, giá trị thương mại cao • ● Những hệ thống này có đóng góp quan trọng về thương mại nhưng bảo trì lại tốn kém Nên tái cơ cấu lại qui trình hoặc thay thế nếu sẵn có một hệ thống thích hợp Chất lượng cao, giá trị thương mại thấp • ● Những hệ thống này nên phá bỏ toàn bộ Tuỳ thuộc vào chi phí mà có thể đạp bỏ hoặc vẫn sử dụng Chất

Ngày đăng: 25/08/2016, 17:41

Từ khóa liên quan

Mục lục

  • Những cách Mở rộng phần mềm

  • Mục tiêu

  • Thay đổi phần mềm

  • Tầm quan trọng của sự mở rộng

  • Mô hình mở rộng xoắn ốc

  • Cách thức mở rộng chương trình

  • Các luật của Lehman

  • Bảo trì phần mềm

  • Bảo trì là không thể tránh khỏi

  • Các kiểu bảo trì

  • Phân bổ các nỗ lực bảo trì

  • Các chi phí cho bảo trì

  • Các chi phí phát triển/bảo trì

  • Các nhân tô ảnh hưởng đến chi phí bảo trì

  • Dự đoán trước về bảo trì

  • Dự đoán bảo trì

  • Qui trình mở rộng hệ thống

  • Sửa chữa khẩn cấp

  • Tái cơ cấu hệ thống

  • Ưu điểm của tái cơ cấu qui trình

Tài liệu cùng người dùng

Tài liệu liên quan