100% found this document useful (1 vote)
153 views

Flex Based

Flex plays a major role in providing the programming model, tooling and data connectivity that allows programmers to build rich expressive applications. It is an innovative programming environment for course creation and motivates the students to learn. It produces animations, interactive applications, storytelling to share on the web, video and audio tutorials. The term multimedia describes a number of diverse technologies that allow visual and audio media to be taken and combined in new ways for the purpose of communicating.

Uploaded by

vinay999
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
153 views

Flex Based

Flex plays a major role in providing the programming model, tooling and data connectivity that allows programmers to build rich expressive applications. It is an innovative programming environment for course creation and motivates the students to learn. It produces animations, interactive applications, storytelling to share on the web, video and audio tutorials. The term multimedia describes a number of diverse technologies that allow visual and audio media to be taken and combined in new ways for the purpose of communicating.

Uploaded by

vinay999
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 102

CHAPTER 1

ABSTRACT

1
1. ABSTRACT

Flex plays a major role in providing the programming model, tooling & data connectivity
that allows programmers to build rich expressive applications. It is an innovative
programming environment for course creation. It provides cost effective training &
motivates the students to learn. It produces animations, interactive applications,
storytelling to share on the web, video and audio tutorials.

The term multimedia describes a number of diverse technologies that allow visual and
audio media to be taken and combined in new ways for the purpose of communicating.
Applications including entertainment & education.
Flex based multimedia system is an online instruction & testing program in
which the students can search or browse for streaming audio, video, & other multimedia
based tutorials. It refers to a class of content delivery formats, which includes 2D, 3D
animations, Digital Imaging, & Microsoft power point etc.

2
CHAPTER 2

INTRODUCTION

3
2.
Introduction

2.1 Project Overview


Flex plays a major role in providing the programming model, tooling & data connectivity
that allows programmers to build rich expressive applications. It is an innovative
programming environment for course creation. It provides cost effective training &
motivates the students to learn. It produces animations, interactive applications,
storytelling to share on the web, video and audio tutorials.

The term multimedia describes a number of diverse technologies that allow visual and
audio media to be taken and combined in new ways for the purpose of communicating.
Applications including entertainment & education.

Flex based multimedia system is an online instruction & testing program in which the
students can search or browse for streaming audio, video, & other multimedia based
tutorials. It refers to a class of content delivery formats, which includes 2D, 3D animations,
Digital Imaging, & Microsoft power point etc.

Flex based Multi Media system for Instruction and Testing deals with the creation of web
forms, using which all the students can find a relevant and important information under a
single application. The only irreplaceable capital the web page can provide is the
knowledge and ability of its faculty. The productivity of that capital depends on how
effectively students share their competence by answering the quiz provided. The
application will be utilized by updating, searching, viewing, learning, rating and helps the
students with sophisticated training.

4
2.2 PURPOSE
Flex based multimedia system helps us to motivate the students to learn effectively and
efficiently.

It helps us to create various audio, video tutorials, on various topics using 2D, 3D
animation which helps the students to learn in better way.

• To provide interactive learning techniques.


• Facilities approved users to retrieve related information.
• To motivate students learn in better way.
• To reduce paper work.
• To improve the quality of the system.
• To satisfy the users.

2.2.1 SCOPE

• The supplementary specifications apply to the Flex Based Multimedia system,


which is developed in Rational Rose. This specification defines the non-functional
requirements of the system such as Reliability, Usability, Availability,
Performance and Supportability of security as well as functional requirements that
are common across the number of Use Cases.
• Flex base multimedia system can be implemented in various Educational
institutions to provide effective training to the students.

5
2.3 APPLICATION, OBJECTIVE AND BENEFITS

• APPLICATION

Students located at remote areas will be able to access the tutorials and can enhance
their skills at their own time.

• OBJECTIVES

To facilitate student community to enhance their skills.

• BENEFITS

Without expensive infrastructure excellent teaching material prepared by trained


faculty members can be shared with the student community.

6
CHAPTER 3

SYSTEM ANALYSIS

7
3.1 EXISTING SYSTEM

Generally in order to learn a particular language or a complete course a student has to get
admission into an institution or any tutorials. In this process, students will not have much
choice and will be suffering at the timings or from transport facilities etc., there is no
proper scope of interaction between Students and Faculty. As the faculty is always busy
with his scheduled classes and will not have any time to clarify Student doubts. This
process is quiet time consuming and hectic mainly for the students who come from long
distances.
• Present system involves more human power. As the students who apply for the
Courses are not small in number, much coordination is required in order to
organize the classes.
• The students coming from long distances cannot afford to stay for long time near
the institutions.
.

8
3.2 PROPOSED SYSTEM

The main aim of the project is to provide students within information for learning a
course with fewer expenses; the project deals with the creation of Web pages which stores
several tutorials, quizzes, feedback forms. This project avoids course duplication,
provides information from trained faculty. The proposed system helps the students to stay
in touch with the latest courses and get their technical as well as knowledge updated. The
tutorials present in the web pages will be of immense use for the students undergoing the
training.
3.2.1 Major Functions of the Proposed System
• Authentication and Authorization
• Registration of Faculty
• Uploading/ Changing / Deleting Tutorials
• Registration Of Students
• View the Tutorials
• Search the Tutorials
• Online Quiz
• Rate the Tutorials

3.2.2 Constraints
Following will limit the design and implementation options:-

(a) Only authorized users can access the application

(b) Rights will be given only when payments are made

(c) User need to install Flex software

9
(d) User need to use SQL server
(e) Hardware limitations

3.3 Modules of Proposed System

MODULE 1
Authentication & Verification.

In this module students will create their account for registering any online courses and once
registration process is completed, he will be authenticated to view his activity.

MODULE 2
Accessing the WebPages.

In this module user can access ASP.Net web pages created with the help of flex
programming & help in integrating tutorials, presentations, digital stories, etc.

MODULE 3
View data & Information Module.

In this module students can search for the desired tutorials by units, channels & videos. For
example, if students request details for 3D Animation in search will have find 3D
Animation related topics which they are interested. But the students will have no privileges
to download the topic.
If students select videotape the web services is invoked & that particular web services will
fetch the data.

10
Chapter 4

Feasibility Analysis

11
4. Feasibility Analysis
The feasibility analysis is designed to determine whether or not, given the project
environment, a project will be successful (in virtually any interpretation of that word). In
other words, feasibility analysis is the measure of how beneficial or practical the
development of information system will be to an organization. A feasibility analysis
should examine three main areas:
· Ease of operation.
· Financial overview.
· Technical requirements.
4.1 Operational Feasibility

It refers to the feasibility of the product to be operational. In this the operation scope of
the system is checked. The operational scope means, how well the system can perform
the operations that are assigned to it, how can the users use the system in an efficient
manner and how easily can the system be used by different users .It is observed that the
proposed system is very user friendly and has all the features mentioned above.

4.2 Financial Overview

It deals with establishing the cost-effectiveness of the proposed system i.e. if the benefits
do not outweigh the costs then it is not worth going ahead. The proposed system does not
require any special software technologies to be developed whose cost is huge. The
technologies and the hardware used in the development are the most popular ones, which
can be acquired by anyone, and moreover they promise portability, security, reliability
and easy maintainability.

12
4.3 Technical Requirements
The technologies and the standard used for the development of the project are as follows:

4.3.1 Flex Technology


