0% found this document useful (0 votes)
4 views

SDLC

The document outlines the assignment brief for the Higher National Diploma in Software Engineering, focusing on Software Development Lifecycles. It includes guidelines for assessment, internal verification processes, and specific learning outcomes related to software development models and feasibility studies. Additionally, it provides case studies for practical application and emphasizes the importance of proper documentation and adherence to academic integrity standards.

Uploaded by

maha1176jega
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

SDLC

The document outlines the assignment brief for the Higher National Diploma in Software Engineering, focusing on Software Development Lifecycles. It includes guidelines for assessment, internal verification processes, and specific learning outcomes related to software development models and feasibility studies. Additionally, it provides case studies for practical application and emphasizes the importance of proper documentation and adherence to academic integrity standards.

Uploaded by

maha1176jega
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 150

HIGHER NATIONAL DIPLOMA IN

SOFTWARE ENGINEERING.

Software Development Life Cycle

S.Piravaksan
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)

INTERNAL VERIFICATION – ASSESSMENT DECISIONS

Programme title BITEC Higher National Diploma in Computing

Ms.Thanusha
Assessor Internal Verifier
Unit 7 – Software Development Lifecycles
Unit(s)

Assignment title Software Development Lifecycles Assignment


Sivaneswaran Piravaksan
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.

INTERNAL VERIFIER CHECKLIST

Do the assessment criteria awarded match


those shown in the assignment brief? Y/N

Is the Pass/Merit/Distinction grade awarded


justified by the assessor’s comments on the Y/N
student work?
Has the work been assessed
Y/N
accurately?
Is the feedback to the student:
Give details:
• Constructive? Y/N
• Linked to relevant assessment criteria? Y/N
• Identifying opportunities for Y/N
improved performance?
• Agreeing actions? Y/N
Does the assessment decision need
Y/N
amending?

Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if required)
Date

Confirm action completed


Remedial action taken
Give details:

Assessor signature Date

Internal Verifier
Date
signature
Programme Leader
Date
signature (if required)
Assignment Feedback Form
Student Name/ID Sivaneswaran Piravaksan/E187238

Unit Title Unit 7 – Software Development Lifecycles

Assignment Number Assessor Ms.Thanusha

28.07.2024 Date Received 28.07.2024


Submission Date
1st submission
Date Received 2nd
Re-submission Date
submission
Assessor Feedback:
LO1 Describe different software development lifecycles
Pass, Merit & Distinction P1 P2 M1 D1
Descripts
LO2 Explain the importance of a feasibility study
Pass, Merit & Distinction P3 P4 M3 D2
Descripts

LO3 Undertake a software development lifecycle

Pass, Merit & Distinction P5 P6 M3 M4 D3


Descripts
LO4 Discuss the suitability of software behavioural design techniques.

Pass, Merit & Distinction P7 M5 M6 D4


Descripts

Grade: Assessor Signature: Date:

Resubmission Feedback:

Grade: Assessor Signature: Date:

Internal Verifier’s Comments:

Signature & Date:

* 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

Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor


Assessor signature Date

Student signature [email protected] Date 28.07.2024


Pearson Higher Nationals in
Computing
Unit 7: Software Development Lifecycles
Assignment
General Guidelines

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.

Word Processing Rules

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.

1. I know that plagiarism is a punishable offence because it constitutes theft.


2. I understand the plagiarism and copying policy of Pearson UK.
3. I know what the consequences will be if I plagiarise or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be my own,
and where I have made use of another’s work, I will attribute the source in the correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Pearson UK.
6. I understand that my assignment will not be considered as submitted if this document is not
attached to the assignment.

Student’s Signature: [email protected] Date: 28.07.2024


(Provide E-mail ID) (Provide Submission Date)
Higher National Diploma in Business
Assignment Brief
Student Name /ID Number Sivaneswaran Piravaksan/E187238

Unit Number and Title Unit 7: Software Development Lifecycles

Academic Year 2022/23

Unit Tutor Ms.Thanusha

Assignment Title Software Development Lifecycles Assignment

Issue Date 28.06.2024

Submission Date 28.07.2024

IV Name & Date

Submission format

This assignment consists of section A and section B.

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.

The recommended word count is 4,500–5,000 words excluding annexures..


Minimum word count – 4,500
Maximum word count – 5,000
Unit Learning Outcomes:

By the end of this unit students will be able to:

LO1 Describe different software development lifecycles


LO2 Explain the importance of a feasibility study
LO3 Undertake a software development lifecycle
LO4 Discuss the suitability of software behavioral design techniques.
Assignment Brief and Guidance:

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

Grading Criteria Achieved Feedback


LO1 Describe different software development lifecycles

P1 Describe two iterative and two sequential software


lifecycle models.
P2 Explain how risk is managed in software lifecycle
models.
M1 Discuss using an example, why a particular lifecycle
model is selected for a development environment.
D1 Assess the merits of applying the Waterfall lifecycle
model to a large software development project.

LO2 Explain the importance of a feasibility study

P3 Explain the purpose of a feasibility report.

P4 Describe how technical solutions can be compared.

M2 Discuss the components of a feasibility report.

14
D2 Assess the impact of different feasibility criteria on a
software investigation.

LO3 Undertake a software development lifecycle


P5 Undertake a software investigation to meet a business
need.

P6 Use appropriate software analysis tools/techniques to


carry out a software investigation and create supporting
documentation.

M3 Analyse how software requirements can be traced


throughout the software lifecycle.

M4 Discuss two approaches to improving software quality

D3 Evaluate the process of undertaking a systems


investigation with regard to its effectiveness in improving a
software quality.

15
LO4 Discuss the suitability of software behavioural design techniques

P7 Discuss, using examples, the suitability of software


behavioural design techniques

M5 Analyze a range of software behavioural tools


and techniques.

M6 Differentiate between a finite state machine


(FSM) and an extended FSM, providing an
application of use for both

D4 Present justifications of how data-driven software


can improve the reliability and effectiveness of
software

16
HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Table of Contents
ACKNOWLEDGEMENT ................................................................................................. 25

Activity 01 ......................................................................................................................... 25

Software Development Life Cycle................................................................................. 26

Common phases of Software Development Life Cycle ................................................. 27

Software Development Life Cycle Models.................................................................... 31

Sequential model ........................................................................................................ 32

Iterative model ........................................................................................................... 36

Risk ................................................................................................................................ 40

Risk management ........................................................................................................... 40

Steps in risk management. ......................................................................................... 40

SDLC model and their risk management approaches .................................................... 41

The importance of risk management in software development lifecycle models .......... 44

Introduction for chosen case .......................................................................................... 45

Selected SDLC model for the case ............................................................................ 45

Assessing the merits of applying the waterfall model to the development of a Wildlife
Safari System ................................................................................................................. 47

Activity 02 ......................................................................................................................... 49

Feasibility study ............................................................................................................. 49

Types of feasibility study ........................................................................................... 49

Benefits of feasibility study ....................................................................................... 50

Importance of feasibility study .................................................................................. 50

Feasibility study report .................................................................................................. 50

Purpose of a feasibility study report .......................................................................... 51

Benefits of a feasibility study report .......................................................................... 51

Benefits of conducting a feasibility study for ChangeU salon's booking system project
........................................................................................................................................ 52

S.Piravaksan Software Development Life Cycle ID:RE63300 17


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Feasibility study report for ChangeU salon ................................................................... 53

Project description ..................................................................................................... 55

Objective of the project .............................................................................................. 55

Need for the project ................................................................................................... 55

Technical feasibility ................................................................................................... 55

Economic feasibility .................................................................................................. 56

Operational feasibility ................................................................................................ 58

Legal feasibility ......................................................................................................... 59

Schedule feasibility .................................................................................................... 59

Conclusion ................................................................................................................. 60

References .................................................................................................................. 61

The components of feasibility study report of ChangeU Salon ..................................... 63

Technical solution .......................................................................................................... 65

Types of technical solution ........................................................................................ 65

Differences between tailor made software, COTS software and Standalone system
software .......................................................................................................................... 67

The ideal choice for ChangeU Salon's booking system ................................................. 68

Website .......................................................................................................................... 69

Mobile app ..................................................................................................................... 69

The optimal choice for ChangeU Salon's booking system ............................................ 70

Impact of different feasibility criteria used for the system investigation ...................... 71

Activity 03 ......................................................................................................................... 74

Software investigation ................................................................................................... 74

The importance of software investigation.................................................................. 74

The importance of software investigation for meeting business needs ......................... 75

Steps in software requirements investigation ................................................................ 76

S.Piravaksan Software Development Life Cycle ID:RE63300 18


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Software investigation for implementing a robust booking tracking system at ChangeU


Salon .............................................................................................................................. 77

Software Requirements Specification (SRS) ................................................................. 78

System requirements ...................................................................................................... 78

Functional requirements for ChangeU Salon system..................................................... 79

Nonfunctional requirements for ChangeU Salon ........................................................... 80

Software analysis tools and techniques.......................................................................... 81

Commonly used software analysis tools .................................................................... 81

Software requirements specification of ChangeU salon system .................................... 83

Table of content ............................................................................................................. 84

1.Introduction ............................................................................................................. 85

1.1 Purpose of the report ............................................................................................ 85

1.2 Scope .................................................................................................................... 85

1.3 Software analysis tools for requirement collection .............................................. 85

1.4 Interview with ChangeU Salon General Manager ............................................... 86

1.5 Summary of interview with ChangeU Salon general manager, Ms. Lisa Edelstein
.................................................................................................................................... 88

1.6 Survey with ChangeU Salon staffs ...................................................................... 89

1.7 Justification of survey with system requirements ................................................ 92

References .................................................................................................................. 93

Supporting documentation ............................................................................................. 95

Essential supporting documentation .......................................................................... 95

Requirement document for ChangeU Salon ................................................................. 96

Use case diagram for ChangeU Salon’s system ............................................................ 98

Prototype website design for ChangeU Salon ............................................................... 99

Future implementation for ChangeU Salon system ..................................................... 104

Requirement traceability .............................................................................................. 105

S.Piravaksan Software Development Life Cycle ID:RE63300 19


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Importance of requirement traceability .................................................................... 105

Importance of requirement traceability for ChangeU salon .................................... 105

Requirement traceability throughout the software lifecycle for ChangeU Salon ........ 106

Software quality ........................................................................................................... 107

Key strategies to enhance software Quality ............................................................. 108

Comprehensive approaches for a high quality ChangeU Salon booking system ........ 109

Quality assurance ......................................................................................................... 110

Importance of quality assurance .............................................................................. 110

The importance of quality assurance for ChangeU Salon system ........................... 111

Continuous integration and deployment to enhancing software quality for ChangeU


Salon ............................................................................................................................ 112

Security enhancements to enhance software quality for ChangeU Salon.................... 113

Evaluation of system investigation process for ChangeU Salon ................................. 114

Activity 04 ....................................................................................................................... 116

Software behavioral tools and techniques.................................................................... 116

Importance of software behavioral design techniques ............................................. 116

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

Software behavioral design technique tools ................................................................ 120

1.Entity Relationship (ER) Diagram ........................................................................ 120

2.Use case diagram .................................................................................................. 122

3.User story .............................................................................................................. 124

4.Data Flow Diagrams (DFD).................................................................................. 124

5.Activity diagrams .................................................................................................. 126

1.Use case diagram for ChangeU Salon ...................................................................... 128

S.Piravaksan Software Development Life Cycle ID:RE63300 20


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Use case diagram analysis for ChangeU Salon to enhance customer service through
efficient booking ...................................................................................................... 130

User stories of ChangeU salon ..................................................................................... 132

Finite State Machine (FSM)......................................................................................... 135

Purpose of Finite State Machine (FSM) .................................................................. 135

Application of Finite State Machine (FSM) ............................................................ 136

FSM diagram’s notations ......................................................................................... 136

