CNPM_Phantich

Màu nền
Font chữ
Font size
Chiều cao dòng

NGÂN HÀNG CÂU HỎI CÔNG NGHỆ PHẦN MỀM + BTL

NHÓM CÂU HỎI 4 ĐIỂM

ĐÁP ÁN NHÓM CÂU HỎI 4 ĐIỂM – PHẦN I

Câu 1

Câu hỏi:Khái niệm về công nghệ phần mềm? Nêu nội dung cơ bản của công nghệ phần mềm? 4đ

*) Khái niệm về công nghệ phần mềm:

- Công nghệ phần mềm là một lĩnh vực nghiên cứu của tin học nhằm đưa ra các nguyên lý, phương pháp, công cụ, phương tiện giúp cho việc thiết kế và cài đặt một sản phẩm phần mềm đạt được các yêu cầu sau một cách tốt nhất:

+ Phải có tính đúng đắn và khoa học.

+ Dễ tiếp cận và cải tiến.

+ Phổ dụng.

+ Độc lập với các thiết bị.

*) Nội dung cơ bản của công nghệ phần mềm:

-  Tìm hiểu yêu cầu của bài toán, yêu cầu của khách hàng, thu thập đầy đủ các thông tin và phân tích theo mọi khía cạnh kể cả chiều rộng lẫn chiều sâu.

- Đặc tả tại mỗi nút của chương trình ta nêu được các tính chất, đặc trưng của dữ liệu vào và ra mà không cần quan tâm đến nội dung các thao tác bên trong của nó. Đặc tả có thể sử dụng các công thức hoặc mô hình toán học để đặc tả một cách hình thức hoặc dùng ngôn ngữ tự nhiên để diễn tả một cách phi hình thức hoặc kết hợp cả hai.

            -   Thiết kế chương trình bằng phương pháp lập trình có cấu trúc, hướng đối tượng.

-   Kiểm thử chương trình một cách có hệ thống: chạy thử chương trình với nhiều bộ dữ liệu khác nhau,  kiểm tra phát hiện lỗi, kiểm tra tính ổn định, kích thước vùng nhớ, vùng nhớ nháp của chương trình và độ phức.

            -   Kiểm chứng tính đúng đắn của chương trình.

-   Đánh giá chất lượng của chương trình.

-   Quản lý việc thiết kế, cài đặt vẫn hành và bảo trì phần mềm, cung cấp các phần mềm trợ giúp liên quan cho người sử dụng.

Câu 2

Câu hỏi: Trình bày khái niệm sản phẩm phần mềm? Các nhóm sản phẩm phần mềm hiện có? Các giai đoạn cho ra đời một sản phẩm phần mềm? 4đ

*) Khái niệm sản phẩm phần mềm:

- Sản phẩm phần mềm là một hoặc một nhóm các chương trình được xây dựng để giải quyết một vấn đề nào đó. Ví dụ: chương trình quản lý sinh viên, quản lý cán bộ, quản lý vật tư, …

*) Các nhóm sản phầm phần mềm hiện có:

Hiện nay người ta phân chia thành 7 nhóm phần mềm chính.

-    Nhóm các hệ điều hành: Gồm các chương trình quản lí ổ đĩa, màn hình, chương trình quản lí các tệp, quản trị mạng, quản lí thư viện, quản lí các chương trình dịch.

-     Nhóm chương trình dịch: mỗi một ngôn ngữ có một chương trình dịch riêng.

-     Nhóm các chương trình hệ thống: Gồm có những chương trình soạn thảo văn bản, các chương trình đồ hoạ, hệ điều hành, …

-     Nhóm các tiện ích và trò chơi: chương trình xử lí bảng tính điện tử, chương trình tìm và diệt virus, tất cả các trò chơi.

-  Nhóm các hệ quản trị CSDL

            -     Nhóm các chương trình ứng dụng có tính hệ thống:

