Академический Документы
Профессиональный Документы
Культура Документы
A PROJECT REPORT
of
BACHELOR OF TECHNOLOGY
in
INFORMATION TECHNOLOGY
MAY 2017
8
BONAFIDE CERTIFICATE
9
ACKNOWLEDGEMENT
I would also like to thank our friends for the support they extended during
the course of this project.
10
ABSTRACT
With the rapid growth of various applications on the Internet, recommender systems
become fundamental for helping users alleviate the problem of information overload.
Since contextual information is a significant factor in modeling the user behavior, various
art context modeling methods usually treat contexts as certain dimensions similar to those
of users and items, and capture relevances between contexts and users/items. However,
such kind of relevance has much difficulty in explanation. Some works on multi-domain
relation prediction can also be used for the context-aware recommendation, but they have
each context value with a latent vector, and model the contextual information as a
semantic operation on the user and item. Besides, we use the contextual operating tensor
to capture the common semantic effects of contexts. Experimental results show that the
proposed Context Operating Tensor (COT) model yields significant improvements over
the competitive compared methods on three typical datasets. From the experimental
results of COT, we also obtain some interesting observations which follow our intuition.
11
TABLE OF CONTENTS
LIST OF FIGURES ii
1 INTRODUCTION
2 SYSTEM ANALYSIS
3 REQUIREMENTS SPECIFICATION
3.1 Introduction 17
3.4Technologies Used 18
4 SYSTEM DESIGN
12
4.3 Use Case Diagram 24
5.1 Modules 26
6.1 Coding 28
REFERENCES 78
SNAP SHOTS
13
LIST OF FIGURES
Architecture
Sequence Diagram
Activity Diagram
14
LIST OF ABBREVATIONS
15
CHAPTER 1
INTRODUCTION
Aim:
16
CHAPTER 2
SYSTEM ANALYSIS
17
We use the contextual operating tensor to capture the common semantic effects of
contexts. For each interaction, the contextual operation can be generated from the
multiplication of operating tensor and latent vectors of contexts.
CHAPTER 3
REQUIREMENT SPECIFICATIONS
3.1 INTRODUCTION
Among the numerous methods for user access control, password-based authentication is
the most widely used and acceptable mechanism because of its easy-operation,
scalability, compatibility and low-cost advantages [1]. In such authentication schemes
(some notable ones include SRP [2], KOY [3] and J-PAKE [4]), each user is assumed to
only hold a memorable, low-entropy password, while the server needs to store a
password-related verifier table necessary to verify the authenticity of users. An inherent
limitation of these password-only mechanism is that, the server has to store a sensitive
verifier table that contains the passwords of all the registered users. Even if passwords are
properly stored in salted-hash, once the authentication server is compromised, an
overwhelming fraction of users’ passwords will be exposed (see [5]) due to three reasons:
(1) Human-beings’ memory is inherently limited/ stable, and the distribution of user-
chosen passwords are highly skewed [6]; (2) Password cracking hardware (e.g., GPUs)
and algorithms (e.g., Markov-Chain-based [7]) are constantly being improved. At
Password’12, Gosney [8] showed that a rig of 25 GPUs can test up to 350 billion guesses
per second in an offline dictionary attack against traditional hash functions (e.g., NTLM
and MD5). More sophisticated password hash functions (e.g., bcrypt and PBKDF2) only
provide some relief [9], but with the cost of an honest server increasing by the same
18
factor with the attacker, while the attacker is likely to be better equipped with dedicated
password-cracking hardware.
Language : C#.NET
Visuals Tools
INTRODUCING WEB APPLICATION:
19
browser. They enable you to share and access information over the Internet and operate
intranets. In addition, Web application can support online commercial transactions,
popularly known as e-commerce. An online store access through a browser is an example
of a web application.
INTRODUCTION TO ASP.NET
ASP.NET still use HTTP to communicate to the browser and back, but it brings
added functionality that makes the communication process much richer. If any files have
the appropriate extension or contain code, the server routes those files to ASP.NET for
processing prior to sending them out to the client. The script or code is then processed
and the appropriate content is generated for transmission back to the browser/client.
Because processing takes place before the results are delivered to the user, all manner of
functionality can be built-in such as database access, component usage and the ordinary
programmatic functionality available with scripting languages.
ASP.NET applications can be coded using a plain text edited such as notepad,
although this not the most efficient method to use. Developing all the other resources that
might be required for a particular ASP.NET application, especially for the user interface,
may involve range of specialized tools including image-editing programs, database
programs and HTML editors.
20
To create dynamic web pages by using server-side scripts. Microsoft has
introduced ASP. ASP.NET is the .NET version of ASP. ASP.NET is a standard HTML file
that contains embedded server-side scripts. ASP.NET provides the following advantage of
server-side scripting.
ASP.NET enables you to access information from data sources, such as back-
end database and text files that are stored on a web server or a computer that is accessible
to a web server.
ASP.NET also enables you to separate HTML design from the data retrieval
mechanism. Therefore changing the HTML deign does not affect the program that
retrieve data from the databases. Similarly, server-side scripting ensures that changing
data sources does not require a change in HTML documents.
ASP.NET has a number of advance features that help you develop robust web
applications. The advance features of ASP.NET are based on the .NET Framework.
21
application also include Web service to provide a mechanism for programs to
communicate over the Internet.
FEATURES OF ASP.NET
22
Security - ASP.NET provides a number of options for implementing security
and restricting user access to a web application. All these options are configured within
the configuration file.
The most important server you can install is internet information server (IIS)
because you will need it to run your ASP.NET applications. There a number of other
servers specifically designed to work with the .NET Framework.
3.5 SQL-SERVER
Design goals
23
o The language, and implementations thereof, should provide support for software
engineering principles such as strong type checking, array bounds checking,
detection of attempts to use uninitialized variables, and automatic garbage
collection. Software robustness, durability, and programmer productivity are
important.
o The language is intended for use in developing software components suitable for
deployment in distributed environments.
o Name
o The name "C sharp" was inspired by musical notation where a sharp indicates that
the written note should be made a semitone higher in pitch. This is similar to the
language name of C++, where "++" indicates that a variable should be
incremented by 1.
o Due to technical limitations of display (standard fonts, browsers, etc.) and the fact
that the sharp symbol (♯, U+266F, MUSIC SHARP SIGN) is not present on the
standard keyboard, the number sign (#, U+0023, NUMBER SIGN) was chosen to
24
represent the sharp symbol in the written name of the programming language.
This convention is reflected in the ECMA-334 C# Language Specification. [7]
However, when it is practical to do so (for example, in advertising or in box
art[10]), Microsoft uses the intended musical symbol.
o The "sharp" suffix has been used by a number of other .NET languages that are
variants of existing languages, including J# (a .NET language also designed by
Microsoft which is derived from Java 1.1), A# (from Ada), and the functional F#.
The original implementation of Eiffel for .NET was called Eiffel#,[12] a name since
retired since the full Eiffel language is now supported. The suffix has also been
used for libraries, such as Gtk# (a .NET wrapper for GTK+ and other GNOME
libraries), Cocoa# (a wrapper for Cocoa) and Qt# (a .NET language binding for
the Qt toolkit).
History
During the development of the .NET Framework, the class libraries were
originally written using a managed code compiler system called Simple Managed C
(SMC). In January 1999, Anders Hejlsberg formed a team to build a new language at the
time called Cool, which stood for "C-like Object Oriented Language". [16] Microsoft had
considered keeping the name "Cool" as the final name of the language, but chose not to
do so for trademark reasons. By the time the .NET project was publicly announced at the
July 2000 Professional Developers Conference, the language had been renamed C#, and
the class libraries and ASP.NET runtime had been ported to C#.
C#'s principal designer and lead architect at Microsoft is Anders Hejlsberg, who was
previously involved with the design of Turbo Pascal, Embarcadero Delphi (formerly
Code Gear Delphi and Borland Delphi), and Visual J++. In interviews and technical
papers he has stated that flaws in most major programming languages (e.g. C++, Java,
Delphi, and Smalltalk) drove the fundamentals of the Common Language Runtime
(CLR), which, in turn, drove the design of the C# language itself.
25
James Gosling, who created the Java programming language in 1994, and Bill Joy, a
co-founder of Sun Microsystems, the originator of Java, called C# an "imitation" of Java;
Gosling further claimed that "[C# is] sort of Java with reliability, productivity and
security deleted."Klaus Kreft and Angelika Langer (authors of a C++ streams book)
stated in a blog post that "Java and C# are almost identical programming languages.
Boring repetition that lacks innovation," "Hardly anybody will claim that Java or C# are
revolutionary programming languages that changed the way we write programs," and "C#
borrowed a lot from Java - and vice versa. Now that C# supports boxing and unboxing,
we'll have a very similar feature in Java."Anders Hejlsberg has argued that C# is "not a
Java clone" and is "much closer to C++" in its design.
C# used to have a mascot called Andy (named after Anders Hejlsberg). It was retired on
29 Jan 2004.
Versions
In the course of its development, the C# language has gone through several versions:
.NET Visual
January
C# 1.0 January 2002 Framework Studio .NET
2002
December 1.0 2002
April 2003
2002 .NET Visual
C# 1.2 October 2003 April 2003 Framework Studio .NET
1.1 2003
.NET
September September November Visual
C# 2.0 June 2006 Framework
2006 2005[note 1] 2005 Studio 2005
2.0
26
.NET
November Visual
C# 3.0 August 2007 Framework
2007 Studio 2008
None [note 2] 3.5
.NET Visual
C# 4.0 April 2010 April 2010
Framework 4 Studio 2010
^ The Microsoft C# 2.0 specification document only contains the new 2.0 features. For
older features use the 1.2 specification above.
^ There are currently, as of May 2010, no ECMA and ISO/IEC specifications for C# 3.0
and 4.0.
Summary of versions
Expression trees
27
Features
There are no global variables or functions. All methods and members must be
declared within classes. Static members of public classes can substitute for global
variables and functions.
Local variables cannot shadow variables of the enclosing block, unlike C and C+
+. Variable shadowing is often considered confusing by C++ texts.
C# supports a strict Boolean datatype, bool. Statements that take conditions, such
as while and if, require an expression of a type that implements the true operator, such as
the boolean type. While C++ also has a boolean type, it can be freely converted to and
from integers, and expressions such as if(a) require only that a is convertible to bool,
allowing a to be an int, or a pointer. C# disallows this "integer meaning true or false"
approach on the grounds that forcing programmers to use expressions that return exactly
bool can prevent certain types of common programming mistakes in C or C++ such as if
(a = b) (use of assignment = instead of equality ==).
In C#, memory address pointers can only be used within blocks specifically
marked as unsafe, and programs with unsafe code need appropriate permissions to run.
Most object access is done through safe object references, which always either point to a
"live" object or have the well-defined null value; it is impossible to obtain a reference to a
28
"dead" object (one which has been garbage collected), or to a random block of memory.
An unsafe pointer can point to an instance of a value-type, array, string, or a block of
memory allocated on a stack. Code that is not marked as unsafe can still store and
manipulate pointers through the System.IntPtr type, but it cannot dereference them.
Multiple inheritance is not supported, although a class can implement any number
of interfaces. This was a design decision by the language's lead architect to avoid
complication and simplify architectural requirements throughout CLI.
C# is more type safe than C++. The only implicit conversions by default are those
which are considered safe, such as widening of integers. This is enforced at compile-time,
during JIT, and, in some cases, at runtime. There are no implicit conversions between
booleans and integers, nor between enumeration members and integers (except for literal
0, which can be implicitly converted to any enumerated type). Any user-defined
conversion must be explicitly marked as explicit or implicit, unlike C++ copy
constructors and conversion operators, which are both implicit by default.
29
Checked exceptions are not present in C# (in contrast to Java). This has been a
conscious decision based on the issues of scalability and versionability.[21]
C# has a unified type system. This unified type system is called Common Type
System (CTS).[22]
A unified type system implies that all types, including primitives such as integers,
are subclasses of the System.Object class. For example, every type inherits a ToString()
method. For performance reasons, primitive types (and value types in general) are
internally allocated on the stack.
Libraries
The C# specification details a minimum set of types and class libraries that the compiler
expects to have available. In practice, C# is most often used with some implementation of
the Common Language Infrastructure (CLI), which is standardized as ECMA-335
Common Language Infrastructure (CLI).
The following is a very simple C# program, a version of the classic "Hello, world"
example:
using System;
class ExampleClass
Console.WriteLine("Hello, world!");
30
}
Hello, world!
using System;
The above line of code tells the compiler to use 'System' as a candidate prefix for
types used in the source code. In this case, when the compiler sees use of the 'Console'
type later in the source code, it tries to find a type named 'Console', first in the current
assembly, followed by all referenced assemblies. In this case the compiler fails to find
such a type, since the name of the type is actually 'System.Console'. The compiler then
attempts to find a type named 'System.Console' by using the 'System' prefix from the
using statement, and this time it succeeds. The using statement allows the programmer to
state all candidate prefixes to use during compilation instead of always using full type
names.
class ExampleClass
Above is a class definition. Everything between the following pair of braces describes
ExampleClass.
This declares the class member method where the program begins execution.
The .NET runtime calls the Main method. (Note: Main may also be called from
elsewhere, like any other method, e.g. from another method of ExampleClass.) The static
keyword makes the method accessible without an instance of ExampleClass. Each
console application's Main entry point must be declared static. Otherwise, the program
would require an instance, but any instance would require a program. To avoid that
31
irresolvable circular dependency, C# compilers processing console applications (like that
above) report an error if there is no static Main method. The void keyword declares that
Main has no return value.
Console.WriteLine("Hello, world!");
This line writes the output. Console is a static class in the System namespace. It
provides an interface to the standard input, output, and error streams for console
applications. The program calls the Console method WriteLine, which displays on the
console a line with the argument, the string "Hello, world!".
Implementations
The Mono project provides an open source C# compiler, a complete open source
implementation of the Common Language Infrastructure including the required
framework libraries as they appear in the ECMA specification, and a nearly complete
implementation of the Microsoft proprietary .NET class libraries up to .NET 3.5. As of
Mono 2.6, there are no plans to implement WPF; WF is planned for a later release; and
there are only partial implementations of LINQ to SQL and WCF.
32
remaining Microsoft proprietary .NET class libraries up to .NET 2.0 (those not
documented or included in the ECMA specification but included in Microsoft's
standard .NET Framework distribution).
ADO.NET
Features of ADO.NET
33
datasets. A dataset is a cached set of database records. We can work with the records
stored in a dataset as we work with real data; the only difference being that the dataset is
independent of data source and we remain disconnected from the data source.
ADO.NET supports scalability by working with datasets. Datasets
operations are performed on the datasets instead of on the database. As a result, resources
are saved, and the database can meet the increasing demands of users more efficiently.
Data transfer in XML format- XML is the fundamental format for
data transfer in ADO.NET. Data is transferred from a database into a dataset and from
the dataset to another component by using XML. We can even use an XML file as a
data source and store data from it in a dataset. Using XML as the data transfer
language is beneficial as XML is an industry standard format for exchanging information
between different types of applications. The knowledge of XML is not required for
working with ADO.NET since data conversion in the XML and any component that can
read the dataset structure from and to XML is hidden from the user. Since a dataset is
stored can process the data.
Interaction with the database is done through data commands – All operations on the
database are performed by using data commands. A data command can be a SQL
statement or a stored procedure. We can retrieve, insert, delete or modify data from a
database by executing data commands.
To create a database determines the name of the database, its owner (the user
who creates the database), its size, and the files and file groups used to store it.
The user who creates the database becomes the owner of the database.
34
The name of the database must follow the rules for identifiers.
These files contain the startup information for the database. The primary files are
also used to store data. Every database has one primary file.
Secondary files
These files hold all the data that does not fit in the primary data file. Databases do
not need secondary data files if the primary file is large enough to hold all the data
in the database. Some databases may be large enough to need multiple secondary
data files, or they may use secondary files on separate disk drives to spread the
data across multiple disks.
Transaction log
These files hold the log information used to recover the database. There must be
at least one transaction log file for each database, although there may be more
than one. The minimum size for a log file is 512 kilobytes (KB).
When a database is created, all the files that comprise the database are filled with
zeros to overwrite any existing data left on the disk by previously deleted files. Although
this means that the files take longer to create, this action prevents the operating system
from having to fill the files with zeros when data is written to the files for the first time
during usual database operations. This improves the performance of day-to-day
operations.
It is recommended that you specify a maximum size to which the file is permitted
to grow. This prevents the file from growing, as data is added, until disk space is
exhausted. To specify a maximum size for the file, use the MAXSIZE parameter of the
CREATE DATABASE statement or the Restrict filegrowth (MB) option when using
the Properties dialog box in SQL Server Enterprise Manager to create the database.
35
CREATING DATABASE PLAN:
The first step in creating a database is creating a plan that serves both as a
guide to be used when implementing the database and as a functional specification for the
database after it has been implemented. The complexity and detail of a database design is
dictated by the complexity and size of the database application as well as the user
population.
In planning the database, regardless of its size and complexity, use these basic steps:
Gather information.
GATHERING INFORMATION:
Before creating a database, you must have a good understanding of the job
the database is expected to perform. If the database is to replace a paper-based or
manually performed information system, the existing system will give you most of the
36
information you need. It is important to interview everyone involved in the system to find
out what they do and what they need from the database. It is also important to identify
what they want the new system to do, as well as to identify the problems, limitations, and
bottlenecks of any existing system. Collect copies of customer statements, inventory lists,
management reports, and any other documents that are part of the existing system,
because these will be useful to you in designing the database and the interfaces.
IDENTIFYING OBJECTS
During the process of gathering information, you must identify the key
objects or entities that will be managed by the database. The object can be a tangible
thing, such as a person or a product, or it can be a more intangible item, such as a
business transaction, a department in a company, or a payroll period. There are usually a
few primary objects, and after these are identified, the related items become apparent.
Each distinct item in your database should have a corresponding table.
The primary object in the pubs sample database included with Microsoft® SQL
Server™ 2000 is a book. The objects related to books within this company's business are
the authors who write the books, the publishers who manufacture the books, the stores
which sell them, and the sales transactions performed with the stores. Each of these
objects is a table in the database.
For this purpose, database developers use tools that range in technical complexity
from pencils and scratch paper to word processing or spreadsheet programs, and even to
software programs specifically dedicated to the job of data modeling for database
designs. Whatever tool you decide to use, it is important that you keep it up-to-date.
37
SQL Server Enterprise Manager includes visual design tools such as the Database
Designer that can be used to design and create objects in the database.
Categorical columns
Identifier columns
38
These columns establish a link between information in one table and
related information in another table. For example, a table that tracks sales transactions
will commonly have a link to the customer’s table so that the complete customer
information can be associated with the sales transaction.
For example, the designer of the pubs database has created tables for titles
and publishers in the database. The titles table contains information for each book: an
identifier column named title_id; raw data columns for the title, the price of the book, and
the publishing date; and some columns with sales information for the book. The table
contains a categorical column named type, which allows the books to be grouped by the
type of content in the book. Each book also has a publisher, but the publisher information
is in another table; therefore, the titles table has a pub_id column to store just the ID of
the publisher. When a row of data is added for a book, the publisher ID is stored with the
rest of the book information.
Data Security
39
Designing Tables
When you design a database, you decide what tables you need, what type
of data goes in each table, which can access each table, and so on. As you create and
work with tables, you continue to make more detailed decisions about them.
The most efficient way to create a table is to define everything you need in the
table at one time, including its data restrictions and additional components. However, you
can also create a basic table, add some data to it, and then work with it for a while. This
approach gives you a chance to see what types of transactions are most common and
what types of data are frequently entered before you commit to a firm design by adding
constraints, indexes, defaults, rules, and other objects.
It is a good idea to outline your plans on paper before creating a table and
its objects. Decisions that must be made include:
Columns in the table and the data type (and length, if required) for each column.
Types of indexes needed, where required, and which columns are primary keys
and which are foreign keys.
Microsoft SQL Server uses features similar to those found in other databases
and some features that are unique. Most of these additional features are made possible by
SQL Server's tight integration with the Windows NT operating system. SQL Server
contains the data storage options and the capability to store and process the same volume
of data as a mainframe or minicomputer.
40
Like most mainframe or minicomputer databases, SQL Server is a database that
has seen an evolution from its introduction in the mid-1960s until today. Microsoft's SQL
Server is founded in the mature and powerful relational model, currently the preferred
model for data storage and retrieval.
SQL Server also contains many of the front-end tools of PC databases that
traditionally haven't been available as part of either mainframe or minicomputer
databases. In addition to using a dialect of Structured Query Language (SQL), GUI
applications can be used for the storage, retrieval, and administration of the database.
SQL Server permits client applications to control the information retrieved from
the server by using several specialized tools and techniques, including options such as
stored procedures, server-enforced rules, and triggers that permit processing to be done
on the server automatically. You don't have to move all processing to the server, of
course; you still can do appropriate information processing on the client workstation.
41
Although organizations routinely use SQL Server to manipulate millions of
records, SQL Server provides several tools that help you manage the system and its
databases and tables. The Windows- and command-line-based tools that come with SQL
Server allow you to work with the many aspects of SQL Server. You can use these tools
to
You also can use a command-line interface to perform all operations with SQL Server.
Introduction
a. Purpose
The goal of this project is to developing Recommendation system based on
contextual information. Here, we focus on modeling the general contextual information
associated with not only users/items but also user-item interactions.
Project Scope
Recommender systems have become an important tool which can help users to
select the information of interest in many web applications. The contexts of recommender
systems specify the contextual information associated with a recommendation
application, and provides two kinds of examples which are attributes associated with
users or Items and attributes associated with user-item interactions. Due to the
42
fundamental effect of contextual information in recommender systems, many context
modeling methods have been developed.
In the existing context-aware recommendation method do not explain the
relevance explanation about contextual information and they have limitations in
generating recommendations under a large amount of contextual information. To
overcome the shortages of the existing methods mentioned above, we propose a novel
context modeling method Contextual Operating Tensor model (COT).In this method
contextual information includes interaction contexts, which describe the interaction
situations, and entity contexts, which can identify user/item characteristics. Here, we
focus on modeling the general contextual information associated with not only
users/items but also user-item interactions.
Overall Description
b. Product Perspective
Recommender systems have become an important tool which can help users to select the
information of interest in many web applications. Nowadays, with the enhanced ability of
systems in collecting information, a great amount of contextual information has been
collected. Contextual information includes interaction contexts, which describe the
interaction situations, and entity contexts, which can identify user/item characteristics.
Here, we focus on modeling the general contextual information associated with not only
Users/items but also user-item interactions.
Product Features
43
abundant contextual information in real applications. Also these methods have the
difficulty in dealing with a large amount of contextual information
The proposed Context Operating Tensor (COT) method learns representation
vectors of context values and uses contextual operations to capture the semantic
operations of the contextual information. We provide a strategy in embedding each
context value into a latent representation, no matter which domain the value belongs to.
For each user-item interaction, we use contextual operating matrices to represent the
semantic operations of these contexts, and employ contextual operating tensors to capture
common effects of contexts. Then, the operating matrix can be generated by multiplying
latent representations of contexts with the operating tensor.
To describe the operation ability of contexts, we embed each context value with a
latent representation, and model the contextual information as semantic operations on
users and items. Context representation and contextual operation present a novel
perspective of context modeling.
We use the contextual operating tensor to capture the common semantic effects of
contexts. For each interaction, the contextual operation can be generated from the
multiplication of operating tensor and latent vectors of contexts.
44
2. Movie Rating and Comments
User can login using corresponding mail id and password, after login success
entering in user home then user can rate and comment the movies in movie
recommendation system.
When user rates the movie they want to give some information like movie name,
where you are watched (theatre or online) movie and companion name (friends, family,
children).
45
Determination of the Involved Objects
Determination of the Involved Actions
Determination of the Require Clauses
Global actions and Constraint Realization
System Features
The proposed Context Operating Tensor (COT) method learns
representation vectors of context values and uses contextual operations to capture the
semantic operations of the contextual information. We provide a strategy in embedding
each context value into a latent representation, no matter which domain the value belongs
to. For each user-item interaction, we use contextual operating matrices to represent the
semantic operations of these contexts, and employ contextual operating tensors to capture
common effects of contexts. Then, the operating matrix can be generated by multiplying
latent representations of contexts with the operating tensor.
To describe the operation ability of contexts, we embed each context value with a
latent representation, and model the contextual information as semantic operations on
users and items. Context representation and contextual operation present a novel
perspective of context modeling.
We use the contextual operating tensor to capture the common semantic effects of
contexts. For each interaction, the contextual operation can be generated from the
multiplication of operating tensor and latent vectors of contexts.
46
External Interface Requirements
Users are communicated with Buttons to clear the content or send data to the
destination.
User can interact with text area to enter the multiple line of text.
c. Hardware Interfaces
Ethernet
Ethernet on the AS/400 supports TCP/IP, Advanced Peer-to-Peer
Networking (APPN) and advanced program-to-program communications (APPC).
ISDN
d. Software Interfaces
47
2. This product is interacted with the Socket and listening on unused ports.
3. This product is interacted with the Server Socket and listening on unused ports.
e. Communication Interfaces
The TCP/IP protocol will be used to facilitate communications between the client
and server.
48
with different requirements for safety levels must be separated. Otherwise, the highest
level of integrity required must be applied to all systems in the same environment.
Usability: how easy it is to understand, learn, and operate the software System
49
CHAPTER 4
4.1 Architecture:
Admin
51
Usecase Diagram
52
Activity Diagram:
53
Collaboration diagram
54
Class:
55
56
57
DFD Diagram
Level 0
Admin Admin
Data Base
log in
Level 1
58
Level 2
Recommendations for
Data Base Old/New User
CHAPTER 5
SYSTEM DESIGN
First we need to done the registration process for user, while doing registration they
want to fill the entire required field. If the registrations success they can login with their
mail id and password. In worst case the system will throw messages as invalid login.
Admin can login using corresponding mail id and password, after login success
entering in admin home then admin can update the movies in movie recommendation
database system.
59
3. Old user Recommendation
A user already gives the rating for movie in movie recommendation system that
user consider as old user. We giving the recommendation to user based on contextual
information, Context information is defined in three types is user/item and interaction
contexts.
CHAPTER 6
60
VERIFICATION AND VALIDATION
Testing strategies
The extent of testing a system is controlled by many factors, such as the risk involved, the
limitations of the resources and deadlines. We deploy a testing strategy that does the best
job of finding the defects in the product within the given constraints. The different testing
strategies are:
61
White box testing assumes that the specific logic is important and must
be tested to guarantee the systems proper functioning. The main use of the white box id
the error based testing. In a white box testing, the bugs are looked for that have a low
probability of execution that have been overlooked previously. It is also known as path
testing.
Statement testing coverage: where every statement in the objects method is covered by
executing it at least once.
Branch testing coverage: it is to perform enough tests to ensure that every branch
alternative is executed at least once.
A top-down strategy supports the user interface and event driven system. This
serves two purposes; first the top down approach can test navigation through screens and
verify that it matches the requirement. Second, users at the early stage can see how the
final application will look and feel.
Bottom up testing
Bottom up testing starts with the details of the system and proceeds to higher
levels by a progressive aggregation of details until they collectively fit requirements of
the system. In this testing the methods and classes which are independent are tested.
Source Code
62
Screenshot
63
REFERENCES
64
8] M. Jamali and L. Lakshmanan, “Heteromf: Recommendation in heterogeneous
information networks using context dependent factor models,” in Proc. 22nd Int.
Conf.WorldWideWeb, 2013, pp. 643–654. [9] T. Mikolov, I. Sutskever, K. Chen, G.
Corrado, and J. Dean, “Distributed representations of words and phrases and their
compositionality,” in Proc. Neural Inform. Process. Syst., 2013, pp. 3111–3119. [10] S.
Rendle, “Factorization machines with libfm,” ACM Trans. Intell. Syst. Technol., vol. 3,
no. 3, p. 57, 2012. [11] M. Baroni and R. Zamparelli, “Nouns are vectors, adjectives are
matrices: Representing adjective-noun constructions in semantic space,” in Proc. Conf.
Empirical Methods Natural Language Process., 2010, pp. 1183–1193. [12] R. Socher, B.
Huval, C. D. Manning, and A. Y. Ng, “Semantic compositionality through recursive
matrix-vector spaces,” in Proc. Joint Conf. Empirical Methods Natural Language Process.
Comput. Natural Language Learning, 2012, pp. 1201–1211. [13] R. Socher, A. Perelygin,
J. Y. Wu, J. Chuang, C. D. Manning, A. Y. Ng, and C. Potts, “Recursive deep models for
semantic compositionality over a sentiment treebank,” in Proc. Conf. Empirical Methods
Natural Language Process., 2013, pp. 1631–1642. [14] A.Mnih and R. Salakhutdinov,
“Probabilistic matrix factorization,” in Proc. Neural Inform. Process. Syst., 2007, pp.
1257–1264. [15] Y. Koren, R. Bell, and C. Volinsky, “Matrix factorization techniques for
recommender system,” Computing, vol. 42, no. 8, pp. 30– 37, 2009. [16] Y. Koren and R.
Bell, “Advances in collaborative filtering,” in Proc. Int. Conf. Recommender Syst., 2011,
pp. 145–186. [17] Y. Koren, “Factorization meets the neighborhood: A multifaceted
collaborative filtering model,” in Proc. 14th ACM SIGKDD Int. Conf. Knowl. Discovery
Data Mining, 2008, pp. 426–434. [18] Y. Koren, “Collaborative filtering with temporal
dynamics,” Commun. ACM, vol. 53, no. 4, pp. 89–97, 2010. [19] L. Xiong, X. Chen, T.-
K. Huang, J. G. Schneider, and J. G. Carbonell, “Temporal collaborative filtering with
Bayesian probabilistic tensor factorization,” in Proc. SIAM Int. Conf. Data Mining, 2010,
pp. 211–222. [20] T. Chen, W. Zheng, Q. Lu, K. Chen, Z. Zheng, and Y. Yu,
“SVDFeature: A toolkit for feature-based collaborative filtering,” J. Mach. Learn. Res.,
vol. 13, no. 1, pp. 3619–3622, Dec. 2012. [21] C. Palmisano, A. Tuzhilin, and M.
Gorgoglione, “Using context to improve predictive modeling of customers in
personalization applications,” IEEE Trans. Knowl. Data Eng., vol. 20, no. 11, pp. 1535–
1549, Nov. 2008. [22] G. Adomavicius, R. Sankaranarayanan, S. Sen, and A. Tuzhilin,
“Incorporating contextual information in recommender systems using a multidimensional
approach,” ACM Trans. Inform. Syst., vol. 23, no. 1, pp. 103–145, 2005. [23] L.
Baltrunas and F. Ricci, “Context-based splitting of item ratings in collaborative filtering,”
in Proc. 3rd ACM Conf. Recommender Syst., 2009, pp. 245–248. [24] U. Panniello, A.
Tuzhilin, M. Gorgoglione, C. Palmisano, and A. Pedone, “Experimental comparison of
pre-vs. post-filtering approaches in context-aware recommender systems,” in Proc. 3rd
ACM Conf. Recommender Syst., 2009, pp. 265–268. [25] Y. Li, J. Nie, Y. Zhang, B.
Wang, B. Yan, and F. Weng, “Contextual recommendation based on text mining,” in Proc.
23rd Int. Conf. Comput. Linguistics, 2010, pp. 692–700. [26] E. Zhong, W. Fan, and Q.
Yang, “Contextual collaborative filtering via hierarchical matrix factorization,” in Proc.
65
SIAM Int. Conf. Data Mining, 2012, pp. 744–755. [27] X. Liu and K. Aberer, “SoCo: A
social network aided contextaware recommender system,” in Proc. 22nd Int. Conf. World
Wide Web, 2013, pp. 781–802. [28] L. R. Tucker, “Some mathematical notes on three-
mode factor analysis,” Psychometrika, vol. 31, no. 3, pp. 279–311, 1966. [29] A. P. Singh
and G. J. Gordon, “Relational learning via collective matrix factorization,” in Proc. 14th
ACM SIGKDD Int. Conf. Knowl. Discovery Data Mining, 2008, pp. 650–658. [30] S.-H.
Yang, B. Long, A. Smola, N. Sadagopan, Z. Zheng, and H. Zha, “Like like alike: Joint
friendship and interest propagation in social networks,” in Proc. 20th Int. Conf. World
Wide Web, 2011, pp. 537–546. [31] C. Lippert, S. H. Weber, Y. Huang, V. Tresp, M.
Schubert, and H.-P. Kriegel, “Relation prediction in multi-relational domains using
matrix factorization,” in Proc. Workshops Neural Inform. Process. Syst. Structured Input-
Structured Output, 2008, pp. 6–9.
66