Luận Văn Thạc Sĩ Về Quản Lý Quy Trình Phần Mềm Theo Mô Hình CMM Tại Việt Nam

Luận văn thạc sĩ VNU UET về quản lý quy trình phần mềm theo mô hình CMM, thực tiễn và ứng dụng tại Việt Nam trong công nghệ thông tin.

Trường đại học

Đại học quốc gia Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sỹ

2006

96
7
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM

1.1. Khái niệm quy trình

1.2. SEP, ISO, CMM/CMMI

1.3. Các mô hình SEP

1.3.1. Mô hình Thác nước (Waterfall)

1.3.2. Mô hình chữ V

1.3.3. Mô hình mẫu

1.3.4. Mô hình tiến hóa

1.3.5. Mô hình lặp và tăng dần

1.3.6. Mô hình phát triển nhanh

1.3.7. Mô hình xoắn

2. CHƯƠNG 2: GIỚI THIỆU VỀ CMM VÀ CÁC KHÓ KHĂN TRONG PHÁT TRIỂN PHẦN MỀM

2.1. Lịch sử mô hình CMM

2.2. Tổng quan về mô hình CMM

2.3. Định nghĩa về CMM

2.4. Ích lợi của cải tiến theo mô hình CMM

2.5. Năm mức độ trưởng thành của mô hình CMM

2.6. Các lĩnh vực quy trình chốt (KPA) của mô hình CMM

2.7. Khả năng áp dụng CMM

2.8. Những khó khăn thường gặp trong phát triển phần mềm

2.8.1. Khó khăn mức Khởi Đầu

2.8.2. Khó khăn mức Lặp Lại

2.8.3. Khó khăn mức Xác Định

2.8.4. Khó khăn mức Quản Lý

2.8.5. Khó khăn mức Tối Ưu Hóa

3. CHƯƠNG 3: TÍNH CHẤT VÀ CÁC QUY TRÌNH CHỦ CHỐT CỦA CÁC MỨC TĂNG TRƯỞNG CỦA MÔ HÌNH CMM

3.1. Mức 1: Khởi đầu

3.1.1. Hiểu mức tăng trưởng khởi đầu

3.1.2. Thuộc tính của tổ chức mức 1

3.2. Mức 2: Lặp lại được

3.2.1. Hiểu mức tăng trưởng lặp lại

3.2.2. Các KPA cho mức lặp lại

3.3. Mức 3: Được xác định

3.3.1. Hiểu mức độ tăng trưởng được xác định

3.4. Mức 4: Được quản lý

3.4.1. Hiểu mức tăng trưởng được quản lý

3.4.2. KPA cho mức được quản lý

3.4.3. Hiểu mức tăng trưởng tối ưu

3.4.4. KPA cho mức tối ưu

4. CHƯƠNG 4: THỰC TIỄN VÀ ỨNG DỤNG Ở VIỆT NAM

4.1. Hiện trạng ứng dụng CMM ở Việt Nam

4.2. Các số liệu thống kê

4.3. Kinh nghiệm một số công ty đã đạt CMM

4.4. Một số giải pháp với CMM

4.4.1. Giải pháp kiểm định chất lượng thực chất mức độ CMM5

4.4.2. Giải pháp ứng dụng CMM hiệu quả

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Quản Lý Quy Trình Phần Mềm Theo Mô Hình CMM

Quản lý quy trình phần mềm theo mô hình CMM (Capability Maturity Model) đã trở thành một tiêu chuẩn quan trọng trong ngành công nghiệp phần mềm tại Việt Nam. Mô hình này không chỉ giúp cải thiện chất lượng sản phẩm mà còn nâng cao năng suất làm việc của các tổ chức phát triển phần mềm. CMM cung cấp một khung để đánh giá và cải tiến quy trình phát triển phần mềm, từ đó giúp các công ty đạt được những sản phẩm chất lượng cao hơn với chi phí hợp lý hơn. Việc áp dụng mô hình CMM tại Việt Nam vẫn còn nhiều thách thức, nhưng cũng mở ra nhiều cơ hội cho sự phát triển bền vững của ngành công nghiệp phần mềm.

