shivani goswamy
Transcript of shivani goswamy
-
8/8/2019 shivani goswamy
1/49
Mid Term Report
On
Institute Management System
Under six months Industrial Training after 7th semester
From
Webcom Technologies, USA
Under the guidance of
Mr. Gurmukh Singh
(Training Coordinator and Industrial Supervisor)
To be
Submitted in partial fulfillment of the Bachelors of Technology
In
Computer Science and Engineering
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
SANT BABA BHAG SINGH INSTITUTE OF ENGINEERING & TECHNOLOGY
VILL. KHIALA, P.O. PADHIANA, DISTT JALANDHAR (PUNJAB)
-
8/8/2019 shivani goswamy
2/49
Department of Computer Science and Engineering
Sant Baba Bhag Singh Institute of Engineering and Technology, Jalandhar
1. Name of Student : Shivani Goswami
2. PTU registration No cum Roll No : 685034248
3. Present Official Address with E-mail : Webcom Technologies, USA
SCO 114-115, Sec-34 A, level 3,
Chandigarh
www.webcomtechnologiesusa.com
4. Telephone No : 9464519225
5. Branch : CSE
6. Session : 2006-10
7. Name of Company : Webcom Technologies
8. Proposed Project Topic : Institute Management System
9. Name of Department/College : CSE/ SBBSIET, jalandhar)
-
8/8/2019 shivani goswamy
3/49
TABLE OF CONTENTS
S.NO DESCRIPTION PAGE NO.
1. Introduction to the company 1-3
2. Overview o f the Technology used in the p ro jec t 4-12
3. Overview of the ADO.NET 13-15
4. Overview of Microsoft SQL Server 2000 16-17
5. Overview of the ASP.NET 18-31
6. Brief introduction to the project 32-33
7. Objectives of the project 34-36
8. Date Structure of the project 37-43
9 Overview of data flow diagrams 44-46
10. Overview to the stored Procedures 47-48
11. Benefits of the dynamic link libraries 4912. Benefits of the proposed system 50
Introduction to the Company
Webcom Technologies in association with IICE TECHNOLOGIES LTD.
provides consult ing and IT services to clients globally - as par tners to
conceptualize and realize technology driven business transformation initiatives.
-
8/8/2019 shivani goswamy
4/49
With over 500 employees worldwide, we use a low-risk Global Delivery Model
(GDM) to accelerate schedules with a high degree of time and cost predictability.
We provide solutions for a dynamic environment where business and technology
strategies converge. Our approach focuses on new ways of business combining IT
innovation and adoption while also leveraging an organization's current IT assets.
We work with large global corporations and new generat ion technology
companies - to build new products or services and to implement prudent business
and technology strategies in today's dynamic digital environment.
Webcom Technologies launched in 1999, to impart quality Software Development
& Consulting in the field of ERP, Embedded Systems, ERP, .NET Technology,
Java Technologies, Software Quality Testing, and Other Software Technologies to
young aspirants globally and also providing Internet solutions to corporate. The
company also undertakes corporate training programs for the Corporate sector at
large, giving modular courses in ERP, Emerging and Embedded Technologies, C#
and Dot Net Technology. In a short span, the company has an impressive list of
clients globally. Webcom Technologies, USA provides continuous technical
support to all its business partners and franchisees.
Product Engineering Services
Product engineering services from Webcom technologies focus on accelerating the
product development and product management life cycles for our clients. We
work with companies primarily in engineering and hi-tech industries.
Successful strategies in the race for product leadership focus on technology
innovation to engineer new products and services. Webcom Technologies
provides a wide spectrum of services for these product companies, based on a
combination of business consulting, product design, and IT skills.
-
8/8/2019 shivani goswamy
5/49
Multiple skills and competencies combine to realize technology-driven business
transformation. As organizations constantly strive to iterate their business and IT
strategies, Webcom's well-honed capabilities and methodologies for IT services
complement our business consulting services to define, optimize and align our
clients' business strategy with technology initiatives.
Our services address specific needs of enterprise IT programs, or communications
and Internet technology product development, and also engineering product
design and data management. Clients benefit from seamless coordination across
strategy, implementation, and management of their technology programs; and
from our expert ise in focused industr ies, s trong quality orientation, cross-
technology expertise, and distributed project management capabilities.
Services offered
ERP Consulting
Embedded Systems
Real Time Systems
Industry Specific Group Ware
Network Managements Systems
Customised Software Development
Manpower and Outsourcing Contracts
Turn key Solutions for Incorporation and Management of IT Companies
Websites and Portals
Intranet and Extranet
Content Management
Web Based Application
WWW Marketing and Strategies.
Multimedia Development
Graphic Design and Animation
-
8/8/2019 shivani goswamy
6/49
The Company's development services consist primarily of customized software
development, In each of its projects Webcom provides full life-cycle, software
development consisting of problem definition, system design, implementation and
testing, delivery and post sales support and assume full project management
responsibility. The projects very in size and typically enhancements to existing
applications. Some of the major development reads, which the company typically
executes, are :
Industry specific Groupware
Network Management systems
Real Time Systems
Web based applications
Intranets & Extranets
Disaster Recovery processes
Turn Key Solutions for setting up of Solutions Based Organizations
Manpower Contracting and Outsourcing of Application
Microsoft .NET overview
The .NET Framework is an integral Windows component that supports building and running the
next generation of applications and XML Web services. The key components of the .NET
Framework are the common language runtime and the .NET Framework class library, which
-
8/8/2019 shivani goswamy
7/49
includes ADO.NET, ASP.NET, and Windows Forms. The .NET Framework provides a managed
execution environment, simplified development and deployment, and integration with a wide
variety of programming languages.
Fig: .NET Framework in Context
-
8/8/2019 shivani goswamy
8/49
Overview of .net framework
The .NET Framework is a new computing platform that simplifies application development in the
highly distributed environment of the Internet.
The .NET Framework is designed to fulfill the following objectives:
To provide a consistent object-oriented programming environment whether object code is
stored and executed locally, executed locally but Internet-distributed, or executed
remotely.
To provide a code-execution environment that minimizes software deployment and
versioning conflicts.
To provide a code-execution environment that guarantees safe execution of code,
including code created by an unknown or semi-trusted third party.
To provide a code-execution environment that eliminates the performance problems of
scripted or interpreted environments.
To make the developer experience consistent across widely varying types of applications,
such as Windows-based applications and Web-based applications.
To build all communication on industry standards to ensure that code based on the .NETFramework can integrate with any other code
The .NET Framework has two main components:
1. The Common language runtime.
2. The .NET Framework class library.
Common Language Runtime: CLR is the foundation of the .NET Framework. You can think of
the runtime as an agent that manages code at execution time, providing core services such as
memory management, thread management, and remoting, while also enforcing strict type safety
and other forms of code accuracy that ensure security and robustness. In fact, the concept of code
management is a fundamental principle of the runtime. Code that targets the runtime is known as
managed code, while code that does not target the runtime is known as unmanaged code. The
-
8/8/2019 shivani goswamy
9/49
class library, the other main component of the .NET Framework, is a comprehensive, object-
oriented collection of reusable types that you can use to develop applications ranging from
traditional command-line or graphical user interface (GUI) applications to applications based on
the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.
The .NET Framework can be hosted by unmanaged components that load the common
language runtime into their processes and initiate the execution of managed code, thereby
creating a software environment that can exploit both managed and unmanaged features. The
.NET Framework not only provides several runtime hosts, but also supports the development of
third-party runtime hosts.
The .NET Framework Library: The .NET Framework class library is a collection of reusable
types that tightly integrate with the common language runtime. The class library is Object-
Oriented, providing types from which your own managed code can derive functionality. This not
only makes the .NET Framework types easy to use, but also reduces the time associated with
learning new features of the .NET Framework. In addition, third-party components can integrate
seamlessly with classes in the .NET Framework.
For example, the .NET Framework collection classes implement a set of interfaces that you can
use to develop your own collection classes. Your collection classes will blend seamlessly with the
classes in the .NET Framework.
As you would expect from an object-oriented class library, the .NET Framework types enable
you to accomplish a range of common programming tasks, including tasks such as string
management, data collection, database connectivity, and file access. In addition to these common
tasks, the class library includes types that support a variety of specialized development scenarios.
For example, you can use the .NET Framework to develop the following types of applications
and services:
a) Console applications.
b) Windows GUI applications (Windows Forms).
c) ASP.NET applications.
d) XML Web services.
e) Windows services.
-
8/8/2019 shivani goswamy
10/49
Client Applications
Client applications are the closest to a traditional style of application in Windows-based
programming. These are the types of applications that display windows or forms on the desktop,
enabling a user to perform a task. Client applications include applications such as word
processors and spreadsheets, as well as custom business applications such as data-entry tools,
reporting tools, and so on. Client applications usually employ windows, menus, buttons, and
other GUI elements, and they likely access local resources such as the file system and peripherals
such as printers.
Another kind of client application is the traditional ActiveX control (now replaced by the
managed Windows Forms control) deployed over the Internet as a Web page. This application is
much like other client applications: it is executed natively, has access to local resources, and
includes graphical elements.
In the past, developers created such applications using C/C++ in conjunction with the Microsoft
Foundation Classes (MFC) or with a rapid application development (RAD) environment such as
Microsoft Visual Basic. The .NET Framework incorporates aspects of these existing products
into a single, consistent development environment that drastically simplifies the development of
client applications.
The Windows Forms classes contained in the .NET Framework are designed to be used for GUI
development. You can easily create command windows, buttons, menus, toolbars, and other
screen elements with the flexibility necessary to accommodate shifting business needs.
For example, the .NET Framework provides simple properties to adjust visual attributes
associated with forms. In some cases, the underlying operating system does not support changing
these attributes directly, and in these cases, the .NET Framework automatically recreates the
forms. This is one of many ways in which the .NET Framework integrates the developer
interface, making coding simpler and more consistent.
Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a user's computer.
This means that binary or natively executing code can access some of the resources on the user's
system (such as GUI elements and limited file access) without being able to access or
compromise other resources.
-
8/8/2019 shivani goswamy
11/49
.NET Assembly
In the Microsoft .NET framework, an assembly is a partially compiled code library for use in
deployment, versioning and security. There are two types: process assemblies (EXE) and library
assemblies (DLL). A process assembly represents a process which will use classes defined in
library assemblies. .NET assemblies contain code in CIL, which is usually generated from a CLI
language, and then compiled into machine language at runtime by the CLR just-in-time compiler.
An assembly can consist of one or more files. Code files are called modules. An assembly can
contain more than one code module and since it is possible to use different languages to create
code modules it is technically possible to use several different languages to create an assembly.
Visual Studio however does not support using different languages in one assembly.
Assembly names
The name of an assembly consists of 4 parts:
1. The short name. On Windows this is the name of the Portable Executable file without
the extension.
2. The culture. This is an RFC 1766 identifier of the locale for the assembly. In general,
library and process assemblies should be culture neutral; the culture should only be used
for satellite assemblies.
3. The version. This is a dotted number made up of 4 values major, minor, build and
revision.
4. A public key token. This is a 64-bit hash of the public key which corresponds to the
private key used to sign the assembly. A signed assembly is said to have a strong name.
The public key token is used to make the assembly name unique. Thus, two strong named
assemblies can have the same PE file name and yet .NET will recognize them as different
assemblies. The Windows file system (FAT32 and NTFS) only recognizes the PE file name, so
two assemblies with the same PE file name (but different culture, version or public key token)
cannot exist in the same Windows folder. To solve this issue .NET introduces something called
-
8/8/2019 shivani goswamy
12/49
the GAC (Global Assembly Cache) which is treated as a single folder by the .NET CLR, but is
actually implemented using nested NTFS1 (or FAT32) folders.
To prevent spoofing attacks, where a cracker would try to pass off an assembly appearing as
something else, the assembly is signed with a private key. The developer of the intended
assembly keeps the private key secret, so a cracker cannot have access to it nor simply guess it.
Thus the cracker cannot make his assembly impersonate something else, lacking the possibility to
sign it correctly after the change. Signing the assembly involves taking a hash of important parts
of the assembly and then encrypting the hash with the private key. The signed hash is stored in
the assembly along with the public key. The public key will decrypt the signed hash. When the
CLR loads a strongly named assembly it will generate a hash from the assembly and then
compare this with the decrypted hash. If the comparison succeeds then it means that the publickey in the file (and hence the public key token) is associated with the private key used to sign the
assembly. This will mean that the public key in the assembly is the public key of the assembly
publisher and hence a spoofing attack is thwarted.
Assemblies versions:
.NET assemblies can have version information, allowing them to eliminate most conflicts
between applications caused by shared assemblies. However, this does not eliminate all possible
versioning conflicts between assemblies.
Assemblies and .NET security
.NET Code Access Security is based on assemblies and evidence. Evidence can be anything
deduced from the assembly, but typically it is created from the source of the assembly whether
the assembly was downloaded from the Internet, an intranet, or installed on the local machine (if
the assembly is downloaded from another machine it will be stored in a sandboxed location
within the GAC and hence is not treated as being installed locally). Permissions are applied to
entire assemblies, and an assembly can specify the minimum permissions it requires through
custom attributes (see .NET metadata). When the assembly is loaded the CLR will use the
evidence for the assembly to create a permission set of one or more code access permissions. The
-
8/8/2019 shivani goswamy
13/49
CLR will then check to make sure that this permission set contains the required permissions
specified by the assembly.
.NET code can perform a code access security demand. This means that the code will perform
some privileged action only if all of the assemblies of all of the methods in the call stack have the
specified permission. If one assembly does not have the permission a security exception is
thrown.
The .NET code can also perform Linked Demand for getting the permission from the call stack.
In this case the CLR will look for only one method in the call stack in the TOP position has the
specified permission. Here the stack walk-through is bound to one method in the call stack by
which the CLR assumes that all the other methods in the CALL STACK have the specified
permission.
Satellite assemblies:
In general, assemblies should contain culture-neutral resources. If you want to localize your
assembly (for example use different strings for different locales) you should use satellite
assemblies special, resource-only assemblies. Satellites are notloaded by Fusion and so they
should notcontain code. As the name suggests, a satellite is associated with an assembly called
the main assembly. That assembly (say, lib.dll) will contain the neutral resources (which
Microsoft says is International English, but implies to be US English). Each satellite has the name
of the associated library appended with .resources (for example lib.resources.dll). The satellite is
given a non-neutral culture name, but since this is ignored by existing Windows file systems
(FAT32 and NTFS) this would mean that there could be several files with the same PE name in
one folder. Since this is not possible, satellites must be stored in subfolders under the application
folder. For example, a satellite with the UK English resources will have a .NET name of
"lib.resources Version=0.0.0.0 Culture=en-GB PublicKeyToken=null", a PE file name of
lib.resources.dll, and will be stored in a subfolder called en-GB.
Satellites are loaded by a .NET class called System.Resources.ResourceManager. The developer
has to provide the name of the resource and information about the main assembly (with the
neutral resources). The ResourceManager class will read the locale of the machine and use this
-
8/8/2019 shivani goswamy
14/49
information and the name of the main assembly to get the name of the satellite and the name of
the subfolder that contains it. ResourceManager can then load the satellite and obtain the
localized resource.
Referencing assemblies:
One can reference an executable code library by using the /reference flag of the C# compiler.
Delay-signing of an assembly:
The shared assemblies need to give a strong name for uniquely identifying the assembly which
might be shared among the applications. The strong naming consists of the public key token,
culture, version and PE file name. If an assembly is likely to be used for the development purposewhich is a shared assembly, the strong naming procedure contains only public key generation.
The private key is not generated at that time. It is generated only when the assembly is deployed.
Visual C# .NET 3.0
Visual C# .NET 3.0 is the next generation of the C, C++ & C# languages from Microsoft. With
Visual C#, you can build .NET applications, quickly and easily. Applications made with Visual
C# are built on the services of the common language runtime and take advantage of the .NET
Framework.
Visual C# has many new and improved features such as inheritance, interfaces, and overloading
that make it a more powerful object-oriented programming language. Other new language
features include free threading and structured exception handling. Visual C# fully integrates
the .NET Framework and the common language runtime, which together provide language
interoperability, garbage collection, enhanced security, and improved versioning support. Visual
C# supports single inheritance and creates Microsoft intermediate language (MSIL) as input to
native code compilers.
-
8/8/2019 shivani goswamy
15/49
ADO.NET (Activex Directory Objects)
ADO.NET is a set of computer software components that can be used by programmers to access
data and data services. It is a part of the base class library that is included with the Microsoft
.NET Framework. It is commonly used by programmers to access and modify data stored in
relational database systems, though it can also be used to access data in non-relational sources.
ADO.NET is sometimes considered an evolution of ActiveX Data Objects (ADO) technology,
but was changed so extensively that it can be considered an entirely new product.
This technology is a part of .NET Framework 3.0 (having been part of the framework since version 1.0)
ADO.NET and Visual Studio
Functionality exists in the Visual Studio IDE to create specialized subclasses of the DataSet
classes for a particular database schema, allowing convenient access to each field through
strongly-typed properties. This helps catch more programming errors at compile-time and makesthe IDE's Intellisense feature more beneficial.
http://en.wikipedia.org/wiki/File:DotNet3.0.svg -
8/8/2019 shivani goswamy
16/49
Entity Framework
ADO.NET Entity Framework is a set of data access APIs for the Microsoft .NET Framework,
similar to the Java Persistence API, targeting the version of ADO.NET that ships with .NET
Framework 3.5. ADO.NET Entity Framework is included with .NET Framework 3.5 Service
Pack 1 and Visual Studio 2008 Service Pack 1, released on 11 August 2008. An Entity
FrameworkEntity is an object which has a key representing the primary key of a logical datastore
entity. A conceptual Entity Data Model (Entity-relationship model) is mapped to a datastore
schema model. Using the Entity Data Model, the Entity Framework allows data to be treated as
entities independently of their underlying datastore representations.
Entity SQL is a SQL-like language for querying the Entity Data Model (instead of the underlying
datastore). Similarly, Linq extensionLinq-to-Entities provides typed querying on the Entity Data
Model. Entity SQL and Linq-to-Entities queries are converted internally into a Canonical Query
Tree which is then converted into a query understandable to the underlying datastore (e.g. into
SQL in the case of a Relational database). The entities can be using their relationships, and their
changes committed back to the datastore.
-
8/8/2019 shivani goswamy
17/49
Microsoft SQL Server 2000
Microsoft SQL Server 2000 is a family of products that meet the data storage requirements of the
largest data processing systems and commercial Web sites, yet at the same time can provide easy-
to-use data storage services to an individual or small business.
The data storage needs of a modern corporation or government organization are very complex.
Online Transaction Processing (OLTP) systems must be capable of handling thousands of orders
placed at the same time. Increasing numbers of corporations are implementing large Web sites as
a mechanism for their customers to enter orders, contact the service department, get information
about products, and for many other tasks that previously required contact with employees. These
sites require data storage that is secure, yet tightly integrated with the Web. Organizations are
implementing off-the-shelf software packages for critical services such as human resources planning, manufacturing resources planning, and inventory control. These systems require
databases capable of storing large amounts of data and supporting large numbers of users.
Organizations have many users who must continue working when they do not have access to the
network. Examples are mobile disconnected users, such as traveling sales representatives or
regional inspectors. These users must synchronize the data on a notebook or laptop with the
current data in the corporate system, disconnect from the network, record the results of their work
while in the field, and then finally reconnect with the corporate network and merge the results of
their fieldwork into the corporate data store.
MS SQL Server 2000 Architecture
MS SQL Server 2000 data is stored in databases. The data in a database is organized into the
logical components visible to users. A database is also physically implemented as two or more
files on disk.
When using a database, you work primarily with the logical components such as tables, views,
procedures, and users. The physical implementation of files is largely transparent. Typically, only
the database administrator needs to work with the physical implementation.
-
8/8/2019 shivani goswamy
18/49
Fig: MS SQL Server 2000 Architecture
Each instance of SQL Server has four system databases (master, model, tempdb, and msdb) and one or
more user databases. Some organizations have only one user database, containing all the data for their
organization. Some organizations have different databases for each group in their organization, and
sometimes databases usedby a single application.
-
8/8/2019 shivani goswamy
19/49
ASP.NET(Active Server pages )
ASP.NET is a web application framework developed and marketed by Microsoft to allow
programmers to build dynamic web sites, web applications and web services. It was first released
in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's
Active Server Pages (ASP) technology. ASP.NET is built on the Common Language Runtime
(CLR), allowing programmers to write ASP.NET code using any supported .NET language. The
ASP.NET SOAP extension framework allows ASP.NET components to process SOAP messages.
ASP.NET
Developer(s) Microsoft
Initial release January 2002
Stable release4.0.30319.1 (4.0) / 12 April 2010; 10
days ago
Written in .NET Languages
Operating system Microsoft Windows
Type Web application framework
License Proprietary
http://en.wikipedia.org/wiki/File:ASPNETlogo.png -
8/8/2019 shivani goswamy
20/49
History of ASP.Net
After the release of Internet Information Services 4.0 in 1997, Microsoft began researching
possibilities for a new web application model that would solve common complaints about ASP,
especially with regard to separation of presentation and content and being able to write "clean"
code. Mark Anders, a manager on the IIS team, and Scott Guthrie, who had joined Microsoft in
1997 after graduating from Duke University, were tasked with determining what that model
would look like. The initial design was developed over the course of two months by Anders and
Guthrie, and Guthrie coded the initial prototypes during the Christmas holidays in 1997.
The initial prototype was called "XSP"; Guthrie explained in a 2007 interview that, "People
would always ask what the X stood for. At the time it really didn't stand for anything. XML
started with that; XSLT started with that. Everything cools seemed to start with an X, so that's
what we originally named it."
The initial prototype of XSP was done using Java but it was soon decided to build the new
platform on top of the Common Language Runtime (CLR), as it offered an object-oriented
programming environment, garbage collection and other features that were seen as desirable
features that Microsoft's Component Object Model platform didn't support. Guthrie described this
decision as a "huge risk", as the success of their new web development platform would be tied to
the success of the CLR, which, like XSP, was still in the early stages of development, so much so
that the XSP team was the first team at Microsoft to target the CLR.
With the move to the Common Language Runtime, XSP was re-implemented in C# (known
internally as "Project Cool" but kept secret from the public), and the name changed to ASP+, as
by this point the new platform was seen as being the successor to Active Server Pages, and the
intention was to provide an easy migration path for ASP developers.
Mark Anders first demonstrated ASP+ at the ASP Connections conference in Phoenix, Arizona
on May 2, 2000. Demonstrations to the wide public and initial beta release of ASP+ (and the rest
of the .NET Framework) came at the 2000 Professional Developers Conference on July 11, 2000
in Orlando, Florida. During Bill Gates' keynote presentation, Fujitsu demonstrated ASP+ being
used in conjunction with COBOL, and support for a variety of other languages was announced,
-
8/8/2019 shivani goswamy
21/49
including Microsoft's new Visual Basic .NET and C# languages, as well as Python and Perl
support by way of interoperability tools created by ActiveState.
Once the ".NET" branding was decided on in the second half of 2000, it was decided to rename
ASP+ to ASP.NET. Mark Anders explained on an appearance on The MSDN Show that year that,
"The .NET initiative is really about a number of factors, it's about delivering software as a
service, it's about XML and web services and really enhancing the Internet in terms of what it can
do ... we really wanted to bring its name more in line with the rest of the platform pieces that
make up the .NET framework."
After four years of development, and a series of beta releases in 2000 and 2001, ASP.NET 1.0
was released on January 5, 2002 as part of version 1.0 of the .NET Framework. Even prior to the
release, dozens of books had been written about ASP.NET, and Microsoft promoted it heavily as
part of their platform for web services. Guthrie became the product unit manager for ASP.NET,
and development continued apace, with version 1.1 being released on April 24, 2003 as a part of
Windows Server 2003. This release focused on improving ASP.NET's support for mobile
devices.
Characteristics
.NET pages, known officially as "web forms", are the main building block for application
development. Web forms are contained in files with an ".aspx" extension; these files typically
contain static (X) HTML markup, as well as markup defining server-side Web Controls and User
Controls where the developers place all the required static and dynamic content for the web page.
Additionally, dynamic code which runs on the server can be placed in a page within a block which is similar to other web development technologies such as PHP, JSP,
and ASP, but this practice is generally discouraged except for the purposes of data binding since
it requires more calls when rendering the page.
Note that this sample uses code "inline", as opposed to code-behind.
-
8/8/2019 shivani goswamy
22/49
protected void Page_Load (object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToLongTimeString();
}
Sample page
The current time is:
Code-behind model
Microsoft recommends dealing with dynamic program code by using the code-behind model,
which places this code in a separate file or in a specially designated script tag. Code-behind files
-
8/8/2019 shivani goswamy
23/49
typically have names like MyPage.aspx.cs or MyPage.aspx.vb while the page file is
MyPage.aspx (same filename as the page file (ASPX), but with the final extension denoting the
page language). This practice is automatic in Microsoft Visual Studio and other IDEs. When
using this style of programming, the developer writes code to respond to different events, like the
page being loaded, or a control being clicked, rather than a procedural walk through the
document.
ASP.NET's code-behind model marks a departure from Classic ASP in that it encourages
developers to build applications with separation of presentation and content in mind. In theory,
this would allow a web designer, for example, to focus on the design markup with less potential
for disturbing the programming code that drives it. This is similar to the separation of the
controller from the view in model-view-controller frameworks.
Example
The above tag is placed at the beginning of the ASPX file. The CodeFile property of the @ Pagedirective specifies the file (.cs or .vb) acting as the code-behind while the Inherits property
specifies the Class the Page derives from. In this example, the @ Page directive is included in
SampleCodeBehind.aspx, then SampleCodeBehind.aspx.cs acts as the code-behind for this page:
using System;
namespace Website
{
public partial class SampleCodeBehind : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello, world");
-
8/8/2019 shivani goswamy
24/49
}
}
}
In this case, the Page_Load() method is called every time the ASPX page is requested. The
programmer can implement event handlers at several stages of the page execution process to
perform processing.
User controls:
An event bubbling mechanism provides the ability to pass an event fired by a user control up to
its containing page.
Custom Controls:
Programmers can also build Custom controls for ASP.NET applications. Unlike User controls,
these controls don't have an ASCX markup-file, having all their code compiled into a DLL-file.
Such Custom controls can be used across multiple web-applications and Visual Studio projects
(which is not allowed with User controls). By using a Register directive, the control is loaded
from the DLL.
Rendering technique
ASP.NET uses a visited composites rendering technique. During compilation, the template
(.aspx) file is compiled into initialization code which builds a control tree (the composite)
representing the original template. Literal text goes into instances of the Literal control class, and
server controls are represented by instances of a specific control class. The initialization code is
combined with user-written code (usually by the assembly of multiple partial classes) and results
in a class specific for the page. The page doubles as the root of the control tree.
Actual requests for the page are processed through a number of steps. First, during the
initialization steps, an instance of the page class is created and the initialization code is executed.
This produces the initial control tree which is now typically manipulated by the methods of the
page in the following steps. As each node in the tree is a control represented as an instance of a
-
8/8/2019 shivani goswamy
25/49
class, the code may change the tree structure as well as manipulate the properties/methods of the
individual nodes. Finally, during the rendering step a visitor is used to visit every node in the tree,
asking each node to render itself using the methods of the visitor. The resulting HTML output is
sent to the client.
After the request has been processed, the instance of the page class is discarded and with it the
entire control tree. This is usually a source of confusion among novice ASP.NET programmers
that rely on class instance members that are lost with every page request/response cycle.
State management
ASP.NET applications are hosted by a web server and are accessed using the stateless HTTP
protocol. As such, if an application uses stateful interaction, it has to implement state
management on its own. ASP.NET provides various functions for state management.
Conceptually, Microsoft treats "state" as GUI state; problems may arise if an application needs to
keep track of "data state", for example, a finite state machine which may be in a transient state
between requests (lazy evaluation) or which takes a long time to initialize.
Application state
Application state is held by a collection of shared user-defined variables. These are set and
initialized when the Application_OnStart event fires on the loading of the first instance of the
applications and are available till the last instance exits. Application state variables are accessed
using the Applications collection, which provides a wrapper for the application state variables.
Application state variables are identified by name.
Session state
Server-side session state is held by a collection of user-defined session variables, which are
persisted during a user session. These variables, accessed using the Session collection, are unique
to each session instance. Then variables can be set to be automatically destroyed after a defined
time of inactivity, even if the session does not end. Client-side user session is maintained by
either a cookie or by encoding the session ID in the URL itself.
-
8/8/2019 shivani goswamy
26/49
ASP.NET supports three modes of persistence for session variables:
In Process Mode
When using In Process Mode, the session variables are maintained within the ASP.NET
process. This is the fastest way; however, in this mode the variables are destroyed when
the ASP.NET process is recycled or shut down.
ASPState Mode
In this mode, ASP.NET runs a separate Windows service that maintains the state
variables. As state management happens outside the ASP.NET process and .NET
Remoting must be utilized by the ASP.NET engine to access the data there is a negative
impact on performance compared to the In Process mode. This mode allows an ASP.NET
application to be load-balanced and scaled across multiple servers and because the statemanagement service runs independently of ASP.NET, the session variables can persist
across ASP.NET process shutdowns. However, since session state server runs as a single
instance it is still a single point of failure so far as session state is concerned. The session-
state service cannot be load balanced and there are restrictions on types that can be stored
in a session variable.
SqlServer Mode
In this mode, the state variables are stored in a database allowing session variables to be
persisted across ASP.NET process shutdowns. The main advantage of this mode is that it
allows the application to balance load on a server cluster, sharing sessions between
servers. This is the slowest method of session state management in ASP.NET.
View state
View state refers to the page-level state management mechanism, utilized by the HTML pages
emitted by ASP.NET applications to maintain the state of the web form controls and widgets. The
state of the controls is encoded and sent to the server at every form submission in a hidden field
known as __VIEWSTATE. The server sends back the variable so that when the page is re-
rendered, the controls render at their last state. At the server side, the application may change the
viewstate, if the processing requires a change of state of any control. The states of individual
-
8/8/2019 shivani goswamy
27/49
controls are decoded at the server, and are available for use in ASP.NET pages using the
ViewState collection.
The main use for this is to preserve form information across postbacks. View state is turned on by
default and normally serializes the data in every control on the page regardless of whether it is
actually used during a postback. This behavior can (and should be) modified, however, as View
state can be disabled on a per-control, per-page, or server-wide basis.
Developers need to be wary of storing sensitive or private information in the View state of a page
or control, as the base64 string containing the view state data can easily be de-serialized. By
default, View state does not encrypt the __VIEWSTATE value. Encryption can be enabled on a
server-wide (and server-specific) basis, allowing for a certain level of security to be maintained.
Server-side caching
ASP.NET offers a "Cache" object that is shared across the application and can also be used to
store various objects. The "Cache" object holds the data only for a specified amount of time and
is automatically cleaned after the session time-limit elapses.
Other
Other means of state management that are supported by ASP.NET are cookies, caching, and
using the query string.
Template engine
When first released, ASP.NET lacked a template engine. Because the .NET framework is object-
oriented and allows for inheritance, many developers would define a new base class that inherits
from "System.Web.UI.Page", write methods here that render HTML, and then make the pages in
their application inherit from this new class. While this allows for common elements to be reused
across a site, it adds complexity and mixes source code with markup. Furthermore, this method
can only be visually tested by running the application - not while designing it. Other developers
have used include files and other tricks to avoid having to implement the same navigation and
other elements in every page.
-
8/8/2019 shivani goswamy
28/49
ASP.NET 2.0 introduced the concept of "master pages", which allow for template-based page
development. A web application can have one or more master pages, which, beginning with
ASP.NET 3.5, can be nested. Master templates have place-holder controls, called
ContentPlaceHolders to denote where the dynamic content goes, as well as HTML and
JavaScript shared across child pages.
Child pages use those ContentPlaceHolder controls, which must be mapped to the place-holder of
the master page that the content page is populating. The rest of the page is defined by the shared
parts of the master page, much like a mail merge in a word processor. All markup and server
controls in the content page must be placed within the ContentPlaceHolder control.
When a request is made for a content page, ASP.NET merges the output of the content page with
the output of the master page, and sends the output to the user.
The master page remains fully accessible to the content page. This means that the content page
may still manipulate headers, change title, configure caching etc. If the master page exposes
public properties or methods (e.g. for setting copyright notices) the content page can use these as
well.
-
8/8/2019 shivani goswamy
29/49
Brief Introduction to the project
This project work can be used in various institutes ranging from small sized institutes to larger
ones for maintaining institute particulars like students details, staff details, fees details and
attendance details etc.
This application is very interactive one which itself explains the user how to use it.
To help the users, the software is also provided with user manual and help for assisting the usershow to use this software. There is no paper based record keeping. All the records are mounted on
the computer. All the calculations are automatically.
Institute Management System manages the student information by accepting
adding, modifying or removing (i.e. processing) information and generating reports.
Application has following strengths:
Student admission application forms
Add, Edit or Delete students application forms
Storing Student Pays Admission Fees to college
Reports of student list with Fees balance after due date Branch, Section, Batch Transfer of the student
Class wise and Student wise Time Table
Attendance of the student
Maintaining Test Score
Calculate grades
Students registered for various subjects
Exam application of students, accepting it online Examination results (parents can get the result from the Internet)
Student consolidated attendance report (VTU Approved Reports)
Student admission reports (VTU Approved Reports)
Statement showing number of students appearing for exam
Institute Management System captures the student attendance, marks scored in tests, class
timetable and previous education qualification. It is integrated so that student, parents andfaculties can share this vital information of student's academic activities. Access to real-time
information is vital for making informed, data driven decision, both by the teachers, Faculties,
school administrators and the parents to improve student achievement. To improve the student
achievement, Therefore the Institute Management System is needed.
What my System will do:
The proposed system will help to improve the traditional education system. This system will
integrate the benefits of a physical classroom with the convenience of a no-physical-bar virtual
-
8/8/2019 shivani goswamy
30/49
learning environment will reducing the communication hazards and expenses. It will provide a
collaborative learning for the student. The proposed system will help the students to choose
courses, organize the exams, view their attendance records, progress reports etc as per their
convenience. The students can request for lectures at scheduled time or a later one. The proposed
system will reduce the paper work of the faculties because in this system faculties can upload
assignments, announcements, evaluate answer sheets and they can also upload lectures and other
discussions in various formats such as videos, power point presentation etc. The system will
provide the forums, blogs etc to discuss various queries and to put up suggestions posted both by
students and teachers. This system will enhance the educational capability without physical
barrier.
Tangible benefit
The use of Institute Management System will also help in institute & organization to
achieve many objectives.
They are.
1. Frequently you can assess student learning: - With the help of online exam you can take
exam any time to check the learning of the candidate.
2. Reduce Manpower and cost:- All the things will done over a network like taking an
exam of the candidate, online Attendance, assessment of online exam paper &
generating the result of candidate. So that there is a less requirement of manpower &
time. So that it will reduce the cost.
3. Reducing paper work: - Online Learning will help to eliminate the requirement of
paper work. With the help of this system all the work will be done online so it will
reduce usage of paper. In current system everything is done on paper so it becomes
difficult to store and retrieve the data. So the online learning will reduce the
purchase of paper for paper work & it will also reduce storage problem for storing
bundles of paper.
-
8/8/2019 shivani goswamy
31/49
Intangible benefit
1. Access is possible from any where: The proposed system can be accessed from
anywhere. The student can give an exam from any authorized centre in the world
and can download various study material at any time from any place
2. It will make work consistence: With the help of this system you can assure that there
is less chances of error. There will no partiality in checking of paper the entire
candidate will get marks according to there calibre.
-
8/8/2019 shivani goswamy
32/49
Objectives of the Project
INSTITUTE MANAGEMENT SYSTEM is designed to achieve all of the following
objectives:
The whole system should be menu driven and the main menu should be displayed automatically
as soon as the user logon succeeds.
The software must have a user friendly interface and appealing appearance to ease the work ofthe end users.
The software should have a web interface feature so that people could be able to view the
information of the net.The software must be able to return the actual status of the institute.
The software must be able to return inventory status of the institute.
The system would be able to generate various reports like, certificates issued by the institute.
Above all, the software system should be able to eliminate all the paper work required in
implementing the task of data maintenance, which previously was tedious, timeconsuming and error prone.
The objective of this system can be summarized as: To provide such kind of platform
where the institute can increase their growth and market strength through the optimization
in time and manpower with the help of proposed system. Also the institute can bettertarget to their goals through the various types of reports and charts generated by the
system.
The core functionalities of my system are:
1. Online attendance In this, I will be providing online attendance facility to the faculty
member to mark attendance of student. The faculty member can also modify the
attendance of the students. The Administrator can also modify the attendance and he/she
can also delete the student record.
2. Uploading/Downloading Facility: Faculty member can upload assignments,
announcements, and also can upload lectures and other discussions in various formats as
in videos, power point presentation etc. and student can also download the data uploaded
by faculty member
3. Discussion Blog: There can be forums, blogs etc. to discuss various queries and to put up
suggestions posted both by students and teachers.
-
8/8/2019 shivani goswamy
33/49
4. Notice: The faculty member can publish notice on the site and he can also forward to
each student
5. Report: The administrator can generate reports on attendance, result. etc
The Additional Features
1. Online Examination: In this student can give online exam at specific. There is no need to
check the paper. All the paper will be checked with the help of system. There is no need
to wait for result candidate can see result after completing of exam.
2. In Future Enhancement
Online Quiz: Students can take part in various quizzes which can help them to realize
their inbuilt talents in various fields
Back up: The administrator can create backup of Data at any time
Learning Objective
a. Understanding the various concept of web engineering.
b. The project contains the different modules which need to be integrated for the same. so
project integration management needs to be studied which will help me to enhance my
skills
c. Learning the concept of C#, Ajax;
d. Understanding the concept of Webml and Uml
-
8/8/2019 shivani goswamy
34/49
DATA STRUCTURE OF THE PROJECT
Table 01: master_batch
FIELD NAME DATA TYPE NOT NULL
Batchid Varchar(50) Primary key
Courseid Varchar(50) Foreign key
Start_date Varchar(50)
Strength Varchar(50)
Table 02: master_courses
FIELD NAME DATA TYPE NOT NULL
Courseid Varchar(50) Primary key
Coursename Varchar(100)
Course_designation Varchar(100)
Eligibility Varchar(100)
Table 03: master_course_subjects
FIELD NAME DATA TYPE NOT NULL
Courseid Varchar(50) Foreign key
Subid Varchar(50) Foreign key
Table 04: master_student
FIELD NAME DATA TYPE NOT NULL
Rollno Varchar(50) Primary key
-
8/8/2019 shivani goswamy
35/49
Stu_firstname Varchar(50)
Stu_lastname Varchar(50)
Courseid Varchar(50)
Gender Varchar(10)
Martial_status Varchar(2)
Referenceno Varchar(50)Address1 Varchar(50)
Address2 Varchar(50)
Address3 Varchar(50)
City Varchar(50)
Pincode Varchar(20)
State Varchar(20)
Nationality Varchar(50)
Email Varchar(50)
Dob Varchar(50)
Father_name Varchar(50)
Husband_name Varchar(50)Landline Varchar(50)
Mobile Varchar(50)
Category Varchar(10)
Table 05: master_subjects
FIELD NAME DATA TYPE NOT NULL
Subid Varchar(50) Foreign key
Name Varchar(50)
Max_practical Varchar(50)
Max_theory Varchar(50)
Pass_theory Varchar(50)
Pass_practical Varchar(50)
Table 06: master_designation
-
8/8/2019 shivani goswamy
36/49
FIELD NAME DATA TYPE NOT NULL
Designation_name Varchar(20) Primary key
All_dedname Varchar(50)
All_ded Varchar(50)
Percentage Varchar(50)
Amount Varchar(50)Basic Varchar(50)
Table 07: master_staff
FIELD NAME DATA TYPE NOT NULL
Staff_id Varchar(50) Primary key
Designation_name Varchar(50)First_name Varchar(50)
Last_name Varchar(50)
Father_name Varchar(50)
Husband_name Varchar(50)
Martial_status Varchar(5)
Gender Varchar(2)
Address1 Varchar(50)
Address2 Varchar(50)
Address3 Varchar(50)
City Varchar(50)
Pincode Varchar(50)State Varchar(50)
Nationality Varchar(50)
Dob Varchar(20)
Doj Varchar(20)
Dol Varchar(20)
Qualification Varchar(100)
Experience Varchar(100)
-
8/8/2019 shivani goswamy
37/49
Landline Varchar(20)
Mobile Varchar(20)
Email Varchar(50)
Table 08: t_attendance_staff
FIELD NAME DATA TYPE NOT NULL
Staffid Varchar(50) Foreign key
Atten_date Varchar(20)
Status Varchar(2)
Table 09: master_result
FIELD NAME DATA TYPE NOT NULL
Batchid Varchar(20) Foreign key
Rollno Varchar(50) Foreign key
Max_theory Varchar(50)
Max_practical Varchar(50)
Result_date Varchar(20)
Table 10: t_attendance_student
FIELD NAME DATA TYPE NOT NULL
Rollno Varchar(50) Foreign key
Atten_date Varchar(20)
Status Varchar(2)
-
8/8/2019 shivani goswamy
38/49
Table 11: master_passwords
FIELD NAME DATA TYPE NOT NULL
User_type Varchar(50)User_name Varchar(50)
Passwords Varchar(50)
Table 12: t_fee_refund
FIELD NAME DATA TYPE NOT NULL
Invoice No. Varchar2(6) Foreign Key
Reason Varchar2(100)
Table 13: master_fee
FOREIGN NAME DATA TYPE NOT NULL
Instalment No. Varchar2(1) Primary Key
CourseID Varchar2(10) Foreign Key
PaidTo Varchar2(10)
DueDate Varchar2(20)
Amount Varchar2(10)
Category Varchar2(10)
Table 14: master_Alumni
FIELD NAME DATA TYPE NOT NULL
Staff ID Varchar2(10) Foreign Key
Employed Varchar2(3)
-
8/8/2019 shivani goswamy
39/49
Company Name Varchar2(50)
Co_address1 Varchar2(20)
Co_address2 Varchar2(20)
City Varchar2(20)
Co_Phone Varchar2(13)
Co_Email Varchar2(35)Co_Webpage Varchar2(50)
Designation Varchar2(20)
DOJ Varchar2(20)
DOL Varchar2(20)
Table 15: t_fee_paid
FIELD NAME DATA TYPE NOT NULL
Pmt_ID Varchar2(30)
Staff_ID Varchar2(10) Foreign Key
Instalment_No Varchar2(10) Foreign Key
CouseID Varchar2(10)
Fine Numeric(7,2)
Pmt_Mode Varchar2(10)
Cheque_No Varchar2(10)
Dated Varchar2(20)
Invoice_No Varchar2(10)
-
8/8/2019 shivani goswamy
40/49
Amount Varchar2(20)
Bank_Name Varchar2(30)
Pmt_Date Varchar2(20)
Table 16: t_enrollment
FIELD NAME DATA TYPE NOT NULL
Batch_ID Varchar2(20) Foreign Key
Staff_ID Varchar2(20) Foreign Key
Roll no Varchar2(20)
DOJ Varchar2(20)
Table 17: t_salary_paid
FIELD NAME DATA TYPE NOT NULL
Staff_ID Varchar2(15) Foreign KeyPay_Date Varchar2(20)
Designation_Name Varchar2(20) Foreign Key
Amount Numeric(10,2)
Pmt_Mode Varchar2(10)
Cheque_No Varchar2(10)
Bank_Name Varchar2(20)
Dated Varchar2(20)
-
8/8/2019 shivani goswamy
41/49
Data Flow Diagrams:
DFD show the flow of data through the system . it uses a system as a function that transform the
inputs to desired outputs. A data will typically undergo a series of transformations that take place
within a system to the inputs data so that eventually the outputs data is produced. Various
symbols are used while depicting a DFD which are as follows:
Bubble represents transformations of data from one place to another. Naming this bubble
or circle represents this transformation.
Data flows are represented by named arrows entering or leaving the bubbles.
An open rectangle is a data store-data at rest, or a temporary repository of data.
A square defines a source or designation of system data.
some conventions while drawing dfds are:
1. All external files should always be shown in the DFD as labeled straight line.2. The need for multiple dataflow by the process is represented by * between the dataflow.
Similarly, the or relationships is represented by + between the data flows.
3. DFD should not present procedural information. So, while drawing a DFD one must not
involved in the procedural details.
-
8/8/2019 shivani goswamy
42/49
Rules for constructing a dfd:
Several thumb rules are used in drawing DFDs:-
1. Processes should be named and numbered for easy reference. Each name should be
representative of the process.
2. The direction of flow is from top to bottom and from left to right. One way to indicate
this is to draw a long flow line back to the source. An alternative way is to repeat the
source symbol as a destination. Since, it is marked with a short diagonal in the lower
right corner.
3. When a process is exploded into lower-level details, they are numbered.
4. The names of the data stores, sources and destinations are written in capital letters.
Process and data flow names have the first letter to each word capitalized.
5. Work your way consistently from the inputs to the outputs or vice-versa.
6. Never try to show control logic like loops or decisions.
7. Label each arrow with proper data elements
1) 0-level DFD showing the flow of system
Staff
AdmissionStudent
I.M.S.
-
8/8/2019 shivani goswamy
43/49
2) 1-level DFD showing the flow of System with user
Members Users
WebsiteRegister & Add
KnowledgeBase
Acquire Datafrom Knowledge
Base
-
8/8/2019 shivani goswamy
44/49
3) 2-level DFD showing the internal flow of the system
Overview to the Stored Procedure
A stored procedure is a set of one or more SQL statements that are stored together in database. To
create a stored procedure use CREATE PROCEDURE statement. To use the stored procedure
you send a request for it to be executed. When server recieves the request, it executes the stored
procedure.
Stored procedures assist in achieving a consistent implementation of logic across applications.
The SQL statements and logic needed to perform a commonly performed task can be designed,
coded, and tested once in a stored procedure. Each application needing to perform that task can
then simply execute the stored procedure. Coding business logic into a single stored procedure
also offers a single point of control for ensuring that business rules are correctly enforced.
Stored procedures can also improve performance. Many tasks are implemented as a series of SQL
statements. Conditional logic applied to the results of the first SQL statements determines which
subsequent SQL statements are executed. If these SQL statements and conditional logic are
written into a stored procedure, they become part of a single execution plan on the server. The
results do not have to be returned to the client to have the conditional logic applied; all of the
-
8/8/2019 shivani goswamy
45/49
work is done on the server.
Some concepts of stored procedures.
A stored procedure is one or more SQL statements that have been compiled and stored
with database. A stored procedure can be started by application code on the client.
Stored procedure can improve database performance because the SQL statements in each
procedure are only compiled and optimized the first time they are executed. In sontrast
SQL statements that are sent from a client to the server have to be compiled and
optimized everytime ther are executed.
In addition to SELECT statement, a stored procedure can contain othe SQL statements
such as INSERT,UPDATE,DELETE. It also contain control-of-flow language.
A trigger is a special type of procedure that executes when rows are inserted, updated or
deleted from table.
A user defined function(UDF) is a special type of procedure that can return a value or a
table.
Overview to the Dynamic link library
Dynamic Link Library implies DLLs are libraries that contain code and data that can be used
across multiple applications at the same time. For example the USER32.dll or the KERNEL32.dll
are the DLLs that every windows program needs in order to work on the Win32 Subsystem.
Once written and packed in a DLL, a function can be used in any application in its binary form
without actually referring to its source code. Same is the case with data (if you choose to!). But
you may ask, I can do so by just including the source files and using the function in my
application. Yes, indeed, this was the way programs were written in the DOS days, but the
enhancements made to the underlying hardware when reflected by the operating system sitting at
the top of it are magnified manifolds and one should be able to leverage it to reap maximum
-
8/8/2019 shivani goswamy
46/49
benefits. Moreover there might be situations where you dont have the source code and you know
a third-party DLL can be used.
Advantages/Disadvantages of Using DLLs
Low Memory Usage -- The code and data that we compile in a DLL is shared among the
applications that use the DLL. Moreover depending on the way you load a DLL in your
application, itll be loaded only when needed. Either way it uses less memory.
The code inside the DLL is resident in the read-only sections and loaded in memory pages
marked as read-only. It allows the system to map the DLL into the address space of the processes
that uses it. Yes, the DLL is loaded just once, and if a process requests using it, the operating
system just maps the DLL to calling applications address space.
Reduced Swapping -- Imagine two processes using the same DLL and one of them finishes its
job and exits. But the DLL wont unload now because the DLL manages its lifetime by keeping a
reference count of the processes that use it. It unloads itself as soon as the reference count drops
to zero, a stage where any process is not using it.
Now assume that a new process begins and requests the system to load the same DLL that is now
being used by an already running application. So what happens next? Does the system load the
DLL again? No! Certainly not. The currently loaded DLL has all its code and data in memory
and the system just maps this to the address space of the new process and it works just fine. So it
saved a lot of work on the operating systems part, which would have involved reading the DLL
code and data from the disk file.
Use as an Off the Shelf Component -- Once youve built a DLL after proper design, you may
use it in any application you find suitable. Think of it as a component that youre very sure about
in terms of functionality. You just drop this in one of your projects, and it should work fine.
Imagine a DLL implementation that provides all the calculations which are required while
developing a graphics rendering application. This DLL can now be used in any project that
requires these calculations.
-
8/8/2019 shivani goswamy
47/49
Interoperable between Languages -- The DLL written in one language might be used in
applications written in a different language. Its common for developers to write optimized
routines in assembler and package them as a DLL and later call them from a C++ or Visual Basic
application.
On a developer's part, its unfortunate that most of the languages provide support for using the
DLLs but only a few let one create them. But still its a benefit that one may use a DLL written
by someone else. This doesnt only allows one to focus on the business logic and be away from
the hassle of writing some complex routines, but also freedom from the debugging and testing of
this module. Imagine performing I/O in a Visual Basic application using a DLL that uses the
inportb and outportb instructions from the native CRT library. DLLs make writing such
interoperable code a breeze.
Can Provide After Market Support -- What if you find after shipping a product that it needed
some alterations. Its a troublesome job to rebuild and redistribute the whole application to all the
buyers. But it can be avoided if you design your application in well-defined modules packaged
into DLLs. You could just make the DLL available as an upgrade to the whole package and the
product should work fine. Read on the disadvantages which might fake this point, but Ill say that
its just the way you write your code.
The DLL Hell -- Its the biggest trouble that DLLs sometimes cause. You might have
encountered situations where a program fails to load, displaying some error such as The ordinal
abc could not be located in the dynamic-link library xyz.dll. Or you install a new application
and some other programs starts to malfunction or even fails to load. These are just the symptoms
of DLL hell on your machine. The most common source being a irresponsibly made install
program that doesn't check versions before copying DLLs into the system directory. This may
also happen if a newer DLL has replaced an older one and has major changes in the functionality.
DLLs should be backward-compatible, but it's the proper design of the application that ensures
backward compatibility and in most cases is hard to achieve.
-
8/8/2019 shivani goswamy
48/49
BENEFITS OF THE PROPOSED SYSTEM
The benefits of the proposed system must also be evaluated. Benefits may be categorized as
tangible or intangible.
Tangible benefits which are measured in money terms consist of the saving of
Time.
Certain operating costs.
Intangible benefits are more difficult to estimate and justify. They are often impossible to give a
money value to.
These may include
Satisfaction of the companies and students
Efficiency.
-
8/8/2019 shivani goswamy
49/49
SECURITY MEASURES
Security is an important feature of the project which prevents the project from going through
wrong hands or illegal access, hence masking it highly consistent. The security checks
implemented in the project can be listed as:
A login Password is provided in the software. User must login to activate the application.
User cannot change the password. To change password he must contact the administrator.
Data security, correctness integrity is checked up before saving, update or delete if errors
found the procedure is aborted.
A primary key and foreign key concept is implemented for avoiding incorrect data entry
or intentional or accidental delete or modification of data.
When the user tries to delete the data then this first check for its reference used by other
data: if found the deletion aborted.
I am providing various securities at user level or at forms.