Vận hành phần mềm được thực hiện từ khi kết thúc sự phát triển của phần mềm. CNPM mới tập trung chủ điểm vào hoạt động phát triển và cải tiến, vận hành chưa được đầu tư đúng đắn Vận hành ứng dụng vẫn được xem rất nghèo nàn trong việc tự động hóa. Vận hành là quan trọng: Các sản phẩm phần mềm được đưa vào thực tế sử dụng ngày càng nhiều. Vấn đề vận hành phần mềm ngày càng gặp nhiều khó khăn Các ứng dụng ngày càng phức tạp, chúng chứa một số lượng lớn các thành phần, các phiên bản , các biến đổi. Các ứng dụng được cải tiến ngày càng nhanh.
Trang 1Tiến TRÌNH 6 VẬN HÀNH VÀ BẢO TRÌ PHẦN MỀM
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Trang 3v ận hành phần mềm
Giới ThiệuI
Vận Hành Phần Mềm Là Gì?II
Các Hoạt Động Vận Hành Phần MềmIII
Trang 4v ận hành phần mềm
I Giới Thiệu:
Vận hành phần mềm được thực hiện từ khi kết thúc sự phát triển của phần mềm
CNPM mới tập trung chủ điểm vào hoạt động phát triển và cải tiến, vận hành chưa được đầu tư đúng đắn Vận hành ứng dụng vẫn được xem rất nghèo nàn trong việc tự động hóa
Vận hành là quan trọng:
Các sản phẩm phần mềm được đưa vào thực tế sử dụng ngày càng nhiều
Vấn đề vận hành phần mềm ngày càng gặp nhiều khó khăn
Các ứng dụng ngày càng phức tạp, chúng chứa một số lượng lớn các thành phần, các phiên bản , các biến đổi.
Các ứng dụng được cải tiến ngày càng nhanh.
Trang 5v ận hành phần mềm
I Giới Thiệu:
Các ứng dụng dựa trên các ứng dụng, các dịch vụ và các thành phần khác nhau như: các hệ điều hành, các dịch
vụ (CSDL,Web…), các hệ soạn thảo, các trình dịch…
Môi trường tính toán được dịch chuyển từ Mainframes đến Workstations
Chúng ta cần cực tiểu hóa thời gian vận hành và chi phí, tránh rủi ro sản phẩm bị hỏng
Trang 7v ận hành phần mềm
III.Các Hoạt Động Vận Hành Phần Mềm
Trang 8v ận hành phần mềm
1.Mô hình hóa quy trình vận hành
Vận hành phần mềm doanh nghiệp được mô hình hóa chia ra thành 3 tầng:
Tầng sản xuất (Producer)
Tầng doanh nghiệp (Enterprise)
Tầng người dùng (User)
Trang 9v ận hành phần mềm
1.Mô hình hóa quy trình vận hành
Các kỹ thuật vận hành hiện thời
Các kỹ thuật SDF,SCM và PM tập trung trên các hoạt động được thực hiện ở tầng sản xuất
CD và IT xử lý việc phát hành ứng dụng từ nơi sản xuất đến các MT người dùng nơi tiêu thụ
ODF, AMS, CDS ở tầng doanh nghiệp và tầng người dùng
Trang 11v ận hành phần mềm
a) Vận hành Produrce
Mục đích: đóng gói và quảng cáo những gì muốn phát hành đến nơi tiêu thụ sản phẩm.
Theo quan điểm của người sản xuất, vận hành ứng dụng gồm 2 hoạt động:
Phát hành
Không phát hành.
Trang 12v ận hành phần mềm
Phát hành ứng dụng: Là hoạt động phải làm trước khi chuyển dịch ứng dụng thực tế đến các nơi tiêu
thụ.
Để phát hành ứng dụng ta cần:
Lựa chọn: Lựa chọn phiên bản, môi trường p/c, p/m thỏa mãn ràng buộc, các thành phần của ứng dụng.
Cấu hình: Thêm, xóa, sửa, định vị các thành phần ứng dụng.
Dịch: Chuyển sang dạng mã nhị phân, hoặc dạng nén.
Phát hành gồm 2 hoạt động nhỏ:
Đóng gói Là tạo ra một gói tự chứa nó.Gói gồm các mã nhân tạo được dịch sang mã nhị phân, các mô hình
ứng dụng và các thông tin cần thiết khác để quản lý ứng dụng, một số công cụ đóng gói phần mềm:
Installshell hoặc Meplnstaller.
Quảng cáo Là hoạt động nhỏ của cả hai hoạt động phát hành và không phát hành, có thể quảng cáo qua
điện thoại, email và các phương tiện thông tin đại chúng khác…
Trang 13v ận hành phần mềm
Không phát hành ứng dụng:
Là ngăn cản sự hỗ trợ của sản phẩm đến các nơi tiêu thụ ứng dụng, hoạt động chính ở đây là nghỉ hưu
Khi một ứng dụng đang nghỉ hưu, phải tạo sự chắc chắn rằng hoạt động này là không ảnh hưởng đến các ứng dụng khác trong kho chứa, ứng dụng không còn được hỗ trợ bởi nhà sản xuất, và không được sử dụng nữa
Trang 15Theo quan điểm kỹ thuật, cơ sở hạ tầng của vận hành tự động sẽ:
Điều khiển hoạt động chuyển dịch từ nơi sản xuất đến nơi thiêu thụ: sử dụng kỹ thuật đẩy (push).
Trong khi điều khiển hoạt động chuyển dịch ở nơi tiêu thụ: sử dụng kỹ thuật kéo (pull).
Sau khi gói ứng dụng được dịch chuyển đến nơi tiêu thụ: tiến trình vận hành Enterprise bắt đầu
Trang 17v ận hành phần mềm
Hoạt động tiền sắp đặt
Đầu vào:
Mô hình doanh nghiệp: mô tả tổ chức của doanh nghiệp, vị trí các MT người dùng và mối quan hệ.
Các chính sách vận hành: giúp điều khiển tiến trình vận hành.
Gói ứng dụng doanh nghiệp: là kết quả của hoạt động lắp ráp ở tầng doanh nghiệp.
Đầu ra: mô hình vận hành
Trang 18v ận hành phần mềm
c) Vận hành User
Mục đích: vận hành vật lý thực tế, lắp ráp và bảo trì phiên bản ứng dụng trên máy tính của người dùng.
Các hoạt động vận hành:
Một số hoạt động xảy ra trong thời gian dịch.
Một số hoạt động xảy ra trong thời gian chạy.
Là một phần của tiến trình vận hành, được bao trùm tốt nhất bởi các kỹ thuật đang tồn tại
Trang 19 Một số hoạt động xảy ra trong thời gian dịch
v ận hành phần mềm
Trang 20 Một số hoạt động xảy ra trong thời gian chạy
v ận hành phần mềm
Trang 21B ảO trì phần mềm
T ng quan v b o trì ph n m m ổ ề ả ầ ềI
Quy trình b o trì ph n m m ả ầ ềII
Nhi m v c a b o trì ph n m m ệ ụ ủ ả ầ ềIV
Ý nghĩa c a b o trì ph n m m ủ ả ầ ềV
Ph ng pháp b o trì ph n m m ươ ả ầ ềVI
Các v n đ khác c a b o trì ph n ấ ề ủ ả ầ mềmVII
Khó khăn của bảo trì phần mềmIII
Trang 22B ảO trì phần mềm
I T ng quan v b o trì ph n m m ổ ề ả ầ ề
a.Định nghĩa:
Bảo trì phần mềm là giai đoạn cuối cùng và tốn kém nhất trong quy trình phát triển phần mềm.
Là quá trình sửa đổi một bộ phận hoặc toàn bộ sản phẩm phần mềm sau khi đã bàn giao nhằm sửa lỗi, cải thiện tính năng hoặc để phần mềm có thể đáp ứng các thay đổi của môi trường
Trang 23B ảO trì phần mềm
I T ng quan v b o trì ph n m m ổ ề ả ầ ề
b.Phân loại: gồm 4 phần
Bảo trì tu sửa(Corrective Maintenance)
Bảo trì thích nghi(Adaptive Maintenance)
Bảo trì cải tiến(Perfective Maintenance)
Bảo trì phòng ngừa
Hình th c b o trì phòng ng a r t ít đ c s d ng trong th c t , đa s v n là hình th c ứ ả ừ ấ ươ ử ụ ự ế ố ẫ ứ
b o trì c i ti n Bi u đ sau cho ta th y s t ng quan gi a 3 hình th c b o trì đ u tiênả ả ế ể ồ ấ ự ươ ữ ứ ả ầ
Trang 24B ảO trì phần mềm
I T ng quan v b o trì ph n m m ổ ề ả ầ ề b.Phân loại:
Biểu đồ tỷ lệ các hình thức bảo trì phần mềm
Trang 25h n, gi m thi u khó khăn do s ph c t p c a các ch c năng gây nên.ơ ả ể ự ứ ạ ủ ứ
Theo Van Vliet thì vi c b o trì ph n m m s ít c n thi t h n n u có càng ít dòng mã ệ ả ầ ề ẽ ầ ế ơ ế
Đ dài mã ngu n là v n đ chính đ xác đ nh t ng chi phí trong su t quá trình b o trì ộ ồ ấ ề ể ị ổ ố ảcũng nh quá trình phát tri n ph n m mư ể ầ ề
Trang 26B ảO trì phần mềm
II Quy trình bảo trì phần mềm
Quy trình c a b o trì ph n m m t ng t nh quy trình phát tri n ph n m m: phân ủ ả ầ ề ươ ự ư ể ầ ềtích, thi t k , th c hi n, ki m th B o trì có th là s a đ i ph n m m cũ, cũng cế ế ự ệ ể ử ả ể ử ổ ầ ề ó th ti n ể ếhành xây d ng ph n m m m i hoàn toànự ầ ề ớ
Hi u ph n m mể ầ ề : hi u là n m ch c các ch c năng,đ c t chi ti t, đi u ki n ki m ể ắ ắ ứ ặ ả ế ề ệ ể
th …, c n dò đ c ch ng trình ngu n, hi u trình t x lý chi ti t c a h th ng Hi u ph n ử ầ ọ ươ ồ ể ự ử ế ủ ệ ố ể ầ
m m th c ch t là có nh ng hi u bi t sâu s c v h th ng ph n m m đang làm gì, nó liên ề ự ấ ữ ể ế ắ ề ệ ố ầ ềquan gì t i môi tr ng c a nó nh th nào,nh n ra đâu là các thay đ i có hi u qu và có ớ ườ ủ ư ế ậ ổ ệ ảcác hi u bi t sâu s c v các ph n đ c s a l i làm vi c nh th nàoể ế ắ ề ầ ượ ử ạ ệ ư ế
Trang 27B ảO trì phần mềm
II Quy trình bảo trì phần mềm
Đ cể ó th thành công trong vi c t o ra các thay đ i đ n h th ng, v n đ c a t ng b ể ệ ạ ổ ế ệ ố ấ ề ủ ừ ộ
ph n, hi u qu thi hành,s liên quan c a nguyên nhân, k t qu , s liên quan c a s n ậ ệ ả ự ủ ế ả ự ủ ả
ph m-môi tr ng và các đ c đi m h tr quy t đ nh c n đ c hi u M i thành viên c a đ i ẩ ườ ặ ể ỗ ợ ế ị ầ ượ ể ọ ủ ộ
b o trì ph i hi u m t cách toàn di n và h th ng N u b o trì b ng cách tu s a ch ng ả ả ể ộ ệ ệ ố ế ả ằ ử ươtrình ph n m m đã có thì c n t o ra các module m i và d ch l i Th c hi n ki m th unit ầ ề ầ ạ ớ ị ạ ự ệ ể ử
và tu ch nh nh ng m c liên quan trong tài li u đ c t C n theo sát tác đ ng c a module ỉ ữ ụ ệ ặ ả ầ ộ ủ
m i đ n các thành ph n khác trong h th ngớ ế ầ ệ ố
Xây d ng ph n m m m iự ầ ề ớ : n u ti n hành xây d ng ph n m m m i thì c n chú ý: ế ế ự ầ ề ớ ầkhi xây thêm ch c năng m i ph i phát tri n cho phù h p v i yêu c uứ ớ ả ể ợ ớ ầ
Trang 28B ảO trì phần mềm
II Quy trình bảo trì phần mềm
Ki m th tính nh t quánể ử ấ : ki m ch ng tính nh t quán b ng ki m th k t h p: đ a ể ứ ấ ằ ể ử ế ợ ưunit đã đ c ki m th vào ho t đ ng trong h th ng, đi u ch nh s t ng thích gi a các ượ ể ử ạ ộ ệ ố ề ỉ ự ươ ữmodul, dùng các d li u tr c đây khi ki m th đ ki m tra l i tính nh t quán.ữ ệ ướ ể ử ể ể ạ ấ
Ki m tra sau b o trìể ả : ki m tra khi hoàn thành b o trì c n ki m tra s s a đ i ể ả ầ ể ự ử ổtrong tài li u đ c t đi kèm, cách ghi t li u có phù h p v i mô t môi tr ng ph n m m ệ ặ ả ư ệ ợ ớ ả ườ ầ ề
Trang 29B ảO trì phần mềm
II Quy trình bảo trì phần mềm
Sơ đồ quy trình bảo trì phần mềm
Trang 30B ảO trì phần mềm
III Khó khăn của bảo trì phần mềm
Th c t là b o trì ph n m m là m ng ki n th c không đ c gi ng d y m t cách h ự ế ả ầ ề ả ế ứ ượ ả ạ ộ ệ
th ng trong các tr ng đ i h c, sinh viên khi ra tr ng thi u sót n n t ng, s hi u bi t ố ườ ạ ọ ườ ế ề ả ự ể ế
và các k thu t, công c h tr trong lĩnh v c b o trì Ngay trong các công ty phát tri n ỹ ậ ụ ỗ ợ ự ả ể
ph n m m Vi t Nam, quy trình b o trì ph n m m cũng ch a đ c th c hi n m t cách ầ ề ở ệ ả ầ ề ư ượ ự ệ ộ
h th ng, ch a có chu n trong vi c b o trì ph n m m, ch a đ c đ u t thích đáng ệ ố ư ẩ ệ ả ầ ề ư ượ ầ ư
Khó khăn cho b o trì có th nhìn th y t góc nhìn c a khách hàng cũng có th t i ả ể ấ ừ ủ ể ớ
t phía nhân viên phát tri n ph n m m Dekleva đ a ra m t báo cáo kh o sát, t góc ư ể ầ ề ư ộ ả ừnhìn c a m t nhân viên b o trì ph n m m đ a ra danh sách 19 v n đ chính c a b o trì ủ ộ ả ầ ề ư ấ ề ủ ả
Trang 31B ảO trì phần mềm
1 Đi theo sự thay đổi các ưu tiên
2 Thiếu kinh nghiệm kiểm thử
3 Khó khăn để đo hiệu năng
4 Tài liệu về phần mềm là không đầy đủ
5 Thích nghi với sự thay đổi nhanh của tổ chức người dùng
6 Yêu cầu cần quá Nihau
7 Khó khăn để đánh giá sự đóng góp của bảo trì trong vòng đời phần mềm.
8 Tinh thần làm việc thấp vì thiếu hiểu biết và quan tâm
9 Ít chuyên gia kinh nghiệm.
Trang 32B ảO trì phần mềm
10 Ít phương pháp, thiếu các chuẩn, thủ tục hoặc công cụ sử dụng
11 Mã nguồn của phần mềm đã có là phức tạp và không có cấu trúc
12 Sự tích hợp, chồng chéo và không tương thích của hệ thống đã có
13 Đào tạo ở bậc thấp cho đội ngũ nhân viên bảo trì
14 Không có kế hoạch chiến lược cho bảo trì
15 Khó khán để hiểu và đáp ứng được yêu cầu của người dùng
16 Thiếu sự thấu hiểu và giúp đỡ từ người quản lý
17 Phần mềm của hệ thống được bảo trì hoạt động trong môi trường lỗi thời
18 Ít dự định để tái thiết kế phần mềm đã có
19 Thiếu nhân lực có chuyên môn
Trang 33B ảO trì phần mềm
IV Nhiệm vụ của bảo trì phần mềm
Nhi m v c a b o trì ph n m m đ c xác đ nh theo t ng giai đo n c a quá trình ệ ụ ủ ả ầ ề ượ ị ừ ạ ủ
Trang 34B ảO trì phần mềm
Phân tích/cô lập
Là nhiệm vụ gồm có sự phân tích tác động, phân tích những giá trị lợi ích và cô lập.phân tích những tác động và phân tích lợi ích bao gồm những công việc khác nhau: quản lý thao tác cũng như các chi phí Cô lập co liên quan đến thời gian sử dụng để hiểu được vấn đề do đâu
Trang 35B ảO trì phần mềm
Th c thi ự
Thay thế các mã và kiểm soát từng đơn vị thành phần, việc thay thế các mã và kiểm soát đơn vị co liên quan đến thời gian lập trình cũng như kiểm nghiệm những thay đổi Nó cũng bao gồm những văn bản phi hình thức giống như các phần mềm kiểm tra kế hoạch, kiểm tra từng đơn vị thông thường chỉ được làm trên phạm vi làm việc của từng người dùng
Trang 36B ảO trì phần mềm
V Ý nghĩa của bảo trì phần mềm
H th ng dù xây d ng t t t i đâu cũng không th ho t đ ng n đ nh trong m t th i ệ ố ự ố ớ ể ạ ộ ổ ị ộ ờgian dài n u không có b o trì.Do đó c n ph i cân đ i gi a tài nguyên và công vi c b o ế ả ầ ả ố ữ ệ ảtrì ph n m m B o trì ph n m m hàng năm M kho ng 70 t đô la cho kho ng 10 t ầ ề ả ầ ề ở ỹ ả ỷ ả ỷdòng code Nokia ph i dùng t i 90 nghìn đô đ s a l i Y2K Nhiả ớ ể ử ỗ ều nghiên c u đ c th c ứ ượ ự
hi n đ xem xét giá tr c a b o trì ph n m m, hay t l gi a công vi c phát tri n ph n ệ ể ị ủ ả ầ ề ỷ ệ ữ ệ ể ầ
m m v i b o trì ph n m m T ng giá tr b o trì h th ng kho ng 50% t ng giá tr c a c ề ớ ả ầ ề ổ ị ả ệ ố ả ổ ị ủ ảvòng đ i ph n m mờ ầ ề
Trang 37B ảO trì phần mềm
VI Phương pháp bảo trì phần mềm
B o trì ph n m m có th đ c th c hi n theo m t s ph ng pháp nh t đ nh, ph ả ầ ề ể ượ ự ệ ộ ố ươ ấ ị ổ
bi n là ba ph ng pháp:ế ươ
Full-reuse
Trang 38B ảO trì phần mềm
Quick-fix
Trang 39B ảO trì phần mềm
Quick-fix
Ph ng pháp nay th c hi n s thay đ i v i code c a ch ng trình ngu n, sau đó ươ ự ệ ự ổ ớ ủ ươ ồupdate s thay đ i v i các file doc đi kèm Đây là ph ng pháp b o trì đ t đ c t c đ ự ổ ớ ươ ả ạ ượ ố ộnhanh chóng nh ng mang đ n nh ng nh c điư ế ữ ượ ểm nh : Vai trò c a file docư ủ s b gi m sút, ị ả
do yêu c u c a ng i s d ng thay đ i nhanh và có th đ nh đ ch thay đ i v ch ng ầ ủ ườ ử ụ ổ ể ủ ỏ ể ỉ ổ ề ươtrình ngu n mà không c p nh p vào fiồ ậ ậ le docs
H n th , do thay đ i tr c ti p vào code c a ch ng trình ngu n, quá trình b o trì r t ơ ế ổ ự ế ủ ươ ồ ả ấ
có th s làm v thi t k ban đ u c a ph n m m.ể ẽ ỡ ế ế ầ ủ ầ ề
Trang 40B ảO trì phần mềm
Interative-enhancement
Trang 41B ảO trì phần mềm
Interative-enhancement
D a trên nh n đ nh r ng m t h th ng khi xây d ng r t khó có th đã đáp ng đ c ự ậ ị ằ ộ ệ ố ự ấ ể ứ ượ
h t yêu c u c a ng i s d ng, ph ng pháp interative- enhance ti n hành xây d ng h ế ầ ủ ườ ử ụ ươ ế ự ệ
th ng hoàn ch nh d a trên c s phân tích b c đ u v yêu c u c a h th ng, ti n hành ố ỉ ự ơ ở ướ ầ ề ầ ủ ệ ố ếphân tích sâu h n yêu c u đ t ra đ i v i ph n m m d a trên ph n h i c a ng i s d ng ơ ầ ặ ố ớ ầ ề ự ả ồ ủ ườ ử ụ
đ xây d ng h th ng m iể ự ệ ố ớ
Có th nh n th y u đi m n i b t c a ph ng pháp này so v i quick-fix là file docs ể ậ ấ ư ể ổ ậ ủ ươ ớ
c a h th ng đ c c p nh t th ng xuyên v i m i s thay đ i c a h th ngủ ệ ố ượ ậ ậ ườ ớ ọ ự ổ ủ ệ ố
Trang 42B ảO trì phần mềm
Full-reuse
Trang 43B ảO trì phần mềm
Full-reuse
M c đích c a tái s d ng l i là nh m tăng năng su t, ch t l ng và tao đi u ki n ụ ủ ử ụ ạ ằ ấ ấ ượ ề ệthu n l i cho vi c chuy n đ i mã,gi m b t th i gian chi phí đ b o trì Có th hi u đ nh ậ ợ ệ ể ổ ả ớ ờ ể ả ể ể ịnghĩa c a vi c tái s d ng ph n m m nh sau: đó là vi c s d ng l i các kinh nghi m đã ủ ệ ử ụ ầ ề ư ệ ử ụ ạ ệ
co t chính h th ng đó hay các h th ng t ng t nh m gi m b t n l c đ phát tri n ừ ệ ố ệ ố ươ ự ằ ả ớ ỗ ự ể ểhay b o trì h th ng ng d ng t t ng tái s d ng, ph ng pháp full-reuse xây d ng h ả ệ ố Ứ ụ ư ưở ử ụ ươ ự ệ
th ng m i trên c s tái s d ng nh ng y u t phù h p trong t ng giai đo n khi xây d ng ố ớ ơ ở ử ụ ữ ế ố ợ ừ ạ ự
h th ng cũ ệ ố Do đó, ph ng pháp này thích h p cho vi c xây d ng nh ng h th ng có ươ ợ ệ ự ữ ệ ốvòng đ i ng n.Tăng kh năng tái s d ng c a các component h th ng Đ c bi t, khi ờ ắ ả ử ụ ủ ệ ố ặ ệ
k t h p full-reuse và interative-enhancement có th tăng đáng k hi u qu kinh t c a ế ợ ể ể ệ ả ế ủquá trình b o trì ph n m mả ầ ề
Trang 44B ảO trì phần mềm
VII Các vấn đề khác của bảo trì phần mềm
B o trì ph n m m là giai đo n h t s c t n kém c v th i gian và ngân sách, do đó ả ầ ề ạ ế ứ ố ả ề ờ
c n co nh ng ph ng phát tri n ph n m m và b o trì h p lý đ gi m thi u hao t n do b o ầ ữ ươ ể ầ ề ả ợ ể ả ể ố ảtrì Chúng ta c n áp d ng nh ng thay đ i nh v i quá trình phát tri n ph n m m, v i quá ầ ụ ữ ổ ỏ ớ ể ầ ề ớtrình b o trì ph n m m và phát tri n k thu t h tr cho quá trình b o trì ph n m mả ầ ề ể ỹ ậ ỗ ợ ả ầ ề
Trong quy trình phát tri n ph n m m, có th tăng hi u năng b o trì ph n m m b ng ể ầ ề ể ệ ả ầ ề ằcách đ ng i ch ch t trong quá trình b o trì tham gia vào giai đo n phân tich và thi t ể ườ ủ ố ả ạ ế
k , nh th h có c h i hi u sâu s c các v n đ c a ph n m m h c n b o trì Thêm ế ư ế ọ ơ ộ ể ắ ấ ề ủ ầ ề ọ ầ ảvào đó, c n chu n hóa m i khâu trong phát tri n ph n m m, vi c chu n hóa s giúp cho ầ ẩ ọ ể ầ ề ệ ẩ ẽquá trình tra c u hay s a đ i đ c thu n ti n h n B n thi t k c a ph n m m c n đ c ứ ử ổ ượ ậ ệ ơ ả ế ế ủ ầ ề ầ ượthi t k sao cho d b o trìế ế ễ ả