Luận văn Tìm hiểu quy trình phần mềm PSP

Đi cùng với xu thế phát triển mạnh mẽ của ngành công nghệ khác trên thế giới, công

nghệ phần mềm cũng đang mởra một cánh cửa cho các tiếp cận tiến bộ. Khá nhiều công

ty, tổ chức đã nhận thức được tầm quan trọng của ngành công nghệnày và đã có những

bước tiếp cận đáng ghi nhận. Tuy nhiên, song song với những phát triển này, mặt hạn chế

về chất lượng phần mềm vẫn đã và đang là mối quan tâm của nhiều người, nhiều tổ chức.

- PSP hỗ trợ cho cá nhân: Để phát triển một phần mềm theo yêu cầu của khách hàng, chúng ta cần một đội ngũ nhiều kỹ sư. Nhưng chung quy lại thì chất lượng phần mềm lại phụ thuộc vào hiệu quả từng phần nhỏ mà từng cá nhân thực hiện. Do đó, nếu cải tiến, nâng cao chất lượng của từng cá nhân thì chất lượng của cả nhóm, cả tổ chức cũng được nâng cao.

- Có khả năng áp dụng cho bản thân: Mặc dù trên lý thuyết tìm hiểu những quy trình Agile, CMM, TSP đều mang lại những hiệu quả rất cao. Tuy nhiên, mục tiêu cải tiến của các qui trình này là các nhóm, các tổ chức phát triển phần mềm.

- Có khảnăng áp dụng các lĩnh vực ngoài phạm vi phần mềm: Mặc dù PSP ra đời

dựa trên nhu cầu quản lý quy trình phần mềm cho cá nhân, nhưng phạm vi sử

dụng của nó không giới hạn ở công việc liên quan đến phần mềm. PSP còn có thể

được áp dụng cho các loại công việc hàng ngày.

