You are on page 1of 66

CONTENT S.No 1 2 Introduction Requirement Specification 2.1 Existing System 2.2 Proposed System 2.3Project Description 2.

4Hardware Requirement 2.5Software Requirement 2.6 Software Description 3 Design 3.1 Data Flow Diagram 3.2 ER Diagram 3.3 Table Design 4 Implementation 4.1 Source Code 4.2 Screenshots 5 6 7 Testing Conclusion Bibliography Particulars Page No

Abstract

1. Abstract
The document repository can be used to store and organize documents online. To build the document repository, documents and files can be imported or paper documents can be scanned and saved into the repository.The repository in our document management system follows a Cabinet Folder Document hierarchy. Cabinets are named locations in the repository within which Folders can be created; further documents are stored within the folders. The document management system provides restricted access within the repository in order to ensure and maintain security of documents. Permissions or access rights can be set on cabinets and folders assigned to the users restricting their activity within the same. Users, having the necessary permissions, can import documents stored outside the repository into specific folders within the repository. A file explorer interface is provided which enables users to browse and view documents at locations outside the repository such as their local PCs. The file explorer interface displays only those file types that are supported by the application. These include PDF, bmp, tiff, doc, jpeg, xml, xls, gif, png, html, ppt, txt, rtf file types. The document explorer module is used to view and manage documents stored in the repository. The document explorer displays the document repository structure. Users can view only those cabinets/folders to which they have been granted access. Through the document explorer users can browse through the repository cabinets and folders and view and edit contents of selected files Documents contained in the repository can be indexed for faster retrieval. Index fields are additional information that describes a document. Users can create index fields in the application and associate these index fields with documents. Same index fields that are required across multiple documents can be grouped together to form an index set thereby easing the process of associating index fields with documents. Instead of browsing through all the cabinets and folders in the repository, users can perform a search to locate the specified documents. Search can be performed on the basis of document attributes such as name, type and date of modification etc and also on the basis of index fields defined for the documents.The project is implemented in ASP.NET with SQL Express as the backend.

Requirement Specification

2.1Existing System:
Existing methods of document storage and retrieval are cumbersome and requires great space and preservation technology. Retrieval takes time and the effort involved at all places is also absent. Thus a better mechanism should be evolved. Datas tend to get corrupted and then wait for the approval from the supervisor or the holder of the documents. The need for safer and faster access mechanisms is on the rise.

2.2Proposed System :
Document Repository offers organizations of all sizes a web-centric, Software-as-a-Service document, email and records management

service, including extranet services. Documents can be easily and securely shared with clients and others, and documents are protected and backed up in redundant, world-class data centers to ensure built-in business continuity.

Small to large businesses, law firms, financial service firms, health care and real estate organizations can save tens of thousands of dollars by eliminating the hardware, system and client software, and ongoing administration of legacy client-server DMS. Subscription pricing starts at per user per month with a base level of storage included.

Project Description

2.3 Project Description


The repository in our document management system follows a Cabinet Folder Document hierarchy. Cabinets are named locations in the repository within which Folders can be created; further documents are stored within the folders. Security The document management system provides restricted access within the repository in order to ensure and maintain security of documents. Permissions or access rights can be set on cabinets and folders assigned to the users restricting their activity within the same.

Import/Export Documents
Users, having the necessary permissions, can import documents stored outside the repository into specific folders within the repository. A file explorer interface is provided which enables users to browse and view documents at locations outside the repository such as their local PCs. The file explorer interface displays only those file types that are supported by the application. These include PDF, bmp, tiff, doc, jpeg, xml, xls, gif, png, html, ppt, txt, rtf file types.

Document Explorer
The document explorer module is used to view and manage documents stored in the repository. The document explorer displays the document repository structure. Users can view only those cabinets/folders to which they have been granted access. Through the document explorer users can browse through the repository cabinets and folders and view and edit contents of selected files

Indexing
Documents contained in the repository can be indexed for faster retrieval. Index fields are additional information that describes a document. Users can create index fields in the application and associate these index fields with documents. Same index fields that are required across multiple documents can be grouped together to form an index set thereby easing the process of associating index fields with documents.

Search
Instead of browsing through all the cabinets and folders in the repository, users can perform a search to locate the specified documents. Search can be performed on the basis of document attributes such as name, type and date of modification etc and also on the basis of index fields defined for the documents.The project is implemented in ASP.NET with SQL Express as the backend.

SYSTEM REQUIREMENTS