1.1. Khái Niệm Về Mô Hình CMM Và Lợi Ích Của Nó

Mô hình CMM được phát triển bởi Viện Công Nghệ Phần Mềm SEI nhằm cải thiện quy trình phát triển phần mềm. Mô hình này chia thành 5 mức độ trưởng thành, từ mức khởi đầu đến mức tối ưu hóa. Mỗi mức độ đều có những yêu cầu và thực hành cụ thể giúp tổ chức nâng cao khả năng quản lý quy trình phần mềm. Lợi ích của việc áp dụng CMM bao gồm cải thiện chất lượng sản phẩm, giảm thiểu rủi ro và tăng cường sự hài lòng của khách hàng.

1.2. Tình Hình Áp Dụng Mô Hình CMM Tại Việt Nam

Tại Việt Nam, việc áp dụng mô hình CMM còn hạn chế do nhiều yếu tố như quy mô công ty nhỏ, thiếu kinh nghiệm và hiểu biết về mô hình này. Tuy nhiên, một số công ty đã thành công trong việc áp dụng CMM và đạt được chứng nhận CMMI, từ đó nâng cao vị thế cạnh tranh trên thị trường. Việc chia sẻ kinh nghiệm và thực hành tốt giữa các công ty sẽ giúp thúc đẩy việc áp dụng mô hình này rộng rãi hơn.

II. Những Thách Thức Trong Quản Lý Quy Trình Phần Mềm Tại Việt Nam

Mặc dù mô hình CMM mang lại nhiều lợi ích, nhưng việc áp dụng nó tại Việt Nam gặp phải nhiều thách thức. Các công ty phần mềm thường phải đối mặt với vấn đề thiếu hụt nguồn lực, kinh nghiệm và sự hỗ trợ từ lãnh đạo. Ngoài ra, sự khác biệt về văn hóa làm việc và cách tiếp cận giữa các tổ chức cũng tạo ra rào cản trong việc triển khai mô hình CMM.

2.1. Thiếu Nguồn Lực Và Kinh Nghiệm

Nhiều công ty phần mềm tại Việt Nam còn thiếu nguồn lực và kinh nghiệm trong việc áp dụng mô hình CMM. Điều này dẫn đến việc không thể thực hiện đầy đủ các quy trình và thực hành cần thiết để đạt được các mức độ trưởng thành cao hơn. Việc đào tạo và phát triển nhân lực là rất cần thiết để khắc phục vấn đề này.

2.2. Khó Khăn Trong Việc Thay Đổi Văn Hóa Làm Việc

Việc thay đổi văn hóa làm việc trong các tổ chức để phù hợp với mô hình CMM là một thách thức lớn. Nhiều nhân viên có thể không quen với các quy trình và tiêu chuẩn mới, dẫn đến sự kháng cự trong việc áp dụng. Cần có sự hỗ trợ từ lãnh đạo và các chương trình đào tạo để giúp nhân viên hiểu rõ hơn về lợi ích của việc áp dụng mô hình CMM.

III. Phương Pháp Cải Tiến Quy Trình Phát Triển Phần Mềm Theo Mô Hình CMM

Để cải tiến quy trình phát triển phần mềm theo mô hình CMM, các công ty cần thực hiện một số phương pháp cụ thể. Những phương pháp này không chỉ giúp nâng cao chất lượng sản phẩm mà còn cải thiện hiệu suất làm việc của đội ngũ phát triển. Việc áp dụng các thực hành tốt nhất từ mô hình CMM sẽ giúp các tổ chức đạt được những kết quả tích cực.

3.1. Đánh Giá Quy Trình Hiện Tại

Đánh giá quy trình hiện tại là bước đầu tiên trong việc cải tiến quy trình phát triển phần mềm. Các công ty cần xác định các điểm mạnh và điểm yếu trong quy trình hiện tại để từ đó đưa ra các giải pháp cải tiến phù hợp. Việc sử dụng các công cụ đánh giá quy trình sẽ giúp tổ chức có cái nhìn rõ ràng hơn về tình hình hiện tại.

3.2. Áp Dụng Các Thực Hành Tốt Nhất