pdf191 trang | Chia sẻ: zimbreakhd07 | Lượt xem: 1627 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Luận văn Tìm hiểu quy trình phần mềm PSP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
SV ne t.vn Lời cảm ơn Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên, TpHCM đã tạo điều kiện cho chúng em thực hiện đề tài tốt nghiệp này. Chúng em xin gửi lời cảm ơn chân thành đến Thầy Lâm Quang Vũ đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài. Trong quá trình làm luận văn với Thầy, chúng em đã học hỏi được nhiều kiến thức bổ ích và kinh nghiệm quý báu làm nền tảng cho quá trình học tập, làm việc và nghiên cứu sau này. Chúng em cũng xin chân thành cảm ơn quý Thầy Cô trong Khoa CNTT đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập và nghiên cứu tại Khoa, và cũng xin gửi lòng biết ơn sâu sắc đến của chúng em đến các anh chị phòng Selab, đặc biệt là các anh Trương Thiên Đỉnh, anh Đỗ Lệnh Hùng Sơn, anh Phạm Minh Tuấn, chị Nguyễn Thị Thu Thủy, những người đã dìu dắt, định hướng và giúp đỡ chúng em rất nhiều trong quá trình thực hiện đề tài này. Chúng con luôn ghi nhớ công ơn sinh thành, dưỡng dục của Ba, Mẹ. Ba mẹ đã luôn giúp đỡ, động viên chúng con trong học tập cũng như trong cuộc sống. Trong quá trình thực hiện đề tài, chúng tôi cũng nhận được sự giúp đỡ và động viên hết sức chân tình của các bạn cùng lớp, xin hãy ghi nhận ở chúng tôi lòng biết ơn sâu sắc. Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực của bản thân, nhưng luận văn chắc chắn không tránh khỏi những thiếu sót, kính mong quý Thầy Cô tận tình chỉ bảo. Một lần nữa, chúng em xin chân thành cảm ơn đến tất cả mọi người. Tp. Hồ Chí Minh 07/2005 Sinh viên thực hiện Phạm Thị Ngọc Vân – Trương Thị Ngọc Phượng SV ne t.vn i Tóm tắt luận văn Ngày nay, công nghệ phần mềm đóng vai trò quan trọng trong hầu hết các lĩnh vực. Hầu như những hệ thống tiên tiến quan trọng đều có sự tham gia, hỗ trợ của các hệ thống phần mềm. Chính vì vậy mà chi phí, lịch biểu và chất lượng phần mềm cũng là các yếu tố mà cả những tổ chức sử dụng phần mềm và những tổ chức phát triển phần mềm đều rất quan tâm. Xuất phát từ những nhu cầu trên, nhiều nỗ lực cải tiến quy trình đã được thực hiện. CMM (Capability Maturity Model) ra đời, đã thể hiện là một mô hình cải tiến độ trưởng thành phần mềm hữu dụng. Tuy nhiên, mô hình này chỉ áp dụng cho tổ chức và nó vẫn còn nhiều hạn chế về mặt phương pháp thực hiện. Hơn nữa, khi các tổ chức tiếp cận và chuyển lên cấp độ 3 của CMM (CMM có 5 cấp độ), họ nhận thấy rằng sự hoàn chỉnh hơn nữa phụ thuộc vào sự phát triển của quy trình phần mềm cá nhân. Chính vì thế, từ năm 1989, PSP đã được phát triển bởi Watts S. Humphrey để đáp ứng việc phát triển liên quan đến việc làm thế nào để đưa một tổ chức vượt xa hơn cấp độ 2 của CMM. Cuối năm 1994, CMU và SEI (Carnegie Mellon University and Software Engineering Institute) đã công bố qui trình phần mềm cá nhân (Personal Software Process – PSP) như là một mô hình hỗ trợ việc phát triển qui trình cho từng kỹ sư phát triển phần mềm. Qui trình phần mềm cá nhân tập trung vào việc cải thiện hiệu quả làm việc và chất lượng công việc của kỹ sư. Hai khía cạnh chính mà PSP tập trung hỗ trợ là: ¾ Quản lý thời gian và kế hoạch – quy trình lên kế hoạch ¾ Quản lý chất lượng sản phẩm – quy trình quản lý sai sót Về cả 2 mặt lý thuyết và thực tế, qui trình phần mềm cá nhân cải thiện rất nhiều trong chất lượng làm việc của kỹ sư. Tuy nhiên, việc thực hiện rộng rãi PSP ở phạm vi cá nhân và trong môi trường công nghiệp còn khó khăn vì mức độ nghiêm ngặt của nó. Nhưng dù sao đi nữa, PSP cũng hứa hẹn sẽ được sử dụng rộng rãi vì tính hiệu quả của nó không những cho các cá nhân làm phần mềm mà còn cho tất cả mọi người. SV ne t.vn ii MỤC LỤC Lời mở đầu ...........................................................................................................................1 Chương 1. Tổng quan.....................................................................................................2 1.1 Qui trình PSP là gì? ...............................................................................................2 1.2 Lịch sử ra đời của PSP...........................................................................................2 1.3 Cấu trúc tổng quan quy trình PSP..........................................................................3 1.4 Các cấp độ của PSP ...............................................................................................4 1.5 Ưu và khuyết điểm của PSP. .................................................................................7 1.5.1 Ưu điểm .........................................................................................................7 1.5.2 Khuyết điểm...................................................................................................7 1.6 Mối liên hệ giữa CMM, TSP và PSP [3] ...............................................................7 Chương 2. Các phương pháp luận trong PSP về quy trình lập kế hoạch [4]............9 2.1 Nguyên lý quản lý thời gian...................................................................................9 2.1.1 Logic của quản lý thời gian ...........................................................................9 2.1.2 Hiểu cách mình sử dụng thời gian ...............................................................10 2.2 Theo dõi thời gian................................................................................................11 2.2.1 Tại sao phải theo dõi thời gian?...................................................................11 2.2.2 Ghi lại số liệu thời gian................................................................................11 2.2.3 Đơn vị đo thời gian của bạn.........................................................................12 2.2.4 Sử dụng bản ghi chép thời gian (Time Recording Log) ..............................12 2.2.5 Quản lý các gián đoạn..................................................................................14 2.2.6 Theo dõi các công việc đã hoàn tất..............................................................15 2.2.7 Gợi ý về việc ghi chép thời gian ..................................................................15 2.3 Lập kế hoạch sản phẩm và kế hoạch giai đoạn....................................................16 2.3.1 Các kế hoạch sản phẩm và giai đoạn ...........................................................16 2.3.2 Bản tổng kết hoạt động hàng tuần ...............................................................17 2.3.3 Tính toán khoảng thời gian và tốc độ ..........................................................19 2.3.4 Sử dụng bản tổng kết hoạt động hàng tuần..................................................21 2.4 Lập kế hoạch sản phẩm........................................................................................22 2.4.1 Nhu cầu về các kế hoạch sản phẩm .............................................................22 2.4.2 Tại sao các kế hoạch sản phẩm lại có ích ....................................................23 2.4.3 Một kế hoạch sản phẩm là gì? .....................................................................23 2.4.4 Cách lập kế hoạch sản phẩm trong tài liệu này............................................24 2.4.5 Lập kế hoạch các công việc nhỏ ..................................................................24 2.4.6 Bản ghi số công việc....................................................................................25 2.4.7 Một vài lời khuyên về cách sử dụng bản ghi số công việc ..........................30 2.4.8 Sử dụng dữ liệu tốc độ và thời gian sản phẩm.............................................31 2.5 Kích thước sản phẩm ...........................................................................................32 2.5.1 Phép đo kích thước ......................................................................................32 2.5.2 Một vài chú ý khi sử dụng các độ đo kích thước.........................................33 2.5.3 Kích thước chương trình..............................................................................33 2.5.4 Các độ đo kích thước khác...........................................................................35 2.5.5 Ước lượng kích thước chương trình ............................................................35 2.5.6 Ước lượng một kích thước lớn hơn .............................................................36 SV ne t.vn iii 2.5.7 Sử dụng các đơn vị đo kích thước trong bản ghi số công việc ....................39 2.6 Quản lý thời gian .................................................................................................42 2.6.1 Các yếu tố trong quản lý thời gian...............................................................42 2.6.2 Phân loại các hoạt động của bạn..................................................................42 2.6.3 Đánh giá việc phân bổ thời gian của bạn.....................................................43 2.6.4 Tạo quỹ thời gian .........................................................................................43 2.6.5 Thiết lập các qui tắc cơ bản .........................................................................46 2.6.6 Đặt độ ưu tiên cho thời gian của bạn ...........................................................48 2.6.7 Quản lý quỹ thời gian của bạn .....................................................................49 2.6.8 Mục tiêu quản lý thời gian ...........................................................................50 2.7 Quản lý cam kết ...................................................................................................51 2.7.1 Định nghĩa....................................................................................................51 2.7.2 Các lời cam kết được thực hiện hợp lý ........................................................52 2.7.3 Ví dụ về một lời cam kết..............................................................................52 2.7.4 Giải quyết các cam kết bị bỏ lỡ ...................................................................54 2.7.5 Hậu quả của việc không quản lý cam kết ....................................................55 2.7.6 Cách quản lý cam kết...................................................................................56 2.8 Quản lý thời gian biểu..........................................................................................57 2.8.1 Sự cần thiết của thời gian biểu.....................................................................57 2.8.2 Biểu đồ Gantt ...............................................................................................57 2.8.3 Lập thời gian biểu ........................................................................................58 2.8.4 Điểm mốc.....................................................................................................59 2.8.5 Theo dõi các kế hoạch của dự án .................................................................60 2.9 Lập kế hoạch cho dự án .......................................................................................63 2.9.1 Sự cần thiết phải lập kế hoạch cho dự án.....................................................63 2.9.2 Bản tổng kết kế hoạch..................................................................................63 2.9.3 Đánh giá độ chính xác .................................................................................68 Chương 3. Các phương pháp luận trong PSP về quy trình quản lý sai sót [4] .......69 3.1 Quy trình phát triển phần mềm............................................................................69 3.1.1 Tại sao chúng ta sử dụng quy trình..............................................................69 3.1.2 Kịch bản quy trình .......................................................................................70 3.1.3 Điểm mốc và pha .........................................................................................71 3.1.4 Bản tổng kết các kế hoạch dự án cập nhật ...................................................72 3.1.5 Một ví dụ về lên kế hoạch............................................................................74 3.1.6 Một ví dụ về tính toán giá trị Đến ngày.......................................................77 3.2 Sai sót (defects)....................................................................................................79 3.2.1 Chất lượng phần mềm là gì? ........................................................................80 3.2.2 Sai sót và chất lượng....................................................................................80 3.2.3 Sai sót là gì?.................................................................................................81 3.2.4 Các loại sai sót .............................................................................................82 3.2.5 Hiểu được các sai sót ...................................................................................83 3.2.6 Bản ghi ghi chép sai sót (Defect Recording Log)........................................84 3.2.7 Đếm sai sót...................................................................................................88 3.2.8 Sử dụng bản ghi ghi chép sai sót .................................................................89 3.2.9 Bản tổng kết kế hoạch đề án cập nhật..........................................................90 3.3 Tìm kiếm sai sót...................................................................................................92 SV ne t.vn iv 3.3.1 Các bước trong tìm kiếm sai sót ..................................................................92 3.3.2 Những cách để tìm và chỉnh sửa lỗi.............................................................92 3.3.3 Xem xét lại code ..........................................................................................93 3.3.4 Tại sao cần phải tìm sai sót sớm? ................................................................94 3.3.5 Chi phí của việc tìm và sửa lỗi.....................................................................95 3.3.6 Sử dụng xem xét lại để tìm sai sót ...............................................................96 3.3.7 Lý do xem xét lại trước khi biên dịch..........................................................97 3.3.8 Các dạng xem lại khác .................................................................................98 3.4 Danh sách kiểm tra (checklist) xem lại code .......................................................98 3.4.1 Tại sao checklist lại có ích? .........................................................................98 3.4.2 Một checklist ví dụ ......................................................................................99 3.4.3 Sử dụng checklist xem lại code .................................................................100 3.4.4 Xây dựng một checklist cá nhân................................................................102 3.4.5 Cải tiến checklist........................................................................................106 3.4.6 Các chuẩn cài đặt .......................................................................................107 3.5 Dự đoán sai sót ..................................................................................................109 3.5.1 Sử dụng dữ liệu sai sót...............................................................................109 3.5.2 Mật độ sai sót .............................................................................................109 3.5.3 Dự đoán mật độ sai sót ..............................................................................110 3.5.4 Ước lượng sai sót .......................................................................................111 3.5.5 Kịch bản quy trình và bản tổng kết kế hoạch dự án cập nhật ....................112 3.5.6 Một ví dụ về bản tổng kết dự án ................................................................115 3.6 Tính kinh tế của việc loại bỏ sai sót...................................................................119 3.6.1 Vấn đề loại bỏ sai sót.................................................................................119 3.6.2 Sự tiết kiệm của việc loại bỏ sai sót...........................................................120 3.6.3 Tính số sai sót/giờ và hiệu suất trong bản tổng kết kế hoạch ...................121 3.6.4 Tăng tỉ lệ loại bỏ sai sót .............................................................................123 3.6.5 Giảm tỉ lệ mắc phải sai sót.........................................................................124 3.7 Các sai sót thiết kế .............................................................................................124 3.7.1 Tính tự nhiên của sai sót thiết kế ...............................................................124 3.7.2 Nhận dạng các sai sót thiết kế....................................................................125 3.7.3 Thiết kế là gì? ............................................................................................126 3.7.4 Quy trình thiết kế .......................................................................................127 3.7.5 Nguyên nhân của sai sót thiết kế ...............................................................127 3.7.6 Ảnh hưởng của sai sót thiết kế...................................................................128 3.7.7 Trình bày thiết kế .......................................................................................129 3.8 Chất lượng sản phẩm .........................................................................................134 3.8.1 Nhìn nhận về bộ lọc kiểm thử....................................................................134 3.8.2 Tính toán các giá trị hiệu suất ....................................................................134 3.8.3 Ước lượng hiệu suất cuối cùng ..................................................................135 3.8.4 Lợi ích của hiệu suất quy trình 100% ........................................................136 3.8.5 Prototyping.................................................................................................137 3.9 Chất lượng quy trình..........................................................................................137 3.9.1 Các phép đo quy trình................................................................................137 3.9.2 Nghịch lý của việc loại trừ sai sót..............................................................138 3.9.3 Một chiến lược loại trừ sai sót ...................................................................138 3.9.4 Chi phí của chất lượng...............................................................................139 SV ne t.vn v 3.9.5 Tính toán chi phí của chất lượng ...............................................................139 3.9.6 Tỉ lệ chi phi đánh giá/sai sót(A/FR – Appraisal/Failure Ratio).................141 3.9.7 Cải tiến tốc độ xem lại ...............................................................................144 3.9.8 Tính toán chi phí chất lượng thật sự ..........................................................144 Chương 4. Một số kết quả áp dụng PSP vào trong thực tế .....................................147 4.1 Trong môi trường công nghiệp [5] ....................................................................147 4.1.1 Advanced Information Services (AIS) ......................................................147 4.1.2 Motorola Paging Products Group ..............................................................151 4.1.3 Union Switch & Signal Inc........................................................................152 4.1.4 Một số nhóm phát triển phần mềm khác....................................................153 4.2 Trong các trường đại học ...................................................................................153 4.3 Kết quả áp dụng PSP của bản thân. ...................................................................158 4.3.1 Hướng áp dụng ..........................................................................................158 4.3.2 Kết quả thu được........................................................................................158 4.4 Kết luận về việc sử dụng PSP............................................................................160 Chương 5. Ứng dụng minh họa .................................................................................163 5.1 Giới thiệu ...........................................................................................................163 5.2 Yêu cầu ..............................................................................................................163 5.3 Bảng chú giải .....................................................................................................166 5.3.1 Giới thiệu ...................................................................................................166 5.3.2 Các định nghĩa ...........................................................................................166 5.4 Thiết kế ..............................................................................................................167 5.4.1 Use case .....................................................................................................167 5.4.2 Đặc tả bổ sung............................................................................................167 5.4.3 Các activity diagram chính trong ứng dụng...............................................168 5.4.4 Các sequence diagram chính trong ứng dụng............................................171 5.4.5 Mô hình thực thể kết hợp...........................................................................177 Chương 6. Một số kết luận và hướng phát triển......................................................178 6.1 Kết quả đạt được:...............................................................................................178 6.1.1 Về mặt lý thuyết.........................................................................................178 6.1.2 Về mặt ứng dụng........................................................................................178 6.2 Hướng phát triển ................................................................................................178 Tài liệu tham khảo ...........................................................................................................179 SV ne t.vn vi Danh mục các ký hiệu, các chữ viết tắt A/FR Appraisal to Failure Ratio CMM Capability Maturity Model CMU Carnegie Mellon University COQ Cost of Quality KLOC kiloline of code LOC line of code PSP Personal Software Process SEI Software Engineering Institute TSP Team Software Process SV ne t.vn vii Danh mục các bảng Bảng 2.2.1 Bản ghi ghi chép thời gian.................................................................................12 Bảng 2.2.2 Các hướng dẫn bản ghi ghi chép thời gian ........................................................13 Bảng 2.2.3 Ví dụ bản ghi ghi chép thời gian .......................................................................14 Bảng 2.3.1 Bảng tổng kết hoạt động hàng tuần ...................................................................17 Bảng 2.3.2 Ví dụ bản tổng kết hoạt động hàng tuần............................................................18 Bảng 2.3.3 Tốc độ và thời gian giai đoạn, tuần 2 ................................................................19 Bảng 2.3.4 Các chỉ dẫn tổng kết hoạt động hàng tuần.........................................................21 Bảng 2.4.1 Bản ghi số công việc .........................................................................................25 Bảng 2.4.2 Một ví dụ bản ghi số công việc .........................................................................26 Bảng 2.4.3 Một ví dụ bản ghi thời gian ...............................................................................27 Bảng 2.4.4 Các chỉ dẫn bản ghi số công việc ......................................................................28 Bảng 2.5.1 Thời gian đọc các chương của sinh viên Y .......................................................32 Bảng 2.5.2 Thời gian phát triển chương trình của sinh viên Y............................................33 Bảng 2.5.3 Dãy các kích thước chương của sinh viên Y.....................................................36 Bảng 2.5.4 Biểu mẫu ước lượng kích thước chương trình ..................................................37 Bảng 2.5.5 Các ước lượng kích thước chương trình của sinh viên Y..................................38 Bảng 2.5.6 Một bản ghi thời gian với dữ liệu k

Các file đính kèm theo tài liệu này:

  • pdf[LVIT032] - Tìm hiểu quy trình phần mềm PSP.pdf
Tài liệu liên quan