Case Study Of Coles Supermarket System Development
Question
Task:
Australian supermarket giant Coles has devised a scheme to encourage customer loyalty. To register
for the scheme, a customer must supply their name, address, and telephone number. Each registered customer is assigned a unique Customer Identification Number (CIN) which is attached to the customers’ FlyBus card. A customer can present this CIN to the checkout staff so that the value of a purchase is recorded. At the end of every year the supermarket intends to award surprise gifts to the three customers who spent the most money in the supermarket; it also intends to award a gold coin to every customer who spent more than $1000 during the year. The total against each CIN is reset on the first day of every year, when the supermarket is closed for the public holiday. You need to carry out the activities given below to complete the Assignment.
1. Go through the given Case Study carefully as a group.
2. Find the functional requirements of the case study.
3. Determine non-functional requirements based on real life scenarios or on assumptions your group makes.
4. Analyse the proposed system using a Context Diagram, Level 1 and Level 2 DFDs
5. Create a Data Dictionary for your DFD model.
6. Identify main tasks to develop a software solution to the problem. Assign durations and dependencies for the tasks. Draw a Gantt chart for developing a software solution.
7. Identify at least two suitable requirements verification and validation techniques for the above scenario. Briefly describe each of them.
Answer
Introduction
Businesses use different ways to encourage customer loyalty. Cole’s supermarket has come up with a system for the same that will be analyzed through various Coles supermarket system development phases.
The research paper explicates the aim, objectives and system requirement for the given system scenarios. Both the functional and non-functional requirements are discussed along with different requirements verification and validation techniques. Various diagrams like the context diagram, data flow diagram and Gantt charts have been considered to understand the process and working of the Coles supermarket system development.
Aim
This research aims to identify functional and non-functional requirements for the proposed system, analyse it and identify verification and validations techniques for the requirements. [1]
Objective
The objective of this research is:
- To determine Coles supermarket system development requirements through requirements elicitation and workshops
- To design processes for verification and validation of system requirements
- To use appropriate modelling techniques to specify system requirements[2]
What are the functional requirements considered during Coles supermarket system development process?
Functional requirements determine the behaviour and functionality of the system [2].
The functional requirements for the proposed Coles supermarket system development to encourage customer loyalty at the company are as follows:
Customer Registration
This can be done only once using the customer's name, contact information and address. A unique CIN will be provided that will be stored at the central server so that the staff can easily access the data from anywhere. [4]
Customer records
The records will include customer information and their CIN that is linked to their Flybuys card. It will also include records of the rewards collected by each customer
Record storage reset
The documents stored should be valid only for a year. Every year on the first day the documents should be cleared.
Customer Validity
The customer should be given a validity period for the CIN number for a certain period, after which the amount becomes invalid. Also, the customers should use the card frequently like once a week or five times a month to keep it active. This will ensure customer loyalty.
Spends update
On the registered number of the customers, there should be updates of their total spends at Coles and the total reward points collected.
Redeeming rewards
The rewards collected will be stored in the Flybuys card provided to the customers when they first register to the service. This card can be used to redeem their reward points.
Monthly High Spenders
The staff should have information about the monthly top spending customers. The top three customers can be displayed on the screens at the supermarket every month end except for the last month of the year.
Non-Functional Requirements
Non-functional requirements for the Coles supermarket system development define how the system functions as a whole. There is no specific part of the system that is tested. Instead, the whole system is tested for its functionality. Therefore these non-functional requirements need to be met. The non-functional requirements for the proposed method to encourage customer loyalty at the Coles supermarket are as follows:
Authentication
The customer ID and the names of the customers should be verified for authentication of information when the customer first registers. They should be asked for an ID proof that will be stored in the system along with all the information
Capacity for storage
The storage capacity of the servers should be huge so that they can store all the information of spends and customers without any glitch.
Data Security
The data should be stored using a multi-level encryption and all the systems used should be password protected that will be changed every month to keep the data secure.
Easy to manage
The system should be easy to understand and operate by the staff so that there won't be any delay or hold up when a new staff member is accessing the system. The new team can access the order only after a basic training is provided.
Data Backup
Even if the system clears data and the beginning of every year, the information of all the years must be backed up on a cloud server so that reports can be drawn out from the previous years in case they are required to plan future business plans.
Analysis of the proposed system
Analysis of the proposed Coles supermarket system development is done using various methods like the context diagram, DFD and Gantt chart [3].
Context Diagram
A context diagram is used to define the boundary of the Coles supermarket system development. It represents all the entities with an order. This diagram is used to focus the attention of the manager on the external objects that affect the system. A context diagram is valuable to chart out the system requirements functional and non- technical requirements that will aid the Coles supermarket system development. A system context diagram is created at the beginning of the planning phase to accurately understand the scope of the system under investigation and review. Context diagrams are to be made using simple languages so that everyone can understand it. Every person associated with the project views the context diagram and therefore they need to be written a language everyone can comprehend. Therefore a context diagram is an important document that is submitted along with the requirements document. [4]
Data Flow Diagram
The process of the Coles supermarket system development is represented using a data flow diagram. Also known as the DFD, the data flow diagram provides necessary information about the inputs, outputs and processes of every entity that is associated with the system. Every data flow diagram should have a source or destination known as the endpoints. Every process can be divided into subprocesses, and every sub process can have a data flow diagram to understand the process in a better and simpler way. There are four components to a DFD diagram:
- Process
- Data Flow
- Warehouse
- Terminators
- Process: Processes have an input and an output. Every process can be described by either using a word or a short sentence. The symbol used can be a circle, oval or a rectangle.
- Data flow: It shows a transfer of data or material from one process to another. The symbol used for the data flow is an arrow. The arrow is used to indicate the direction of the flow of information.
- Warehouse: A database, server or a file I called a warehouse in the DFD diagram. The readings of the data can be expressed using the flow of data. The symbol used to represent a warehouse are two horizontal lines.
- Terminators: As the names suggest, a terminator is an external entity that does not belong to the system. Instead, it is an outer part of the operation and communicates from the outside.
A DFD diagram has different levels based on the processes and sub processes that are included in the description of Coles supermarket system development process.
Context diagram
Level-0 diagram
Level-1 diagram
Data dictionary
- Customer = customerID + firstName + lastName + address + phoneNo
Name |
Data Type |
Format |
Key |
customerID |
INTEGER (9) |
1234 |
Primary Key |
firstName |
STRING (30) |
Robert |
|
lastName |
STRING (30) |
Williams |
|
Address |
STRING(50) |
12/1 North Way |
|
phoneNo |
STRING(6) |
345678 |
- RoyaltyPoints = royaltyID + customerID
Name |
Data Type |
Format |
Key |
royaltyID |
INTEGER (9) |
1234 |
Primary Key |
customerID |
INTEGER (9) |
1112 |
Foreign Key |
- Purchase = purchaseID + amount + customerID + dateOfPurchase
Name |
Data Type |
Format |
Key |
purchaseID |
INTEGER (9) |
1234 |
Primary Key |
amount |
INTEGER (9) |
$1234 |
|
customerID |
INTEGER (9) |
1112 |
Foreign Key |
dateOfPurchase |
DATE |
24-04-2019 |
Gantt chart
A Gantt chart is a bar graph that is used to plan Coles supermarket system development effectively. This chart represents a schedule for the entire process right from the start of the planning face up to the implementation of the final system. Every phase of the Coles supermarket system development and its sub-phases are mentioned in the chart along with the time required for each process either in days or hours depending on the size of the system. A Gantt chart is used to create a precise plan that can be understood simply by looking at it. The manager will be able to keep track of the process thoroughly and realise what method can be affected in case there was a delay is any one part of the process. It also lets the manager and the planning team plan a schedule so that the delays can be managed well without affecting the final delivery date. [6]
The above Gantt chart shows a tentative planning schedule for the system development at Coles supermarket, Australia. If the Coles supermarket system development phase begins on 6th May 2019, it will take 76 days to complete the development process. The last date for the Coles supermarket system development will be 19th August 2019. This schedule has been created considering there will be no delays or risks taking place during the Coles supermarket system development.
Requirements Verification and Validation Techniques
Before understanding the verification and validation techniques that can be used for checking the requirements of the system, it is essential first to understand the basic difference between the two.
Verification, by definition, means to understand the product selected has been built correctly. It checks that very process followed is right and will help in developing the product successfully. Requirements verification can be understood by asking the question ‘Is the product being developed correctly?' [6]
Validation in a software engineering aspect is done to check if the correct product is being built. It is used to validate if the product is built just like what the stakeholders want it to be. Validation helps the keep the team on track while the system or the product is being developed. Requirements validation can be understood by asking a simple question, ‘Is the correct product or system being developed?'
There are different techniques to verify and validate requirements. Two of them will be discussed in this research.
- Prototyping
- Test case generation
1.Prototyping: A prototype is creating a small model of the actual system using the specified functional and non-functional requirements. This prototype basis the Coles supermarket system development process is then tested by the software testing team and the end users. If the end users approve the product prototype, the system development begins. This method allows the team to manage the development process and understand the basic working of the system. [3]
Prototyping also helps the team know if any missing requirements need to be added in system design or if there are requirements that are not required for the system. This helps the planning team carefully chart the plan for the actual system development. The work becomes more comfortable as the team has already created the prototype; the final product can be made quickly. Also, the problems faced during prototyping will not be encountered during the last system development.
In short, prototyping involves creating a derivative model of the actual system using the same development phases, testing the order using the test cases designed for real system and allowing users to use the system to comprehend the basic working of the actual policy and understand the strengths and limitations of the system. Based on this prototype, the approval of the real system depends.
2.Test case generation: The Coles supermarket system development requirements are documented in a specific format. These requirement documents are studied and analysed by the testing team and depending on them the test cases are generated. Generation of these test cases helps to understand if the requirements are correct or are there anything that does not help in test case generation. If there is an issue while creating a test case according to the conditions specified, it means there is an issue with the requirements. Test team then informs the system development team about the subject by creating a report and then pinpointing the areas due to which the question was generated. This helps the development team understand the problems and review the requirements once again. After the necessary changes are made in the requirements, the document is still sent to the test team. Only once both the Coles supermarket system development and testing teams are sure about the conditions that the design and development of the system begin. [5]
Conclusion
Customer loyalty is an essential motivator for any business organization. To encourage business loyalty at the Coles Supermarket in Australia, their team has come up with a system that offers rewards to the most spending customers of the market in the year. This system will help the customers create a CIN or the customer identification number and use a flybuys card to help the customer collect rewards point after every purchase. This research on Coles supermarket system development was done to understand the functional and non-functional requirements for the system. The study also discussed some methods for requirements verification and validation like prototyping and test case generation. Various diagrams were used to understand the process of the proposed system.
References
[1] |
M. N. B. a. J.-M. B. Ahmad, "Modeling and verification of functional and non-functional requirements of ambient self-adaptive systems," Journal of Systems and Software 107, pp. 50-70, 2015. |
[2] |
D. a. T. C. Jones, "Method Verification Requirements for an Advanced Imaging System for Microbial Plate Count Enumeration," PDA journal of pharmaceutical science and technology 72.2, pp. 199-212, 2018. |
[3] |
M. a. D. K. Srivastava, "Exploring the link between customer experience–loyalty–consumer spend," Journal of Retailing and Consumer Services, no. 31, pp. 277-286, 2016. |
[4] |
P. R. e. a. Anish, "What you ask is what you get: understanding architecturally significant functional requirements," in IEEE 23rd International Requirements Engineering Conference, Coles supermarket system development 2015. |
[5] |
B. e. a. Camburn, "Design prototyping methods: state of the art in strategies, techniques, and guidelines," Design Science 3, 2017. |
[6] |
P. M. J. J. a. J. J. Jacob, "An Analytical approach on DFD to UML model transformation techniques.," in 2016 International Conference on Information Science, 2016. |
[7] |
G. e. a. Gay, "The risks of coverage-directed test case generation," IEEE Transactions on Software Engineering 41.8, pp. 803-819, 2015. |
[8] |
H. Y. C. W. a. N. Z. Ong, "Integrated earned value Gantt chart (EV-Gantt) tool for project portfolio planning and monitoring optimization," Engineering Management Journal 28.1, pp. 39-53, 2016. |
[9] |
J. C. Das, "Power system analysis: short-circuit load flow and harmonics," CRC press, 2016. |
[10] |
A. I. Jaffee, "Customer Loyalty System and Method". The United States Patent 14/535, 07 05 2015. |