Áp dụng các thực hành tốt nhất từ mô hình CMM là một trong những cách hiệu quả nhất để cải tiến quy trình phát triển phần mềm. Các công ty nên tham khảo và học hỏi từ những tổ chức đã thành công trong việc áp dụng CMM để có thể áp dụng những thực hành này vào quy trình của mình.

IV. Ứng Dụng Thực Tiễn Mô Hình CMM Tại Một Số Công Ty Phần Mềm

Nhiều công ty phần mềm tại Việt Nam đã áp dụng mô hình CMM và đạt được những kết quả tích cực. Việc chia sẻ kinh nghiệm và kết quả từ các công ty này sẽ giúp các tổ chức khác có thêm động lực và hướng đi trong việc áp dụng mô hình CMM. Các nghiên cứu điển hình từ những công ty này sẽ cung cấp những bài học quý giá cho ngành công nghiệp phần mềm.

4.1. Kinh Nghiệm Từ Công Ty A

Công ty A đã áp dụng mô hình CMM và đạt được chứng nhận CMMI cấp 3. Qua đó, công ty đã cải thiện đáng kể chất lượng sản phẩm và giảm thiểu thời gian phát triển. Kinh nghiệm từ công ty A cho thấy việc đầu tư vào đào tạo nhân lực và cải tiến quy trình là rất quan trọng.

4.2. Kinh Nghiệm Từ Công Ty B

Công ty B đã áp dụng mô hình CMM để nâng cao năng lực quản lý dự án. Kết quả là công ty đã tăng cường khả năng đáp ứng nhu cầu của khách hàng và cải thiện sự hài lòng của khách hàng. Việc chia sẻ kinh nghiệm từ công ty B sẽ giúp các tổ chức khác có thêm thông tin hữu ích trong việc áp dụng mô hình CMM.

V. Kết Luận Về Tương Lai Của Quản Lý Quy Trình Phần Mềm Tại Việt Nam

Quản lý quy trình phần mềm theo mô hình CMM tại Việt Nam đang trên đà phát triển. Mặc dù còn nhiều thách thức, nhưng với sự nỗ lực từ các công ty và sự hỗ trợ từ các tổ chức, mô hình CMM có thể trở thành một tiêu chuẩn quan trọng trong ngành công nghiệp phần mềm. Tương lai của quản lý quy trình phần mềm tại Việt Nam sẽ phụ thuộc vào khả năng áp dụng và cải tiến mô hình CMM trong thực tiễn.

5.1. Triển Vọng Phát Triển Ngành Công Nghiệp Phần Mềm

Ngành công nghiệp phần mềm tại Việt Nam đang có nhiều triển vọng phát triển. Việc áp dụng mô hình CMM sẽ giúp các công ty nâng cao chất lượng sản phẩm và năng suất làm việc. Điều này sẽ tạo ra cơ hội lớn cho sự phát triển bền vững của ngành công nghiệp phần mềm.

5.2. Đề Xuất Các Giải Pháp Hỗ Trợ

Để thúc đẩy việc áp dụng mô hình CMM, cần có các giải pháp hỗ trợ từ chính phủ và các tổ chức liên quan. Các chương trình đào tạo, hội thảo và chia sẻ kinh nghiệm sẽ giúp nâng cao nhận thức và khả năng áp dụng mô hình CMM trong ngành công nghiệp phần mềm tại Việt Nam.

22/07/2025
Luận văn thạc sĩ vnu uet quản lý quy trình phần mềm theo mô hình cmm thực tiễn và ứng dụng ở việt nam luận văn ths công nghệ thông tin 01 01 10

Trích đoạn nội dung tài liệu