This topic introduces us to the Adobe® Flex™ 2 product line. Flex delivers an integrated
set of tools and technology that enable developers to build and deploy scalable rich
Internet applications (RIAs). Flex provides a modern, standards-based language
supporting common design patterns and includes a client runtime environment, a
programming model, a development environment, and advanced data services.

About Flex
Flex encompasses both a standards-based programming model that will be familiar to
professional developers and a set of products designed to enable efficient delivery of
high-performance RIAs. RIAs combine the responsiveness and richness of desktop
software with the broad reach of web applications to deliver a more effective user
experience. Flex applications take advantage of Adobe® Flash® Player 9, enabling
developers to seamlessly extend the capabilities of the browser and deliver richer, more
responsive client-side applications as well as a more robust integration with server-side
functionality and service-oriented architectures.

About the Flex product line


The Flex product line consists of a family of related products that let we design, develop,
and deploy an entirely new class of RIA. The Flex product line includes the following
products:
• Adobe® Flex™ 2 SDK (software development kit)
• Adobe® Flex™ Builder™ 2
• Adobe® Flex™ Data Services 2

13
• Adobe® Flex™ Charting 2

.
About Flash Player 9
While Flex applications run in a browser, they take advantage of the Flash Player 9
runtime environment for executing client-side logic, rendering graphics, and playing
animation, audio, or video. Flash Player 9 supports a new higher-performance version of
Action Script (Action Script 3.0) that works in conjunction with the expressiveness
innovations in Flash Player 8. Flash Player provides the platform for interface
development so that both client and presentation-tier logic executes on the client
computer. Because Flash Player runs consistently across all major operating systems and
browsers, we do not have to program where applications for a specific browser or
platform.
Additionally, Flex applications running in Flash Player 9 can interact with JavaScript
logic or HTML content that is displayed in the browser. As a result, we can incorporate
Flex into an existing web site or application, including working with other browser-based
frameworks such as Ajax widgets or JavaScript libraries.

About Flex Software Development Kit 2


At the core of the Flex product line is the Flex Software Development Kit (SDK). Flex 2
SDK is the base set of technologies and utilities that we use to create applications by
using the Flex product line. Flex 2 SDK consists of the Flex framework (class library),
the Flex compilers, the debugger, the MXML and Action Script programming languages,
and other utilities. Flex SDK also includes the source code for the core Flex framework
class library, enabling we to study the code of the classes as well as customize or extend
them for where own use.
Flex SDK is available as a stand-alone package or as an integrated feature of Flex Builder
and Flex Data Services.

14
Flex applications consist of MXML and Action Script source files:
• MXML is an XML language that we use to lay out the user interface for Flex
Applications. MXML provides tags that correspond to classes in the Flex
framework and simplify usage for visual elements such as containers, navigators,
and UI controls. We also use MXML to declaratively define no visual aspects of
an application, such as access to network-based resources (for example, XML
feeds and web services), server-based resources (such as the Flex Data
Management Service feature of Flex Data Services), and data bindings between
user-interface components and the data we retrieve. Flex SDK provides basic
network access to web-based data, including remote access to web application
servers, such as ColdFusion and PHP; Flex Data Services provides additional
protocols and services.
• Action Script is the programming language for Flash Player. Action Script (which
is based on ECMA Script and is similar to JavaScript) provides flow control and
object manipulation features that are not available in MXML.

15
About Flex Builder 2
Flex Builder is an integrated development environment (IDE) for developing applications
with Flex SDK, Flex Data Services, and the Flash Player. The Flex Builder IDE provides
tools that help we develop, design, and debug Flex applications, including an integrated
incremental compiler and a step-through debugger. Because it's tightly integrated with the
Flex 2 SDK, the Flex application model, and the Flex programming languages, Flex
Builder can improve the productivity of all members of where development team. Flex
Builder is built on the Eclipse workbench, an open source platform for building
development tools. As a result, Flex Builder can be installed as a stand-alone product or
as a set of plug-ins to an existing Eclipse installation, and can take advantage of hundreds
of commercial and open source add-ons for the Eclipse workbench. Flex Builder provides
a set of code editors for working with MXML, Action Script, and Cascading Style Sheets
(CSS) as well as source code navigation tools to help we manage where code more easily,
and a debugger to help we troubleshoot where applications. For user interface design,
Flex Builder supplies a visual design view, which allows developers or designers to lay
out Flex components, customize their appearance, and design user interactivity.
The following example shows the Flex Builder interface in design view:
About Flex 2.1
The following example shows the Flex Builder interface in code view:

16
About Flex Data Services 2
We build on the functionality of Flex 2 SDK by adding Flex Data Services. Flex Data
Services adds enterprise messaging support and a greatly enhanced data services
architecture to the Flex 2 SDK. We deploy Flex Data Services as a standard web
application on where J2EE application server or servlet container. Flex Data Services
simplifies the programming model
For interacting with data on the server and includes the following features:

• A high-level programming model for synchronizing data changes between client


and server or between multiple clients
• Integrated services for using publish-and-subscribe messaging
• Automated server data push and real-time data streaming
• Open adapter architecture for integrating with JMS, Hibernate, EJB, and other
data
• Persistent mechanisms.
• Authentication of client access to server resources
• Access to Remote Objects by using the AMF protocol
• Data service logging

These features let we create and deploy enterprise-class applications that take full
advantage of the rich presentation layer that the Flex 2 SDK provides.

17
18
19
About Flex Charting 2
The ability to display data in a chart or graph can make data interpretation much easier
for application users. Rather than present a simple table of numeric data, we can display a
bar, pie, line, or other type of chart using colours, captions, and a two-dimensional
representation of where data.
Flex Charting components extend the Flex framework to add support for many of the
most common chart types, including bar, pie, line, plot, and bubble. Charting components
are dynamically rendered on the client computer, making it easy to add drill-down,
rollover, and other interactivity that enhance the user experience. We can also use colours
and captions to make where charts more readable.
A simple chart shows a single data series, where a series is a group of related data points.
For example, a data series might be monthly sales revenues, or daily occupancy rates for
a hotel.
The following chart shows a single data series that corresponds to sales revenues for six
months:

20
Enhanced user experience Flex lets we build applications that provide an engaging user
experience. An engaging user experience ensures that customers are drawn into where
application, that they understand how to use it and that they can more quickly complete a
task or find the information they are seeking.
A complete environment Flex is a powerful application development solution for creating
and delivering RIAs within the enterprise and across the web. It provides a modern,
standards based language and programming model that supports common design patterns
and includes a highly productive IDE.
Common deployment environment Flex applications execute on Flash Player 9, which is
Platform independent, so customers do not need to install custom client software. Also,
Flash Player runs consistently in all browsers and platforms, so we do not have to worry
about inconsistent behaviour in different client environments.
Enterprise-class features we can use Flex Data Services to transparently synchronize data
and support real-time data push. Messaging capabilities enable more robust applications
that continue to function after network connectivity is lost and allow multiple people in
different locations to browse or chat in the same application. These features, plus the
ability to integrate audio and video, open the door to new ways of interacting with
customers, partners, and employees.
Eliminate page loads Applications running in Flash Player behave like desktop
Applications, instead of a series of linked pages. Flash Player manages the client
interface as a single, uninterrupted flow and does not require a page load from the server
when the client moves from one section of the application to another.
Standards-based architecture Flex, Action Script, and MXML are designed to existing
Standards. MXML is XML compliant, implements styles based on the Cascading Style
Sheets, level 1(CSS1) specification, and implements an event model based on a subset of
the W3C DOM Level 3 Events specification. Action Script is an ECMA Script-based
language that provides support for object-oriented development. The Flex server executes
on standard J2EE platforms or servlet containers.
Cross-browser compatibility Web applications should run the same on all browsers and
Platforms. By standardizing on Flash Player as the client environment, we are guaranteed
a consistent user experience on all platforms and browsers.