The symbols used in Finite State Machine (FSM) diagram .................................... 137

Differences between Finite State Machine and Extended Finate State Machine .... 138

FSM for ChangeU salon booking system .................................................................... 139

Extended Finite State Machine (EFSM) ...................................................................... 140

Purpose of Extended Finite State Machine (EFSM) ................................................ 140

Application of Extended Finite State Machine (EFSM) .......................................... 140

EFSM for ChangeU salon booking system.................................................................. 141

Data driven software .................................................................................................... 143

Benefits of data driven software .............................................................................. 143

The impact of data-driven software to enhancing reliability and effectiveness ...... 144

Data-driven software to enhancing reliability and effectiveness for ChangeU salon .. 145

Reference ......................................................................................................................... 147

Figure references .............................................................................................................. 149

S.Piravaksan Software Development Life Cycle ID:RE63300 21


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 22


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 23


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 33:Use case diagram symbol ................................................................................ 123


Figure 34:Example for use case diagram ......................................................................... 123
Figure 35:Data flow diagram’s basic notations ............................................................... 125
Figure 36:An example of a data flow diagram ................................................................ 125
Figure 37:An example of an activity diagram ................................................................. 127
Figure 38:Use case diagram for ChangeU Salon ............................................................. 128
Figure 39:FSM diagram’s notations ................................................................................ 136
Figure 40:Example for FSM diagram .............................................................................. 137
Figure 41:FSM for ChangeU salon booking system. ...................................................... 139
Figure 42:EFSM for ChangeU salon booking system ..................................................... 141

S.Piravaksan Software Development Life Cycle ID:RE63300 24


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 25


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 26


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Common phases of Software Development Life Cycle


1.Planning Phase - In this phase, the software development team identifies the project
goals and requirements, the feasibility of the project, and the resources needed. The team
creates a project plan that outlines the scope of the project, budget, timelines, and risks
associated with the project.
Types of planning
▪ Project planning - It focuses on the overall project, including the scope, schedule,
budget, and resources.
▪ Requirements planning - This type of planning focuses on identifying and
documenting the requirements for the software.
▪ Design planning - It involves creating the software's architecture and individual
parts.
▪ Development planning - The development of the software, including the coding,
testing, and debugging, is the focus of this style of planning.
▪ Testing planning - It focuses on testing the software to ensure that it meets the
requirements.
▪ Deployment planning - This kind of planning is concentrated on putting the
programme into use.
▪ Maintenance planning - After the software has been installed, maintenance is the
main emphasis of this form of planning.
2.Analysis Phase - Software development team analyzes the requirements gathered in the
planning phase. The team identifies the technical specifications, system architecture, and
design requirements for the software product. It also includes functional and nonfunctional
requirements.

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 27


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

▪ 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.

S.Piravaksan Software Development Life Cycle ID:RE63300 28


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 29


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 30


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

▪ Preventive maintenance - The goal of preventive maintenance is to locate possible


issues and address them before they result in an interruption or other consequence.
Performance optimization, security updates, and code reviews are some examples
of this.
Software Development Life Cycle Models
Software Development Life Cycle models are systematic approaches used to develop
software. They provide a framework for the entire software development process, from
planning and design to maintenance and retirement.
Some examples for SDLC Models:
• Waterfall Model.
• V shaped Model.
• RAD Model.
• Spiral Model.
• Agile Model.
• Prototype Model.

Figure 2:SDLC Models.

S.Piravaksan Software Development Life Cycle ID:RE63300 31


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Software development life cycle model has two types:


▪ Iterative models.
Agile Model
Spiral Model
RAD Model
▪ Sequential models.
Waterfall Model.
V- Model
Sequential model
Sequential Model is a linear and sequential approach to software development where each
phase must be completed before moving to the next.
Waterfall model
Waterfall model is a software development methodology that follows a linear, sequential
approach. It consists of distinct phases, such as requirements gathering, design,
implementation, testing, and maintenance. Each phase must be completed before moving
to the next one. This model is easy to understand and manage, but it can lead to delays and
costly changes if requirements are not properly defined at the beginning (Indiatimes.com,
2019)

Figure 3:Waterfall model.

S.Piravaksan Software Development Life Cycle ID:RE63300 32


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Benefits and constrains of waterfall model


Table 1:Benefits and constrains of waterfall model.

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

Examples of the use of the waterfall model in real life


Developing a new software application
A new software application can be developed using the waterfall model. Gathering
requirements, such as the features the application should have, the target audience, and the
budget, would be the first step. The design of the application would come next, entailing
the production of wireframes and user narratives. The third stage would involve creating
the programme, which would entail creating the code, testing it, and fixing any bugs.
Deploying the programme, which entails making it accessible to users, would be the fourth
phase.
Launch a new product
The waterfall model can also be used to launch a new product. Gathering requirements,
such as the target market, the intended price point, and the marketing plan, would be the
first step. The process of designing the product would come next, entailing the development
of prototypes and user testing. Finding a manufacturer and setting up production would be
the third phase, which would be manufacturing the product. The product's launch, which
entails marketing it and making it accessible to buyers, would be the fourth stage.

S.Piravaksan Software Development Life Cycle ID:RE63300 33


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

Examples of the use of the V model in real life


Medical – It is used in the medical industry to develop medical devices, such as pacemakers
and defibrillators. V-Model enables the medical industry's strict safety and efficacy
standards for these devices to be met.
Aerospace industry - The aircraft industry uses the V-Model to create avionics systems
including flight control and navigation systems. The V-Model enables the aerospace
industry's strict safety standards for these systems to be met.

S.Piravaksan Software Development Life Cycle ID:RE63300 34


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Benefits and constraints of V-model


Table 2:Benefits and constraints of V-model.
Benefits Constraints
Clear and structured approach to software Rigid and inflexible when changes are
development. required.
Emphasizes early and continuous testing, Requires a well-defined and stable set of
leading to higher quality software. requirements upfront.

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.

Helps in establishing traceability between Dependencies on external factors can impact


requirements, design, and test cases. project timelines.

Improves communication and collaboration Limited flexibility for accommodating


between development and testing teams. evolving requirements.

The V-model consists of several phases, which are outlined below:


1. Requirement Analysis.
2. System Design.
3. System Architecture Design.
4. Module Design.
5. Coding
6. Unit testing
7. Integration testing
8. System testing
9. Acceptance testing

S.Piravaksan Software Development Life Cycle ID:RE63300 35


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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)

Figure 5:Agile Model

Examples of projects that use the agile model


Marketing - Agile can be used in marketing to make sure that advertising initiatives are
successful. This is accomplished by breaking the marketing campaign down into
manageable, iterative steps, testing those steps, and refining the strategy until it is effective.

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 36


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Benefits and constraints of Agile model


Table 3:Benefits and constraints of Agile model.
Benefits Constraints
Increased customer satisfaction Increased risk of technical debt
Allows for frequent changes and It demands skilled and dedicated team
adaptability throughout the development members who are adept at collaboration
process. and continuous improvement.
Increased transparency It may face challenges when scaling up for
It promotes a culture of continuous larger and more complex projects or
learning, adaptation, and process organizations.
improvement.
Increased transparency Increased complexity
It’s iterative approach enables early Due to the dynamic nature of Agile, it can
identification and mitigation of project be challenging to accurately estimate
risks. project timelines and budgets.

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.

Figure 6:Spiral Model.

S.Piravaksan Software Development Life Cycle ID:RE63300 37


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Benefits and constraints of spiral model

Table 4:Benefits and constraints of spiral model.

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.

Examples of projects that use the spiral model


Healthcare information system - Handling sensitive patient data, observing legal
regulations, and integrating with diverse healthcare providers are all features of developing
healthcare information systems. Such initiatives have used the spiral model to handle the
risks related to data security, regulatory compliance, and interoperability. Iterative
development cycles enable regular stakeholder feedback, allowing the system to adapt to
user needs and shifting rules.

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 38


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Rapid Application Development (RAD) Model


Rapid Application Development is a software development methodology that uses minimal
planning in favor of rapid prototyping. A prototype is a working model that is functionally
equivalent to a component of the product. In the RAD model, the functional modules are
developed in parallel as prototypes and are integrated to make the complete product for
faster product delivery. Since there is no detailed preplanning, it makes it easier to
incorporate the changes within the development process. RAD projects follow iterative and
incremental models and have small teams comprising of developers, domain experts,
customer representatives and other IT resources working progressively on their component
or prototype. The most important feature for this model to be successful is to make sure
that the prototypes developed are reusable (Kissflow.com, 2022)

Figure 7:RAD Model

Benefits and constraints of RAD model

Table 5:Benefits and constraints of RAD model

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

S.Piravaksan Software Development Life Cycle ID:RE63300 39


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Examples of projects that use the RAD model


E-commerce Website Development - Building an e-commerce website using the RAD
model allows for rapid development and frequent iterations based on user feedback. This
approach ensures that the website meets the evolving needs of customers and incorporates
new features quickly.
Mobile App Development - RAD is often employed in the development of mobile
applications where time-to-market is essential. The model enables iterative development
and prototyping of app features, allowing for quick iterations and adjustments based on
user experience and market demands.
Software Tool Development - RAD is often employed in the development of specialized
software tools, such as project management tools, collaboration platforms, or data
visualization software. The iterative approach of RAD ensures that the tools are developed
rapidly and continuously improved based on user feedback.
Risk
Software development risks are factors that can affect the success of a software
development project. Potential software development risks can occur both internally and
externally. It's important to prepare for and reduce software development risks to make a
project successful (Indeed.com, 2023)
Risk management
Risk management is an essential part of software development life cycle. It involves
identifying, assessing, and mitigating potential risks that may impact the development
process, timeline, and final product quality. It can help ensure project success and minimize
costly mistakes.
Steps in risk management.
Identify risks - The first step is to identify potential risks that could affect the software
project.
Analyze risks - After identifying risks, they need to be analyzed to determine their
likelihood and impact on the project.
Evaluate risks - Based on the analysis, the risks are evaluated to determine which ones are
the most significant and require immediate attention.
Develop a risk management plan - Once the risks have been identified, analyzed, and
evaluated, a plan is created to reduce the risks.

S.Piravaksan Software Development Life Cycle ID:RE63300 40


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

No SDLC model Risk management approach


01 Waterfall model • Risks are identified and documented at the
beginning of the project.
• Mitigation strategies are developed and
implemented sequentially.
• Testing and validation phases help identify
and address potential risks.
• The linear nature of the model allows for
more focused risk management.
02 Agile model • Continuous risk identification and
assessment throughout the project.
• Regular iterations and feedback loops
enable quick risk response.
• Risk prioritization based on impact and
probability for effective management.
• Agile teams collaborate to address risks
and implement mitigation strategies.
03 Spiral model • Risks are identified, evaluated, and
addressed at each spiral phase.
• Regular prototyping and testing aid in risk
discovery and management.
• Risk analysis and mitigation activities are
integrated throughout the process.
• Stakeholder involvement helps in early risk
identification and resolution.

S.Piravaksan Software Development Life Cycle ID:RE63300 41


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

04 V model • Risk analysis and mitigation activities


integrated at each stage.
• Verification and validation steps help
identify and address risks.
• Rigorous testing ensures the early detection
of potential risks.
• The parallel development and testing
approach allow for risk containment.
Table 6:SDLC model and their risk management approach

Risk management for Waterfall model