2.4 Hardware Requirements


Web Server Client Processor Monitor KeyBoard Mouse : : : : : : Windows NT 2000 Windows XP / NT / 9x / 2000 PIV and above 17 Color 101 KB Optical Mouse

2.5 Software Requirements


IDE Web Server Front End OS Browser Back End : : : : : : Visual Studio 2005 IIS 5.0 ASP.Net Windows 9x / NT / 2000 / 2003 Fire Fox , IE, Opera SQL Server Express 2005

SOFTWARE SPECIFICATION

2.6SOFTWARE SPECIFICATION Introduction To .NET The .NET Framework


The .NET Framework represents a unified, Object-Oriented set of services and libraries that embrace the changing role of new network-centric and network aware software. In fact, the .NET Framework is the first platform designed from the ground up with the Internet in mind. The .NET Framework is a common environment for building, deploying and running Web Applications. The .NET Framework contains common class libraries-like ADO.NET, ASP.NET and Windows Forms-to provides advanced standard services that can be integrated into a variety of computer systems. The .NET Framework is the infrastructure for the new Microsoft .NET Platform. The .NET framework is language neutral. Currently it supports C++, C#, VisualBasic, Jscript (The Microsoft version of JavaScript) and COBOL. Third-party languages-like Eiffel, Perl, Python, Smalltalk and others- will also be available for building future .NET Framework applications. The new Visual Studio.NET is a common development environment for the new .NET framework. It provides a feature rich application execution environment, simplified development and easy integration between a numbers of different development languages. A .NET Framework is a set of technologies for developing and using components to create Web Forms, Web Services, Windows Applications. It supports the software lifecycle like Development, Debugging, Deployment and Maintenance.

The .NET Framework

Common Language Specification


ASP.NET: Web Services And Web Forms

C#

JScript
Visual Studio .NET

Windows Forms

ADO.NET: Data and XML

. NET Framework Base Classes

Common Language Runtime

Benefits of the .NET Framework:


The .Net Framework offers a numbers of benefits to developers: A consistent programming model Direct support for security Simplified development efforts Easy application deployment and maintenance

The .NET Platform

Architecture of the .NET Framework:


The term .NET Framework refers to the group of technologies that form the development foundation for the Microsoft .NET platform. The key technologies in this group are the runtime and the class library. The runtime is responsible for managing your code and providing services to it while it executes, playing a role similar to that of the Visual Basic 6.0 runtime. The .NET programming languagesincluding Visual Basic .NET, Microsoft Visual C#, C++ managed extensions, and many other programming languages from various vendorsutilize .NET services and features through a common set of unified classes. The. NET-unified classes provide the foundation on which we build our applications, regardless of the language we use. Whether we are simply concatenating a string, or building a Windows Service or a multiple-tier Web-based application, we will be using these unified classes. The unified classes provide a consistent method of accessing the platform's functionality. Once you learn to use the class library, you'll find that all tasks follow the same uniform architecture. You no longer need to learn and master different API architectures to write your applications

Elements Of The .Net Framework:


Common Language Runtime. . NET Class Library. Unifying Components.

Common Language Runtime:


The .NET Framework provides a run-time environment called the Common Language Runtime, which manages the execution of code and provides services that make the development process easier. Compilers and tools expose the runtime's functionality and enable you to write code that benefits from this managed execution environment. Code that you develop with a language compiler that targets the runtime is called managed code. It benefits from features such as cross-language integration, cross-language exception handling, enhanced security, versioning and deployment support, a simplified model for component interaction, and debugging and profiling services. The Common Language Runtime makes it easy to design components and applications whose objects interact across languages. Objects written in different languages can communicate with each other, and their behaviors can be tightly integrated. Goals Of Common Language Runtime: -Development services Deep cross-language interoperability Increased productivity -Deployment services Simple, reliable deployment Fewer versioning problems No more DLL HELL. -Run-time services Performance Scalability Availability

Execution Model of CLR

MSIL
The MSIL Disassembler that ships with the .NET Framework SDK. The Ildasm.exe parses any .NET Framework .exe or .dll assembly, and shows the information in a human-readable format. Ildasm.exe shows more than just the Microsoft intermediate language (MSIL) code-it also displays namespaces and types, including their interfaces. We can use Ildasm.exe to examine native .NET Framework assemblies, such as Mscorlib.dll, as well as .NET Framework assemblies provided by users. Most .NET Framework developers will find Ildasm.exe indispensable. . NET Class Library:

The .NET class library describes as containing hundreds of classes that model the system and services it provides. To make the .NET class library easier to work with understand, its divided into namespaces. The root namespace of the .NET class library is called system and it contains core classes and data types. Such as Int32, object, array and console. Secondary namespaces reside within the System namespace. The benefits of using the .NET Class Library include a consistent set of services available to all languages and simplified development because the .NET class library is available on all implementations of the .NET Framework.

Unifying Components
The components of .NET Frameworks are ASP.NET. Windows Forms. Visual Studio .NET.

ASP.NET
ASP.NET provides services to allow the creation, deployment, and execution of Web Applications and Web Services. Like ASP, ASP.NET is a server-side technology. Web Applications are built using Web Forms. Web Forms are designed to make building web-based applications as easy as building Visual Basic applications. ASP.NET provides the following advantages of server side scripting: ASP.NET enables to access information from data sources such as back-end databases and text files that are stored on web server or a computer that is accessible to a web server. ASP.NET enables to use a set of programming code called templates to create HTML documents. The advantage of using templates is that we can dynamically insert the content retrieved from data sources. ASP.NET also enables to separate HTML design from the data retrieval mechanism.

Features of ASP.NET
Compiled Code: The code written in ASP.NET is compiled and not interpreted. This makes ASP.NET applications faster to execute than other server side scripts. Enriched Tool Support: The ASP.NET Framework is provided with a rich toolbox and designer in the Visual Studio .NET IDE. Power and Flexibility: ASP.NET applications are based on CLR. As a result, the power and flexibility of the .NET platform is available to ASP.NET application developers. Simplicity: ASP.NET enables to build user interfaces that separate application logic from presentation content. Manageability: ASP.NET enables to manage Web applications by storing the configuration information in an Extensible Markup Language file. Scalability: ASP.NET has been designed with scalability in mind. It has features that help improve performance in a multiprocessor environment.

Security: ASP.NET provides a number of options to create an extensible Web application. State Management: ASP.NET Server-Side Controls: Web application development has always involved extracting values from query strings and form data. ASP.NET provides a more traditional application development model through server-side controls.

Controls
ASP.NET provides two sets of server controls. HtmlControls that use the same names and syntax as their HTML counterparts, and WebControls which provide a more consistent programming model and a higher level of abstraction. Architecture Of ASP.NET: ASP.NET is built upon 1) .NET Framework 2) Internet Information Server (IIS).

ASP.NET Object Model


User code executes on the web server in page or control event handlers. Controls are objects, available in server-side code that is derived from System.Web.UI.Control. The web page is an object, which is derived from System.Web.UI.Page which is a descendant of System.Web.UI.Control.

Postbacks:
A postback occurs when a page generates an HTML form whose values are posted back to the same page. A common technique for handling form data. In ASP and other server-side technologies the state of the page is lost upon postback. Unless you explicitly write code to maintain state. This is tedious, bulky and error-prone.

Web Forms
In ASP.NET, Web Forms consist of a user Interface and Application logic that is applied to the components of user interfaces. A user interface consists of static HTML or XML elements and server controls are saved in a file with. Aspx extension. This file is called a page file. Application logic consists of code that is applied to the user interface element of a Web Form page. Allows separation of UI and business logic. It uses .NET languages and not just scripting. Easy to use components like XCOPY/FTP deployment. Simple configuration (XML-based). It is scalable session state management. ASP.NET is extensible, Automatic process rollover, forms-based authentication

Web Services
Web Services allow to share business logic with various applications using the Internet. For instance, a Web Service can be built to provide information about the climatic conditions of various places in a country. A Web Service is defined as a program unit that can be accessed by other applications through the Internet. It can be called by any application over Hypertext Transfer Protocol (HTTP). Web Services make use of Extensible Markup Language (XML) to transfer data through HTTP. A programmable application component accessible via standard Web protocols. The center of the .NET architecture. Exposes functionality over the Web

Web services provide the following the following benefits


Easy accessibility: Any computer that has access to the Internet can easily access a Web service. This enables a number of applications residing on different software and hardware platforms to exchange data between each other. Flexibility in Structure: Depending on the requirements of a business, different types of web services can be created and used in an application. Easy Integration: Using Web services, you can easily integrate business application developed on different software and hardware platforms resulting in low setup costs.

Elements of the Web Service


