Online Branding System
(The British College)
Abstract
Web applications have become an integral part of this digital world. And in order to get success in any business, the brand or the business should be visible and known among the people. With the help of helping such business or organization in the field of marketing or making visible among the people, Online Branding System has been designed and developed. The main purpose of this research is to implement recommendation system in this web application. This will be done by doing research on various recommendation system algorithms, technologies that will be used and different feasibility studies
Table
of Contents
A. Introduction
Online Branding System is a web application based on
recommendation system algorithms which helps to promote local, small – big
organization. In this world of technology, the internet has been the great
platform to promote and operate any business without any geological boundaries.
Thus, the concept of recommendation system has been used in this project which
will recommend the brands or business to the end users according to their
interests without any hassle. Here, the word hassle indicates process to create
the user account and log in to the application in order to get recommendation.
This (Online Branding System) app is so clever that it will recommend the
brands without getting your personal information. As we know privacy matters in
this digital world, we won’t take any personal information about you in our
databases. The algorithm used in this project will be discussed in this project
shortly.
1. Aims of the Project
The main aim of
this project is to design and develop a web platform for brands which will help
them to promote their products/services among the targeted users. Beside
brands, Normal user will also be able to search brands according to their
preferences, view detail brand page, review them, view recent
activities/events/blogs, etc.
2.
Objectives of the
Project
Some of the major
objectives of my projects are listed below
i.
Research, analyze,
identify and evaluate the technology, tools and resources by other similar
systems.
ii.
Use different fact
finding techniques like questionnaires, survey, interview, etc. to collect data
which is important to make SRS (System Requirement Specification) document.
iii.
Conduct
feasibility study and decide an appropriate Software Development Life Cycle to
manage the project.
iv.
Design ERDs and
UML diagrams for the project implementation.
v.
Research and learn
the technologies to be used to develop the project (i.e. Online Branding
System)
vi.
Research on
Recommendation Systems and their algorithms to be used.
vii.
Visit the sites
which have already implemented the recommendation system.
viii.
Identify methods,
tools and techniques to mitigate the risks and protect against possible
threats.
ix.
Testing, debugging
and summarizing the project.
x.
Deploying the developed
project in Local Server i.e. IIS Server
xi.
Evaluate the
product developed and recommend for future changes.
Chapter 2
B. Feasibility Study
As the name implies, a feasibility study is an
analysis of the viability of an idea. The feasibility study focuses on helping
answer the essential question of “should we proceed with the proposed project
idea?” All activities of the study are directed toward helping answer this
question (Extension.iastate.edu, 2017). Some of the reasons to conduct
feasibility study are as follows:
i.
It gives priority
to the project and framework options.
ii.
It helps to
identify the best alternatives.
iii.
New opportunities
can be identified via the investigative processes.
iv.
Helps to find out
the reasons to stop proceeding.
v.
Improves the
likelihood of progress by tending to and relieving components at an early stage
that could influence the venture.
vi.
Helps in decision
making process by providing quality data.
vii.
Gives
documentation that the business wander was altogether examined.
viii.
Assists in
securing subsidizing from loaning, organizations and other money related
sources.
ix.
It also helps to
draw in value venture.
In order to evaluate the project’s potential for
success, feasibility study has been conducted. Some of the major areas of
feasibility study to make Online Branding System are discussed below
1.
Economic
Feasibility
Economic
feasibility is the cost and logistical outlook for a business project or
endeavor. Prior to embarking on a new venture, most businesses conduct an
economic feasibility study, which is a study that analyzes data to determine
whether the cost of the prospective new venture will ultimately be profitable
to the company. Economic feasibility is sometimes determined within an
organization, while other times companies hire an external company that
specializes in conducting economic feasibility studies for them. Economic
feasibility describes a projection of the amount of funding or startup capital
needed, what sources of capital can and will be used, and what kind of return
can be expected on the investment (Investopedia, 2017).
In
order to determine the Economic Feasibility of the project for “Online Branding
System”, various aspects have been considered and researched to find whether
the project is doable within the budget provided by the college or not. Some of
the major aspects that should be considered during economic feasibility are
discussed below
·
Economic Costs
In
every project, finance or budget is an important factor on which the project
estimation depends. In case of Online Branding System, the project is related
to computer applications, so the different types of cost associated with a
computer project are as follows
i.
System analysis
and design
ii.
Hardware purchase
costs
iii.
Software License
Cost
iv.
Training Cost
v.
Installation Cost
vi.
Operation Cost
vii.
Human Resource
Cost
Since the Online Branding System is an
individual driven college project, there won’t be any high expenses.
2.
Technical
Feasibility
Technical
Feasibility evaluates the present assets, (for example, equipment and
programming) and innovation, which are required to achieve client prerequisites
in the product inside the apportioned time and budget allocated. For this, the
product improvement group finds out whether the present assets and innovation
can be redesigned or included the product to achieve determined client
necessities. This technical
feasibility study is based on an outline design of system requirements, to
decide if the organization has the specialized skill to deal with fulfillment
of the venture. Technical feasibility lays out subtle elements on how a decent
or administration will be conveyed, which incorporates transportation, business
area, innovation required, materials and work. Technical feasibility is
concerned with determining hardware and programming that will effectively
fulfill the client prerequisite.
In
order to determine the technical feasibility of Online Branding System,
following things were included
i.
Materials: In
order to develop an application the basic needs are computers, electricity and
internet, and all of this things are available on college premises, or at home,
so it meets the resource or material requirement to develop the project.
ii.
Human Resource: Since,
Online Branding System is a Project of IT student, the student himself/herself
is the Human Resource and knows all the technical aspects to develop the
project. Thus, it meets the Human Resource also.
iii.
Physical Location:
As we know College is in Kathmandu, it is physically possible to initiate any
project.
iv.
Technology:
College being in the capital of the country, the college is facilitate with
every technology needed.
In analyzing technical feasibility, design
of the system is given more significance than the real make of equipment. The
arrangement ought to give the total picture about the systems prerequisites
3.
Operational
Feasibility
Operational
feasibility surveys the degree to which the required software performs a series
of steps to take care of business issues and client necessities. This
feasibility is dependent on human resources (software development team) and includes
envisioning whether the product will work after it is created and be operative
once it is installed. It is the degree of how well a planned project takes care
of the issues, and exploits the open doors distinguished amid degree definition
and how it fulfills the necessities recognized in the prerequisites
investigation period of system improvement. It concentrates on how much the
proposed development projects fits in with the current business condition and targets
as with regard to development schedule, delivery date, corporate culture and
existing business forms. As Bowen Says, “Operational Feasibility measures how
well your company will be able to solve problems and take advantage of
opportunities that are presented during the course of the project” (Bowen,
2017).
To
ensure success, desired operational outcomes must be imparted during design and
development. These includes such design-dependent parameters as reliability,
maintainability, supportability, usability, producibility, disposability,
sustainability, affordability and others.
Online Branding
System is a web application, anyone who knows to use internet and browse things
over the browser can use this application. The application will have simple
user interface and will not be difficult to navigate. And the application is
responsive, which means it will change its shape according to the width of the
device, so there won’t be any visibility problems. Thus, any one with prior
knowledge of internet and browser can easily operate the application. Thus, the
application is operationally feasible.
4.
Legal Feasibility
Legal feasibility
is a determination of any infringements, violation or liability that could
result from development of the system and determines whether the proposed
system conflicts with legal requirements, e.g. data processing system must
comply the local data protection acts, whether the proposed system conflicts
with legal requirements, e.g. a data processing system must comply with the
local data protection regulations and if the proposed venture is acceptable in
accordance to the laws of the land. It includes study concerning contracts,
liability, violations, and legal other traps frequently unknown to the
technical staff.
Online Branding
System is legally developed under the surveillance of college supervisors
within the rules of college and other laws. It also protects the privacy of the
user and brand owners. Thus, it is legally feasible as it doesn’t violate any
laws and orders.
5.
Time Feasibility
A project will
fail if it takes too long to ever be finished before it is valuable. Normally
this implies evaluating to what extent the project will take to create, and in
the event that it can be finished in a given day and time utilizing a few
strategies like payback period.
Time Feasibility can defined as the possibility of
a project to be finished within its scheduled time boundaries, by an arranged
due date (Taskmanagementguide.com, 2017). On the off chance that a project has
a high possibility to be finished on-time, then its timetable achievability is
assessed as high. Much of the time a project will be unsuccessful in the event
that it takes longer than it was assessed: some outer ecological conditions may
change, subsequently a venture can lose its advantages, practicality and
gainfulness. On the off chance that a work to be refined at a project does not
fit the time allotments requested by its clients, then a schedule is unfeasible
(measure of work ought to be lessened or other timetable pressure strategies
connected).
Chapter 3
C. Literature Review
1.
Online Branding
System
As we discussed
earlier, Online Branding System is a Web Application which is supposed to help
the local brands and business to promote or to make their existence among the
targeted clients. Here, the brands (page owners) can create their page which
will describe their business, provide locations and information about the
products or services they sell. Similarly, the client can view the brands they
are interested on. There won’t be any hassle to the users to find the brands
they are looking, since the application uses the recommendation system (will be
discussed shortly) to recommend brands to the users. In order to protect
privacy of the end users, no personal information will be collected.
Thus, the Online
Branding System is intended to be helpful to both page owners (brands) and end
users (client), by making the product known among the users and getting the
information about the brands we want respectively.
2.
Recommendation
System
The rapid growth
in the amount of available digital information and the number of visitors to
the internet have created a potential challenge of information overload which
hinders timely access to items of interest on the Internet (Isinkayea, Folajimib and Ojokohc, 2017). And the
information retrieval systems like google, devilfinder, etc. has partially
solved this problem but prioritization and
personalization of information were absent, Thus, the demand for recommendation
system has increased these days. Simply, Recommendation Systems can be
described as the facility that involves predicting user responses to options,
mostly in web applications. In other
words, recommendation systems can be described as the subclass of information
filtering system that seek to predict the “rating” or “preference” that a user
would give to an item.
Some
of the examples of recommendation systems are as follows
i.
Providing news
articles to the readers on news sites on the basis of expected user interests.
ii.
According to the
pass history of purchases and/or product of any customer to offer any online
goods to the customer.
Some
of the major benefit of using recommendation systems are discussed below:
i.
Recommendation
systems depends on genuine behavior of the user i.e. objective reality. And this is the biggest advantage – watching the
actual behavior of the user and interpreting the results based on those
results.
ii.
These systems are
also great for discovery. Among thousands of product over the internet, it is a
lot easier to find the recommended product.
iii.
Such systems are powerful
tools for personalization. We frequently take suggestions from loved ones
because we trust their opinion. They know what we like better than anyone else
and they are better in recommending things too. And the recommendation system
tries to model these whole process. (Muthukumar).
iv.
And another
important feature of recommendation system is that they are always updated.
Some
of the basic approaches that recommendation systems take are discussed below
i.
Collaborative
Filtering
One
of the major methodologies used to recommend system based on users past
behavior is Collaborative filtering. The method includes collecting and
analyzing huge amount of user’s information, activities or preferences and
recommending products or services that the user might like on the basis of
similarity to other users. According to Jones, 2013 “recommendations are based
on an automatic collaboration of multiple users and filtered on those who
exhibit similar preferences or behaviors”.
One
of the major benefits of using the collaborative filtering approach is that it
is independent on machine readable content. Thus, it is proficient of correctly
recommending and predicting complex items among millions of products like
movies, news etc. without needing any “understanding” about the properties of
item itself.
Pros:
·
It is capable of
making accurate predictions if enough information is available.
·
Another important
advantage of this approach (collaborative filtering) is that it is independent
of any machine analyzable content due to which it has the capacity to recommend
the complex items like movies, news, etc. and it doesn’t even needs any
understanding of the properties of the item itself.
Cons:
In
order to make accurate predictions, it needs a lot of information about the
product or service (Cold Start).
·
Cold start: As discussed earlier, it requires a tremendous
measure of existing information on a client keeping in mind the end goal to
make exact suggestions.
·
Scalability:
In a considerable lot of the situations in which these frameworks make
prediction, there are a many clients and items. Therefore, a lot of calculation
power is frequently important to dissect forecasts.
·
Sparsity: The quantity of things sold on real internet business
destinations is amazingly huge. The most dynamic clients will just have
evaluated a little subset of the general database. In this manner, even the
most famous things have not very many ratings.
Assumption:
These
sorts of filtering methods depends on the supposition that the client who
concurred in the past will concur in the up and coming days as well, and that
they will like the comparable sorts of items/administrations as they loved
previously.
Data
Collection Methods:
When
constructing a model from a client's conduct, a refinement is frequently made
amongst express and certain types of information gathering.
Examples
of explicit data collection include the following:
• Requiring the client rating on a thing on a
measuring scale.
• Telling a client to seek on specific
destinations.
• Querying a client to rank a gathering of
items from the most loved to the slightest most loved things.
• Displaying
two things to the clients and making them select him/her to choose the better
one among them.
• Telling clients to make the list of things
they may like.
Examples
of implicit data collection include the following:
• Noticing the items that a client visits in
an online store.
• Analyzing thing/client seeing
circumstances.
• Keeping a record of the items that a client
purchases on the web.
• Obtaining a list of items/administrations
that a client has tuned in to or viewed on his/her PC.
• Analyzing the client's interpersonal
organization and finding comparable preferences.
Used
By:
To
suggest new companions, bunches, and other social associations (by analyzing
the network of associations between a clients and their companions) in social
networking sites like Facebook, MySpqce, LinkedIn, etc. collaborative approach
is utilized. Essentially, Twitter utilizes many signs and in-memory
calculations for anticipating who to take after to its clients.
ii.
Content-based
Filtering
“Content-based
filtering is a domain based algorithm and it emphasizes more on the analysis of
the attributes of items in order to generate predictions”, (Isinkayea, Folajimib and Ojokohc, 2017). In this
technique, recommendation is made based on the user profiles using features
extracted from the content of the items the user has evaluated in the past and products/services
with most positively rated goods are recommended to the user. Simply,
content-based filtering uses keywords to define the products and a client
profile is built to specify the variety of products such user likes. In other
words, these technique recommends items that are alike to those that a user
liked in the past (or is inspecting in the present).
Pros:
Needs
very little information to get started.
Cons:
Some
of the major disadvantages of using this approach as it is capable of making
the predictions that are alike to the original seed. The essential issue with
the content based filtering is that whether the project can take in clients
loving from their exercises concerning one substance source and utilize them
crosswise over other kind of substance. At the point when the system is obliged
to endorsing substance of an indistinguishable sort from the client is now
executing, the incentive from the anticipating system is essentially not as
much as when other substance sorts from different administrations can be
anticipated. For example, recommending news articles in light of perusing of
news is useful, yet would be significantly more important when music, recordings,
things, trades et cetera from different organizations can be endorsed in
perspective of news examining.
Data
Collection Methods
·
While creating
user profile
In
order to create the profile of the user, there are two types of information
that the system mostly focuses on. They are discussed as below:
i.
A model of the
user's liking.
ii.
Past behavior of
the user’s interaction with the recommendation systems.
·
Tracking user
behavior
To track the
behavior of the user direct feedback from the users can be collected, typically
in the method of a like or dislike buttons. And it can be utilized to allocate
the different (maximum or minimum) degree on the status of certain properties (implementing
the techniques like Rochhio classification or others).
Used
By
Content-based
filtering approach is used by the Pandora.
iii.
Hybrid
Recommendation System
According
to the research conducted recently it is found that a hybrid recommendation
approach i.e. both collaborative filtering and content based filtering
combining, could be more operative in different cases. The major reason to use
hybrid approach is to obtain more accurate and effective recommendations than a
single methodology, as the limitation of one methodology can be overcome by the
other one. Thus, this methodology of recommendation system can be used by any
of the following ways
i.
Implementing
different algorithm separately then combining the result as one.
ii.
Implementing few
content-based filtering in collaborative approach and vice versa.
iii.
Making a unique
combined recommender system that can bring both of the approaches together.
Among these two approaches of
recommendations system, content based filtering approach has been used on
Online Branding System to recommend the brands. Thus the recommendation is
based on the properties of the brands i.e. rating given by the users and number
of page views on certain brands. The system also sorts the brands based on the
category and the location of the visitor or end user. Beside this user also can
search specific brands using the search box on the top of the site.
3.
Recommendation
System Algorithms
Some of the major
algorithms used by Recommendation systems are discussed below:
i.
Pearson
Correlation
Implementing
this algorithm, the likeness between two clients (and their traits, for
example, articles read from multiple sites) can be precisely figured. It likewise measures the straight dependence among
factors (or users) as a component of their abilities. But it is not capable of
calculating this measure over all the population of the clients. Rather the
population can be categorized into to groups based on maximum-level resemblance
metric, like reading news posts that have similar preferences. Among many,
Pearson Correlation is one of the widely used collaborative filtering
technique.
ii.
Clustering
Algorithms
Clustering
Algorithms are a type of unverified discovering that has the capacity to
discover pattern in an arrangement of apparently haphazard information.
Clustering
Algorithms are a method of unofficial learning that has potential to discover pattern
in a set of apparently haphazard data. Essentially, they work by recognizing
likenesses amid things, for example, news post per users, by computing their
separation from different things in a component space (Here Feature in an
element space could speak to the quantity of articles read in an arrangement of
websites). The quantity of autonomous properties describes the dimensionality
of the space. If products are "close" together, they can be joined in
a cluster or group.
Among
many grouping calculations, k-means is the least difficult one, which
allotments things into k bunches. At first, the things are haphazardly put into
groups. At that point, a centroid (or focus) is figured for each group as a
component of its individuals. Every thing's separation from the centroids is
then checked. In the event that a thing is observed to be nearer to another
group, it's moved to that bunch. Centroids are recalculated each time all thing
separations are checked. At the point when security is achieved (that is, the
point at which no things move amid an emphasis), the set is legitimately
bunched, and the calculation closes (Jones, 2013). Some of other clustering
algorithms are Adaptive Resonance Theory (ART) family, Fuzzy C-means, and
Expectation-Maximization (probabilistic clustering).
iii.
Others
Many
other algorithms exists for recommendation system, some of them that have been
used effectively are discussed below
·
Bayesian Belief
Nets
·
It is one of the
mainstream algorithm for prediction system which can be imagined as a
coordinated non-cyclic diagram, with curves speaking to the related
probabilities among the factors.
·
Markov Chains
This
algorithm adopts comparative strategy to Bayesian Belief Nets however regard
the suggestion issue as successive improvement rather than just expectation.
·
Rocchio
Classification
This calculation
is produced with the Vector Space Model, which abuses criticism of the thing
importance to enhance suggestion exactness.
Chapter 4
D. Technologies Review
1.
HTML5
HTML5 is the
latest evolution of the standard that defines HTML, with new elements,
attributes, and behaviors. And in this version, special attention has been
given defining clear conformance criteria for user agents in an effort to
improve interoperability. Here, HTML stands for Hyper Text Markup Language
which is the standard markup language for creating web pages and web
applications. Since, Online Branding System is a web application, HTML5 has
been used to design the application.
2.
CSS3
CSS is an acronym
for Cascading Style Sheet which is used for describing the design or looks or
presentation of a document written in a markup language i.e. HTML. And CSS3 is
the latest version of CSS which brings lots of novelties, like rounded corners,
shadows, gradients, transitions or animations, as well as new layouts like
multi-columns, flexible box or grid layouts. After the Online Branding System
is designed using HTML, better looks is given by applying CSS on it.
3.
C#
C# is an exquisite
and type-safe object-oriented language which offers designers to make a scope
of secure and solid applications that keep running on the .NET Framework.
4.
Asp dot Net
ASP.NET is an open
source server side web application framework for building modern web apps and
services with .NET. ASP.NET creates websites based on HTML5, CSS, and
JavaScript that are simple, fast, and can scale to millions of users (The
Official Microsoft ASP.NET Site, 2017). It was developed by Microsoft and first
released on January 2002 with version 1.0 of the .Net Framework. And it allows
you to use a full featured programming language such as C# or VB.NET to build
web applications easily. Since, Online Branding System is an web based
application in C#, Asp .Net will be used to make dynamic web pages.
5.
MSSQL
Microsoft SQL
Server (MSSQL) is a relational database management system (RDBMS) from
Microsoft that’s designed for the enterprise environment. As a database server,
it is a software product with the primary function of storing and retrieving
data as requested by other software applications—which may run either on the
same computer or on another computer across a network (including the Internet).
And it runs on T-SQL (Transact -SQL), a set of programming extensions from
Sybase and Microsoft that add several features to standard SQL, including
transaction control, exception and error handling, row processing, and declared
variables (Rouse, 2017). In order to save data of Online Branding System, MSSQL
will be used.
Chapter 5
E.
Methodology Used (SDLC)
Among various models of Software
Development Life Cycle, Waterfall model has been selected and implemented as a
feasible methodology to develop the Online Branding System. In this
methodology, software development process is broke down into several phases. One
pahse is related with another phase and acts as an input for another stage. The pictorial representation of the Waterfall
model is as follows.
In software Engineering, the
Waterfall Model is one of the popular Software Development Life Cycle model. It
is often taken as the classic method to the software development life cycle that
defines a development methodology that is linear and sequential, and has discrete
goals for different phases of development.
Some of the major advantages of using
waterfall models over other SDLC models are as follows:
i.
One
of the major advantage of this model is its simplicity i.e. easy and simple to
use.
ii.
This
methodolgy of SDLC is easily manageable because of its firmness of the approach
– here, each stage has precise deliverables and a review process.
iii.
Stages
do not overlapp as they are processed and completed single at a time.
iv.
It
is better suited for those projects whose requirements are clear and very well
understood.
The various phases of the software development in
Waterfall model are discussed below
1.
Requirement
Analysis
Requirements
analysis, also called requirements engineering, is the process of determining
user expectations for a new or modified product. These features, called
requirements, must be quantifiable, relevant and detailed. In software
engineering, such requirements are often called functional specifications and
is an important aspect of project management (Rouse, 2017).
This is the first
phase of software development in Waterfall model, where all possible
requirements of the system to be developed is captured and documented in a SRS
(System Requirement Specification) document. In order to gather information for
Online Branding System, various web application using recommendation system has
been visited and used for some time. Some of them are rakuten.com, amazon.com,
eBay, etc.
2.
System Design
After the
requirement is gathered and SRS document is made, then the document is reviewed
in this phase and system design is prepared. System design helps in specifying
hardware and system requirements and also helps in defining overall system
architecture. And based on the SRS document system design is prepared. Here,
different diagrams that defines the overall system architecture is made. Some
of the diagrams made for the Online Branding System are described below
i.
ER-Diagram
An
entity-relationship diagram (ERD) is a pictorial demonstration of an
information system that shows the relationship among different objects like
people, objects, places, concepts or events within that project. As Rouse Says,
“It is a data modeling technique that can help define business processes and
can be used as the foundation for a relational database” (Rouse, 2017).
An
entity relationship diagram (ERD) defines the relationships of entity sets kept
in a database. An entity in this context is a module of data. In other words,
ER diagrams exemplify the logical building of databases. It looks similar to the
flowcharts but it is the specific symbols, and the meanings of those symbols,
that make the diagram unique.
Some
of the elements of ERD are as follows
a.
Entities
b.
Relationships
c.
Attributes
Steps involved in creating an ER diagram
are as follows:
a.
Identifying and
defining the entities.
b.
Determining all
interactions between the entities.
c.
Analyzing the
nature of interactions/determining the cardinality of the relationships.
d.
Creating the ERD.
ii.
Schema Diagram
As
described on Licidchart, “The term "database schema" can refer to a
visual representation of a database, a set of rules that govern a database, or
to the entire set of objects belonging to a particular user” (Lucidchart, 2017). Schema Diagram denotes the logical
arrangement of all or part of RDB and can occur both as a pictorial demonstration
and as a set of formulas identified as integrity constraints that govern a
database.
The
Schema Diagram of the Online Branding System is as follows
Schema Diagram for Online Branding System |
As
shown in figure above, the information about the application is stored in First
table. Then the brand owner can add the details of the brands on brand table,
users detail will be stored in user table, rating will be calculated and stored
in rating table and pageviews in pageview table respectively.
iii.
Use-Case Diagram
An
use case graph at its easiest is an exhibition of a client's collaboration with
the system which demonstrates the connection between the client and the
distinctive use cases in which the client is included. As described in
Uml-diagrams.org, “Use case diagrams are usually referred to as behavior
diagrams used to describe a set of actions (use cases) that some system or
systems (subject) should or can perform in collaboration with one or more external
users of the system (actors). Each use case should provide some observable and
valuable result to the actors or other stakeholders of the system” (Uml-diagrams.org,
2017).
Some
of the major benefits of using Use-Case diagrams are as follows:
a.
The UC diagram delivers
a complete summary of the overall software archotecture in a single design.
b.
They are mainly collected
of narrative text. Thus, unlike many other modeling techniques, the
non-technical individuals (e.g. clients, end users, sales man, etc.) are also
able understand the model for the software architecture. It means that advice
can be gained at a very beginning phase of the development from the clients and
the end users.
c.
Another vital pros
of use case modeling is that it needs the identification of extraordinary situations
for the use cases which support in finding the better substitute requirements
in the system.
d.
This UC diagram
can be utilized in various other part of software development as well, e.g.
Cost Estimation, Project Planning, Test Case Preparation and User
Documentation.
The
use case diagram representing the Online Branding System is as follows
Use Case Diagram for Online Branding System |
The figure above describes the relationship between different actor and the system. As shown in figure, admin has the full authority over all the activities like managing brands and page itself. Similarly the brand owner has the authority to create new brand and manage their page and the visitor can search brands, view brand details and rate the brands.
iv.
Class Diagram
According
to Tutorials Point, “Class diagram is a motionless illustration that signifies
the static view of an application which is used for visualizing, describing and
documenting different phases of system and also for constructing executable
code of the software application” (www.tutorialspoint.com,
2017). It illustrates a group of classes, interfaces, associations,
collaborations and constraints and also describes the properties and operations
of a class and also the constraints enacted on the system. The Class Diagram is
also known as Structural Diagram.
The
purpose of the class diagram can be summarized as follows:
i.
Study and design
of the static view of the project.
ii.
Define
responsibilities of a system.
iii.
Base for component
and deployment diagrams.
iv.
Forward and
Reverse Engineering.
v.
Sequence Diagram
Sequence
Diagrams are a sort of communication chart, since they depict how—and in what
arrange—a gathering of articles cooperates. It indicates how the articles
connect with others in a specific situation of a use case. With the progressed
visual displaying ability, you can make complex grouping chart in few ticks.
The
Sequence Diagram models the joint effort of articles in light of a period
grouping. It demonstrates how the objects cooperate with others in a specific
situation of a use case. With the progressed visual displaying capacity, you
can make complex grouping outline in few ticks. The sequence diagram designed
for the Online Branding System is as follows
Sequence Diagram for Online Branding System |
Fig:
Sequence Diagram of Recommendation process in Online Branding System
The figure above
describes the process of recommendation in Online Branding System. As in
figure, the brand first gets ratings from users via different means, then based
on those ratings it recommends brands to the end user.
3.
Implementation
After the system
architecture is designed, then the real design and development of the system is
done in this phase. Based on the diagrams above, a working application is
developed in units, and later integrated to make a single fully functional
programs. Here, Database for Online Branding System is designed in MSSQL,
layouts are designed using HTML and CSS then, the coding for the functioning of
the application is done using C# and Asp .Net. After the development of the
application is complete, it is then forwarded to the Testing Phase. Some of the
glimpses of product implementation are discussed below.
Fig:
Development of the Product using Visual Studio
The figure above
shows the implementation phase of the Online Branding System. It shows the HTML
code snippet written to design the system. Similarly on the right side of the image
different file hierarchy can be seen. It consists of different Classes, Data
Access Layers, Images, and Pages.
4.
Testing
In this phase, the
fully functioning application developed in Implementation Phase is reviewed and
checked for possible bugs/errors. If the testing phase is passed then the
software is transferred to the Deployment phase, else it is send back to the
implementation phase.
In
order to test the application, different approaches is implemented. Some of the
popular testing approaches are discussed below
i.
Black Box Testing
“In
this type of testing, internal system design is not considered, testing are
based on requirements and functionality”, (Softwaretestinghelp.com, 2017). Any
person even without prior knowledge about coding or internal architecture of
the system can perform this type of testing.
ii.
White Box Testing
White
Box Testing (Glass Box Testing) is a testing based on knowledge of the internal
rationale of an application’s code. Tests depend on introduction of code
proclamations, branches, ways, conditions, and so forth. With a specific end
goal to play out this sort of testing, analyzer ought to know the programming
and inner working structure of the application.
iii.
Unit Testing
Unit
testing is the testing of particular programming segments or modules. It is
commonly done by the software engineer and not by analyzers, as it requires
nitty gritty information of the interior program outline and code and may
require creating test driver modules or test saddles.
Test
log of unit testing done on Online Branding System is as follows
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
1.
|
3rd March, 2017
|
Clicked on Sign Up Menu.
|
Should Go to the Sign Up Form.
|
Passed [Sign Up Form was Opened]
|
Actual Output
|
||||
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
2.
|
3rd March, 2017
|
Login menu was clicked.
|
Should go to the Login Page.
|
Passed [Login Page was opened]
|
Actual Output
|
||||
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
3.
|
3rd March, 2017
|
Home menu was clicked
|
Should go to home page.
|
[Passed] Home page was successfully
opened.
|
Actual Output
|
||||
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
4.
|
3rd March, 2017
|
E-Commerce Category Menu was clicked.
|
Should show all the brands by e-commerce
category.
|
[Passed] All the brands with e-commerce
category were displayed.
|
Actual Output
|
||||
iv.
Integration
Testing
After
the different units of the application is integrated, this testing is done to
check whether the integrated modules function properly or not. Modules are
ordinarily code modules, singular applications, customer and server
applications on a system, and so on. This kind of testing is particularly
significant to customer/server and circulated systems.
Test
log of Integrated testing done on Online Branding System is as follows
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
1.
|
3rd March, 2017
|
After entering all the inputs, Sign Up
Button was clicked.
|
Should create the brands if all the
inputs are valid.
|
[Passed] Brand was successfully added
and add successful message was shown.
|
Actual Output
|
||||
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
2.
|
Valid Username and Password was inserted
and login button was clocked.
|
Should successfully login and redirect
to the Brand Profile Page.
|
Passed [Login was success and the brand
profile page was shown.]
|
|
Actual Output
|
||||
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
3.
|
After login, Image was uploaded to
create gallery in brand profile page.
|
Image should be uploaded and shown to
the gallery section in brand profile page.
|
[Passed] Image was successfully uploaded
and displayed in gallery section.
|
|
Actual Output
|
||||
v.
Stress Testing
System
is stressed past its determinations to check how and when it comes up short.
Performed under substantial load like putting expansive number past capacity
limit, complex database inquiries, ceaseless contribution to system or database
stack.
Test
log of Stress testing done on Online Branding System is as follows
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
1.
|
Tried to register the brands without filling any details.
|
Should display required field validation
error and brand should not be registered.
|
Passed [Required Field Validation was
shown and the brand was not registered.]
|
|
Actual Output
|
||||
S.N.
|
Tested On
|
What was tested?
|
Expected Output
|
Remarks
|
2.
|
Invalid email was used to create the
brand.
|
Should display the Validation and brand
should not be registered.
|
Passed [Error Message was displayed and
failed to create brand page.]
|
|
Actual Output
|
||||
5.
Deployment
After all the
testing of the product is passed, the final functioning application is deployed
in the customer environment or released into the market. In case of Online
Branding System, the application will be hosted on a local server. Some of the
steps involved in deploying the Online Branding System Website on local IIS
server are discussed below
i.
First, open the
project in Visual Studio.
ii.
Then, Create full
application or make final changes and run the application to make sure that the
application works.
iii.
Now, time to
publish the application. Right click on the project i.e. (Online Branding
System) in the solution explorer, then choose ‘Publish’ option from the context
menu. It will open another screen (will discuss later).
Solution Explorer for Online Branding System |
iv.
In the next step,
choose the ‘New Profile’ to create a new publish profile. The publish profile
will have the settings for publishing the web application via File copy.
Creating New Profile in IIS |
v.
In the next screen
we have to provide the details of the profile.
1.
Give a name for
the profile such as File Copy
2.
Click OK button to
create the profile
vi.
In this step, we
specifically mention that we are going to Publish website via File copy.
1.
Choose the Publish
method as File System.
2.
Enter the target
location as C:\inetpub\wwwroot – This is the standard file location for the
Default Web site in IIS.
3.
Click 'Next'
button to proceed.
viii.
Click the ‘Publish’ button in the final
screen.
ix.
Now just open the
browser and go to the URL – http://localhost/,
the home page of Online Branding System will appear.
Accessing the Application from Browser |
6.
Maintenance
While
running/using the application, the client or end user may experience some
errors or may need changes, then the patches/updates will be released to solve
the errors or add the features to the existing application. Maintenance is done
to deliver these changes in the customer environment.
Maintenance
of web applications is a vital as the design and development stage itself. The
website needs regular checkups and adjustments in order to enhance the
technical functions and also to update the systems, applications and software
as per modern web trends. Negligence in web applications could cost a lot more
in terms of site traffic and profits due to incompatible system and outdated
information (Dalal, 2017). Some of the things that are involved in web
application maintenance are discussed below
i.
Routing equipment
replacement/maintenance - this can be everything from moving ip ranges from one
router to another, config upgrade or just a normal downtime. If the maintenance
is planned IP address can be rerouted to a holding maintenance page.
ii.
Load Balancer
maintenance/replacement - as above
iii.
Data Centre
relocation
iv.
Hardware upgrades
v.
Software
upgrades/updates
vi.
New code deployed
(and checked before launched live)
vii.
Design change
viii.
Complete site
remake in different technology (and it might still be exactly the same for the
user)
ix.
Database
optimization
x.
Database
migration/upgrade
xi.
CMS
patches/updates
Chapter 6
F. Tools Used
1.
Visual Studio
2015 (IDE)
Microsoft Visual
Studio is an Integrated Development Environment (IDE) owned by Microsoft
Corporations, used to develop programs for Microsoft Windows as well as web
sites, web applications and web services. And it uses Microsoft software
development platforms such as Windows API, Windows Forms, Windows Presentation
Foundation, Windows Store and Microsoft Silverlight.
In order to
develop the Online Branding System using C#, Asp .Net and MSSQL, Visual Studio
2015 has been used. The figure below shows the use of Visual Studio to develop
the Online Branding System.
2.
Version Control
Version Control,
also known as revision control or source control is a component of software
configuration management and the management of changes to the documents,
computer programs, large websites, and other collections of information.
Simply, they are a category of software tools that help a software team manage
changes to source code over time. Version control software keeps track of every
modification to the code in a special kind of database. If a mistake is made,
developers can turn back the clock and compare earlier versions of the code to
help fix the mistake while minimizing disruption to all team members (Atlassian,
2017).
Following
tools are used as version control system in Online Branding System
i.
Source Tree
Source
Tree is a free visual git and mercurial client for mac and windows. It is a
desktop version control application powered by Atlassian, which is used to
document changes of a project and save the changes on its database. The changes
also can be saved over an internet (Source Tree) and the project can be
accessed from anywhere via internet.
ii.
Bit bucket
Bitbucket is a
web-based hosting service for projects that use either the Mercurial (since
launch) or Git (since October 2011) modification control systems. It offers
both business arranges and free records. It is composed in Python utilizing
Django web structure.
3.
Photoshop
Adobe Photoshop is
a raster graphics editor developed and published by Adobe Systems for mac OS
and windows. On Online Branding System, Photoshop was used to manipulate images
and add effect on them to make them attractive. It was also used to sketch the
design of the application. The use of Photoshop on the project is shown below.
Chapter 7
G. Self-Evaluation of Online Branding System
1.
Project
Description
As discussed
above, Online Branding System is a web based recommendation system intended to
help small to big organization or business to promote among national as well as
international potential customers. The motto of the project “Recommendation
with minimum input”, describes that the system can recommend brands to the end
users on which they might be interested without requiring additional
information about the user. So the user can secure their privacy while browsing
this application. Users simply can visit recommended brand or search for their
brands and see details about the brands as well as their services and rate
those brands too.
2.
Important
Features of the Project
Some of the major
features of the project are discussed below
i.
Brand Owner can
register their brands for promotion, in
this Online Branding System, brand/business owner can create their portfolio
for free and easily. They can add description location, address, contact, etc.
about their organization, which can attract more clients. They can also add
images of their products/services in gallery section by which, end user can get
clear view of the brand/organization.
ii.
Recommendation
with minimum input, Online Branding
System does not need additional personal information about the user to
recommend the brands among the user. As the system recommends the brands based
on the page views and rating provided by the user.
iii.
Privacy of the end
user is secure, as discussed on
the paragraph above. The system doesn’t collect the personal information of the
users. So the privacy remains secure while browsing this system.
iv.
Attractive and
Responsive web pages, Online Branding
System is designed using the modern concept of web designing. Latest
Technologies like HTML5 and CSS3 are used. The web pages are completely
responsive which means all the things on the pages like images & text
changes based on the device width which makes easy to see the details of the
brand pages without any hassle.
3.
Limitation of the
Project
Every
project/system has its own strength and weaknesses. Here Weaknesses can be described
as the functionality that is not available in present version but will be
provided in upcoming version. Some of the limitations of Online Branding System
are discussed below
i.
End User cannot
write reviews on brand pages, after
visiting the brand detail page on online branding system, user can give the
rating from 0-5 but they cannot write reviews to the brand page. So it is one
if the limitation of the project.
ii.
Rating of the user
are not recorded properly, as discussed
earlier user can give ratings but not feedback. So the system calculates the
ratings given by the user but it doesn’t record the detail of the user who have
recorded and when.
iii.
Brand Owner cannot
update gallery, Brand owner can
login to their profile and make changes. And they can also add images of their
product or services to their pages. But they are unable to update those images
on gallery. So, it is one of the major limitations of the project.
iv.
Advanced Search
function is not available, the system has the
basic search function to search the brands of interest using the search box on
the top of the page. But it is not capable of searching deep enough to find
more accurately.
4.
Evaluation of the
System
i.
Interface Design, interface design is important part of any application
because user needs better and attractive layouts or designs that are eye
catching. Beside this, the application must be easy to navigate between the
pages. Thus, to design easy attractive interface of the Online Branding System,
HTML5, CSS3, JavaScript and JQuery are used. The user interface UI of the
system is quite attractive and easy to navigate. Here, the user can visit the
pages by clicking on the navigation menus as well as they can filter the brands
by using the search form to input the keyword to search.
ii.
Coding Architecture,
in order to develop the Online
Branding System C# programming language is used. In order to make web
application ASP .Net is used which is a web development SDK/Framework. Asp.net
is an open-source server-side Web application system intended for Web
advancement to deliver dynamic Web pages which was created by Microsoft to
permit software engineers to construct dynamic sites, web applications and web
administrations.
iii.
Database Design, Online Branding System is a web based, database driven
application. So, MSSQL is used as the Relational database for the application.
Different tables are designed and normalized as needed. Each table has Proper
constraints like Primary Key, Foreign Key, Not Null, etc.
iv.
Security, Security is major concern in any applications. In
online branding system, every input fields are properly validated. So the
brands with actual details can register their brand or organizations. Without
entering details on certain input fields the whole process of registering new
brand will be stopped and it will raise an error message also. If the email is
not in valid format then it will display the error message stating that the
email is invalid.
5.
Recommendations
for future considerations
Thus, the project
is better than expected. The application has all the major features as it
needs. Besides the current features, the application could have more advanced
features too. So, some of the recommendations for future considerations are as
follows:
i.
User Interface, The user interface (UI) of the current application is
not bad. But it can be made better by adding some graphic contents, adding
typography, animations, color composition, etc. The site can be updated using
material design approach for better, attractive design.
ii.
Security, The security on the current application is good as it
validates the user inputs, checks if the user exists or not, etc. It can be
much better by adding fixed number of times to attempt login, adding SSL
certificates, etc. The validation on both sides like client sides as well as
server side can be done to make it more secure. Page views and rating amount
can be filtered, to manage organic traffic.
iii.
Database, to arrange and store data securely database can be
made better by normalizing the database to 3NF. Besides this, Database name and
table name also can be encrypted to make it more secure.
iv.
Brand Admin Panel,
Online Branding System provides the
admin panel for the brand admin from where the admin can update the details of
the brands add images to the gallery. In future brand admin panel will be able
to update and delete the uploaded images too. Beside this, they can also crop
image before uploading van be made using AJAX.
Chapter 8
H. Conclusion
After successful research and planning, Online
Branding System was developed with the intention of helping and promoting the
local brands among the targeted user. The system is developed using C# with Asp
.Net, MSSQL HTML and CSS. In order to provide the brands of interest to the
end-user, it is developed using the recommendation system. Thus, the user will
always get the filtered brands that are trending.
As discussed earlier, the project has its own strength
as well as weaknesses. The system itself is able to recommend brands to the
users based on page views, page ratings by the users and the geolocation of the
end user. Beside this, it also offers the feature to search the product using
certain keywords input on search box and via navigation menu too. Online
Branding System can be made better in future by implementing some other
advanced technologies like JavaScript for animations, client side validations,
and many more. Similarly front end (UI) designs can be made more attractive by
using better color composition, fonts and vector images. Better Search features
and filters can be added for more personalization and prioritization.
Hence, the Online Branding System can be used by the
local as well as international brands/organization to promote their business
and make presence in this modern world of technology. Similarly the end user
also can get better recommendations of the brands on which they might be
interested. So, the system is beneficial to the owners and end users too does
the work perfectly as it was developed for.
Download the Source Code: Click Here[button_primary]
Download the Source Code: Click Here[button_primary]
I. References
Atlassian. (2017). What is version control | Atlassian
Git Tutorial. [online] Available at:
https://www.atlassian.com/git/tutorials/what-is-version-control [Accessed 12
Feb. 2017].
Isinkayea, F., Folajimib, Y. and
Ojokohc, B. (2017). Recommendation
systems: Principles, methods and evaluation. [online]
http://www.sciencedirect.com/. Available at:
http://www.sciencedirect.com/science/article/pii/S1110866515000341 [Accessed 11
Feb. 2017].
Jones, M. (2013). Introduction to approaches and
algorithms. [online] Ibm.com. Available at: https://www.ibm.com/developerworks/library/os-recommender1/
[Accessed 11 Feb. 2017].
Lucidchart. (2017). Database schema: the definition and
purpose of a database schema. [online] Available at: https://www.lucidchart.com/pages/database-diagram/database-schema
[Accessed 12 Feb. 2017].
Rouse, M. (2017). What is entity relationship
diagram? - Definition from WhatIs.com. [online] SearchCRM. Available at:
http://searchcrm.techtarget.com/definition/entity-relationship-diagram
[Accessed 12 Feb. 2017].
Rouse, M. (2017). What is SQL Server? - Definition
from WhatIs.com. [online] SearchSQLServer. Available at:
http://searchsqlserver.techtarget.com/definition/SQL-Server [Accessed 12 Feb.
2017].
Softwaretestinghelp.com. (2017). Types of Software testing and
definitions of testing terms — Software Testing Help. [online] Available
at: http://www.softwaretestinghelp.com/types-of-software-testing/ [Accessed 12
Feb. 2017].
The Official Microsoft ASP.NET
Site. (2017). The Official
Microsoft ASP.NET Site. [online] Available at: https://www.asp.net/
[Accessed 12 Feb. 2017].
Visual-paradigm.com. (2017). Sequence Diagram - UML Diagrams -
Unified Modeling Language Tool. [online] Available at:
https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html [Accessed 12
Feb. 2017].
www.tutorialspoint.com. (2017). UML - Class Diagram. [online]
Available at: https://www.tutorialspoint.com/uml/uml_class_diagram.htm
[Accessed 12 Feb. 2017].
Dalal, A. (2017). Website Application Maintenance
Services | Web Maintenance. [online] Zestard.com. Available at:
https://www.zestard.com/services/web-application-maintenance/ [Accessed 13 Mar.
2017].
Extension.iastate.edu. (2017). What is a Feasibility Study? | Ag
Decision Maker. [online] Available at:
https://www.extension.iastate.edu/agdm/wholefarm/html/c5-65.html [Accessed 13
Mar. 2017].
Muthukumar, R. (2017). Recommendation system - benefits
and drawbacks. [online] Auburnbigdata.blogspot.com. Available at:
http://auburnbigdata.blogspot.com/2013/03/recommendation-system-benefits-and.html
[Accessed 8 Mar. 2017].
Rouse, M. (2017). What is requirements analysis
(requirements engineering) ? - Definition from WhatIs.com. [online]
SearchSoftwareQuality. Available at: http://searchsoftwarequality.techtarget.com/definition/requirements-analysis
[Accessed 13 Mar. 2017].
Bowen, R. (2017). Explaining the Different Types of
Feasibility Studies. [online] Brighthub Project Management. Available at:
http://www.brighthubpm.com/project-planning/56372-types-of-feasibility-studies/
[Accessed 13 Mar. 2017].
Investopedia. (2017). Feasibility Study. [online]
Available at: http://www.investopedia.com/terms/f/feasibility-study.asp
[Accessed 13 Mar. 2017].
Taskmanagementguide.com. (2017). What is Schedule Feasibility.
[online] Available at:
http://www.taskmanagementguide.com/glossary/what-is-schedule-feasibility.php
[Accessed 13 Mar. 2017].
Uml-diagrams.org. (2017). Use case diagrams are UML diagrams
describing units of useful functionality (use cases) performed by a system in
collaboration with external users (actors).. [online] Available at:
http://www.uml-diagrams.org/use-case-diagrams.html [Accessed 13 Mar. 2017].
Visual-paradigm.com. (2017). Sequence Diagram - UML Diagrams -
Unified Modeling Language Tool. [online] Available at:
https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html [Accessed 13
Mar. 2017].
Appendix A
Student-Supervisor Meeting Sheet
First Meeting |
Second Meeting |
Third Meeting |
Fourth Meeting |
Fifth Meeting |
Sixth Meeting |
Seventh Meeting |
Comments