In the Waterfall model, the management of risks entails the early identification of possible
risks in the development cycle and the creation of a plan to reduce them. Each risk is
evaluated for its possibility and impact, the best course of action is chosen, and the risks
are tracked throughout the project. Instead of responding to hazards after they have already
occurred, the focus is on preventing them from happening. Regular reviews and
communication with stakeholders are also considered essential to ensure that risks are
effectively identified and managed. Risk management is regarded as an important feature
of the Waterfall model to ensure project success and potential negative impacts are reduced.
Risk management for Agile model
In the Agile model, risk management involves the identification of potential risks
throughout the development cycle and the adaptation to changes as they arise. Agile teams
place a high priority on ongoing stakeholder collaboration and communication to recognize
and manage risks as they arise. To lessen the effects of any possible risks, risk mitigation
measures are incorporated into the development process, and the team continually
examines and modifies their strategy. Retrospectives are conducted on a regular basis to
help the team identify hazards and learn from them so that they can better manage risks on
future projects. Effective risk management in a dynamic development environment is
enabled by Agile model's flexible and iterative approach.

S.Piravaksan Software Development Life Cycle ID:RE63300 42


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Risk management for V model


In the V model, risk management is considered an important component, which is
emphasized by testing and verification at each stage of the development cycle. Potential
risks are identified early in the development process, and a plan is created to reduce them.
This involves assessing the impact and likelihood of each risk, determining the appropriate
response, and monitoring the risks throughout the project. The focus is on preventing risks
from occurring, rather than reacting to them after they have already happened. To guarantee
that risks are recognized and effectively managed, regular reviews and communication with
stakeholders are also regarded as essential.
Risk management for Spiral model
The Spiral model incorporates risk management as an integral part of its approach to
software development, which entails a cyclic process. Within each iteration of the
development cycle, risk identification, analysis, reduction, and monitoring are undertaken.
The highest priority risks are given attention first, and the plan is adjusted in response to
newly identified risks or changes in existing ones. Effective management of risks
necessitates important communication with stakeholders. Continuous risk management is
carried out in the Spiral model to guarantee project success and reduce potential negative
impacts.
Risk management for RAD model
Risk management is important in the Rapid Application Development (RAD) model. Due
to its iterative and fast-paced nature, potential risks should be identified and reduced early
on. Risk assessment should be performed at each iteration to address issues such as unclear
requirements, scope creep, and technical challenges. The RAD model encourages regular
communication and collaboration between developers and stakeholders, facilitating early
identification and resolution of risks. Prototyping and user feedback play a major role in
risk management, allowing for quick adjustments and minimizing potential project failures
or delays.

S.Piravaksan Software Development Life Cycle ID:RE63300 43


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

The importance of risk management in software development lifecycle models


Risk management is an essential thing of software development lifecycle (SDLC) models
as it enables organizations to identify, assess, and reduce potential risks that could impact
the success of their projects. Whether following the Waterfall, Agile, V, or Spiral model,
incorporating effective risk management practices is important to ensure smooth project
execution, minimize disruptions, and achieve desired outcomes. In the Waterfall model,
risk management involves early identification of potential risks and the creation of a plan
to reduce them. This approach focuses on preventing risks rather than reacting to them after
they occur. Each risk is evaluated for its probability and impact, and the best course of
action is determined. Throughout the project, risks are tracked and monitored to ensure they
are effectively managed. Regular reviews and communication with stakeholders are
essential to ensure risks are identified and addressed promptly. Similarly, in the agile
model, risk management is an integral part of the iterative and collaborative development
approach. Agile teams prioritize ongoing stakeholder collaboration and communication,
allowing for the identification and management of risks as they arise.
The Agile model emphasizes adaptability to change, and risk mitigation measures are
incorporated into the development process. In the conducted regularly to learn from past
risks and improve risk management practices for future projects. In the V model, risk
management is given significant importance through testing and verification at each stage
of the development cycle. Risks are identified early, and a comprehensive plan is devised
to reduce them. The impact and likelihood of each risk are assessed, and appropriate
responses are determined. Regular reviews and communication with stakeholders ensure
effective risk management throughout the project.
The Spiral model incorporates risk management as an integral part of its cyclic approach.
Each iteration of the development cycle involves risk identification, analysis, mitigation,
and monitoring. Priority is given to addressing high-risk items, and the plan is adjusted
based on newly identified risks or changes in existing ones. Continuous communication
with stakeholders ensures that risks are effectively managed throughout the project
lifecycle. The importance of risk management in SDLC models cannot be overstated. It
enables organizations to proactively identify potential risks and uncertainties, allowing
them to plan and reduce accordingly. By addressing risks early, organizations can save
costs and time, as well as make informed decisions regarding resource allocation and
prioritization. Effective risk management improves software quality and reliability, as risks

S.Piravaksan Software Development Life Cycle ID:RE63300 44


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 45


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 46


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 47


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

stakeholders' demands by following a structured approach. The emphasis on documentation


and compliance in the Waterfall model. Each phase of the model requires comprehensive
documentation, which is important for regulatory and compliance-sensitive projects such
as the wildlife safari system. Accurate tracking of visitors and adherence to government
regulations are vital in this context. The detailed documentation ensures traceability and
auditability, facilitating compliance with legal requirements and enabling future system
enhancements or maintenance.
The Waterfall model also excels in risk management. As each phase is completed before
moving on to the next, it allows for thorough risk assessment and reduction at each stage
of the project. Risks and possible issues can be identified early on and addressed before
progressing further. This proactive risk management approach is particularly valuable for
a project where the IT department has limited experience, as it helps prevent costly rework
and delays. Waterfall model's structured and sequential nature, emphasis on
documentation, predictability, risk management make it a more suitable approach for a
project with defined requirements and a specific timeframe like the wildlife safari system.
Waterfall model offers several merits when applied to the development of the Wildlife
Safari System for the wildlife ministry in Sri Lanka. With a fixed two-year timeline and
limited expertise in developing such a system, the Waterfall model provides the necessary
structure and control to ensure successful project completion. By following a systematic
approach and addressing requirements comprehensively, the IT department can meet the
government's objectives of tracking safari details and visitor counts while adhering to
regulatory standards. Waterfall model offers the necessary predictability and risk
management to deliver a high-quality Wildlife Safari System within the given timeframe.
So, the Waterfall model is considered particularly appropriate for the management of large-
scale projects.

S.Piravaksan Software Development Life Cycle ID:RE63300 48


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 49


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Benefits of feasibility study


▪ Identifying potential risks and challenges.
▪ Determining the project's cost and timeline.
▪ Assessing the project's potential return on investment.
▪ Gaining support from stakeholders.
▪ Making informed decisions about whether to proceed with the project.
Importance of feasibility study
A feasibility study is an essential process that determines the viability and practicality of a
proposed project or venture. It helps stakeholders understand the risks and benefits of a
proposed project, as well as the potential costs and resources needed to bring it to fruition.
Without a feasibility study, a project may run into unforeseen obstacles or prove to be
financially unsustainable.
Some more key reasons for highlighting the importance of feasibility studies,
• Feasibility studies evaluate various factors to assess the feasibility of a project,
including market demand, financial implications, resource availability, and
technical feasibility.
• Feasibility studies help stakeholders identify potential risks and challenges
associated with the project, enabling proactive risk reduction strategies.
• By conducting a cost-benefit analysis, feasibility studies determine the financial
viability of the project and assess if the expected benefits justify the costs.
• Feasibility studies provide valuable information and insights to support informed
decision-making regarding project initiation, modification, or abandonment.
• Through a feasibility study, stakeholders can optimize the allocation of resources.
• Feasibility studies consider legal and regulatory requirements, ensuring compliance
and minimizing potential legal complications.
• By engaging stakeholders, feasibility studies promote alignment, buy-in, and
support for the project, increasing its chances of success.
Feasibility study report
A feasibility report is a report that evaluates a set of proposed project paths or solutions to
determine if they are viable. The person who prepares a feasibility report evaluates the
feasibility of different solutions and then chooses their recommendation for the best

S.Piravaksan Software Development Life Cycle ID:RE63300 50


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 51


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 52


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Feasibility study report for ChangeU salon

FRS/CSS/1.5
S.Piravaksan
J.Mahavaishnav
iy
Figure 8:Feasibility study report

S.Piravaksan Software Development Life Cycle ID:RE63300 53


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 9:Table of contents

S.Piravaksan Software Development Life Cycle ID:RE63300 54


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 55


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

Software requirements for developing server


Software requirements
Operating system Windows 11
Web browser Google chrome, Mozilla Firefox, Safari, Microsoft Edge
Code editor Visual studio code, Notepad++, Sublime Text, Bluefish
Database server MySQL, Microsoft Access, SQLite
Designing tools Canva, Adobe photoshop, Figma
Prototyping tools Adobe XD, InVision, Sketch
Table 8:Software 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.

S.Piravaksan Software Development Life Cycle ID:RE63300 56


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 57


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 58


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 59


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 10:Gantt chart

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 60


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Regarding schedule feasibility, the project is deemed achievable within a reasonable


timeframe. With the development team's prior experience and the absence of significant
challenges, it is likely that the booking system can be developed and implemented
efficiently. It is essential to allocate adequate time for requirements gathering system
design, development, testing, deployment, and training to ensure a successful
implementation.
References
Simplilearn.com. (2012). Understanding Types of Feasibility Study, and Its Importance.
[online] Available at: https://www.simplilearn.com/feasibility-study
rticle#:~:text=In%20scheduling%20feasibility%2C%20an%20organization
QS Study. 2023. Operational Feasibility - QS Study. [ONLINE] Available at:
https://qsstudy.com/operational-feasibility/
AltexSoft. 2023. Technical Feasibility in Software Engineering: Things to Consider Before
Development Starts | AltexSoft. [ONLINE] Available at:
https://www.altexsoft.com/blog/technical-feasibility/
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/
digitsmark.com. (n.d.). What is the economic feasibility study, its importance, and its
types. [online] Available at: https://digitsmark.com/en/blogs/what-is-the-economic-
feasibility-study-its-importance-and-its-types
Anon, (n.d.). Legal Feasibility Study – Proposal: Guidelines and Samples. [online]
Available at: http://sampleproposal.net/feasibility-study/legal-feasibility-study/
Glassdoor.com. (2023). Available at: https://www.glassdoor.com/Salaries/sri-lanka-
software-engineer-salary-SRCH_IL.0,9_IN45_KO10,27.htm\

S.Piravaksan Software Development Life Cycle ID:RE63300 61


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 11:End of the report

S.Piravaksan Software Development Life Cycle ID:RE63300 62


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

A sample prototype website design of the ChangeU salon booking system is mentioned.

Figure 12:Prototype website design

The components of feasibility study report of ChangeU Salon


The feasibility study report for implementing a booking system at ChangeU salon
encompasses various components that are essential for assessing the viability of the project.
The report begins with a project introduction, highlighting the salon's desire to improve
customer service and smooth their booking process. It also mentions the development
team's prior experience in similar projects, which instills confidence in their ability to
deliver a high-quality product. The objective of the project is then outlined, emphasizing
the need to develop a robust booking system that can efficiently manage appointments and
enhance customer satisfaction. By achieving this objective, the salon aims to eliminate
errors, reduce double bookings, and optimize staff utilization, ultimately creating a smooth
experience for their clients.
The need for the project is justified by the challenges faced in the current manual booking
process. The absence of a systematic approach leads to errors, dissatisfied customers, and
inefficiencies. Implementing an automated booking system would address these issues,
improving operational efficiency and enhancing the overall experience for both staff and
customers. Technical feasibility is assessed by evaluating the development team's
capabilities and the availability of suitable technology. Given the team's prior experience,

S.Piravaksan Software Development Life Cycle ID:RE63300 63


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 64


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 65


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

• Since COTS software is already developed, it can be quickly implemented,