XML: XML is used to exchange data over the Internet. It is the plain text format that can be understood by any type of hardware device over the Web. SOAP: To be able to communicate with each other, a Web service and a client application must agree upon a common protocol. It is a standard communication protocol for interchanging information in a structure format in a distributed environment. Web Services Description Language (WSDL): The information should be readily accessible to the Web service clients during the design phase. WDSL is a markup language that describes a Web service. Universal Description, Discovery and Integration (UDDI): It provides a standard mechanism to register and discover a Web service. The provider registers the Web service in the UDDI Directory, which contains pointers to the Web service and the WSDL document for the Web service.

Automatic Compilation
Just edit the code and hit the page. ASP.NET will automatically compile the code into an assembly. Compiled code is cached in the CLR Assembly Cache. Subsequent page hits use compiled assembly. If the text of the page changes then the code is recompiled.

Automatic Compilation

ADO.NET
ADO.NET is next generation of data access technology from Microsoft. ADO.NET is built with distributed and Internet applications in mind. ADO.NET provides strong support for XML and disconnected data processing.

Managed Providers
A managed provider is analogous to ODBC driver or OLEDB provider. It performs operation of communicating with the database. ADO.NET currently provides two distinct managed providers. The SQL Server managed provider is used with SQL server and is a very efficient way of communicating with SQL Server. OLEDB managed provider is used to communicate with any OLEDB compliant database like Access or Oracle. The data access APIs for both the providers are found in separate namespaces.

Namespaces in .NET

System. Data System.Data.OleDb System.Data.SQLClient System.Data.SQLTypes System.Data.XML

Objects in ADO.NET
Connection Object. DataSet Object. DataTable Object. DataView Object. DataRow Object. DataColumn Object.

Data Adapter and Data Set


Dataset is an in-memory disconnected representation of data from actual database. Dataset can be thought of as a collection of recordsets. Each such recordset is called as a DataTable. Note that data table can be based on JOIN queries. Dataset is much more powerful than a simple collection of DataTables. You can also put relations and constraints within various datatables of a dataset. DataSet and its constituent parts like DataTable, DataRow can also be created programmatically.

Since dataset is totally disconnected from the database there must be some means of communication between the dataset and the database. DataAdapter is used for that purpose.

The main functions performed by DataAdapter are


Populate the dataset by fetching data from database Updating changes made to the dataset back to the database

Changes made to the dataset are not written to the database unless explicitly updated via DataAdapter.

Comparing ADO and ADO.NET


ADO.NET is much different than ADO. In order to achieve disconnected data access programmers have to use different techniques like disconnected recordsets, RDS etc. ADO object model is very small as compared to ADO.NET. ADO.NET provides number of specialized objects to handle very specific tasks. Microsoft has taken care to closely map properties and methods of ADO.NET objects with existing ADO counterparts. As per Microsoft ADO.NET is not a replacement for ADO but an enhancement in the overall data access technology. You can use both ADO and ADO.NET in your application.

Introduction to C#
The programming language C# derives from C and C++. It is a modern programming language. It simplifies and modernizes C++ in the areas of classes, namespaces, method overloading, and exception handling. Much of the complexity of C++ was removed from C# to make it easier to use and less error prone. It was created for the enterprise developer who is willing to sacrifice a bit of C++'s raw power for more convenience and productivity. C# is modern, simple, object-oriented, and type-safe. It borrows a lot from C and C++, but it is considerably different in specific areas such as namespaces, classes, methods, and exception handling. C# provides you with convenient features such as garbage collection, type safety, versioning, and more. The only "expense" is that by default your code operates in safe mode, where no pointers are allowed. Type safety pays off. However, if you

need pointers, you can still use them via unsafe code--and no marshaling is involved when calling the unsafe code.

Goals of C#
Component-orientation. Everything is an object Robust and durable software Preserving your investment

C# based on key points in the following sections


Simple Modern Object-oriented Type-safe Versionable Compatible Flexible.

Types in C#
A C# program is a collection of Classes, structs, enums, interfaces. It provides a set of predefined types (E.g. int, byte, char, string, object). You can create your own types. All data and code is defined within a type no global variables, no global functions.

Types contains
Data members: Fields, constants, arrays and Events. Function members: Methods, operators, constructors, destructors, Properties, indexes. Other types: Classes, structs, enums, interfaces, delegates.

Benefits of value types


No heap allocation, less GC pressure. More efficient use of memory. Less reference indirection. Unified type system.

No primitive/object dichotomy

Unified type systems Boxing


It copies a value type into a reference type (object). Each value type has corresponding hidden reference type. That a reference-type copy is made of the value type. Value types are never aliased and is converted implicitly to object, a reference type. Essentially an up cast

