Assignment 1 Front Sheet: Qualification BTEC Level 5 HND Diploma in Business
Assignment 1 Front Sheet: Qualification BTEC Level 5 HND Diploma in Business
Assignment 1 Front Sheet: Qualification BTEC Level 5 HND Diploma in Business
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Student’s signature
Grading grid
P1 P2 P3 M1 M2 D1
1|Page
Summative Feedback: Resubmission Feedback:
2|Page
Contents
CONTENTS .................................................................................................................................................................3
LIST OF TABLES .......................................................................................................................................................5
LIST OF FIGURES .....................................................................................................................................................5
SOFTWARE REQUIREMENTS SPECIFICATIONS AND SOFTWARE DESIGN ..........................................6
REVISIONS .................................................................................................................................................................7
1. INTRODUCTION (P1) ...........................................................................................................................................7
1.1 DOCUMENT PURPOSE ....................................................................................................................................7
1.2 PRODUCT SCOPE............................................................................................................................................7
1.3 INTENDED AUDIENCE AND DOCUMENT OVERVIEW ........................................................................................7
1.3.1 Intended audience................................................................................................................................7
1.3.2 Document overview .............................................................................................................................8
1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS ..........................................................................................9
1.5 REFERENCES AND ACKNOWLEDGMENTS .................................................................................................... 10
1.5.1 References ......................................................................................................................................... 10
1.5.2 Acknowledgments .............................................................................................................................. 10
2. OVERALL DESCRIPTION ................................................................................................................................. 10
2.1. PRODUCT OVERVIEW ........................................................................................................................................ 10
2.2. PRODUCT FUNCTIONALITY ............................................................................................................................... 11
2.3. DESIGN AND IMPLEMENTATION CONSTRAINTS ................................................................................................. 11
2.3.1. Hardware design constraints ................................................................................................................... 11
2.3.2. Software constraints ................................................................................................................................. 11
2.4. ASSUMPTIONS AND DEPENDENCIES .................................................................................................................. 12
3. SPECIFIC REQUIREMENTS ............................................................................................................................. 13
3.1 EXTERNAL INTERFACE REQUIREMENTS ............................................................................................................. 13
3.1.1 User Interfaces .......................................................................................................................................... 13
3.2 FUNCTIONAL REQUIREMENTS ............................................................................................................................ 16
3.2.1 Login page................................................................................................................................................. 16
3.2.2 Register page............................................................................................................................................. 16
3.2.3 Add, update, delete, view: ......................................................................................................................... 16
3.2.4 Searching/ reporting requirements: .......................................................................................................... 16
3.2.5 Database ................................................................................................................................................... 16
3.3 USE CASE MODEL .............................................................................................................................................. 17
3.3.1 Use Case ................................................................................................................................................... 18
4. RISK MANAGEMENT MATRIX ....................................................................................................................... 22
5. OTHER REQUIREMENTS ................................................................................................................................. 25
5.1 UI REQUIREMENTS ............................................................................................................................................ 25
5.2 PERFORMANCE REQUIREMENTS ......................................................................................................................... 25
5.3 SAFETY AND SECURITY REQUIREMENTS ............................................................................................................ 26
EVALUATION REPORT......................................................................................................................................... 26
CHAPTER 1: DESIGN TOOLS .............................................................................................................................. 26
I. TOOLS TO DESIGN UML AND USER INTERFACE .............................................................................................. 26
1. Visual Paradigm ........................................................................................................................................ 26
2. Draw.io ...................................................................................................................................................... 27
3|Page
II. SUITABLE TOOL FOR DESIGN UML AND USER INTERFACE .............................................................................. 27
CHAPTER 2: FRONT-END TECHNOLOGY STACK ........................................................................................ 28
I. PROGRAMMING LANGUAGE ............................................................................................................................ 28
JavaScript .......................................................................................................................................................... 28
II. HTML AND CSS ............................................................................................................................................. 29
III. CSS FRAMEWORK ....................................................................................................................................... 29
1. Bootstrap .................................................................................................................................................... 29
IV. JAVASCRIPT LIBRARY ................................................................................................................................. 30
jQuery ................................................................................................................................................................ 30
CHAPTER3: BACK-END TECHNOLOGY STACK............................................................................................ 30
I. PROGRAMING LANGUAGE ................................................................................................................................ 30
Suitable program will be used in the project ..................................................................................................... 31
II. OPERATING SYSTEM........................................................................................................................................ 31
III. WEB SERVER .............................................................................................................................................. 32
IV. DATABASE .................................................................................................................................................. 32
1. MySQL ....................................................................................................................................................... 32
2. MongoDB ................................................................................................................................................... 33
Suitable database will be used in the project ..................................................................................................... 34
V. HOSTING ......................................................................................................................................................... 35
VI. FRAMEWORK .............................................................................................................................................. 35
VII. THE WEB MODEL ....................................................................................................................................... 36
CHAPTER 4: TOOLS FOR SOURCE CONTROL MANAGEMENT ................................................................ 36
GITHUB ................................................................................................................................................................... 36
CHAPTER 5: SOFTWARE DEVELOPMENT MODELS ................................................................................... 37
1. WATERFALL MODEL ........................................................................................................................................ 37
2. V-MODEL ........................................................................................................................................................ 38
3. AGILE MODEL.................................................................................................................................................. 40
4. SCUM MODEL .................................................................................................................................................. 41
5. SUITABLE SOFTWARE DEVELOP MODEL FOR THE PROJECT AND EXPLAIN ......................................................... 44
CONCLUSION .......................................................................................................................................................... 45
REFERENCES .......................................................................................................................................................... 46
4|Page
List of Tables
Table 1: Definitions, Acronyms ..................................................................................................... 10
Table 2: Risk and solution ............................................................................................................. 25
Table 3: Advantages and Disadvantages of Waterfall model ....................................................... 38
Table 4-Advantages and Disadvantages of V-model .................................................................... 40
Table 5-Advantages and Disadvantages of Agile model ............................................................... 41
Table 6: Advantages and Disadvantages of Scrum model ............................................................ 44
List of Figures
Figure 1: Login page ...................................................................................................................... 13
Figure 2: Home page ..................................................................................................................... 14
Figure 3: View trainees page......................................................................................................... 14
Figure 4: Update profile page ....................................................................................................... 15
Figure 5: View Courses .................................................................................................................. 15
Figure 6-Use Case model .............................................................................................................. 17
Figure 7: MongoDB ....................................................................................................................... 34
Figure 8: MVC Model .................................................................................................................... 36
Figure 9: Waterfall Model ............................................................................................................. 37
Figure 10-V-model ........................................................................................................................ 39
Figure 11-Agile model ................................................................................................................... 40
Figure 12: Scrum Model ................................................................................................................ 42
Figure 13: Trello ............................................................................................................................ 45
5|Page
Software Requirements Specifications and Software
Design
Software Requirements
Specification
for
HR Management System
Version 1.0
Prepared by
Date: 13/10/2021
6|Page
Revisions
Version Primary Author(s) Description of Version Date Completed
1.0.0 Do Duc Tai Information about the revision. This table does not 13/10/2021
need to be filled in whenever a document is
touched, only when the version is being upgraded.
1. INTRODUCTION (P1)
1.1 Document purpose
The document will provide an introduction explaining the purpose of this document. Its purpose
is to explicitly cite all the functions the project will perform. This section is the main document,
on which the design, source code and test plan all underpin their content. This document is used
to determine if the final delivered product delivers all it is claimed for. Customer Representatives,
Users, Software Engineers, Developers, and Instructors generally negotiate the content of this
document. Therefore, this document will describe in detail the usage of each role and in the
future can expand more functions, especially training for our FPT education system.
7|Page
Object Description
- Target users: This document is used by administrators, staffs, trainers and trainees of FPT
Company in general and the University of Greenwich in particular. In order to use the
product and understand the features within, they must ensure that the document is
useful in detail for each task.
- Developer: This document was used by developers of project. They have to read and
understand project’s requirements and directions. In addition, they also need to extend
more features or remove duplicate tasks. Summary, they have to analyze the tools and
technologies for project to implement. Then, note them in report document in detail and
carefully for others read and use
- Mentor/Professor: Actually, they are who understand and got large experience in building
a project. Therefore, they will give instructions, suggestions that are very import for
improve product
Each job and responsibility in the project, in particular, will have its own task. As a result, we will
offer and discuss them in depth below as functional requirements and assumptions made when
building the project's HR administration website. We also discuss and offer product needs, as
well as requirements for external interfaces.
To read this document, reader must be an officer, employee, or student in the FPT education
system. Reading the material step by step and taking notes, then conducting more research if
necessary. There will be no copying or bringing documents out of the organization.
8|Page
1.4 Definitions, Acronyms and Abbreviations
To be more clearly while reading document, we will provide a table includes definitions,
acronyms and abbreviations that we will use in document.
9|Page
system by showing the system's classes, their
attributes, operations (or methods), and the
relationships among objects
MVC Model-View-Controller A software design pattern commonly used
for developing user interfaces that divide the
related program logic into three
interconnected elements
Table 1: Definitions, Acronyms
1.5.2 Acknowledgments
We had, however, gain some experience in the construction of this project. Nevertheless, this
project requires more features and large-scale expertise. Moreover, with the help of our
teacher's assistance. We worked on them one by one until we were finished. As a result, we
would want to express our gratitude to the instructors and our professors. Furthermore, during
a functioning project, each team member is always striving to fulfill their particular duty to the
best of their abilities. We also want to express our gratitude to the FPT education organization
for providing us with the opportunity to work on projects and for inspiring us to grow and create.
Our group has got the chance to learn, experience, and work together seriously and
professionally as a result of this project. This was a challenge for our team, also a learning
experience for all team members.
2. Overall Description
2.1. Product overview
The web was built for a variety of very good reasons, including providing consumers with
authentic experiences through a new interface, modern technology, and suitability for their
10 | P a g e
present needs. In addition, the new system will be enhanced with new features and
functionalities to improve the user experience. Staff and administrators will be able to manage
accounts, subjects, and courses more easily with the new system. Furthermore, the user interface
will be totally redesigned to reflect today's popular technology and usage requirements. It will
create a different place for people to work in when using the system, as well as decentralize work
when signing in.
Admin: Users may add, update, search, remove, and allow staff/trainer accounts.
Staff: Users may add, edit, view, remove, and search for categories, courses, topics,
accounts, and trainees'/staff's profiles.
Trainer: Users may edit, browse, and search their profile, as well as see and search
subjects, according to the trainer.
Trainee: Users can update, browse, and search the trainee's profile.
11 | P a g e
NodeJS and MongoDB
Use framework Bootstrap for the Front-end design
Use Visual Studio Code to code for the project
MongoDB Database: This database is based on SQL provided by Oracle Corporation, built to
support most of today's operating systems, such as Window and MacOS. The free version with
subscription, can be used for a good data flow but for a larger amount of data, the paid version
is too expensive for the current project.
NodeJS for Backend: NodeJS is a software framework for creating scalable internet applications,
particularly web servers. When used with Visual Studio Code, it is currently free of charge.
Furthermore, make it an excellent project option. Although it is developing several Fundamentals
Courses to generate additional revenue, it is unclear whether the framework will remain free in
the future.
HTML for User Interfaces: HTML is a markup language that is used to construct website user
interfaces. Because it's well-known and used on a lot of well-known websites, it's a safe pick for
a website's user interface. Additionally, if you want to give a nice user experience, it will be built
12 | P a g e
from here, based on consumer experiences, and UX/UI is a separate problem. The subject has to
be polished, and the best moment to do so is when the product is still in the consumer's hands.
GitHub: You will not be allowed to hold a meeting since the project was built by a five-person
team, and because the world is currently experiencing a Covid 19 pandemic. As a consequence,
engineers will be able to exchange and integrate code using GitHub as a software collaboration
platform for project development. Furthermore, Github makes it much easier for everyone on
the team to share, edit, and submit code, giving us a better experience than other similar apps.
As a consequence, GitHub is a necessary component of the project's success.
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
Because author’s task in this project is developing trainer’s role so he will only provide a
specification for trainer use case diagram. Other members of the team will provide each
specification for their requested UI.
Login page:
13 | P a g e
Home page :
View trainees:
14 | P a g e
Update profile:
15 | P a g e
3.2 Functional requirements
3.2.1 Login page
Users can access the login page. The system will verify the inserted email and password to allow
user enter the system.
- Training staff account by entering details like: Full Name, Email, Age, Address.
- Trainer account by entering details like: Full Name, Email, Specialty, Age and Address.
- Trainee accounts by entering details like Trainee Name, Trainee Email, Date of birth,
Education.
- Admin: create new trainer, edit/delete Trainer account, view Trainer account; create new
training staff, edit/delete training staff account, view training staff account.
- Training staff: create trainee accounts, update, delete, view trainee accounts
information; adding, updating and deleting course categories; adding, updating and
deleting courses.
- Trainer: view assigned courses, view all trainees.
- Trainee: view assigned courses, view all students in the same course.
3.2.5 Database
Storage data of account, courses, course categories and profile.
16 | P a g e
3.3 Use Case model
Explanation
In the Use Case diagram, the system will include 4 roles: admin, staff, trainee and trainer. Each
role will have similar and different functions.
The first is the login and logout functionality. All users have these two functions.
To use the system, users need to log in first. Then the system will rely on the user's role to assign
functions to the user:
- Admins can view, search, add, edit and delete trainers and staff, create accounts for
them and edit password.
- Staff can view, search, add, edit and delete trainee, course category, course. In addition,
they also assign and remove a trainer or trainee to a course. They also can update their
profile and password.
- Trainer can view course they are assigned to and view all trainee in this course. They
also can update their profile and password.
17 | P a g e
- Trainer can view course they are assigned to and view all trainee in this course. They
also can update their profile and password.
3.3.1 Use Case
Because author’s task in this project is developing trainer’s role so he will only provide a
specification for trainer use case diagram. Other members of the team will provide each
specification for their requested use case diagram.
Description As a user, he/she must be able to login into the system to use its
functions.
18 | P a g e
Post-Condition(s): The user logged in successfully.
The user enters the username and password in the login field.
Basic Flow The user presses the login button to send information to the server.
The server checks for the login information and give user permission for
their account-related action.
Exception Flow The user cancels the login or turned off the browser, the user case break.
The login function will be postponed for 15 minutes after 5 times user
enters the wrong name and password.
Business Rules
Non-Functional NFR1.1-1: After 120 seconds, the login will be timed out.
Requirement
NFR1.1-2: User passwords must be encrypted during transportation.
19 | P a g e
Use Case ID UC-1.2
Actor(s) Trainer
20 | P a g e
The user login to the trainer account.
Alternative Flow The trainer doesn’t update any information and exit, case break.
Exception Flow The trainer doesn’t have permission to change the other user’s
information, an error message shows up, return to the end of step 1.
The login function will be postponed for 15 minutes after 5 times user
enters the wrong name and password.
Business Rules
The account is automatically logged out after idling for 30 minutes.
Non-Functional If the server is down after the modify, revert the system to the previous
21 | P a g e
4. RISK MANAGEMENT MATRIX
NAME OBJECTIVE
PRE-MITIGATION POST-MITIGATION
MITIGATIONS /
DEPARTMENT
REF / ID WARNINGS / ACCEPTABLE
RISK RISK / LOCATION RISK RISK
RISK RISK REMEDIES RISK TO
LIKELIHOOD LEVEL LIKELIHOOD LEVEL
SEVERITY SEVERITY PROCEED?
– ACCEPTABLE –IMPROBABLE – ACCEPTABLE
– POSSIBLE – LOW – LOW
– TOLERABLE – TOLERABLE
–MEDIUM –IMPROBABLE –MEDIUM
–UNDESIRABLE – PROBABLE –UNDESIRABLE
– HIGH – POSSIBLE – HIGH
–INTOLERABLE –INTOLERABLE YES / NO
– EXTREME – PROBABLE – EXTREME
The group
Due to the spread suggesting contact
out of COVID, solution to work and
1 group has to Undesirable Improbable Medium Any meeting using Undesirable Improbable Low Yes
discuss the project Google Meeting,
indirectly. Zoom or other
meeting apps.
Some team
members have Experienced
some difficulties members can
Any
because NodeJS is support and
2 Intolerable Possible Medium Tolerable Improbable Medium Yes
not their strength guide the other to
programming complete their
language. tasks.
Lack of technical
skills, in this Experienced
project, the team members can support
3
decided to use Frontend, and guide the other to
MVC model to Tolerable Possible Medium Backend, complete their tasks. Tolerable Improbable Low Yes
develop the project. Database
Some members
never use this
model before.
22 | P a g e
The user interface The designer has
design is not to work with both
Frontend,
suitable for Frontend and
4 Tolerable Possible Medium Database, Acceptable Improbable Low Yes
displaying the Database
Designer
database's departments while
information. designing
the website.
During work
process, group Other member
members have many should share the
6 personal work so Intolerable Possible High Any work to replace the Tolerable Improbable Low Yes
some meetings and ill member to
tasks cannot be complete tasks.
fulfilled as expected.
Each member has
tasks to do while the Using GitHub to
pandemic spreading Acceptable Improbable Low Any manage and source Acceptable Possible Low Yes
7
out. The team cannot code.
sync their work.
23 | P a g e
Risk Risk Level Solution
Lack of technical manpower High Spend part of the cost to train personnel right
from the start
Reserve buffers for additional personnel
Create a separate training program for the
project
Organize cross training sessions between skilled
members and newbies
Risk comes from the client's High Having a contract, written signature of the
side, when they make client for specific requirements upon receiving
changes out of order. Many the project.
project managers by being Warn customers of the risk of delays if sudden
caught up in these erratic changes are followed.
requirements get the project Develop a specific process, clear procedures
confused. (signatures of important clues involved) if you
want to change.
Clearly negotiate for remuneration
commensurate
with the out-of-contract changes.
Personnel left the project Ensure that all personnel are responsible for the
important part of the project
Annual meeting (outside work) to build
solidarity, teamwork
Occasionally rotate personnel into different
areas. There are 1-2 people who promptly back
up the project at any time.
There is a mechanism for storing and managing
work documents of all personnel
24 | P a g e
Performance is not High Define clear performance standards and
guaranteed present them to client review.
Make sure everyone in the project is aware of
the specific requirements for personal
performance. Build sample performance for
critical transactions. Test with sample data if
possible.
The cost risk, often of Medium Calling for more capital from investors and
escalating project costs, is social sponsors
due to poor accuracy and
range of cost estimates.
Table 2: Risk and solution
5. Other requirements
5.1 UI Requirements
The system is developed in a manner that is appropriate for the FPT company's environment. The
user interface must be simple to understand and utilize. After 30 minutes of instruction, users
are ready to utilize it on their own.
25 | P a g e
5.3 Safety and Security Requirements
The system poses a threat to security. Hackers can get access to low-security systems, producing
severe difficulties for businesses. System data, such as information on courses, trainers, and
trainees, is sensitive data that must be safeguarded inside the organization.
Policy on security:
EVALUATION REPORT
Chapter 1: Design Tools
I. Tools to design UML and User Interface
1. Visual Paradigm
Visual Paradigm is a powerful, cross-platform and easy-to-use design and management
tool for IT systems. Visual Paradigm provides software developers with an advanced
development platform to build quality applications faster, better, and cheaper! It facilitates great
interoperability with other CASE tools and most leading IDEs to outshine your entire Model-Code-
Deploy development in this one-stop procurement solution.
Author can draw all kinds of UML 2.x diagrams in Visual Paradigm's UML tools, which include:
26 | P a g e
Class diagram Package diagram
Use case diagram Object diagram
Sequence diagram Composite structure diagram
Communication diagram Timing diagram
State machine diagram Interaction overview diagram
Activity diagram Component diagram
Deployment diagram
2. Draw.io
Draw.IO is a free online UML tool. This is one of the best UML tools that allows users to
easily create and manage drawings with these tools. A lot of sharing widely and soon is available
with this tool.
Features:
27 | P a g e
Chapter 2: Front-End technology stack
I. Programming Language
JavaScript
JavaScript is a well-known scripting language that is used to cast magic on web pages to make
the website interactive for the user. It is used to enhance the functionality of a website to run
interesting games and web-based software (Singhal, 2021). JavaScript is a dynamic computer
programming language. It is lightweight and most commonly used as part of web pages, whose
implementation allows client-side scripts to interact with users and generate dynamic pages. It
is an interpreted programming language with object-oriented capabilities (Anon., 2020).
Avantages of JavaScript
Limitations of JavaScript
Client-side JavaScript does not allow reading or writing of files. This has been kept for
security reasons.
JavaScript cannot be used for network applications because this support is not available.
JavaScript does not have any multithreading or multiprocessing capabilities.
28 | P a g e
II. HTML and CSS
HTML: HTML stands for Hypertext Markup Language. It is used to design the user interface part
of web pages using markup language. HTML is a combination of Hyper Text and Markup
languages. Hypertext identifies links between web pages. The markup language used to define
text documents in tags defines the structure of web pages (Singhal, 2021).
CSS: Cascading Style Sheets affectionately known as CSS is a simple language designed to simplify
the process of making web pages displayable. CSS allows you to apply styles to web pages. More
importantly, CSS allows you to do this independently of the HTML that makes up each web page
(Singhal, 2021).
Adopting a CSS framework will significantly save time building new apps and websites for
frontend developers. You can fully leverage the basics from previous apps for your existing
websites and apps (Singhal, 2021).
1. Bootstrap
The most "familiar" framework for programmers is probably Bootstrap. This tool came out in
2011 and has become one of the best CSS frameworks for front end developers. It includes a very
powerful grid system, badges, buttons, navigation bar (navbar) and many other interesting things
that you can explore. In addition, the rich catalog of free themes is also an impressive advantage
of Bootstrap (Lazaris, 2019).
If you're getting used to the framework for the first time, let's start with Bootstrap's grid system.
The reason is because its usage is very simple. You can use flexible grids and boxes to design the
layout of your website (Lazaris, 2019).
29 | P a g e
Bootstrap will be selected for the application. The reason is because its usage is very simple. In
addition, the rich catalog of free themes is also an impressive advantage of Bootstrap.
C++: It is a general-purpose programming language and is widely used today for competitive
programming. It is also used as an auxiliary language.
Java: Java is one of the most popular and widely used programming languages and platforms. It
is highly scalable. Java components are readily available.
Python: Python is a programming language that allows you to work quickly and integrate systems
more efficiently.
JavaScript: JavaScript can be used as both programming languages (front end and back end).
30 | P a g e
Node.js: Node.js is an open source and cross-platform runtime environment for executing
JavaScript code outside of the browser. You need to remember that NodeJS is not a framework
and it is not a programming language. Most people confuse and understand it as a framework or
a programming language. We often use Node.js to build back-end services like APIs like Web App
or Mobile App.
NodeJS is a platform which is used very common because it has fast processing speed, thanks to
the non- blocking mechanism, NodeJS can handle thousands of concurrent connections without
any difficulty.
31 | P a g e
III. Web Server
Because the team chose NodeJS as a backend programing language in this project so they decided
to use NodeJs as a web server too. To run a NodeJS application, they must program it a Server,
installing this server will be through javascript code, not through software.
IV. Database
1. MySQL
MySQL Server is an open source relational database management system that primarily supports
web-based applications. Databases and related tables are a key component of many websites
and applications because data is stored and exchanged over the web. Even all the major social
networking sites Facebook, Twitter and Google depend on MySQL data designed and optimized
for that purpose. For all these reasons, the MySQL server became the default choice for web
applications (Anjali, 2021).
MySQL server is used for data operations such as querying, sorting, filtering, grouping, modifying
and joining tables. Before diving into commonly used queries, let's take a look at some of the
advantages of MySQL (Anjali, 2021).
Advantages of MySQL:
32 | P a g e
Provides minimized code repetition.
2. MongoDB
MongoDB, the most popular NoSQL database, is an open source document-oriented database.
The term 'NoSQL' means 'non-relational'. This means that MongoDB is not based on a table-like
relational database structure at all, but provides a different mechanism for storing and retrieving
data. This storage format is called BSON (similar to JSON format).
Features of MongoDB:
33 | P a g e
Suitable database will be used in the project
In this case, the author would like to recommend to use MongoDB as the main database.
MongoDB is a document database built on an extensible architecture that has become popular
with developers of all types who are building scalable applications using best practices and
flexible.
Figure 7: MongoDB
MongoDB shout be used because its advantages are outstanding over other databases.
The document data model is a powerful way to store and retrieve data that
allows developers to move fast.
MongoDB’s horizontal, scale-out architecture can support huge volumes of both data
and traffic.
MongoDB has a great user experience for developers who can install
MongoDB and start writing code immediately.
34 | P a g e
V. Hosting
Author continued recommend a free cloud platform to lower cost which is Heroku. This is a cloud
platform that lets companies build, deliver, monitor, and scale apps — they the fastest way to go
from idea to URL, bypassing all those infrastructure headaches (Disclaimer, 2012).
Heroku is container-base cloud platform offering (PaaS) that is suitable for service model
that was chosen.
Heroku also offers a ready-to-use environment that allows developer to deploy code fast.
It is best suitable for Startups, Medium Businesses like ATN.
It is also flexible to customize and support unique DevOps workflow needs. Heroku can
seamlessly integrate GitHub, which means every pull request generates a disposable App
for testing, and every repo can be set up to auto-deploy with each GitHub push to a
selected branch.
Using Heroku, it is fully supported with MongoDB that was mention in above section.
The tool can provide with built-in instant run-time application services. Moreover,
developers do not need to think about infrastructure because it managed automatically
by the software itself.
VI. Framework
Express is a small and utility framework for building web applications, providing a large amount
of powerful features for developing web and mobile applications. It is very easy to develop fast
applications based on Node.js for Web applications. Here are the basic features of Express
framework.
For these features, the team decided to use Express as their framework to apply on their project.
35 | P a g e
VII. The Web Model
The Web Model-View-Controller (MVC) architectural pattern divides an application into three
logical components: model, view, and controller. Each of these components is designed to handle
certain elements of application development. MVC is a popular industry-standard web
development framework for developing scalable and adaptable projects.
36 | P a g e
Chapter 5: Software Development Models
1. Waterfall model
Definition: The waterfall model is a classic model used in the system development lifecycle
to create a system with a linear and sequential approach. It is called a waterfall because the
pattern develops systematically from stage to stage in a downward direction. The model is
divided into different stages and the output of one stage is used as the input of the next.
Every stage must be completed before the next stage begins and there is no overlap of stages
(Bennett, 2020).
The following illustration is representative of the different phases of the Waterfall Model.
Advantages Disadvantages
- Easy to use, simple and - It does not allow for much reflection
understandable. or modification. When the product is
- Easy to manage because each stage in the testing phase, it is very difficult
has specific review processes and to go back and change what was left of
outputs. the request analysis phase.
- High amount of risks and uncertainty.
37 | P a g e
- The stages are processed and - Not recommended for complex and
completed at the same time. object-oriented projects.
- Works well for smaller projects where - This is a poor model for long and
the requirements are clear. ongoing projects.
- Clearly defined stages. - Adjusting the scope in the life cycle
- The process and output of each phase can end a project.
are clearly mentioned in the
document.
- The milestones are well understood.
- Easily organize tasks.
Table 3: Advantages and Disadvantages of Waterfall model
2. V-model
Definition: V-model is a highly disciplined SDLC model that has a parallel test phase with each
development stage. Model V is an extension of the waterfall model in which the test is
performed on each stage parallel to sequential development. It's called Verification and
Validation model (Kumar, 2019).
Verification: It involves a static analysis (review) technique that is performed without code
execution. This is the process of evaluating the product development stage to find out if
specific requirements have been met (Kumar, 2019).
38 | P a g e
Figure 10-V-model
Advantages Disadvantages
39 | P a g e
probability of building a good quality
product without defects.
Table 4-Advantages and Disadvantages of V-model
3. Agile model
Definition: Agile process model refers to a software development approach that is based on
iterative development. Agile methods divide tasks into smaller iterations or parts that are not
directly related to development. Project scope and requirements set at the beginning of the
development process Plans for the number of iterations, duration, and scope of each
iteration are clearly defined in advance (Pal, 2018).
Advantages Disadvantages
40 | P a g e
- Working through Pair programming - Due to lack of formal documents, it creates
produces compact programs that are well- confusion and important decisions taken
written and error-free compared to during different phases can be
programmers working alone. misinterpreted at any time by different
- It reduces the total development time of team members.
the entire project. - Due to absence of proper documentation,
- Customer representatives consult on when the project completes and the
software products to be updated after each developers are assigned to another project,
meeting. So he can easily change any of the maintenance of the developed project can
requirements if needed. become a problem.
4. Scum model
Definition: The Scrum Model is a software development process, based on the Agile model. They
provide a wide variety of methodologies, procedures, and experiments. Thereby, the software
development process becomes fast and easy (Gurendo, 2020).
The principle of this model is to break down the software to be produced into smaller pieces for
development. That's called a Sprint. Each Sprint must ensure independent and releasable
elements.
Next is to consult the user (Product Owner) and change accordingly. During the development
process, to ensure the product release must meet what the user requires. Each Sprint takes 2-4
weeks to complete. Therefore, it is suitable for projects that have a lot of change and require
high agility. Sprint tasks are divided into several categories. The project team will develop and
continuously reevaluate how to achieve the original goal in the shortest amount of time.
Product Owner (PO): responsible for initial planning, setting priorities, and coordinating
with other departments of the company.
41 | P a g e
Scrum Master: responsible for monitoring the work throughout the implementation
process.
Scrum team members are responsible for doing the work on each sprint.
1. Sprint planning
This is the opening meeting of the sprint including developer and Product Owner; all work of a
sprint will be specifically planned in the sprint planning meeting. During sprint planning,
stakeholders will analyze and answer the following questions in turn
- Why is this sprint creating value? (What will the goals of this sprint include?)
- What can be accomplished in this sprint? (What will this sprint have to deliver?)
2. Daily Scrum
Daily Scrum meetings are usually 15 minutes long for the developers of the Scrum team which
was held by Scrum master. On each day of the sprint, a daily Scrum will be held at the same
time and place. The purpose is to check the progress towards completing the sprint goal and
42 | P a g e
adjust the sprint backlog if necessary and analyze the process (What have done? What will be
developed? Are there any problem?)
3. Sprint review
At the end of each sprint, developing team and Product Owner will check over the completed
work in last sprints and suggest necessary changes or updates. The purpose is to examine the
sprint results and determine the necessary future adaptations. The result of the sprint review is
an updated product backlog with the work in the next sprint.
4. Sprint retrospective
The goal is to review and create a plan that includes ways to increase quality and efficiency. The
goal is to identify the most effective improvements to implement in the next sprint.
Advantages Disadvantages
43 | P a g e
- Take control of the testing process as the - Best suited for small teams with cohesion
Scrum team can tweak and correct practices and understanding.
using the most practical guidance from trial - Requires a group of experienced people
and error. to complete the task.
- Bugs and problems are discovered early. - To quantify the process, the testing team
Thereby, you can fix it quickly. must conduct regression testing of the
- Good product quality and reduce production development after each sprint. This
risk, low cost. makes it difficult to implement the scrum
- The ability to exchange between customers methodology.
and developers, between team members is
set to a high level.
The Scrum methodology is used to manage knowledge work, often with a focus on software
development. The product of each software project is not the same, so it is very difficult to
apply for mass development. Therefore, to have a detailed process that can be applied to all
products is a massive and costly undertaking. Assuming such a process exists, remembering
to apply it effectively is also a major challenge.
Software is a complex product, so at the beginning it is difficult for customers to fully visualize
the requirements set forth for the product, but through the process of developing those
details to form a good response to challenges. Changing requirements will help reduce risk.
SCRUM responds very well to this problem.
As mentioned above, the software development process is quite complicated and there are
many differences between products, so if you are not directly involved in production, it will
be difficult to understand or understand incorrectly. Therefore, let the development team
44 | P a g e
decide the solution for the product and the customer who cares about the product's
functionality to meet their needs is the best.
Customers can involve in the software development process to ensure the output meets their
development needs.
During developing process, the team had used Trello as a project management application to
manage the whole project. User can drop and drag Task tag and manager can tag
stakeholders to their tasks.
Conclusion
In this assignment, the author provides an overview and some basic concepts of the steps to
complete a website, providing tools, languages, and software to support project management.
45 | P a g e
Through that, the author has also improved teamwork skills, monitoring and following the
activities and work of the members. In particular, the author knows how to create an SRS
document - one of the necessary and important documents, which is used a lot at work. In
addition, the author also provides a solution based on the given scenario. After completing this
task, the author has a better understanding of SRS and its benefits to companies and society.
References
Anjali, G., 2021. MySQL | Common MySQL Queries. [Online]
Available at: https://www.geeksforgeeks.org/mysql-common-mysql-queries/
[Accessed 12 10 2021].
46 | P a g e
Mohan, M., 2020. Software Engineering | Prototyping Model. [Online]
Available at: https://www.geeksforgeeks.org/software-engineering-prototyping-model/
[Accessed 6 4 2021].
47 | P a g e