allowing organizations to realize the benefits sooner.
2.Tailor-Made Software
Tailor-made software, also known as custom software, is designed, and developed
specifically to meet the unique requirements of an organization. This solution is built from
scratch or based on existing frameworks.
Benefits of tailor-made software,
• Tailor-made software is tailored precisely to the organization's specific needs,
allowing for a highly customized and personalized solution that aligns with unique
business processes and requirements.
• Custom software can be designed to accommodate future growth and easily adapt
to changing business needs.
• Custom software provides organizations with a unique competitive advantage, as it
enables the implementation of innovative features and functionalities that may not
be available in off-the-shelf solutions.
• With custom software, organizations have full control over the development
process, ownership of the codebase, and the ability to tailor and enhance the
software as their needs evolve.
Standalone system
A standalone system is any application or software that does not need to be bundled with
other software or applications, nor does it require anything else to function. In other words,
it’s software that can “stand on its own” without help from the Internet or another processor
computer (Quinn, 2022)
Benefits and constrains of standalone system
Table 11:Benefits and constrains of standalone system

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 66


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

Tailor made COTS software Standalone system


software
Custom-built for a specific Pre-packaged and Operates independently
organization's needs. commercially available without reliance on
software. external networks or
servers.
Time-consuming due to Quick implementation as it Generally faster to deploy
customized development. is readily available. due to a straightforward
setup.
Highly flexible, designed Limited flexibility, as it's Limited flexibility, with
to meet unique not customizable. fixed features and
requirements. functionality
Usually, higher upfront Lower upfront cost but Generally lower upfront
cost due to customization. may incur additional cost and maintenance
licensing fees. expenses.

S.Piravaksan Software Development Life Cycle ID:RE63300 67


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Requires ongoing Vendor-provided updates Maintenance is relatively


maintenance and updates to and support are available simpler, with fewer
adapt to changes external dependencies
Customizable for specific Upgrades provided by the Upgrades might be limited
upgrades and vendor; customization may but can be adapted as per
enhancements be limited specific needs
Longer implementation Quick implementation due Generally faster
time due to tailored to pre-built features. implementation with a
development. straightforward setup.
The ideal choice for ChangeU Salon's booking system
Tailor-Made Software, also known as custom software, is designed, and developed to meet
specific requirements of a particular organization. It is built from scratch, tailored to address
unique business needs, processes, and workflows. The development process involves close
collaboration between the client and the development team, ensuring that the software
aligns perfectly with the organization's objectives. Tailor-made software offers a high level
of flexibility and can be easily adapted as the business grows or evolves. Commercial Off-
The-Shelf (COTS) Software refers to pre-built software solutions that are readily available
on the market. COTS software is designed to cater to a broader audience, often offering a
wide range of features and functionalities. It can be purchased or licensed and typically
requires minimal customization to fit the needs of a specific organization. COTS software
is cost-effective and can be quickly deployed, making it a popular choice for businesses
with generic requirements Standalone System Software operates independently without
relying on external networks or servers. It offers increased security since it is not connected
to the internet, providing protection against online threats. While standalone systems can
be more secure, they might limit collaboration and data sharing compared to networked
solutions. This feature may not align well with the salon's desire to enhance customer
service and simplify appointment management.
When considering the requirements of ChangeU Salon for a booking system that can
effectively track appointments and enhance customer service, the choice between tailor-
made software and Commercial Off-The-Shelf (COTS) software becomes essential. Tailor-
made software offers the advantage of being designed and developed specifically to cater
to the unique needs and processes of the salon. By building the software from scratch, it
allows for a high level of customization, ensuring a smooth integration with the salon's

S.Piravaksan Software Development Life Cycle ID:RE63300 68


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

operations and workflows. Tailor-made software provides scalability, accommodating the


salon's future growth and evolving requirements without the need for a complete overhaul.
The system can be easily adapted and expanded as the salon expands its services or
locations. A tailor-made solution enables the integration of the booking system with other
existing software and tools used by the salon, enhancing operational efficiency and data
management. With a focus on delivering a high-quality product or service, the tailor-made
software can be designed with a user-friendly interface, optimizing the user experience for
both customers and salon staff. The development team can provide personalized support
and maintenance services, ensuring timely updates and prompt bug fixes to maintain the
system's performance and reliability. Considering the unique requirements of ChangeU
Salon and their emphasis on a high-quality product without budget or time constraints, a
tailor-made software solution appears to be the most suitable choice, aligning perfectly with
the salon's goals of providing superior customer service and efficient booking management.
Website
A website is a series of webpages that are typically accessed through a web browser and
are hosted on a web server. A web application is a software program that is accessed
through a web browser and runs on a web server. The main difference is that a website is
static, and a web application is dynamic (Wesrom.com, 2022)
Mobile app
A mobile app (or mobile application) is a software application developed specifically for
use on small, wireless computing devices, such as smartphones and tablets, rather than
desktop or laptop computers. Mobile apps are sometimes categorized according to whether
they are web-based or native apps, which are created specifically for a given platform. A
third category, hybrid apps, combines elements of both native and web apps (Hanna, 2022)
Differences between web site and mobile app
Table 13:Differences between web site and mobile app

Feature Web site Mobile app


Platform Accessed through web browsers Installed on mobile devices (iOS,
(desktop, mobile) Android)
Development Developed using web Developed using native or cross-
technologies (HTML, CSS, JS) platform tools

S.Piravaksan Software Development Life Cycle ID:RE63300 69


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Access Requires an internet connection Can work offline (partially or


fully)
Updates Instantly updated for all users Requires app store approval for
updates
Distribution Easily accessible via URLs Downloaded from app stores
User Generally, relies on touch and Utilizes touch, gestures, and device
interaction mouse input features
Performance Dependent on internet speed and Faster and optimized for device
browser capabilities hardware
Monetization Can use various advertising and More focused on in-app purchases
subscription models and subscriptions
Cost Generally cheaper to develop and Can be more expensive to develop
maintain
The optimal choice for ChangeU Salon's booking system
The ChangeU salon requires a system to effectively track bookings and enhance customer
service, and they have expressed a preference for a high-quality product without being
constrained by budget or time limitations. Considering the specific requirements and
available resources, a website seems to be the most suitable choice for the salon. A website
offers several advantages that align well with the salon's needs and objectives. A website
is accessible through web browsers on various devices, including desktops, laptops, tablets,
and smartphones. This cross-platform compatibility ensures that both customers and salon
staff can access the system conveniently, irrespective of the device they are using.
Developing a website is typically more cost-effective and time-efficient compared to
building a mobile app. The development team's early experience with similar projects
enhances the likelihood of delivering a high-quality website within the desired timeframe.
Web technologies offer a wide range of tools and frameworks, allowing the development
team to create a user-friendly and feature-rich system for the salon. A website can be easily
updated and maintained in real-time. As ChangeU salon may require periodic changes to
service offerings, prices, or other details, a website facilitates quick and smooth updates
without the need for app store approvals. This agility enables the salon to respond promptly
to customer needs and market trends.
A Website can be designed to be responsive, adapting to different screen sizes and
orientations, ensuring a consistent and optimal user experience across devices. Customers

S.Piravaksan Software Development Life Cycle ID:RE63300 70


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 71


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 72


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 73


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 74


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

The importance of software investigation for meeting business needs


Software investigation holds immense importance for a business organization as it plays a
main role in the success and efficiency of their operations. In today's technology-driven
world, businesses heavily rely on software applications to manage various processes,
handle customer interactions, analyze data, and make informed decisions. Through
comprehensive software investigation, organizations can thoroughly evaluate potential
software solutions and identify the most suitable ones that align with their unique needs
and objectives. By conducting software investigation, businesses can ensure that the chosen
software meets their specific requirements and enhances their workflow. It allows them to
determine if the software can smoothly integrate with existing systems, avoiding
compatibility issues and costly disruptions. The investigation process helps assess the
scalability and future-proofing capabilities of the software, ensuring that it can grow and
adapt alongside the organization's evolving needs.
Evaluating software options also empowers organizations to make informed financial
decisions. Software investments can be substantial, and conducting thorough investigation
helps determine if the benefits and potential cost savings outweigh the expenses. Businesses
can identify long-term cost-effective solutions that contribute to improved productivity and
operational efficiency. Software investigation is also essential for ensuring data security
and regulatory compliance. By assessing the security features and data protection measures
of potential software solutions, organizations can safeguard sensitive information and avoid
potential breaches. They can verify if the software adheres to industry-specific regulations
and standards, reducing legal risks and liabilities.
Software investigation allows businesses to consider user experience and customer
satisfaction. Understanding the usability and functionality of the software from an end-user
perspective is essential in delivering exceptional services and products. A well-considered
software choice can lead to improved customer interactions, increased loyalty, and positive
brand perception.

S.Piravaksan Software Development Life Cycle ID:RE63300 75


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Steps in software requirements investigation


Identify stakeholders - Identify and involve the key stakeholders who have a vested
interest in the software system. This may include end-users, customers, business analysts,
subject matter experts, project managers, and other relevant individuals or groups.
Define objectives - Clearly define the objectives of the software requirements
investigation. This includes understanding the purpose of the software system, the
problems it aims to solve, and the desired outcomes or benefits.
Conduct interviews - Conduct interviews with stakeholders to gather their perspectives,
expectations, and requirements for the software system. Use open-ended questions to
encourage meaningful discussions and explore different viewpoints.
Facilitate workshops or focus groups - Organize workshops or focus groups to bring
together stakeholders from different areas to collaboratively discuss and define
requirements. These sessions can help uncover shared needs, resolve conflicts, and foster
consensus among stakeholders.
Bring out the requirements - Use various techniques such as brainstorming, prototyping,
scenario analysis, and use case development to elicit requirements from stakeholders.
Capture both functional requirements (what the software should do) and non-functional
requirements.
Analyze and prioritize requirements - Analyze the gathered requirements to identify
dependencies, conflicts, and ambiguities. Prioritize the requirements based on their
importance, feasibility, and impact on the software system.
Validate requirements - Validate the requirements with stakeholders to ensure accuracy,
completeness, and alignment with their expectations. This may involve reviewing the
requirements documentation, conducting demonstrations or walkthroughs, and obtaining
feedback.
Document requirements - Document the requirements in a clear and unambiguous
manner. Use appropriate formats such as use cases, user stories, functional and non-
functional requirements specifications, or a requirements traceability matrix. Ensure that
the documentation is accessible and understandable to all relevant stakeholders.
Verify requirements - Verify that the documented requirements meet the defined
standards and are consistent with the organization's policies and guidelines. This step
involves conducting a thorough review of the requirements, checking for compliance, and
seeking approval from key stakeholders.

S.Piravaksan Software Development Life Cycle ID:RE63300 76


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Manage requirements - Establish a requirements management process to handle changes,


updates, and traceability of requirements throughout the software development lifecycle.
This includes maintaining a requirements repository, establishing change control
procedures, and ensuring proper communication and collaboration among stakeholders.
Continuously refine and iterate - Recognize that requirements investigation is an iterative
process. As the software system evolves, new insights and changes may arise. Continuously
refine and iterate the requirements investigation process to ensure that the evolving needs
of stakeholders are addressed effectively.
Software investigation for implementing a robust booking tracking system at
ChangeU Salon
ChangeU Salon is a renowned beauty establishment committed to providing exceptional
services and outstanding customer experiences. With a strong focus on enhancing their
operations, ChangeU Salon seeks to implement a robust booking tracking system that will
not only smooth their internal processes but also elevate their customer service to new
heights. The development team brings valuable experience to the project, making it an
exciting opportunity to deliver a high-quality software product. With the client prioritizing
quality over budget and time constraints, this investigation aims to identify the best-suited
software solution that aligns with ChangeU Salon's vision and goals, ensuring a smooth
and efficient booking management system for their valued clients.
Business need and objectives for ChangeU salon
Table 14:Business need and objectives for ChangeU salon

Business need Objectives


Enhanced customer service Provide a smooth and user-friendly booking experience
for customers, allowing them to easily schedule
appointments online and receive timely notifications or
reminders.
Improved resource Optimize the allocation of salon resources such as staff,
management equipment, and treatment rooms, ensuring efficient
utilization and minimizing scheduling conflicts.
Personalized customer Develop a customer management system that stores
experience customer preferences, history, and personalized notes,