CHƯƠNG I TỔNG QUAN CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM Cũng nhƣ mọi ngành sản xuất khác, qui trình là một trong những yếu tố cực kỳ quan trọng đem lại sự thành công cho các nhà sản xuất phần mềm, nó giúp cho mọi thành viên trong dự án từ ngƣời cũ đến ngƣời mới, trong hay ngoài công ty đều có thể xử lý đồng bộ công việc tƣơng ứng vị trí của mình thông qua cách thức chung của công ty, hay ít nhất ở cấp độ dự án. Có thể nói qui trình phát triển/xây dựng phần mềm (Software Development/Engineering Process - SEP) có tính chất quyết định để tạo ra sản phẩm chất luợng tốt với chi phí thấp và năng suất cao, điều này có ý nghĩa quan trọng đối với các công ty sản xuất hay gia công phần mềm củng cố và phát triển cùng với nền công nghiệp phần mềm đầy cạnh tranh. Trong chƣơng này sẽ giới thiệu một cách tổng quát các mô hình áp dụng khi xây dựng qui trình phát triển phần mềm chung cho cấp tổ chức hay cấp dự án. Khái niệm quy trình Qui trình có thể hiểu là phƣơng pháp thực hiện hoặc sản xuất ra sản phẩm.

Tƣơng tự nhƣ vậy, SEP chính là phƣơng pháp phát triển hay sản xuất ra sản phẩm phần mềm. Thông thƣờng một qui trình bao gồm những yếu tố cơ bản sau: Hình 1. 1 Quy trình phát triển phần mềm  Thủ tục (Procedures)  Hƣớng dẫn công việc (Activity Guidelines)  Biểu mẫu (Forms/templates)  Danh sách kiểm định (Checklists) 9 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quản lý quy trình phần mềm theo mô hình CMM- Thực tiễn và ứng dụng ở Việt Nam  Công cụ hỗ trợ (Tools) Với các nhóm công việc chính:  Đặc tả yêu cầu (Requirements Specification): chỉ ra những “đòi hỏi” cho cả các yêu cầu chức năng và phi chức năng.  Phát triển phần mềm (Development): tạo ra phần mềm thỏa mãn các yêu cầu đƣợc chỉ ra trong “Đặc tả yêu cầu”.

 Kiểm thử phần mềm (Validation/Testing): để bảo đảm phần mềm sản xuất ra đáp ứng những “đòi hỏi” đƣợc chỉ ra trong “Đặc tả yêu cầu”.  Thay đổi phần mềm (Evolution): đáp ứng nhu cầu thay đổi của khách hàng. Tùy theo mô hình phát triển phần mềm, các nhóm công việc đƣợc triển khai theo những cách khác nhau. Để sản xuất cùng một sản phẩm phần mềm ngƣời ta có thể dùng các mô hình khác nhau.

Tuy nhiên không phải tất cả các mô hình đều thích hợp cho mọi ứng dụng. 2 : Mô hình Waterfall 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quản lý quy trình phần mềm theo mô hình CMM- Thực tiễn và ứng dụng ở Việt Nam 2. SEP, ISO, CMM/CMMI (CMM/CMMI-Capability Maturity Model/Integration- Mô hình trƣởng thành khả năng) Phần 2 này sẽ không đi sâu vào tìm hiểu các mô hình phát triển phần mềm mà chỉ cung cấp một cái nhìn tổng quát về chúng, cũng nhƣ mối quan hệ giữa SEP với ISO và CMM/CMMI để có thể mô tả kỹ hơn CMM ở chƣơng sau. Vấn đề đƣợc đặt ra là làm thế nào cải tiến qui trình để cải thiện chất lƣợng và năng suất? Câu trả lời chính là qui trình khung (Process Framework - PF).

PF sẽ chỉ ra những yêu cầu mà một qui trình phải đáp ứng tùy theo mỗi mức độ. PF không chỉ ra bất kỳ một qui trình cụ thể nào mà chỉ đƣa ra những yêu cầu ở mỗi mức độ trƣởng thành khác nhau của qui trình phải đạt đƣợc. Đây chính là những hƣớng dẫn cho các hoạt động cải tiến để nâng mức độ trƣởng thành từ thấp lên cao. Có nhiều PF, nhƣng phổ biến nhất là ISO và CMM (Capability Maturity Model) đƣợc các tổ chức thế giới công nhận.

