Đề tài Tìm hiểu về quản lý yêu cầu và kiểm thử tại phòng phát triển phần mềm trung tâm tin học trường đại học khoa học tự nhiên, xây dựng phần mềm hỗ trợ

Sau cuộc khủng hoảng trong ngành công nghệ thông tin vào đầu những năm 2000, đến nay, công nghệ sản xuất phần mềm trên thế giới và nhất là Việt Nam đang tiến những bước tiến mạnh mẽ hơn.Vượt qua cuộc khủng hoảng này, ngoài những kinh nghiệm trong kinh doanh, các công ty tin học Việt Nam nhận thức được rằng quy trình sản xuất phần mềm của chính công ty họ cần được nâng cấp vớimục tiêu đầu tiên là nâng cao chất lượng, gia tăng tính chuyên nghiệp trong sản xuất phần mềm.

pdf104 trang | Chia sẻ: vietpd | Lượt xem: 1410 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu về quản lý yêu cầu và kiểm thử tại phòng phát triển phần mềm trung tâm tin học trường đại học khoa học tự nhiên, xây dựng phần mềm hỗ trợ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH OA C NT T – Đ H KH TN 1 Lời cám ơn Lời đầu tiên, chúng con xin gửi đến cha mẹ lòng biết ơn, sự tôn kính của chúng con. Cha mẹ đã sinh dưỡng và không ngại khó khăn tạo mọi điều kiện tốt nhất cho chúng con có được ngày hôm nay. Chúng em xin chân thành cám ơn thầy Trần Đan Thư, thầy Nguyễn Trọng Tài đã tận tâm hướng dẫn chúng em, giúp đỡ chúng em hoàn thành đề tài này. Chúng em cũng xin cám ơn các anh chị làm việc trong phòng phát triển phần mềm Trung tâm Tin học trường Đại học Khoa học Tự nhiên đã sẵn sàng giúp đỡ chúng em, cung cấp các thông tin cho chúng em trong quá trình khảo sát. Chúng em cũng xin cám ơn các thầy cô, cán bộ giảng viên trẻ đã nhiệt tình đóng góp những kinh nghiệm, ý kiến quý báu cho chúng em. Chúng em xin gửi lời cám ơn tất cả các quý thầy cô đã giảng dạy, cung cấp cho chúng em vốn kiến thức quý báu suốt những năm học vừa qua. Chúng em cám ơn khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên đã tạo điều kiện cho chúng em thực hiện đề tài này. Chúng tôi cũng xin cám ơn các bạn đã nhiệt tình giúp đỡ khi chúng tôi vướng phải những khó khăn, động viên chúng tôi trong suốt quá trình thực hiện đề tài luận văn tốt nghiệp này. Mặc dù chúng em đã cố gắng rất nhiều để hoàn thành tốt luận văn, nhưng chắc chắn không tránh khỏi những thiếu sót, chúng em rất mong được sự cảm thông và tận tình giúp đỡ của quý thầy cô. Tp. Hồ Chí Minh, 07/2004 Nhóm sinh viên thực hiện Nguyễn Khánh Chi- Tăng Nguyễn Trung Hiếu KH OA C NT T – Đ H KH TN 2 Lời mở đầu Sau cuộc khủng hoảng trong ngành công nghệ thông tin vào đầu những năm 2000, đến nay, công nghệ sản xuất phần mềm trên thế giới và nhất là Việt Nam đang tiến những bước tiến mạnh mẽ hơn. Vượt qua cuộc khủng hoảng này, ngoài những kinh nghiệm trong kinh doanh, các công ty tin học Việt Nam nhận thức được rằng quy trình sản xuất phần mềm của chính công ty họ cần được nâng cấp với mục tiêu đầu tiên là nâng cao chất lượng, gia tăng tính chuyên nghiệp trong sản xuất phần mềm. Một điều không thể tranh cãi , quy trình đóng một vai trò rất quan trọng trong việc sản xuất phần mềm. Hiện nay có rất nhiều quy trình sản xuất phần mềm như Quy trình RUP, Quy trình xoắc ốc, Quy trình thác nước.., nhưng điều cốt lõi nhất là ứng dụng những quy trình đó như thế nào và ứng dụng như vậy sẽ đạt được những thuận lợi gì, quá trình sản xuất phần mềm có tốt hơn không, chất lượng phần mềm có được nâng cao hay không. Trong một quy trình sản xuất phần mềm, ngoài việc thành lập các chuẩn coding, phân công sắp xếp các công việc cho các thành viên trong tổ chức, một yếu tố rất quan trọng là việc quản lý các tài liệu bao gồm các bản đặc tả yêu cầu, bản phân tích thiết kế chương trình, chương trình nguồn, các bản báo cáo kiểm thử và vô số những tài liệu không tên khác. Trong bối cảnh đó, chúng em đã thực hiện đề tài “Tìm hiểu về quản lý yêu cầu và kiểm thử tại Phòng phát triển phần mềm Trung Tâm Tin Học trường ĐHKHTN_Xây dựng phần mềm hỗ trợ” nhằm có thể hiểu rõ hơn việc quản lý yêu cầu và kiểm thử, những mục tiêu, thuận lợi mà hai tiến trình này đem lại. Đề tài này có thể được xem như một phần trong việc quản lý cấu hình, trong đó chú trọng ở hai giai đoạn khảo sát và kiểm thử. Luận văn của chúng em được trình bày với tám chương chính, bao gồm : KH OA C NT T – Đ H KH TN 3 - Chương 1 Mở đầu - Chương 2 Tổng quan về SQA (Software Quality Assurance) và các công việc quản lý yêu cầu, quản lý kiểm thử - Chương 3 Các công cụ hỗ trợ cho việc quản lý yêu cầu và quản lý kiểm thử hiện nay. - Chương 4 Giới thiệu về ứng dụng “Phần mềm quản lý yêu cầu và quản lý kiểm thử” (Requirements and Testing Management) - Chương 5 Thực hiện _ Kiểm tra ứng dụng - Chương 6 Tổng kết KH OA C NT T – Đ H KH TN 4 Mục lục Chương 1 Mở đầu................................................................................................................ 9 1.1 Khái quát vai trò quy trình phát triển phần mềm........................................................... 9 1.2 Tầm quan trọng của việc quản lý quy trình .................................................................. 10 1.3 Hiện trạng phát triển phần mềm tại T3H...................................................................... 10 1.4 Đánh giá hiện trạng ........................................................................................................ 19 1.4.1 Quản lý yêu cầu : ............................................................................................................................19 1.4.2 Quản lý kiểm thử :...........................................................................................................................19 1.5 Mục tiêu đề tài ................................................................................................................ 20 Chương 2 Tổng quan về SQA và các công việc quản lý yêu cầu, quản lý kiểm thử ...... 21 2.1 Vai trò của việc quản lý chất lượng phần mềm ............................................................. 21 2.2 Tại sao cần quản lý chất lượng ?.................................................................................... 24 2.3 Tổng quan về quản lý yêu cầu........................................................................................ 25 2.3.1 Quản lý yêu cầu là gì ?....................................................................................................................25 2.3.2 Các thông tin cần quản lý trong quản lý yêu cầu. ..........................................................................25 2.3.3 Giới thiệu tiến trình RM (Requirement Management) trong CMMI...............................................27 2.4 Tổng quan về quản lý kiểm thử...................................................................................... 28 2.4.1 Mục tiêu của quản lý kiểm thử. .......................................................................................................28 2.4.2 Các thông tin cần quản lý trong quản lý kiểm thử...........................................................................29 2.4.3 Giới thiệu tiến trình Verification (VER) trong CMMI....................................................................30 Chương 3 Các công cụ hỗ trợ cho việc quản lý yêu cầu và quản lý kiểm thử hiện nay 32 3.1 Công cụ hỗ trợ quản lý yêu cầu...................................................................................... 32 3.1.1 Giới thiệu : ......................................................................................................................................32 3.1.2 Định nghĩa công cụ quản lý yêu cầu ...............................................................................................33 3.1.3 Các loại công cụ ..............................................................................................................................33 3.1.4 Tại sao phải sử dụng các công cụ quản lý yêu cầu :........................................................................34 3.1.5 Kiến trúc chức năng : ......................................................................................................................35 3.1.6 So sánh với các phần mềm có chức năng tương tự : .......................................................................37 3.1.7 Đánh giá các công cụ quản lý yêu cầu ............................................................................................38 3.2 Công cụ kiểm thử : ......................................................................................................... 38 3.2.1 Các loại công cụ kiểm thử :.............................................................................................................38 3.2.2 Một số công cụ quản lý kiểm thử : ..................................................................................................41 Chương 4 Xây dựng “Phần mềm quản lý yêu cầu và quản lý kiểm thử” (Requirements and Testing Management) ....................................................................................................... 44 4.1 Mục tiêu của ứng dụng................................................................................................... 44 4.2 Thủ tục cho các quy trình được xây dựng mới .............................................................. 44 4.3 Đặc tả yêu cầu................................................................................................................. 49 KH OA C NT T – Đ H KH TN 5 4.4 Thiết kế ứng dụng........................................................................................................... 51 4.4.1 Mô hình use case.............................................................................................................................51 4.4.2 Đặc tả use case ................................................................................................................................52 4.5 Mô hình dữ liệu .............................................................................................................. 72 4.5.1 Kiến trúc hệ thống...........................................................................................................................73 4.5.2 Thiết kế màn hình ...........................................................................................................................77 Chương 5 Thử nghiệm ứng dụng..................................................................................... 89 5.1 Dữ liệu thử nghiệm......................................................................................................... 89 5.1.1 Giới thiệu project thử nghiệm : .......................................................................................................89 5.1.2 Bộ dữ liệu thử nghiệm :...................................................................................................................90 5.2 Kết quả thực hiện chương trình..................................................................................... 91 Chương 6 Tổng kết ............................................................................................................ 92 6.1 Tự đánh giá..................................................................................................................... 92 6.1.1 Những kết quả đạt được : ................................................................................................................92 6.2 Hướng phát triển của chương trình. .............................................................................. 93 Phụ lục ..................................................................................................................................... 95 Phụ lục A. Mô tả dữ liệu ................................................................................................... 95 Phụ lục B. RM Tool Survey Summary [INCOSE]............................................................ 98 KH OA C NT T – Đ H KH TN 6 Danh sách các hình Hình 1-1 Mô hình phát triển phần mềm theo quy trình thác nước tại T3H.............................. 11 Hình 1-2 Sơ đồ tổ chức các vai trò của nhân sự trong 1 đề án phần mềm ............................... 14 Hình 1-3 Mô hình quản lý yêu cầu tại T3H.............................................................................. 16 Hình 1-4 Mô hình kiểm thử tại T3H......................................................................................... 18 Hình 2-1 Các hoạt động trong CM ........................................................................................... 22 Hình 2-2 Tổng quan về CM...................................................................................................... 23 Hình 2-3 Năm cấp độ (tầng trưởng thành của CMMI) ............................................................. 27 Hình 5-1 Mô hình tiến trình quản lý yêu cầu cho hệ thống mới............................................... 45 Hình 5-2 Mô hình quản lý kiểm thử cho hệ thống mới ............................................................ 48 Hình 5-3 Mô hình usecase ....................................................................................................... 51 Hình 5-4 Kiến trúc hệ thống ..................................................................................................... 73 Hình 5-5 Kiến trúc Phần mềm quản lý yêu cầu và kiểm thử. ................................................... 75 Hình 5-6 Các lớp xử lý yêu cầu ................................................................................................ 76 Hình 5-7 Các lớp xử lý kiểm thử .............................................................................................. 76 Hình 5-8 Sơ đồ màn hình cho phần truy cập cơ sở dữ liệu ...................................................... 77 Hình 5-9 Sơ đồ các trang tổng quát .......................................................................................... 77 Hình 5-10 Sơ đồ nhóm các màn hình liên quan đến phần quản lý yêu cầu.............................. 78 Hình 5-11 Sơ đồ các màn hình liên quan đến phần kiểm thử ................................................... 79 Hình 5-12 MH. Trang chính ..................................................................................................... 80 Hình 5-13 MH.Thông tin yêu cầu tổng quát............................................................................ 81 Hình 5-14 MH. Cập nhật tài liệu mô tả yêu cầu. ...................................................................... 82 Hình 5-15 MH. Cây kiến trúc của project ................................................................................ 83 Hình 5-16 MH. Thiết lập mối liên hệ giữa các yêu cầu và phân hệ ......................................... 84 Hình 5-17 MH. Các release trong Project................................................................................. 84 Hình 5-18 MH. Cập nhật môi trường kiểm tra. ........................................................................ 85 Hình 5-19 MH. Các release và file đã được lập testcase. ......................................................... 86 Hình 5-20 MH. Cập nhật thông tin review ............................................................................... 87 KH OA C NT T – Đ H KH TN 7 Thuật ngữ / Từ viết tắt / Khái niệm Phần mềm _Software Là những chương trình, những thủ tục được gắn liền với các tài liệu mô tả và các dữ liệu có liên quan đến tác vụ của một hệ thống máy tính.[PGSQM] Chất lượng _Quality Việc thỏa mãn một sản phẩm theo đúng sự mong đợi của khách hàng, dựa vào những yêu cầu cho sản phẩm.[PGSQM] Việc đảm bảo chất lượng _Quality Assurance hay Kiểm soát chất lượng _ Quality Control Là một tập các hành động đã được dự định trước đó nhằm dò tìm, dẫn chứng qua các tài liệu, phân tích, và hiệu chỉnh các lỗi của sản phẩm cũng như quản lý các thay đổi của sản phẩm.[PGSQM] Quản lý chất lượng _ Quality Management Là việc ủy nhiệm, xúc tiến nhà sản xuất nhận ra, chấp thuận các cải tiến cho tiến trình sản xuất sản phẩm.[PGSQM] SQA Software Quality Assurance SQS Software Quality System CM Configuration management T3H Phòng phát triển phần mềm Trung tâm Tin học trường Đại học Khoa học Khoa học Tự nhiên. Internal release Mỗi khi việc coding hoàn tất ở một phân KH OA C NT T – Đ H KH TN 8 hệ hay một phần cụ thể nào đó của project, project manager hay coding manager sẽ compile cho một bản release. Bản release này sẽ được kiểm tra, sửa lỗi dùng trong nội bộ cơ quan. Release Release sẽ được giao cho khách hàng khi chương trình đã hoàn tất CMMI Capability Maturity Model Integration RM Requirement Management KH OA C NT T – Đ H KH TN Chương 1 Mở đầu 9 Chương 1 Mở đầu 1.1 Khái quát vai trò quy trình phát triển phần mềm Thưở ban đầu của ngành công nghiệp máy tính nói chung và công nghệ phần mềm nói riêng, việc phát triển phần mềm được xem như một quá trình “viết và sửa” (code and fix), không có bất kỳ một kế hoạch nào trước đó. Quá trình này thành công cho đến khi các chương trình phần mềm bắt đầu có quy mô lớn hơn, độ phức tạp cao hơn, cần có sự hợp tác của nhiều người hơn, do đó các phương pháp phát triển phần mềm hay quy trình phần mềm ra đời.Thực tế cho thấy, hầu hết các dự án thất bại do các nguyên nhân sau 1 : · Hiểu không đúng yêu cầu người dùng · Không thể thích ứng với các thay đổi về yêu cầu đối với hệ thống. · Các module không khớp với nhau. · Phần mềm khó bảo trì và nâng cấp, mở rộng. · Phát hiện trễ các lỗ hổng của dự án. · Chất lượng phần mềm kém. · Hiệu năng của phần mềm thấp. · Các thành viên trong nhóm không biết được ai đã thay đổi cái gì, khi nào, ở đâu, tại sao phải thay đổi. · Quá trình build-and-release không đáng tin cậy. Để khắc phục những rủi ro này đòi hỏi việc phát triển phần mềm phải theo một quy trình cụ thể đảm bảo phần mềm được xây dựng đảm bảo được chất lượng, thỏa mãn các yêu cầu của người dùng. 1 [LVRUP99] KH OA C NT T – Đ H KH TN Chương 1 Mở đầu 10 1.2 Tầm quan trọng của việc quản lý quy trình Như đã đề cập ở trên, việc thỏa mãn nhu cầu (Fitness for purpose) của người dùng rất quan trọng, đó là đích cuối cùng cho mọi sản phẩm được sản xuất ra. Vì vậy, việc đảm bảo chất lượng phần mềm cũng là một phần rất quan trọng trong quá trình sản xuất phần mềm và do đó, việc quản lý chất lượng cũng được đặt ra. Hơn thế nữa, quan điểm hiện đại về việc đảm bảo chất lượng ngày càng phức tạp hơn, không còn giới hạn ở mục tiêu thỏa yêu cầu khách hàng. Một sản phẩm phần mềm chất lượng cao (high quality product) phải kết hợp được nhiều nhân tố chất lượng (quality factors) hay thuộc tính chất lượng (Quality Attributes), trong đó có thể chia làm ba loại, đó là những nhân tố có thể tìm thấy trong đặc tả yêu cầu ví dụ như tính linh động (portability), là “cutural factors” ví dụ như tính hiệu dụng (usability), và những nhân tố mà người lập trình sẽ chú trọng nhưng người dùng thì không, đơn cử là tính tái sử dụng (reusability). Để một sản phẩm đặt ra đạt được những nhân tố chất lượng này không phải là một việc dễ dàng, vì vậy, việc quản lý chất lượng phần mềm là một công việc không thể tránh khỏi trong công nghệ phần mềm. 1.3 Hiện trạng phát triển phần mềm tại T3H T3H phát triển phần mềm theo quy trình thác nước bao gồm các giai đoạn sau : · Khảo sát hiện trạng – xác định yêu cầu · Lập giải pháp khả thi · Phân tích · Thiết kế · Coding · Kiểm thử · Triển khai và bảo trì Quy trình được minh họa qua sơ đồ KH OA C NT T – Đ H KH TN Chương 1 Mở đầu 11 NV quaûn lyù ñeà aùn NV phaân tích _ thieát keá NV quaûn trò heä thoáng NV laäp trình NV kieåm tra NV huaán luyeän NV quaûn lyù caáu hình NV phaân tích _ thieát keá NV phaân tích _ thieát keá NV laäp trình NV phaân tích _ thieát keá NV laäp trình NV huaán luyeän Laäp keá hoaïch & theo doõi tieán ñoäâ Laäp giaûi phaùp khaû thi Khaûo saùt - phaân tích Thieát keá phaàn meàm Xaây döïng phaàn meàm Kieåm tra & thöû nghieäm noäi boä Trieån khai Hoaøn chænh saûn phaåm Quaûn lyù caáu hình NV phaân tích _ thieát keá Hình 1-1 Mô hình phát triển phần mềm theo quy trình thác nước tại T3H KH OA C NT T – Đ H KH TN Chương 1 Mở đầu 12 MÔ TẢ CÁC GIAI ĐOẠN TRONG QUY TRÌNH PHÁT TRIỂN PHẦN MỀM Gđoạn Lập giải pháp khả thi Khảo sát – phân tích Thiết kế phần mềm Xây dựng phần mềm Kiểm tra và thử nghiệm nội bộ Tài liệu đầu vào Tài liệu giải pháp khả thi Tài liệu khảo sát phân tích - Tài liệu khảo sát phân tích - Tài liệu thiết kế phần mềm - Prototype chưong trình - Tài liệu khảo sát phân tích - Tài liệu thiết kế phần mềm - Chương trình Mô tả công việc cụ thể của giai đoạn