S.Piravaksan Software Development Life Cycle ID:RE63300 77


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

enabling staff to provide tailored recommendations and


exceptional service.
Efficient booking tracking Implement a robust system to track all salon bookings,
ensuring accurate and up-to-date records of
appointments.
simplified communication Enable efficient communication between the salon and
customers, allowing for easy rescheduling,
cancellations, and addressing customer inquiries or
feedback promptly.
Software Requirements Specification (SRS)
A software requirements specification (SRS) is a comprehensive description of the intended
purpose and environment for software under development. The SRS fully describes what
the software will do and how it will be expected to perform. An SRS minimizes the time
and effort required by developers to achieve desired goals and minimizes the development
cost. A good SRS defines how an application will interact with system hardware, other
programs, and human users in a wide variety of real-world situations (Rosencrance, 2020)
System requirements
System requirements are the minimum hardware, software, and network specifications
needed to run a particular software application or operating system. They outline the
necessary components and configurations to ensure optimal performance and compatibility
(Techterms.com, 2021)
Stakeholders and requirements for ChangeU Salon project
Table 15:Stakeholders and requirements for ChangeU Salon project

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

S.Piravaksan Software Development Life Cycle ID:RE63300 78


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

• Access to customer details and preferences


Customers • Online booking functionality
• Real-time availability updates
• Automated reminders and notifications
Management team • Reporting and analytics capabilities
• Monitoring booking metrics, revenue, and
customer satisfaction
Marketing team • Integration with marketing campaigns
• Customer data for targeted promotions and offers
IT team • Robust data security and privacy measures
• System maintenance and support
Finance team • Revenue tracking and financial reporting
• Integration with accounting systems
Product suppliers • Inventory management and tracking
• Automated notifications for low stock levels
Functional requirements for ChangeU Salon system
Online booking
• 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.
Staff scheduling
• 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.
Customer database
• 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.

S.Piravaksan Software Development Life Cycle ID:RE63300 79


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 80


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

• 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.

S.Piravaksan Software Development Life Cycle ID:RE63300 81


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Workshops and focus groups


Organizing workshops or focus groups where stakeholders come together to discuss
software requirements, user needs, and potential improvements. These sessions facilitate
collaboration, brainstorming, and the exchange of ideas.
Observation and job shadowing
Observing users in their natural work environment to understand their tasks, workflow,
pain points, and software usage patterns. This approach helps identify opportunities for
process improvement and software enhancements.
Document analysis
Analyzing existing documentation, such as requirements documents, user manuals, and
support tickets, to gain insights into software functionality, user issues, and common
problems.
Use cases and user stories
Creating use cases or user stories to define software requirements from a user's perspective.
These tools describe specific interactions and workflows, helping to capture user needs and
desired software behavior.
Prototyping
Developing interactive prototypes or mockups to demonstrate software features, validate
requirements, and gather user feedback. Prototypes can be used to uncover usability issues
and refine the software design.
Data analysis
Analyzing data collected from software usage logs, user feedback, or other sources to
identify patterns, trends, and potential areas for improvement. Data analysis can provide
insights into user behavior, performance bottlenecks, or system errors.

S.Piravaksan Software Development Life Cycle ID:RE63300 82


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Software requirements specification of ChangeU salon system

Prepared by: S.Piravaksan

Figure 13:Interview document of ChangeU salon system

S.Piravaksan Software Development Life Cycle ID:RE63300 83


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Table of content

Figure 14:Table of contents

S.Piravaksan Software Development Life Cycle ID:RE63300 84


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 85


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

1.4 Interview with ChangeU Salon General Manager


To develop a new booking system for ChangeU Salon, an interview was conducted with
the salon general manager Ms. Lisa Edelstein to gain insights into their current booking
process and to understand their requirements for the new system. The interview aimed to
identify the challenges faced by the salon, their objectives for improvement, and the desired
functionality and features of the new booking system. The following section provides a
summary of the interview, highlighting key points discussed with the salon manager.
Piraba - Hello, thank you for taking the time to speak with us today. We are investigating
to understand the requirements for a new booking system for ChangeU Salon. To begin,
could you please provide an overview of the current booking process at the salon?
Ms. Lisa Edelstein - Currently, our salon's booking process is primarily manual.
Customers call or walk into the salon to make appointments, and our front desk staff record
the details in a physical appointment book. We also have some repeat customers whose
preferences we try to remember. This manual process sometimes leads to double bookings
or errors, and it can be time-consuming for our staff to manage.
Piraba - Thank you for sharing that information. What are some of the challenges that you
and your staff encounter with the current booking process?
Ms. Lisa Edelstein - One of the main challenges is managing the appointment schedule
efficiently. We often must juggle multiple bookings, staff availability, and customer
preferences, which can become quite complex. There are occasions when customers forget
their appointments or arrive at the wrong time, which affects the overall customer
experience. We also find it difficult to track customer histories, such as their previous
services or product preferences, which limits our ability to personalize their experience.
Piraba - Understood. In terms of improving the booking process, what are the key
objectives or outcomes you would like to achieve with a new system?
Ms. Lisa Edelstein - Our main objective is to smooth the booking process and enhance the
overall customer experience. We want a system that allows customers to easily book
appointments online, provides automated reminders and notifications, and integrates with
our staff's calendars to ensure accurate scheduling. It would also be beneficial to have a
customer database that stores their preferences, service history, and contact information for
personalized interactions. We aim to increase customer satisfaction, reduce booking errors,
and improve staff productivity.

S.Piravaksan Software Development Life Cycle ID:RE63300 86


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 87


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 88


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

1.6 Survey with ChangeU Salon staffs


To gain a comprehensive understanding of the current booking process at ChangeU Salon
and to gather insights into the requirements for a new booking system, a survey was
conducted among the salon staff members. The purpose of the survey was to assess the
challenges faced by the staff, their suggestions for improvement, and the specific functions
they desire in the new system. The following section presents a summary of the survey
questions, which aimed to collect valuable feedback and perspectives from the staff to
inform them of the development of the new booking system.

Figure 15:Feedback form 1

S.Piravaksan Software Development Life Cycle ID:RE63300 89


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 17:Feedback form 2

Figure 16:Feedback form 3

S.Piravaksan Software Development Life Cycle ID:RE63300 90


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 19:Feedback form 4

Figure 18:Feedback form 5

S.Piravaksan Software Development Life Cycle ID:RE63300 91


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

1.7 Justification of survey with system requirements


Efficiency and ease of use - By asking staff to rate the current booking process's efficiency
and ease of use, we can gather insights into the usability feature of the system. This
feedback aligns with the system requirement of having a user-friendly interface that is
intuitive and easy to navigate for both staff and customers.
Challenges with manual appointment management - Understanding the challenges
faced by staff in managing appointments manually helps identify the need for an automated
scheduling system. This requirement aims to minimize booking errors and optimize staff's
time by automatically managing appointment slots and avoiding double bookings.
Handling of booking errors - Feedback on the frequency and impact of booking errors
helps validate the system requirement of error prevention and handling mechanisms. The
new system should incorporate features that minimize the occurrence of errors and provide
efficient ways to resolve any issues that may arise.
Customer reminders and notifications - Staff's responses about how they currently
handle customer reminders and notifications inform the need for automated notification
features in the new system. This system requirement aims to send automated reminders and
notifications to customers, reducing no-shows and enhancing customer engagement.
Customer history tracking - Staff's feedback on the difficulty of tracking customer
histories underscores the importance of having a centralized customer database. This
system requirement intends to store customer information, service histories, and
preferences for personalized interactions.
Ideal booking system features - Gathering staff's input on the features they envision in an
ideal booking system helps validate and refine the list of system requirements. It ensures
that the system incorporates functionalities that meet the specific needs of the staff and
align with their workflow.
Specific functionalities - Staff's responses about the specific functionalities they want to
see in the new system help define a comprehensive feature list. This system requirement
ensures that the new system addresses all necessary features of appointment management.
Integration with personal calendars - Staff's feedback on the importance of calendar
integration validates the system requirement of integrating the new booking system with
staff members' personal calendars. This feature allows for smooth scheduling and avoids
conflicts with other commitments.

S.Piravaksan Software Development Life Cycle ID:RE63300 92


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Reporting and analytics capabilities - Understanding staff's interest in reporting and


analytics features supports the inclusion of such functionalities in the system. This
requirement helps in monitoring key metrics and making data-driven decisions to improve
salon operations.
Security concerns - Feedback on security concerns related to customer data and payments
validates the system requirement of ensuring robust data security measures. The new
system must comply with relevant data protection regulations and implement measures to
safeguard sensitive information.
Performance requirements - Staff's input on performance expectations helps validate the
system requirement for a responsive and scalable booking system. This ensures that the
system can handle multiple bookings simultaneously without compromising performance.
Additional suggestions - The request for additional suggestions and requirements ensures
that the system is designed to be flexible and adaptable to evolving needs. This requirement
allows for continuous improvement and accommodates future changes.
References
Indeed Editorial Team (2018). Top 16 Common Job Interview Questions and Answers |
Indeed.com. [online] Indeed.com. Available at: https://www.indeed.com/career-
advice/interviewing/top-interview-questions-and-answers
Roy, R. (2016). Survey Questions, Question Types and Answer Types. [online]
Questionpro.com. Available at: https://www.questionpro.com/article/survey-question-
answer-type.html
Krüger, N. (2021). How to Write a Software Requirements Specification (SRS Document).
[online] Perforce Software. Available at: https://www.perforce.com/blog/alm/how-write-
software-requirements-specification-srs-
document#:~:text=A%20software%20requirements%20specification%20(SRS)%20is%2
0a%20document%20that%20describes
Bandakkanavar, R. (2017). Software Requirements Specification document with example
- Krazytech. [online] Krazytech. Available at: https://krazytech.com/projects/sample-
software-requirements-specificationsrs-report-airline-database

S.Piravaksan Software Development Life Cycle ID:RE63300 93


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Prepared by: S.Piravaksan

Figure 20:End of the report

S.Piravaksan Software Development Life Cycle ID:RE63300 94


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 95


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Requirement document for ChangeU Salon

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 96


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 97


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Use case diagram for ChangeU Salon’s system

Figure 21:Use case diagram for ChangeU Salon’s system

Justification for Use case diagram


The use case diagram for ChangeU Salon provides a comprehensive and user-centric
representation of the interactions between actors and the system. The diagram encompasses
three main actors, such as Customer, Salon Staff, and IT Team, effectively capturing all
the essential user roles involved in the booking process. By including specific roles like the
salon owner, salon manager, front desk staff, and stylists under the Salon Staff actor, the
diagram ensures that the diverse responsibilities and interactions within the staff are
accounted for.
The use case diagram focuses on core functionalities that are essential for efficient
appointment management. For customers, it showcases the ability to make appointments,
view schedules, cancel bookings, and receive notifications, thereby smoothing their
interaction with the salon. On the other hand, for salon staff, the diagram includes tasks
such as managing appointments, updating availability, accessing customer details, and
marking appointment statuses, providing a clear view of their responsibilities within the
system. The IT Team actor is also accounted for, encompassing vital functions such as

S.Piravaksan Software Development Life Cycle ID:RE63300 98


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

Prototype website design for ChangeU Salon

Figure 22:Home Page

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 99


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

Figure 24:Price list

S.Piravaksan Software Development Life Cycle ID:RE63300 100


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

Figure 25:Discount and presents.

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

S.Piravaksan Software Development Life Cycle ID:RE63300 101


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 102


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 103


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Future implementation for ChangeU Salon system