ISO nhắm chung đến nhiều loại tổ chức cả sản xuất lẫn dịch vụ, trong khi CMM đƣợc dành riêng cho các tổ chức phát triển phần mềm. Đối với phần mềm, ISO chỉ ra mức độ chất lƣợng yêu cầu tối thiểu mà một SEP phải đạt (ISO certified) và việc cải tiến qui trình đƣợc thực hiện thông qua qui trình kiểm định, trong khi CMM bao gồm những thực tiễn tốt nhất (best practices) đƣợc tập hợp rút ra từ rất nhiều tổ chức phát triển phần mềm khác nhau và chúng đƣợc tổ chức thành 5 mức độ trƣởng thành khác nhau (Level 1 - Initial, Level 2 - Repeatable, Level 3 - Defined, Level 4 - Managed, Level 5 - Optimizing). Ngày nay, phần mềm không đứng riêng một mình mà thƣờng là một bộ phận trong hệ thống hoàn chỉnh. Do đó, CMMI (Capability Maturity Model Integration) ra đời hƣớng đến các qui trình cho việc xây dựng cả hệ thống, bao gồm cả việc tích hợp để xây dựng và bảo trì toàn bộ hệ thống.

Sự khác nhau giữa ISO 9001 và CMM/CMMI: • ISO 9001 là một tiêu chuẩn quốc tế về quản lý, các điều khoản gọi là "yêu cầu" quy định những điểm cần phải làm (what to do), không chỉ ra việc đó nên làm nhƣ thế nào (how to do). • CMM/CMMI là một mô hình, cung cấp các hƣớng dẫn và kinh nghiệm thực tế dùng để phát triển, cải tiến và đánh giá năng lực của quy trình. • CMMI không phải là một tiêu chuẩn, tùy vào từng tổ chức, cách thực hiện khác 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quản lý quy trình phần mềm theo mô hình CMM- Thực tiễn và ứng dụng ở Việt Nam nhau rất nhiều. • Về nguyên tắc, ISO bao gồm (ở mức cao) hầu hết các quy trình chủ chốt của CMM/CMMI, tuy nhiên ISO đƣợc dùng cho hầu hết mọi ngành nghề, do vậy không cụ thể và gần gũi với công việc đặc thù có liên quan đến PM nhƣ CMM/CMMI.

ISO không cung cấp các ví dụ và kinh nghiệm cụ thể nhƣ CMM/CMMI. Các mô hình SEP Mô hình SEP còn đƣợc gọi là chu trình hay vòng đời phần mềm (SLC - Software Life Cycle). SLC là tập hợp các công việc và quan hệ giữa chúng với nhau diễn ra trong quá trình phát triển phần mềm. Có khá nhiều mô hình SLC khác nhau, trong đó một số đƣợc ứng dụng khá phổ biến trên thế giới: Các mô hình một phiên bản (Single-version models)  Mô hình Waterfall (Waterfall model)  Mô hình chữ V (V-model) Các mô hình nhiều phiên bản (Multi-version models)  Mô hình mẫu (Prototype)  Mô hình tiến hóa (Evolutionary)  Mô hình lặp và tăng dần (Iterative and Incremental)  Mô hình phát triển ứng dụng nhanh (RAD)  Mô hình xoắn (Spiral) 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quản lý quy trình phần mềm theo mô hình CMM- Thực tiễn và ứng dụng ở Việt Nam Hình 1.1 Mô hình Thác nước (Waterfall) Mô hình này gồm các giai đoạn xử lý nối tiếp nhau nhƣ đƣợc mô tả trong Hình 1.

Phân tích yêu cầu và tài liệu đặc tả (Requirements and Specifications): là giai đoạn xác định những “đòi hỏi” (“What”) liên quan đến chức năng và phi chức năng mà hệ thống phần mềm cần có. Giai đoạn này cần sự tham gia tích cực của khách hàng và kết thúc bằng một tài liệu đƣợc gọi là “Bản đặc tả yêu cầu phần mềm” hay SRS (software requirement specification), trong đó bao gồm tập hợp các yêu cầu đã đƣợc duyệt (reviewed) và nghiệm thu (approved) bởi những ngƣời có trách nhiệm đối với dự án (từ phía khách hàng). SRS chính là nền tảng cho các hoạt động tiếp theo cho đến cuối dự án. Phân tích hệ thống và thiết kế (System Analysis and Design): là giai đoạn định ra “làm thế nào” (“How”) để hệ thống phần mềm đáp ứng những “đòi hỏi” (“What”) 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quản lý quy trình phần mềm theo mô hình CMM- Thực tiễn và ứng dụng ở Việt Nam mà khách hàng yêu cầu trong SRS.