+  Nhóm các chương trình xử lí dữ liệu đa năng: Chương trình hệ chuyên gia, hệ mô phỏng, hệ tự động thiết kế, dạy học và tự học.

+ Chương trình xử lí nhận dạng, phân tích, tổng hợp tiếng nói, hình ảnh.

+   Tất cả những chương trình điều khiển qui trình công nghiệp.

*) Các giai đoạn để cho ra đời một sản phẩm phần mềm:

- Tìm hiểu nhu cầu của khách hàng:

Đây là giai đoạn đầu tiên và không thể thiếu được trong việc xây dựng phần mềm cho một hệ thống nào đó. Sản phẩm phần mềm mà nhóm phát triển tạo ra suy cho đến cùng thì phải đáp ứng được (có thể không phải là toàn bộ) nhu cầu của khách hàng.

-Xác định rõ các chức năng hệ thống:

Chia ra từng khối lớn tương đối độc lập và giao cho từng nhóm người thực hiện. Mỗi nhóm người phải chụ trách nhiệm từ việc thiết kế - sản xuất - thử nghiệm theo một nguyên tắc nhất định và một ngôn ngữ cùng với cơ sở dữ liệu thống nhất. Sau đó ghép nối các khối thành khối lớn.

- Sửa chữa và thử nghiệm nếu thấy cần thiết:

Đây là giai đoạn mang tính nội bộ của nhóm phát triển phần mềm. Hệ thống có thể được chia thành nhiều phần nhỏ (module) rời rạc nhau. Do vậy khi xây dựng xong chúng ta cần phải thử nghiệm cho từng module đó. Sau đó tiến hành tích hợp các module lại để tạo thành hệ thống hoàn chỉnh. Việc kiểm thử tích hợp phải được tiến hành. Các thay đổi có thể được thêm vào; các ý kiến đóng góp của khách hàng cũng được ghi nhận và đưa vào trong phần mềm tại giai đoạn cuối cùng này.

-Bàn giao sản phẩm cho khách hàng, tìm hiểu ý kiến của khách hàng để quyết định nhân bản nếu nó tốt hoặc là để sửa đổi. Đào tạo người sử dụng :

Trong quá trình từ khi tìm hiểu nhu cầu của khách hàng cho đến khi hoàn thiện, trong thời kỳ trước kia, trung bình mỗi người trong một ngày chỉ làm được 5 hoặc 6 lệnh. Khi đó có thể nói “Lập trình phần mềm hết sức nặng nhọc”. Chính vì vậy người ta phải cố gắng sử dụng những chương trình con (modul) chương trình của những người đi trước tạo ra (thường để trong thư viện) và đồng thời người ta cũng tạo ra các modul thêm vào thư viện để người khai thác có thể dùng.

=> Theo quan điểm hiện nay, các công cụ lập trình đã hỗ trợ rất lớn cho lập trình viên. Lập trình không còn là một công việc nặng nhọc nữa. Trái lại, người lập trình lại là người có vai trò cuối cùng trong quá trình sản xuất phầm mềm. Quan trọng nhất bây giờ hiện tại là nắm bắt và phân tích yêu cầu của khách hàng. Do vậy người phân tích và thiết kế hệ thống là người đóng vai trò quyết định đối với toàn bộ hệ thống

Câu 3

Câu hỏi:Các mô hình của quá trình phát triển phần mềm : mô hình thác nước, mô hình nguyên mẫu? Đánh giá ưu nhược điểm của từng mô hình ? 4đ

*) Mô hình thác nước: Là mô hình trải qua 4 giai đoạn tuần tự, kết thúc giai đoạn này chuyển qua giai đoạn sau :

+ Giai đoạn xác định các yêu cầu của bài toán và đề tài.

+ Giai đoạn thiết kế.

+ Giai đoạn thử nghiệm.

+ Giai đoạn tổng hợp.

- Ưu điểm: Được sử dụng quen thuộc từ trước đến nay.