In its pursuit of continuous improvement and growth, ChangeU Salon envisions a future
implementation plan that will elevate its booking system and customer service to new
heights. Embracing innovative technologies and forward-thinking strategies, the salon aims
to stay at the forefront of the industry and cater to the ever-evolving needs of its valued
customers. Several exciting possibilities lie ahead, poised to enhance the overall salon
experience, and solidify its position as a trendsetter in the beauty and wellness domain.
Among the future implementations envisioned for ChangeU Salon is the integration of
Artificial Intelligence (AI), where AI-driven chatbots will engage customers, assist with
appointment scheduling, and offer personalized recommendations based on their past
preferences and service history. Virtual Reality (VR) consultations are on the horizon,
granting clients the immersive experience of trying various hairstyles, hair colors, and
makeup options before finalizing their appointments. Augmented Reality (AR) mirrors are
set to revolutionize the salon experience, empowering customers to visualize their desired
appearance in real-time. The salon plans to expand its loyalty program, rewarding
customers with exclusive benefits, discounts, and tailored promotions, building strong
customer loyalty.
The future also holds potential for mobile wallet integration, streamlining payment
processes and heightening convenience. Advanced analytics and business intelligence tools
will unlock valuable insights into customer behavior and staff performance, enabling data-
driven decisions and process optimization. To embrace sustainability, eco-friendly
practices will be introduced, appealing to environmentally conscious clientele. Integrating
online reviews and social media platforms will bolster the salon's online presence, fostering
trust and credibility within the digital landscape. Expanding the range of services on offer
remains a priority, as ChangeU Salon seeks to cater to diverse customer preferences and
industry trends. With an eye towards global expansion or adopting a franchise model, the
salon aims to extend its brand reach and tap into new markets. These future
implementations embody the salon's commitment to delivering exceptional customer
experiences while remaining at the forefront of the beauty and wellness industry.

S.Piravaksan Software Development Life Cycle ID:RE63300 104


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 105


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Requirement traceability throughout the software lifecycle for ChangeU Salon


Tracing software requirements throughout the software lifecycle is important for ChangeU
Salon to ensure that the developed system meets the intended objectives and user needs.
Requirement traceability facilitates effective project management, quality assurance, and
maintenance processes. In the context of ChangeU Salon, tracing software requirements
can involve establishing clear links between high-level business needs and specific system
requirements and functionalities, ensuring that each requirement is accounted for at every
stage of development.
The first step in requirement traceability is to establish a clear and comprehensive set of
requirements for the system. This involves engaging with stakeholders, including salon
management, staff, and customers, to gather their needs and expectations. Once the
requirements are identified, they are documented in a structured manner, typically using
tools. As the development process commences, the traced requirements serve as a
foundation for various activities. During the design part, the requirements guide the
creation of system architecture, interfaces, and user interactions. In the coding part,
developers ensure that each requirement is addressed through the implementation of
specific features and functionalities.
Throughout the testing part, requirement traceability is essential in validating whether the
system meets the intended functionality and user expectations. Test cases are derived from
traced requirements, and the test results indicate whether each requirement has been
successfully implemented and tested. Beyond the development part, requirement
traceability is essential for system maintenance and updates. As new features or
enhancements are introduced, they must be traced back to the original requirements to
maintain consistency and ensure that they align with the salon's objectives. Requirement
traceability also aids in change management and impact analysis. When changes or updates
are proposed, the traced requirements help in understanding the potential consequences and
determining which components of the system may be affected.
For example, let's consider how requirement traceability applies to WhatsApp software
updates. When WhatsApp releases a new version with updated features or bug fixes, they
have a well-defined process to trace requirements throughout the software lifecycle.
WhatsApp gathers user feedback and market research to understand user needs and pain
points. These user insights are translated into specific requirements for the upcoming
update. The requirements are then documented and linked to their respective user stories

S.Piravaksan Software Development Life Cycle ID:RE63300 106


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 107


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

▪ 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.

S.Piravaksan Software Development Life Cycle ID:RE63300 108


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 109


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 110


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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)

Figure 30:Quality assurance

The importance of quality assurance for ChangeU Salon system


Quality assurance is of paramount importance for the ChangeU Salon system as it ensures
that the developed software meets the expected standards of performance and user
satisfaction. By implementing effective quality assurance practices, the salon can gain
confidence in the system's functionality and minimize the occurrence of defects or issues.
Quality assurance helps in identifying and rectifying potential issues early in the
development cycle. Through rigorous testing, including functional, usability, and
performance testing, the salon can proactively detect and address any bugs or
inconsistencies. This ensures that the system operates smoothly and provides a smooth
experience for both staff and customers.
The quality assurance contributes to customer satisfaction and loyalty. By thoroughly
validating the system against requirements and user expectations, the salon can ensure that
it delivers a high-quality service that meets their needs. This leads to enhanced customer
experiences, increased trust in the salon's services, and improved customer retention rates
and it helps in maintaining data integrity and security. The salon deals with sensitive
customer information and payment details, making it important to have robust measures in
place to safeguard data. By conducting security testing and implementing best practices,
quality assurance ensures that customer data is protected, and confidentiality is maintained.

S.Piravaksan Software Development Life Cycle ID:RE63300 111


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Continuous integration and deployment to enhancing software quality for ChangeU


Salon
Continuous Integration and Deployment (CI/CD) can greatly enhance software quality for
ChangeU Salon in the future. CI/CD is a development practice that involves automating
the process of integrating code changes, running tests, and deploying updates to the
production environment. By implementing a robust CI/CD pipeline, ChangeU Salon can
achieve faster and more frequent releases while maintaining a high level of software
quality. Through CI/CD, developers can regularly commit their code changes to a shared
version control repository. The CI server then automatically builds the application, runs
various tests, and provides feedback on the code quality. This process allows for early
detection of issues.
By catching issues early in the development cycle, CI/CD enables developers to quickly
address and fix them, reducing the risk of introducing bugs or errors into the system. This
iterative approach to development promotes a continuous focus on quality, leading to
improved software stability and reliability. CI/CD enables efficient collaboration among
team members. As code changes are integrated and tested automatically, conflicts and
integration issues are identified early on, minimizing the likelihood of merging conflicts or
broken builds. This fosters better teamwork and ensures that the software is developed in a
cohesive and synchronized manner.
Deployment automation is another key feature of CI/CD. With an automated deployment
pipeline, updates and bug fixes can be quickly and reliably deployed to the production
environment. This allows ChangeU Salon to deliver new features, enhancements, and
patches to users rapidly, reducing downtime and ensuring a smooth user experience.
Continuous monitoring and feedback are integral to the CI/CD process. ChangeU Salon
can set up monitoring and alerting systems to detect performance issues or errors in the
production environment. This enables prompt response and mitigation of any issues that
may arise, enhancing software quality and user satisfaction.

S.Piravaksan Software Development Life Cycle ID:RE63300 112


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Security enhancements to enhance software quality for ChangeU Salon


Ensuring robust security measures is essential for ChangeU Salon to enhance the software
quality and protect sensitive customer data. By implementing effective security
enhancements, the salon can safeguard against unauthorized access, data breaches, and
potential vulnerabilities. One essential step is to implement strong authentication and
authorization mechanisms. This includes employing secure password policies,
implementing multi-factor authentication, and utilizing industry-standard encryption
protocols to protect user credentials. By implementing secure login processes, ChangeU
Salon can significantly reduce the risk of unauthorized access and maintain the integrity of
user accounts.
Regular software updates and patch management are important for addressing known
vulnerabilities and ensuring the latest security patches are applied promptly. By keeping
the software components up to date, the salon minimizes the risk of exploits and mitigates
potential security threats. ChangeU Salon should also prioritize secure coding practices to
prevent common web application vulnerabilities, such as SQL injection and cross-site
scripting (XSS). This includes input validation, output encoding, and proper handling of
user-generated content. By following secure coding guidelines and conducting code
reviews, the salon can identify and remediate security flaws during the development
process, reducing the likelihood of security breaches in the future.
Encryption is another major feature of security enhancement. ChangeU Salon should
implement encryption for sensitive data both at rest and in transit. This ensures that
customer information, such as personal details and payment data, remains protected and
confidential. Encryption algorithms, secure key management practices, and secure socket
layer (SSL) certificates can be employed to provide a secure data transfer environment.
Educating staff and customers about security best practices is equally important. By
promoting awareness and providing guidance on secure password management, phishing
prevention, and data protection, ChangeU Salon can create a security-conscious culture
among its users. Regular training sessions and awareness campaigns can help mitigate risks
arising from social engineering attacks and improve overall security posture.

S.Piravaksan Software Development Life Cycle ID:RE63300 113


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Evaluation of system investigation process for ChangeU Salon


The evaluation of the system investigation process for ChangeU Salon, as detailed on pages
86 to 99, reveals a comprehensive and well-structured approach to gathering software
requirements. The process involved using two software behavioral tools, interviews, and
surveys, to obtain essential information from key stakeholders. The results of these
investigation techniques were further supported by documentation, including requirements
documentation, use case diagrams, and a prototype website design.
The initial step in the system investigation process, as mentioned on page 86, involved
conducting interviews with the ChangeU Salon's General Manager, Ms. Lisa Edelstein.
This interview provided valuable insights into the salon's current manual booking system,
highlighting its limitations and challenges. The General Manager also shared their
expectations for a new booking system, emphasizing the need for increased efficiency,
improved customer service, and smooth appointment management. By involving the
General Manager, who holds a strategic position in the salon, the investigation process
ensured that the identified requirements aligned with the salon's overarching goals and
business objectives. The survey conducted with salon staff, as mentioned on page 89,
further enriched the system investigation process. The survey sought to understand the
challenges faced by salon staff in the current manual booking system and their specific
expectations for the new booking system. The insights gathered from the staff shed light
on the practical features of using the system daily and helped identify pain points that
needed to be addressed in the new system.
The supporting documentation, such as the requirements documentation mentioned on page
96, played a major role in consolidating the information gathered from the interviews and
survey. The requirements documentation provided a clear and detailed outline of the
system's functional and non-functional requirements, ensuring that the development team
had a comprehensive understanding of the project scope. The use case diagram, as
mentioned on page 98, served as a visual representation of the system's functionalities and
the interactions between users and the system. This diagram facilitated a clear
understanding of the user's journey through the booking process and the various
functionalities they could access. The prototype website design for ChangeU Salon, as
mentioned on page 99, was a valuable output of the system investigation process. This
prototype allowed stakeholders to visualize the proposed booking system, providing an
opportunity for early feedback and refinement. It served as a tangible representation of the

S.Piravaksan Software Development Life Cycle ID:RE63300 114


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 115


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 116


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

• Default settings in software applications influence user behavior by strategically


setting defaults that align with desired actions and decisions.
Enhancing software development and management with behavioral tools
A wide range of essential utilities for the development and management of software
applications is encompassed by software behavioral tools. These tools are designed to
understand, analyze, and optimize the behavior of software, ensuring optimal performance,
reliability, and security. Various aspects of software development and maintenance are
assisted by developers and IT professionals.
One category of software behavioral tools is profiling tools, which are used to analyze the
runtime behavior of applications. Valuable insights into resource utilization, execution
times, and performance bottlenecks are provided by these tools, helping critical sections of
code to be identified and optimized by developers to improve overall application
performance. Another important category is debugging tools, which aid in the identification
and resolution of software defects, errors, and unexpected behaviors. Developers are
enabled by these tools to track down bugs, inspect variables, and understand the program's
execution flow, facilitating effective debugging and problem-solving.
Real-time performance tracking and analysis are facilitated by monitoring tools, as data on
various metrics such as response times, resource usage, and system health are collected and
examined. Particularly important for web applications, servers, and distributed systems,
these tools ensure that they operate efficiently and meet performance targets. Testing tools
are used to automate the testing process, enabling developers to perform unit tests,
integration tests, and end-to-end tests efficiently. These tools play an important role in
validating the functionality, reliability, and quality of software applications, identifying
regressions, and ensuring that new features do not introduce unintended issues.
Vulnerabilities and weaknesses in software systems are identified by security assessment
tools. Various security tests, such as vulnerability scanning, penetration testing, and code
analysis, are performed by these tools to uncover potential security risks. This critical role
of maintaining robust security measures and addressing security flaws before they can be
exploited by malicious actors is played by these tools.

