CHƯƠNG 1 ĐẶC TẢ YÊU CẦU TRONG PHÁT TRIỂN HỆ THỐNG Chương này sẽ trình bày các khái niệm về đặc tả yêu cầu, một số vấn đề thường gặp liên quan đến đặc tả yêu cầu trong quá trình phát triển hệ thống và nhu cầu cần thiết của việc xây dựng hệ thống quản lý yêu cầu phần mềm và phân tích ảnh hưởng tới hệ thống khi có yêu cầu thay đổi.1 Khái niệm về đặc tả yêu cầu phần mềm 1.1 Đặc tả yêu cầu phầm mềm Trong các ngành kỹ thuật hệ thống và kỹ nghệ phần mềm, phân tích yêu cầu là công việc xác định các yêu cầu cho một hệ thống mới hoặc được thay đổi trên cơ sở là các yêu cầu được đưa ra từ những người có vai trò quan trọng đối với hệ thống, chẳng hạn người sử dụng[1]. Việc phân tích yêu cầu có ý nghĩa quan trọng đối với thành công của một dự ánvà là khâu kỹ thuật đầu tiên của quá trình phát triển phần mềm. Một trong những kết quả quan trọng của quá trình phân tích yêu cầu là đặc tả yêu cầu phần mềm (SRS – Software Requirement Specification). Hình 1-1Quá trình hình thành các yêu cầu [2] Đặc tả các yêu cầu phần mềm là công việc xây dựng các đặc tả cần phát triển đáp ứng yêu cầu nghiệp vụ.
Các đặc tả yêu cầu phần mềm phải có tính đo được, kiểm thử được, có liên quan đến các nhu cầu hoặc cơ hội doanh nghiệp đã được xác định, và các yêu cầu phải được định nghĩa ở một mức độ chi tiết đủ cho việc cho việc thiết kế hệ thống[3]. TIEU LUAN MOI download : skknchat@gmail.com 14 Chất lượng của đặc tả yêu cầu phần mềm đánh giá qua các tiêu thức: - Tính rõ ràng, chính xác - Tính phù hợp - Tính đầy đủ, hoàn thiện Trong quá trình thực hiện đặc tả yêu cầu phần mềm có các phương pháp đặc tả như sau: - Đặc tả phi hình thức: là cách đặc tả bằng ngôn ngữ tự nhiên - Đặc tả hình thức: là cách đặc tả bằng các ngôn ngữ đặc tả, công thức và biểu đồ - Đặc tả chức năng: Thông thường, khi đặc tả chức năng của phần mềm, người ta sử dụng các công cụ tiêu biểu sau: Biểu đồ phân rã chức năng (Functional Decomposition Diagram – FDD), Biểu đồ luồng dữ liệu (Data Flow Diagrams- DFD), Biểu đồ trạng thái. - Đặc tả mô tả: Sử dụng các công cụ tiêu biểu sau: Biểu đồ thực thể liên kết (EntityRelationship Diagrams - ERD), Đặc tả logic (Logic Specifications), Đặc tả đại số (Algebraic Specifications) Yêu cầu hệ thống được phân thành 3 loại yêu cầu chính: - Yêu cầu chức năng: chức năng dịch vụ hệ thống cung cấp - Yêu cầu phi chức năng: những ràng buộc về tiêu chuẩn, thời gian, qui trình phát triển…chủ yếu là những yêu cầu về chất lượng - Ràng buộc: phản ảnh những đặc trưng của miền ứng dụng. Chúng có thể là những yêu cầu chức năng hay yêu cầu phi chức năng.
Hình 1-2 Phân loại yêu cầu [4] TIEU LUAN MOI download : skknchat@gmail.1 Đặc tả yêu cầu chức năng Yêu cầu chức năng: Chỉ ra những gì hệ thống thực hiện, yêu cầu chức năng thường quan hệ các use-case hay những qui tắc nghiệp vụ (business rule). Các chức năng tối thiểu mà hệ thống cần có nhằm đáp ứng các yêu cầu của các đối tượng tham gia vào việc quản lý, vận hành, duy trì, thực hiện nghiệp vụ bên trong, sử dụng dịch vụ cung cấp ra bên ngoài của hệ thống[5]. Một số yêu cầu chức năng hay gặp: - Chức năng tính toán - Chức năng lưu trữ - Chức năng tìm kiếm - Chức năng kết xuất - Chức năng backup, restore - Chức năng đa người dùng - Chức năng đa phương tiện… 1.2 Đặc tả yêu cầu phi chức Yêu cầu phi chức năng: Là những ràng buộc và điều kiện đối với các yêu cầu chức năng của hệ thống như ràng buộc về thời gian, ràng buộc về hiệu năng, các tiêu chuẩn được sử dụng. Những yêu cầu này ảnh hưởng đến chất lượng, khả năng sử dụng của hệ thống và có tác động trực tiếp đến sự hài lòng của người sử dụng.
Do đóquyết định sự thành công của hệ thống[6]. Các yêu cầu phi chức năng chung cho các hệ thống thông tin gồm: - Độ tin cậy, thời gian đáp ứng, các yêu cầu về lưu trữ… - Các chuẩn được sử dụng, các công cụ CASE, ngôn ngữ lập trình… - Yêu cầu của người sử dụng: dễ sử dụng, thân thiện - Ràng buộc về ngân sách - Phù hợp với các chính sách của tổ chức sử dụng hệ thống - Yêu cầu tương thích giữa phần cứng và phần mềm - Các yêu cầu từ các tác nhân ngoài khác… 1.2 Tài liệu đặc tả yêu cầu phầm mềm theo chuẩn IEEE 830-1984 Có nhiều chuẩn khác nhau trong xây dựng tài liệu, dưới đây là một định dạng đặc tả yêu cầu hệ thống thông dụng theo chuẩn IEEE 830-1984. TIEU LUAN MOI download : skknchat@gmail.com 16 Hình 1-3 Định dạng tài liệu đặc tả yêu cầu phần mềm theo chuẩn IEEE 830-1984[8] TIEU LUAN MOI download : skknchat@gmail.2 Một số vấn đề thường gặp liên quan đến đặc tả yêu cầu Đặc tả yêu cầu hệ thống rất quan trọng sẽ quyết định hệ thống làm những gì và đáp ứng những tiêu chí nào để đáp ứng yêu cầu nghiệp vụ. Sai sót tại giai đoạn phân tích và đặc tả yêu cầu sẽ ảnh hưởng rất lớn tới các giai đoạn tiếp theo.
Thông tin được đặc tả phụ thuộc rất nhiều vào quá trình thu thập, phân tích và kinh nghiệm của cán bộ phân tích. Trong thực tế các cán bộ phân tích trong quá trình phân tích và đặc tả yêu cầu phần mềm thường gặp một số vấn đề như sau: - Thu thập yêu cầu chưa đầy đủ: không đáp ứng được những yêu cầu người sử dụng đã đưa ra - Thu thập sai yêu cầu: Thu thập sai yêu cầu dẫn đến hệ thống không đáp ứng được yêu cầu người sử dụng - Đặc biệt đối với các yêu cầu cải tiến, nâng cấp hệ thống: Việc phân tích ảnh hưởng tới hệ thống không đầy đủ dẫn đến hệ thống gặp lỗi, gặp sự cố khi thực hiện nâng cấp. Trên thực tế đã có những trường hợp việc phân tích ảnh hưởng không đầy đủ dẫn đến hệ thống lỗi khi nâng cấp đã gây ra thiệt hại rất lớn đặc đối với các tổ chức tài chính.3 Nhu cầu cần thiết xây dựng hệ thống quản lý yêu cầu phần mềm và hỗ trợ phân tích ảnh hưởng Với tầm quan trọng của đặc tả yêu cầu phần mềm và các vấn đề thường gặp phải trong quá trình phân tích đặc tả yêu cầu cho ta thấy việc xây dựng hệ thống quản lý yêu cầu phần mềm và hỗ trợ phân tích ảnh hưởng tới hệ thống khi có yêu cầu thay đổi là rất cần thiết và thiết thực cho người sử dụng hệ thống cũng như đội ngũ phát triển hệ thống, đặc biệt là cán bộ phân tích yêu cầu hệ thống. TIEU LUAN MOI download : skknchat@gmail.com 18 CHƯƠNG 2 TRÌNH BÀY MỘT SỐ HỆ THỐNG QUẢN LÝ, LƯU TRỮ ĐANG ĐƯỢC SỬ DỤNG Chương này mô tả tổng quan về hệ thống Jira và hệ thống Whizible đang được sử dụng tại các tổ chức để quản lý, lưu trữ tài liệu phát triển hệ thống trong đó có tài liệu đặc tả yêu cầu phần mềm và các tài liệu liên quan.1 Hệ thống Jira 2.1 Giới thiệu về hệ thống Jira Được phát triển năm 2002 bởi Atlassian Jira là hệ thống để quản lý dự án, kiểm soát và theo dõi các vấn đề xảy ra trong dự án, quản lý các tài liệu dự án[8].
Tính năng chính: - Quản lý, theo dõi tiến độ của dự án - Quản lý các tài liệu của dự án - Quản lý lỗi, tính năng, công việc - Cung cấp nhiều dạng báo cáo thống kê với rất nhiều loại biểu đồ khác nhau phù hợp với nhiều loại hình dự án, nhiều đối tượng người dùng - Tích hợp với các hệ thống khác (như Email, Excel, RSS.) Tiện ích khi sử dụng Jira: - Tốc độ tìm kiếm nhanh với bộ lọc JIRA Query Language - Xây dựng quy trình làm việc tương thích với yêu cầu của từng dự án - Có thể chạy trên hầu hết các nền tảng phần cứng, hệ điều hành và cơ sở dữ liệu - Dễ dàng lựa chọn nhiều loại dự án với các mục đích khác nhau - Dễ dàng lên kế hoạch, phân chia nhiệm vụ cho các thành viên - Tạo ra quy trình làm việc hiệu quả - Dễ dàng quản lý nhiều dự án phần mềm - Dễ dàng đưa ra các báo cáo phân tích tình hình dự án một cách nhanh chóng, chính xác và hiệu quả - Hơn 950 add-ons mang đến các tính năng nâng cao - Giao diện thân thiện, rõ ràng, dễ thao tác, thích hợp với mọi đối tượng người sử dụng Các thành phần cơ bản của hệ thống Jira: TIEU LUAN MOI download : skknchat@gmail.com 19 - Roles: Xác lập các role của dự án, Mục này xác nhận ai tham gia vào dự án, những người add vào role thì mới có thể tạo Resource Allocation và project team sau này. Nhiều người có thể vào 1 role. - Issue: là các tasks, các bugs, các features hay bất kỳ các type khác của project work - Project: Chức năng này dùng để phân quyền approve worklog cho thành viên của dự án. Team lead của group sẽ được approve worklog cho member của group đó.
Project management được quyền approve cho toàn bộ thành viên dự án. - Component là sản phẩm của dự án. Ở đây sẽ nhập tất cả sản phẩm của dự án lấy từ file kế hoạch doanh số. Nếu dự án làm theo Scrum thì sẽ là Product của Sprint tương ứng.
- Workflow: Là một quản trị JIRA, bạn có thể cấu hình gây nên quy trình làm việc, điều kiện, xác nhận, và sau chức năng. Trang này sẽ cung cấp một cái nhìn tổng quan và các bước cơ bản cho từng phần của công việc - Priority: Là mức độ ưu tiên của một defect. Có 4 mức, chọn theo datalist - Status: Thể hiện các trạng thái tương ứng trong từng quy trình Đối tượng sử dụng hệ thống: - Quản trị dự án cập nhật tình trạng dự án - Lập trình viên xem các tài liệu đặc tả thiết kế yêu cầu phần mềm, các tài liệu liên quan, cập nhật và sử lý lỗi - Phân tích nghiệp vụ cập nhật tài liệu đặc tả thiết kế yêu cầu phần mềm - Kiểm thử viênxem các tài liệu đặc tả thiết kế yêu cầu phần mềm, các tài liệu liên quan, log issues và theo dõi cập nhật thông tin issues sau khi đã log 2.