- Nhược điểm: Nhiều khi đến giai đoạn tích hợp thường xảy ra nhiều vấn đề trục trặc trong vấn đề ghép nối.

*) Mô hình tạo nguyên mẫu: Tương tự như mô hình thăm dò, lựa chọn nhanh những chức năng chính để phát triển sau đó đưa cho người sử dụng đóng góp ý kiến, đưa người dùng dùng thử cho đến khi đạt yêu cầu.

- Ưu điểm: Không có giai đoạn tích hợp, người dùng được tiếp cận với hệ thống ngay từ những giai đoạn đầu để bổ sung hoàn thiện phần mềm theo đúng yêu cầu

Câu 4

Câu hỏi: Trình bày nội dung về các mô hình tiến hóa quy trình phần mềm: mô hình làm bản mẫu, mô hình xoắn ốc 4đ

- Mô hình làm bản mẫu

+Xây dựng một mẫu thử (Mô hình thực tế) ban đầu và đưa cho người sử dụng -> tinh chỉnh mẫu thử qua nhiều phiên bản cho đến khi thoả mãn yêu cầu của người sử dụng.

+Có 2 phương pháp thực hiện: Phát triển thăm dò, Loại bỏ mẫu thử

+Mô hình có thể ở 3 dạng:

Bản mẫu trên giấy hay trên máy tính – Bản mô tả yêu cầu

Bản mẫu cài đặt: Chứa 1 tập con các chức năng của phần mềm

Bản mẫu là 1 chương trình có thể thực hiện

+Đây là cách tiếp cận thực tế nhất. Thích hợp cho hệ thống vừa và nhỏ, đặc biệt khi yêu cầu chưa rõ ràng. Được sử dụng hiệu quả khi kết hợp với các mô hình khác (VD: gia đoạn xác định yêu cầu của mô hình thác nước)

-Mô hình xoắn ốc

Gồm có 4 bước hoạt động chính

+Thiết lập mục tiêu: xác định mục tiêu cho từng pha của dự án.

+Đánh giá và giảm thiểu rủi ro: rủi ro được đánh giá và thực hiện các hành động để giảm thiểu rủi ro.

+Phát triển và đánh giá: sau khi đánh giá rủi ro sẽ chọn lựa 1 mô hình phát triển cụ thể.

+Lập kế hoạch: đánh giá dự án và pha tiếp theo của mô hình xoắn ốc sẽ được lập kế hoạch.

Câu 5

Câu hỏi: Trình bày nội dung về các mô hình tiến hóa quy trình phần mềm: mô hình RUP, mô hình phát triển tăng dần, mô hình phát triển ƯD nhanh 4đ

-Mô hình RUP

+Là mô hình dành riêng cho hướng ĐT

+Có 3 đặc trưng:

Lấy kiến trúc làm trung tâm

Điều khiển bởi các ca sử dụng

Lặp lại và tăng dần

+Tương đồng với mô hình xoắn ốc, tuy nhiên mỗi bước lặp của RUP, nội dung hoạt động có nội dung riêng gắn với ngôn ngữ mô hình hóa thống nhất UML

-Mô hình phát triển tăng dần

+Phát triển hệ thống càng nhanh càng tốt=> Cải biên hệ thống cho đến khi đạt được yêu cầu đặt ra.

+Nó là biến thể của mô hình tiến hóa, nó có ý tưởng giống với mô hình làm bản mẫu và xoắn ốc, nhưng thực hiện trên từng khối độc lập, mỗi khối đều có Đặc tả, thiết kế, triển khai tích hợp, Chuyển cho khách hàng.

-Mô hình phát triển ƯD nhanh RAD

+ Là phương pháp luận gộp các hoạt động phân tích, thiết kế, xây dựng vào một loạt vòng lặp phát triển ngắn.

+ Hướng đến nhu cầu đưa người sự dụng tham gia vào PTTK bằng cách sử dụng CASE

