Các thực hành tốt hơn về yêu cầu có thể giúp giảm chi phí phát triển bằng cách giảm thiểu việc làm lại, các tính năng không cần thiết và sự hiểu lầm. Khi yêu cầu rõ ràng và chính xác, các nhà phát triển có thể tập trung vào việc xây dựng các tính năng quan trọng và cần thiết, giảm thiểu thời gian và nguồn lực lãng phí. Điều này giúp giảm thiểu chi phí phát triển và tăng cường hiệu suất của dự án. Ngoài ra, các thực hành tốt hơn về yêu cầu cũng giúp giảm thiểu các vấn đề về chất lượng, giúp sản phẩm cuối cùng đáp ứng được yêu cầu và mong đợi của khách hàng.
Quiz: SWR302_FA25_FE - Có đáp án và giải thích chi tiết
Phiên có lưu tiến độ dùng toàn bộ 60 câu của bộ đề để tiến độ khớp với máy chủ.
Bạn cần đăng nhập để bắt đầu làm bài và lưu tiến độ.
60
Không giới hạn
42
60
60
Xem trước câu hỏi
Trong quá trình thiết kế yêu cầu (requirement engineering), có bốn bước cơ bản là thu thập thông tin (elicitation), phân tích (analysis), thiết kế (design) và xác định tài liệu (documentation). Tuy nhiên, xác định tài liệu không phải là một bước trong quá trình thiết kế yêu cầu. Xác định tài liệu là một phần của quá trình phát triển phần mềm, liên quan đến việc tạo và quản lý các tài liệu liên quan đến dự án. Vì vậy, trong bốn lựa chọn trên, "documentation" không phải là một bước của thiết kế yêu cầu.
Khách hàng có quyền được doanh nghiệp hiểu rõ về hoạt động kinh doanh và mục tiêu của họ. Họ cũng có quyền mô tả các đặc điểm sẽ giúp sản phẩm dễ sử dụng hơn. Ngoài ra, khách hàng có quyền nhận được một hệ thống đáp ứng được nhu cầu chức năng và tiêu chuẩn chất lượng của họ. Điều này giúp đảm bảo rằng hệ thống được thiết kế phù hợp với nhu cầu và mong muốn của khách hàng.
Dưới đây là câu trả lời cho câu hỏi: 'Đâu là điều không được bao gồm trong danh sách Yêu cầu về Hóa đơn Phần mềm?'. Các lựa chọn có sẵn là: - 'Chờ BAs nói ngôn ngữ của bạn.' - 'Chờ BAs tìm hiểu về doanh nghiệp và mục tiêu của bạn.' - 'Thông báo ngay các thay đổi về yêu cầu.' - 'Nhận giải thích về thực hành và sản phẩm yêu cầu.' - 'Thay đổi yêu cầu của bạn.' - 'Chờ một môi trường tôn trọng lẫn nhau.' Câu trả lời đúng là: 'Thay đổi yêu cầu của bạn.' Vì trong danh sách Yêu cầu về Hóa đơn Phần mềm, không có yêu cầu nào nói về việc thay đổi yêu cầu của người dùng. Các yêu cầu khác đều liên quan đến việc giao tiếp, học hỏi và tôn trọng lẫn nhau.
Quá trình phát triển yêu cầu có thể được mô tả bằng một khung quy trình. Trong khung này, quá trình thu thập yêu cầu (elicitation), phân tích yêu cầu (analysis), mô tả yêu cầu (specification) và xác minh yêu cầu (validation) thường được thực hiện theo một trình tự nhất định. Tuy nhiên, quá trình này không phải lúc nào cũng tuyến tính và không cần phải quay lại các giai đoạn trước. Thay vào đó, các hoạt động này thường được lặp lại để đảm bảo độ chính xác và hoàn chỉnh của yêu cầu. Điều này có nghĩa là quá trình phát triển yêu cầu có thể được thực hiện theo cách linh hoạt, với các bước thường được quay lại trong suốt quá trình dự án để tinh chỉnh và sửa đổi yêu cầu khi cần.
Quá trình thu thập thông tin (elicitation) đóng vai trò quan trọng trong quá trình phát triển yêu cầu. Nó liên kết chặt chẽ với các hoạt động khác như phân tích, xác định yêu cầu và xác minh. Elicitation không chỉ là một bước đầu tiên mà còn là một quá trình liên tục được lặp lại trong suốt quá trình phát triển yêu cầu. Mục đích của nó là thu thập thông tin chính xác và đầy đủ về yêu cầu của khách hàng, sau đó sử dụng thông tin đó để xác định và xác minh yêu cầu. Quá trình này không chỉ diễn ra một lần mà còn được lặp lại nhiều lần trong suốt quá trình phát triển dự án để đảm bảo rằng yêu cầu được cập nhật và chính xác.
Một Business analyst (BA) là người chịu trách nhiệm thu thập, phân tích và xác định nhu cầu của khách hàng hoặc tổ chức. Các nhiệm vụ chính của một BA bao gồm: - Communicate requirements: Truyền đạt yêu cầu của khách hàng hoặc tổ chức đến các thành viên khác trong dự án. - Document requirements: Lưu trữ và quản lý yêu cầu của khách hàng hoặc tổ chức. - Analyze requirements: Phân tích và xác định nhu cầu của khách hàng hoặc tổ chức. - Elicit requirements: Thu thập và xác định nhu cầu của khách hàng hoặc tổ chức. - Assurance requirements: Đây là một nhiệm vụ không phải là trách nhiệm chính của một BA. Assurance requirements thường liên quan đến việc đảm bảo rằng các yêu cầu đã được thực hiện đúng và đáp ứng được nhu cầu của khách hàng hoặc tổ chức. Điều này thường là trách nhiệm của các chuyên gia khác như kiểm toán viên hoặc chuyên gia đảm bảo chất lượng. Vì vậy, Assurance requirements là một nhiệm vụ không phải là trách nhiệm chính của một Business analyst.
Trong một dự án, người chịu trách nhiệm chính về việc truyền đạt thông tin dự án là ai? Người này phải đảm bảo rằng tất cả các bên liên quan đều nhận được thông tin cần thiết và cập nhật về tiến độ dự án. Họ cũng phải giải quyết các vấn đề và thắc mắc của các bên liên quan một cách hiệu quả. Trong dự án, người chịu trách nhiệm chính về việc truyền đạt thông tin dự án thường là người quản lý dự án. Họ có nhiệm vụ duy trì liên lạc với các bên liên quan, bao gồm cả khách hàng, đội ngũ phát triển phần mềm và các bên liên quan khác. Người quản lý dự án phải có kỹ năng giao tiếp tốt, khả năng giải quyết vấn đề và khả năng làm việc nhóm để đảm bảo rằng dự án được thực hiện một cách hiệu quả và thành công.
Một nhà phân tích kinh doanh có nhiều nhiệm vụ quan trọng trong quá trình phát triển dự án. Đầu tiên, họ phải xác định các yêu cầu kinh doanh của dự án, hiểu rõ về mục tiêu và yêu cầu của khách hàng. Sau đó, họ phải xác định các bên liên quan và lớp người dùng của dự án, bao gồm cả các bên có thể ảnh hưởng đến dự án. Cuối cùng, họ phải dẫn dắt quá trình ưu tiên yêu cầu, đảm bảo rằng các yêu cầu quan trọng nhất được ưu tiên thực hiện trước.
Kỹ thuật hiệu quả nhất để giải quyết mâu thuẫn giữa các bên liên quan là các buổi thảo luận ưu tiên. Các buổi thảo luận ưu tiên là một quá trình giúp các bên liên quan thống nhất và ưu tiên các yêu cầu quan trọng nhất. Điều này giúp giảm thiểu mâu thuẫn và tăng cường sự hiểu biết giữa các bên liên quan. Trong quá trình này, các bên liên quan sẽ thảo luận và đánh giá các yêu cầu, sau đó ưu tiên chúng dựa trên mức độ quan trọng và mức độ ảnh hưởng. Các buổi thảo luận ưu tiên giúp các bên liên quan đạt được sự đồng thuận và tăng cường sự hợp tác, từ đó giải quyết mâu thuẫn và đạt được mục tiêu chung.
Scope creep là một thuật ngữ được sử dụng trong quản lý dự án để mô tả tình trạng khi phạm vi của dự án tiếp tục tăng lên một cách không kiểm soát được trong suốt quá trình phát triển. Điều này có nghĩa là dự án ban đầu được định nghĩa có thể đã thay đổi đáng kể so với kế hoạch ban đầu, dẫn đến việc tăng chi phí, thời gian và nguồn lực. Scope creep thường xảy ra khi các yêu cầu mới được thêm vào dự án mà không được xem xét kỹ lưỡng, hoặc khi các thành viên trong dự án không có khả năng quản lý phạm vi dự án một cách hiệu quả.
Câu hỏi này yêu cầu bạn chọn hai phương án đúng về việc sử dụng sơ đồ ngữ cảnh trong việc thể hiện phạm vi dự án. Phương án A đúng vì sơ đồ ngữ cảnh thực sự minh họa ranh giới giữa hệ thống đang phát triển và các thực thể bên ngoài tương tác với nó. Phương án D sai vì sơ đồ ngữ cảnh không thường được sử dụng để thể hiện mối quan hệ giữa giao diện người dùng và các thành phần hệ thống bên trong ranh giới. Phương án B sai vì sơ đồ ngữ cảnh không bao gồm thông tin chi tiết về các quá trình và dữ liệu bên trong hệ thống. Phương án C đúng vì mục đích chính của sơ đồ ngữ cảnh là thể hiện các tương tác giữa hệ thống và các thực thể bên ngoài mà không chi tiết về các hoạt động bên trong hệ thống.
Một trong những sai lầm phổ biến khi viết các yêu cầu không chức năng là việc làm cho chúng quá mơ hồ hoặc không đo lường được. Điều này có thể dẫn đến sự hiểu lầm về yêu cầu và ảnh hưởng đến chất lượng của sản phẩm cuối cùng. Ví dụ, yêu cầu 'phản hồi nhanh chóng' có thể được hiểu khác nhau bởi các thành viên trong nhóm phát triển. Để tránh điều này, các yêu cầu không chức năng cần được viết rõ ràng, cụ thể và đo lường được. Điều này sẽ giúp đảm bảo rằng tất cả các thành viên trong nhóm đều hiểu rõ yêu cầu và có thể thực hiện chúng một cách hiệu quả.
Một trong những lợi ích của việc có một bộ quy tắc rõ ràng cho người ủng hộ sản phẩm là gì? Người ủng hộ sản phẩm đóng vai trò quan trọng trong việc thúc đẩy sự thành công của dự án. Họ giúp đảm bảo rằng dự án được thực hiện một cách hiệu quả và đạt được mục tiêu đề ra. Tuy nhiên, không phải lợi ích nào của việc có một bộ quy tắc rõ ràng cho người ủng hộ sản phẩm cũng chính xác. Một trong những lợi ích không chính xác là đảm bảo dự án sẽ luôn nằm trong ngân sách. Điều này không phải là một lợi ích của việc có một bộ quy tắc rõ ràng cho người ủng hộ sản phẩm. Thay vào đó, nó là một lợi ích của việc quản lý dự án một cách hiệu quả.
Trong phân tích yêu cầu, mục đích và cách sử dụng nhân vật (persona) được mô tả như sau. Hai lựa chọn dưới đây là đúng.
Để có thể sắp xếp danh sách dự án theo thứ tự chữ cái từ trước sang sau và ngược lại, người dùng phải có thể thực hiện được điều này. Điều này là một yêu cầu của người dùng vì nó liên quan trực tiếp đến cách người dùng tương tác với hệ thống. Yêu cầu này không liên quan đến chức năng của hệ thống mà là cách người dùng sử dụng hệ thống. Do đó, nó được coi là một yêu cầu của người dùng.
Hoạt động tổ chức và chia sẻ ghi chú thuộc về việc chuẩn bị cho việc thu thập thông tin. Khi bạn chuẩn bị cho việc thu thập thông tin, bạn cần phải tổ chức và sắp xếp các ghi chú của mình để dễ dàng truy cập và sử dụng. Điều này giúp bạn có thể thu thập thông tin một cách hiệu quả và chính xác hơn. Việc tổ chức và chia sẻ ghi chú cũng giúp bạn có thể dễ dàng chia sẻ thông tin với các thành viên khác trong nhóm, từ đó giúp việc thu thập thông tin trở nên nhanh chóng và hiệu quả hơn.
Elicitation trong kỹ thuật yêu cầu (requirements engineering) là quá trình thu thập thông tin về yêu cầu của người dùng hoặc các bên liên quan (stakeholders). Quá trình này nhằm mục đích xác định rõ những gì người dùng mong muốn và cần có trong hệ thống hoặc sản phẩm. Elicitation thường bao gồm các hoạt động như phỏng vấn, quan sát, phân tích dữ liệu và các phương pháp khác để thu thập thông tin về yêu cầu của người dùng. Quá trình này rất quan trọng vì nó giúp đảm bảo rằng hệ thống hoặc sản phẩm đáp ứng được nhu cầu và mong muốn của người dùng.
Tạo một ma trận theo dõi trong một dự án giúp đảm bảo rằng tất cả các yêu cầu được liên kết với các giai đoạn thiết kế, thử nghiệm và triển khai. Điều này giúp đảm bảo rằng các yêu cầu được thực hiện một cách có hệ thống và toàn diện. Ma trận theo dõi giúp xác định rõ ràng các yêu cầu nào đã được thực hiện, và các yêu cầu nào vẫn còn cần được xử lý. Điều này giúp giảm thiểu khả năng xảy ra lỗi và đảm bảo rằng dự án được hoàn thành đúng hạn. Ngoài ra, ma trận theo dõi còn giúp cải thiện sự hiểu biết và giao tiếp giữa các thành viên trong dự án, giúp đảm bảo rằng tất cả mọi người đều có cùng một bức tranh về dự án.
Trong việc mô tả một trường hợp sử dụng, các điều kiện có khả năng ngăn cản trường hợp sử dụng thành công được gọi là ngoại lệ. Ngoại lệ là các điều kiện không mong muốn có thể xảy ra trong quá trình thực hiện một trường hợp sử dụng, chẳng hạn như lỗi dữ liệu, lỗi kết nối mạng, v.v. Khi xác định ngoại lệ, chúng ta cần phải xác định rõ nguyên nhân và cách giải quyết của chúng để đảm bảo rằng trường hợp sử dụng vẫn có thể hoạt động một cách hiệu quả. Ngoài ra, ngoại lệ cũng giúp chúng ta xác định các trường hợp sử dụng phụ, những trường hợp sử dụng có thể xảy ra nhưng không phải là trường hợp sử dụng chính.
Tên các trường hợp sử dụng nên được viết theo cách mô tả. Ví dụ, nếu trường hợp sử dụng liên quan đến việc đăng ký tài khoản, tên trường hợp sử dụng có thể là 'Đăng ký tài khoản mới'. Điều này giúp cho các nhà phát triển và người dùng dễ dàng hiểu được mục đích và chức năng của trường hợp sử dụng. Tên trường hợp sử dụng nên được viết một cách rõ ràng, ngắn gọn và dễ hiểu, giúp cho việc giao tiếp và hợp tác giữa các thành viên trong nhóm được hiệu quả hơn.
Các Use Case mô tả các tương tác giữa hệ thống và các thực thể bên ngoài. Điều này có nghĩa là chúng mô tả các hành vi của người dùng và các yêu cầu của họ đối với hệ thống. Mục đích chính của Use Case là xác định các yêu cầu chức năng của hệ thống và mô tả các tương tác giữa người dùng và hệ thống. Các Use Case thường được sử dụng để xác định các yêu cầu của hệ thống và để tạo ra các yêu cầu chức năng của hệ thống. Chúng cũng có thể được sử dụng để xác định các yêu cầu của người dùng và để tạo ra các yêu cầu chức năng của hệ thống.
Trong quản lý yêu cầu Agile, các câu chuyện người dùng (user stories) đóng vai trò quan trọng. Chúng cung cấp mô tả ngắn gọn, dễ hiểu và có thể thực hiện được về các tính năng từ góc độ của người dùng. Điều này giúp các nhà phát triển hiểu rõ hơn về nhu cầu và mong muốn của người dùng, từ đó tạo ra sản phẩm đáp ứng được nhu cầu của họ. Các câu chuyện người dùng thường được viết dưới dạng câu hỏi như 'Làm thế nào để tôi có thể thực hiện được điều này?' hoặc 'Tôi muốn gì?' Điều này giúp các nhà phát triển tập trung vào việc tạo ra sản phẩm đáp ứng được nhu cầu của người dùng, thay vì tập trung vào các tính năng cụ thể.
Trong quá trình thu thập yêu cầu (requirements elicitation), prototyping đóng vai trò quan trọng. Prototyping là quá trình tạo ra mô hình hoặc bản demo của sản phẩm để thu thập phản hồi từ các bên liên quan. Điều này giúp làm rõ các yêu cầu không rõ ràng và thu thập phản hồi từ các bên liên quan. Quá trình này giúp đảm bảo rằng sản phẩm đáp ứng được nhu cầu và kỳ vọng của khách hàng. Ngoài ra, prototyping còn giúp tiết kiệm thời gian và nguồn lực trong quá trình phát triển sản phẩm.
Prototyping trong kỹ thuật yêu cầu giúp giảm thiểu rủi ro trong quá trình thiết kế yêu cầu bằng cách cung cấp cho các bên liên quan một hình ảnh trực quan để xác minh các yêu cầu không rõ ràng. Quá trình này cho phép các bên liên quan xem xét và phản hồi về các yêu cầu trước khi triển khai hệ thống. Điều này giúp đảm bảo rằng các yêu cầu được hiểu đúng và giảm thiểu rủi ro phát sinh từ các yêu cầu không rõ ràng. Ngoài ra, prototyping cũng giúp xác định và giải quyết các vấn đề sớm, từ đó tiết kiệm thời gian và nguồn lực cho dự án.
Một quy tắc kinh doanh là một tuyên bố xác định hoặc hạn chế một khía cạnh nào đó của kinh doanh để kiểm soát hoặc ảnh hưởng đến hành vi của nó. Điều này có nghĩa là quy tắc kinh doanh xác định các điều kiện hoặc hạn chế nào cần được tuân thủ để đảm bảo hoạt động kinh doanh được thực hiện một cách hiệu quả và chính xác. Ví dụ, một quy tắc kinh doanh có thể xác định rằng một khách hàng phải là người lớn mới có thể thực hiện một giao dịch mua hàng trực tuyến. Việc xác định và áp dụng các quy tắc kinh doanh giúp đảm bảo rằng hoạt động kinh doanh được thực hiện một cách nhất quán và chính xác. Ngoài ra, việc phân loại các quy tắc kinh doanh giúp hiểu rõ cách chúng có thể được áp dụng trong một ứng dụng phần mềm, chẳng hạn như sử dụng hạn chế để thực hiện các điều kiện nhất định.
Trong đó, SRS (Software Requirements Specification) là một tài liệu quan trọng trong quá trình phát triển phần mềm. Nó mô tả các yêu cầu chức năng và phi chức năng của phần mềm. Các yếu tố không được bao gồm trong SRS template bao gồm các đặc điểm thiết kế, tính năng của hệ thống. Các yếu tố này thường được mô tả trong tài liệu thiết kế phần mềm hoặc tài liệu kỹ thuật khác. Vì vậy, câu trả lời đúng là 'Tính năng của hệ thống'.
Chủ đề chính của việc ghi chép yêu cầu cho các hệ thống phức tạp là đảm bảo rõ ràng, nhất quán và tránh nhầm lẫn. Khi một hệ thống phức tạp được thiết kế, việc ghi chép yêu cầu trở nên khó khăn hơn do sự phức tạp của các yêu cầu và mối quan hệ giữa chúng. Để giải quyết vấn đề này, các kỹ sư phần mềm cần phải đảm bảo rằng các yêu cầu được ghi chép một cách rõ ràng, nhất quán và không có sự nhầm lẫn. Điều này có thể đạt được bằng cách sử dụng các phương pháp và công cụ hỗ trợ như mô hình hóa yêu cầu, phân tích yêu cầu và kiểm tra yêu cầu.
Khi viết SRS, việc ghi nhãn các yêu cầu là rất quan trọng. Điều này cho phép chúng ta tham khảo các yêu cầu cụ thể trong yêu cầu thay đổi, lịch sử sửa đổi, liên kết, hoặc ma trận theo dõi yêu cầu. Ngoài ra, việc ghi nhãn yêu cầu cũng giúp chúng ta tái sử dụng các yêu cầu trong nhiều dự án khác nhau. Điều này giúp tiết kiệm thời gian và công sức trong quá trình phát triển phần mềm. Hơn nữa, việc ghi nhãn yêu cầu cũng giúp cải thiện sự hợp tác giữa các thành viên trong nhóm khi họ thảo luận về các yêu cầu.
Một bộ yêu cầu cần phải đáp ứng các đặc điểm sau. Trước hết, chúng cần phải đảm bảo tính toàn diện (Completeness), nghĩa là mặc dù có thể thiếu một số thông tin quan trọng nhưng vẫn phải ghi nhận được các yêu cầu cơ bản. Điều này cho phép các nhà phát triển hiểu được những gì cần phải được thực hiện. Tiếp theo, tính linh hoạt (Modifiability) là rất quan trọng, giúp cho việc thay đổi yêu cầu trở nên dễ dàng mà không cần phải theo dõi lịch sử thay đổi hoặc xem xét các mối quan hệ phụ thuộc giữa các yêu cầu. Tuy nhiên, tính nhất quán (Consistency) là đặc điểm quan trọng nhất, đảm bảo rằng các yêu cầu không xung đột với các yêu cầu khác hoặc các yêu cầu cấp cao hơn liên quan đến kinh doanh, người dùng hoặc hệ thống. Cuối cùng, tính theo dõi (Traceability) giúp cho việc liên kết các yêu cầu với nguồn gốc của chúng và các yếu tố được tạo ra từ chúng trở nên dễ dàng hơn.
Mục tiêu quan trọng của việc viết yêu cầu là đảm bảo rằng bất kỳ ai đọc yêu cầu đều có cùng hiểu biết về yêu cầu đó. Điều này có nghĩa là yêu cầu phải rõ ràng, dễ hiểu và không gây nhầm lẫn. Mục tiêu này giúp tránh những hiểu lầm không cần thiết và đảm bảo rằng tất cả các bên liên quan đều có cùng mục tiêu. Ví dụ, nếu yêu cầu không rõ ràng, một người đọc có thể hiểu nó một cách khác với người đọc khác, dẫn đến việc thực hiện sai yêu cầu. Vì vậy, việc viết yêu cầu một cách rõ ràng và dễ hiểu là rất quan trọng để đảm bảo rằng tất cả các bên liên quan đều có cùng hiểu biết về yêu cầu.
Câu tuyên bố trên cho rằng tất cả màn hình trong hệ thống phải tải nhanh chóng. Để đánh giá tính chính xác và khả thi của tuyên bố này, chúng ta cần xem xét từng khía cạnh. Tính chính xác (correct) của tuyên bố này có thể được đánh giá là đúng vì nó xác định rõ yêu cầu về tốc độ tải màn hình. Tuy nhiên, tính khả thi (feasible) của tuyên bố này có thể không hoàn toàn đúng vì tốc độ tải màn hình phụ thuộc vào nhiều yếu tố như cấu hình hệ thống, dung lượng dữ liệu, và hiệu suất phần cứng. Vì vậy, tuyên bố này có thể được đánh giá là 'Correct và Feasible' nhưng với một số hạn chế.
Khi chọn kỹ thuật biểu diễn phù hợp cho mô hình phân tích, nên tuân theo các hướng dẫn sau. Mỗi quy trình kinh doanh có thể được biểu diễn bằng các sơ đồ lưu lượng dữ liệu ở mức cao hoặc các sơ đồ Swimlane thể hiện vai trò và trách nhiệm trong quy trình. Ngoài ra, logic phức tạp có thể được biểu diễn hiệu quả bằng các cây quyết định hoặc bảng quyết định, thể hiện các kết quả có thể xảy ra hoặc các yêu cầu chức năng độc đáo. Điều này giúp đảm bảo sự rõ ràng và tránh nhầm lẫn trong quá trình phát triển.
Swimlane diagram là một loại biểu đồ được sử dụng để minh họa các quy trình hoặc quy trình kinh doanh. Nó thường được sử dụng để hiển thị các bước trong một quy trình, cùng với các cá nhân hoặc nhóm chịu trách nhiệm thực hiện từng bước. Trong một Swimlane diagram, các bước quy trình thường được hiển thị dưới dạng hình dạng đặc biệt. Câu hỏi yêu cầu bạn xác định hình dạng nào thường được sử dụng để hiển thị các bước quy trình trong một Swimlane diagram.
Một nhà phân tích kinh doanh có thể chuyển đổi tiếng nói của khách hàng thành các thành phần mô hình cụ thể bằng cách xác định các từ khóa như danh từ, động từ và các tuyên bố điều kiện có thể ánh xạ đến các thành phần mô hình phân tích tương ứng. Điều này giúp họ hiểu rõ hơn về nhu cầu và mong muốn của khách hàng, từ đó tạo ra các mô hình phân tích chính xác và hiệu quả. Ngoài ra, việc xác định các từ khóa cũng giúp nhà phân tích kinh doanh tránh được sự nhầm lẫn và đảm bảo rằng các mô hình phân tích được xây dựng dựa trên thông tin chính xác và đáng tin cậy.
Các mục trong từ điển dữ liệu đại diện cho các loại phần tử dữ liệu sau: chọn 3 đáp án đúng. Các loại dữ liệu này bao gồm các phần tử cơ bản, cấu trúc và nhóm lặp lại. Các phần tử cơ bản là các giá trị đơn giản như số, chuỗi, boolean. Cấu trúc là một nhóm các phần tử dữ liệu được tổ chức theo một trình tự nhất định. Nhóm lặp lại là một nhóm các phần tử dữ liệu có thể lặp lại nhiều lần. Các loại dữ liệu này được sử dụng để mô tả và lưu trữ dữ liệu trong các ứng dụng và hệ thống thông tin.
Một Entity Relationship Diagram (ERD) là một công cụ quan trọng trong thiết kế cơ sở dữ liệu. Nó mô tả mối quan hệ giữa các thực thể (entity) trong một hệ thống dữ liệu. Các thành phần chính của một ERD bao gồm: thực thể (entity), mối quan hệ (relationship), quan hệ giữa thực thể (association), thuộc tính (attribute). Trong các lựa chọn trên, chỉ có một thành phần không phải là một phần của ERD. Đó là 'Cardinality'. Cardinality chỉ là một khái niệm trong ERD, nó mô tả số lượng thực thể tham gia vào một mối quan hệ. Nó không phải là một thành phần độc lập của ERD.
ERD (Entity-Relationship Diagram) là một công cụ quan trọng trong thiết kế cơ sở dữ liệu. Để xác định câu trả lời sai, chúng ta cần hiểu rõ về các thành phần của ERD. Câu trả lời sai là 'Individual instances of an entity will have the same attribute values'. Điều này không đúng vì các bản sao riêng lẻ của một thực thể sẽ có các giá trị thuộc tính khác nhau. Ví dụ, trong một bảng khách hàng, mỗi khách hàng sẽ có một địa chỉ riêng biệt. Câu trả lời đúng về ERD bao gồm: 'The cardinality, or multiplicity, of each relationship is shown with a number or letter on the lines that connect entities and relationships', 'Each entity is described by one or more attributes' và 'The diamonds in the ERD represent relationships, which identify the logical linkages between pairs of entities'.
Khi đánh giá các thuộc tính chất lượng phần mềm, thuộc tính nội bộ (internal quality attribute) là những thuộc tính liên quan trực tiếp đến thiết kế và cấu trúc của phần mềm. Trong các lựa chọn trên, hiệu suất (Efficiency) là một thuộc tính nội bộ vì nó liên quan đến khả năng sử dụng tài nguyên của phần mềm, chẳng hạn như thời gian chạy, dung lượng bộ nhớ và tốc độ xử lý. Ví dụ, một phần mềm có thể được thiết kế để chạy nhanh chóng và hiệu quả, nhưng điều đó không nhất thiết phải đảm bảo rằng nó cũng dễ sử dụng (usability) hoặc an toàn (security). Tương tự, khả năng sẵn có (availability) cũng không phải là thuộc tính nội bộ vì nó liên quan đến khả năng truy cập và sử dụng phần mềm, chứ không phải là cấu trúc hoặc thiết kế của nó.
Planguage là một ngôn ngữ được thiết kế để giúp các nhà phát triển và quản lý dự án thể hiện rõ ràng và chính xác các thuộc tính chất lượng và mục tiêu dự án khác. Ngôn ngữ này cung cấp một bộ từ khóa phong phú cho phép người dùng tạo ra các tuyên bố chính xác về các thuộc tính chất lượng và mục tiêu dự án. Điều này giúp cho việc quản lý dự án trở nên dễ dàng hơn và giảm thiểu khả năng xảy ra sai sót. Planguage được sử dụng rộng rãi trong các dự án phần mềm và công nghệ để đảm bảo rằng các mục tiêu và yêu cầu của dự án được thực hiện một cách chính xác và hiệu quả.
Yêu cầu chức năng (Functional Requirement) là những yêu cầu liên quan đến chức năng của hệ thống, bao gồm các yêu cầu về tính năng, khả năng và hiệu suất của hệ thống. Trong các lựa chọn trên, Maintainability là một yêu cầu chức năng vì nó liên quan đến khả năng bảo trì và sửa chữa hệ thống. Maintainability là một phần quan trọng của yêu cầu chức năng vì nó đảm bảo rằng hệ thống có thể được cập nhật, sửa chữa và bảo trì một cách dễ dàng và hiệu quả.
Phương pháp prototyping được đề cập trong câu hỏi là Evolutionary prototype. Đây là phương pháp tạo mẫu để làm rõ yêu cầu của người dùng, sau đó xây dựng và thêm các tính năng mới vào mẫu này từng bước một, và cuối cùng là phát hành sản phẩm cuối cùng dựa trên nó. Phương pháp này cho phép người dùng tham gia tích cực vào quá trình phát triển sản phẩm, giúp đảm bảo rằng sản phẩm đáp ứng được nhu cầu và mong muốn của họ.
Khi tạo mô hình giả (mock-up), mục đích chính là để cải thiện thiết kế giao diện người dùng. Điều này bao gồm việc xác định các yếu tố như bố cục, màu sắc, hình ảnh và các yếu tố khác ảnh hưởng đến trải nghiệm người dùng. Ngoài ra, mô hình giả còn giúp kiểm tra tính khả thi của kiến trúc và cho phép người dùng đánh giá toàn bộ quy trình và yêu cầu. Tuy nhiên, mục đích không phải là tạo ra một giao diện người dùng giả mạo mà không có chức năng thực sự. Điều này có nghĩa là mô hình giả phải có một số chức năng cơ bản để cho phép người dùng tương tác và đánh giá.
Khi bạn tạo bản mẫu toàn bộ giải pháp thay vì chỉ những phần có khả năng cao nhất, rủi ro cao nhất hoặc phức tạp nhất, bạn sẽ gặp phải một số vấn đề. Đầu tiên, bạn có thể đang đầu tư quá nhiều nỗ lực vào bản mẫu, điều này có thể dẫn đến lãng phí thời gian và nguồn lực. Thứ hai, bạn có thể bị phân tâm bởi những chi tiết nhỏ nhặt, điều này có thể khiến bạn mất tập trung vào mục tiêu chính. Cuối cùng, bạn có thể gặp áp lực phải phát hành bản mẫu sớm, điều này có thể dẫn đến việc bạn phải cắt giảm các tính năng quan trọng hoặc giảm chất lượng của bản mẫu. Ngoài ra, bạn cũng có thể tạo ra những kỳ vọng không thực tế về hiệu suất của bản mẫu, điều này có thể dẫn đến thất vọng khi bản mẫu không đạt được những kỳ vọng đó.
Kỹ thuật MoSCoW là một phương pháp được sử dụng để xác định ưu tiên các yêu cầu trong một dự án. Mỗi chữ cái viết hoa trong MoSCoW đại diện cho một mức độ ưu tiên khác nhau. M - Must (Phải có), S - Should (Nên có), C - Could (Có thể có), W - Won't (Không có). Vì vậy, đáp án đúng là "Must, Should, Could, Won't".
Câu hỏi này yêu cầu bạn chọn phương pháp không liên quan đến kỹ thuật ưu tiên. Trong đó, 'In or out' không phải là một kỹ thuật ưu tiên. Kỹ thuật này thường được sử dụng để quyết định liệu một yêu cầu hoặc một dự án có được thực hiện hay không. Trong khi đó, các phương pháp khác như 'So sánh đôi và xếp hạng', 'Bảng thang ba mức', 'MoSCoW', 'Dựa trên rủi ro' đều liên quan đến việc ưu tiên các yêu cầu hoặc dự án.
Phương pháp đánh giá yêu cầu liên quan đến việc tác giả mô tả một sản phẩm và thu thập ý kiến về nó được gọi là phương pháp Peer deskcheck. Trong phương pháp này, tác giả sẽ mô tả chi tiết về sản phẩm và gửi cho các thành viên khác trong nhóm để họ có thể đưa ra ý kiến và góp ý. Điều này giúp đảm bảo rằng sản phẩm đáp ứng được yêu cầu và nhu cầu của khách hàng. Phương pháp này thường được sử dụng khi nhóm cần phải có sự tham gia và ý kiến của nhiều người để có thể tạo ra một sản phẩm tốt nhất.
Khi xác minh yêu cầu, chúng ta có thể ngăn chặn một số vấn đề tiềm ẩn. Đầu tiên, xác minh yêu cầu giúp ngăn chặn hiện tượng 'Scope creep', khi yêu cầu thay đổi không ngừng và vượt quá phạm vi ban đầu. Điều này có thể dẫn đến lãng phí thời gian và tài nguyên. Thứ hai, xác minh yêu cầu giúp ngăn chặn 'Misaligned Expectations', khi người dùng và nhà phát triển không có cùng hiểu biết về yêu cầu. Điều này có thể dẫn đến sự thất vọng và lãng phí thời gian. Cuối cùng, xác minh yêu cầu giúp ngăn chặn 'Cost Overruns and Delays', khi dự án bị chậm tiến độ và vượt quá ngân sách. Điều này có thể dẫn đến thiệt hại tài chính và ảnh hưởng đến uy tín của công ty.
Extent of reuse là một khái niệm quan trọng trong thiết kế và phát triển phần mềm, đặc biệt là trong lĩnh vực tái sử dụng mã nguồn. Nó đề cập đến mức độ mà một yêu cầu chức năng hoặc một phần của yêu cầu chức năng có thể được tái sử dụng trên một dự án mới. Trong thực tế, tái sử dụng không chỉ giới hạn ở việc sao chép và dán một yêu cầu chức năng đơn lẻ mà còn bao gồm cả việc tái sử dụng các yêu cầu chức năng phức tạp hơn như các trường hợp sử dụng, yêu cầu hiệu suất, yêu cầu sử dụng người dùng và các quy tắc kinh doanh. Mức độ tái sử dụng có thể khác nhau tùy thuộc vào tính chất của yêu cầu chức năng và mức độ phức tạp của dự án.
Các lợi ích của việc tái sử dụng yêu cầu hiệu quả bao gồm: Tái sử dụng yêu cầu giúp giảm thời gian phát triển dự án, giảm chi phí phát triển và giảm thiểu công việc lặp lại. Điều này đạt được bằng cách sử dụng lại các yêu cầu đã được xác định trước đó trong dự án khác, từ đó giảm thiểu thời gian và chi phí phát triển. Ngoài ra, tái sử dụng yêu cầu cũng giúp giảm thiểu công việc lặp lại và cải thiện chất lượng của dự án. Điều này đạt được bằng cách sử dụng các yêu cầu đã được xác định trước đó để phát triển dự án mới, từ đó giảm thiểu công việc lặp lại và cải thiện chất lượng của dự án.
Trong quá trình phát triển phần mềm, yêu cầu (requirements) đóng vai trò quan trọng. Chúng không chỉ ảnh hưởng đến kế hoạch dự án mà còn tác động trực tiếp đến quá trình thiết kế và viết mã nguồn. Yêu cầu cũng giúp xác định các hoạt động kiểm tra và thử nghiệm, đảm bảo rằng sản phẩm cuối cùng đáp ứng được các tiêu chuẩn và yêu cầu đã được đặt ra. Vì vậy, yêu cầu (requirements) là nền tảng quan trọng để xây dựng một sản phẩm phần mềm chất lượng cao.
Một dự án cải tiến (enhancement project) là một loại dự án trong đó các khả năng mới được thêm vào một hệ thống hiện có. Điều này có nghĩa là dự án cải tiến không thay thế hệ thống hiện có hoàn toàn, mà thay vào đó, nó bổ sung thêm các tính năng hoặc khả năng mới để cải thiện hiệu suất, tính năng hoặc trải nghiệm người dùng của hệ thống hiện có. Dự án cải tiến thường được thực hiện để đáp ứng nhu cầu mới của khách hàng, cải thiện hiệu suất hệ thống hoặc bổ sung thêm các tính năng mới để cạnh tranh với các đối thủ trong ngành. Ví dụ, một công ty có thể thực hiện dự án cải tiến để thêm tính năng mới vào hệ thống quản lý khách hàng của mình, chẳng hạn như khả năng theo dõi và phân tích dữ liệu khách hàng. Điều này sẽ giúp công ty có thể hiểu rõ hơn về nhu cầu và hành vi của khách hàng, từ đó có thể cung cấp dịch vụ tốt hơn và tăng cường mối quan hệ với khách hàng.
COTS (Commercial Off-The-Shelf) là các phần mềm được phát triển sẵn và có sẵn trên thị trường. Khi triển khai COTS, một số gói phần mềm có thể được sử dụng ngay lập tức mà không cần phải tùy chỉnh quá nhiều. Điều này là do COTS đã được thiết kế để đáp ứng nhu cầu chung của nhiều doanh nghiệp, vì vậy chúng có thể đáp ứng được các yêu cầu cơ bản của doanh nghiệp mà không cần phải thay đổi quá nhiều. Tuy nhiên, không phải tất cả các COTS đều có thể được sử dụng như vậy, và một số gói phần mềm có thể cần phải được tùy chỉnh để phù hợp với nhu cầu cụ thể của doanh nghiệp.
Các lý do khiến các công ty ký hợp đồng với các tổ chức cung cấp dịch vụ outsourcing phần mềm bao gồm việc tiết kiệm chi phí và tăng tốc độ phát triển cũng như tiếp cận chuyên môn hóa. Việc hợp tác với các tổ chức này cho phép các công ty tận dụng nguồn lực và chuyên môn của họ mà không cần phải đầu tư vào việc xây dựng và duy trì các bộ phận nội bộ. Điều này đặc biệt hữu ích cho các công ty muốn nhanh chóng triển khai các dự án hoặc giải quyết các thách thức kỹ thuật phức tạp mà họ không có đủ nguồn lực hoặc chuyên môn để giải quyết.
Requirements baseline là một khái niệm quan trọng trong quy trình phát triển hệ thống, nó đại diện cho một tập hợp các yêu cầu mà các bên liên quan đã đồng ý, thường xác định nội dung của một phiên bản cụ thể hoặc một vòng lặp phát triển. Requirements baseline giúp đảm bảo rằng hệ thống được phát triển đáp ứng được nhu cầu và kỳ vọng của các bên liên quan, đồng thời giúp giảm thiểu rủi ro và tăng cường hiệu suất phát triển. Khi tạo ra một requirements baseline, các nhà phát triển cần xem xét kỹ lưỡng các yêu cầu của hệ thống, bao gồm cả các tính năng, chức năng, và đặc điểm kỹ thuật. Điều này giúp đảm bảo rằng hệ thống được phát triển đáp ứng được các yêu cầu của các bên liên quan và đáp ứng được nhu cầu của người dùng cuối cùng. Requirements baseline cũng giúp các nhà phát triển theo dõi và quản lý các yêu cầu của hệ thống, từ đó giúp cải thiện hiệu suất phát triển và giảm thiểu rủi ro. Tóm lại, requirements baseline là một khái niệm quan trọng trong quy trình phát triển hệ thống, giúp đảm bảo rằng hệ thống được phát triển đáp ứng được nhu cầu và kỳ vọng của các bên liên quan.
Câu trả lời đúng là "Agile processes harness change for the customer's competitive advantage.". Lý do là vì Agile là một phương pháp quản lý dự án linh hoạt, cho phép thay đổi và thích nghi với nhu cầu của khách hàng. Khi khách hàng thay đổi nhu cầu, Agile cho phép đội ngũ phát triển nhanh chóng thích nghi và đáp ứng nhu cầu đó. Điều này giúp cho khách hàng có được lợi thế cạnh tranh và tăng cường khả năng thành công của dự án. Các câu trả lời còn lại đều liên quan đến quản lý thay đổi trong Agile, vì vậy chúng không phải là câu trả lời đúng.
Tracing yêu cầu là một quá trình quan trọng trong phát triển phần mềm, giúp đảm bảo rằng các yêu cầu của dự án được thực hiện chính xác và hiệu quả. Motivation chính cho việc tracing yêu cầu là để cải thiện chất lượng sản phẩm, giảm chi phí bảo trì và hỗ trợ tái sử dụng. Khi yêu cầu được tracing chính xác, các nhà phát triển có thể dễ dàng xác định và sửa lỗi, từ đó cải thiện chất lượng sản phẩm và giảm chi phí bảo trì. Ngoài ra, việc tracing yêu cầu cũng giúp hỗ trợ tái sử dụng các thành phần đã được phát triển, giảm thiểu thời gian và chi phí phát triển mới.
Trong ngữ cảnh của việc theo dõi yêu cầu, một ma trận theo dõi được sử dụng để thực hiện hai chức năng chính. Thứ nhất, nó được sử dụng để ánh xạ các yêu cầu đến các yếu tố khác của hệ thống như thiết kế và mã nguồn. Điều này giúp đảm bảo rằng các yêu cầu được thực hiện một cách chính xác và không bỏ sót bất kỳ chi tiết nào. Thứ hai, nó được sử dụng để xác định các yêu cầu bị thiếu hoặc không cần thiết. Điều này giúp giảm thiểu các yêu cầu không cần thiết và đảm bảo rằng hệ thống được phát triển một cách hiệu quả và có hiệu suất cao.
Một chiến lược tránh rủi ro (risk avoidance) là việc không tham gia vào hoạt động có rủi ro. Điều này có nghĩa là bạn sẽ tránh hoàn toàn hoạt động có khả năng gây ra thiệt hại hoặc tổn thất. Ví dụ, nếu bạn đang xem xét việc đầu tư vào một công ty có lịch sử không tốt, chiến lược tránh rủi ro sẽ là việc không đầu tư vào công ty đó. Thay vào đó, bạn sẽ tìm kiếm các cơ hội đầu tư khác an toàn hơn. Chiến lược tránh rủi ro thường được sử dụng khi rủi ro có thể gây ra thiệt hại nghiêm trọng và không thể được kiểm soát.
Trong Agile, Epic là một khái niệm quan trọng giúp định nghĩa mục tiêu và yêu cầu của dự án. Nó đại diện cho một nhu cầu của người dùng hoặc yêu cầu kinh doanh ở mức độ cao, có thể được chia nhỏ thành các câu chuyện người dùng (user stories) nhỏ hơn và dễ quản lý hơn. Ví dụ, một Epic có thể là 'Tăng cường trải nghiệm khách hàng' và được chia nhỏ thành các user stories như 'Tạo trang web mới', 'Tối ưu hóa quá trình thanh toán trực tuyến', v.v. Mục đích của Epic là giúp nhóm phát triển hiểu rõ yêu cầu và mục tiêu của dự án, từ đó có thể lập kế hoạch và triển khai các công việc cần thiết.
Bộ đề liên quan
Tổng hợp đề thi FE môn SWR302 - FPTUSWR302
Software Requirements - SWR302
SWR302_FA24_RE - Đề thi Retake SWR302 có đáp án và giải thích chi tiết
SWR302
Software Requirements - SWR302
SWR302_FA25_RE - Có đáp án và giải thích chi tiết
SWR302
Software Requirements - SWR302
SWR302_FA23_RE - Có đáp án và giải thích chi tiết
SWR302
Software Requirements - SWR302