21
Flex application characteristics
Many types of applications are appropriate for development in Flex. Some of the
requirements of these applications, and how Flex supports these requirements, include the
following:
Client data collecting user input is one of the most common uses for web applications.
Flex supports forms, and all common form elements, to let we create rich and dynamic
user experiences. Flex forms include hooks to the Flex data modelling and data
Validation, mechanism and the ability to identify required input fields.
Configuration one of the most common applications using Flex lets users perform
product selection and configuration. The user works through a process to configure the
features of a product, views or inspects the configuration, and then proceeds through the
steps required to complete a purchase.
Client-side processing of user input, including filtering and data validation flex data
management, which includes data models, data valuators, data binding, and data services,
lets we separate data representation from the way that a user views it. Typically, this
design pattern is called Model-View-Controller (MVC). Flex also provides a powerful
way to validate data and pass data between user-interface controls and external data
sources with little or no server interaction.

22
Developer’s Guide.
Direct user feedback Complex tasks must provide feedback to users when the user makes
input errors or enters invalid information. Flex formatters and validators help ensure the
quality of input data.
Multistep processes many applications present the user with a process that includes a
sequence of steps or decisions that require user input. For example, completing a
registration form or checkout form often requires multiple steps to complete.

Ideally, we want where users to be able to navigate through multiple steps on a single
page without losing the context of where they are in the process, and without losing any
of the previous information that they have already entered. Flex supports the
development of these applications by capturing state information, supporting browser
back and Forward buttons by using the History Manager.
Support for large data sets Enterprise data applications often handle large data sets that
Must be transmitted to the client from the server, or transmitted to the server from the
client.
These large data sets can overwhelm the bandwidth of where network, and lead to
sluggish application performance. Flex Data Management Services, a feature of Flex
Data Services, lets we break large data sets into smaller units so that no single client can
monopolize the network.
Real-time data push Applications often share data among multiple clients. For example,
an inventory management system must keep all clients synchronized on product
availability. One way to implement this type of system is to have the clients poll the
server at regular intervals to check for updates. However, this design uses unnecessary
network bandwidth and processing cycles when no updates are available. Instead, Flex
Data Services lets clients subscribe to data objects on the server. When the server updates
a data object, it then pushes those updates out to all subscribing clients.
Occasionally connected clients Remote clients may not be able to maintain a connection
to the server at all times. These clients are called occasionally connected clients. Flex
Data Services let client applications perform offline data manipulation, and then
automatically send updates to the server when the connection is restored.

23
4.3.2 DOT NET Technology
A Microsoft operating system platform that incorporates applications, a suite of tools and
services and a change in the infrastructure of the company's Web strategy.
There are four main principles of .NET from the perspective of the user:
(a) It erases the boundaries between applications and the Internet. Instead of
interacting with an application or a single Web site, .NET will connect the
user to an array of computers and services that will exchange and combine
objects and data.

(b) Software will be rented as a hosted service over the Internet instead of
purchased on a store shelf. Essentially, the Internet will be housing all
ware applications and data.

(c) Users will have access to their information on the Internet from any
device, anytime, anywhere.

(d) There will be new ways to interact with application data, such as speech
and handwriting recognition.

There.NET depends on four Internet standards:


HTTP
XML
SOAP
UDDI

24
Features of DOTNET
Consistency
It can be achieved by using Master Page, Themes and using Cascaded Style Sheet feature
of ADO.NET. Features to achieve consistency are:
Master Page concept
Standard Layout
Common Header
Footer
Navigation
Personalization
This is done in regards with the Users taste. It may be in terms of
Colours
Font Size
Background Colours
Look & Feel
After gathering requirements from the user by making use of and using Themes, Skin and
Cascaded Style Sheet feature of ADO.NET we can achieve personalization.
Themes and skins

These are new feature of ASP.net. By this way you can customize your sites look and
feel. Like the master pages they also improve the maintainability of your site and avoid
unnecessary duplication of code for shared style.

A theme is a collection of property settings that allow you to define the look of pages and
controls, and then apply the look consistently across pages in a Web application, across
an entire Web application, or across all Web applications on a server.

A skin file has the file name extension .skin and contains property settings for individual
controls such as Button, Label, Textbox, or Calendar controls. Control skin settings are
like the control markup itself, but contain only the properties you want to set as part of
the theme.

25
Tools for Navigation

Every site requires tools for navigation. The List of Navigation tools available in .NET is
as follows:

Menu Pull down / Drop down menu

Tree View These are structured links. User can know where they are currently located.

26
Breadcrumbs Renders tabs indicating parent and current web page.

The new Site Navigation features in ASP.NET 2.0 can make building navigation
structures across a web-site much easier.
At a high-level, the new Site Navigation features allow you to define (outside of code or
pages) the “site map” structure of how your site is laid out. Specifically, it allows you to
define the relationships between pages on the site – what is the “home” entry-point, what
are the sub-sections of it, and how individual pages fit within it. This information is
coached by ASP.NET, and you can then get access to this sitemap structure at runtime.
ASP.NET includes a basic built-in XML based Sitemap provider that allows you to
define this site structure within an XML file whose default name is “web. Sitemap” (note:
you can change the name if you want). For example, web.sitemap XML file can contain
several levels of hierarchy (a homepage root, then three sub-nodes, and under the
products node three additional sub-nodes).

Security

In .NET security considerations can be verified by carrying out authentication of entries,


password checking, password reminders and facility to create new users. It helps in
permitting authorized users and denies access to unauthorized users.
Wizard .NET provides a wizard called as “Web Site Administrative Tools” which
facilitates in the
Database Providers
Security Management – Provides security consideration like password and username
checking.
Roles Management – Which pages and folders a user is permitted to view.
With built in Windows authentication, you can be assured that your applications are
secure.

27
Database controls
Two group of controls works with data.

Data Source Control


These offer the behaviour of connecting to sources of data.
Examples of Data source Controls are
• SqlDataSource
• SiteMapDataSource
• XmlDataSource
• ObjectDataSource

Data-bound Controls
These perform the task of taking information provided by Data Source Controls and
render it into HTML.

Examples of Data Bound controls are as under


• Grid View
• Data List
• Details View
• Form View
• Repeater

Componentization

Code for the various parts of the page can be handled independently.
• Code for the presentation layer can be kept in a separate file i.e. default.aspx file.
• Code for the execution is kept in a separate file i.e. default.aspx.cs file.

28
Web Services

Web Services are methods of making information available in a standardized way that
could be accessed by any developer’s application over the web. A web service on its own
• Is not an application
• Can’t be seen as web pages.
• Can’t be seen as an .exe files.
• They come as part of user interface.
• Helps in preventing code duplication & thus save time.
• They can be created & exposed to web for other applications to share it or one can
search for web service to add to his own application.
• Web services conform to the Simple Object Access Protocol SOAP and
Extensible Mark up Language XML

29
Deployment

• In the past series of steps were required to be carried out to register and configure
the site on the host machine.
• ASP .NET 2.0 has devised DOS XCOPY type of folder copying mechanism.
• This XCOPY deploys your site from the development machine to the deployment
host.
• All registration and machine level customizations occur automatically when the
first request hits the site.
• XCOPY/ FTP will suffice for simple applications – for more sophisticated
requirements it may well be preferable to create a Windows Installer based setup
package.
• There are many common installation tasks that are not possible via XCOPY, some
of which are
• creating IIS web sites or virtual directories
• However, if you do need any of these you have Microsoft Windows Installer at
your disposal

