In: Computer Science
Given the following mission statement:
. A group of system administrators must keep track of which computers are assigned to computer users in the community they support. Currently this is done by hand.. but this is tedious, error prone, and inconvenient. System administrators want to automate this task to ease their workload.
Product Vision. The Computer Assignment System (CAS) will keep track of computers, computer users, and assignments of computers to users; answer queries; and produce reports about users, computers, and assignments.
Project Scope. Developers in the same enterprise will implement CAS. CAS will be the simplest system meeting basic system administrator needs, developed by a small team in a short time.
Target Market. Only the system administrators will use CAS.
System Administrators, Software Developers, Computer Users, Accountants, and Managers.
Assumptions and Constraints:
CAS will be accessible over the Internet to authorized users.
Three people must develop CAS in three months or less.
CAS must require no more than one person-week per year for maintenance.
Business Requirements:
CAS must maintain the location, components, operational status, purchase date, and assignment of ever computer in the organization.
CAS must maintain the name, location, and title of every computer user in the organization.
CAS users must take no more than one minute per transaction, on average, to maintain this information.
CAS must answer queries about computers, users, and assignments.
CAS must provide data for quarterly reports sufficient for accountants to compute equipment depreciation in preparing tax returns.
Please answer the following question :
1/ What application domain questions need to be answered to
understand the CAS problem domain?
2/ What elicitation techniques would you use to gather needs and
desires for the CAS, and which stakeholders would you use them
on?
Solution:-
(1)
Computer Assignment System (CAS) to be designed to fulfill the needs of the system administrators. As there are large numbers of user in the community using the computers to perform their assignment. So first of all the CAS will be a centeralized appllication. The access perrmission will be given by the system administrators as there are many levels of the access to the CAS. As per given statement the CAS is a simplest system meeting basic system administrator needs, developed by a small team in a short time, so the development is not a big issue. Before start the development process the problem domain of the CAS is considered and defined formally.
The problem domain is the domain in which all CAS related consideretion nd queries will be taken. Simply the purpose of the CAS, Requirements of the system administrators, Uses, Design, Implementation related information is gathered. By defining the domain the purpose of CAS, system administrators needs, Working environment asn design is defined. The questions which are will be in consideretion are as follows-
1) What is the purpose to implement the CAS.
2) Benefits to the system administrators and organization of the newly designed CAS.
3) Who will administer the CAS.
4) What are different access permissions will be applied to the CAS.
5) What are the needs of the system administrators that will fulfilled by the CAS.
6) Drawback of the existing system and bebefits to use CAS in place of existing system.
7) What are the information managed by the CAS.
8) What support to users and system admininstrators CAS will provide.
9) What type of transactions performed by CAS.
10) What type of environment needed by CAS i.e. client-server, distributed or centralized.
11) What type of reports will be generated by CAS and what information and data will be processed.
12) How to monitor the users of CAS and their transactions.
13) How to perform maintainance of the CAS.
14) What type of queries serviced by the CAS.
These are the some important consideretions taken into account before starts the development process of the CAS. These questions are asked to the related peoples in the organizaion to find out the actual requirement and design methodology of CAS. These questions are belongs to the CAS somehow and the domain of CAS. So if the designers will find the answers of the above given questions then they can define and understand the CAS problem domain. By defining the CAS problem domain the designers can create the process and steps taken towards designing the CAS System, and the CAS problem domain is documented formally and designers can move to the design process.
(2)
As per the above process the needs and desires for the CAS are gathered to understand the problem domain of the CAS. These information and desires are gathered from the stakeholdrs and environmnet of the organization. There are many techiques used to gather needs and desires. By applying these techniques it is easy to gather the required informatios and effciently. The informations gathered should be accurate so the correct solution can be developed. So the efficient techniques are used to gather data and informations related CAS.
Before proceed it is must to decide from where these informations and desires can be gathered. The sources of the needs and desires are the stakeholders of the system to be designed. Now it is identified that who are the stakeholders of the system to be designed. The stakeholders are the people which are affected by the new designed system. The who people who will take part in the designing process directly or indirectly.
The stakeholders for the CAS system are -
1) The system administrators
2) The computer users and remote users in the community
3) Accountants and finanace department people in the organization
4) the managers which are responsible to run the organization operation
5) The team of designers
6) The people responsible for CAS maitainance
7) The software developers and
8) The organization directors.
After identifying the stakeholders the process to gather needs and desires for the CAS will be initiated. To start requirements gathering, various techniques are available. Every techniques comes with its own merits and demerits. And the diffrent techniques are used as per type of data to be gathered. Here to gather the needs and desires for the CAS, the designers can use some of the given techniques-
1) Brainstorming - It is utilized in requirements elicitation to gather good number of ideas from a group of people. Usually brainstorming is used in identifying all possible solutions to problems and simplifies the detail of opportunities.
2) Document Analysis - Document Analysis is an important gathering technique. Evaluating the documentation of a present system can assist when making AS-IS process documents and also when driving the gap analysis for scoping of the migration projects.
3) Interface Analysis - Interface for any software product will either be human or machine. Integration with external devices and systems is another interface. The user centric design approaches are quite effective to ensure that you make usable software.
4) Questionnare - This is technique of information gathering from people by the queationnares. The related peopl are given a questionnare about the new system to be designed and in the questionnare they will put their answers. By analyzing the questionnare the designers can identify the thoughts and new ideas of the stakeholders.
5) Interview - Interviews of users and stakeholders are important in creating wonderful software. Without knowing the expectations and goal of the stakeholders and users, you are highly unlikely to satiate them. You also have to understand the perspective of every interviewee, in order to properly address and weigh their inputs.
6) Observation - The observation covers the study of users in its natural habitat. By watching users, a process flow, pain points, awkward steps and opportunities can be determined by an analyst for improvement. Observation can either be passive or active.
7) Reverse Engineering - When a migration project is not having enough documentation of the current system, reverse engineering will determine what system does? It will not determine what the thing went wrong with the system and what a system must do?
So these are some techniques to gather needs and desires for the CAS which can be used by the designers on the stakeholders to gather the system requirements.