Systems analysis
A system is a group of artificial objects, devices, or an organization that forms a network for servicing a common purpose or distributing something through interconnecting and working together (Dickerson & Wilkinson, 2019). A system also includes procedures, methods, schemes, and principles that manages how something is organized or done. Das (2017) defines system analysis as the process in which the study of a procedure or business to identify its purpose and goals and come up with procedures and systems that will achieve their efficiency is done. The main purpose of conducting system analysis is to study the system or part of the system to identify its objectives. System analysis is a problem-solving technique that helps in ensuring that all components of a system work in a more efficient way to accomplish their purposes. System analysis help in specifying what the system will do. In the system analysis phase, requirement gathering is done, the business needs to be studied to increase the efficiency of business processes. This phase focused more on the system is meant to do while considering all stakeholders as sources of information that viable. In the system analysis, questions such as who will use the system, where will the system be used, when will the system be used and what will the system do are all answered. The current system is investigated, opportunities for improvements identified, and a concept of the new system is developed by the project team. The system analysis process has three steps, the first step is analysis strategy which is the process of carrying out research on the company under study and determining its operating environment to help in formulating a strategy through identification and evaluation of data relevancy to the company’s strategy and definition of the external and internal environments that should be analyzed. The strategic analysis involves five steps which are, knowing one’s goal, collecting and analyzing information, constructing a strategy, implementing the strategy, and finally controlling and evaluating. The second step in system analysis is requirement gathering which is the process of discovering and researching the requirement of the system under study from customers, users, and other stakeholders in form of technical, functional, and system requirements. There are different types of requirement gathering techniques with different ones focusing on communication. Some of the techniques used in requirement gathering include: interviews, questionnaires, experimentation, journals, and observations and they help in providing information that is important in understanding the system. The last step in system analysis is the development of a system proposal which is a document that states the objectives of the system to be developed, its success criteria, goals, and evaluations. A system proposal is presented in both written and a presentation format and it states that the proposing team possesses the skills required to deliver the system that has been proposed. The quality and credibility of the proposed system are also presented in the system proposal. In this document, the major focus is on the supermarket point of sale system.
Description of the setting
The system under study is the payment processing system that is used in supermarkets that involves people queuing to make payment after picking products from the shelves in the supermarkets. The system involves scanning each item’s bar code and obtaining its price which is recorder in the system and then payment can be made by the customer. The customers can choose to pay with different means such as using cash, credit cards, or other means. After the transaction has been completed, the customer is issued with a receipt as proof of ownership of the products. The system has a lot of challenges associated with it like long queues which may end up discouraging customers from buying and this makes the supermarket lose sales. The setting of this system is the supermarket and the actors are customers and sellers. The other components in this system include products, currency in the form of cash or credit cards.
Structure of the system
The system is a point of sale system which is installed on several computers with operators operating them. The system is composed of a bar code scanner for scanning bar codes on each item, a printer for printing receipts for each customer, clerks who record transaction details of every customer, computer where the systems are locally installed and a central database where all the transaction details and data is kept. The computer screens help in displaying the transaction details including the number of products, cost per item, and total costs. The computer screens also help show the methods of payment that the customer has used and after completion of the transaction, all these details are printed on a receipt which is issued to the customer for reference or returning defective products. Each product is embedded with a bar code which is in turn stored in the system database and when the product is scanned via the scanner, the product details in terms of name and price is displayed on the computer screen. This makes an easy recording of items in the system unlike manually entering the details to the computers.
Current operation processes
The current process stars with the customers entering the supermarket, picking shopping carts to help them carry their items. The customers move through the supermarket’s shelves picks their items of choice and heads to the counter to make payments. If there are people already being served, the customer queues and waits for them to be served so that they can enter into service. Once the customer is in the counter, each of their items’ bar code is scanned by the bar code scanners, the details of the items obtained which include prices and description, the quantity for each item is recorded and prices calculated. The total price is calculated and displayed on the computer screens which are shown to the customer. The customer then decides the payment method to use, either cash or credit card or any other card or means. With cash, the clerk takes the cash, processes the payment, and gives the customer their balance and receipts. The customers then take their items, receipts, and balance and exit the counter. With a credit card, the clerk swipes the customer’s card on card a card reader, the customer enters their pin, and then the transaction is completed by giving the customer their card back and a receipt of proof of transaction. The customer then can exit from the supermarket with their items through the exit point. The system has transaction recording capability with easy report generation since all the data is stored in a centralized database for easy record keeping and retrieval.
Approach, Elicitation, and collaboration
Elicitation comprises of critical and complex areas of knowledge and it is the main responsibility of a system analyst because it may bring a direct impact in terms of the success of a project and it involves the most different variables (Hanif, Sarwar, & Ayub, 2017). Elicitation helps the system analyst to come up with activities to obtain and confirm the results obtained. In the requirements elicitation of the point of sale supermarket system, different methods were employed to get information from users and other stakeholders. Some of the requirements elicitation methods are: conducting interviews, making observations, applying questionnaires, and using documented written materials. In conducting interviews, the customers entering the system were asked several questions on the challenges they face during their shopping. The customers can be interviewed before or after entering the supermarket. Some of the questions asked include the average waiting time when shopping, their favorite time for shopping, what they do not like on the current system, and what changes they would like to be made on the current system. Answers given by the interviewees were stored to be analyzed. Another elicitation method used was the system analyst was among the customers buying items from the supermarket and observe all the customer and clerk activities taking place in the supermarket. The average service time for a customer was recorded during peak and non-peak hours, the methods of payment used by most customers were also recorded and customer activities in terms of complaining or aborting shopping halfway due to long queues observed. This helps in acquiring first-hand information which helps design a system to solve all these problems. The use of questionnaires is also an important elicitation method that was used to get the requirements of the new system in which partially open-ended and partially closed questionnaires were used. Some of the closed-end questions include the payment method used in which the user was required to mark all means of payment they can use if they are satisfied with the current system and the changes they would want to be implemented on the system. Some of the open-ended questions on questionnaires include the views of customers on the current system, the functionality they would want to be incorporated in the new system, and their view on the impacts of the system to be developed.
Analysis
A user scenario-based approach is the best method for analyzing the data collected. Through observation, it was discovered that users get themselves in long queues during product purchases and this makes some of them postpone their shopping by returning the products to the shelves and exiting the supermarket. Generating use case scenarios helps in the identification of patterns and trends which will help in proper analysis. Several use cases were constructed with the first one being of an adult man who came into the supermarket picked several items from the shelves queued and waited for over half an hour and this made him exit leaving the items he had picked in the cart he had put them in. This shows that the system was making it difficult for some customers to shop due to a lot of waiting and queuing. Some customers ran out of patience and left their items to attend a more urgent thing. Also from interviews made on several customers, it was discovered that a big proportion of the interviewees complained about the long queues they had to make and wait for so long for them to be served. Some of the other requirements that the system to be designed should include are failure tolerant so as not to make customers be stranded when the system fails and they are required to wait or abort their purchasing. Also, the feedback provided on the system requirements was analyzed and compared against the business goals to see if the proposed requirements match the business objectives of the system.
Requirements
From the analysis done on the system requirements, a new system can be proposed to handle some of the challenges associated with the current system. The system should fulfill both functional and non-functional requirements for it to be a success. Some of the functional requirements include transaction and record-keeping functionality in which users can request reports which the system should generate and avail to them when they need them, allow transaction correction, adjustment and cancellation by enabling users cancel transactions in case they change their mind and edit a transaction before completing it. Another functional requirement is that the system should follow the business rules and not tamper with the current operation of the business. The system should also provide administrative powers to the system admins enabling them to control the system all over and make changes where possible. The other functional requirement is that the system should have authorization levels to help in maintaining data integrity, availability, and confidentiality. Authentication is also another functional requirement of the system developed in which each user will be authenticated to use the system to give an easy time when tracking activities taking place in the system. A good system interface and a great user experience are among the functional requirements of the system under study. Among other non-functional requirements of a system, system security is an important requirement. Another non-functional requirement of the system is reliability in which the system is supposed to be functional and available all the time with minimized failures.
Possible improvements to the current system
There are two ways of improving customers’ services in supermarkets. One of them is to improve the old system by introducing more counters to help serve the many customers that are made to wait for a long time in the queue and by introducing a way to have the customers queue according to the number of items they have to enable those with one or a few items to be served easily and faster than having to wait for so long in a queue with only one item. If improving the current system does not help, the best way to solve these customer complaints is by introducing an automated payments system in the supermarket and this will help solve several problems encountered with the current system such as long queues, having to carry credit cards every time during purchases and limitations of payments supported. The system will make it easier and faster for customers to make payments on their products with easy without much waits and struggles. This system will also prevent the delays encountered during the system failure of the current system. Automating payments will help supermarkets make a lot of sales due to reduced delays and quick services. Since a lot of people in today’s world own smartphones, the system will be a mobile-based application that will ease the process of payment for customers by enabling them to scan QR codes on items using their mobile device’s camera. In using this system, the current bar codes on items will be replaced by QR codes since it is easier to scan a QR code on a smartphone than a bar code that needs a bar code reader.
Examining how the proposed system might improve the business operations
The proposed system will be a mobile application with downloadable applications on both google play and app store. Customers will be required to have a smartphone with a working camera to be able to use the application. Users will be required to install the application onto their mobile devices and create accounts by providing their details in terms of name, date of birth, gender, and date of birth. Customers will be able to link their credit cards or other means of payments acceptable by supermarkets to be able to make purchases smoothly without any difficulty. The application will also provide a means through which users can deposit money into it to be able to make a quick transaction. They will also be required to set a security pin or biometric security which will protect their application from being used by other users. Every time users open the application, they will be required to verify their identity by entering their pin or biometric information. On the supermarket side, the bar codes on items will be replaced by QR codes containing the details of the products in terms of details and prices. The customers with the application can then scan the QR codes on the items and a list of items with their cost is generated. Customers can scan several items and the list of all items will be shown on the screen with the total cost also shown. Customers can delete and update the list of items provided on their mobile devices. After being satisfied with what is on the screen, the customers can then proceed to check out their items and make payment. They will be required to choose one of the methods they have embedded in their application to enter their pin and finish the transactions. Among the items shopped for are carrier bags which the customers will need to scan too and put their items into and proceed to exit. The data and payments made by the customer will be stored on the supermarket database for reference. The application also will provide customers with means of viewing their transaction reports by enabling them to request a report based on different filters. The application, however, will require the use of the internet for customers to be able to make complete transactions. For those with cash as their method of payment, the application will allow them to scan all their items and pack them into their carrier bags, go to the counter and present the amount of all items in the carrier bag according to the amount on the mobile screen, pay the cash to the supermarket clerks and mark their transaction as complete. The transaction number will be sent to both the mobile device and the supermarket main system via the internet to mark the transaction as complete. After a transaction has been marked as completed, all the items in the transaction are marked as sold and the data sent to a scanner at the supermarket exit. This will reduce the long queues encountered during the scanning of individual items over the counter by the supermarket clerks. At the exit, the scanner will scan all items and customers getting out of the supermarket confirming all the items getting out are marked as sold. In case the scanner encounters items getting out which has not been marked as sold, then an alarm should go off to notify the security that someone is getting away with an item they have not paid for and this will prevent theft of items and increase the accuracy of the system. By implementing this system, users will be encouraged to do the shopping because the process is easier and faster and this will increase the sales of the supermarket.
Requirement document
For the current system, a list of requirements are needed to be fulfilled for it to work properly, some of the basic requirements in this system include requirement 1 which is a functional requirement and it is users to be able to select a method of payment for their product in which users can choose credit cards, debit cards or other methods such as PayPal and any other money transfer means. Requirement 2 is a non-functional requirement which is the security of the system in making sure that only the owner makes purchases by requiring Personal Identification Number or bio-metric information before accessing the application. Requirement 3 is a functional requirement in which the application enables user request and get reports on their purchases by applying different filters such as the amount or a given period. Requirement 4 is a functional requirement which is authorization and authentication in which the overall administrator is given power over all other users.
Challenges faced during requirements and elicitation process
During the process of requirement elicitation, several challenges are encountered, some of the challenges include difficulties in understanding the complex and large system because the system involves several constraints such as security due to a large number of users and many functions to be implemented in the system. Users may give complex and very difficult requirements that are not easy to implement. Another challenge faced is stakeholders and customers not being clear on what they want. Some customers were not able to express on the functionalities they would like to be implemented on the system. This sometimes results from either being unsure of what they want or not being able to choose among the endless list of functionalities they would want to be embedded into the system. Stakeholders or customers may lack the clarity of what they want on the system due to them having a very basic idea about what they need but not have planned on the implementation part. Undefined system boundaries are also another challenge faced during requirement elicitation and this made some customers give functionalities that were outside the system boundaries. Customers were giving several unnecessary and unrelated functions of the system besides the most important ones and this results in large amounts of implementation costs and may make a system be declared as a failure due to exceeding the budget. Changing requirements is also one of the problems encountered during the elicitation process since customers could give certain functionalities they would want the system to have and change within minutes. This is a challenge because the interviewer has to get rid of the data provided and start afresh on the new requirements. This process is tiresome and time-consuming and may result in giving out the requirement that is not valuable to the system. Conflicting requirements is also another challenge that was encountered in which users were giving conflicting requirements. Each user was giving requirements according to their needs and some even gave conflicting requirements and this makes it difficult for a system analyst to determine which one to implement and which one to drop. Stakeholders also may end up suggesting two incompatible requirements making it a difficult task for the system analyst to implement both of them. Partitioning the system to reduce complexity is a challenge because it is a complex process that requires more teams to ensure the partitions do not overlap and they remain independent of each other throughout the process. Separate teams handle the different modules and this may be a bigger challenge in trying to make sure they do not conflict. Another challenge faced during this process is difficulty in identifying critical requirements because it is very important to identify the specific set of requirements that should be implemented at any cost. Determining the requirements to be prioritized over the others is difficult. The crucial requirements are needed to be implemented first before the others to minimize cost while maximizing the functionality of the system. Tracing and validating requirements is also a big challenge that is faced during this process of elicitation which involves cross-checking the list of requirements before starting the process of implementation. This process is very important which also includes carrying out backward and forward traceability by making sure all entity names are the same everywhere by putting in mind the entity spellings, case, and singularity. The other challenge faced during this elicitation process is resolving requirements that are to be determined in the future and the number of requirements of this nature should be kept as low as possible to help avoid conflicts and complexity of the system. Finally, the last challenge faced in this elicitation process was lack of proper documentation, budget constraints, and proper meeting time and it is a challenge because during requirement changing, no proper information passed, and also budget and time constraints are not handled systematically and carefully.
References
Das, J. C. (2017). Power system analysis: short-circuit load flow and harmonics (Vol. 1). CRC press.
Dickerson, C. E., Wilkinson, M. K., Hunsicker, E., Ji, S., Bernard, Y., & Denno, P. (2019). Using Model Theory for Architecture Definition in Complex System Design. arXiv preprint arXiv:1909.06809.
Hanif, M. K., Talib, M. R., Haq, N. U., Mansoor, A., Sarwar, M. U., & Ayub, N. (2017). A Collaborative Approach for Effective Requirement Elicitation in Oblivious Client Environment. International Journal of Advanced Computer Science And Applications, 8(6), 179-186.