+ Đáp ứng nhu cầu hiệu quả và chi phí bảo trì thấp

+ Thích hợp cho đội phát triển nhỏ

Câu 6

Câu hỏi: Trình bày nội dung về các mô hình tiến hóa quy trình phần mềm:  phát triển hệ thống hình thức hoá, hướng thành phần 4đ

*Phát triển hệ thống hình thức hoá

-Được mô tả với các bước:

+Xác định yêu cầu

+Đặc tả hình thức

+Biến đổi hình thức

+Kiểm thử tích hợp và hệ thống

-Tư tưởng chính là biểu diễn các đặc tả yêu cầu bằng các ký pháp toán học

-Áp dụng các biến đổi khác nhau để chuyển từ đặc tả hình thức -> chương trình

-Khi chuyển đổi các biểu diễn của đặc tả được chi tiết dần nhưng luôn được đảm bảo tính đúng đắn=> Chương trình là triển khai đúng của đặc tả

-Ưu điểm:

+ Có thể áp dụng chứng minh tính đúng đắn của đặc tả

+ Chứng minh chương trình đáp ứng được yêu cầu của đặc tả đã cho

+ Chi phí đặc tả cao, nhưng chi phí sau đó lại nhỏ hơn nhiều so với phương pháp khác

+ Dễ theo dõi các bước nhỏ trong quá trình chuyển đổi

-Nhược điểm:

+Việc đặc tả đòi hỏi trình độ trừu tượng cao

+Việc chứng minh sự đúng đắn là khó khăn

+Phương pháp này là tương đối khó

*Mô hình hướng thành phần

- Dựa trên kỹ thuật tái sử dụng một cách có hệ thống, được tích hợp từ nhiều thành phần đang tồn tại hoặc các thành phần thương mại.

- Các trạng thái chính của quy trình bao gồm:

+Phân tích thành phần sẵn có

+Điều chỉnh yêu cầu

+Thiết kế hệ thống với kỹ thuật tái sử dụng

+Xây dựng và tích hợp hệ thống

Câu 7

Câu hỏi:Công cụ hỗ trợ CNPM là gì ? Nêu các loại công cụ? Trình bày hiểu biết về CASE ? Một số CASE Tool thường dùng? 4đ

*Công cụ hỗ trợ CNPM:

- Là các phần mềm khác nhau được xây dựng trên cơ sở những mô hình và phương pháp cụ thể. Cung cấp sự trợ giúp cho việc tự động hay bán tự động hóa các hoạt động phát triển phần mềm. Có 2 mức: bàn thợ và môi trường phát triển, tất cả được gọi là kỹ nghệ phần mềm có sự trợ giúp của máy tính (CASE).

+ Bàn thợ (workbench): Thông tin chúng tạo ra có thể dùng cho công cụ khác hay giai đoạn phát triển tiếp theo.

+ Môi trường (Environment): Hệ thống trợ giúp phát triển phần mềm

*Trình bày hiểu biết về CASE (Computer-Aided Software Engineering)

- Các hệ thống CASE thường được sử dụng để hỗ trợ các hoạt động trong quy trình phát triển phần mềm. Có hai loại CASE:

+ Upper-CASE: công cụ để hỗ trợ các hoạt động ban đầu như đặc tả yêu cầu và thiết kế.

+ Lower-CASE: công cụ để hỗ trợ các hoạt động sau như lập trình, gỡ lỗi và kiểm thử.

- Ngôn ngữ mô hình hóa thống nhất (UML – Unified Modeling Language) cung cấp một ngôn ngữ chung cho tất cả các giai đoạn phát triển phần mềm hướng đối tượng: Một số các công cụ dựa trên ngôn ngữ ngày như Rational Rose, PowerDesigner.

- Một môi trường CASE chuẩn bao gồm:

+Một kho chứa (repository)

+Công cụ đồ họa (Graphic drawing tools)

+Phần mềm soạn thảo văn bản (Text Definition software)

