Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 2: Tiến trình phần mềm

Nội dung:

? Khái niệm về khách hàng, nhà phát triển và ng-ời sử dụng

? Các giai đoạn trong chu trình sống của phần mềm

? Một số khía cạnh trongsản xuất phần mềm

? Cải tiến tiến trình phần mềm : mô hình khả tr-ởng

? Các tiêu chuẩn quốc tế

pdf9 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1877 | Lượt tải: 4download
Tóm tắt nội dung Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 2: Tiến trình phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Huỳnh Xuân Hiệp - CNPM 
15
2 tiến trình phần mềm(THE SOFTWARE PROCESS)
Nội dung: 
ƒ Khái niệm về khách hàng, nhà phát triển và ng−ời sử dụng 
ƒ Các giai đoạn trong chu trình sống của phần mềm 
ƒ Một số khía cạnh trong sản xuất phần mềm 
ƒ Cải tiến tiến trình phần mềm : mô hình khả tr−ởng 
ƒ Các tiêu chuẩn quốc tế 
Huỳnh Xuân Hiệp - CNPM 
16
2.1 Khái quát chung
(overview)
ƒ Tiến trình phần mềm là cách thức tạo ra phần mềm 
ƒ Mỗi công ty có tiến trình phần mềm riêng 
ƒ Khách hàng (client): cá nhân hay công ty đặt hàng sản phẩm 
ƒ Nhà phát triển (developer): các thành viên của công ty có trách nhiệm phát 
triển phần mềm đã đ−ợc đặt hàng 
‰ có thể quán xuyến toàn bộ các công việc của sản phẩm 
‰ có trách nhiệm một phần nh− thiết kế, cai đặt,... 
ƒ Các dạng quan hệ giữa khách hàng và nhà phát triển 
‰ cùng cơ quan, phần mềm nội bộ (internal software) 
‰ khác cơ quan, phần mềm hợp đồng (contract software) 
ƒ Ng−ời sử dụng (user): một hay nhiều cá nhân thay mặt khách hàng để sử 
dụng sản phẩm 
ƒ Phát triển phần mềm (software development): bao gồm tất cả các công 
việc tạo ra sản phẩm tr−ớc khi nó đ−ợc chuyển sang giai đoạn bảo trì 
Huỳnh Xuân Hiệp - CNPM 
17
2.2 Các giai đoạn
(the phases)
Giai đoạn yêu cầu (requierement) 
Kiểm thử (test) 
 Giai đoạn đặc tả (specification) 
 Kiểm thử (test) 
 Giai đoạn thiết kế (design) 
 Kiểm thử (test) 
 Giai đoạn cài đặt (implementation) 
 Kiểm thử (test) 
 Giai đoạn tích hợp (integration) 
 Kiểm thử (test) 
 Giai đoạn bảo trì (maintenance phase) 
 Kết thúc sử dụng (retirement) 
Hình 2.1 Các giai đoạn trong chu trình sống của phần mềm 
Huỳnh Xuân Hiệp - CNPM 
18
2.3 Một số khía cạnh trong sản xuất phần mềm
(the aspects of software production)
ƒ Độ phức tạp (complexity) 
‰ là một thuộc tính của phần mềm 
‰ tác động trên tiến trình phần mềm và cả công tác quản lý tiến trình 
‰ có thể biểu diễn bằng toán học và vật lý 
‰ ảnh h−ởng đến công tác bảo trì 
ƒ Sự thích ứng (conformity) 
‰ phần mềm phải thích ứng đ−ợc với các thiết bị sẵn có (không phải các 
thiết bị đáp ứng phần mềm) 
‰ thích ứng tốt với phần cứng phục vụ phần mềm 
ƒ Dễ chuyển đổi (changeability) 
‰ phần mềm phải thay đổi theo thực tiễn 
‰ mở rộng các chức năng ban đầu 
‰ thay đổi phần mềm dễ hơn thay đổi về phần cứng 
‰ phần cứng thay đổi theo sự phát triển của phần mềm hoặc công nghệ 
Huỳnh Xuân Hiệp - CNPM 
19
ƒ Tính vô hình (invisibility) 
‰ giấu các công đoạn phức tạp khi thực hiện phần mềm 
‰ dễ dàng thuyết minh, thuyết phục khách hàng 
‰ dễ dàng giao tiếp giữa các bộ phận thực hiện phần mềm 
‰ sử dụng các ph−ơng pháp, công cụ trực quan sinh động 
ƒ Nhanh chóng tạo phần mềm mới từ các bộ phận hay công cụ có sẵn 
(silver bullet) 
‰ nhanh chóng chuyển đổi chức năng của sản phẩm 
‰ giảm thời gian cũng nh− chi phí thực hiện phần mềm 
‰ sử dụng mô hình chuyển đổi nhanh 
ƒ Hình thành thuật ngữ : lỗi trên 1000 dòng lệnh t−ơng đ−ơng assembler 
(faults per million equivalent assembler source - MEASL) 
Huỳnh Xuân Hiệp - CNPM 
20
2.4 Cải tiến tiến trình phần mềm: mô hình khả tr−ởng
(improving the software process: capability maturity models)
ƒ CMMs là nhóm các chiến l−ợc liên quan với nhau nhằm cải tiến tiến trình 
phần mềm. Đ−ợc đề xuất tại Viện công nghệ phần mềm (software 
engineering institute - SEI) [Humphrey, 1989] 
‰ cho phần mềm SW-CMM (software) 
‰ cho quản lý nguồn nhân lực P-CMM (people) 
‰ cho công nghệ hệ thống SE-CMM (system engineering) 
‰ cho phát triển sản phẩm tích hợp IPD-CMM (integrated product 
development) 
‰ cho đạt đ−ợc sản phẩm SA-CMM (software aquisition ) 
 5. Optimizing level Process control 
 4. Managed level Process measurement 
 3. Defined level Process definition 
 2. Repeatable level Basic project management 