S.Piravaksan Software Development Life Cycle ID:RE63300 117


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Exploring software behavioral techniques for development and testing


Software behavioral techniques encompass a range of methodologies employed in the
development and testing of software applications. These techniques are designed to
observe, record, and analyze the behavior of software under various conditions to ensure
performance, stability, and functionality. Several prominent software behavioral
techniques are commonly utilized. Tracing is employed to monitor and record the execution
flow of a software application, providing detailed insights into the sequence of actions and
interactions within the system. Logging is used to passively record events, errors, and other
relevant information during the software's runtime, aiding in debugging and performance
analysis.
Monitoring involves the real-time observation of key metrics, such as resource usage and
response times, to assess the application's health and performance. Fuzz testing employs
automated input generation to subject the software to unexpected, invalid, or random data
to identify potential vulnerabilities and assess robustness. Fault injection is used to
deliberately introduce faults and errors into the system to assess its resilience and error-
handling capabilities. A/B testing is employed to compare two different versions of the
software with real users to determine which version performs better or yields higher user
engagement.
Behavior-Driven Development (BDD) is a collaborative approach that involves developers,
testers, and stakeholders working together to define and validate software behavior from
the user's perspective. It ensures that the software meets the intended user requirements and
aligns with business goals. By employing these software behavioral techniques, developers
and testers can gain valuable insights into the performance, reliability, and user experience
of software applications, helping them create robust and user-friendly products.

S.Piravaksan Software Development Life Cycle ID:RE63300 118


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Exploring software behavioral design techniques for flexible and maintainable


systems
Software behavioral design techniques encompass a set of well-established patterns utilized
in software development to enhance modularity, flexibility, and maintainability. These
design patterns focus on defining the behavior and communication between different
components of a software system. Several prominent software behavioral design
techniques are commonly employed in various applications. The Observer Pattern
facilitates the establishment of a one-to-many dependency relationship between objects,
allowing multiple observers to be notified of any state changes in a subject object. This
pattern promotes loose coupling and is often used in event handling scenarios.
The State Pattern allows an object to alter its behavior when its internal state changes. It
enables the encapsulation of various states into separate classes, making the code more
maintainable and promoting a cleaner design. The Strategy Pattern defines a family of
algorithms or behaviors and makes them interchangeable at runtime. By encapsulating
these behaviors in separate classes, the Strategy Pattern enables the selection of a specific
algorithm without modifying the client code, promoting code reusability and flexibility.
The Chain of Responsibility pattern creates a chain of handler objects, where each handler
can process a request or pass it along to the next handler in the chain. This pattern decouples
the sender of a request from its receiver, providing multiple possibilities for handling a
request. The Command Pattern encapsulates a request as an object, allowing
parameterization of clients with different requests, queuing of requests, and logging of the
requests. It promotes the decoupling of sender and receiver, and it is often used for
implementing undo/redo functionality.
The Template Method pattern defines the outline of an algorithm in a method but delegates
some steps to subclasses, allowing them to redefine certain behaviors while keeping the
overall structure intact. This pattern is useful when multiple algorithms share similar steps
but differ in some specific details. The Iterator Pattern provides a way to access elements
of a collection without exposing its underlying representation. It defines an iterator object
that can traverse the collection sequentially, enabling clients to access elements without
knowing the internal structure of the collection. The Visitor Pattern allows new operations
to be added to existing classes without modifying their structure. It involves defining a
separate visitor class that traverses the elements of an object structure and applies the
desired operation to each element.

S.Piravaksan Software Development Life Cycle ID:RE63300 119


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Software behavioral design technique tools


1.Entity Relationship (ER) Diagram
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how “entities”
such as people, objects or concepts relate to each other within a system. ER Diagrams are
most often used to design or debug relational databases in the fields of software
engineering, business information systems, education, and research. Also known as ERDs
or ER Models, they use a defined set of symbols such as rectangles, diamonds, ovals and
connecting lines to depict the interconnectedness of entities, relationships, and their
attributes. They mirror grammatical structure, with entities as nouns and relationships as
verbs (Lucidchart.com, 2017)
Entity Relationship (ER) Diagram’s basic notations and description
Table 16:(ER) Diagram’s basic notations and description

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 120


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Notations of ER diagram

Figure 31:Notations of ER diagram

Example for ER diagram

Figure 32:Example for ER diagram

S.Piravaksan Software Development Life Cycle ID:RE63300 121


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

2.Use case diagram


A use case diagram is a way to summarize details of a system and the users within that
system. It is generally shown as a graphic depiction of interactions among different
elements in a system. Use case diagrams will specify the events in a system and how those
events flow, however, use case diagram does not describe how those events are
implemented.
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. In this context, the term "system" refers to something being
developed or operated, such as a mail-order product sales and service Web site. Use case
diagrams are employed in UML (Unified Modeling Language), a standard notation for the
modeling of real-world objects and systems (Techtarget.com, 2022)
Use case diagram notations and description
Table 17:Use case diagram notations and descriptions

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 122


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Figure 33:Use case diagram symbol

An example of a use-case diagram


The following use case diagram represents the working of the travel agency booking
system.

Figure 34:Example for use case diagram

S.Piravaksan Software Development Life Cycle ID:RE63300 123


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 124


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

Figure 35:Data flow diagram’s basic notations

An example of a data flow diagram

Figure 36:An example of a data flow diagram

S.Piravaksan Software Development Life Cycle ID:RE63300 125


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 126


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

An example of an activity diagram


The following use case diagram represents the modeling of a word processor

Figure 37:An example of an activity diagram

S.Piravaksan Software Development Life Cycle ID:RE63300 127


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

ChangeU salon aims to enhance customer service by implementing a booking system.


While the development team possesses relevant experience, the project's complexity
remains manageable. During an interview with the salon's general manager, their primary
requirement was a high-quality, web-based booking system. A survey conducted with salon
staff revealed the shortcomings of the existing system and their specific expectations of the
new one. To address these insights, behavioral tools such as user stories and use case
diagrams will be utilized in the software investigation. This approach will aid in
understanding user needs and defining system functionalities to ensure the successful
development of the salon's desired booking system.
1.Use case diagram for ChangeU Salon

Figure 38:Use case diagram for ChangeU Salon

S.Piravaksan Software Development Life Cycle ID:RE63300 128


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Actors of above use case diagram


• Customer - Represents individuals who use the booking system to make
appointments, view schedules, cancel appointments, and receive notifications.
• Salon Staff - Represents the salon's employees who interact with the booking
system to manage appointments, update their availability, access customer details,
and mark appointment statuses.
• IT Team - Represents the technical team responsible for maintaining the system,
troubleshooting any issues that arise, and ensuring data backup and security.
Use cases of above use case diagram
1. Customer use cases
• Make appointment - Customers can make appointments by selecting desired
services, preferred dates, and available time slots through the booking system.
• View schedule - Customers can view the salon's availability and schedule to choose
a suitable time for their appointment.
• Cancel appointment - Customers have the option to cancel their existing
appointments conveniently through the booking system.
• Receive notifications - Automated notifications are sent to customers for
appointment confirmations, reminders, and updates.
2. Salon staff use cases
• Manage appointments - Salon staff can view and manage the appointment
schedule, including tasks like adding, modifying, and canceling appointments as
needed.
• Update availability - Staff can update their availability status in the system to
reflect their working hours and time off.
• Access customer details - Salon staff can access customer profiles, which include
service history, preferences, and contact information.
• Mark appointment status - Staff can update the status of appointments, indicating
whether they are "Completed," "In Progress," or "Canceled."

S.Piravaksan Software Development Life Cycle ID:RE63300 129


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

3. IT team use cases


System maintenance - The IT team performs system maintenance and updates to ensure
the smooth functioning of the booking system.
Troubleshoot issues - IT professionals address technical issues that may arise in the
booking system to maintain its reliability.
Data backup and security - The IT team is responsible for regularly backing up data and
implementing security measures to safeguard customer information.
Relationships for above use case diagram
• The actors (Customer, Salon Staff, and IT Team) are connected to the respective
use cases they participate in, representing their interactions with the system.
• For example, the Customer actor is associated with use cases like making
appointments, view schedule cancel appointment, and receive notifications.
• The Salon Staff actor is linked to use cases like manage appointments, update
availability, access customer details, and mark appointment status.
• The IT Team actor is connected to use cases related to system maintenance, issue
troubleshooting, and data backup/security.
Use case diagram analysis for ChangeU Salon to enhance customer service through
efficient booking
The use case diagram is a powerful visual representation of the interactions between actors
and the system, capturing essential functionalities and roles in a particular process. The
primary actors in this use case are the Customer, Salon Staff, and IT Team, each
contributing to the smooth operation of the salon's booking process.
The customer actor is essential for the booking process, and four primary use cases
highlight their interactions with the system. Making appointments empowers customers to
easily schedule appointments by selecting desired services, preferred dates, and available
time slots through the user-friendly booking system. The view schedule use case enables
customers to check the salon's real-time availability and make informed decisions about
their appointments. Cancel appointment grants customers the flexibility to modify their
schedules efficiently through the system, ensuring a positive customer experience. The
receive notifications use case ensures customers stay informed, receiving automated
notifications for appointment confirmations, reminders, and any updates to their bookings,
thus reducing no-shows and enhancing customer engagement.

S.Piravaksan Software Development Life Cycle ID:RE63300 130


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 131


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

User stories of ChangeU salon


Table 20:User stories of ChangeU salon

Epic Story Subtasks


Online booking As a customer want to be able to Design user interface for
book appointments online online booking
Implement backend
functionality for booking
Test online booking
functionality
Deploy online booking
feature
Calendar As a salon staff member want the Research calendar
integration system to integrate with the calendar integration options
Integrate staff calendars
with the system
Test calendar
synchronization
Ensure real-time updates
for availability
Customer history As a salon staff member want access Define customer data to be
tracking to customer service history stored in profiles
Create database schema for
customer information
Implement data retrieval
for staff access
Secure customer data to
protect privacy
Automated As a customer want to receive Design reminder
reminders automated reminders for the notification system
appointments Implement reminder
scheduling and delivery
Test reminder functionality

S.Piravaksan Software Development Life Cycle ID:RE63300 132


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Fine-tune reminder timing


and frequency
Reporting and As a salon staff want access to Define key metrics and
analytics booking and performance reports report requirements
Develop report generation
functionality
Validate report accuracy
and data representation
Create user-friendly report
interface
Security and data As a salon staff want to ensure Conduct a security audit of
protection customer data security the system
Implement encryption for
sensitive data
Set up access controls for
data protection
Regularly back up
customer data for safety
Customer As a customer want a user-friendly Create user friendly user
service booking system interface
enhancement Allow quick and easy
service selection
Implement user registration
and login
Enable guest checkout for
new customers
Provide real-time
availability information for
services
Offer personalized service
recommendations based on
history

S.Piravaksan Software Development Life Cycle ID:RE63300 133


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Customer As a salon staff want to gather Create customer feedback