+Phần mềm giao diện kho chứa (Repository interface software)

+Phần mềm đánh giá (Evaluative software)

+Giao diện người sử dụng (Human Interface)

-Phân loại các công cụ phát triển phần mềm

+Công cụ đơn: Bộ soạn thảo, Chương trình dịch

+Bàn thợ:

Phân tích và thiết kế (Bàn thợ đơn phương pháp, Bàn thợ đa phương pháp)

Lập trình (Bàn thợ cho mục đích chung, Bàn thợ cho ngôn ngữ cụ thể) Kiểm thử

+Môi trường phát triển: Môi trường tích hợp, Môi trường cho tiến trình

*Một số CASE Tool thường dùng:

- Soạn thảo biểu đồ

- Công cụ phân tích mô hình và kiểm tra

- Ngôn ngữ truy vấn

- Công cụ tạo và định nghĩa báo cáo

- Công cụ định nghĩa form

- Bộ dịch

- Công cụ tạo mã lệnh tự động

Câu 8

Câu hỏi:Phân loại yêu cầu phần mềm, trình bày nội dung và lấy ví dụ minh họa về các loại đó 4đ

*Phân loại yêu cầu của hệ thống phần mềm:

-Yêu cầu chức năng

-Yêu cầu phi chức năng

-Yêu cầu miền ứng dụng.

*Yêu cầu chức năng

  -Yêu cầu chức năng mô tả hệ thống sẽ làm gì.

  -Mô tả các chức năng hoặc các dịch vụ của hệ thống một cách chi tiết.

-Đặc điểm của yêu cầu chức năng:

+Tính mập mờ, không rõ ràng của các yêu cầu: Xảy ra khi các yêu cầu không được xác định cẩn thận.

+Tính hoàn thiện và nhất quán: Chứa tất cả các mô tả chi tiết và không có sự xung đột, đối ngược giữa các yêu cầu.

*Yêu cầu phi chức năng

            - Yêu cầu này không đề cập trực tiếp tới các chức năng cụ thể của hệ thống, thường định nghĩa các thuộc tính như: độ tin cậy, thời gian đáp ứng …và các ràng buộc của hệ thống như: khả năng của thiết bị vào/ra, giao diện …

- Các yêu cầu này có thể là hạn chế hơn những yêu cầu chức năng. Nhưng nếu nó không được thoả mãn thì hệ thống sẽ không sử dụng được.

- Các yêu cầu này xuất hiện là do yêu cầu của người sử dụng, ràng buộc về ngân sách, các chính sách của tổ chức sử dụng hệ thống….

- Phân loại các yêu cầu phi chức năng như sau:

+Các yêu cầu về sản phẩm xác định ứng xử của sản phẩm như: hiệu năng, khả năng sử dụng, độ tin cậy, không gian, linh động … của sản phẩm

+Các yêu cầu về tổ chức: các yêu cầu này được lấy từ những chính sách và quy tắc của khách hàng hoặc tổ chức sử dụng hệ thống như: chuyển giao, cài đặt và hợp chuẩn

+Các yêu cầu ngoài: được xác định từ các tác nhân ngoài của hệ thống như: tương thích, hợp quy tắc, luật, riêng tư và an toàn.

*Yêu cầu miền ứng dụng

- Được xác định từ miền ứng dụng của hệ thống và phản ánh các thuộc tính và ràng buộc của miền ứng dụng.

- Nó có thể là yêu cầu chức năng hoặc phi chức năng.

- Nếu không được thoả mãn -> có thể hệ thống sẽ không làm việc được.

- Một số vấn đề liên quan đến yêu cầu miền ứng dụng:

+ Khả năng có thể hiểu được: các yêu cầu được biểu diễn dưới ngôn ngữ của lĩnh vực ứng dụng.

+ Ẩn ý: Các chuyên gia hiểu biết về lĩnh vực của họ nhưng không xác định được yêu cầu miền ứng dụng một cách rõ ràng, mang tính kỹ thuật.

