BACS2163 Software Engineering Assignment G1
BACS2163 Software Engineering Assignment G1
Programme: RSD(Group:4)
Assignment
1
Table of Contents
Table of Contents
Organization Background
Requirement gathering techniques
Survey (for customers and users)
Interview (for staff)
Problems of existing system
Software quality attributes of the project
Software process model
Project planning schedule
System requirements
Viewpoint-oriented analysis
References
2
KK MART
Organization Background
KK Mart is a famous and more convenient retail chain that has achieved more significant
reputation and popularity in recent years in Malaysia.KK Mart was founded in 2001, and the
founder is Datuk Seri Dr. KK Chai.Known for its commitment to delivering high-quality
products and outstanding customer service. Nowadays,KK Mart has become a preferred grocery
store or retail store for people who are looking for the daily needs and other items available in
the KK Mart.
Over time,due to its commitment to satisfying customer needs and always adjusting to
shifting market trends, KK Mart has experienced significant growth and expansion, acquiring a
good reputation as a more reliable brand in the retail industry.The major reasons to helping and
contributing to KK Mart’s be a success retail store this is because its wide variety of products
and service.The store provides a overall and a various selection of products, including household
items,health and beauty,electronics,food and beverage, pet food and more.So that the KK Mart
provide variety inventory in order to ensures that customer can discover and find everything they
need easily and conveniently under the retail store.
In order to ensure that customers receive dependable and authentic goods, the company
carefully selects its suppliers and collaborates with reputable companies. Because of its emphasis
on quality, KK Mart gained a following of devoted customers and established a solid reputation
in the industry.Beside that,to provide a variety of products, KK Mart places a high priority on
providing outstanding and good customer service.All the staff at KK Mart are pleasant ,friendly
in order ready be responsible to help the customers to response their inquiries and shopping
requirement.The KK Mart company major focus on to make customers feel more convenient
and satisfied by providing an affordable and convenient shopping experience.
3
Furthermore,KK MART COMPANY also provide a online shopping application platform
for the customers to shop anytime and anywhere while using their mobile device.So
that ,customers are more convenient and save time this is because in online shopping platforms
like KK MART mobile application commonly provide a wide range of the variety product , and
enabling customers a choice of a variety of selection and categories that might not be available at
local retail store.Last,KK online shopping mobile application is provide convenience and many
benefit to the customers for improve the customers shopping experience.
Overall, KK Mart is a well-known retail company known for its high-quality goods,
varied selection, and outstanding customer support. KK Mart has established itself as an
exceptional choice for people searching for a reliable and convenient shopping experience
because of its strong presence and dedication to fulfilling consumer needs.
4
Requirement gathering techniques
After a brief discussion with team members,we finally came up with two gathering
techniques that can help us to gather users' requirements as well as identify the problem of the
existing system.
The first gathering technique is survey.Though this method,we can clarify the user’s
requirement and identify the problem of the existing system.Create a simple design and
appropriate users survey to collect more useful and more improvement of the feedback from a
wide range of users within the KK MART system.First,we can focused on customers and
users,we should create two different survey separately for customers and users.The customers
and users is beneficial because these different two have some different viewpoint and
experiences with our problem and product of the system .Customizing the surveys to customers
group and users group in order to gather more information and relevant feedback,allowing for
deeper understanding of their distinctive needs and expectations.
Second,we have to determine the number of users and customers to enable them to participate
in the survey.Basically ,we can choose number of users 20 people to participate in the survey
regarding relevant questions for example user experience and usability,functionality and
features,performance and technical issues and the suggestions for improvement.in this CRM
system.On the other hand.the customers survey we can select number of customers 20 people to
allow take the survey,all of the survey question is relevant to based on customer
experience,product and service satisfaction,communication and responsiveness for the CRM
system as well.Next,we can choose a suitable or nearby location where we can lets the customers
and users to take approximately 5-15 minutes to answer and complete the survey.When we can
choose to customers and users to participate in the survey during public holiday or rest day and
offer prizes to the participants,it’s important to for attracting more customers and users to
participate in the survey in order to collect the insightful feedback and suggestions by the
customers and users in the CRM system.All of the feedback gather together from customers and
5
users that improvement and suggestion for the CRM system can become more effective and
efficient of usability and compatibility.
Here are some examples of the survey questions that utilize the 5W method:
a)
Who: Users of the KK Mart app
What: User feedback and experiences with the KK Mart app
When: After users use the app
Where: Inside the KK Mart app or through emails sent to app users
Why: To gather informations for app improvements and user satisfaction
1. How often do you use the KK Mart mobile app for your shopping needs?
2. What is the primary reason for using the KK Mart app instead of shopping in-store?
3. How easy is it to browse and find products on the KK Mart app?
4. How satisfied are you with the overall performance and speed of the KK Mart app?
5. Have you encountered any technical problems or errors while using the KK Mart app?
6. Which KK Mart app features do you think are the most useful?
7. Which features of the KK Mart app do you find most valuable?
8. How likely are you to recommend the KK Mart app to friends or family members?
9. What improvements or additional features would you like to see in the KK Mart app?
10. Do you think the application's user interface is visually attractive and straightforward?
10.How satisfied are you with the in-app customer support and assistance?
6
Interview (for staff)
Interviews are one of the simplest yet most effective methods for gathering requirements. First of
all , we need to identify who the stakeholders are . The company that we chose is KK mart .
Hence , the stakeholders that we focused on are staff. For staff , we can interview the staff that
are key personnel including sales representatives , customer support agents , store managers and
IT personnel. That is because they are the ones who will interact with the CRM system on a
regular basis and also understand the customer’s needs and they can provide us with more
insights into practical usability and the functions that they require.
Then, we need to determine the number of interviews. We will conduct enough interviews to get
a range of viewpoints , without overwhelming the team . For our project ,we will consider
conducting around 7 to 12 interviews to ensure that user groups and technical stakeholders are
represented.Beside that, we also need to choose suitable and comfortable interview locations .
We will conduct one-to-one interviews whenever possible. We can go to one of their locations to
see how they do business and interact with customers. We also can use video conferencing to
conduct remote interviews with stakeholders from different locations if one-to-one interviews are
not feasible. Before we conduct interviews , we need to prepare interview questions . We will
ask several questions about the functional and technical components of the KK Mart- specific
CRM system development and improvement . We also need to adapt the questions to each
stakeholder's role and responsibilities.
Here are some examples of the interview questions that utilize the 5W method:
b)
Who: KK Mart staff members
What: Feedback and opinion regarding the KK Mart mobile application
When: During or after the staff members have familiarized themselves with the app
Where: In-person or group interviews with staff members
Why: To gather feedback for potential improvements
7
1. Which KK Mart application features do you think will help users have the best shopping
experiences?
2. Are there any ways in which you have found the KK Mart application challenging or difficult
to use in your work?
3. How, in your opinion, does the app help KK Mart achieve its objective of providing excellent
customer service?
4. How do you handle customer inquiries or concerns about the KK Mart app? Are there any
common problems?
5. What is the most common feedback or suggestion you have received from customers about the
KK Mart app?
6. Have you attended any training or seminars related to the effective use of the KK Mart app?
How has the training helped you in your work?
7. Do you have any comments or suggestions to improve the functionality or user interface of the
KK Mart application?
8. As a KK Mart employee, how do you encourage customers to use the KK Mart app?
9. Do you think the KK Mart application is user-friendly and easy to browse for customers?
10. How would you describe the main purpose of the KK Mart app in assisting customers?
Last but not least , after each interview, we need to document the interview findings.We should
review and summarize our notes and also need to arrange the technical requirements in a
structured manner to ensure clarity and ease of reference.
8
Problems of existing system
1. Lack of integration
The CRM system of KK Mart doesn't seamlessly connect with other systems
platforms,such as customer support service,marketing automation tools. This will cause
issues of integration and can result in incomplete customer profiles.
2. Outdated technology
The existing KK Mart system may be based on outdated technology and software that has
turned outdated over time. This can cause a variety of difficulties, such as restricted
functionality, poor performance, and compatibility issues with newer hardware or
software components. Due to a lack of experienced personnel who can handle existing
systems, outdated technology may limit the development of new features, cause frequent
system crashes, and raise maintenance expenses.
9
validation checks, or poor data governance practices. Poor data quality can have an
influence on decision-making, inventory management, and customer service, as well as
make effective data analysis and reporting difficult.
10
Software quality attributes of the project
1. Reliability
Reliability guarantees that the system functions without unexpected issues or downtime,
minimizing business interruptions. We can use test automation to find and repair errors
early in the development process, which leads to a more reliable software product.
Besides that, we can create strong error-handling systems to handle unexpected events
and prevent crashes or data damage.We can also perform load testing to examine the
software's performance under stress and to detect possible problems. The system should
be highly reliable in which the system’s downtime should not be more than 0.05%.
2. Security
Security is important for safeguarding sensitive information and preventing unauthorized
access. This guarantees that consumer information, financial transactions, and business
records are kept private and protected from potential cyber attacks. One of the ways to
ensure that data and software are handled responsibly and securely is to provide staff with
staff training. Furthermore, we can encrypt sensitive data, such as client information and
financial transactions, using encryption methods.
3. Usability
Usability considers how simple and straightforward the KK Mart system is for its users,
which include shop personnel and consumers. A usable system will have an intuitive
interface, simple navigation, and a short learning curve. Employees can complete jobs
quickly, and consumers can explore items and make transactions easily, resulting in a
great user experience. Other than that, we can collect user feedback to identify usability
issues and frequently enhance the software's interface and procedures.
4. Efficiency
The KK Mart system's efficiency refers to its ability to complete tasks quickly and with
low resource use.The system should respond quickly to user actions such browsing for
items, processing payments, and updating stocks. Response times that are shorter
improve customer satisfaction as well as performance. The way to shorten the response
11
times is to optimize the database . One of the ways that we can improve the efficiency
for KK mart’s software was to use data indexing.We can implement data indexing on
critical database fields used for inventory management including product names, barcode
numbers,quantity , etc. Hence , it can speed up search , and faster finding products.
5. Maintainability
Maintainability refers to design that allows the maintenance programmer to fully
understand the designer's goal. For KK Mart, it refers to having well-structured and
documented code, which allows developers to implement new features, repair errors, and
react to changing business demands more easily. A maintainable system saves time and
effort on future upgrades and changes. We can improve maintainability by creating the
programme using a modular and well-abstracted design to make future updates and
extensions easily. It is easier to identify and resolve errors or bugs when modules are
isolated.
12
Software process model
The suggested model that we choose for KK mart is incremental process model.The
incremental process model is a software development methodology that divides a project into
smaller increments or iterations. Each increment represents a subset of functionality, and each
iteration adds new functionality. The justification that we choose incremental process as our
software process model is that we can improve customer engagement . The CRM system at KK
mart is aimed to enhance customer interaction and satisfaction. Hence, the incremental model
makes it easier for stakeholders to communicate often and actively take part in the development
process.This guarantees that the CRM system can effectively satisfy their changing needs and
expectations.
Next , the incremental models enable early delivery of core functionalities. A basic
working CRM system can be given rapidly by breaking the development up into smaller parts,
enabling KK Mart to start using important features sooner. In managing customers connections,
this can provide quick advantages and a competitive advantage. Additionally, the incremental
model also provides flexibility and adaptability to changing the requirements. The iterative
structure of the approach enables us to incorporate new requirements when the KK Mart’s
business requirements change, ensuring that the CRM system remains current and useful.
Therefore, the incremental model is suitable for the size and complexity of the CRM
project at KK mart . It might not be feasible to break the project up into manageable parts if it is
overly complicated or huge, in which case another development model would be more
suitable.Then, our project team in charge of the creating the CRM system has access to the
materials , know-how , and equipment required to successfully implement the incremental
model. For the development process to be carried out effectively,adequate resources including
financial,human , and technical resources , are essential.
13
In this diagram,we can see that the diagram of the incremental model shows there are
three increment module that we decided and four major phrases such as requirement
gathering,design and development ,coding and testing and implementation because in
incremental model the whole requirement is divided into various builds in the diagram.The
number of modules or phases in the incremental process is actually depend on factors such the
project's size and complexity, the number of anticipated iterations, and the type of software that
is being developed.
First of all,we required first of the four phases for developing the CRM system by using
the increment model which is requirement gathering.Since we have a clear understanding of
the existing system requirement before utilizing this incremental model.After than,all the
requirements of the users and customers must to gathered through requirements gathering
technique which is conducting interview and survey that we mentioned before. We distributed
the users and customers into two groups to conduct the requirement gathering technique which is
to conduct survey,so we required the number of users and customers is 40 to participate in
survey,and then we required number of staff is around 7-12 that are key personnel including
sales representatives , customer support agents , store managers and IT personnel.However, We
required 3 requirement analyst professionals who have expertise gathering, analyzing, and
documenting the requirements for a software development project to be gathered and update the
progress to the project manager who is responsible for monitoring the whole project.Therefore,it
14
takes 2 day for conduct interview and survey to complete this requirement gathering phase.The
resource is required in this phrase included analysis and documentation application: Microsoft
Word(documentation),SonarQube(analysis),Microsoft Excel(analysis) in order to meet the
gathering requirements in the project.
15
Increment 1- Order Module Design and Development
Firstly , we will review the specific requirements of the
order module to ensure that we have a clear understanding
of all the features and functionalities that will be used.
First,we will start the detailed design of the order module
including intuitive user interface(UI) design,data model
design,functionality design and defining the overall
system architecture of the CRM system.Next ,is database
design. We will redesign the database schema to store
information related to orders.The information is customer
details, products , order status , and payment details.It will
take 10 days to complete this design phase.
Testing
Secondly,this phase to clearly define the objective of
testing for the order module.This includes verifying that
16
users and customers can place order,view order history
and perform feature action.We will distribute different
types of testing including unit testing,integration
testing,functional testing.On this order module,testing
phase enable to allow testing each part of the component
or function is it working efficiently or expected and
performs correctly according to requirement.For this
development phase,it will undergo a comprehensive
testing phase that will take 9 days.
Implementation
Lastly,this phase is ready to deploy the functionalities
CRM system for the order module based on the system
that has been tested and has passed the testing phase.For
the implementation,we should implement the database
interaction that interacts with the database to store,retrieve
and update order -related data.This phase also implement
including users interface(UI) implementation that is for UI
component that users will interact with when placing
orders,error handling and validation.Deploy the new CRM
system for further user testing and make it available for
user acceptance testing(UAT).Examine the functionalist
and performance of the order in CRM system For this
phase,it will undergo comprehensive implementation
phase that will take 9 days.
17
For the second increment,based on the requirement
gathering evolving requirement,
we will review the specific requirements of the increment
2 for payment module
to ensure that we have a clear understanding of what
needs to be implemented.We will make new enhancement
and new feature on this CRM system.The new features
might include additional payment method,improve user
interface(UI) design,security measures design,error
handling and recovery feature.We will design the CRM
system on this payment module that show how the users
will interact with the new payment functionally and also
ensure the ongoing security of sensitive payment
information.It will take 9 days to complete the design
phase.
18
development phase.
Testing
Secondly,this phase to clearly define the objective of
testing for the increment 2 payment module.We'll be
testing the new features and enhancements for the
payment module in the CRM system.There are three type
of testing need to be tested including functional testing to
verify that the new payment features and enhancement
work as intended,integration testing is to ensure that the
new functionalities integrate seamlessly with the CRM
system.The next of the testing is regression testing is to
make sure that non negatively impact functionalities
happen in this CRM system. For this phase,it will take 6
days to complete the testing phase.
Implementation
Lastly,this phase is ready to deploy the functionalities
CRM system for the payment module based on the system
that has been tested and has passed the testing phase.For
this implementation phase,we enable feature
implementation that provide the users preference of
multiple payment methods,in order to enhance the
payment module functionality.After that,we make the
component to seamlessly integrate with the new CRM
system for the payment processing flow.Last,we make
sure that everything has been tested and non-error event
occurs,after deploy the new CRM system for further user
19
testing and make it available for user acceptance
testing(UAT).For this phase,it will take 6 days to
complete the implementation phase.
20
features in order for administrator enables to generate and
analyze relevant data..It will undergo a comprehensive
development phase that will take 21 days.
Testing
Secondly,this phase to clearly define the objective of
testing for the last increment of the incremental model for
the admin management module in the CRM system,we
mainly focus on this module is thoroughly tested for
every functionality,integration,performance and usability
within the CRM system.For this testing phase, we
required to testing overall performance and functionalities
of the CRM system.In this phase,there are some testing
that we shall be tested including functional testing,unit
testing,integration testing,end-to-end testing,performance
testing,security testing,regression testing and the last
testing which is data integrity testing.It will undergo a
comprehensive testing phase that will take 9 days.
Implementation
21
CRM system for the admin management module based on
the system that has been tested and has passed the testing
phase.We will start to implement the component
integration.We enable implement the data handling
component for this admin management module.Creating
the relevant tables or data structures, establishing database
connections, and carrying out CRUD (Create, Read,
Update, Delete) actions for the administrative data are all
required.Upgrade the security measures in order to protect
the major sensitive data and maintain system security.For
this phase,admin management module also includes
implementing the admin management,access
control,administrative workflows and some functionalities
that administrative can use.We also will examine the
functionalities and performance of the overall CRM
system.It will undergo a comprehensive implementation
phase that will take 9 days.
22
Project planning schedule
23
System requirements
Functional requirements
No. Requirement
1 Module : Order
1.1. The system shall allow customer to product searching
1.2. The system shall allow customer to add products to shopping cart
1.3. The system shall allow customer to track products status
1.4. The system shall allow customer to provide review
1.5. The system shall allow customer to provide rating
1.6. The system shall interact with the inventory system to ensure that ordered
items are in stock.
1.7. The system shall allow customers the option to cancel orders within 24 hours.
2 Module : Payment
2.1. The system shall support multiple payment methods including credit cards ,
debit cards, E-wallet , and online banking.
2.2. The system shall allow customers to receive confirmation messages after
successfully making payment.
2.3. The system shall allow customer to view payment status and payment details
2.4. The system shall allow customer to receive receipt
2.5. The system shall allow customers to review past payments.
24
3.6. The system shall allow admin to add content to the system
3.7. The system shall allow admin to edit content on the system
3.8. The system shall allow admin to remove content from the system
3.9. The system provide secure authentication and role-based access control for
administrators
3.10. The system should provide tools for performing regular data backups.
25
5. Performances The system should perform functions
within 1 second response time.
2. Organization Requirement
3. External Requirement
26
3. Legislative The system should comply with consumer
protection laws to ensure fair business practices,
accurate pricing, and proper handling of returns
and refunds.
27
References
28
29