Chapter 6: HOMEWORK ASSIGNMENT due November 20, 2014
1. List and describe at a high level the steps involved in software requirements engineering process.
Elicitation: is the practice of collecting the requirements of a system from users, customers and other stakeholders.
Analysis: after the requirements are elicited and collected the set of data still unorganized that means that they must still be analyzed. The analysis consists in two main tasks: Categorizing or clustering the requirements and Prioritizing the requirements.
Documentation and Definition: is an activity that comes after requirements analysis. In fact, it overlaps with requirements analysis and should be looked upon as a set of iterative activities within the broader context of analysis. Requirements definition involves formally spelling out the requirements.
Prototyping: is the activity of creating prototypes of software applications. A prototype typically simulates only a few aspects of the final product and may be completely different from it.
Review and validation: whichever review technique you choose, it is important to realize that reviewing requirements with users and customers is an essential part of the requirements analysis and prototyping.
Specification: once requirements have been analyzed and reviewed, it is prudent to put them into a requirements specification document. The more complex and large the number of requirements, the more there is a need to specify the requirements formally and completely.
Agreement or sign-off and acceptance: after the requirements are specified, this activity closes the requirements phase and provides a formal baseline for the requirements specifications. This agreement may be in a form of a formal document such as a contract, or an informal communication such as an email.
2. What additional skills and knowledge help a requirement engineer?
A requirement engineer should have good communication skills, which is being a good listener and interpreter. In addition, he has to domain the industry knowledge, which is to know specific terminologies and user-customer support.
3. What are the three main items that must be planned prior to conducting requirements engineering?
The three main items that must be planned prior to conducting requirements engineering are requirements engineering process, resources needed, and schedule of activities and completion date of requirements engineering.
4. What are the six main dimensions of requirements that one needs to address when collecting requirements?
1 – Business flow;
2 – Data, formats, and information needs;
3 – Individual functionality;
4 – System and other interfaces;
5 – User interfaces;
6 – Constraints (performance, security, quality, etc).
5. List four items that are included in the description of high level business profile.
1 – Opportunity and needs;
2 – Scope;
3 – Major constraints;
4 – User characteristics.
6. List and describe three items that will need to be considered in prioritizing requirements.
Current customer demands
Competition and current market conditions
Future customer needs
Critical problems in existing products
Immediate sales advantage
7. What is the Viewpoint-Oriented Requirements Definition method used for?
This method is based on the understanding that requirements are not viewed the same by all different stakeholders. Therefore, this methodology of collecting requirements ensures that all different perspectives of requirements are provided.
============================================================================
THE FOLLOWING THREE (3) QUESTIONS, 8, 9 AND 10, HAVE A QUESTION AND A SOLUTION.
PLEASE REVIEW FOR UNDERSTANDING.
8. Consider the situation where you have the following 4 requirements for an