Câu 9

Câu hỏi:Nội dung nghiên cứu khả thi? 4đ

*Nghiên cứu tính khả thi

- Cần đưa ra phương án phát triển và luận chứng sự khả thi

- Thực hiện công việc này sẽ quyết định đưa ra 1 hệ thống đáp ứng được yêu cầu của khách hàng ->có tính khả thi cao nhất

- Việc thực hiện công việc này phải nhanh và rẻ

- Quyết định có tiếp tục phát triển theo phương án đó không

- Chỉ khi dự án khả thi được chấp nhận, quá trình triển khai mới được bắt đầu

- Nên phân loại phương án: phương án thấp, phương án trung bình, phương án cao

- Phân tích khả thi thường tập trung vào các mặt:

+Khả thi về kinh tế: chi phí và hiệu quả, lợi ích cuối

+Khả thi về kỹ thuật: khả năng đáp ứng của kỹ thuật

+Khả thi về pháp lý: loại trừ sự vi phạm, xâm phạm

+Khả thi về hoạt động: vận hành trong môi trường cụ thể

+Khả thi về thời gian: thời gian hoàn thành

Câu 10

Câu hỏi:Trình bày về các kỹ thuật đặc tả yêu cầu hệ thống 4đ

- Ngôn ngữ tự nhiên thường được sử dụng để viết đặc tả yêu cầu hệ thống cũng như yêu cầu của người sử dụng. Tuy nhiên thường gặp một số vấn đề sau:

+Không rõ ràng: Ngôn ngữ tự nhiên có bản chất là mập mờ nên để đạt được yêu cầu trên là rất khó khăn.

+Quá mềm dẻo: có nhiều cách khác nhau để đặc tả 1 vấn đề.

+Thiếu khả năng mô-đun hoá: cấu trúc của ngôn ngữ tự nhiên không tương xứng với cấu trúc của các yêu cầu hệ thống.

- Vì những lý do này mà đặc tả bằng ngôn ngữ tự nhiên thường gây khó hiểu.

- Do ngôn ngữ tự nhiên có những hạn chế, nên ta có thể sử dụng một số phương pháp sau để đặc tả yêu cầu.

+ Đặc tả bằng ngôn ngữ hướng cấu trúc

+ Đặc tả dựa biểu mẫu (Form-based)

+ Biểu đồ trình tự

*Đặc tả bằng ngôn ngữ hướng cấu trúc

- Sử dụng ngôn ngữ hướng cấu trúc sẽ yêu cầu người viết đặc tả tuân theo những mẫu được định nghĩa trước. Tất cả các yêu cầu đều được viết theo chuẩn và các thuật ngữ được sử dụng có thể bị hạn chế.

- Ưu điểm của phương pháp này là đạt được mức độ diễn tả cao nhất của ngôn ngữ tự nhiên nhưng mức độ đồng nhất lại bị lạm dụng trong các đặc tả.

* Đặc tả dựa vào biểu mẫu

- Định nghĩa các chức năng hoặc thực thể, mô tả đầu vào và nơi xuất phát của nó, mô tả đầu ra và nơi nó sẽ đến.

- Chỉ rõ những thực thể cần thiết, các điều kiện trước và sau (nếu thích hợp), các ảnh hưởng của chức năng.

* Biểu đồ trình tự

- Biểu đồ trình tự biểu diễn trình tự các sự kiện xảy ra khi người sử dụng tương tác với hệ thống.

- Nếu ta đọc biểu đồ này từ đầu đến cuối thì ta sẽ thấy được thứ tự của các hành động được thực hiện.

Câu 11

Câu hỏi:Tài liệu yêu cầu là gì? Các yêu cầu của tài liệu yêu cầu 4đ

*Tài liệu đặc tả yêu cầu là những yêu cầu chính thức về những gì cần phải thực hiện bởi đội phát triển hệ thống.

