Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 218 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
218
Dung lượng
22,46 MB
Nội dung
Quản lý yêu cầu đề án TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM DƯƠNG NGỌC LONG NAM VŨ KIM OANH QUẢN LÝ YÊU CẦU ĐỀ ÁN LUẬN VĂN CỬ NHÂN TIN HỌC TP. HCM, NĂM 2004 1 Quản lý yêu cầu đề án TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM DƯƠNG NGỌC LONG NAM - 01HC294 VŨ KIM OANH - 01HC308 QUẢN LÝ YÊU CẦU ĐỀ ÁN LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.S NGUYỄN THỊ BÍCH NIÊN KHÓA 2001 - 2004 2 Quản lý yêu cầu đề án 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 em thực hiện đề tài tốt nghiệp này. Chúng em xin chân thành cảm ơn Cô Nguyễn Thị Bích, đã 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. Nhờ sự định hướng chính xác và sự chỉ bảo cặn kẽ, nhiệt tình của Cô Nguyễn Thị Bích, chúng em đã tiếp thu được nhiều kiến thức rất quí báu. 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 tại Khoa, và cũng xin gửi lòng biết ơn sâu sắc của chúng em đến Thầy Trần Đức Duẩn, Thầy Trần Minh Triết, Thầy Trần Lê Hồng Dũ những người đã giúp đỡ cung cấp tài liệu… cho chúng em rất nhiều trong lúc 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 đem lại nguồn động viên to lớn giúp đỡ chúng con vượt qua những khó khăn trong cuộc sống. 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ô tha thứ và tận tình chỉ bảo. Một lần nữa, xin chân thành cảm ơn và kính chúc Quí Thầy Cô luôn có sức khỏe thật tốt. Tp. Hồ Chí Minh, 09/2004 Nhóm sinh viên thực hiện Dương Ngọc Long Nam _ Vũ Kim Oanh 3 Quản lý yêu cầu đề án LỜI MỞ ĐẦU Ngày nay công nghệ thông tin đã được ứng dụng vào tất cả các lĩnh vực của đời sống xã hội. Nó đã tạo ra một diện mạo mới cho xã hội và nhờ nó mà nền văn minh của nhân loại đã được đưa lên một tầm cao mới. Nói đến công nghệ thông tin là nói đến công nghệ phần mềm, một phần không thể tách rời của công nghệ thông tin. Hiện nay ngành công nghệ phần mềm trên thế giới đang phát triển như vũ bão. Những tiến bộ vượt bậc của khoa học kỹ thuật phần cứng đã tạo điều kiện thuận lợi cho ngành công nghệ phần mềm ngày càng phát triển không ngừng. Trong các công ty phần mềm, không chỉ ở Việt Nam mà trên toàn thế giới luôn luôn phải đối diện với nguy cơ chi phí trang trải cao hơn mức dự kiến và bị trễ hạn đề án trong đó 76% nguyên nhân là do yêu cầu thay đổi. Đây là nguyên nhân chính dẫn tới sự thất bại của nhiều công ty phần mềm. Nó là nỗi ám ảnh thường trực đối với những người phát triển đề án và đặc biệt là các nhà quản lý. Vì vậy người quản lý đề án cần phải tổ chức kế hoạch, theo dõi tất cả các yêu cầu và các mối quan hệ giữa chúng, và phải biết ngay những gì cần phải làm để đáp ứng khắc phục khi có yêu cầu thay đổi sao cho hiệu quả nhất để đề án được hoàn thành theo đúng thời gian qui định, giảm thiểu rủi ro và chi phí thực hiện. Xuất phát từ nhu cầu này, chúng em đã chọn đề tài “Quản lý yêu cầu đề án “ làm luận văn tốt nghiệp. 4 Quản lý yêu cầu đề án Mục lục Danh mục các ký hiệu, các chữ viết tắt: 6 Danh mục các bảng: 6 Danh mục các hình vẽ : 7 1 Chương 1 : Tổng quan về quản lý yêu cầu 8 1.1 Các khái niệm : 8 1.2 Xác định phạm vi dự án : 12 1.3 Tại sao phải quản lý yêu cầu : 14 1.4 Các khái niệm quan trọng trong quản lý yêu cầu: 18 1.5 Xác định và viết các yêu cầu tốt : 22 1.6 Ai sẽ thu được lợi từ quản lý yêu cầu : 31 1.7 Vài điều cần thực hiện khi quản lý yêu cầu: 31 1.8 Quản lý các yêu cầu hình thức như thế nào? 32 1.9 Các giải pháp cho vấn đề quản lý yêu cầu mà ảnh hưởng đến sự phát triển: 33 1.10 Cách giúp tăng cường khả năng quản lý yêu cầu trong tổ chức: 40 1.11 Tự động tiến trình quản lý các yêu cầu : 44 1.12 Các kỹ năng cần có trong quản lý yêu cầu : 45 1.13 Đưa quản lý yêu cầu vào công việc 53 2 Chương 2 : Những công cụ quản lý yêu cầu hiện nay : 54 2.1 Giới thiệu : 54 2.2 Định nghĩa các công cụ quản lý yêu cầu : 55 2.3 Các loại công cụ : 56 2.4 Tại sao phải sử dụng các loại công cụ quản lý yêu cầu : 56 2.5 Kiến trúc chức năng : 57 2.6 So sánh với các phần mềm có chức năng tương tự : 59 2.7 Đánh giá các công cụ quản lý yêu cầu : 60 3 Chương 3 : Xây dựng “ Phần mềm quản lý yêu cầu đề án “ 61 3.1 Mục tiêu của ứng dụng : 61 3.2 Đặc tả yêu cầu của ứng dụng: 61 3.3 Các khái niệm được dùng trong phần mềm : 62 3.4 Nguyên tắc công việc : 65 3.5 Các kỹ thuật được tìm hiểu và ứng dụng trong phần mềm: 71 3.6 Các giải thuật được cài đặt trong phần mềm: 80 3.7 Cấu trúc lưu trữ của chương trình: 82 3.8 Hệ thống giúp đỡ trực tiếp 83 3.9 Thiết kế và cài đặt ứng dụng : 85 Use case : Đăng nhập 86 Use case: Đổi mật khẩu 86 Use case: Tài liệu 87 Use case: Yêu cầu 89 Use case: View 91 Use case: Tạo mối quan hệ 92 Use case: Gói công việc 94 Use case: Thảo luận 95 Use case: Báo biểu 97 Use case: Tạo đề án 98 5 Quản lý yêu cầu đề án Use case: Đặt bảo mật 99 Use case: Nhóm 100 Use case: Người dùng (User) 101 Use case: Loại yêu cầu 103 Use case: Loại tài liệu 104 Danh sách các bảng : 74 3.10 Công cụ và môi trường phát triển hệ thống : 157 3.11 Triển khai vận hành thử nghiệm : 157 3.12 Đánh giá : 157 4 Chương 4 : Kết luận 160 4.1 Kết quả đạt được : 160 4.2 Hướng phát triển của đề tài : 160 5 Tài liệu tham khảo : 161 Tiếng Anh : 161 Tiếng Việt : 161 6 Phụ lục : 162 Danh mục các ký hiệu, các chữ viết tắt: DS Danh sách CSDL Cơ sở dữ liệu QFD ( Quanlity function deployment) là kỹ thuật quản lý chất lượng CCB (Change Control Board) Ban kiểm soát sự thay đổi JAD Joint Application Development Danh mục các bảng: Bảng 2-1 : Danh sách bảng dữ liệu 76 Bảng 2-2 : Bảng Discussion 77 Bảng 2-3 : Bảng DiscussionGroups 77 Bảng 2-4 : Bảng DiscussionRequirements 78 Bảng 2-5 : Bảng DiscussionRead 78 Bảng 2-6 : Bảng DiscussionUsers 78 Bảng 2-7 : Bảng Documents 79 Bảng 2-8: Bảng DocumentHistory 79 Bảng 2-9 : Bảng DocumentTypes 80 Bảng 2-10 : Bảng DocumentTypeUsers 80 Bảng 2-11 : Bảng ExternalProjects 81 Bảng 2-12 : Bảng Keys 81 Bảng 2-13 : Bảng OverflowHistory 81 Bảng 2-14 : Bảng OverflowText 82 Bảng 2-15 : Bảng OverflowValues 82 Bảng 2-16 : Bảng PackageElements 82 Bảng 2-17 : Bảng Packages 82 Bảng 2-18 : Bảng ProjectDiscussions 83 6 Quản lý yêu cầu đề án Bảng 2-19 : Bảng ProjectDocuments 83 Bảng 2-20 : Bảng ProjectDocumentTypes 83 Bảng 2-21 : Bảng ProjectExternalProjects 83 Bảng 2-22 : Bảng ProjectHistory 84 Bảng 2-23 : Bảng ProjectRequirements 84 Bảng 2-24 : Bảng ProjectRequirementTypes 84 Bảng 2-25 : Bảng Projects 85 Bảng 2-26 : Bảng ProjectGroups 85 Bảng 2-27 : Bảng QueryDefinitions 86 Bảng 2-28 : Bảng RequirementHistory 86 Bảng 2-29 : Bảng Requirements 87 Bảng 2-30 : Bảng RequirementTypeFields 88 Bảng 2-31 : Bảng RequirementTypeFields 88 Bảng 2-32 : Bảng RequirementTypeStyles 89 Bảng 2-33 : Bảng RequirementTypeUsers 89 Bảng 2-34 : Bảng Relationships 90 Bảng 2-35 : Bảng UserDefinedFields 91 Bảng 2-36 : Bảng UserDefinedFieldUsers 91 Bảng 2-37 : Bảng UserDefinedFieldValues 91 Bảng 2-38 : Bảng UserDefinedListItems 92 Bảng 2-39 : Bảng UserDefinedListItemUsers 92 Bảng 2-40 : Bảng UserDefinedListValues 92 Bảng 2-41 : Bảng Groups 93 Bảng 2-42 : Bảng Users 93 Bảng 2-43 : Bảng Views 94 Danh mục các hình vẽ : Hình 2.1 : Truy vết các yêu cầu 20 Hình 2.2 :Khái quát về cấu trúc quản lý yêu cầu 53 Hình 2.3 : Sơ đồ Use-case 85 Hình 2.4 : Sơ đồ toàn bộ của đề án 74 Hình 3.5 : Mô hình Client/Server 94 Hình 3.6 : Kiến trúc 3 lớp 95 7 Quản lý yêu cầu đề án 1 Chương 1 : Tổng quan về quản lý yêu cầu 1.1 Các khái niệm : 1.1.1 Yêu cầu là gì ? Yêu cầu là một điều kiện hoặc khả năng mà hệ thống phải tuân theo (Rational). 1.1.2 Yêu cầu phần mềm là gì ? Một yêu cầu phần mềm là (theo Merlin Dorfman và Richard H. Thayer): • Một khả năng phần mềm được yêu cầu bởi người dùng để giải quyết một vấn đề hoặc để đạt một mục tiêu nào đó. Hay • Một khả năng phần mềm phải được đáp ứng hay cần phải có trong một hệ thống (hay một thành phần của hệ thống) để thỏa mãn một hợp đồng, một bản chi tiết kĩ thuật, một tiêu chuẩn hay một tài liệu bắt buộc chính thức khác. 1.1.3 Phân loại yêu cầu: QFD ( Quanlity function deployment) là kỹ thuật quản lý chất lượng có thể chuyển các nhu cầu người dùng thành các yêu cầu kỹ thuật do phần mềm. QFD được phát triển ở Nhật và đầu tiên được dùng ở Kobe Shipyard của khu công nghiệp nặng Mitsubisi vào đầu những năm 70. QFD tập trung vào sự tối đa hoá sự hài lòng của khách hàng. Để hoàn thiện điều này, QFD nhấn mạnh sự hiểu biết về các giá trị cho người dùng và kế đó triển khai các giá trị này thông qua tiến trình kỹ thuật. QFD xác định 3 loại yêu cầu: 1. Yêu cầu bình thường : Các mục tiêu được đưa ra cho sản phẩm hay hệ thống trong suốt buổi gặp mặt với khách hàng. Nếu các yêu cầu này được đưa ra thì khách hàng sẽ hài lòng. 8 Quản lý yêu cầu đề án Ví dụ: Các yêu cầu về chức năng hiển thị đồ hoạ, chức năng hệ thống đặc biệt và mức độ công suất phần mềm thực thi được xác định. 2. Yêu cầu mong muốn : Các yêu cầu loại này là tuyệt đối nên có đối với sản phẩm hay hệ thống và nó quá cơ bản đến nổi khách hàng không nói ra. Thiếu các yêu cầu này là nguyên nhân dẫn đến sự không hài lòng nghiêm trọng của khách hàng. Ví dụ: Sự dễ dàng tương tác giữa người và máy, hoạt động chính xác và đáng tin cậy, sự dễ dàng trong việc lắp đặt phần mềm. 3. Các yêu cầu thú vị : Các chức năng vượt quá sự mong muốn của khách hàng và được chứng minh là khi các yêu cầu loại này xuất hiện sẽ rất làm hài lòng cho khách hàng. Ví dụ: Phần mềm đánh văn bản được yêu cầu với nét đặc trưng chuẩn. Các sản phẩm được phân phối chứa các khả năng phân trang làm hài lòng mà khách hàng đã không nghĩ đến. 1.1.4 Quản lý yêu cầu là gì ? Quản lý yêu cầu là tiến trình đang diễn ra trong việc xác định các nhu cầu của người dùng cuối, cân bằng chúng với thời gian và ngân sách của dự án, dẫn đến hệ thống thoả mãn các nhu cầu của người dùng cuối. • Quản lý yêu cầu đang diễn ra là gì? Quản lý yêu cầu thì sẽ không ngừng cho đến khi bắt đầu cài đặt hay thậm chí đến khi giao sản phẩm. Các yêu cầu thay đổi theo thời gian và sẽ thay đổi sâu sắc trong bất kỳ chu trình sống nào của dự án. Quản lý yêu cầu tiếp tục thông qua đời sống của sản phẩm phần mềm, và thường qua nhiều thế hệ sản phẩm thành công. Ví dụ : chương trình dựa trên DOS xây dựng được 7 năm sẽ được yêu cầu chuyển sang dựa trên Window? 9 Quản lý yêu cầu đề án Duy trì được các yêu cầu ban đầu thông qua chu kỳ sống sẽ cực kỳ hữu dụng. Thật quan trọng để nhớ rằng “quản lý yêu cầu là không từ chối thay đổi mà nó quản lý các thay đổi.” • Quản lý yêu cầu là sự xác nhận các nhu cầu của người dùng cuối là gì: Người dùng có một chút khó khăn trong việc thu thập và xác định các nhu cầu khi đối mặt với một kỹ thuật mới, thậm chí thường người dùng sẽ không biết họ cần cái gì. Điều này có thể tạo ra một tình huống mà ở đó yêu cầu mơ hồ và không thể giải quyết. Nếu điều này xảy ra, nó là nguyên nhân làm cho dự án thất bại. Các yêu cầu không thể bỏ đi sự mơ hồ. Nó sẽ được hiểu và được kích hoạt trong trường hợp hiểu rõ hoặc nó nên được trì hoãn đến dự án sau đó, khi đã hiểu hơn. Chú ý rằng các yêu cầu này có thể rơi vào nhiều loại, ví dụ: một yêu cầu về thị trường có thể là “Nó được xác nhận với logo Windows XP” hay một yêu cầu về hiệu năng như “tìm kiếm một mảng thông tin nào đó phải ít hơn 1 giây”,… Chắn chắn một điều là trong khi làm việc với các dự án, các yêu cầu sẽ có nhiều thay đổi, và các giải pháp mới sẽ được đề xuất. Việc giải quyết các vấn đề này là một khía cạnh khác của quản lý các yêu cầu mà nó có tên là “Quản lý các yêu cầu” hay “Điều khiển tiến trình thay đổi”. Nó tăng số lượng các yêu cầu đang tồn tại phải được xếp độ ưu tiên lại, đưa ra các ước tính sẽ ảnh hưởng đến sự thành công của dự án, và rất có thể thay đổi luôn cả thời gian biểu của dự án. Các thay đổi do sự hiểu lầm của người dùng, các thay đổi do yêu cầu nghiệp vụ hay thậm chí đơn giản là do một phần nào đó bị quên cho đến khi dự án đã hoàn tất làm cho phần mềm không được thoả đáng. Khi có yêu cầu mới ngoài khả năng nên hủy bỏ nó vì khi chấp nhận sẽ dẫn đến dự án thất bại. * Quản lý các yêu cầu là sự cân bằng đối với thời gian và ngân sách của dự án: 10 [...]... của việc quản lý các u cầu là một trong nhiều khía cạnh thử thách của sự làm việc theo kỷ luật 19 Quản lý u cầu đề án Bảo đảm chất lượng & kiểm nghiệm Nhà phát triển & nhà thiết kế Nhà phân tích Các yêu cầu Người viết kỹ thuật & tài liệu Quản lý phát triển và quản lý dự án Quản lý phối hợp 1.4.4 Khả truy (Traceability) Thiết lập các đường truy vết: Hình 2.1 : Truy vết các u cầu Giữa các u cầu có sự... Management: quản lý cấu hình phần mềm) 1.4.2 Loại u cầu ( Requirement Type): Là một lớp các u cầu Hệ thống càng lớn và phức tạp thì càng có nhiều các u cầu xuất hiện Nhờ xác định các kiểu u cầu, các đội có thể tổ chức nhiều u cầu thành những nhóm có ý nghĩa và dễ quản lý hơn Thiết lập các kiểu u cầu 18 Quản lý u cầu đề án khác nhau trong một dự án giúp các thành viên trong đội phân loại các u cầu để dễ... tâm quản lý các u cầu : Quản lý các u cầu quan trọng như thế nào đối với các nhà phát triển được phản ánh trong mục đích của quản lý các u cầu: cần thiết lập sự thơng hiểu nhau giữa khách hàng với đội ngũ phát triển phần mềm Sự thơng hiểu đó là nền tảng cho việc lên kế hoạch và quản lý dự án Nếu khơng có sự quản lý các u cầu hiệu quả, đội sẽ bị hạn chế khả năng trong việc thiết lập một kế hoạch dự án. .. nhiệm quản lý 1 u cầu: là yếu tố đầu tiên cần được xác định, nó thường là những báo cáo, trình bày rất ngắn gọn Ví dụ như: “Xây dựng phần mềm quản lý u cầu trên win và web mà có thể quản lý được sự thay đổi của các u cầu, tài liệu,các thành viên tham gia…của dự án trong vòng 1 năm” là một u cầu được trình bày ngắn gọn Tất cả những phần 12 Quản lý u cầu đề án khác sẽ đưa ra thời gian thực hiện và sẽ... đề, nắm bắt và quản lý sự tiến hố các u cầu, lên mơ hình các tương tác người dùng, định nghĩa kiến trúc cơ sở dữ liệu, và phối hợp các phản hồi stakeholder xun suốt chu kỳ sống của dự án Nếu là một quản lý dự án, nhà phân tích, nhà phát triển hay nhà kiểm nghiệm, các u cầu và phân tích sẽ gắn chặt với cơng việc Phân tích các u cầu tốt giúp bỏ đi các rủi ro của dự án, 16 Quản lý u cầu đề án thực hiện... chính xác tồn thể Làm lỗi với một u cầu nào đó trong tình huống này có thể làm cho bệnh nhân tử vong 1.9 Các giải pháp cho vấn đề quản lý u cầu mà ảnh hưởng đến sự phát triển: Phần này, chúng ta sẽ thấy vài vấn đề liên quan đến các u cầu mà nó sẽ ảnh hưởng đến những nhà phát triển và đề xuất ra các cách tiếp cận quản lý u cầu để tránh các vấn đề này Các vấn đề u cầu phổ biến 1 Khơng thể tìm thấy thay... u cầu [u cầu 1]->[u cầu 2] Thay đổi nội dung u cầu [aaaaaa]->[bbbbbb] Ngun nhân [cccccc] Thay đổi thuộc tính: 1 Độ khó [Thấp] -> [Cao] 21 Quản lý u cầu đề án 2 Độ ổn định [Cao]-> [Thấp] 3 Giá trị [1 triệu] -> [2 triệu] … 1.5 Xác định và viết các u cầu tốt : 1.5.1 Khái niệm u cầu tốt : • Là những u cầu phải có đủ các tính chất sau: cần thiết, có thể xác định được và có thể thực hiện được • Nếu u cầu. .. có thể biết việc quản lý các u cầu khơng hiệu quả là việc thiếu các tài ngun và phát sinh một khối lượng lớn các cơng việc phải làm lại 1.7 Vài điều cần thực hiện khi quản lý u cầu: Các dự án thành cơng chia sẻ các đặc điểm sau: Các u cầu thực sự phản ánh các nhu cầu của khách hàng và các thành viên trong đội ngũ phải hiểu rõ ràng các u cầu, các mong muốn của khách hàng phải được quản lý một cách hiệu.. .Quản lý u cầu đề án Mỗi dự án có một thời gian và ngân sách riêng Nếu khơng có các yếu tố này thì nó sẽ khơng còn là một dự án mà chỉ là một bài học bảo trì kéo dài Mâu thuẫn lớn nhất là các u cầu nào được sẽ hồn tất khi phân chia thời gian biểu đối với ngân sách và thời gian của dự án Cung cấp một ước lượng hợp lý về thời gian và ngân sách được u cầu là nên dựa trên sự hiểu biết chắn chắn các u cầu. .. tích u cầu 1.1.1.4 Hệ thống hóa 2 loại u cầu: Có những u cầu chức năng nào? Mức độ hổ trợ tin học đối với chúng như thế nào? o Hổ trợ 1 phần o Hổ trợ hồn tồn Có những u cầu phi chức năng nào? Phạm vi ảnh hưởng của chúng? o Tốc độ o Tính tiện dụng o Độ an tồn 30 Quản lý u cầu đề án o Bảo mật o Tính tương thích o … 1.1.1.5 Xác định độ ưu tiên cho các u cầu 1.6 Ai sẽ thu được lợi từ quản lý u cầu : Tất . Quản lý yêu cầu đề án TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM DƯƠNG NGỌC LONG NAM VŨ KIM OANH QUẢN LÝ YÊU CẦU ĐỀ ÁN LUẬN VĂN CỬ NHÂN TIN HỌC TP 2004 1 Quản lý yêu cầu đề án TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM DƯƠNG NGỌC LONG NAM - 01HC294 VŨ KIM OANH - 01HC308 QUẢN LÝ YÊU CẦU ĐỀ ÁN LUẬN VĂN CỬ. trong quản lý yêu cầu : 45 1.13 Đưa quản lý yêu cầu vào công việc 53 2 Chương 2 : Những công cụ quản lý yêu cầu hiện nay : 54 2.1 Giới thiệu : 54 2.2 Định nghĩa các công cụ quản lý yêu cầu :