Unboxing
Inverse operation of boxing. It copies the value out of the box. Copies from reference type to value type. Requires an explicit conversion may not succeed (like all explicit conversions). Essentially a down cast

Conversions
There is two types of conversions. Implicit conversions: Occur automatically. Guaranteed to succeed. No information (precision) loss. Explicit conversions: Require a cast. May not succeed. Information (precision) might be lost. Both implicit and explicit conversions can be user-defined.

FEATURE OF LANGUAGE VB.Net


With its release for the .NET platform, the Visual Basic language has undergone dramatic changes. For example: The language itself is now fully object-oriented. Applications and components written in Visual Basic .NET have full access to the .NET Framework, an extensive class library that provides system and application services.

All applications developed using Visual Basic .NET run within a managed runtime environment, the .NET common language runtime. What Is the Microsoft .NET Framework? The .NET Framework encompasses the following: A new way to expose operating system and other APIs. For years, the set of Windows functionality that was available to developers and the way that functionality was invoked were dependent on the language environment being used. For example, the Windows operating system provides the ability to create windows (obviously). Yet, the way this feature was invoked from a C++ program was dramatically different from the way it was invoked from a Visual Basic program. With .NET, the way that operating system services are invoked is uniform across all languages (including code embedded in ASP.NET pages). This portion of .NET is commonly referred to as the .NET Framework class library. A new infrastructure for managing application execution. To provide a number of sophisticated new operating-system servicesincluding code-level security, cross-language class inheritance, cross-language type compatibility, and hardware and operating-system independence, among othersMicrosoft developed a new runtime environment known as the Common Language Runtime (CLR). The CLR includes the Common Type System (CTS) for cross-language type compatibility and the Common Language Specification (CLS) for ensuring that third-party libraries can be used from all .NET-enabled languages. To support hardware and operating-system independence, Microsoft developed the Microsoft Intermediate Language (MSIL, or just IL). IL is a CPUindependent machine language-style instruction set into which .NET Framework programs are compiled. IL programs are compiled to the actual machine language on the target platform prior to execution (known as just-in-time, or JIT, compiling). IL is never interpreted. A new web server paradigm. To support high-capacity web sites, Microsoft has replaced its Active Server Pages (ASP) technology with ASP.NET. While developers who are used to classic ASP will find ASP.NET familiar on the surface, the underlying engine is different, and far more features are supported. One

difference, already mentioned in this chapter, is that ASP.NET web page code is now compiled rather than interpreted, greatly increasing execution speed. A new focus on distributed-application architecture.Visual Studio .NET provides top-notch tools for creating and consuming web services -- vendorindependent software services that can be invoked over the Internet. The .NET Framework is designed top to bottom with the Internet in mind. For example, ADO.NET, the next step in the evolution of Microsoft's vision of "universal data access," assumes that applications will work with disconnected data by default. In addition, the ADO.NET classes provide sophisticated XML capabilities, further increasing their usefulness in a distributed environment. An understanding of the .NET Framework is essential to developing professional Visual Basic .NET applications.

Visual Basic .NET


Visual Basic .NET is the next generation of Visual Basic, but it is also a significant departure from previous generations. Experienced Visual Basic 6 developers will feel comfortable with Visual Basic .NET code and will recognize most of its constructs. However, Microsoft has made some changes to make Visual Basic .NET a better language and an equal player in the .NET world. These include such additions as a Class keyword for defining classes and an Inherits keyword for object inheritance, among others. Visual Basic 6 code can't be compiled by the Visual Basic .NET compiler without significant modification. The good news is that Microsoft has provided a migration tool to handle the task (mostly, anyway). Common Language Infrastructure (CLI) and Common Language Runtime (CLR) At the heart of the .NET Framework is a new mechanism for loading and running programs and managing their interactions. This mechanism is described in the Common Language Infrastructure (CLI), a specification for a runtime environment that allows software components to: Pass data between each other without regard to the programming language in which each component is written