30
Summary of ASP .NET

ASP.NET is a programming framework built on the common language runtime that can
be used on a server to build powerful Web applications. ASP.NET offers several
important advantages over previous Web development models:
Enhanced Performance. ASP.NET is compiled common language runtime code
running on the server. Unlike its interpreted predecessors, ASP.NET can take advantage
of early binding, just-in-time compilation, native optimization, and caching services right
out of the box. This amounts to dramatically better performance before you ever write a
line of code.
World-Class Tool Support. The ASP.NET framework is complemented by a rich
toolbox and designer in the Visual Studio integrated development environment.
WYSIWYG editing, drag-and-drop server controls, and automatic deployment are just a
few of the features this powerful tool provides.
Power and Flexibility. Because ASP.NET is based on the common language runtime,
the power and flexibility of that entire platform is available to Web application
developers. The .NET Framework class library, Messaging, and Data Access solutions are
all seamlessly accessible from the Web. ASP.NET is also language-independent, so you
can choose the language that best applies to your application or partition your application
across many languages.
Simplicity. ASP.NET makes it easy to perform common tasks, from simple form
submission and client authentication to deployment and site configuration. For example,
the ASP.NET page framework allows you to build user interfaces that cleanly separate
application logic from presentation code and to handle events in a simple, Visual Basic -
like forms processing model. Additionally, the common language runtime simplifies
development, with managed code services such as automatic reference counting and
garbage collection.
Security. With built in Windows authentication and per-application configuration, you
can be assured that your applications are secure.

31
Language Independency.ASP.NET is language-independent, so you can choose
the language that best applies to your application or partition your application across
many languages.
ASP .NET 2.0 supports more than 20 different languages.
Irrespective of language the code is converted to Intermediate Language prior to
execution.

4.3.3 SQL SERVER


1. Database mirroring

32
Database mirroring is a new high-availability feature in SQL Server 2005. It's similar to
server clustering in that failover is achieved by the use of a stand-by server; the difference
is that the failover is at the database level rather than the server level. The primary
database continuously sends transaction logs to the backup database on a separate SQL
Server instance. A third SQL Server instance is then used as a witness database to
monitor the interaction between the primary and the mirror databases.

2. Database snapshots
A database snapshot is essentially an instant read-only copy of a database, and it is a great
candidate for any type of reporting solution for your company. In addition to being a
great reporting tool, you can revert control from your primary database to your snapshot
database in the event of an error. The only data loss would be from the point of creation
of the database snapshot to the event of failure.

3. CLR integration
With SQL Server 2005, you now have the ability to create custom .NET objects with the
database engine. For example, stored procedures, triggers, and functions can now be
created using familiar .NET languages such as VB and C#. Exposing this functionality
gives you tools that you never had access to before such as regular expressions.

4. Service Broker
This feature gives you the ability to create asynchronous, message-based applications in
the database entirely through TSQL. The database engine guarantees message delivery,
message order consistency, and handles message grouping. In addition, Service Broker
gives you the ability to send messages between different SQL Server instances. Server
Broker is also used in several other features in SQL Server 2005. For example, you can
define Event Nonfictions in the database to send a message to a Queue in the database
when someone attempts to alter a table structure, of if there is a string of login failures.
5. DDL triggers

33
In previous articles, I outlined how you can use data definition language (DDL) triggers
in SQL Server 2005 to implement custom database and server auditing solutions for
Sarbanes-Oxley compliance (here are part one and part two of my SOX articles). DDL
triggers are defined at the server or database level and fire when DDL statements occur.
This gives you the ability to audit when new tables, stored procedures, or logins are
created.

6. Ranking functions
SQL Server 2005 provides you with the ability to rank result sets returned from the
database engine. This allows you to customize the manner in which result sets are
returned, such as creating customized paging functions for Web site data.

7. Row versioning-based isolation levels


This new database engine feature improves database read concurrency by reducing the
amount of locks being used in your database. There are two versions of this feature (both
of which must be enabled at the database level):
Read Committed Isolation Using Row Versioning is used at the individual statement
level, and guarantees that the data is consistent for the duration of the statement.
Snapshot Isolation is used at the transaction level, and guarantees that the data is
consistent for the duration of the transaction.
The database engine is able to guarantee the consistency through row versions stored in
the tempdb database.
8. XML integration
SQL Server 2005 introduces the new XML data-type. You can store full XML documents
in this new data-type, and you can place validations on the well-formed documents in the
database. Additional enhancements include the ability to query the XML documents and
create indexes on the XML data-type.

9. TRY...CATCH

34
In a previous article, I outlined how you can use the new TRY...CATCH constructs in
SQL Server 2005 to catch and handle deadlocks when they occur in the database. This
long-awaited feature simplifies error handling in the database.

10. Database Mail


Database Mail, the eventual successor to SQL Mail, is a greatly enhanced e-mail solution
available in the database engine. With Database Mail, there is no longer a dependency on
Microsoft Outlook or MAPI e-mail clients. Database Mail uses standard SMTP to send e-
mail messages. These messages may contain query results, attachments (which can be
governed by the DBA), and is fully cluster aware. In addition, the e-mail process runs
outside of the database engine space, which means that messages can continue to be
queued even when the database engine has stopped.

11. Recoveries
A new faster recovery option improves availability of SQL Server databases.
Administrators can reconnect to a recovering database after the transaction log has been
rolled forward.

12. Standards-based Information Access


Any object, data source, or business intelligence component can be exposed using
standards-based protocols such as SOAP and HTTP—eliminating the need for a middle-
tier listener, such as IIS, to access a Web services interface that is exposed by SQL Server
2005.

13. Security Enhancements


The security model in SQL Server 2005 separate users from objects, provides fine-grain
access, and enables greater control of data access. Additionally, all system tables are
implemented as views, providing more control over database system objects.

14. Web Services

35
With SQL Server 2005 developers can develop Web services in the database tier, making
SQL Server a hypertext transfer protocol (HTTP) listener and providing a new type of
data access capability for Web services-centric applications.

15. Data Mining


Microsoft SQL Server 2005 Analysis Services (SSAS) provides tools for data mining
with which you can identify rules and patterns in your data, so that you can determine
why things happen and predict what will happen in the future – giving you powerful
insight that will help your company make better business decisions.

16. T-SQL
T-SQL (Transact-SQL) is the primary means of programming and managing SQL Server.
It exposes keywords for the operations that can be performed on SQL Server, including
creating and altering database schemas, entering and editing data in the database as well
as monitoring and managing the server itself. Client applications, both which consume
data or manage the server, leverage SQL Server functionality by sending T-SQL queries
and statements which are then processed by the server and results (or errors) returned to
the client application. SQL Server allows it to be managed using T-SQL. For this it
exposes read only tables from which server statistics can be read. Management
functionality is exposed via system-defined stored procedures which can be invoked from
T-SQL queries to perform the management operation.

17. Replication Monitor


With its intuitive user interface and wealth of data metrics, Replication Monitor is a tool
that sets a new standard for ease of use in managing complex data replication operations.

18. Cross-Tier and Cross-Language Debugging