feedback customer feedback forms
integration Implement feedback
submission functionality
Store and organize
feedback data
Analyze and extract
insights from customer
feedback
The user stories table presented above offers a comprehensive and well-justified set of
features for the ChangeU Salon system. Each user story addresses specific features of the
salon's operations, customer experience, and business growth, demonstrating a clear
alignment with the salon's objectives. The inclusion of features like online booking and
automated reminders cater to the modern-day customer's expectation of convenience and
accessibility. These features smooth the appointment scheduling process, reduce the
workload on salon staff, and lead to improved customer satisfaction. The integration of
staff calendars with the system, as proposed in the calendar integration user story, ensures
efficient appointment scheduling, minimizing conflicts, and optimizing staff availability.
This ultimately enhances the salon's operational efficiency and service quality. The
customer history tracking user story focuses on empowering salon staff with access to
customer service history, enabling personalized services based on past preferences and
interactions. This feature fosters stronger customer relationships and contributes to
customer loyalty. Data-driven decision-making is addressed through the reporting and
analytics user story, allowing salon managers to gain valuable insights into salon
performance, customer trends, and staff productivity.
Access to comprehensive reports enables better resource allocation, strategic planning, and
business growth. Ensuring data security is a critical feature, and the security and data
protection user story emphasizes the implementation of robust security measures,
encryption, and data backups to safeguard sensitive customer information and comply with
data protection regulations. The customer service enhancement user story offers valuable
tools to elevate the overall customer experience. Features such as appointment tracking and
improved communication enhance customer satisfaction and contribute to a positive salon
experience. The customer feedback integration user story emphasizes the importance of

S.Piravaksan Software Development Life Cycle ID:RE63300 134


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 135


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Application of Finite State Machine (FSM)


Game development - FSMs are commonly used in game development to control the
behavior of non-player characters (NPCs) and game objects. They can define the states and
actions of characters based on the game's rules and events.
Traffic light control - FSMs are applied in traffic light control systems to manage the
sequencing and timing of traffic signals. The FSM can represent different states of the
traffic light, such as green, yellow, and red, and define the transitions based on
predetermined patterns or sensor inputs.
Game development - FSMs are commonly used in game development to control the
behavior of non-player characters (NPCs) and game objects. They can define the states and
actions of characters based on the game's rules and events.
FSM diagram’s notations

Figure 39:FSM diagram’s notations

S.Piravaksan Software Development Life Cycle ID:RE63300 136


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

The symbols used in Finite State Machine (FSM) diagram


Table 21:The symbols used in Finite State Machine (FSM) diagram

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.

An example FSM diagram about online purchasing

Figure 40:Example for FSM diagram

S.Piravaksan Software Development Life Cycle ID:RE63300 137


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Differences between Finite State Machine and Extended Finate State Machine
Table 22:Differences between Finite State Machine and Extended Finate State Machine

Finite State Machine Extended Finate State Machine


A computational model with a finite An extension of FSM that allows actions
number of states and transitions. and variables associated with states.
Simple and suitable for small, well- Can handle complex systems with more
defined problems. states and advanced behaviors.
States are distinct and independent of each States can have local variables to store
other. additional information.
Transitions are based solely on the current Transitions can also consider local
state and input. variables in addition to state and input.
Commonly used in basic control systems, Suitable for modeling complex systems
simple games, and protocol design. like embedded systems, user interfaces,
and enterprise applications.
Simpler to design and understand due to More challenging to design and maintain
fewer elements. due to additional variables and actions.
Limited flexibility to accommodate More adaptable to changing requirements
changing requirements. and dynamic systems.
Generally, does not involve variables Utilizes variables to maintain extended
within the states. state information.
Represented using state transition Represented using UML (Unified
diagrams or state tables. Modeling Language) diagrams like
Statechart diagrams.

S.Piravaksan Software Development Life Cycle ID:RE63300 138


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

FSM for ChangeU salon booking system

Figure 41:FSM for ChangeU salon booking system.

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 139


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 140


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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

S.Piravaksan Software Development Life Cycle ID:RE63300 141


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 142


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

9.State: Edit profile


In the "Edit profile" state, users can modify their personal information, update contact
details, or change their password. This state ensures that customers can keep their profiles
accurate and up to date, enhancing communication and service personalization.
10.State: Logout
The "Logout" state enables users to terminate their current session and securely log out of
their accounts. Upon logging out, users return to the "Home" state, ready to explore the
website again during their next visit. This state ensures privacy and security for customers'
accounts.
Data driven software
Data-driven software is a type of application that utilizes data and insights to dynamically
adapt its behavior, decision-making, or output, enabling it to respond intelligently to
changing inputs and deliver personalized and efficient experiences to users.
Benefits of data driven software
• Data-driven software facilitates informed decision-making by leveraging real-time
and accurate data, leading to improved strategies and outcomes.
• The software tailors user interactions, content, and recommendations based on data
analysis, creating personalized experiences that enhance user satisfaction.
• Automation, workflow optimization, and bottleneck identification in data-driven
software led to increased efficiency and better resource management.
• Businesses leverage customer data to target the right audience with personalized
marketing campaigns, resulting in higher conversion rates and increased sales.
• Utilizing historical data and machine learning, data-driven software predicts trends,
anticipates customer behavior, and proactively addresses potential issues.
• Regular data analysis enables software teams to identify areas for improvement,
refine features, and iterate on the product to meet evolving customer needs.
• Data-driven software optimizes processes and resource allocation, resulting in cost
savings and improved return on investment.
• Through data analysis, businesses identify potential risks and vulnerabilities,
enabling them to implement preemptive measures for risk mitigation.
• Leveraging data effectively provides a competitive advantage by enabling agile
decision-making and staying ahead in dynamic markets.

S.Piravaksan Software Development Life Cycle ID:RE63300 143


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

The impact of data-driven software to enhancing reliability and effectiveness


Data-driven software has a profound impact on improving the reliability and effectiveness
of businesses across various features. It enhances decision-making processes by providing
real-time insights and trends based on data analysis, allowing for more informed and data-
backed choices. This, in turn, leads to more reliable and effective strategies and outcomes.
data-Driven software excels at accurate predictions through predictive modeling and
analysis, enabling businesses to anticipate potential issues, customer behavior, and market
trends. This proactive approach allows them to address challenges and seize opportunities
promptly, further increasing their reliability and effectiveness.
The software contributes to process optimization by identifying inefficiencies and
bottlenecks in workflows. By smoothing operations and improving efficiency,
organizations can rely on smoother processes that lead to enhanced effectiveness in various
features of their operations. The ability to deliver personalized experiences and tailored
solutions is another strength of data-driven software. By leveraging customer data, the
software can customize interactions and content, ultimately increasing user satisfaction and
the effectiveness of their services or products. Continuous improvement is yet another
advantage of data-driven software. Armed with data-driven insights, software teams can
consistently refine and enhance the product, making it more reliable and effective over
time. Data-driven marketing efforts enable businesses to target the right audience precisely.
By analyzing customer data, promotional campaigns can be directed towards the most
relevant recipients, thus enhancing lead generation and conversion rates.
Efficient resource allocation is another area where data-driven software excels. With
optimized resource allocation, businesses can ensure that time, money, and manpower are
utilized efficiently, maximizing overall effectiveness. Data-driven insights help
organizations in proactively resolving issues. By analyzing historical data, the software can
identify patterns that may lead to problems, enabling proactive measures to avoid downtime
or disruptions. Data-driven software is important for improving customer service and
loyalty. Understanding customer needs and preferences better allows businesses to deliver
more tailored and satisfactory experiences, thereby enhancing customer loyalty and overall
reliability.

S.Piravaksan Software Development Life Cycle ID:RE63300 144


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

Data-driven software to enhance reliability and effectiveness for ChangeU salon


Data-driven software presents a transformative solution for ChangeU salon, enhancing the
reliability and effectiveness of their online booking system while elevating customer
service. Using the power of data analytics and insights, the salon can achieve a smooth and
efficient booking process, smooth operations, and optimizing resource allocation. For
example, the software can analyze historical booking data to identify peak hours and
service demand, ensuring that the right number of staff members is available during busy
times, minimizing wait times, and maximizing productivity.
One of the major benefits of data-driven software is its ability to deliver personalized
customer experiences. By collecting and analyzing customer data, such as past booking
history, preferences, and feedback, the system can offer tailored recommendations and
promotions based on individual preferences. For instance, if a customer frequently books a
particular service, the software can offer them exclusive discounts or package deals related
to that service. This heightened level of personalization not only boosts customer
satisfaction but also fosters customer loyalty, encouraging repeat bookings and positive
word-of-mouth.
To further enhance reliability, the data-driven software incorporates proactive maintenance
capabilities. By continuously monitoring the health of the system and identifying potential
issues before they escalate, the software helps prevent downtime and service disruptions,
significantly increasing overall reliability. The salon can allocate dedicated time for regular
system maintenance, ensuring the software remains up-to-date and runs smoothly. Real
time insights provided by data-driven analytics are invaluable for salon management. They
can access up-to-date data on booking trends, customer feedback, staff performance, and
resource allocation, enabling them to make data-backed decisions quickly and efficiently.
This real-time decision-making contributes to a more effective operation and ensures that
the salon can adapt swiftly to changing circumstances. For example, if a certain service
becomes highly popular during a specific time slot, the management can allocate more
resources to accommodate the increased demand.
The data-driven software excels in demand forecasting. By analyzing historical booking
data and customer preferences, the system can predict future demand for specific services.
Armed with this foresight, the salon can better prepare for peak times, preventing
overbooking or understaffing issues that might otherwise impact customer satisfaction.

S.Piravaksan Software Development Life Cycle ID:RE63300 145


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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.

S.Piravaksan Software Development Life Cycle ID:RE63300 146


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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].

S.Piravaksan Software Development Life Cycle ID:RE63300 147


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

VentureLine (n.d.). SUPPORTING DOCUMENTS DEFINITION. [online]


www.ventureline.com. Available at: https://www.ventureline.com/accounting-
glossary/S/supporting-documents-definition/ [Accessed 8 Jul. 2024].
Indeed Career Guide. (n.d.). What Is Requirement Traceability? (With Benefits and How
To Use). [online] Available at: https://www.indeed.com/career-advice/career-
development/requirements-traceability [Accessed 9 Jul. 2024].
testbytes (2020). What is Software Quality? and How to achieve it? [online] Testbytes.
Available at: https://www.testbytes.net/blog/what-is-software-quality/ [Accessed 10 Jul.
2024].
BrowserStack. (n.d.). 15 Techniques to Improve Software Quality. [online] Available at:
https://www.browserstack.com/guide/how-to-improve-software-quality [Accessed 10 Jul.
2024].
Gillis, A. (2019). What Is Quality Assurance? - Definition from WhatIs.com. [online]
SearchSoftwareQuality. Available at:
https://www.techtarget.com/searchsoftwarequality/definition/quality-assurance [Accessed
10 Jul. 2024].
WhatIs.com. (n.d.). What is a use case diagram? [online] Available at:
https://www.techtarget.com/whatis/definition/use-case-diagram [Accessed 11 Jul. 2024].
WhatIs.com. (n.d.). What is a Finite State Machine? [online] Available at:
https://www.techtarget.com/whatis/definition/finite-state-machine [Accessed 12 Jul.
2024].
www.oreilly.com. (n.d.). Technical Solution: An Engineering Process Area at Maturity
Level 3 - CMMI for Development: Guidelines for Process Integration and Product
Improvement, Third Edition [Book]. [online] Available at:
https://www.oreilly.com/library/view/cmmi-for-
development/9780132700450/ch27.html#:~:text=The%20purpose%20of%20Technical%
20Solution [Accessed 13 Jul. 2024].
Wesrom. (2022). The tough decision of choosing between a website vs web app. [online]
Available at: https://wesrom.com/insights/engineering-insights/website-vs-web-
application-what-should-you-choose-
wesrom/#:~:text=A%20website%20is%20a%20series [Accessed 15 Jul. 2024].
WhatIs.com. (n.d.). What is mobile app? - Definition from WhatIs.com. [online] Available
at: https://www.techtarget.com/whatis/definition/mobile-app [Accessed 16 Jul. 2024].

S.Piravaksan Software Development Life Cycle ID:RE63300 148


HIGHER NATIONAL DIPLOMA IN SOFTWARE
ENGINEERING

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].

S.Piravaksan Software Development Life Cycle ID:RE63300 149

You might also like