Question 1: In class, you have been taught different ways of elicitation of requirements. Suggest when would each of the method is suitable. Support your answer with an example situation for each method. Interviews:- Firstly we should consider what an interview is. it as "a purposeful conversation in which one person asks prepared questions (interviewer) and another answers them (respondent)" This is done to gain information on a particular topic or a particular area to be researched. Interviews are a useful tool which can lead to further research using other methodologies such as observation and experiments. Interviews can have one of two basic structures. They can be either structured (closed interview style) or unstructured (open interview style). Open-ended or unstructured interviews are "an informal interview, not structured by a standard list of questions. Using these two structures, there are 2 basic types of interview used in everyday research. The first of these is known as one to one interviews, personal interviews or intensive interviews. This type of interview uses a small sample averaging 30 peoples. The interview usually last up to several hours. It focuses on the use of open-ended questions allowing the respondent to answer freely. This interview approach is flexible, providing a large amount of detail. It is clear that the answers are solely those of the person being questioned. This approach also has its disadvantages essentially because it is time consuming and very costly. The second type of interview technique is a group interview or focus group study. It is defined as "a research strategy for understanding audience/ consumer attitudes and behavior". Conversation in a focus group can be either structured or unstructured (often somewhere in between) and can last up to two hours. Exapmle:- These interview approaches can be better understood by the use of example. David Morley’s study of the former television programs Nationwide used the focus group interview method to investigate "the extent to which individual interpretation of programs could be shown to vary systematically in relation to ...sociocultural background. He chose to work with groups rather than individuals because he believed that individuals were not seen in their social context . The groups were very traditional focus groups as they were already meeting as part of an educational course. They therefore knew each other and were easy to access . The groups each watched two programs which were then directly followed by a discussion lasting about 30 minutes. Morley chose to use an unstructured approach to the interview with open-ended questions allowing for diversity in response. His study therefore lacked standardization. He stated however that the reasoning behind this choice was that "it is not simply the substance of the answer which is important; it is also the form of its expression which constitutes its meaning" . Joint Application Design (JAD):- JAD is a method where a software development team and clients of the proposed system all come together in a workshop environment (preferably a single room called a ‘clean room’) to brainstorm and discuss different solutions to the new system. JAD workshops are not only used to create ideas for new systems beforehand, but also to aid the software development team to raise issues and concerns at later stages while the project is already progressing, attempting to adhere to the client’s requirements and expectations as was set out initially. The very power of a JAD session lies in the fact that it is highly interactive and that the users are involved right from the start as well as throughout the duration of the entire project. Example:- Suppose a client contracts with a software development company to develop a program for a new Vehicle insurance product. The program has to perform calculations depending on an option a user selects for his or her insurance needs. If the user selects a value added product then the premium on his/her vehicle would be calculated differently than would have been the case if the product had not been opted for. Suppose the development team takes the following decisions: Every step in the software development life cycle (SDLC) is to be fully documented so that every decision taken could be justified throughout. Such documentation would aid developers as well as software testers afterwards. It is expected that the JAD sessions would facilitate their understanding of specific requirements for the system as well as the design of a flexible solution. During a JAD workshop the development team raised direct questions, trying to clarify specific requirements. Beginning of JAD session: Developer #1: What are the options available to a user? Client: Users may select either full comprehensive cover or limited cover. Developer #1: Could you explain these two options? Client: Yes. Full comprehensive cover is calculated by taking the full amount requested for cover, followed by multiplying that amount by 0.03 and then dividing it by 12 to get a monthly premium. E.g. (R250 000 * 0.03) / 12 = R625 per month. Limited cover is calculated by taking the full amount requested for cover and multiplying that amount by 0.01 and then dividing it by 12 to get a monthly premium. E.g. (R250 000 * 0.02) / 12 = R416.67 per month. Developer #2: Must there be security build into the system? Client: Yes, only authorized call centre agents must be allowed to login in and give valid quotes to a client. Developer #3: Should every quote you give be kept for the sake of future queries? Client: Yes, we need to be able to retrieve the quote even after 3 months, should the client decide to take up the policy. Developer #3: How do you currently keep track of quotes? Client: We use a reference number; we take the caller’s id number as the reference number. Thereafter the development team drew up a functional specification: A log-in screen for the call centre agent to have access to the system is to be displayed. Agent’s log-in id is to be checked against the system to ensure only authorized access. If agent fails 5 times to login in, lock the agent out completely. If agent is locked out, agent needs to call the administrator to unlock his/her user id. System will not use passwords, only login security codes which agents are not allowed to Share. Login security screen will only display stars (*) when an agent enters a security code. A field for entering the caller’s identity number is to be displayed. Identity number verification and control need to be built in to ensure data integrity should the quote become a valid policy. An option, preferably radio buttons, to select either full or limited cover must be available. The system must have an option to save quotes. If an agent makes a mistake, the agent must have the option to correct the mistake before Saving the quote. The call centre agent must be able to log out in order to prevent unauthorized access to The system. Prototyping:- A modern software engineering project involves a diverse group of different Stakeholders. One of the most difficult problems in deciding on the system requirements is the Communication gap between different stakeholders. The system analysts tend to speak with technical terms while the customer and end-users prefer to use the language used in their daily business. As a result the analysts may not have a clear idea what kind of system they are building and the customer and end-users are often surprised when they notice that the final product does not fulfil their expectations and solve the problems they needed the system for in the first place. A well-known solution for narrowing the communication gap is the usage of prototypes, which present something concrete the stakeholders can react. A general process for prototyping, which constitutes of the following steps: 1. Preliminary analysis of users’ requirements. 2. Prototype design. 3. Rapid prototype implementation. 4. Prototype evaluation with different stakeholders. 5. Iterative refinement of the prototype. 6. Refinement of requirements and specifications. 7. Design and implementation of the production system. Example:- A system handling the mobile payment of car parking fees was chosen. The phases of the process executed during the case are described below in more detail. In the initial phase the main idea is to familiarize the system analysts to the problem. In this case the methods used for acquiring the basic understanding of the problem were two stakeholder interview sessions and studying topic related literature. The goal of the prototyping was set to be the elicitation of the initial system requirements. Based on the interviews three top-level user classes of the system were identified: the vehicle driver, traffic warden, and the system administrator. Also, the most important high-level tasks for each of the main user classes were uncovered. In the use case analysis phase it was determined that the objectives could be achieved through prototyping and thus the process was continued. The information gathered during the initial phase was analyzed and three essential high-level use cases were chosen for prototyping. The chosen use cases were the car driver parking a car, the car driver ending parking, and the traffic warden checking the parking area. Use case:- A use case in software engineering and systems engineering is a description of a system’s behavior as it responds to a request that originates from outside of that system. In other words, a use case describes "who" can do "what" with the system in question. The use case technique is used to capture a system's behavioral requirements by detailing scenario-driven threads through the functional requirements. Example:- The system is started up when the operator turns the operator switch to the "on" position. The operator will be asked to enter the amount of money currently in the cash dispenser, and a connection to the bank will be established. Then the servicing of customers can begin. The system is shut down when the operator makes sure that no customer is using the machine, and then turns the operator switch to the "off" position. The connection to the bank will be shut down. A session is started when a customer inserts an ATM card into the card reader slot of the machine. The ATM pulls the card into the machine and reads it. (If the reader cannot read the card due to improper insertion or a damaged stripe, the card is ejected, an error screen is displayed, and the session is aborted.) The customer is asked to enter his/her PIN, and is then allowed to perform one or more transactions, choosing from a menu of possible types of transaction in each case. After each transaction, the customer is asked whether he/she would like to perform another. When the customer is through performing transactions, the card is ejected from the machine and the session ends. If a transaction is aborted due to too many invalid PIN entries, the session is also aborted, with the card being retained in the machine. The customer may abort the session by pressing the Cancel key when entering a PIN or choosing a transaction type. Question 2: For the following business problem, do the following tasks: A new GIS based service is offered by a famous mobile company which sends alert to the customer mobile suggesting near-by places to dine-in, to shop, e.t.c. 1. Identify the stakeholders and develop their profile. 2. Develop the vision statement of the product 3. State its features and classify them too. Geographic information systems (GIS) or geospatial information systems is a set of tools that captures, stores, analyzes, manages, and presents data that are linked to location(s). In the simplest terms, GIS is the merging of cartography, statistical analysis, and database technology. Stakeholders Company owners:- Company owners are those persons which are the investors of the company .they invest their money in company intent to get financial benefit from the company. Customers:- Customers are the end user’s of the company who uses this service and want to get the detailed information of the nearby place to dine in ,to shop. System management:- Those persons who manage this system and collect up-to-date the information about the nearby dine in , to shop. Marketing staff:- Are those persons who advertise this service. Develop the vision statement of the product For a mobile company Who wish to launch GIS service for their customers. The GIS service software Is a type of information system or a database That keeps their customer in touch with providing the details information of nearby restaurants or shopping mall e.t.c. Unlike the traditional way of asking the locals about the information about the desired place such as shopping mall or a restaurant, Our product will provide all the required information to the mobile service user at his mobile. State its features and classify them too. The software collects all the information about the nearby hotels, restaurants, shopping mall and shops e.t.c . This service provides the related information to their customers through mobile alerts which they have required.