36
SQL Server 2005 and Visual Studio 2005 together provide even deeper integration in the
area of application debugging. The combination lets you seamlessly debug both CLR and
Transact-SQL code using the same Visual Studio debugging interface, and enables you to
debug from CLR to Transact-SQL and back again, regardless of the location of the code,
whether it is on the developer computer or stored in the SQL Server database.

37
4.3.4 Adobe Flash Media Server

Adobe® Flash® Media Server offers a combination of streaming media and social
interactivity for building rich media applications. Flash Media Server offers instant start,
live video streams, and variable streaming rates based on the
User’s bandwidth.
There are three editions of Flash Media Server:
Flash Media Interactive Server The full-featured edition of the server.
Flash Media Development Server A development version of Flash Media Interactive
Server. Supports all the same features but limits the number of connections.
Flash Media Streaming Server Supports the live and void streaming services only. This
server edition does not support server-side scripting or stream recording.
Overview
Client-server architecture
Flash Media Server is a hub. Applications connect to the hub using Real-Time Messaging
Protocol and the server can send data to and receive data from many connected users. A
user can capture live video or audio using a webcam or microphones attached to a
computer running Adobe Flash Player and publish it to a server that streams it to
thousands of users worldwide. Users worldwide can participate in an online game, with
all moves synchronized for all users.
Users connect to the server through a network connection.
An application that runs on Flash Media Server has client-server architecture. The client
application is developed in Adobe Flash or Adobe Flex and runs in Flash Player, AIR, or
Flash Lite 3. It can capture and display audio and
Video and handle user interaction. The client must initiate the connection to the server.
Once connected, the client can communicate with the server and with other clients. More
specifically, the client connects to an instance of the application running on the server.

38
Several clients connecting to multiple applications (Sudoku and scrabble) and application
instances (room 2, room 1, and room 2) running on Flash Media Server

Streaming services
All editions of Flash Media Server 3 provide two streaming services, live (live video) and
void (video on demand).
These services are implemented as server-side components of Flash Media Server
applications. Sample clients for both services are installed with the server.
The live and void services are signed (approved) by Adobe. Flash Media Streaming
Server only supports signed services—it cannot run other applications. Flash Media
Interactive Server and Flash Media Development Server support signed services as well
as any other applications you create.

39
Developing media applications
Video applications for Adobe® Flash® Media Interactive Server can be video on demand
or live video applications.
Video on demand applications stream recorded video from the server, such as television
shows, commercials or user-created video stored on the server. An organization may have
a large archive of videos or be producing new
Videos regularly. The videos can be short clips (0–30 seconds), long clips (30 seconds to
5 minutes), or very long clips (5 minutes to hours long).
Live video applications stream live video from the server to users, or from one user to the
server and then on to other users. Live video is typically used for live events, such as
corporate meetings, education, sports events, and concerts,
Or delivered continually, for example, by a television or radio station. You can use Adobe
Flash Media Encoder, available from Adobe.com, to encode and stream live video.

Many streams can use one Net Connection object between client and server.
A. Flash Media Server B. Single stream of data C. Net Connection D. Flash Player, AIR,
or Flash Lite 3 client

The application URI


40
Flash Player is connected to the server over RTMP. The URI to the application can be
absolute or relative and has the following syntax (items in brackets are optional):

The only parts of the URI that are required are the protocol and the application name.

