Website Development : Application of MVC Architecture and Database Schema

Verified

Added on  2022/09/07

|18
|4133
|14
AI Summary

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: WEBSITE DEVELOPMENT
Website Development
Name of the Student
Name of the University
Author’s note:

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1WEBSITE DEVELOPMENT
Table of Contents
Project Management:.................................................................................................................2
Application of MVC architecture and database schema:...........................................................8
System testing and UI evaluation:............................................................................................11
Testing:.................................................................................................................................11
User Interface Evaluation:....................................................................................................13
References:...............................................................................................................................16
Document Page
2WEBSITE DEVELOPMENT
Project Management:
In order to complete the project, entire project was divided into seven main activities.
These activities are project planning, testing, database implementation, ORM
implementation, user interface implementation, advance implementation and producing
demonstration video. In order to make sure that we proceed an activity only when all the
required information was available, these activities were done sequentially, however the
sequence in which activities will be carried out is yet to be decided.
First activity had project scheduling as the primary step. It also include sprint
documentation. The scheduling is done in the MS Project tool. Second activity includes
testing of the application and documenting the test result. Third activity is implementing the
database into the PhpMyAdmin. Fourth activity is implementing the ORM in the system so
that database operations can be done through the model dynamically without writing raw sql.
Fifth activity User interface design which refers to the out that user sees on the screen. The
user interface will be implemented using bootstrap 4. To ensure availability of system, every
dependency of bootstrap 4 will be installed locally. Sixth activity is advanced implementation
such as user management. Only authentication has been considered for the advanced
implementation. Seventh and final activity is creating the demonstration video.
Document Page
3WEBSITE DEVELOPMENT
ID Task
Mode
Task Name Duration Start Finish Predecessors Resource Names
0 AVSS System
Implementation
28 days Mon
3/16/20
Wed
4/22/20
1 Project Planning 8 days Mon 3/16/20Wed 3/25/20
2 Task Identification 3 days Mon 3/16/20Wed 3/18/20
3 Scheduling 5 days Thu 3/19/20Wed 3/25/202
4 Sprint 12 days Thu 3/26/20Fri 4/10/20
5 User Stories 1 day Thu 3/26/20Thu 3/26/203
6 Product Backlog 2 days Fri 3/27/20Mon 3/30/205
7 Sprint goal 2 days Tue 3/31/20Wed 4/1/206
8 Sprint Implementation 4 days Thu 4/2/20Tue 4/7/207
9 Testing 2 days Wed 4/8/20Thu 4/9/208
10 Test documentation 1 day Fri 4/10/20Fri 4/10/209
11 Sprint Review 8 days Mon 4/13/20Wed 4/22/20
12 Team meeting 1 day Mon 4/13/20Mon 4/13/2010
13 Next Sprint Identification1 day Tue 4/14/20Tue 4/14/2012
14 Next sprint story boarding2 days Wed 4/15/20Thu 4/16/2013
15 Upload final result 1 day Fri 4/17/20Fri 4/17/2014
16 Sprint Documenation 3 days Mon 4/20/20Wed 4/22/2015
M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F
Mar 15, '20 Mar 22, '20 Mar 29, '20 Apr 5, '20 Apr 12, '20 Apr 19, '20
In order to maintain proper team communication throughout the project, identifying
the essential tools was very significant. In order to ensure effective communication, text
based communication, file sharing and video calling was needed. For text message
transferring, whatsapp group was used. This is because whatsapp is very efficient in terms of
text sharing, everyone knows how to use it and it is very reliable. The files sharing was done
using good drive. This has ensured that both version management and file sharing can be
completed if cloud storage facility like google drive is used. Skype was the best option when
it came to video calling. The selected tools were very effective and efficient. Entire
communication happened very smoothly throughout the project.
Sprint Cycle 1: This sprint is for implementing animal registration process. The user
stories for this sprint are as following.
i. As an admin, I want to register a animal into system, so that I can later use that
data for assigning animal to lessons
ii. As an admin, I want to see error in form if any data is missing, so that I can
resolve my error
iii. As an admin, I want the system to prevent me entering same ID twice

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
4WEBSITE DEVELOPMENT
iv. As an admin, I want the system to show newly entered data into animal list
Product Backlog
ID As a… I want to be
able to …
So that … Priority Sprint Status
1 Administrato
r
register an
animal into
system
I can later
use that
data for
assigning
animal to
lessons
High 1 Pending
2 Administrato
r
see error in
form if any
data is
missing
that I can
resolve my
error
High 1 Pending
3 Administrato
r
Entering
same id
twice
I can
identify
each animal
individually
High 1 Pending
4 Administrato
r
See all
registered
animal into
a list
I can track
and control
each animal
easily
Medium 1 Pending
PRODUCT SPRINT
Document Page
5WEBSITE DEVELOPMENT
AVSS 1
Goal
To implement an animal register form
Maintain animal data
Allowing system fetch animal data from database to be used for lessons
Maintaining data on which animal is owned by which owner
Method
Creating a method called create in controller to call Animal_model classes create
method
Create index method to call Animal_model classes get_animals method
Create PHP pages in the animals directory within views directory to show relevant
information
Two meetings were done on the Skype for this sprint. One is for implanting the sprint
and one is for reviewing. In the review, we had found that initial attempt failed due to some
database issue because, the plan was to enter animal data only in the form. The owner
assignment will be done later. But owner foreign key was structured as not null so it was
throwing error. After this bug was fixed, the sprint was successful and result was as expected.
Sprint Cycle 1: This sprint is for implementing authentication in the system. The user
stories for this sprint are as following.
i. As an admin I want to login to system, so that I can use all the system
functionalities
Document Page
6WEBSITE DEVELOPMENT
ii. As an admin, I want to see error in form if any data is missing, so that I can
resolve my error
iii. As an admin, I want the system to redirect me to login page if I am trying to
access restricted pages without logging in, so that I can be assured that system
is safe
iv. As an admin, I want to redirected to animals page after login is successful, so
that I can access all the functionalities
Product Backlog
ID As a… I want to be
able to …
So that … Priority Sprint Status
1 Administrator login to
system
I can use all
the system
functionalities
High 12 Pending
2 Administrator I want to
see error in
form if any
data is
missing, so
that I can
resolve my
error
I can resolve
my error
Medium 12 Pending
3 Administrator Redirected
to login
page if I am
trying to
I can be
assured that
system is safe
High 12 Pending

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7WEBSITE DEVELOPMENT
access
restricted
pages
without
logging in
4 Administrator Redirected
to animals
page after
login is
successful
I can access
all the
functionalities
High 12 Pending
PRODUCT
AVSS
SPRINT
12
Goal
To implement authentication policy in website
To allow only admin to access all the functionalities
To implement basic access privilege related security in website
To maintain authorization level in the system
Method
Creating User_model in the model directory to communicate with database
Creating an Users model in the controller directory to perform actions
Create login method in the Users controller so that login request is made controller
can run that function
Document Page
8WEBSITE DEVELOPMENT
Create a user session when login is successful
Creating a flash session if any error occurs
Creating a logout method in Users controller to ensure user can logout
Changing login and logout section based on user login status
Two meetings were done on the Skype for this sprint. One is for implanting the sprint
and one is for reviewing. Initially, the user session was not set properly that is why login was
not successful however, admin was redirected to animals page. It happened due to we were
assigning user id in the session but it was not available in the controller method. Later we set
the value to username and everything worked as expected.
Application of MVC architecture and database schema:
The MVC architecture or the Model View and Controller architecture is a specific
type of software design pattern which is mainly used for development of user interfaces. The
MVC divides the related program logic within three interconnected elements (Oh, Ahn and
Kim 2016). This divination is done for separating the internal representation of the
information from the way information is accepted from the user and presented to the user. In
the model view controller architecture, the model represents shape of the business logic and
the data. Model is helpful for maintaining the application data. The objects of model store
and retrieve model state within a database. The view of the MVC is a user interface. Here,
view displays the data using model to the user and view also enable the users to modify the
data. Lastly, the controller is responsible for handling all types of user requests (Majeed and
Rauf 2018). In this case the user interacts with the view, where the required URL is
Document Page
9WEBSITE DEVELOPMENT
requested. This URL request is actually handled by the controller. The control successfully
renders the appropriate view with the model data for providing the response.
The model view controller architecture pattern is also used for the PHP framework.
Actually, the main idea behind the execution of PHP framework is referred to the MVC
architecture. The PHP framework is the most popular scripting language. The PHP is used
widely for the web development purposes for different reasons (Betari et al. 2017). The PHP
is very much flexible and it is very easy to use. These two are the main reason for using the
PHP.
With these two primary benefits another reason of using the PHP is that it allows the
developers to adopt the object relational mapping. The object relational mapping is a specific
type of programming technique that is leveraged for conversion of data among the
incompatible type of systems by utilizing the object-oriented programming languages
(Lorenz, Hesse and Rudolph 2016). Through the object relational mapping a virtual object
database is prepared which is mainly used from within the programming language itself.
More specifically, the object relational mapping is a specific tool which allows the database
row that they can be referred as object within the PHP program. In this aspect the PHP driven
frameworks actually allow the developer to adopt the object relational mapping so that
similar systems with the AVSS can be implemented with the confirmation of model view
architecture controller. While using a PHP framework structure of the DBMS and the
application stack will be different for the most of the cases. As the data becomes different, the
data becomes not applicable for the currently used application. To solve this current issue the
object relational mapping is used within PHP so that data within the currently used
application becomes compatible with the application supported data structures (Lorenz et al.
2017). This is done through a specific library present in the PHP which is known as the PDO.
This PDO library of the PHP allows the developers to simply establish a connection, query

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
10WEBSITE DEVELOPMENT
and it allows to fetch the results in a specific way so that the developers can use in their
specific application.
While this PDO library is discussed specifically, the PDO stands for the PHP data
objects. The PDO or the PHP data objects is a specific type of database connection
abstraction library and this the solution through which the PHP driven frameworks allow the
developers to adopt the object relational mapping (Kumar and Kaur 2016). The PDO is some
set of extensions which provides the core PDO class and the database specific drivers. The
PDO is capable of performing this job as it is mainly focused on the data access abstraction
rather than focusing on the database abstraction. Though the PDO enables the developers to
use the object relational mapping but still there is a catch. The PDO requires the new object-
oriented features that are present within the core of PHP 5 (Anderson and Hills 2017). It
means, the PDO cannot be used with the previous versions of PHP. The PDO includes two
very much important component. First one is the PDO core, which is responsible for
providing the interface. The second one is the driver which is used for accessing particular
driver.
Regarding the PHP driven framework that is capable of allowing the developers to
adopt the object relational mapping the CodeIgniter one of the important PHP driven
framework which allows the same. The CodeIgniter is an open source framework that is used
for the development of dynamic websites with the use of PHP (Destiningrum and Adrian
2017). In this aspect the CodeIgniter can be used for the implementation of a system that is
similar with the AVSS through the model view controller architecture. The CodeIgniter is
actually loosely based on the MVC architecture or the development pattern. Though the
CodeIgniter uses the MVC architecture, model and the view are optional for the CodeIgniter
but the controller class is the compulsory part for any type of development under CodeIgniter
(Gani 2018). There is a medication option available for the CodeIgniter through which the
Document Page
11WEBSITE DEVELOPMENT
Hierarchical Model View Controller can be used which enables the developers to execute the
modular grouping of the controller, view and models arranged within a format of sub-
directory.
In most of the cases the CodeIgniter is a good choice compared with other types of
PHP framework due to completely its speed. In this context, as the CodeIgniter uses the
MVC framework when the user requests any type of resources the controller needs to
response at the very beginning (Putri and Supriyono 2019). Here, the controller understands
the request that has been made by the user then it requests the required data if necessary.
The MVC framework is one of the biggest advantages of the CodeIgniter. Rather than
the MVC framework another important advantage of the CodeIgniter is that it extendible in
nature. The CodeIgniter includes some specific libraries and helpers. This includes a wide
range of libraries and helpers. If still the required libraries and helpers is not present there, the
developers have the freedom of creating their own libraries, packages and libraries.
System testing and UI evaluation:
Testing:
Test
No
Date Tester Test
Case
Test
Data
Expected
Result
Actual
Result
Comment
s
1 01/4/2020 <<Member
Name>>
Adding
new
condition
(UAT 1a)
Condition
name
Anthrax.
Condition
id auto
generated.
Adding
condition id
automaticall
y for the
provided
condition
name into
the database.
Then
redirecting to
condition list
page.
Showing the
newly added
condition
name along
PASS
Document Page
12WEBSITE DEVELOPMENT
with the id in
the condition
list.
2 15/4/2020 <<Member
Name>>
Adding
new
animal
(UAT 1b)
Animal ID
03340,
animal
name
Cindy,
condition
to be
treated
Anthrax,
availability
Weekdays,
weight
15.0,
height
5.25, age 4
and
condition
for trainee
beginners
Adding
animal id,
name,
availability,
condition to
be treated,
height,
weight, age
and
condition to
be treated
into
database.
And then
redirecting to
animals
listing page.
Showing
newly added
animal into
the list.
Fail
System was
not allowing
to add the
animal into
database due
to owner id
was not
provided and
it was set not
null in the
database.
3 02/4/2020 <<Member
Name>>
Adding
new
animal
(UAT 1b)
Animal ID
03340,
animal
name
Cindy,
condition
to be
treated
Anthrax,
availability
Weekdays,
weight
15.0,
height
5.25, age 4
and
condition
for trainee
beginners
Adding
animal id,
name,
availability,
condition to
be treated,
height,
weight, age
and
condition to
be treated
into
database.
And then
redirecting to
animals
listing page.
Showing
newly added
animal into
the list.
PASS
4 02/4/2020 <<Member
Name>>
Indicate an
animal’s
availability
for a
lesson
(UAT 1c)
Availability
is showing in
the list for
each animal PASS
5 02/4/2020 <<Member
Name>>
Associate
animal
with a
condition
for lessons
(UAT 1d)
Availability
is showing in
the list for
each animal PASS
6 02/4/2020 <<Member
Name>>
Add new
owner
(UAT 1e)
Owner id
M6521,
name C
Redirected to
list and show
newly
PASS

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
13WEBSITE DEVELOPMENT
Tikhonova
and phone
(08) 9091
7157
registered
owner
7 03/4/2020 <<Member
Name>>
Associate
owner
with each
animal
they own
(UAT 1f)
Owner id
M6521
Show owner
name in the
animal list PASS
8 03/4/2020 <<Member
Name>>
Add new
trainee
(UAT 1g)
Trainee id
JL7887
and trainee
name M
Johnson
Show trainee
name in the
trainee list PASS
9 05/4/2020 <<Member
Name>>
Add new
veterinary
lesson on a
given
date/time
(UAT 1h)
Lesson id
100196-
01, date
2020-04-
10
Show trainee
name in the
trainee list PASS
10 05/4/2020 <<Member
Name>>
Associate
trainees
for a
lesson
(UAT 1j)
Trainee id
JL7887
Show trainee
name in the
Animals and
Trainee vets
list
PASS
11 05/4/2020 <<Member
Name>>
Associate
animals
for a
lesson
(UAT 1j)
Animal id
03340
Show animal
name and its
owner name
in the
Animals and
Trainee vets
list
PASS
12 05/4/2020 <<Member
Name>>
Edit data
by
changing
an owner’s
mobile
phone
number
(UAT 1k)
Phone
Number
(08) 9093
8745
Show newly
added
number
instead of
old one FAIL
Old mobile
number was
still showing
13 07/4/2020 <<Member
Name>>
Edit data
by
changing
an owner’s
mobile
phone
number
(UAT 1k)
Phone
Number
(08) 9093
8745
Show newly
added
number
instead of
old one PASS
User Interface Evaluation:
In this aspect, an analysis of the user interface for the developed AVSS has been
done. From the analysis of the website various of strengths and the required improvement of
Document Page
14WEBSITE DEVELOPMENT
the website has been identified (Anderson and Hills 2017). In this aspect, the clean and the
minimalistic UI look of the website is the greatest strength of it. Also, the navigation of the
website is another advantage of the website as navigating from one page to another page is
really easy in this website. One of the important functionalities of the website of the AVSS is
executing proper data entry. From the analysis of the website it has been evaluated that from
the perspective of the data entry, this website is really performing good as data entry is very
much easy through this website.
Though this website is having some important strengths, some improvements is also
required. Here, from the analysis it has been evaluated that the response time of this is high. It
means the website is taking longer to provide the response of user input (Gonzalez-Holland
et al. 2017). Thus, response time needs to be reduced in this which is the only improvements
required for this website of AVSS.
The analysis of the website has also concluded that the current website has followed
some of the Nielsen’s 10 Usability Heuristics, which is actually a positive sign for this
website. Visibility system status is one of the important heuristics that is used for the user
interface design and it has been also followed in this case. The example of this can be seen in
the login page of the website, where system informed the user regarding what is going
through the system. Upon insertion of the wrong username and password at the login page,
this system proactively informed the user that the username and password is mismatching.
User control and freedom is another important aspect of the Nielsen’s 10 Usability Heuristics
which has been again followed in this case (Hermawati and Lawson 2016). In this website,
complete freedom has been provided to the users that they can immediately choose any
section of the website, while they are working on another section of the website. Also, the
users have the freedom of immediate logout from the system, irrespective of the system
status. Aesthetic and minimalist design is another important aspect of the Nielsen’s 10
Document Page
15WEBSITE DEVELOPMENT
Usability Heuristics which has been also followed in this case. The current website followed
a minimalist approach which ensured both the aesthetics and the minimalist design for the
current website.
As per the Nielsen’s 10 Usability Heuristics the website should also help the users of
it to recognise, diagnose and recover from the errors. In this aspect the current website also
demonstrated the users, what needs to be done to error a specific type of error. Also, as per
the Nielsen’s 10 Usability Heuristics this website also establishes an appropriate match
between the system and the real world (Gonzalez-Holland et al. 2017). Here, the system has
used the languages and the phrases which are very easy to use and every user can use that.
System oriented terms has been followed less and implementation of real-world conventions
has been considered more. Therefore, match between system and real world of Nielsen’s 10
Usability Heuristics has been also followed here.

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
16WEBSITE DEVELOPMENT
References:
Anderson, D. and Hills, M., 2017. Query construction patterns in PHP. In 2017 IEEE 24th
International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp.
452-456). IEEE.
Betari, O., Erramdani, M., Roubi, S., Arrhioui, K. and Mbarki, S., 2017. Model
transformations in the MOF meta-modeling architecture: from UML to codeIgniter PHP
framework. In Europe and MENA Cooperation Advances in Information and Communication
Technologies (pp. 227-234). Springer, Cham.
Destiningrum, M. and Adrian, QJ, 2017. Web-Scheduled Doctor Scheduling Information
System Using Codeigniter Framework (Case Study: Yukum Hospital Medical
Center). Journal of Teknoinfo , 11 (2), pp. 30-37.
Gani, AG, 2018. Analysis of Alumni Data Management Information Systems Based on PHP
Codeigniter Framework. JSI (Journal of information systems) Suryadarma University , 5 (2).
Gonzalez-Holland, E., Whitmer, D., Moralez, L. and Mouloua, M., 2017, September.
Examination of the use of Nielsen’s 10 usability heuristics & outlooks for the future.
In Proceedings of the Human Factors and Ergonomics Society Annual Meeting (Vol. 61, No.
1, pp. 1472-1475). Sage CA: Los Angeles, CA: SAGE Publications.
Hermawati, S. and Lawson, G., 2016. Establishing usability heuristics for heuristics
evaluation in a specific domain: Is there a consensus?. Applied ergonomics, 56, pp.34-51.
Kumar, P. and Kaur, A., 2016. Webpage Generation from Enhanced Content Management
System using PHP Data Objects. International Journal, 6(5).
Lorenz, M., Hesse, G. and Rudolph, J.P., 2016. Object-relational Mapping Revised-A
Guideline Review and Consolidation. In ICSOFT-EA (pp. 157-168).
Document Page
17WEBSITE DEVELOPMENT
Lorenz, M., Rudolph, J.P., Hesse, G., Uflacker, M. and Plattner, H., 2017, January. Object-
relational mapping revisited-a quantitative study on the impact of database technology on
O/R mapping strategies. In Proceedings of the 50th Hawaii International Conference on
System Sciences.
Majeed, A. and Rauf, I., 2018. MVC Architecture: A Detailed Insight to the Modern Web
Applications Development. Peer Review Journal of Solar & Photoenergy Systems, 1(1).
Oh, J., Ahn, W.H. and Kim, T., 2016, August. MVC architecture driven restructuring to
achieve client-side web page composition. In 2016 7th IEEE International Conference on
Software Engineering and Service Science (ICSESS) (pp. 45-53). IEEE.
Putri, DPM and Supriyono, H., 2019. Design and Build a QR Code-Based Presence System
Using a Codeigniter Framework (Case Study of the Presence of Practicum
Assistant). Journal of INSYPRO (Information System and Processing) , 4 (1), pp.17-26.
1 out of 18
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]