Execute on different operating systems and on different hardware platforms without having to recompile the high-level source code (a low-level compilation still automatically occurs on the target platform, as will be discussed in this chapter) Although the CLI specification was created by Microsoft, it has since been submitted to the ECMA standards organization (http://www.ecma.ch), which now has responsibility and control over it. The CLI is just a specificationit has to be implemented in order to be useful. An implementation of the CLI is known as a Common Language Runtime (CLR). Microsoft's CLR implementation on the Windows platform is not under ECMA's control, but it is Microsoft's intention that the CLR be a fully compliant implementation of the CLI. As of this writing, the CLI has not been implemented on non- Windows platforms, but Microsoft and others have announced intentions to do so. The CLI specifies how executable code is loaded, run, and managed. The portion of the CLR that performs the tasks of loading, running, and managing .NET applications is called the virtual execution system (VES). Code run by the VES is called managed code . The CLI greatly expands upon concepts that exist in Microsoft's Component Object Model (COM). As its core feature, COM specifies how object interfaces are laid out in memory. Any component that can create and consume this layout can share data with other components that do the same. COM was a big step forward when it was introduced (circa 1992), but it has its shortcomings. For example, in spite of its name, COM actually has no concept of an objectonly object interfaces. Therefore, COM can't support passing native types from one component to another.

Common Type System (CTS)


The CLI specification defines a rich type system that far surpasses COM's capabilities. It's called the Common Type System (CTS). The CTS defines at the runtime level how types are declared and used. Previously, language compilers controlled the creation and usage of types, including their layout in memory. This led to problems when a component written in one language tried to pass data to a component written in a different language. Anyone who has written Visual Basic 6 code to call Windows API functions, for instance, or who has tried to pass a JavaScript array to a component written either in

Visual Basic 6 or C++, is aware of this problem. It was up to the developer to translate the data to be understandable to the receiving component. The CTS obliterates this problem by providing the following features: Primitive types (Integer, String, etc.) are defined at the runtime level. Components can easily pass instances of primitive types between each other because they all agree on how that data is formatted. Complex types (structures, classes, enumerations, etc.) are constructed in a way that is defined at the runtime level. Components can easily pass instances of complex types between each other because they all agree on how complex types are constructed from primitive types. All types carry rich type information with them, meaning that a component that is handed an object can find out the definition of the type of which the object is an instance. This is analogous to type libraries in COM, but the CTS is different because the type information is much richer and is guaranteed to be present. Comparison of Assemblies, Modules, and Namespaces It's easy to confuse the three concepts of namespace, module, and assembly. Here is a recap:

Namespace
A portion of a type name. Specifically, it is the portion that precedes the final period in a fully qualified type name. Module A file that contains executable code (.exe or .dll).

Assembly
A set of one or more modules that are deployed as a unit. The assembly name is the same as the name of the module that contains the assembly manifest, minus the filename extension.

Common Language Specification (CLS)


The CLI defines a runtime that is capable of supporting most, if not all, of the features found in modern programming languages. It is not intended that all languages that target the CLR will support all CLR features. This could cause problems when components written in different languages attempt to interoperate. The CLI therefore defines a subset of features that are considered compatible across language boundaries. This subset is called the Common Language Specification (CLS).

Vendors creating components for use by others need to ensure that all externally visible constructs (e.g., public types, public and protected methods, parameters on public and protected methods, etc.) are CLS-compliant. This ensures that their components will be usable within a broad array of languages, including Visual Basic .NET. Developers authoring components in Visual Basic .NET have an easy job because all Visual Basic .NET code is CLS-compliant (unless the developer explicitly exposes a public or protected type member or method parameter that is of a non-CLScompliant type). Intermediate Language (IL) and Just-In-Time (JIT) Compilation All compilers that target the CLR compile source code to Intermediate Language (IL), also known as Common Intermediate Language (CIL). IL is a machine language that is not tied to any specific machine. Microsoft designed it from scratch to support the CLI's programming concepts. The CLI specifies that all CLR implementations can compile or interpret IL on the machine on which the CLR is running. If the IL is compiled (versus interpreted), compilation can occur at either of two times: Immediately prior to a method in the application being executed At deployment time In the first case, each method is compiled only when it is actually needed. After the method is compiled, subsequent calls bypass the compilation mechanism and call the compiled code directly. The compiled code is not saved to disk, so if the application is stopped and restarted, the compilation must occur again. This is known as just-in-time (JIT) compilation and is the most common scenario. In the second case, the application is compiled in its entirety at deployment time. IL is saved to .exe and .dll files. When such a file containing IL is executed, the CLR knows how to invoke the JIT compiler and execute the resulting code. Note that on the Microsoft Windows platforms, IL is always compilednever interpreted

SQL SERVER
Microsoft SQL Server Express is the freely-downloadable and distributable version of Microsoft's SQL Server relational database management system. It offers a database solution specifically targeted for embedded and smaller-scale applications. Unlike its predecessor, MSDE, there is no concurrent workload governor which "limit[s] performance if the database engine receives more work than is typical of a small number of users." It does, however, have a number of technical restrictions which make it undesirable for large-scale deployments, including: Maximum database size of 4 GB per database (compared to 2 GB in the former MSDE). The 4 GB limit is per database (log files excluded) and can be extended in some scenarios through the use of multiple interconnected databases.

Hardware utilization limits:


o Single physical CPU, multiple cores o 1 GB of RAM (runs on any size RAM system, but uses only 1 GB) Absence of SQL Server Agent Service

Although its predecessor, MSDE, was virtually devoid of basic GUI management tools, SQL Server Express includes several GUI tools for database management. Among these tools are:

SQL Server Management Studio Express SQL Server Configuration Manager SQL Server Surface Area Configuration tool SQL Server Business Intelligence Development Studio.

A relatively late addition to the SQL Server Express product line is a reduced functionality version of SQL Server Reporting Services, but features such as Analysis Services, Integration Services, and Notification Services are only available in the "Standard" edition and higher

Design

3.1 DATA FLOW DIAGRAM

USER

REGISTER

PHOTOS & DOCUMENTS


PHOTO
PHOTO ALL SIZES FEATURES DESCRIPTION

Data Base

USER

ALBUM
CUSTOMIZED VIEWING

LOGOUT COMPANY 2 COMPANY 2 EXIT

3.2 ER DIAGRAM

3.3 Data Base Design TABLE NAME: AlbumId


FIELD NAME AlbumId Caption Ispublic DATA TYPE Int nvarchar(50) Bit KEY Primary key

TABLE NAME: PhotoId


FIELD NAME PhotoId AlbumId Caption BytesOriginal BytesFull BytesPoster BytesThumb DATA TYPE int int nvarchar(50) Image Image Image Image KEY Primary key

SYSTEM ANALYSIS 3.1 PACKAGES SELECTED


SNo 1 2 3 Requirement Operating System Front End Back End Requirement Windows XP ASP.NET C#.NET SQL Express

3.1) HARDWARE REQUIREMENTS SNo 1 2 3 4 5 Requirement Processor Clock Speed RAM Hard Disk Floppy Disk 2.6 GHZ 512 MB 40 GB 1.44 MB Requirement Intel Pentium IV Processor