Protocol:[//host][:port]/appname/[instanceName]
The protocol used to connect to Adobe Flash Media Server, which is the Adobe Real-
Time Messaging Protocol. Possible values are rtmp, rtmpe, rtmps, rtmpt, and rtmpte.
If the protocol is rtmp, the default port is 1935 and you don’t need to specify the port
number.
Recorded streams
Playing recorded streams
One of the most popular uses of Adobe Flash Media Server is to stream recorded audio
and video files that are stored on the server to many clients.
To play a recorded stream, pass a URI to NetStream.play () to locate the recorded file.

Capturing video snapshots

41
This feature enables you to get a thumbnail snapshot of a given video, including sound,
for display purposes.
Flash Player clients are permitted to access data from streams in the directories specified
by the Client.audioSampleAccess and Client.videoSampleAccess properties.

Action Script 3.0 native bandwidth detection


The client should initiate bandwidth detection after successfully connecting to the server.
To start bandwidth detection, call NetConnection.call(), passing it the special command
checkBandwidth. No server-side code is needed.

A. Client B. Server

Checking video files before playing


Use the FLVCheck tool to check a recorded video file for errors before playing it. Errors
in the video file might prevent it from playing correctly.

42
Handling errors

About error handling


As we build video applications, it is important to learn the art of managing connections
and streams. In a networked environment, a connection attempt might fail for any of
these reasons:
• Any section of the network between client and server might be down.
• The URI to which the client attempts to connect is incorrect.
• The application instance does not exist on the server.
• The server is down or busy.
• The maximum number of clients or maximum bandwidth threshold may have been
exceeded.
If a connection is established successfully, you can then create a Net Stream object and
stream video. However, the stream might encounter problems. You might need to monitor
the current frame rate, watch for buffer empty
Messages, down sample video and seek to the point of failure, or handle a stream that is
not found.
To be resilient, our application needs to listen for and handle net Status events that affect
connections and streams.
Playlists
About playlists
A playlist is a list of streams to play in a sequence. The server handles the list of streams
as a continuous stream and provides buffering, so that the viewer experiences no
interruption when the stream changes.
Buffering streams dynamically

43
About buffering streams
Buffering a video stream helps ensure that the video plays smoothly, without interruption.
Buffering manages fluctuations in bandwidth while a video is playing. These fluctuations
can occur due to changes in a network connection or server load, or to additional work
being done on the client computer.
To create the best experience for users, monitor the progress of a video and manage
buffering as the video
Downloads.
Developing live video applications
Adobe Flash Media Server clients can capture live audio and video from a microphone or
camera and share the live content with other clients. This feature allows you to capture
live events in real time and stream them to a large
Audience or create live audio and video conferences. You can use Flash Media Encoder
to capture and stream live video to Flash Media Server.

44
4.4 Hardware and Software Requirements

4.4.1 Hardware Requirements


• Pentium 4 processor
• Minimum 256MB memory
• 10GB Hard disk
• Modem/ Network card/Routers

4.4.2 Software Requirements


• Microsoft Windows XP Professional, Version 2002 or above
• FLEX
• C# with ASP.NET 2.0
• SQL server 2000/2005

45
CHAPTER 5

SYSTEM DESIGN

46
5. System Design
5.1 Introduction
Systems design is the process or art of defining the architecture, components,
modules, interfaces, and data for a system to satisfy specified requirements. Once the
software requirements are analyzed and specified, the software design involves three
technical activities-- design, code generation and testing that are required to build and
verify the software. The design activities are of main importance in this phase because in
this activity decisions ultimately affecting the success of the software implementation and
its ease of maintenance are made. These decisions have the final bearing upon the
reliability and maintainability of the system. Design is the only way to accurately transfer
the customer requirements into a finished software or system.

5.2 UML Diagrams

UML, the Unified Modeling Language, is a visual language for specifying, constructing,
and documenting the artifacts of systems. UML can be used with all processes,
throughout the development lifecycle, and across different implementation technologies.
UML diagrams represent three different views of a system model:

Functional requirements view:

It emphasizes the functional requirements of the system from the user's point of view.
This includes use case diagrams.

Static structural view:

It emphasizes the static structure of the system using objects, attributes, operations, and
relationships. This includes class diagrams.

47
Dynamic behavior view:

It emphasizes the dynamic behavior of the system by showing collaborations among


objects and changes to the internal states of objects. This Includes sequence diagrams,
activity diagrams.

5.2.1 Use Case Diagrams

Use case diagrams overview the usage requirements for a system. They describe "the
meat" of the actual requirements.

5.2.1.1 Elements of a Use Case Diagram and their Notation

Use cases

A use case describes a sequence of actions that provide something of measurable value to
an actor and is drawn as a horizontal ellipse.

Watch

Fig 5.1 Sample use case

Actors

An actor is a person, organization, or external system that plays a role in one or more
interactions with your system. Actors are drawn as stick figures.

Fig 5.2 Actor

48
Relationships

A relationship between two use cases is basically a dependency between the two use
cases. Use case relationships can be one of the following:

• Include:

When a use case is depicted as using the functionality of another use case in a
diagram, this relationship between the use cases is named as an include relationship.

Fig 5.3 Include relationship between use cases

• Extend:

In an extend relationship between two use cases, the child use case adds to the
existing functionality and characteristics of the parent use case.

Fig 5.4 Extend relationship between use cases

49
• Generalization:

A generalization relationship is also a parent-child relationship between use cases.


The child use case in the generalization relationship has the underlying business
process meaning, but is an enhancement of the parent use case.

UseCas e1 UseCase2

Fig 5.5 Generalization relationship between use cases

50
Use Case Diagram:

<<include>>

Select course
<<include>>

Student Register
<<include>>
Pay Fee

Login

Create Tutorials/Quiz

<<include>>

View Tutorials/Quiz Registered Course


Faculty

Database

Feedback

<<extend>>

Registered Student Registered Course

<<include>>
<<include>> 51

Admin Verify/Assign Uname-pwd


<<include>>

Select course
<<include>>

Student Register
<<include>>
Pay Fee

Login

Create Tutorials/Quiz

<<include>>

View Tutorials/Quiz Registered Course


Faculty

Database

Feedback

<<extend>>

Registered Student Registered Course

<<include>>
<<include>>

Admin Verify/Assign Uname-pwd

Course Data

5.2.2 Class Diagram


52
The purpose of the class diagram is to show the types being modeled within the system. A
class diagram is a pictorial representation of the detailed system designs.

5.2.2.1 Elements of a Class Diagram and their Notation

Class:

A class represents an entity of a given system that provides an encapsulated


implementation of certain functionality of a given entity. The class to others as methods
exposes these. The properties of a class are called attributes. A class is represented by a
rectangle. The following diagram shows a typical class in a class diagram:

Fig 5.10 Representation of a sample class

Relationships

Association:

When two classes are connected to each other in any way, an association relation is
established.

Fig 5.11 Association relationship between classes

Inheritance/Generalization:

53
Also called an "is a" relationship, because the child class is a type of the parent class.
Generalization is the basic type of relationship used to define reusable elements in the
class diagram.

Fig 5.12 Generalization relationship between classes

54
Class Diagram:

Database1
Student1 Student_details : String
Faculty_details : String
Student_name : String
Student_login : String
Course_selected : String
Faculty_login : String
Course_name : String
Register()
Fee_details : Integer
Login()
Tutorials_info : String
View Tutorials/Quiz()
Quiz_info : String
Feedback()
Feedback_info : String
Course_data_info : String

1..*
Faculty1
Faculty_name : String Tutorials/Quiz
1..* Course_name : String
Register() Tutorial_info : String
Login() Quiz_info : String
Create Tutorials/Quiz()
View Tutorials/Quiz()

Administrator

Verify_user_details()
Assign_uname/pwd()
Store_course_data()
Store_fee_details()

55
Sequence Diagram

5.2.3 Sequence Diagram

A Sequence diagram depicts the sequence of actions that occur in a system. The
invocation of methods in each object, and the order in which the invocation occurs is
captured in a Sequence diagram. This makes the Sequence diagram a very useful tool to
easily represent the dynamic behavior of a system.

5.2.3.1 Elements of a Sequence Diagram and their Notation

Object: The primary element involved in a sequence diagram is an Object—an instance


of a class. An object is represented by a named rectangle. The name to the left of the ":" is
the object name and to its right is the class name.

Fig 5.14 Object in a sequence diagram

Message: The interaction between different objects in a sequence diagram is


represented as messages. A directed arrow denotes a message. Depending on the type of
message, the notation differs. In a Sequence diagram, you can represent simple messages,
special messages to create or destroy objects, and message responses.

Fig 5.15 Messages in a sequence Diagram

56
Sequence Diagram for REGISTER Use Case:

:Student :Faculty :Register :Database

1: Provide_Stud_details()

2: Error msg() 3: Store(student details)

4: Ack/Error()

5: Msg thru email()

6: Provide_faculty_details()

7: Error msg()
8: Store(faculty details)

9: Ack/Error()

10: msg thru email()

57
Sequence Diagram for LOGIN Use Case:

:Student :Faculty Login :Database

1: Uname/pwd(stud)

2: Validate(stud)

3: Ack()

4: Display()

5: Uname/pwd(faculty)

6: Validate(Faculty)

7: Ack()

8: Display()

58
Sequence Diagram for Create/View Tutorials Quiz:

:Faculty :Tutorials/Quiz :Database

1: Create Tutorials/Quiz()
2: Store()

3: Ack()
4: View Tutorials/Quiz()

5: Display()

59
Sequence Diagram for View/Feedback Tutorials/Quiz:

:Student :Tutorials/Quiz :Database

1: View Tutorials/Quiz()

2: Display()

3: Send Feedback()

60
Sequence Diagram for Verify/Assign Username/Password:

:Admin :Verify/Assign :Database


uname_pwd
1: Select Student/Faculty()
2: Extract details()

4: Display() 3: Ack()

5: Assign uname/pwd
6: Store()

7: Ack()

8: Dispaly()

61
Sequence Diagram for Course Data:

:Admin :Course Data :Database

1: Post Course()

2: Store(course data)

3: Ack()

4: Dispaly()

62
Activity Diagram
5.2.4 Activity Diagram

Activity diagrams are typically used for business process modelling, for modelling the
logic captured by a single use case or usage scenario, or for modelling the detailed logic
of a business rule.

Elements of an Activity Diagram and their Notation

1.1Initial node
The filled in circle is the starting point of the diagram. An initial node isn’t required
although it does make it significantly easier to read the diagram.

Fig 5.19 Initial node in an activity diagram

1.2 Activity final node


The filled circle with a border is the ending point. An activity diagram can have zero or
more activity final nodes.

Fig 5.20 Final node in an activity diagram

Activity
The rounded rectangles represent activities that occur. An activity may be physical, such
as Inspect Forms, or electronic, such as Display Create Student Screen.

Fig 5.21 Activity

63
Flow/edge
Arrows on the diagram denote them.

Decision
A diamond with one flow entering and several leaving denotes it. The flows leaving
include conditions although some modellers will not indicate the conditions if it is
obvious.

Fig 5.22 Decision

64
Activity Diagram

Student Faculty Admin Database

Start

Register register Login

LOGIN

login Verify/Assign Course Data


uname_pwd

Create View
Tutorials/Quiz Tutorials/Quiz Store
View Feedback
Tutorials/Quiz

STORE

store Database

LogOut logout
Logout

Stop

65
Architecture Diagram

66
5.3 Database Tables Used for The Design

Database tables are used to organize and group the data by common characteristics or
principles. The database can contain as many tables as needed to organize the data.
Database tables involved in this project for storing and retrieving the data/information are
as following

Course Table

This table is the place where course details are stored.

67
Faculty Table

This table is the place where faculty details are stored.

Quiz Table

This table is the place where quiz details and results are stored.

68
Rating Table

This table is the place where course ratings are stored.

Student Details Table

This table is the place where student’s details are stored.

69
Tutorial Details

This table is the place where tutorials are updated/deleted/stored.

Student Details

This is how student details are stored in the database.

Faculty Details

This is how faculty details are stored in the database.

70
Course Details

This is how course details are stored in the database and are displayed.

Rating Details

This is how rating details are stored in the database and are displayed.

Tutorial Details

This is how tutorial details along with course id, tutorial id and quiz are stored in the
database and are displayed.

71
CHAPTER 6

TESTING

72
6. Testing
In general, testing is finding out how well something works. In terms of human beings,
testing tells what level of knowledge or skill has been acquired. In computer hardware
and software development, testing is used at key checkpoints in the overall process to
determine whether objectives are being met. For example, in software development,
product objectives are sometimes tested by product user representatives. When the design
is complete, coding follows and the finished code is then tested at the unit or module
level by each programmer; at the component level by the group of programmers
involved; and at the system level when all components are combined together. At early or
late stages, a product or service may also be tested for usability.

Software Testing Types:

6.1 Black box testing


Internal system design is not considered in this type of testing. Tests are based on
requirements and functionality.

6.2 White box testing


This testing is based on knowledge of the internal logic of an application’s code. Also
known as Glass box Testing. Internal software and code working should be known for
this type of testing. Tests are based on coverage of code statements, branches, paths,
conditions.

6.3 Security testing


Can system be penetrated by any hacking way? Testing how well the system protects
against unauthorized internal or external access. Checked if system, database is safe from
external attacks.

73
CHAPTER 7

IMPLEMENTATION

74
7. Implementation
"It demonstrates our determination to offer the services electronically in the way that can
offer genuine benefit to the students.”

All the front end pages are created using Flex. The users can access the application only
after successful login. To login the user must register him for authentication. After
authentication the user will be provided with a valid login and password. The user can
either be a student or a faculty. Only the authorised users can access the content provided.
After successful login, the user will be directed to the ‘home page’. At the time of login
his category i.e. whether he is a student or faculty or admin is stored and this category
acts as a criteria in enabling different services to different classes of users.

To get registered if it is a faculty he must provide his name, interested course, course id,
contact details, qualification. After filling these details in the registration form the details
are submitted to the database. Where the Administrator verifies the details and if they are
appropriate then the faculty will be provided with a user id and password. Using which he
can login and then can upload/delete/create/name the tutorials and quiz. Faculty also has
search option. To get registered if it is a student he must provide his name, interested
course, course id, contact details, qualification, dd no., dd date and amount. After filling
these details in the registration form the details are submitted to the database. Where the
Administrator verifies the details and if they are appropriate then the faculty will be
provided with a user id and password. Using which he can login and then can learn
tutorials, answer quiz and search. Here, constraint checking is made on certain fields to
ensure that the data he is entering is valid and meaningful. The data entered by the
faculty/student is stored in the database using SQL server after proper verification.

All the information to be provided to the users is stored in the database. When the users
request for a particular service, the database is queried to obtain the required information
and retrieved data is presented to the user.

75
CHAPTER 8

SCREEN SHOTS
AND
WEB SNAPS

76
8. Screen Shots

1. Login Screen

If the user is an authorized user he can directly give his login id and password. If he is
new user and he is a faculty he has to click Faculty Registration to navigate the page.
If he is a student he has to click Student Registration to become authorized users.

8.1 The login page where the user needs to enter his user id and password

77
2. Faculty Registration Screen

8.2The page where faculty enters his details for registration

78
3. Student Registration Screen

8.3The page where student enters his details for registration

79
4. Home Page Screen

8.4After login the user (faculty/student) will be guided to this page.

80
5. Tutorials Screen

8.5If the user is a student he can just click the tutorial and can access it.

If the user is a faculty he must update the tutorials and quiz on this page.

81
6. Audio/Video Tutorials

8.6If the tutorial is an audio/video tutorial it will be displayed as shown above.

82
7. Search

8.7This is the page where user can search

83
8. Feed Back Screen

8.8 Page where students rate the tutorials

84
8. Web Snaps

1. to Assign User Id Data

85
2. Feed Back

86
3. Student Registration Details

87
4. Tutorial detail

88
5. Flex Based Multi Media Details

89
CHAPTER 9

PROGRAMMING CODE

90
9. Programming Code

[WebMethod(BufferResponse = true)]
public String tutorialdetail(string courseid)
{
if (courseid!="")
{
//return "test";
SqlConnection dbConnection = new SqlConnection("Data
Source=gs-047; Initial Catalog=fbmm; User ID=sa");
string curl = "<detail>";

try
{
dbConnection.Open();
//SqlCommand retrieve = new SqlCommand("select
tutorialname,duration,type from tutorial where courseid = '" + courseid
+ "'", dbConnection);
SqlDataAdapter ObjCommand = new SqlDataAdapter("select
tutorialname,duration,type from tutorial where courseid = '" + courseid
+ "'", dbConnection);
DataSet DS = new DataSet();
ObjCommand.Fill(DS);
int i = DS.Tables[0].Rows.Count;
int j = 0;
while (j < i)
{
curl += "<tutorialdetail><tutorialname>" +
DS.Tables[0].Rows[j][0].ToString() + "</tutorialname><tutorialtype>";
curl += DS.Tables[0].Rows[j][2].ToString() +
"</tutorialtype><duration>";
curl += DS.Tables[0].Rows[j][1].ToString() +
"</duration></tutorialdetail>";
j++;
}
curl += "</detail>&";
curl += "<qdetail>";

SqlDataAdapter quizcommand = new SqlDataAdapter("select


courseid,tutorialid from quizquestions where courseid = '" + courseid +
"'", dbConnection);
DataSet DS1 = new DataSet();
quizcommand.Fill(DS1);
int g = DS1.Tables[0].Rows.Count;
int h = 0;
while (h < g)
{
curl += "<quizdetail><qname>" +
DS1.Tables[0].Rows[h][0].ToString() + "</qname><tutorialid>";
curl += DS1.Tables[0].Rows[h][1].ToString() +
"</tutorialid></quizdetail>";
h++;
}
//no of questions

91
curl += "</qdetail>";
//curl += "</detail>";

return curl;
}
catch (Exception ex)
{
return ex.Message;
}
}
return "test22";

}
[WebMethod(BufferResponse = true)]
public String facultyregistration(string firstname, string initial,
string surname, string gender, string dateofbirth, string
dateofjoining, string courseid, string qualification, string
experience, string housenumber,string address, string email, string
mobile, string landline, string skillset)
{
DateTime dob = DateTime.Parse(dateofbirth);
string strdob = dob.ToShortDateString().ToString();

DateTime doj = DateTime.Parse(dateofjoining);


string strdoj = doj.ToShortDateString().ToString();

//DateTime doj = DateTime.Parse(str);

//string str = DateTime.Now.ToShortDateString().ToString();


//return " "+doj;
int e = int.Parse(experience);

try
{
SqlConnection dbConnection = new SqlConnection("Data
Source=gs-047; Initial Catalog=fbmm; User ID=sa");
SqlCommand cmd = new SqlCommand("Insert into
faculty_register
(firstname,initial,surname,gender,dateofbirth,dateofjoining,courseid,qu
alification,experience,housenumber,address,email,mobile,landline,skills
et) values('" + firstname + "','" + initial + "','" + surname + "','" +
gender + "','" + strdob + "','" + strdoj + "','" + courseid + "','" +
qualification + "','" + e + "','" + housenumber +"','" + address + "','"
+ email + "','" + mobile + "','" + landline + "','" + skillset + "')",
dbConnection);
dbConnection.Open();
int i = cmd.ExecuteNonQuery();
dbConnection.Close();
if (i == 1)
{
return "Username and Password will be sent through
email after verification";
}
else
{

92
return "Already Registered";
}
}
catch (Exception ex)
{
return "Already Registered";

}
}

[WebMethod(BufferResponse = true)]
public String quizresult(string qname, string tid, string answers)
{

SqlConnection dbConnection = new SqlConnection("Data Source=gs-


047; Initial Catalog=fbmm; User ID=sa");
string str;

string[] res;
char[] delimiterChars = {'&'};
string[] words;

int count = 0;
try
{
words = answers.Split(delimiterChars);

str = "<answer>";

SqlDataAdapter cmd = new SqlDataAdapter("Select Answer from


QuizQuestions where courseid = '" + qname + "' and tutorialid='" + tid
+ "'", dbConnection);
dbConnection.Open();

DataSet ds = new DataSet();


cmd.Fill(ds);

int i = ds.Tables[0].Rows.Count;

res = new string[i];

int j = 0;
while (j < i)
{
res[j] = ds.Tables[0].Rows[j][0].ToString();
//str += res[j];
j++;
}

for (j = 0; j < i; j++)


{
if (res[j] == words[j])
{
count++;

93
}

[WebMethod(BufferResponse = true)]
public String AssignUserIdData(string designation)
{

try
{
string str;
str = designation;
str = "<new1>";
SqlConnection dbConnection = new SqlConnection("Data
Source=gs-047; Initial Catalog=fbmm; User ID=sa");
//DateTime stdate = DateTime.Parse(startdate);
//DateTime endate = DateTime.Parse(enddate);
//return str;
if (designation == "student")
{
//return "in if";
SqlCommand cmd = new SqlCommand("Select * from
student_register where username IS NULL", dbConnection);
dbConnection.Open();
SqlDataReader rdr = cmd.ExecuteReader(); ;

//return rdr.GetValue(1).ToString();
while (rdr.Read())
{
str += "<detail><firstname>" +
rdr.GetValue(1).ToString() + "</firstname>";
str += "<initial>" + rdr.GetValue(2).ToString() +
"</initial>";
str += "<surname>" + rdr.GetValue(3).ToString() +
"</surname>";
str += "<coursename>" + rdr.GetValue(7).ToString()
+ "</coursename>";
str += "<qualification>" +
rdr.GetValue(8).ToString() + "</qualification>";
str += "<email>" + rdr.GetValue(11).ToString() +
"</email>";
str += "<ddno>" + rdr.GetValue(14).ToString() +
"</ddno>";
str += "<ddamount>" + rdr.GetValue(16).ToString() +
"</ddamount>";
str += "<username>" + rdr.GetValue(17).ToString() +
"</username></detail>";
}
str += "</new1>";
dbConnection.Close();

}
if(designation=="faculty")
{
SqlCommand cmd = new SqlCommand("Select * from
faculty_register where username IS NULL", dbConnection);
dbConnection.Open();
SqlDataReader rdr = cmd.ExecuteReader(); ;

94
//return rdr.GetValue(1).ToString();
while (rdr.Read())
{
str += "<detail><firstname>" +
rdr.GetValue(1).ToString() + "</firstname>";
str += "<initial>" + rdr.GetValue(2).ToString() +
"</initial>";
str += "<surname>" + rdr.GetValue(3).ToString() +
"</surname>";
str += "<coursename>" + rdr.GetValue(9).ToString()
+ "</coursename>";
str += "<qualification>" +
rdr.GetValue(8).ToString() + "</qualification>";
str += "<email>" + rdr.GetValue(12).ToString() +
"</email>";
str += "<ddno>" + rdr.GetValue(15).ToString() +
"</ddno>";
str += "<ddamount>" + rdr.GetValue(6).ToString() +
"</ddamount>";
str += "<username>" + rdr.GetValue(16).ToString() +
"</username></detail>";
}
str += "</new1>";
dbConnection.Close();

}
return str;
}

catch (Exception ex)


{
//string str = ex.Message;
return " Error";
}

[WebMethod(BufferResponse = true)]
public string feedback(string cid, string tname, string feed)
{
try
{
SqlConnection con = new SqlConnection("Data Source=gs-047;
Initial Catalog= fbmm; Integrated Security = true; User ID=SA");
SqlCommand cmd = new SqlCommand("Select tutorialid from
tutorial where (tutorialname = '" + tname + "') and (courseid = '" +
cid + "')", con);
con.Open();

string tutoid = cmd.ExecuteScalar().ToString(); //This


tutorialid
int inttutoid = Convert.ToInt32(tutoid); //Converting
string of tutorialid to int
if (feed == "excellent")

95
cmd = new SqlCommand("Update TutorialRating set
excellent = (excellent+1) where (courseid = '" + cid + "') and
(tutorialid = '" + inttutoid + "')", con);
if (feed == "good")
cmd = new SqlCommand("Update TutorialRating set good =
(good+1) where (courseid = '" + cid + "') and (tutorialid = '" +
inttutoid + "')", con);
if (feed == "average")
cmd = new SqlCommand("Update TutorialRating set average
= (average+1) where (courseid = '" + cid + "') and (tutorialid = '" +
inttutoid + "')", con);
if (feed == "improve")
cmd = new SqlCommand("Update TutorialRating set improve
= (improve+1) where (courseid = '" + cid + "') and (tutorialid = '" +
inttutoid + "')", con);
cmd.ExecuteNonQuery();
con.Close();
return "Thanks";
}
catch (Exception ex)
{

return ex.Message;
}
}

96
CHAPTER 10

CONCLUSION
AND
FURTHER ENHANCEMENTS

97
10. Conclusion and Further Enhancements

Conclusion

• Scope of project is high.


• This project has more scope in future & it can be integrated in other institutions,
repository for storing the data in date bases as in central.

Further Enhancements

• Students can search for the desired tutorials by units, channels & videos.

• Students to learn effectively and efficiently.

• Students located at remote areas will be able to access the tutorials and can
enhance their skills at their own time.

98
CHAPTER 11

REFERENCES

99
11. References

• SQL SERVER 2005 by Microsoft Press

• SOFTWARE ENGINEERING by Roger.S.Pressman

• Mastering C#.NET by Microsoft Press C# Complete Reference

• Programming ASP.NET 2.0 Wrox Publication

MSDN 2003 by Microsoft Web References.

100
CHAPTER 12

APPENDIX

101
12. Appendix

Definitions of the quality characteristics follow.


• Correctness - extent to which program satisfies specifications, fulfills user’s
mission objectives
• Efficiency - amount of computing resources and code required to perform
function
• Flexibility - effort needed to modify operational program
• Integrity/Security - factors that protect the software from accidental or
malicious access, use, modification, destruction, or disclosure
• Interoperability - effort needed to couple one system with another
• Maintainability - ease of maintenance of the software itself
• Portability - ease of porting the software to another host
• Reliability - factors required to establish the required reliability of the
system
• Reusability - extent to which it can be reused in another application
• Testability - effort needed to test to ensure performs as intended
• Usability - effort required to learn, operate, prepare input, interpret output
• Availability - factors required to guarantee a defined availability level for
the system

102

You might also like