Đây là chính là cầu nối giữa “đòi hỏi” (“What”) và mã (Code) đƣợc hiện thực để đáp ứng yêu cầu đó. Hiện thực và kiểm thử từng thành phần (Coding and Unit Test): là giai đoạn hiện thực “làm thế nào” (“How”) đƣợc chỉ ra trong giai đoạn “Phân tích hệ thống và thiết kế”. Một khâu kiểm thử cuối cùng thƣờng đƣợc thực hiện là nghiệm thu (acceptance test), với sự tham gia của khách hàng trong vai trò chính để xác định hệ thống phần mềm có đáp ứng yêu cầu của họ hay không. Cài đặt và bảo trì (Deployment and Maintenance): đây là giai đoạn cài đặt, cấu hình và huấn luyện khách hàng.

Giai đoạn này sửa chữa những lỗi của phần mềm (nếu có) và phát triển những thay đổi mới đƣợc khách hàng yêu cầu (nhƣ sửa đổi, thêm hay bớt chức năng/đặc điểm của hệ thống). Thực tế cho thấy đến những giai đoạn sau mới có khả năng nhận ra sai sót trong những giai đoạn trƣớc và phải quay lại để sửa chữa. Đây chính là kiểu waterfall dạng lặp (Iterative Waterfall) và đƣợc minh hoạ trong Hình 1. Mô hình chữ V Trong mô hình Waterfall, kiểm thử đƣợc thực hiện trong một giai đoạn riêng biệt.

Còn với mô hình chữ V, toàn bộ qui trình đƣợc chia thành hai nhóm giai đoạn tƣơng ứng nhau: phát triển và kiểm thử. Mỗi giai đoạn phát triển sẽ kết hợp với một giai đoạn kiểm thử tƣơng ứng nhƣ đƣợc minh họa trong Hình 2. 4 : Mô hình Prototype Tinh thần chủ đạo của V-model là các hoạt động kiểm thử phải đƣợc tiến hành song song (theo khả năng có thể) ngay từ đầu chu trình cùng với các hoạt động phát triển. Ví dụ, các hoạt động cho việc lập kế hoạch kiểm thử toàn hệ thống có thể đƣợc thực hiện song song với các hoạt động phân tích và thiết kế hệ thống.

14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quản lý quy trình phần mềm theo mô hình CMM- Thực tiễn và ứng dụng ở Việt Nam 3. Mô hình mẫu Mô hình mẫu (prototype) đƣợc minh hoạ trong Hình 3. Trong đó, qui trình đƣợc bắt đầu bằng việc thu thập yêu cầu với sự có mặt của đại diện của cả phía phát triển lẫn khách hàng nhằm định ra mục tiêu tổng thể của hệ thống phần mềm sau này, đồng thời ghi nhận tất cả những yêu cầu có thể biết đƣợc và sơ luợc những nhóm yêu cầu nào cần phải đƣợc làm rõ. Sau đó, thực hiện thiết kế nhanh tập trung chuyển tải những khía cạnh thông qua prototype để khách hàng có thể hình dung, đánh giá giúp hoàn chỉnh yêu cầu cho toàn hệ thống phần mềm.

Việc này không những giúp tinh chỉnh yêu cầu, mà đồng thời giúp cho đội ngũ phát triển thông hiểu hơn những gì cần đƣợc phát triển. Tiếp theo sau giai đoạn làm prototype này có thể là một chu trình theo mô hình waterfall hay cũng có thể là mô hình khác. Chú ý, prototype thƣờng đƣợc làm thật nhanh trong thời gian ngắn nên không đƣợc xây dựng trên cùng môi trƣờng và công cụ phát triển của giai đoạn xây dựng phần mềm thực sự sau này.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