3.2) SOFTWARE REQUIREMENTS

SNo 1 2

Requirement Operating System Development Tool

Requirement Windows XP Visual Studio.Net 2005

Implementation

4.1Source Code APPENDIX Admin_Albums_aspx


using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Admin_Albums_aspx : System.Web.UI.Page { protected void FormView1_PageIndexChanging(object FormViewPageEventArgs e) { } }

sender,

Admin_Details_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Admin_Details_aspx : System.Web.UI.Page { void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int i = Convert.ToInt32(Request.QueryString["Page"]); if (i >= 0) FormView1.PageIndex = i; } }

protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e) { } }

sender,

Admin_Photos_aspx
using System; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data; using System.Data.OleDb; using System.IO; public partial class Admin_Photos_aspx : System.Web.UI.Page { protected void FormView1_ItemInserting(object sender, FormViewInsertEventArgs e) { if (((Byte[])e.Values["BytesOriginal"]).Length == 0) e.Cancel = true; } protected void Button1_Click(object sender, ImageClickEventArgs e) { DirectoryInfo d = new DirectoryInfo(Server.MapPath("~/Upload")); foreach (FileInfo f in d.GetFiles("*.jpg")) { byte[] buffer = new byte[f.OpenRead().Length]; f.OpenRead().Read(buffer, 0, (int)f.OpenRead().Length); PhotoManager.AddPhoto(Convert.ToInt32(Request.QueryString["AlbumID"]), f.Name, buffer); } GridView1.DataBind(); } protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e) { } } sender,

Admin_Photos_aspx
using System;

using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data; using System.Data.OleDb; using System.IO; public partial class Admin_Photos_aspx : System.Web.UI.Page { protected void FormView1_ItemInserting(object sender, FormViewInsertEventArgs e) { if (((Byte[])e.Values["BytesOriginal"]).Length == 0) e.Cancel = true; } protected void Button1_Click(object sender, ImageClickEventArgs e) { DirectoryInfo d = new DirectoryInfo(Server.MapPath("~/Upload")); foreach (FileInfo f in d.GetFiles("*.jpg")) { byte[] buffer = new byte[f.OpenRead().Length]; f.OpenRead().Read(buffer, 0, (int)f.OpenRead().Length); PhotoManager.AddPhoto(Convert.ToInt32(Request.QueryString["AlbumID"]), f.Name, buffer); } GridView1.DataBind(); } protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) { } protected void ObjectDataSource2_Selecting(object ObjectDataSourceSelectingEventArgs e) { } } sender,