-Tài liệu này nên bao gồm cả các định nghĩa về yêu cầu của người s/dụng và đặc tả y/cầu hệ thống.

-Tài liệu này không phải là tài liệu thiết kế hệ thống. Nó chỉ thiết lập những gì hệ thống phải làm, chứ không phải mô tả rõ làm như thế nào.

-Cấu trúc chung của tài liệu yêu cầu phần mềm

+Chuẩn IEEE/ANSI 830-1993 đưa ra cấu trúc gồm 5 mục chính (SGK)

+Ngoài ra còn có thể có thêm các chương hay các phụ lục với các tin:

Kiến trúc chung cả hệ thống phần cứng

Cơ sở dữ liệu

Chú giải

+Tài liệu yêu cầu cũng là 1 công cụ tham khảo cho toàn bộ hệ thống

-Gồm tài liệu xác định yêu cầu và tài liệu đặc tả yêu cầu

*Yêu cầu của tài liệu yêu cầu

Heniger đưa ra sáu yêu cầu của một tài liệu yêu cầu phần mềm:

- Chỉ mô tả các hoạt động của hệ thống từ bên ngoài

- Chỉ ra được các ràng buộc của HT trong quá trình vận hành

- Dễ thay đổi

- Phục vụ như tài liệu tham khảo cho người bảo trì HT

- Dự toán trước được vòng đời của hệ thống

- Mô tả được các đáp ứng đối với sự cố, thay đổi ngoài dự tính

Câu 12

Câu hỏi: Quy trình xác định yêu cầu 4đ

- Mục tiêu của quy trình xác định yêu cầu là đưa ra các tài liệu yêu cầu của hệ thống.

- Quy trình này biến đổi phụ thuộc vào miền ứng dụng, con người và tổ chức xây dựng yêu cầu.

- Tuy nhiên, những quy trình này vẫn có chung một số hoạt động sau: phát hiện yêu cầu, phân tích yêu cầu, đánh giá yêu cầu và quản lý yêu cầu.

- Trong thực tế, các yêu cầu luôn luôn thay đổi, thậm chí ngay cả khi đang xây dựng hệ thống.

- Thường sử dụng mô hình xoắn ốc để xác định các yêu cầu.

- Mô hình này cho phép việc xác định yêu cầu và cài đặt hệ thống được thực hiện cùng lúc.

- Kết quả của hoạt động này là các tài liệu yêu cầu phần mềm

-Gồm có 4 giai đoạn chính

+Nghiên cứu khả thi (Feasibility study)

+ Phát hiện và phân tích yêu cầu (Requirements elicitation and analysis)

+ Đặc tả yêu cầu (Requirement Specification)

+ Thẩm định yêu cầu (Requirement Validation)

Câu 13

Câu hỏi: Trình bày các bước của tiến trình phát hiện và phân tích yêu cầu? Đặc tả và thẩm định yêu cầu

- Là bước khảo sát yêu cầu của khách hàng và người sử dụng  về miền ứng dụng -> Phân tích thành t/liệu xác định các yêu cầu. Tài liệu phải phản ánh được mong muốn của khách hàng, được viết sao cho mọi người đều hiểu được

- Phải chú ý cả những đối tượng khác nhau liên quan đến hệ thống như các kỹ sư, người quản lý nghiệp vụ, chuyên gia miền

- Giai đoạn này bao gồm cả việc phát triển thử nghiệm 1 hay nhiều mô hình hệ thống khác nhau. Làm bản mẫu hệ thống có thể được thực hiện trong giai đoạn này

- Quá trình này thường gặp khó khăn vì:

+Người SD (hoặc liên quan) không biết thực sự cần gì từ hệ thống, thường trình bày theo cách riêng, có nhiều người có các yêu cầu khác và giống nhau

+Có thể bị ảnh hưởng bởi yếu tố chính trị do hoàn cảnh cụ thể của các tổ chức

