shivani goswamy

download shivani goswamy

of 49

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.