album
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Albums_aspx : System.Web.UI.Page {

protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e) { } }

sender,

main page
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default_aspx : System.Web.UI.Page { public void Randomize(object sender, EventArgs e) { Random r = new Random(); FormView1.PageIndex = r.Next(FormView1.PageCount); } protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e) { } }

sender,

Default_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default_aspx : System.Web.UI.Page { public void Randomize(object sender, EventArgs e) { Random r = new Random(); FormView1.PageIndex = r.Next(FormView1.PageCount); } protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e)

sender,

{ } }

Details_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Details_aspx : System.Web.UI.Page { void Page_Load(object sender, EventArgs e) { Page.MaintainScrollPositionOnPostBack = true; if (!IsPostBack) { int i = Convert.ToInt32(Request.QueryString["Page"]); if (i >= 0) FormView1.PageIndex = i; } } protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e) { } } sender,

Download_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;

public partial class Download_aspx : System.Web.UI.Page { void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int i = Convert.ToInt32(Request.QueryString["Page"]); if (i >= 0) FormView1.PageIndex = i; } } }

Links_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Links_aspx : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

Photos_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Photos_aspx : System.Web.UI.Page { protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Footer) { if (DataList1.Items.Count == 0) Panel1.Visible = true; } }

protected void DataList1_SelectedIndexChanged(object sender, EventArgs e) { } protected void ObjectDataSource1_Selecting(object ObjectDataSourceSelectingEventArgs e) { } } sender,

Register_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Register_aspx : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

Resume_aspx
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Resume_aspx : System.Web.UI.Page { }

Screenshots

4.1 Screenshot

4.2 Screenshot

TESTING

5. TESTING
No man is perfect everybody will have their own fault position. No software is such keen and correct even after the complete life cycle. The testing of software is a means of assessing or measuring the software to determine its quality. The area of testing is one of the key process areas in ensuring the quality of the software. The most common mistake made by companies is to do ad-hoc testing without test plans. Testing is a process of executing a program with the intent of finding an error. A good test case is the one that has high probability of finding an as yet undiscovered error. A successful test is one that uncovers an as yet undiscovered error. Testing is vital to the success of the system. Testing is a process of executing a program with the intent of finding an error.

Unit Testing
To ensure that both valid and invalid data perform the required task effectively. o Test Considerations o Test Procedure

Integration Testing

To check whether the whole system works perfectly Top-Down Bottom-Up

Test Documentation System Testing


Verifies system elements being properly integrated and perform allocated functions Recovery Security Performance

User Interface Testing


Interaction among the system and external sources such as humans, devices or others

Input Validation Input Verification Organizing for Software

Test Data and Output


Taking various types of data we do the above testing. Preparation of test data plays a vital role in system testing. After preparing of test data the system under for study is tested using the test data. While testing the system by using the test data, errors are again uncovered and corrected by using the

above testing and correction methods. The system has been verified and validation by running with both the following Test data Live data

CONCLUSION

6. CONCLUSION
The project thus successfully implements the document and photo storage mechanism online, which helps users across the world to easily store and retrieve the documents in an easy and friendly manner with real time deployment. Since the documents are all indexed any where login and retrieval is possible with little or not effort at all locations having internet enablement. As part of future enhancements, the transfers are done on the basis of merit and can be integrated to use mobile development environment.

Bibliography

7. Bibliography
Foundations of Object Oriented Programming using .Net 2.0 Patterns 2006 OOP with Microsoft Visual Basic.Net 2002 Robin A. Reynolds Microsoft Press Christian Gross Apress

Beginning ASP.NET 2.0 Databases From novice to Professional 2006 Pro ASP.Net 2.0 in VB 2005 Laurence Moroney & Mathew MacDonald Apress Damien Foggon Apress

Expert One on One visual Basic 2005 Design and Development 2007 Professional .Net Framework 2.0 2006 Joe Duffy Wrox Press Rod Stephens Wrox Press

Web Links
http://www.asp.net http://www/vbdotnetheaven.com http://www.asp.org http://msdn.com

You might also like