1. Initial level Ad hoc process 
Hình 2.2 Năm mức của CMM 
Huỳnh Xuân Hiệp - CNPM 
21
2.5 Các tiêu chuẩn quốc tế
(international standards)
ƒ CMMs là tiêu chuẩn khởi điểm cho các tiêu chuẩn về sau 
ƒ ISO 9000 
‰ International Standards Organization (ISO) 9000-series standards 
‰ gồm 5 chuẩn áp dụng rộng rãi cho các hoạt động công nghiệp: thiết 
kế (design), phát triển(development), sản xuất(production), cài đặt 
(installation) và bảo d−ỡng (servicing) 
‰ ISO 9001 dành cho chất l−ợng sản phẩm [ISO 9001, 1987] 
‰ áp dụng ISO 9001 cho phần mềm : ISO 9000-3 [ISO 9000-3, 1991] 
‰ trên 60 n−ớc chấp thuận: Mỹ, Nhật, Canađa, EU, Việt Nam,... 
ƒ SPICE 
‰ Software Process Improvement Capability dEtermination 
‰ do Bộ quốc phòng Anh đề xuất vào năm 1995 
‰ t−ơng tự nh− SW-CMM và ISO 9000 
‰ thống nhất 2 chuẩn từ 06/1997: ISO/IEC 15504 hay 15504 
‰ trên 40 n−ớc chấp thuận 
Huỳnh Xuân Hiệp - CNPM 
22
2.6 Giá thành và lợi ích của việc cải tiến tiến trình phần mềm
(costs and benefits of ‘software process improvement-SPI’)
ƒ Công ty Software Engineering Division of Hughes Aircaft ở Fullerton, 
California đã trả $500000 để thực hiện chuyển đổi từ mức 2 sang mức 3-4-
5 và tiết kiệm đ−ợc hàng năm $2000000 ! 
Thể loại Khoảng giới hạn Trung bình Số điểm dữ liệu (data points)
Số năm tham gia SPI 1-9 3.5 24 
Trị giá hàng năm của SPI cho mỗi SE $490 $2004 5 
Hiệu suất tăng hàng năm 9%-67% 35% 4 
Tỷ lệ lỗi phát hiện sớm hàng năm 6%-25% 22% 3 
Thời gian rút ngắn hàng năm để tham gia thị tr−ờng 15%-23% 19% 2 
Thời gian rút ngắn hàng năm việc gửi trễ hạn các báo cáo lỗi 10%-94% 39% 5 
Giá trị kinh doanh (tiết kiệm/chi phí của SPI) 4.0-8.8:1 5.0:1 5 
Hình 2.3 Dữ liệu cải tiến phần mềm SW-CMM [Herbsleb và al., 1994] 
Mức CMM Số l−ợng dự án Thời gian giảm t−ơng đối Lỗi trên MEASL phát hiện đ−ợc trong phát triển Hiệu suât t−ơng đối 
1 3 1.0 - - 
2 9 3.2 890 1.0 
3 5 2.7 411 0.8 
4 8 5.0 205 2.3 
5 9 7.8 126 2.8 
Hình 2.4 Kết quả của 34 dự án GED của Motorola (Government Electronics Division-GED) 
Huỳnh Xuân Hiệp - CNPM 
23

File đính kèm:

  • pdfBài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 2 Tiến trình phần mềm.pdf
Tài liệu liên quan