Order Number |
33333368900 |
Type of Project |
ESSAY |
Writer Level |
PHD VERIFIED |
Format |
APA |
Academic Sources |
10 |
Page Count |
3-12 PAGES |
DQ#2 – Requirement Gathering
If you do not have a strong business process background, or very much knowledge about the problem domain (e.g. the business area being supported), how do you ensure that you have gathered all the important requirements and that your requirements are accurate, thorough, and comprehensive?
DQ#3 – Use Case Identification Techniques
The book discusses two techniques for identifying use cases (the event decomposition technique and the user goal technique). Which technique is better? Why?
DQ#4 – Problem Domain Class Identification
The book discusses two techniques to identify classes from the problem domain (The Brainstorming technique and the Noun technique). Which technique is better? When might one be better than the other? When might it be appropriate to use both techniques?
The first reply:
Here are two techniques that help identify use cases when forming a system named the User Goal Technique and the Event Decomposition technique. The User Goal Technique is done by focusing on what the goals of the users in a system are and what use cases can an analyst create to accomplish those goals.
For example, a user who works at the Amazon IT department might have the goal to be able to document calls when clients call them. A use case that could be utilized in this scenario is a “Create a ticket” case. The User Goal technique has multiple steps to follow but is the most common in the industry.
The Event Decomposition technique is a technique that uses external, temporal, or state events to determine what use cases needs to be utilized. In this technique, the use cases are the responses of these types of events. For example, using the Event Decomposition Technique, an external event that often happens in Amazon Prime Video is a customer wanting to rent a movie.
The use case in this scenario would be the response of the system to the customer/user’s wants which can be a “Pay to Rent a Movie”. Between the two techniques, the Event Decomposition offers a more comprehensive and complete information to an analyst, thus the Event Decomposition technique is the better technique.
The reason why it is the better technique is because the Event Decomposition identifies all possible events and creates use cases for these types of events while the User Goal technique only focuses on the goals mentioned by the user and nothing more. This means that use cases that could be used in response to Temporal or State events could not be mentioned when using the User Goal Technique.
Given that these types of events are important, Event Decomposition technique certainly offers a more complete and comprehensive information to an analyst regarding use cases.
The second post:
According to the slides, the user goal technique “begins by identifying end users called actors and asking what specific goals they have when interacting with the system”. The event decomposition technique “begins by identifying events that occur that require the system to respond”.
According to the readings, while user goal technique identifies all the potential users for the new systems by classifying them by functional role, organizational level, and specific goals, event decomposition technique is “more comprehensive and complete”.
Event decomposition identifies events that occur so then the system must react to the occurrence; it covers external events when an outside source takes an action (usually an actor), temporal events, when an occurrence has reached a point in time (consolidated monthly reports need to be published) and state event, a triggering event when an occurrence takes action (automation of orders or payments).
As a result of these techniques, event decomposition covers a wider spectrum with either automation or a single user at a bird’s eye view because it “helps your focus on a high-level view of the system rather than on the inner workings of the system” (p. 71).
By identifying these appropriate levels, it becomes more business oriented which it takes the interest of a company, the focus relies on elementary business processes (EBPs) “adds measurable business value and leaves the system and its data in a stable and consistent state” (p. 70).
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2011). Systems analysis and design in a Changing World. Cengage Learning.
Gathering detailed information on existing system requirements is an imperative part of the third core process of the System Development Life Cycle (SDLC), which is to “Discover and understand the details of the problem or the need (Burd et al., 2012, 36).
This is important because analyzing the past or current system requirements help create an improved new system with new requirements derived from the system currently being analyzed.
The quality of data gathered depends on the way they are gotten and following certain techniques can help get an accurate, thorough, and comprehensive information of the requirements. One technique to get thorough information is interviewing users and other stakeholders.
This technique is effective in gathering information on requirements especially if the interview tackles three important themes, namely, “What are the business operation and processes?”
“How should those operations be performed”, and “What information is needed to perform those operations?” (Burd et al., 2012, 50). Another technique to use is a questionnaire method. Questionnaires are good for large group of stakeholders and often give preliminary insights into the requirements.
Reviewing inputs, outputs, and procedures is another technique that can help understand the requirements of a system and can be gotten through either internal or external sources. Observing and documenting processes can greatly help gain understanding of existing systems because observing requires a person actually seeing the processes in person and bring new insights of requirements.
Another technique is to research vendor solutions. This helps gain accurate information on requirements because most often, vendor solutions are the latest and effective solutions if they are applicable to the business.
Lastly, collecting suggestions and comments is a technique that can serve as a helpful tool to verify if the information you gathered is correct and if there are anything that can be improved. Following these techniques will certainly help get an accurate, thorough, and comprehensive details of the requirements.
If you are not too aware of the problem domain, setting requirements can be quite challenging. One way to ensure that the requirements are correct is to make sure you are following the appropriate steps in the beginning. Following the pre-project activities are crucial, as this is where you “identify and document the specific business need as well as define a specific project objective.” (Satzinger et al., 2011, pg. 9)
Also creating a well-planned System vision document and Work breakdown structure are good tools to start your project off as these will help you describe the project, its capabilities, benefits, as well as the steps to how these will be accomplished.
References:
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2011). Systems analysis and design in a Changing World. Cengage Learning.
The first post:
As the brainstorming technique is defined as a technique to identify problem domain objects in which developers work with users in an open domain setting, it’s clear that this technique utilizes brainstorming and communication with users to best identify important things in the problem domains (Satzinger/Jackson/Burd, 2012, P93).
The noun technique identifies problem domain objects finding and classifying the nouns in a dialog or description (Satzinger/Jackson/Bird, 2012, P94). Both are relied upon techniques for identifying problem domain items.
The brainstorming technique appears to be the better, more comprehensive technique for identifying problem domain objects because it covers variety of “things” from tangible, to incidents, to roles played. The noun technique is limited to people, places, and things.
The Brainstorming technique would be most appropriate to use when there are plenty of users available to collaborate with and ask the appropriate questions to in order to uncover what’s involved with carrying out a use case.
The noun technique would be most appropriate to utilize when there are no users available to brainstorm with so that the analyst can systematically create a list to help them identify which things need to addressed to help identify a problem domain.
Between brainstorming and noun technique, I don’t believe one is better than the other because it depends on what the system is for and where in the life cycle it may be in. For example, in a business model that is broader, and mixes focuses on tangible items, roles played, organizational units and devices, sites and locations and broad spectrums of events, may be beneficial to begin the brainstorming technique.
While noun technique focuses on systematic applications and classifying each noun and then consolidating them into more important or critical point factors.
When one has actors or users to work with and a system may already be established, brainstorming may be more beneficial than noun because it uses users and analyst;
noun may be better when one might start an application and discuss possibilities with stakeholders on expansion or the improvements are solely on system already established and does not need, require, or have actors or users at their disposal and so it becomes a technical or mechanical approach.
I believe it is appropriate to use both techniques when you have both tangible things and you may want to expand on certain aspects of an area where it may not be fully developed or needs to be pivoted into a direction where it is all in an information system.
For example, Airbnb wants to expand their use case for renting cars now, for some users it is simply adding that service with their Airbnb while others who do not own homes but have vehicles and can give that service and as a result might need an associated account.