+Môi trường kinh doanh biến động, thường xuất hiện các yêu cầu mới mà không dự báo trước

+Một số yêu cầu không thể định nghĩa được, không có công thức trước

-Tiến trình này được bắt đầu bằng việc tìm hiểu lĩnh vực ứng dụng và kết thúc bằng việc thẩm định yêu cầu

* Các bước của tiến trình phát hiện và phân tích yêu cầu

- Tìm hiểu miền ứng dụng

- Thu thập các yêu cầu

- Phân loại các yêu cầu

- Giải quyết xung đột

- Sắp ưu tiên

- Kiểm tra yêu cầu

*Đặc tả yêu cầu (Requirement Specification)

-Mô tả chính xác và chi tiết yêu cầu của hệ thống để làm cơ sở cho giao kèo giữa khách hàng và người pt hệ thống

-Thường phải sử dụng những công cụ đặc biệt

-Việc lập tài liệu này thường được tiến hành song song với các thiết kế ở mức cao (thiết kế sơ bộ)

-Khi viết tài liệu này, các sai sót trong xác định yêu cầu sẽ được phát hiện và sửa chữa

*Thẩm định yêu cầu (Requirement validation)

-Là việc xem xét các đặc tả yêu cầu có mô tả chính xác những gì đặt ra trong hệ thống có thể thực hiện được không?

-Các thuộc tính cần thẩm định gồm: tính đúng đắn, nhất quán, đầy đủ, tính hiện thực

Câu 14

Câu hỏi: Trình bày chi tiết các kỹ thuật xác định phân tích yêu cầu: theo khung nhìn, dựa trên mô hình, hình thức hoá

*Tiếp cận định hướng cách nhìn

-Ghi nhận những cách nhìn khác nhau của những người liên quan và sử dụng nó vào tiến trình phát hiện yêu cầu và tổ chức các yêu cầu

-Các góc độ khác nhau có thể được xem xét

+Từ nguồn hay đích tới của dữ liệu

+Từ khung làm việc

+Từ sự tiếp nhận dịch vụ

-Xác định yêu cầu định hướng cách nhìn gồm 4 giai đoạn cơ bản

+Xác định khung nhìn

+Cấu trúc khung nhìn

+Làm tài liệu khung nhìn

+Ánh xạ hệ thống khung nhìn

*Kỹ thuật phân tích yêu cầu dựa trên mô hình

- Được sử dụng rộng rãi để phân tích yêu cầu

- Kỹ thuật này đi theo 2 hướng tiếp cận

+ Tiếp cận định hướng chức năng (Hướng cấu trúc dựa trên luồng dữ liệu)

+ Tiếp cận hướng đối tượng

-Tập trung hướng vào mô tả nghiệp vụ của hệ thống thực, kết quả thu được là MÔ HÌNH NGHIỆP VỤ

- Mô hình nghiệp vụ theo phương pháp này gồm:

+Mô hình ngữ cảnh: Mô tả hệ thống được xét trong môi trường của nó

+Các mô hình cấu trúc chức năng mô tả cấu trúc chức năng của hệ thống

+Mô tả chi tiết các chức năng: cho đến mức thấp nhất

+Mô tả các đối tượng dữ liệu: Theo hướng cấu trúc là bao gồm tất cả các hồ sơ và bản mẫu, theo HĐT gồm các ĐT và khái niệm của thế giới thực

+Mô tả các mối liên kết của dữ liệu và chức năng – chỉ cần thiết với cách tiếp cận hướng cấu trúc

+Từ điển giải thích

*Kỹ thuật phân tích hình thức hoá

- Dựa trên việc sử dụng các khái niệm, ký pháp và mô hình toán học để phân tích và biểu diễn HT

- Phân tích sẽ không tách thành mô hình riêng. Kết quả của việc phân tích và mô hình hóa cho ta ngay đặc tả của hệ thống.

Bạn đang đọc truyện trên: Truyen2U.Pro