SDLC
SDLC
SOFTWARE ENGINEERING.
S.Piravaksan
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
Ms.Thanusha
Assessor Internal Verifier
Unit 7 – Software Development Lifecycles
Unit(s)
Internal Verifier
Date
signature
Programme Leader
Date
signature (if required)
Assignment Feedback Form
Student Name/ID Sivaneswaran Piravaksan/E187238
Resubmission Feedback:
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades
decisions have been agreed at the assessment board.
Assignment Feedback
Action Plan
Summative feedback
1. A Cover page or title page – You should always attach a title page to your assignment. Use previous
page as your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom, right margins and 1.25” for the left margin of each page.
1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No, and
Page Number on each page. This is useful if individual sheets become detached for any reason.
5. Use word processing application spell check and grammar check function to help editing your
assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the compulsory
information. eg: Figures, tables of comparison etc. Adding text boxes in the body except for the
before mentioned compulsory information will result in rejection of your work.
2. Carefully check the hand in date and the instructions given in the assignment. Late submissions
will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness, you
may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade.
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then
be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation and
a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
Student Declaration
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as
my own without attributing the sources in the correct form. I further understand what it means to copy
another’s work.
Submission format
The submission should be in the form of an individual report written in a concise, formal business
style using single spacing (refer to the assignment guidelines for more details). You are required to
make use of headings, paragraphs, and subsections as appropriate, and all work must be supported
with research and referenced using Harvard referencing system. Please provide in-text citation and
a list of references using Harvard referencing system.
Section A
Case 1: In the wildlife ministry of Sri Lanka intend to develop a wildlife safari system which links
all the details of sanctuaries, wetland, and national parks across Sri Lanka. Through this the
government wants to track all the details of safari drivers and to count local and foreign visitors
entering these premises. The IT department of wildlife ministry have little experience on
developing this kind of system and they have two years to complete this project.
Case 2: “ChangeU” salon needs to have a system to track their bookings and they expect to
provide better customer service through the system. This is not incredibly challenging, and the
development team also has some early experience of this kind of a project. And the main
requirement of the client is to get a high-quality product without considering the budget and
time constraints.
Activity 1
Describe two sequential models and two iterative models you have learned which can be used
to design the systems explained in the 2 given cases. Explain how the risk is managed in each
software lifecycle model identified. Pick one case out of two and select the most suitable SDLC
model along with a discussion elaborating the reasons to select the particular SDLC model.
Which system out of the given two is most suitable to be developed using the waterfall model?
Assess the merits of applying the waterfall model to the system chosen by you.
Section B
Assume yourself as a system analyst assign to analyse and design a software system for an
organization of your choice. Investigate the business and system requirements using appropriate
tools/ techniques and develop the system design with the findings.
Activity 2
Explain and discuss the purpose and the components of the feasibility report that you have to
develop in order to check the feasibility of the chosen system. Assess the impact of different
feasibility criteria included in your report to investigate the software system.
Suggest , describe and compare two technical solutions for the proposed system and pick the
most suitable one with the justification for the selection.
Activity 3
Undertake the system investigation to identify business and system requirements using
appropriate investigation tools/ techniques and develop the software system specification for
the chosen system.
Evaluate the effectiveness of the system investigation process chosen by you to fulfil the
requirements of the users and analyse the effectiveness of the SDLC followed in order to trace
the system requirements. Discuss two approaches that can be used to improve the quality of
the system in the future.
Activity 4
Analyse the software behavioural tools and techniques that could be used for the proposed
system and discuss suing examples, the most suitable behavioural techniques that could be used
for your system.
Differentiate the finite state machine (FSM) and extended FSM providing an application for each
. Justify how the data driven software can improve the reliability and the effectiveness of the
software system proposed by you.
Grading Rubric
14
D2 Assess the impact of different feasibility criteria on a
software investigation.
15
LO4 Discuss the suitability of software behavioural design techniques
16
HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING
Table of Contents
ACKNOWLEDGEMENT ................................................................................................. 25
Activity 01 ......................................................................................................................... 25
Risk ................................................................................................................................ 40
Assessing the merits of applying the waterfall model to the development of a Wildlife
Safari System ................................................................................................................. 47
Activity 02 ......................................................................................................................... 49
Benefits of conducting a feasibility study for ChangeU salon's booking system project
........................................................................................................................................ 52
Conclusion ................................................................................................................. 60
References .................................................................................................................. 61
Differences between tailor made software, COTS software and Standalone system
software .......................................................................................................................... 67
Website .......................................................................................................................... 69
Impact of different feasibility criteria used for the system investigation ...................... 71
Activity 03 ......................................................................................................................... 74
1.Introduction ............................................................................................................. 85
1.5 Summary of interview with ChangeU Salon general manager, Ms. Lisa Edelstein
.................................................................................................................................... 88
References .................................................................................................................. 93
Requirement traceability throughout the software lifecycle for ChangeU Salon ........ 106
Comprehensive approaches for a high quality ChangeU Salon booking system ........ 109
The importance of quality assurance for ChangeU Salon system ........................... 111
Enhancing software development and management with behavioral tools ................. 117
Exploring software behavioral techniques for development and testing ..................... 118
Exploring software behavioral design techniques for flexible and maintainable systems
...................................................................................................................................... 119
Use case diagram analysis for ChangeU Salon to enhance customer service through
efficient booking ...................................................................................................... 130
The symbols used in Finite State Machine (FSM) diagram .................................... 137
Differences between Finite State Machine and Extended Finate State Machine .... 138
The impact of data-driven software to enhancing reliability and effectiveness ...... 144
Data-driven software to enhancing reliability and effectiveness for ChangeU salon .. 145
Table of tables
Table 1:Benefits and constrains of waterfall model. ......................................................... 33
Table 2:Benefits and constraints of V-model. ................................................................... 35
Table 3:Benefits and constraints of Agile model. .............................................................. 37
Table 4:Benefits and constraints of spiral model. .............................................................. 38
Table 5:Benefits and constraints of RAD model ............................................................... 39
Table 6:SDLC model and their risk management approach .............................................. 42
Table 7:Hardware requirements ......................................................................................... 56
Table 8:Software requirements .......................................................................................... 56
Table 9:Budget overview ................................................................................................... 57
Table 10:Operational feasibility ........................................................................................ 58
Table 11:Benefits and constrains of standalone system .................................................... 66
Table 12:Differences between tailor made software, COTS software and Standalone
system software .................................................................................................................. 67
Table 13:Differences between web site and mobile app ................................................... 69
Table 14:Business need and objectives for ChangeU salon .............................................. 77
Table 15:Stakeholders and requirements for ChangeU Salon project ............................... 78
Table 16:(ER) Diagram’s basic notations and description .............................................. 120
Table 17:Use case diagram notations and descriptions ................................................... 122
Table 18:Data flow diagram’s basic notations and description ....................................... 124
Table 19:Activity diagram’s basic notations and description .......................................... 126
Table 20:User stories of ChangeU salon ......................................................................... 132
Table 21:The symbols used in Finite State Machine (FSM) diagram ............................. 137
Table 22:Differences between Finite State Machine and Extended Finate State Machine
.......................................................................................................................................... 138
Tables of figures
Figure 1:SDLC ................................................................................................................... 26
Figure 2:SDLC Models. ..................................................................................................... 31
Figure 3:Waterfall model. .................................................................................................. 32
Figure 4:V-Model .............................................................................................................. 34
Figure 5:Agile Model ......................................................................................................... 36
Figure 6:Spiral Model. ....................................................................................................... 37
Figure 7:RAD Model ......................................................................................................... 39
Figure 8:Feasibility study report ........................................................................................ 53
Figure 9:Table of contents ................................................................................................. 54
Figure 10:Gantt chart ......................................................................................................... 60
Figure 11:End of the report ................................................................................................ 62
Figure 12:Prototype website design ................................................................................... 63
Figure 13:Interview document of ChangeU salon system ................................................. 83
Figure 14:Table of contents ............................................................................................... 84
Figure 15:Feedback form 1 ................................................................................................ 89
Figure 16:Feedback form 3 ................................................................................................ 90
Figure 17:Feedback form 2 ................................................................................................ 90
Figure 18:Feedback form 5 ................................................................................................ 91
Figure 19:Feedback form 4 ................................................................................................ 91
Figure 20:End of the report ................................................................................................ 94
Figure 21:Use case diagram for ChangeU Salon’s system ................................................ 98
Figure 22:Home Page ........................................................................................................ 99
Figure 23:Salon ................................................................................................................ 100
Figure 24:Price list ........................................................................................................... 100
Figure 25:Discount and presents. ..................................................................................... 101
Figure 26:Team ................................................................................................................ 101
Figure 27:Reviews ........................................................................................................... 102
Figure 28:Booking ........................................................................................................... 102
Figure 29:Contacts ........................................................................................................... 103
Figure 30:Quality assurance ............................................................................................ 111
Figure 31:Notations of ER diagram ................................................................................. 121
Figure 32:Example for ER diagram ................................................................................. 121
ACKNOWLEDGEMENT
I would like to express my deepest appreciation to all those who provided me with the
possibility to complete this assignment. I would like to sincerely express my gratitude to
my lecturer Ms.Thanusha, Course lecturer , of E-soft Metro Campus for her suggestions
and cooperation to complete my assignment. It has taken so much effort and time to
complete the assigned work. Without her support the assignment wouldn’t have been
completed. My special thanks should go to Mr. Gajanan Balasubramaniam, branch
manager E-soft Metro Campus, Jaffna. His guidance and advice also helped me to complete
my assignment successfully. I would also like to take this opportunity to thank my friends
& family members, without them this assignment couldn’t have been completed in a short
duration.
Thank you.
Sivaneswaran Piravaksan.
Esoft Metro Campus – Jaffna.
Activity 01
Software Development Life Cycle
The Software Development Life Cycle is a structured process that enables the production
of high-quality, low-cost software, in the shortest possible production time. The goal of
SDLC is to produce superior software that meets and exceeds all customer expectations
and demands. The SDLC defines and outlines a detailed plan with stages, or phases, that
each encompass their own process and deliverables. Adherence to the SDLC enhances
development speed and minimizes project risks and costs associated with alternative
methods of production (Synopsys.com, 2019)
Figure 1:SDLC
Types of analysis
▪ Requirements analysis - It is the gathering and understanding of user and business
needs to create a clear statement of software requirements.
▪ Systems analysis - It involves understanding the current system, identifying its
strengths and weaknesses, and finding opportunities for improvement.
▪ Design analysis – It focuses on designing a new system that meets user and
business needs and is feasible to implement.
▪ Testing analysis - Before deployment, it comprises testing the new system to find
and correct any flaws.
▪ Deployment analysis - It ensures that the new system is deployed in a way that
minimizes disruption to users.
3.Design Phase - In this phase, the software development team creates the high-level
design and low-level design of the software product. The team creates a detailed design
document that includes the software architecture, database design, and user interface
design.
Types of design
▪ High-level design - It concentrates on the software's general architecture. The
overall design of the software, the components that will be employed, and the
connections between those components are all included.
▪ Low-level design - This style of design concentrates on the software's specifics. It
outlines the precise code that will be developed as well as the data structures and
algorithms that will be used.
4.Implementation Phase - In this phase, the software development team starts coding the
software product based on the design documents. The team uses programming languages,
frameworks, and tools to develop the software product. Some examples for programming
languages such as Java, C++, Python, C#, JavaScript, Golang and swift.
Types of implementation
▪ Big Bang Implementation - In this method of implementation, every user is
introduced to the new system at once. This strategy is potentially dangerous because
it can result in issues if the new system is not thoroughly tested or if users are not
properly instructed.
▪ Phased Implementation - With this strategy, users are gradually introduced to the
new system. This strategy is less dangerous than the Big Bang strategy since it gives
time for issues to be found and resolved before the new system is made available to
additional users.
▪ Pilot Implementation - Using this approach, a select set of users will test out the
new system before it is made available to the full organization. This strategy is the
least dangerous since it enables issues to be found and resolved prior to the new
system being utilized by a significant number of people.
5.Testing Phase: The software development team tests the software product for any
defects, bugs, or errors. The team performs unit testing, integration testing, system testing,
and acceptance testing to ensure the software product meets the requirements.
Types of testing
▪ Unit testing - Software testing starts at the unit level, which involves testing single
pieces of code like functions or procedures. Unit testing's objective is to make sure
every piece of code performs as expected and adheres to its specifications.
▪ Integration testing -The next stage of software testing, known as integration
testing, is testing separate pieces of code that have been integrated together.
Integrity testing looks to see how well the various pieces of code interact with one
another and how well their interfaces function.
▪ System testing -The highest level of software testing, known as system testing,
examines the complete software system. System testing aims to validate the
software system satisfies all specifications and is prepared for user release.
▪ Acceptance testing - The last stage of software testing is acceptance testing, which
involves having users or clients test the software system. Acceptance testing aims
to validate the software system satisfies user requirements and is prepared for
production.
▪ White box testing - It is a type of testing that involves looking at the software
system's internal architecture. White box testing can be performed to find software
system flaws hidden from view from the outside.
▪ Black box testing - It is a kind of testing when the internal organization of the
software system is not known. Black box testing can be performed to find software
system flaws are obvious from the outside.
6.Deployment Phase – In this phase, the software development team deploys the software
product to the production environment. The team ensures that the software product is
compatible with the target environment, and the installation and configuration are
successful.
Types of deployment
▪ Direct deployment - It is the quickest and easiest technique of deployment. When
the software passes testing and quality assurance, it is immediately deployed to the
production environment. For small or straightforward software projects, this
approach is frequently utilized.
▪ Phased deployment – The more cautious method of deployment is phased rollout.
A portion of the software's functionality is introduced in each stage as it is deployed.
This lowers the possibility of a widespread failure and enables progressive rollout.
▪ Parallel deployment - A technique called parallel deployment involves deploying
the new system alongside the current system and operating them simultaneously for
a while. This enables a smooth transfer and result comparison between the two
platforms.
▪ Pilot deployment - It is a method where the software is deployed in a small-scale
pilot environment or a specific subset of the organization to gather feedback,
identify issues, and validate its functionality before full-scale deployment. Pilot
deployment is often used for new or unproven software.
7.Maintenance Phase - The software development team maintains and supports the
software product after deployment. The team fixes any defects or issues that arise, updates
the software product as needed, and provides technical support to users.
Types of maintenance
▪ Corrective maintenance - It is the process of correcting software flaws. Fixing
bugs, mistakes, and other issues that stop the software from operating as intended
can be a part of this.
▪ Adaptive maintenance - The process of changing the software to maintain it
compatible with environmental changes is known as adaptive maintenance. This
may entail alterations to the hardware, operating system, or other software with
which the software interfaces.
▪ Perfective maintenance - The process of perfective maintenance involves
enhancing the programme to make it more productive, user-friendly, or secure. This
might entail introducing fresh features, enhancing functionality, or addressing
security flaws.
Benefits Constrains
Well-suited for small projects Difficult to accommodate evolving
needs
Easy to understand and manage Limited opportunity for course
correction
Sequential and linear development Limited visibility into progress
Clear and well-defined phases Limited adaptability to new
technologies
Promotes documentation High risk of late feedback
Easy to estimate project timelines Testing and debugging at the end
V – Model
V model is a software development life cycle model that emphasizes the relationship
between each phase of development and its corresponding testing phase. It is called the V
model because of its shape, which resembles the letter "V." This model suggests that testing
should be done at every stage of development, starting from the requirements gathering
phase to the maintenance phase. This model also emphasizes the importance of early testing
and the need for a comprehensive test plan to ensure the quality of the software.
Figure 4:V-Model
Reduces rework and costly fixes by May not be suitable for projects with
addressing requirements and design issues dynamic or rapidly changing requirements.
early.
Supports better visibility and control over Sequential nature can lead to longer
the development process. development cycles.
Iterative model
Iterative model involves cyclic repetition of SDLC phases, delivering a working product
after each cycle.
Agile Model
It is an iterative and incremental approach to software development that emphasizes
collaboration, flexibility, and customer satisfaction. It is a subset of the broader Agile
methodology that includes various frameworks such as Scrum, Kanban, and Lean. In this
model, software development occurs in small, incremental cycles called sprints. At the
beginning of each sprint, the team collaborates with the customer or product owner to
define the requirements and prioritize the work. The team then works together to design,
develop, test, and deliver a working product increment at the end of the sprint (Wrike.com,
2022)
Product development - To ensure that products satisfy consumer needs, agile is also used
in the product development process. To do this, the product development process is divided
into manageable, iterative segments, and consumer feedback is gathered continuously.
Spiral Model
It is a software development life cycle model that combines the iterative nature of Agile
development with the structured approach of Waterfall methodology. The model is based
on the idea of repeated cycles, with each cycle consisting of four stages: planning, risk
analysis, development, and evaluation. The model allows for flexibility and continuous
improvement, making it suitable for complex projects.
Benefits Constraints
Allows for early detection and resolution Can be time-consuming and expensive.
of risks.
Provides opportunities for client feedback Requires active involvement and
and adaptation to changing requirements. collaboration from stakeholders.
Enables better management of large and Not suitable for small projects with well-
complex projects. defined requirements.
Incorporates risk analysis and mitigation Requires experienced and skilled team
throughout the development process. members.
Emphasizes on stakeholder Requires continuous monitoring and
communication and involvement. evaluation of project risks.
High-assurance software systems - Rigorous analysis and verification are necessary for
the creation of high-assurance software systems, such as those used in the financial sector,
nuclear power plants, and the aerospace industry. These systems must be accurate, safe,
and secure. Such systems can be developed and improved repeatedly using the spiral
paradigm, which incorporates formal methods, testing, and verification activities at each
spiral.
Benefits Constraints
Early and frequent user involvement High dependence on skilled resources
Rapid prototyping and iterations Requires a stable and experienced team
Reduce the risk of delivering an outdated Not suitable for projects with strict
product regulatory requirements
Increased stakeholder satisfaction Reliance on robust and mature tools
Improved communication Limited documentation
Increased stakeholder satisfaction Requires a strong project management
approach
Implement the plan - The risk management plan is put into action, and the necessary steps
are taken to reduce the identified risks.
Monitor and review - The effectiveness of the risk management plan is monitored and
reviewed throughout the SDLC to ensure that any new risks are identified and addressed
promptly.
SDLC model and their risk management approaches
that are not properly managed can lead to defects, system failures, or security
vulnerabilities.
Introduction for chosen case
“ChangeU” salon needs to have a system to track their bookings and they expect to provide
better customer service through the system. This is not incredibly challenging, and the
development team also has some early experience of this kind of a project. And the main
requirement of the client is to get a high-quality product without considering the budget
and time constraints.
Selected SDLC model for the case
The Rapid Application Development (RAD) model offers a beneficial approach for the
development of the booking system for ChangeU salon. The requirements planning phase
involves close collaboration between the development team and the client. This
collaborative effort ensures a comprehensive understanding of the salon's booking
processes and customer service goals. By tailoring the system to meet the unique needs of
the salon, the RAD model facilitates enhanced customer service and operational efficiency.
The emphasis on user design in the RAD model proves advantageous. During this phase,
the development team engages with salon staff and potential end-users to gather valuable
inputs on the system's interface, functionality, and usability. Through iterative feedback
loops, the team ensures that the booking system is intuitive, easy to use, and in line with
the salon's objectives of providing better customer service. The construction phase of the
RAD model involves rapid prototyping, enabling the team to quickly build a functional
prototype of the booking system. This prototype showcases key features such as customer
booking management, scheduling, and integration with existing systems. By gathering
feedback from salon staffs, the team can make iterative improvements to meet the specific
requirements for improved customer service.
The RAD model also considers the cutover phase, which focuses on the smooth transition
from the prototype to a fully operational booking system. This includes comprehensive
testing, training for salon staff on system usage, and ensuring a smooth deployment. By
incorporating continuous testing throughout the development process, the RAD model
enables early identification and resolution of any issues or bugs, resulting in a high-quality
and reliable system. RAD model brings additional benefits to the development of the
booking system for ChangeU salon. Its iterative approach and emphasis on user
involvement enable quick feedback loops, ensuring that the system meets the salon's
specific needs and aligns with their objectives of providing better customer service. The
RAD model's focus on quality and continuous testing further ensures the delivery of a high-
quality booking system that enhances the overall salon experience.
The RAD model's iterative nature allows for incremental development and frequent
feedback, enabling the development team to continuously refine and enhance the booking
system based on real-world user experiences. This iterative feedback loop ensures that the
system evolves in response to changing customer needs and market demands. The RAD
model's ability to accommodate changes and updates throughout the development process
makes it well-suited for industries like the beauty and salon sector, where trends and
customer preferences can shift rapidly. By embracing the RAD model, ChangeU salon can
stay agile and responsive to market dynamics, ensuring that their booking system remains
relevant and effective in meeting their customers' expectations.
The RAD model offers time and cost efficiency by enabling faster development and
delivery of the booking system for ChangeU salon. The iterative and rapid prototyping
approach reduces development costs and allows for early involvement of salon staff and
end-users, minimizing rework and ensuring the system meets their needs. The RAD model's
flexibility accommodates changes and enhancements, adapting to evolving industry
requirements. Enhanced collaboration and communication among the development team,
salon staff, and end-users ensure a clear understanding of system functionality. The
customer-centric approach focuses on user involvement and design, creating a user-friendly
booking system. With quick returns on investment, the salon can benefit from improved
booking management and customer service early on.
RAD model provides a suitable and efficient approach for the development of the booking
system for ChangeU salon. With the implementation of the RAD model, ChangeU salon
can look forward to a high-quality and tailored booking system that meets their specific
needs and enhances their overall operational efficiency and customer satisfaction.
Assessing the merits of applying the waterfall model to the development of a Wildlife
Safari System
Applying the Waterfall lifecycle model to a large software development project, such as
the wildlife safari system in the given scenario, can offer several potential merits. The
Waterfall model facilitates a clear understanding of the project's scope, requirements, and
objectives from the outset. This is particularly advantageous for a complex endeavour like
developing a system that links multiple wildlife sanctuaries, wetlands, and national parks
across Sri Lanka. By defining the project scope early on, the IT department can engage in
better planning and resource allocation to meet the project goals effectively.
Waterfall model follows a linear and sequential progression of development phases. The
IT department, which has little expertise creating such a system, may benefit from this
systematic approach. The model's sequential structure makes sure that each phase is
finished before going on to the next, reducing the chance of overlap and enhancing project
timetable control. The IT division will be able to oversee the project more effectively and
guarantee that it is finished within the two-year deadline.
The Waterfall model emphasizes documentation at each phase, ensuring that requirements,
design, and specifications are well-documented. This promotes clarity and a common
understanding among stakeholders regarding the functionalities of the wildlife safari
system. Establishing milestones for each phase provides tangible measures of progress,
enabling better project tracking and management. The focus on documentation and
milestones helps maintain transparency, facilitates effective communication, and ensures
that the project stays on track. Waterfall model's linear nature helps reduce ambiguity by
thoroughly addressing requirements and design specifications upfront. In the case of the
wildlife safari system, which involves multiple stakeholders and intricate details such as
tracking safari drivers and visitor counts, this clarity is essential. By addressing
requirements comprehensively, misunderstandings are minimized, leading to a system that
is accurate, reliable, and aligned with the objectives of the wildlife ministry.
Waterfall model offers several advantages over the Agile model for the development of a
Wildlife Safari System. One major advantage is the predictability provided by the Waterfall
model. Its well-defined and sequential development process allows for upfront planning
and estimation of project timelines and resources. This predictability is particularly
beneficial for a project like the wildlife safari system, which has a fixed two-year
timeframe. The IT department can set realistic expectations and effectively manage
Activity 02
Feasibility study
A feasibility study evaluates a project's or system's practicality. As part of a feasibility
study, the objective and rational analysis of a potential business or venture is conducted to
determine its strengths and weaknesses, potential opportunities and threats, resources
required to carry out, and ultimate success prospects. Two criteria should be considered
when judging feasibility, the required cost and expected value (Simplilearn.com, 2023)
Types of feasibility study
Economic feasibility
The economic market feasibility study examines the project's expense and value. This
implies that a thorough analysis is done to determine the program's development costs,
including the cost of the design process and operating costs. After that, it is determined if
the venture will be profitable (Knowledgehut.com, 2022)
Technical feasibility
This assessment focuses on the technical resources available to the organization. It helps
organizations determine whether the technical resources meet capacity and whether the
technical team can convert the ideas into working systems. Technical feasibility also
involves the evaluation of the hardware, software, and other technical requirements of the
proposed system (Simplilearn.com, 2023)
Legal feasibility
It is the assessment of whether a proposed project or activity is legally permissible. It is an
important part of any feasibility study, as it can help to identify potential risks and
challenges that may need to be addressed before the project can move forward.
Operational feasibility
Operational feasibility is a measure of how well a proposed system can be used in the real
world. It is concerned with whether the system can be operated effectively and efficiently,
and whether it will meet the needs of the users.
Schedule feasibility
It is the degree to which a deadline for a strategy, plan, project, or process is realistic and
achievable. It is an important factor in project management, as a project that is not
completed on time is likely to be unsuccessful.
solution. They then present the feasibility report to their company and make their
recommendation (Indeed.com, 2022)
Purpose of a feasibility study report
A feasibility study report serves as a important tool for evaluating the practicality and
viability of a proposed project or business venture. Its primary purpose is to assess whether
the project is technically, economically, and operationally feasible. By conducting
thorough research and analysis, the report helps stakeholders make informed decisions
regarding resource allocation and risk management. The report typically includes an
overview of the project's objectives, scope, and potential benefits, as well as a detailed
examination of the associated costs, potential obstacles, and anticipated returns on
investment. This allows decision-makers to identify potential pitfalls and challenges early
on and determine if the project fits with the organization's strategic goals and financial
capabilities. The feasibility study report provides a well-informed basis for determining
whether to proceed with the project, modify its parameters, or abandon it altogether,
ensuring a more successful and sustainable outcome.
Benefits of a feasibility study report
• The feasibility study smooths the project development process by identifying the
most feasible options and guiding the development team towards the most viable
solution.
• A well-documented feasibility study report enhances the project's credibility,
increasing the likelihood of attracting investors and securing funding.
• The report assesses legal and regulatory requirements, helping the project team
adhere to applicable laws and regulations.
• By evaluating different scenarios, the study aids in optimizing resource allocation,
making the most efficient use of time, money, and manpower.
• Conducting a feasibility study significantly improves the chances of project
success, as it enables stakeholders to make informed decisions based on reliable
data and analysis.
• By identifying potential challenges and drawbacks early on, the study minimizes
risks, enabling stakeholders to make informed decisions and avoid costly mistakes.
• The report serves as a foundation for strategic planning, supporting organizations
in aligning their objectives with practical and achievable goals.
Benefits of conducting a feasibility study for ChangeU salon's booking system project
Preparing a feasibility report for ChangeU salon's proposed system to track bookings and
enhance customer service would offer several benefits. The feasibility study would allow
the salon's management and development team to thoroughly assess the technical,
economic, and operational viability of implementing the new system. By conducting in-
depth research and analysis, they can gain a comprehensive understanding of the project's
potential benefits, drawbacks, and challenges.
The feasibility report would help the salon's stakeholders make informed decisions about
the project's feasibility, considering the early experience of the development team and the
client's emphasis on delivering a high-quality product without budget and time constraints.
Through careful evaluation of various options, the report would guide the development
team towards the most feasible solution, ensuring that the chosen approach fits with the
salon's specific needs and objectives. The well-documented feasibility report would bolster
the credibility of the proposed project, making it more attractive to potential investors and
increasing the likelihood of securing the necessary funding. It would also assess legal and
regulatory requirements, ensuring that the new system complies with relevant laws and
standards.
The feasibility study's meticulous evaluation of resources and time requirements would
enable efficient resource allocation, optimizing the use of time, finances, and manpower.
The salon can make well-informed decisions, confident that they are moving towards a
high-quality product that meets their customer service objectives. By identifying potential
challenges and risks early on, the feasibility report would help the salon's management
proactively address any obstacles that may arise during the project's implementation. This
proactive approach minimizes the potential for costly mistakes and disruptions,
contributing to a smoother and more successful development process.
The preparation of a feasibility report for ChangeU salon's system implementation project
would provide the necessary groundwork for a well-informed decision-making process. It
would ensure that the salon's objectives are thoroughly evaluated and aligned with practical
and achievable goals. Ultimately, the feasibility study would set the stage for a high-quality
and efficient system that enhances the salon's booking processes and raises their overall
customer service experience.
FRS/CSS/1.5
S.Piravaksan
J.Mahavaishnav
iy
Figure 8:Feasibility study report
Project description
The purpose of this feasibility report is to assess the viability and potential benefits of
implementing a salon booking system for "ChangeU" salon. The system aims to smooth
the booking process, enhance customer service, and ultimately improve overall operational
efficiency. This report examines the need for the project, considering the provided
information that the development team has some early experience in similar projects, and
the client's primary requirement of delivering a high-quality product without budget or time
constraints.
Objective of the project
The objective of implementing a booking management system is to enhance the salon's
customer service capabilities. By adopting a more simplified approach to managing
bookings, ChangeU salon aims to provide a smooth and convenient experience for their
clients. This system will enable customers to make appointments more efficiently, reducing
wait times and improving overall satisfaction. The system will assist salon staff in better
organizing their schedules, resulting in improved operational efficiency and reduced errors.
Need for the project
"ChangeU" salon currently relies on manual methods for managing their bookings, which
can be time-consuming, error prone, and may lead to inefficiencies. By implementing a
dedicated salon booking system, the salon can automate and smooth the booking process.
This would eliminate the need for manual record keeping, reduce the chances of double
bookings or scheduling conflicts, and improve overall operational efficiency.
Technical feasibility
The technical feasibility of implementing a booking system for "ChangeU" salon is
favorable based on the provided information. This technical feasibility assesses the viability
of implementing a salon booking system for ChangeU salon. The basic goal of the project
is to track bookings efficiently and enhance customer service. The client emphasizes
delivering a high-quality product while disregarding budget and time constrain. The
development team's early experience with similar projects indicates their capability to
handle the task. The technical feasibility of a mobile app or web application is contingent
on project specifications, available resources, and constraints. Custom, COTS, and stand-
alone applications are all feasible choices, with developers proficient in various technology
stacks for both client and server sides. Offline and online apps can be developed, though
offline apps may have certain limitations. Thorough planning and analysis are essential to
determine the optimal approach, considering budget, time, and development expertise. A
successfully executed solution will align with the client's specific needs and objectives.
Hardware requirements for client computer
Hardware requirements
RAM Minimum supported: 8GB of RAM
Optimal performance: 16GB of RAM
Processor Intel i5, 6th generation or newer, dual-core, 1.5GHz or faster
Hard disk A Solid-State hard drive (SSD) with at least 128GB of capacity.
About 1GB of available storage is needed for installation
Display 24-inch FHD IPS screen
GPU NVIDIA GeForce RTX 2080
Table 7:Hardware requirements
The scheduling system for ChangeU Salon is a comprehensive web-based application that
utilizes a range of commonly available tools and technologies. These technologies include
HTML, CSS, JavaScript, PHP, and MySQL. These technologies are designer and
developer. Fortunately, these tools are readily accessible and the necessary technical skills
to implement them should be within manageable levels for the salon.
Economic feasibility
The purpose of this economic feasibility is to evaluate the viability of developing a salon
booking system for "ChangeU" salon. The project aims to improve customer service and
smooth the salon's operations through the implementation of a high-quality booking
system. The client has emphasized the importance of delivering a top-notch product without
considering budget and time constraints. This report will assess the economic feasibility of
the project, focusing on the potential costs and benefits involved.
Budget overview
Requirement analysis Salary for the analyst Rs.60 000
Expenses for interviews and Rs.10 000
questionnaires
Planning Document preparation cost Rs.20 000
Hardware cost Rs.100 000
Software cost Rs.35 000
Designing Graphic designer salary Rs.50 000
UI, UX designer salary Rs.60 000
Other expenses Rs.15 000
Implementation Frontend developer salary Rs.80 000
Backend developer salary Rs.100 000
Testing Unit testing Rs.10 000
System testing Rs.12 000
Integration testing Rs.10 000
Approval testing Rs.13 000
QA engineer salary Rs.95 000
Deployment Domain and hosting charges Rs.35 000
System configuration Rs.25 000
Maintenance Software engineer salary Rs.65 000
Bug fixes Rs.10 000
Other expenses Employee training cost Rs.25 000
Utility expenses Rs.10 000
Total charge Rs.840 000
Table 9:Budget overview
Operational feasibility
Operational feasibility refers to the assessment of whether a proposed project, in this case,
the implementation of a booking system for ChangeU salon, can be successfully integrated
into the existing operations and processes of the salon.
Table 10:Operational feasibility
Operation Description
Welcome Page The website loads quickly, and users are immediately greeted
with a welcoming page.
Login The project director, project manager, and team leader can
access the system individually by logging in with their
respective credentials.
Creating projects The ability to generate projects and project profiles lies with the
project director.
Creating teams It is within the project director's capacity to form teams for a
project.
Assigning employees The project director has the authority to allocate a project
manager and team leaders to specific assignments.
Assigning risks The project manager possesses the capability to delegate tasks
to teams, while the team leader has the authority to assign
different tasks to individual team members.
Monitoring project Team leaders can track both completed and in-progress tasks.
User experience The proposed system offers a positive user experience and
smooth user flow.
In addition to the operations, an analysis of the system's performance and workload was
conducted. Following this analysis, it can be concluded that the proposed booking system
for ChangeU Salon is operationally feasible.
Legal feasibility
The legal feasibility study assesses the regulatory and legal requirements associated with
developing a booking system for ChangeU salon. ChangeU salon aims to implement a
booking system to improve customer service and smooth operations. This legal feasibility
evaluates the legal features of developing and implementing the booking system.
Privacy laws - Identify and comply with relevant data protection laws and regulations,
such as the General Data Protection Regulation (GDPR) or other local privacy laws.
Data security - Implement robust security measures to protect customer data from
unauthorized access, breaches, or cyber threats.
Data retention - Define data retention policies and procedures, ensuring compliance with
legal requirements for storing customer data.
Terms of service - Draft clear and comprehensive terms of service that outline the rights,
responsibilities, and obligations of both ChangeU salon and its customers using the booking
system.
Contracts and agreements - Prepare legal contracts and agreements with third-party
vendors, if any, to outline the terms of service, data protection, and responsibilities related
to the booking system's development and maintenance.
Payment regulations - Comply with applicable payment processing regulations, such as
Payment Card Industry Data Security Standard to ensure secure and compliant handling
of customer payments.
Schedule feasibility
The Schedule Feasibility feature of the salon's booking system pertains to the project's
ability to be developed and implemented within the designated timeframe. Given the
development team's prior experience in similar projects and the absence of significant
challenges, it is reasonable to conclude that the schedule feasibility for the salon's booking
system is highly achievable. The project is expected to be completed within a duration of
two months, considering the team's expertise and the straightforward nature of the
requirements.
Conclusion
After conducting a comprehensive feasibility study for the implementation of a booking
system at "ChangeU" salon, it can be concluded that the project is highly feasible across
various features. The technical feasibility analysis indicates that the development team
possesses relevant experience, and the project does not pose significant challenges. The
availability of prior knowledge in similar projects ensures that the team is well-equipped to
deliver a high-quality product that meets the salon's requirements.
From an economic standpoint, the client's main requirement of prioritizing a high-quality
service without considering budget constraints is favorable. This allows the development
team to focus on delivering a robust and efficient booking system without compromising
on the required features and functionalities. The system's implementation is expected to
result in long-term cost savings through improved customer service, smoothed operations,
and increased efficiency. Operational feasibility is another important feature to consider,
and it has been determined that integrating a booking system aligns with the salon's goals
of enhancing customer service. By automating the booking process, the system will
improve efficiency, reduce errors, and provide a better experience for both salon staff and
customers. This feasibility analysis suggests that the operational impact will be positive
and contribute to the overall success of the salon. The legal feasibility analysis indicates
that developing a booking system for ChangeU salon is feasible while adhering to all
applicable legal requirements. By implementing measures to protect customer data,
defining clear terms of service and user agreements, complying with payment processing
regulations, and establishing proper legal documentation, ChangeU can reduce legal risks
and ensure a secure and legally compliant system.
A sample prototype website design of the ChangeU salon booking system is mentioned.
they possess the necessary skills to design and develop the booking system. The existence
of off-the-shelf solutions and customizable frameworks enhances the technical feasibility
of the project. Economic feasibility is also considered, although the client has expressed a
willingness to prioritize a high-quality product over budget constraints. A cost-benefit
analysis should still be conducted to evaluate the potential return on investment and long-
term benefits. This analysis should consider the expenses associated with development and
maintenance, as well as potential savings resulting from improved efficiency and customer
satisfaction.
Operational feasibility examines whether the proposed booking system aligns with the
salon's existing processes. It emphasizes the importance of smooth integration and user-
friendly interfaces for staff and customers. Training and support for employees during the
transition phase are important for successful implementation and adoption of the new
system. Legal feasibility is ensures compliance with all relevant laws and regulations. It
examines the legal features of developing and implementing the booking system. Key
considerations include data protection laws, consent for data collection, data security, terms
of service, payment regulations, and intellectual property rights. The report identifies
measures to protect customer data, outlines clear terms of service and user agreements, and
ensures secure payment processing in accordance with legal requirements. Schedule
feasibility determines whether the project can be completed within the desired timeframe.
The development team's prior experience allows for accurate time estimation, and a
detailed project plan should be created, considering potential risks and challenges that may
arise during development.
The conclusion section provides a comprehensive summary of the findings from the
feasibility study. It reiterates the viability and suitability of implementing the booking
system at ChangeU Salon. It highlights the benefits of the proposed solution, including
improved customer service, simplified appointment management, and increased
operational efficiency. The conclusion also addresses any potential risks and challenges
identified during the study and outlines reduction strategies. Based on the evidence
presented in the report, a clear recommendation is made for the salon's management and
stakeholders to proceed with the development of the booking system.
The references section includes a list of all the sources and materials consulted during the
preparation of the feasibility study report. This ensures transparency and allows readers to
verify the information and data used to support the study's findings and recommendations.
Properly citing the references used in the report adds credibility and demonstrates the
thoroughness of the research conducted during the feasibility study.
The comprehensive feasibility study report for implementing the booking system at
ChangeU Salon has provided valuable insights into the project's viability and potential
benefits. The thorough examination of technical, economic, operational, legal, and
schedule features has demonstrated the feasibility and suitability of the proposed solution.
With a focus on enhancing customer service, optimizing appointment management, and
improving operational efficiency, the development of a tailor-made booking system
emerges as the ideal choice. The report's conclusive recommendation for proceeding with
the project paves the way for ChangeU Salon to embrace a transformative technological
solution that aligns perfectly with their goals and ensures an exceptional experience for
their valued clients.
Technical solution
A technical solution refers to the specific approach or system designed to address a
particular problem or meet a specific requirement within the context of technology and
software development. It involves selecting and implementing the most suitable tools,
technologies, and methodologies to solve a given problem or fulfill a desired objective
(Oreilly.com, 2021)
Types of technical solution
1. COTS Software (Commercial Off-The-Shelf)
COTS software refers to pre-built software solutions that are readily available on the
market. These solutions are developed by third-party vendors and can be purchased and
implemented as-is or with minimal customization.
COTS software offers several benefits,
• COTS software eliminates the need to develop a software solution from scratch,
saving time and reducing development costs.
• COTS software often comes with a range of features and functionalities that have
been thoroughly tested and used by other organizations, ensuring reliability and
stability.
• COTS software typically comes with vendor support, including regular updates,
bug fixes, and technical assistance, which can be beneficial in maintaining and
troubleshooting the software.
Benefits Constrains
Standalone systems operate without Standalone systems restrict collaborative
relying on external networks or servers, work due to their lack of real-time data
ensuring uninterrupted functionality. sharing capabilities.
Increased protection against online threats Managing data consistency across multiple
is offered, as standalone systems are not standalone systems can be cumbersome
connected to the internet. and error prone.
Faster response times are achieved, as data As the organization grows, upgrading
processing occurs locally within standalone systems and managing
standalone systems. individual installations can become time-
consuming.
Lower initial investments and maintenance Standalone systems face a higher
costs are required for standalone systems vulnerability to data loss in case of
compared to networked solutions. hardware failures without centralized
backups.
Standalone systems are quick to deploy due Users are confined to accessing data solely
to their relatively straightforward setup. from the system where it is installed,
limiting remote work options and
flexibility.
Differences between tailor made software, COTS software and Standalone system
software
Table 12:Differences between tailor made software, COTS software and Standalone system software
can conveniently book appointments, access salon pictures, view stylists' names, and read
customer reviews from the comfort of their preferred device. The website offers excellent
scalability to accommodate the salon's future growth and evolving needs. As ChangeU
expands its services or opens new locations, the website can be easily scaled to include
additional features and functionality, catering to the changing requirements. Considering
the specific needs of ChangeU salon, their desire for a high-quality product, and the
development team's early experience, a website is the most suitable choice. It provides a
cost-effective, cross-platform solution that can be efficiently developed, easily maintained,
and scaled according to the salon's future aspirations. With a user-friendly interface and
real-time updates, the website will effectively track bookings and enhance customer
service, perfectly fits with the salon's business objectives.
For the ChangeU Salon booking system, the most user-friendly options are a tailor-made
software solution and a dedicated website. A tailor-made application offers exceptional
flexibility as it can be specifically designed to cater to the unique requirements of the salon
and its clients. This personalized approach ensures a smooth user experience, facilitating
efficient management of bookings, schedules, and other essential tasks for salon operators
and customers alike. Both the tailor-made application and the website prioritize user-
friendliness, making them intuitive and easy to navigate for salon operators and clients,
thereby contributing to a smooth and enjoyable experience. By combining a tailored
software solution with a well-designed website, the ChangeU Salon booking system can
enhance its effectiveness and overall success, further elevating customer service and
appointment management.
Impact of different feasibility criteria used for the system investigation
The feasibility criteria used in the system investigation for ChangeU Salon's booking
system have a significant impact on the project. By evaluating technical feasibility,
economic feasibility, operational feasibility, and schedule feasibility, marketing feasibility,
legal feasibility a comprehensive understanding of the potential impact of the system can
be obtained.
Assessing the technical feasibility helps determine whether the development team
possesses the necessary skills, resources, and technology to build the booking system
effectively. In this case, the team's early experience in similar projects indicates a positive
technical feasibility. With their prior knowledge and expertise, they are well-equipped to
design and develop a system that can effectively track bookings and enhance customer
service. Economic feasibility is important for determining the financial viability of the
project. The client's main requirement of obtaining a high-quality product without
considering budget constraints suggests a favorable economic feasibility. This means that
the development team can focus on building a system that provides exceptional value to
the salon without worrying about financial limitations. It is still important to ensure that the
cost of development, maintenance, and any future enhancements is reasonable and
justifiable in terms of the salon's long-term benefits.
Operational feasibility examines whether the proposed system can be perfectly integrated
into the salon's existing operations and workflows. Since the salon aims to track bookings
and enhance customer service, it implies that the staff and management are willing to
embrace the system and adapt their processes accordingly. By involving the salon staff in
the requirement gathering and design phases, potential operational challenges and
constraints can be identified and addressed early on. The willingness of the salon's
stakeholders to adopt the system contributes positively to its operational feasibility.
Schedule feasibility assesses the ability to develop and implement the system within the
expected timeframe. The development team's prior experience with similar projects
indicates a positive schedule feasibility. It is important to note that even without time
constraints, there are various factors that can influence the project timeline. Proper
planning, resource allocation, and effective communication within the team and with the
client will be essential to ensure timely development and implementation of the booking
system. Market feasibility examines the system's potential success in the market.
Understanding the competitive landscape, target market demand, and potential market
share of the booking system will contribute to its market feasibility. Conducting market
research and analysis will help identify opportunities and potential challenges in the market,
enabling the development team to tailor the system to meet market needs and maximize its
acceptance. Legal feasibility assesses whether the proposed system complies with relevant
laws, regulations, and industry standards. Ensuring the system meets legal requirements
related to data privacy, security, and consumer protection is essential. Conducting a
thorough legal analysis will help identify any potential legal constraints and ensure that the
system operates within the boundaries of the law.
Conducting thorough feasibility studies is important for Change U Salon's success. These
studies allow them to carefully analyze different features of their proposed business
changes. By conducting these assessments, the salon can make well-informed decisions
that align with their goals and reduce potential risks. By ensuring technical feasibility, they
can determine if their resources and technology can support the proposed changes.
Economic feasibility evaluations help them understand the financial implications and
whether the investment will be beneficial. Operational feasibility studies allow them to
integrate the changes smoothly into their daily operations, considering the impact on staff
and workflow.
With schedule feasibility, they can plan realistic timelines for the implementation. Through
marketing feasibility analysis, they can gauge customer demand and avoid investing in
changes that may not resonate with their target market. Legal feasibility assessments ensure
compliance with regulations, safeguarding the salon from potential legal issues. By
addressing these various feasibilities, Change U Salon can identify any potential challenges
early on and make necessary adjustments. Armed with this knowledge, they can confidently
move forward with their proposed changes and position themselves for success in the
competitive beauty industry. Feasibility studies serve as essential tools to guide businesses
like Change U Salon toward achieving their objectives and building a prosperous future.
By being thorough and proactive in their assessments, the salon can increase their chances
of success and create a strong foundation for growth and sustainability.
Activity 03
Software investigation
Software investigation refers to the systematic and thorough examination of software
applications, systems, or processes to gather information, identify issues, and uncover
insights that help understand and improve the software. Software investigation aims to
identify the root causes of problems, assess the impact on users or systems, and propose
remedial actions or improvements (Software.fujitsu.com, 2022)
The importance of software investigation
Software investigation is essential for various reasons. It helps in identifying the underlying
cause of incidents. Understanding the cause enables organizations to implement
appropriate remediation measures and prevent similar incidents in the future. Software
investigations are important for preserving and collecting digital evidence in cases
involving illegal activities or policy violations. This evidence is essential for legal
proceedings, internal disciplinary actions, or regulatory compliance purposes. By
conducting investigations in a forensically sound manner, organizations ensure the integrity
and admissibility of the evidence in legal proceedings. Software investigation contributes
to enhancing security measures. It reveals vulnerabilities and weaknesses in software
systems, allowing organizations to strengthen security measures in areas. By implementing
these measures, overall system security is enhanced, reducing the risk of future incidents.
Software investigations provide valuable insights into incident response processes.
They help organizations identify areas for improvement in incident detection, response
times, communication protocols, and team coordination. By analyzing and refining incident
response procedures based on investigation feedback, organizations enhance their ability
to effectively handle future incidents. Software investigations support legal and regulatory
compliance. Many industries are subject to stringent requirements concerning data privacy,
security, and compliance. Through investigations, organizations can demonstrate
compliance by showcasing their due diligence, incident response efforts, and adherence to
industry standards. Investigations also assist in identifying any non-compliance issues that
need to be addressed promptly. From a financial and reputational standpoint, software
investigations are essential. Incidents can have major financial implications, and
investigating and resolving them promptly helps mitigate losses, recover compromised
data, and identify responsible parties for potential legal actions.
Stakeholders Requirements
Salon manager • Simplified booking process
• Enhanced customer experience
• Real-time appointment scheduling
Front desk staff • Easy-to-use interface
• Prevention of booking errors and double bookings
• Customer history tracking
Stylists • Integration with personal calendars
• Appointment reminders
Automated reminders
• Customers should receive automated reminders and notifications for their
upcoming appointments via email or SMS.
• The system should send reminders a specified time in advance to reduce no-shows
and increase attendance rates.
Reporting and analytics
• The system should provide reporting capabilities to generate insights on booking
metrics, revenue, and customer satisfaction.
• Management should be able to access reports and use the data for decision-making
and business analysis.
Integration with POS system
• The booking system should integrate with the salon's Point of Sale (POS) system
for smooth payment processing.
• Payment information should be securely captured and recorded within the system.
Customizable services and pricing
• The system should support the ability to define a range of services offered by the
salon, including their descriptions and pricing.
• Salon management should have the ability to update and customize services and
pricing as needed.
Nonfunctional requirements for ChangeU Salon
Usability
• The booking system should have an intuitive and user-friendly interface for both
staff and customers.
• It should be easy to navigate and understand, with clear instructions and prompts.
Performance
• The system should respond quickly to user interactions, providing a smooth
booking experience.
• It should be able to handle a high volume of simultaneous bookings without
significant delays or performance issues.
Reliability
• The system should be available and accessible during salon operating hours, with
minimal downtime or disruptions.
• It should have a reliable infrastructure and backup mechanisms to prevent data loss
or system failures.
Security
• The system should have robust security measures to protect customer data,
including personal information and payment details.
• It should comply with relevant data protection regulations to ensure the
confidentiality and integrity of user information.
Scalability
• The system should be designed to accommodate the salon's future growth and
increasing demand for bookings.
• It should be able to handle a growing number of users, appointments, and customer
data efficiently.
Integration
• The system should integrate smoothly with other salon systems, such as staff
calendars and accounting software, to ensure data consistency and smooth
operations.
Software analysis tools and techniques
Software analysis tools and techniques refer to a set of methodologies, processes, and tools
used to examine, evaluate, and understand software systems. These tools and techniques
are designed to uncover various features of software quality, performance, security, and
maintainability, helping software developers, testers, and analysts gain insights into the
inner workings of a software system (Wisdomjobs.com, 2020)
Commonly used software analysis tools
Interviews
Conducting interviews with stakeholders, such as end-users, managers, and subject matter
experts, to gather requirements, understand needs, and gather feedback on the existing
software system.
Surveys
Administering surveys to collect quantitative or qualitative data from a larger group of
stakeholders. Surveys can be useful for gathering opinions, preferences, and feedback on
software features or user experience.
Table of content
1.Introduction
The Software Requirements Specification (SRS) outlines the details and functionalities of
the proposed ChangeU Salon Booking System. This document serves as a comprehensive
guide for the development team to understand the project's objectives, requirements, and
constraints. The system aims to improve customer service and smooth booking procedures
for ChangeU Salon. This SRS report presents an overview of the purpose, scope, and key
features of the system and this document will act as a reference guide throughout the
development lifecycle.
1.1 Purpose of the report
The purpose of the ChangeU Salon booking system is to provide a robust and efficient
platform that allows the salon staff to manage and track their bookings effectively. The
system's primary goal is to enhance customer service by offering a perfect and user-friendly
experience for customers when scheduling appointments. By automating the booking
process, the salon intends to reduce manual errors, eliminate double bookings, and optimize
the overall salon management workflow.
1.2 Scope
The ChangeU Salon Booking System's scope encompasses the development of a feature-
rich and scalable platform that caters to the specific needs of the salon industry. The system
will be designed to accommodate both the salon staff and customers, providing distinct
interfaces and functionalities for each user group.
1.3 Software analysis tools for requirement collection
For requirement collection in the system development process, two essential software
analysis tools were employed. Such as interviews and surveys. The interview was
conducted with the Salon General Manager, providing valuable insights into high-level
business objectives and specific user needs. On the other hand, a survey was distributed to
the Salon Staffs, gathering detailed information about their day-to-day operations and
preferences. These tools enabled us to comprehensively gather the necessary requirements
from both management and staff perspectives, ensuring a well-rounded and informed
approach to system design.
Piraba - Thank you for sharing those objectives. Based on your requirements, we will now
move on to understanding specific system requirements. Could you please provide some
details about the desired functionality of the booking system?
Ms. Lisa Edelstein - Certainly. We would like the system to have a user-friendly interface
that enables customers to view available time slots, select their preferred services, and book
appointments online. It should provide real-time availability updates and ensure that double
bookings are prevented. For our staff, the system should integrate with their calendars,
provide reminders of upcoming appointments, and enable them to view customer details
and preferences. Having reporting capabilities to track key metrics like bookings, revenue,
and customer satisfaction would be valuable for our management team.
Piraba - Excellent. Do you have any specific security or performance considerations that
need to be considered while developing the system?
Ms. Lisa Edelstein - In terms of security, it is essential that customer information, such as
personal details and payment data, is securely stored and protected from unauthorized
access. We also need to ensure that the system complies with relevant data protection
regulations. As for performance, the system should be able to handle multiple simultaneous
bookings without any significant delays or system crashes.
Piraba - Thank you for providing all these details. We appreciate your input, and this
information will greatly assist us in developing the software system specification for
ChangeU Salon's new booking system.
Ms. Lisa Edelstein -You're welcome. I'm glad to contribute to the process, and I hope the
new system will help improve our salon operations and customer service. If you need any
further clarification or have additional questions, feel free to reach out.
Piraba - Thank you once again for your time and cooperation. We will keep you updated
on the progress of the project and ensure that your requirements are effectively addressed.
1.5 Summary of interview with ChangeU Salon general manager, Ms. Lisa Edelstein
During the interview, Ms. Lisa Edelstein, the general manager of ChangeU Salon, provided
insights into their current booking process and the requirements for a new booking system.
The salon currently relies on a manual booking process, which can lead to double bookings
and errors, making it time-consuming for staff to manage. Challenges include efficiently
managing the appointment schedule, tracking customer histories, and personalizing
customer experiences. The key objectives of the new booking system are to enhance the
overall customer experience, enable online bookings with automated reminders and
notifications, and integrate staff calendars for accurate scheduling. A customer database
storing preferences and contact information would allow personalized interactions and
improve staff productivity.
Desired functionality includes a user-friendly interface for customers to view available time
slots and book services online, real-time availability updates, prevention of double
bookings, and reporting capabilities for management. Security considerations entail
protecting customer information and ensuring compliance with data protection regulations.
The system must also handle multiple simultaneous bookings without performance issues.
Ms. Edelstein is optimistic that the new system will improve salon operations and customer
service. The development team will consider her input while creating the software system
specification for ChangeU Salon's new booking system, ensuring her requirements are
effectively addressed. Regular updates on the project's progress will be provided, and
further clarification can be seek if needed.
Supporting documentation
Supporting documentation refers to additional materials or evidence that substantiates or
complements the main content or claims being presented. It includes various forms of
information such as receipts, invoices, photographs, charts, graphs, reports, or any other
relevant data that supports and strengthens the accuracy, validity, or credibility of a
statement, argument, or transaction (Ventureline.com, 2021)
Essential supporting documentation
User Interface (UI) design - Visual representations, wireframes, or prototypes illustrating
the layout, navigation, and interaction design of a software application or website.
Data Flow Diagram (DFD) - Illustrates the flow of data within a system, showcasing how
data moves through processes, inputs, outputs, and storage entities.
Use case diagram - Presents a graphical representation of interactions between actors
(users, systems, or external entities) and a system, demonstrating various use cases and
their relationships.
Requirement document - Describes the functional and non-functional requirements of a
system or project, outlining the features, constraints, and objectives.
Entity Relationship Diagram (ERD) - Visualizes the relationships between entities in a
database, representing how data is organized and linked.
System architecture diagram - Provides an overview of the structure and components of
a system, illustrating how different modules, layers, and components interact and
communicate.
Technical specifications - Detailed descriptions of the technical features, configurations,
interfaces, or protocols used in a system, software, or hardware component.
User manuals or guides - Documents that provide instructions, explanations, and guidance
on how to use a product or system effectively, aimed at end-users or administrators.
Requirement Documentation
Nonfunctional Requirements
The booking system should have an interactive and user-friendly
interface for both staff and customers.
The system should respond quickly to user interactions, providing
a smooth booking experience.
The system should be available and accessible during salon
operating hours, with minimal downtime or disruptions.
The system should have robust security measures to protect
customer data, including personal information and payment
details.
The system should be designed to accommodate the salon's future
growth and increasing demand for bookings.
The system should integrate smoothly with other salon systems,
such as staff calendars and accounting software, to ensure data
consistency and smooth operations.
Requirement Documentation
Functional Requirements
Customers should be able to view available time slots and book
appointments online.
The system should provide real-time updates on availability and
prevent double bookings.
Customers should receive confirmation notifications after
successful bookings.
The system should be integrated with staff calendars to ensure
accurate scheduling and avoid conflicts.
Stylists should have access to their schedules and be able to view
and manage their appointments.
The system should maintain a customer database to store essential
information such as contact details, service history, and
preferences.
Staff should be able to access customer details to provide
personalized experiences and recommendations.
The system should provide reporting capabilities to generate
insights on booking metrics, revenue, and customer satisfaction.
system maintenance, issue troubleshooting, and data backup/security, ensuring the smooth
operation and reliability of the booking system.
The diagram's layout is clear and readable, making it easily understandable for various
stakeholders, including developers, designers, and non-technical personnel. The
relationships between actors and their corresponding use cases are well-defined, ensuring
coherence in the representation of the system's functionalities. The diagram is designed
with scalability and adaptability in mind, allowing for the incorporation of additional use
cases as the salon grows or introduces new features. The use case diagram for ChangeU
Salon stands as a valuable tool for effectively communicating the interactions between
actors and the system. Its user-centric approach, comprehensiveness, and clarity make it
instrumental in validating business and system requirements and guiding the development
team in creating an efficient and customer-oriented booking system.
The home page serves as the main landing page of the website. It provides an overview of
the salon's services, highlights key features, and presents an inviting design. The home page
typically includes attractive visuals, brief descriptions of services, and a call-to-action to
encourage visitors to explore further. To secure the appointment, click on the "Book now"
button.
Figure 23:Salon
The above salon picture showcases high-quality images of the salon's interior, styling
stations, and other aesthetic elements. These visuals help create a favorable impression,
allowing visitors to get a glimpse of the salon's ambiance and style. The pictures may
include shots of different areas within the salon, displaying a clean and inviting
environment.
The price list displays the various services offered by the salon along with their
corresponding prices. It helps potential customers understand the range of services
available and make informed decisions based on their preferences and budget. The price
list may be organized by service categories, such as facial, hair removal, face clean up, etc.
The discounts highlights any ongoing promotions, special offers, or discounts available at
the salon. This could include seasonal offers, package deals or loyalty programs. It aims to
attract potential customers by providing incentives and encouraging them to avail
themselves of the services at a reduced price.
Figure 26:Team
The stylists' names presents a list of the salon's professional stylists or staff members. Each
stylist may be accompanied by their photo, a brief bio highlighting their expertise and
experience, and perhaps their specialty or areas of focus. This information helps visitors in
selecting a preferred stylist based on their individual preferences.
Figure 27:Reviews
The customer reviews displays testimonials or reviews from previous clients who have
visited the salon. These reviews provide social proof and build trust by showcasing positive
experiences and customer satisfaction. Visitors can read about others' experiences and
make informed decisions based on the feedback and recommendations shared.
Figure 28:Booking
The booking component allows visitors to schedule appointments directly through the
website. Users can select their preferred date, time, customer name, email, and stylist (if
applicable) from an intuitive and user-friendly interface. The system should display real-
time availability and provide confirmation once the booking is successfully made. Online
booking platform, designed to enhance the customer experience. When customers select a
date, an intuitive calendar feature instantly displays available dates, simplifying the
reservation process. With just a click on the preferred time slot, a user-friendly time
selection interface appears, enabling inconvenient free appointment bookings.
Figure 29:Contacts
The contact details includes essential information such as the salon's address, phone
number, email address, opening hours, location, and links to social media profiles. Visitors
can easily find and access this information to get in touch with the salon for inquiries,
support, or to make changes to their bookings. It is important to ensure that the contact
details are prominently displayed and easily accessible from any page of the website.
The ChangeU Salon prototype website is a comprehensive digital platform designed to
provide an immersive and user-friendly experience for clients seeking premium salon
services. This prototype incorporates a smooth interface, elegant design elements, and
intuitive navigation to showcase the salon's range of offerings and enhance user
engagement. Functional requirements are carefully integrated into the prototype, ensuring
that users can easily explore various services such as procedures, salon, clients, contacts,
and more. The website allows visitors to view detailed service descriptions, pricing,
bookings, and availability, empowering them to make informed decisions.
Non-functional requirements have also been incorporated into the prototype to ensure
optimal performance, security, and accessibility. Fast loading times, responsive design for
different devices, and user-friendly forms for appointments and inquiries enhance the
overall user experience. The website also prioritizes data privacy and employs robust
security measures to protect sensitive customer information.
Requirement traceability
Requirement traceability is a tool used in project management of software development
projects to keep track of requirements and make sure all components have similar quality
and adequate testing. A requirement in a piece of software is a certain way that the software
should function that answers a customer request and corresponds to a certain section of
code. For instance, if a client requests a login password page for some content, the
requirement would be that the login page reject incorrect passwords and responds to the
correct password by linking the user to the content (Indeed.com, 2021)
Importance of requirement traceability
Requirement tracing is essential for ensuring the integrity and consistency of a system. It
establishes a clear linkage between requirements, design, and implementation, enabling
effective change management. By tracing requirements throughout the development
lifecycle, it becomes easier to identify the impact of changes, manage risks, and validate
that all requirements are met. It improves transparency, facilitates effective communication
among stakeholders, and aids in meeting project objectives, enhancing overall quality and
minimizing the likelihood of costly errors or omissions.
Importance of requirement traceability for ChangeU salon
Requirement traceability is important for ChangeU salon as it ensures that all system
requirements are well-defined, documented, and linked to their sources throughout the
entire development process. By establishing traceability, the salon can easily track and
manage the flow of requirements from inception to implementation and beyond. This helps
in maintaining a clear understanding of how each requirement contributes to the overall
system objectives and business goals. Traceability aids in verifying the completeness and
consistency of the system by ensuring that all requirements have been adequately
addressed. It allows stakeholders to monitor the progress of each requirement during
various stages of development, including design, coding, testing, and deployment. This
level of transparency enhances collaboration among team members and reduces the risk of
overlooking critical requirements. Requirement traceability supports effective change
management. As the project evolves, new requirements may emerge, and modifications
might be necessary. Traceability allows the team to assess the impact of changes, helping
them make informed decisions and prioritize updates accordingly. It also facilitates
maintenance and future enhancements, ensuring that any modifications align with the
original scope and business objectives.
and use cases. These links establish traceability from user needs to system functionalities.
During development, WhatsApp's development team ensures that each requirement is
implemented as per the specifications. Once the update is ready for testing, they conduct
thorough testing to verify that all requirements are met, and the system functions as
intended. After successful testing, WhatsApp releases the update to a limited audience for
beta testing. Feedback from beta users is evaluated, and any necessary changes or
improvements are made to meet the traced requirements. At last, the update is released to
the broader user base, and WhatsApp continues to monitor user feedback to ensure that the
traced requirements are fulfilling user expectations.
In the context of ChangeU Salon, similar traceability practices would ensure that customer
and staff needs are accurately reflected in the system's functionalities. By establishing and
maintaining requirement traceability, ChangeU Salon can confidently deliver a high-
quality system that fits with the intended business objectives, maximizes user satisfaction,
and adapts to evolving needs over time. This approach contributes to efficient change
management, easy impact analysis, and effective communication among stakeholders,
ultimately leading to a successful software development and maintenance process.
Software quality
Software quality is the degree to which a software application meets its specified
requirements. High-quality software performs its intended functions without errors or
defects. Software quality is a measure of how well a software system satisfies the needs of
its users, as well as the industry standards and best practices (Kitakabee, 2023)
Key features that conclude software quality include,
▪ Good design – It’s always important to have a good and aesthetic design to please
users.
▪ Reliability – Be it any software it should be able to perform the functionality
impeccably without issues.
▪ Durability - Durability is a confusing term, in this context, durability means the
ability of the software to work without any issue for a long period of time.
▪ Consistency – Software should be able to perform consistently over platform and
devices.
▪ Maintainability – Bugs associated with any software should be able to capture and
fix quickly and news tasks and enhancement must be added without any trouble.
▪ Value for money – Customer and companies who make this app should feel that
the money spent on this app has not fone to waste (Testbytes.net, 2020)
Key strategies to enhance software Quality
Testing and Quality Assurance (QA) - This is one of the fundamental approaches to
ensuring software quality. Testing involves various techniques like unit testing, integration
testing, system testing, and user acceptance testing. QA teams are responsible for
developing test plans, executing tests, identifying, and reporting defects, and verifying that
fixes are effective.
Agile development - Agile methodologies, such as Scrum and Kanban, promote iterative
and incremental development. Regular iterations allow for continuous feedback and
improvement, ensuring that quality issues are addressed early in the development process.
Continuous Integration and Continuous Deployment (CI/CD) - CI/CD practices
involve automating the integration and deployment of code changes to the main software
repository. Frequent integration and deployment help identify and fix issues quickly,
leading to more stable and reliable software.
Code reviews - Code reviews involve peers examining each other's code to identify bugs,
potential improvements, and adherence to coding standards. Code reviews promote
knowledge sharing and lead to higher code quality.
Static code analysis - Static code analysis tools analyze the source code without executing
it, identifying potential issues, security vulnerabilities, and adherence to coding standards.
These tools help developers catch and fix problems early in the development process.
Pair programming - In pair programming, two developers work together on the same code
in real-time. This collaborative approach helps catch errors quickly and improves code
quality through constant discussion and feedback.
Automated testing - Automation of testing processes, including unit tests, integration tests,
and regression tests, allows for faster and more thorough testing, reducing human errors
and ensuring consistent results.
Root cause analysis - When defects or incidents occur, performing RCA helps identify the
underlying cause and prevent similar issues from recurring in the future.
User feedback and usability testing - Gathering feedback from end-users helps
understand their needs and pain points, enabling software improvements that align better
with user expectations.
Security testing - Regular security assessments and penetration testing help identify and
fix vulnerabilities, ensuring the software is robust against potential attacks.
Process improvement and best practices - Establishing and following best practices, such
as version control, documentation standards, and change management procedures, can
significantly contribute to software quality.
Performance testing - Evaluating software performance under various load conditions
helps ensure that it can handle the expected user traffic without degradation in response
time or stability.
Comprehensive approaches for a high quality ChangeU Salon booking system
Enhancing software quality for ChangeU Salon's booking system requires a comprehensive
approach. Testing and Quality Assurance (QA) for important for validating the system's
functionality and identifying potential issues. Thorough testing, including functional,
usability, and security testing, ensures that the system meets the salon's requirements and
delivers a smooth user experience. QA processes provide a systematic approach to
validating the software's quality and ensure that it aligns with client expectations.
Adopting Agile development methodologies enables ChangeU Salon to respond quickly to
changing requirements and prioritize customer-centric features. With iterative development
and regular feedback from stakeholders, Agile fosters continuous improvement and
adaptability, resulting in a high-quality product that evolves with user needs. Continuous
Integration and Continuous Deployment (CI/CD) facilitate automation in the software
development process. By automating the build, testing, and deployment pipelines,
ChangeU Salon can quickly identify and address potential issues, ensuring a stable and
reliable system.
Code reviews and static code analysis help maintain code quality and identify potential
vulnerabilities early in the development process. This collaborative approach ensures that
the team adheres to best coding practices and improves overall code reliability. Pair
programming encourages knowledge sharing and collaborative problem-solving. By
having two developers work together, ChangeU Salon can identify and resolve issues in
real-time, enhancing code quality and reducing defects. Automated testing enables the
salon to execute tests efficiently and consistently, reducing the risk of human error and
ensuring comprehensive test coverage. It also allows for frequent regression testing to
verify that new features do not introduce new bugs. Root cause analysis helps to identify
the underlying causes of defects or issues, allowing the team to address them effectively
and prevent recurrence in the future.
User feedback and usability testing are invaluable for understanding user needs and
preferences. Incorporating user feedback and conducting usability tests help in tailoring the
system to meet customer expectations, enhancing the overall user experience. Security
testing helps in identifying vulnerabilities and weaknesses in the system, ensuring robust
protection of customer data, and preventing potential security breaches. Process
improvement and best practices implementation lead to enhanced efficiency and
consistency in software development. By continuously refining processes, ChangeU Salon
can deliver a high-quality product in a systematic and repeatable manner. Performance
testing ensures that the system can handle expected user loads without performance
degradation. This testing validates the system's responsiveness and scalability, providing a
smooth booking experience for customers. By incorporating these software quality
enhancement practices, ChangeU Salon can deliver a high-quality and customer-centric
system that meets their requirements, providing a better customer service experience.
Approaches to enhance the system quality in the future
To ensure continuous improvement and enhance the system quality for ChangeU Salon in
the future, it is important to consider approaches that can effectively address potential
shortcomings and optimize the overall performance of the system. By adopting proactive
measures and incorporating feedback from stakeholders, the salon can elevate customer
experiences, smooth operations, and stay ahead in a competitive market.
Quality assurance
Quality assurance (QA) is any systematic process of determining whether a product or
service meets specified requirements. QA establishes and maintains set requirements for
developing or manufacturing reliable products. A quality assurance system is meant to
increase customer confidence and a company's credibility, while also improving work
processes and efficiency, and it enables a company to better compete with others (Gillis,
2019)
Importance of quality assurance
Quality assurance can also help identify any potential problems with the product or service.
It can isolate an element of the manufacturing process which can be quickly fixed. It can
also play a large role in controlling costs as it highlights processes that are inefficient or
expensive. Effective QA practices can also enhance a brand's reputation, as customers have
positive experiences with a product. Supervisors may focus on quickly altering production
problems and ensuring no further issues. They also check for damage or contamination
(Indeed.com, 2023)
system's intended look and feel, aligning the expectations of both the stakeholders and the
development team.
Quality assurance for the salon was ansmooth important feature addressed during the
investigation process. By involving key stakeholders and implementing a thorough
requirements gathering process, the investigation ensured that the proposed booking system
would meet the salon's quality standards and customer service expectations. Continuous
integration and deployment, as highlighted in the investigation process, further enhanced
software quality for ChangeU Salon. By setting up automated testing and integration
processes, the development team could ensure that new features and updates were
thoroughly tested and smoothly integrated into the system, minimizing the risk of errors or
disruptions. Security enhancements were also incorporated to enhance software quality for
ChangeU Salon. The investigation process, as detailed on page 91, involved conducting a
security audit of the system to identify potential vulnerabilities and implement measures to
protect customer data and privacy. By prioritizing data security and access controls, the
salon could offer a secure and reliable booking platform for its customers.
The system investigation process for ChangeU Salon was comprehensive and effective in
gathering software requirements and shaping the development of the new booking system.
By using behavioral tools, interviews, and surveys, and supporting the findings with
documentation and a prototype, the investigation ensured that the software requirements
aligned with the salon's goals and addressed practical challenges. Quality assurance,
continuous integration and deployment, and security enhancements further contributed to
the salon's ability to deliver a high-quality and customer-centric booking system. The
systematic approach taken during the investigation phase laid the groundwork for a
successful software development project, meeting the salon's expectations and enhancing
the overall customer experience.
Activity 04
Software behavioral tools and techniques
Software behavioral tools and techniques refer to a set of methodologies, frameworks, and
tools used to analyze and understand the behavior and interactions of software systems.
These tools and techniques help in examining how software components, modules, or
systems behave in different scenarios, allowing developers and testers to gain insights into
their functionality and performance.
Importance of software behavioral design techniques
Software behavioral design techniques are important for developing high-quality and
reliable software systems. These techniques focus on understanding and specifying how
software components interact and behave, ensuring that the desired functionality is
achieved while meeting user requirements. By employing behavioral design techniques,
software professionals can capture and model complex system behaviors, identify potential
issues, and make informed design decisions. This helps in minimizing design flaws,
detecting, and resolving conflicts or inconsistencies in system behavior, and enhancing
overall system performance. Behavioral design techniques aid in verifying and validating
system behavior through techniques like simulation, formal verification, and model
checking, ensuring that the software meets functional requirements and performs as
intended. Software behavioral design techniques contribute to delivering robust, well-
designed software that meets user expectations, enhances user experience, and reduces the
risk of costly errors or failures.
Examples of how behavioral design techniques are used in software,
• Gamification is a behavioral design technique used in software to engage and
motivate users by incorporating game-like elements such as points, badges, and
challenges.
• Personalization is a behavioral design technique used in software to tailor the user
experience based on individual preferences and needs, increasing user engagement.
• Notifications and alerts in software applications leverage psychological principles
to prompt desired user actions and provide updates.
• Progress tracking in software applications visually represents user progress towards
goals, motivating users to continue using the software.
• Social influence is utilized in software applications by incorporating social features
that allow users to connect, share, and interact with others.
Notations Description
Entity Represents a real-world object, concept, or thing that can be
uniquely identified. It is depicted as a rectangle with the entity's
name inside.
Attribute Represents a property or characteristic of an entity. It is shown as an
oval shape connected to the respective entity.
Primary key Indicates the attribute that uniquely identifies each record in an
entity. It is underlined within the attribute oval.
Relationship Represents an association between two or more entities. It is
depicted as a diamond shape, with connecting lines to related
entities.
Cardinality Indicates the number of instances or occurrences in a relationship.
It is shown as notations (1, 1.., 0.., etc.) near the connecting lines.
Notations of ER diagram
Notation Description
Actor Represents an external entity interacting with the system being
modeled.
Use case Represents a specific functionality or behavior that the system
performs, typically described from a user's perspective.
Association Represents a relationship between an actor and a use case,
indicating that the actor interacts with the use case.
Generalization Indicates that one use case is a specialized version of another,
representing an inheritance relationship.
Include Represents the inclusion of one-use case within another, indicating
that the included use case is part of the base use case.
Extend Indicates an optional or alternative behavior that can be added to a
base use case under certain conditions.
System Represents the boundary that encapsulates the system being
boundary modeled, separating it from external actors and systems.
Dependency Indicates a relationship where a change in one element may impact
the other, typically between use cases or actors.
Comment Provides additional explanatory or descriptive information related
to the use case diagram.
3.User story
A user story is a tool in Agile software development used to capture a description of a
software feature from a user's perspective. The user story describes the type of user, what
they want and why. A user story helps to create a simplified description of a requirement.
The purpose of a user story is to write down how a project will deliver value back to the
end user. It is then the development team's job to take care of how to develop the code that
will satisfy the requirements of the user story.
Characteristics of a user story
A user story template often follows the same format. The three components of a user story
are:
• Who - This is typically a job role, customer, or type of user, also known as the user.
• What - This is the goal that the user wants the product to accomplish or implement.
• Why - This is the reason the user needs the feature or functionality (Francino, 2022)
4.Data Flow Diagrams (DFD)
DFDs illustrate the flow of data within a system and how it is processed, transformed, or
stored. These diagrams depict the inputs, outputs, processes, and data stores involved in a
system, providing a visual representation of the behavioral features of data movement and
processing.
Data flow diagram’s basic notations and description
Table 18:Data flow diagram’s basic notations and description
Notations Description
Process Represents a specific function or transformation of data within the
system. It is depicted as a rectangle with rounded corners.
Data flow Represents the movement of data between processes, data stores, and
external entities. It is shown as an arrow indicating the direction of
data flow.
Data store Represents a repository or database where data is stored. It is
depicted as a two parallel vertical lines.
External entity Represents an external agent, either a person or another system, that
interacts with the system. It is shown as a square box.
Data Source/ Represents the origin or destination of data within the system. It is
Sink like an external entity but is specifically used for showing the start or
end points of data flows.
5.Activity diagrams
Activity diagrams are used to model the workflow or flow of activities within a system.
They illustrate the sequence of actions, decisions, and parallel flows involved in a process,
helping to understand the behavior and interactions of components.
Activity diagram’s basic notations and description
Table 19:Activity diagram’s basic notations and description
Notations Description
Activity Represents a specific action or task in the process. It is depicted as a
rounded rectangle with the activity's name inside.
Initial node Indicates the starting point of the activity diagram. It is shown as a
solid-filled circle.
Final node Represents the end point of the activity diagram or a specific process
flow. It is depicted as a solid-filled circle with a border.
Decision node Represents a decision point in the process where different paths are
possible. It is depicted as a diamond shape with arrows indicating the
alternative paths.
Merge node Shows the merging of multiple paths into one after a decision point. It
is depicted as a diamond shape with multiple arrows coming into it.
Fork Represents the splitting of one path into multiple parallel paths. It is
depicted as a solid line with an arrowhead that splits into parallel lines.
Join Represents the merging of multiple parallel paths into one. It is
depicted as multiple lines with arrowheads converging into one line.
Start/End Represents the beginning and the end of concurrent activities. It is
symbol depicted as a hollow circle with multiple outgoing and incoming
arrows.
Control flow Represents the sequence of activities or actions in the process. It is
depicted as an arrow indicating the flow from one activity to another.
The Salon Staff, as another major actor, participates in four primary use cases that allow
them to manage appointments and maintain a well-organized schedule. Managing
appointments empowers salon staff to access the appointment schedule, enabling them to
add, modify, or cancel appointments based on customer preferences and staff availability.
Update availability is a important use case that permits staff to communicate their working
hours and time-off periods, ensuring accurate scheduling and efficient resource allocation.
With access to customer details, staff can retrieve customer profiles containing service
history, preferences, and contact information, promoting personalized customer
interactions. The mark appointment status use case enables staff to update the status of
appointments, ensuring smooth tracking and smooth communication with customers.
The IT team is essential for maintaining the system's functionality and security. Their three
primary use cases are essential for the system's reliability and smooth operation. System
maintenance involves regular updates and upkeep to ensure the booking system operates
efficiently, reducing downtime and enhancing user experience. The troubleshoot issues use
case enables IT professionals to promptly address and resolve technical issues, minimizing
disruptions to salon operations. Data backup and security is a main use case that involves
implementing robust measures to safeguard customer information and regularly backing up
data, ensuring data integrity and customer privacy.
The use case diagram for ChangeU Salon provides a comprehensive understanding of the
interactions between actors and the system, showcasing essential functionalities and roles
within the booking process. By analyzing the use cases of the Customer, Salon Staff, and
IT Team, the salon can make informed decisions to develop a high-quality booking system,
ultimately leading to enhanced customer service and improved salon operations.
gathering customer feedback to gain insights into customer satisfaction and service
improvements. Analyzing feedback data allows the salon to adapt and address customer
needs effectively. The user stories table provides a well-thought-out and balanced set of
features that align with the ChangeU Salon's objectives of delivering exceptional customer
service, optimizing operations, and ensuring data security. By implementing these user
stories, the salon can enhance its service quality, customer experience, and business
performance, establishing itself as a customer-centric and successful salon in the market.
Finite State Machine (FSM)
Finite state machine (FSM) is a term used by programmers, mathematicians, engineers, and
other professionals to describe a mathematical model for any system that has a limited
number of conditional states of being. A practical example of a finite state machine is a set
of buttons on a video game controller that are connected to a specific set of actions within
the game. When a user inputs hitting certain buttons, the system knows to implement the
actions that correspond.
The makeup of a finite state machine consists of the following,
• A set of potential input events.
• A set of probable output events that correspond to the potential input events.
• A set of expected states the system can exhibit.
A finite state machine may be implemented through software or hardware to simplify a
complex problem. Within an FSM, all states in consideration exist in a finite list and the
abstract machine can only take on one of those states at a time. This approach allows each
input and output scenario to be studied and tested (Techtarget.com, 2022)
Purpose of Finite State Machine (FSM)
A Finite State Machine (FSM) is a computational model used to describe the behavior of a
system that can exist in a finite number of states. The purpose of the FSM is to model and
analyze complex systems by breaking them down into a series of well-defined states and
transitions between those states. FSMs are particularly useful in areas such as computer
science, control systems, and software engineering, where the behavior of a system can be
represented in a structured manner. By capturing the possible states and transitions of a
system, FSMs enable the understanding, analysis, and design of systems with discrete and
sequential behavior, ultimately aiding in the development of efficient and reliable systems.
Symbol Meaning
State (Circle) Represents a specific state or condition of the system.
Each circle denotes a unique state.
Transition (Arrow) Represents the change from one state to another based
on a specific trigger or condition.
Start state (⇨) Represents the initial state from which the FSM starts.
It is denoted by an arrow pointing in.
Final state (⇨) Represents the end state of the FSM or a state where
the system terminates.
Decision (Rhombus) Represents a conditional check or decision point where
multiple transitions are possible.
Self-transition A transition where the state changes, but the system
remains in the same state.
Differences between Finite State Machine and Extended Finate State Machine
Table 22:Differences between Finite State Machine and Extended Finate State Machine
The above Finite State Machine (FSM) diagram proposed for the ChangeU Salon website
provides a comprehensive representation of the website's user flow and behavior. As a
mathematical model, the FSM efficiently captures the various states, transitions, and
actions triggered by those transitions, enabling a clear understanding of how users interact
with the website. At its core, the FSM diagram presents five distinct states that users
encounter while navigating the salon's website. The Home state serves as the initial point
of entry, welcoming users to the website. From here, users can choose to explore different
features of the salon by transitioning to other states. The Services state allows users to
delve into the salon's offered services such as hair cutting, hair coloring, makeup, facial,
massage and packages, providing them with detailed information about the range of
treatments and experiences available.
Moving on to the Book Appointment state facilitates users in scheduling appointments
conveniently. Users can input their desired date and time, ensuring a smooth booking
process. The Contact state serves as a resource for users to obtain essential contact
information, empowering them to get in touch with the salon for inquiries, questions, or
further assistance. The About Us state acquaints users with the salon's background and
atmosphere, fostering a sense of connection and trust between the salon and its visitors.
The transitions between states, indicated by arrows in the diagram, illustrate the user actions
that trigger the movement from one state to another. For instance by clicking on the
Services link while in the Home state, users smoothly transition to the Services state,
granting them access to comprehensive information about the salon's offerings. Likewise,
users can effortlessly navigate back to the Home state by submitting the appointment form
in the Book Appointment state or clicking on the corresponding links in other states.
This FSM diagram provides a systematic and intuitive representation of the ChangeU Salon
website's user experience. It empowers website designers, developers, and stakeholders to
grasp the user flow, identify potential bottlenecks, and enhance the website's overall
usability. By understanding the behavioral features of the website, salon owners and
developers can optimize the user journey, ensuring a smooth and delightful experience for
all visitors.
Extended Finite State Machine (EFSM)
An extended finite-state machine (EFSM) refers to an advanced model of a finite-state
machine that incorporates additional features such as parameters, guards, and actions. It is
an expansion of the traditional finite-state machine concept that allows for more complex
and flexible state transitions and behavior. EFSMs are commonly used in various fields,
including computer science, software engineering, and formal verification, where complex
systems require more expressive modeling capabilities (Definitions.net, 2022)
Purpose of Extended Finite State Machine (EFSM)
The purpose of an Extended Finite State Machine (EFSM) is to model complex systems
and provide a more expressive representation of their behavior compared to traditional
Finite State Machines (FSM). EFSMs extend FSMs by incorporating additional features,
such as data variables, conditions, and actions, enabling them to handle more sophisticated
logic and interactions. With EFSMs, one can effectively capture intricate decision-making
processes and the dynamic nature of modern systems. This enhanced modeling capability
aids in designing and analyzing systems with multiple states, ensuring accurate and
comprehensive representation of the system's behavior, and enabling more efficient
development and testing processes.
Application of Extended Finite State Machine (EFSM)
User interface design: EFSMs are useful for designing user interfaces, as they allow
capturing different user interactions and interface states to ensure a smooth and intuitive
user experience.
Hardware design: EFSMs are utilized in hardware design to model the behavior of digital
circuits and systems, optimizing their functionality and performance.
Business process modeling: EFSMs help in modeling complex business processes and
workflows, enabling effective analysis and optimization of process logic.
Network protocols: EFSMs are applied in the specification and analysis of network
protocols to ensure proper communication and coordination between network elements.
Game development: EFSMs are used in the development of video games to model the
behavior of characters, game states, and interactions within the game world.
EFSM for ChangeU salon booking system
Figure 42:EFSM for ChangeU salon booking system
The Extended Finite State Machine (EFSM) diagram for the ChangeU Salon website
online booking system represents the different states and transitions that a user can
experience while interacting with the website. Each state reflects a specific stage or screen
that the user encounters during the online booking process.
1. Initial state: Home
The "Home" state serves as the entry point to the website. It presents visitors with a
welcoming homepage containing essential information about the salon, its services, and
any ongoing promotions. Users can easily navigate from this state to explore the various
features of the website.
2. State: Login
In the "Login" state existing customers have the option to access their accounts by
providing their credentials. By logging in, users can unlock personalized features, view
their previous appointments, and manage their profiles. This state enables a secure and
personalized experience for returning customers.
3. State: View services
The "View services" state offers users an extensive list of services provided by the salon.
Users can browse through the salon's offered services, such as haircuts, facial, styling,
makeup, massage, hair removal and spa treatments. Each service is accompanied by
detailed descriptions, pricing, and the option to view available appointment slots. Users can
browse through the services and select the ones that meet their preferences and needs.
4. State: Make appointment
Upon selecting a particular service from the "View services" state, users transition to the
"Make appointment" state. Users can choose their preferred date and time for the
appointment. The system ensures that the selected time slot fits with the salon's availability,
reducing the risk of overbooking.
5. State: Confirm appointment
After choosing the desired date and time, users move to the "Confirm appointment" state.
This state provides a summary of the selected service, date, and time. Users can review
their appointment details for accuracy before proceeding to the next step.
6. State: Payment
In the "Payment" state, the online transaction for the appointment takes place. The system
supports various secure payment options, allowing customers to complete the booking
process smoothly. Payment gateways are integrated to ensure confidentiality and safety of
users' financial information.
7. State: receive notifications
Once the payment is successfully processed, users enter the "Receive notifications" state.
In this state, the system generates and sends automated notifications to the user, confirming
the appointment and providing relevant details. These notifications serve as reminders for
the upcoming appointment and contribute to reducing no-shows.
8. State: View profile
The "View profile" state allows users to access their profiles, where they can view their
appointment history, personal details, and loyalty points if applicable. This state empowers
customers to track their salon visits, review past services, and plan future appointments
conveniently.
For future enhancements, the data-driven software could incorporate a rating and feedback
system. After each appointment, customers can provide ratings and feedback on their
experience, allowing the salon to continuously improve its services. This iterative approach
ensures that the salon stays attuned to customer needs and preferences, driving customer
loyalty and positive word-of-mouth. By analyzing customer feedback, the salon can
identify areas for improvement and implement changes to enhance the overall customer
experience continually.
The software could introduce a smart booking recommendation feature. By suggesting the
most suitable time slots for customers based on their preferences, staff availability, and
historical data, the software smooths the booking process and minimizes scheduling
conflicts. This not only makes the booking experience more efficient for customers but also
reduces the likelihood of last-minute cancellations or changes. Data-driven software also
optimizes revenue by identifying the most profitable services and promotions. Armed with
this information, the salon can focus on revenue-generating activities while ensuring that
high-quality customer service remains a top priority. For instance, if certain services have
a higher profit margin, the salon can strategically promote those services to increase
revenue. The integration of customer preferences and feedback mechanisms into the system
enables the salon to gather valuable insights into service quality and identify areas that
require attention. This valuable feedback can be used to refine services and further boost
customer satisfaction.
Embracing data-driven software enables ChangeU salon to create a reliable and effective
booking system that caters to customer preferences and smooths the overall operation. This
data-driven approach allows ChangeU to fulfill its main requirement of providing a high-
quality product without being constrained by budget and time limitations. The salon can
raise its customer service and establish itself as a leader in the industry, building strong
customer relationships and fostering business growth.
Reference
Synopsys (2019). What Is the Software Development Life Cycle (SDLC) and How Does It
Work? | Synopsys. [online] Synopsys.com. Available at:
https://www.synopsys.com/glossary/what-is-sdlc.html [Accessed 1 Jul. 2024].
Simplilearn.com. (2012). Feasibility Study and Its Importance in Project Management for
2022 | Simplilearn. [online] Available at: https://www.simplilearn.com/feasibility-study-
article#what_is_a_feasibility_study [Accessed 1 Jul. 2024].
www.knowledgehut.com. (n.d.). Types of Feasibility Study in Project Management:
Meaning, Purpose. [online] Available at: https://www.knowledgehut.com/blog/project-
management/types-of-feasibility-study-in-project-management [Accessed 2 Jul. 2024].
kissflow (2022). Rapid Application Development (RAD) | Definition, Steps & Full Guide.
[online] kissflow.com. Available at: https://kissflow.com/application-
development/rad/rapid-application-development/ [Accessed 2 Jul. 2024].
Wrike (2022). What is Agile Methodology in Project Management? [online] Wrike.
Available at: https://www.wrike.com/project-management-guide/faq/what-is-agile-
methodology-in-project-management/ [Accessed 3 Jul. 2024].
The Economic Times (2019). Definition of Waterfall Model | What Is Waterfall Model ?
Waterfall Model Meaning - the Economic Times. [online] The Economic Times. Available
at: https://economictimes.indiatimes.com/definition/waterfall-model [Accessed 4 Jul.
2024].
Indeed Career Guide. (n.d.). What Is A Feasibility Report? (Definition and Template).
[online] Available at: https://www.indeed.com/career-advice/career-
development/feasibility-report [Accessed 5 Jul. 2024].
software.fujitsu.com. (n.d.). 3.1 Overview of Software Investigation Information
Collection. [online] Available at:
https://software.fujitsu.com/jp/manual/manualfiles/M050010/C112B067/05ENZ2A/remcs
03/remcs074.htm#:~:text=The%20software%20investigation%20information%20(hereaft
er [Accessed 6 Jul. 2024].
SearchSoftwareQuality. (n.d.). Software Requirements Specification (SRS). [online]
Available at: https://www.techtarget.com/searchsoftwarequality/definition/software-
requirements-specification [Accessed 7 Jul. 2024].
techterms.com. (n.d.). System Requirements Definition. [online] Available at:
https://techterms.com/definition/system_requirements [Accessed 8 Jul. 2024].
Figure references
builtin.com. (n.d.). What Is the V-Model? (Definition, Examples) | Built In. [online]
Available at: https://builtin.com/software-engineering-perspectives/v-model [Accessed 16
Jul. 2024].
Software Development Life Cycle (SDLC) - Big water Consulting. (2019). Big water
Consulting. [online] 8 Apr. Available at: https://bigwater.consulting/2019/04/08/software-
development-life-cycle-sdlc/ [Accessed 16 Jul. 2024].
actiTIME - Time Tracking Software. (2022). How to Use the Waterfall Method in Any
Project: actiTIME Guide. [online] Available at: https://www.actitime.com/project-
management/waterfall-model [Accessed 18 Jul. 2024].
DEV Community. (n.d.). The best SDLC Model to deploy in Software Dev. [online]
Available at: https://dev.to/azubuikeduru/the-best-sdlc-model-to-deploy-in-software-dev-
3ek [Accessed 16 Jul. 2024].
www.credencys.com. (n.d.). Agile Methodology in Software Development | Credencys
Solutions. [online] Available at: https://www.credencys.com/our-methodology/ [Accessed
18 Jul. 2024].
Visual Paradigm (2019). What is Activity Diagram? [online] Visual-paradigm.com.
Available at: https://www.visual-paradigm.com/guide/uml-unified-modeling-
language/what-is-activity-diagram/ [Accessed 19 Jul. 2024].
Chi, C. (2021). A Beginner’s Guide to Data Flow Diagrams. [online] Hubspot.com.
Available at: https://blog.hubspot.com/marketing/data-flow-diagram [Accessed 16 Jul.
2024].
creately.com. (2022). Use Case Diagram Tutorial (Guide with Examples) | Creately.
[online] Available at: https://creately.com/guides/use-case-diagram-tutorial/ [Accessed 19
Jul. 2024].
kissflow.com. (n.d.). 3 RAD Examples That Show How Easy Development Can Be.
[online] Available at: https://kissflow.com/application-development/rad/rad-examples-
automating-key-business-processes-ease/ [Accessed 20 Jul. 2024].
cs.uwlax.edu. (n.d.). Informal Semantics for UML Use Case Diagrams. [online] Available
at: https://cs.uwlax.edu/~mzheng/CS743Fall19/UseCaseDiagrams.html [Accessed 22 Jul.
2024].