Академический Документы
Профессиональный Документы
Культура Документы
A PROJECT REPORT ON File Sharing DEVELOPED AT DATA SOFT IT- COMPUTER SOLUTION FOR THE PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD OF
DEPARTMENT OF INFORMATION TECHNOLOGY R.C. TECHNICAL INSTITUTE, SOLA, AHMEDABAD. INTERNAL GUIDE Ms. DEVIKA GHADHVI DEPT. OF INFO. TECH. R.C.T.I., SOLA, AHMEDABAD EXTERNAL GUIDE VASIM SEKH (DATA SOFT IT COMPUTER SOLUTION)
R.C.T.I.
Page 1
Candidate's Declaration
Name : Chauhan Akash R. Enrollment No.: 096400316549 Department : I.T. Semester : 6th Students sign :
R.C.T.I. Page 2
CERTIFICATE
RANCHHODLAL CHHOTALAL TECHNICAL INSTITUTE Opp. New High Court, Sola, Ahmadabad
This is certifying that satisfactorily carried out of the project File Sharing Website assigned. Hence the project document is bonfire work of, Koriya Mayur A. [096400316540] Chauhan Akash R.[096400316549] Of 6th semester of Diploma Information Technology during academic year 2011-2012. DATE: 11th , May,2012 STAFF-INCHARGE: Ms. DEVIKA GHADHVI HEAD OF DEPARTMENT: MR. DINESH. V PATEL
R.C.T.I. Page 3
1. INTRODUCTION
1.1 PROJECT SUMMARY
This project will handle various types of services related to File Sharing System where policy of Sharing system may be of different type. It will manage all members details,Suggestions,Requests,Category,Sharing Information. Creating a system to automate the task of File Sharing which is prime area of concern for any modern File Sharing Website. The features would be: Storing, editing and reporting user details. Uploading the data of the user and generate the Details of The Uploads. Managing User details for File Sharing. Generate the report of the Shared Data as well as the Cuonts of Shared Data.
1.2 PURPOSE
This website provides facility to user that they can share their personal data/files with their friends or relatives. Users can directly register in our File Sharing website and can Upload the data they want. Users can also make his/her friends on our website and can create his/her own profile acount. Users can change his/her profile with his/her login id and Password. Users can post comment as well as the description of the data they are uploading. The only main thing of this website is that the users can share files only with those users who have already registered in this site as well as they are given authority by the particular users from whom they want to receive files.
R.C.T.I. Page 4
R.C.T.I. Page 5
All .NET applications are compiled into Intermediate Language code (MSIL). When executed on the CLR, MSIL is converted into native machine code specific to the operating platform. This process is done by a Just in Time (JIT) compiler. The code executed by the CLR is called as Managed Code. This code is type safe and thoroughly checked by the CLR before being deployed. The .NET runtime also provides a facility to incorporate existing COM components and DLL's into a .NET application. Code that is not controlled by the CLR is called Unmanaged Code. The .NET Framework is further comprised of Common Type System (CTS) and Common Language Specification (CLS). The CTS defines the common data types used by .NET programming languages. The CTS tells you how to represent characters and numbers in a program. The CLS represents the guidelines defined by for the .NET Framework. These specifications are normally used by the compiler developers and are available for all languages, which target the .NET Framework.
R.C.T.I. Page 6
1.4.3 Common Language Runtime The Common Language Runtime (CLR) is the virtual machine component of Microsoft's .NET initiative. It is Microsoft's implementation of the Common Language Infrastructure (CLI) standard, which defines an execution environment for program code. The CLR runs a form of byte code called the Microsoft Intermediate Language (MSIL), Microsoft's implementation of the Common Intermediate Language. Developers using the CLR write code in a high level language such as C# or VB.Net. At compile-time, a .NET compiler converts such code into MSIL (Microsoft Intermediate Language) code. At runtime, the CLR's just-in-time compiler (JIT compiler) converts the MSIL code into code native to the operating system. Alternatively, the MSIL code can be compiled to native code in a separate step prior to runtime. This speeds up all later runs of the software as the MSIL-to-native compilation is no longer necessary. Although some other implementations of the Common Language Infrastructure run on non-Windows operating systems, the CLR runs on Microsoft Windows operating systems. The virtual machine aspect of the CLR allows programmers to ignore many details of the specific CPU that will execute the program. The CLR also provides other important services, including the following: Memory management Thread management Exception handling Garbage collection Security
R.C.T.I. Page 7
4.5 Introduction to ASP.NET Although so Microsoft Visual Basic.NET is a powerful but simple language aimed primarily at developers creating web applications for the Microsoft .NET platform. It inherits many of the best features of C++ and Microsoft Visual Basic, but with some of the inconsistencies and anachronisms removed, resulting in cleaner and logical language. VB also contains a variety of useful new innovations that accelerate application development, especially when used in conjunction with Microsoft Visual Studio .NET. The Common Language Runtime provides the services that are needed for executing any application thats developed with one of the .NET languages. This is possible because all of the .NET languages compile to a common Intermediate Language. The CLR also provides the common type system that defines that data types that are used by all the .Net languages. That way, you can use same data types regardless of what.NET language youre using to develop your application.plementations. ASP.NET: Microsoft, realizing that ASP does posses some significant shortcomings, developed ASP.net. ASP.net is a set of components that provide developers with a framework with which to implement complex functionality. Two of the major improvements of ASP.net over traditional ASP are scalability and availability. ASP.net is scalable in that it provides state services that can be utilized to manage session variables across multiple web services in a server farm. Additionally, ASP.net possesses a high performance process model that can detect application failures and recover from them. We use the fundamentals of programming with VB using Visual Studio .NET and .NET framework.
The project is the starting point for authoring applications, components & services in Visual Studio.NET 2005.It eats as a container that manages your source code, data connections & references. A project is organized as part of a solution, which can contain
R.C.T.I. Page 8
multiple projects that are independent of each other. C# project file has .asproj extension where as solution file has .sln extension. In order to write code against an external component, your project must first contain a reference to it. A reference can be made to the following types of component. (1) .NET class libraries or assemblies (2) COM components (3) Other class libraries of projects in the same solution (4) XML web services
Features of ASP.NET: (1) Component Infrastructure. (2) Language Integration. (3) Internet Interoperation. (4) Simple Development. (5) Simple Deployment. (6) Reliability. (7) Security
R.C.T.I. Page 9
1.4.6 SQL SERVER 2005 For implementation of database Microsoft SQL Server is used. A database contains tables to handle users details like registration details; mail accounts details and maintaining summary of different users. This tool is used as back end for application.
In September 2005, Microsoft officially announced its .NET Enterprise Server line and its commitment to .NET as Microsofts application architecture model. The fundamental goal behind this new release of the companys popular server product line, now labeled .NET Enterprise Servers, is to provide simplified management, scalability, and availability throughout the enterprise, meeting the application goals of every organization and offering extensive support for .NET applications. SQL Server 2005 is the first .NET Enterprise Server available for public implementation and offers the data storage and management component of .NET services as well as a peek into the Microsofts vision of .NET application capabilities.
Before we can see where the future will take us, its always good to understand exactly where things came from. Microsoft SQL Server was first released as version 6.0 soon after Microsoft purchased and modified the code base to SQL Server from Sybase Corporation in 1995. Through version 6.5, released in 1996, SQL Server was accepted mainly as a departmental-scale database management system (DBMS) and lacked much of the scalability and reliability of enterprise class solutions offered by companies such as Oracle and Informix. Administration of the SQL Server 6.0 and 6.5 products required knowledgeable SQL Server database administrators committed to monitoring server availability, activity, and performance. For SQL Server to have the broad market reach that Microsoft aims for in most of its products and to make it a fundamental component in its then-new Windows Distributed internet Applications (DNA) Architecture Model, Microsoft needed to address the broad range of concerns and downfalls that plagued SQL Servers acceptance in both large and small organizations. R.C.T.I. Page 10
multiple projects that are independent of each other. C# project file has .asproj extension where as solution file has .sln extension. In order to write code against an external component, your project must first contain a reference to it. A reference can be made to the following types of component. (1) .NET class libraries or assemblies (2) COM components (3) Other class libraries of projects in the same solution (4) XML web services
R.C.T.I. Page 11
R.C.T.I. Page 12
A feasibility study is a short and focused study of the proposed system, which aims to answer a number of questions like: Does the system contribute to the overall objective of the organization? Can the system be implemented using current technology and within given cost and schedule constraints? Can the system be integrated with the systems which are already in place?
TECHNICAL FEASIBILITY Technical feasibility tries to answer the following questions to make the software feasible: Does the softwares or tools necessary for building or running the application Does the compatibility amongst software exists or not? Are developers aware of these chosen technologies? What about the alternatives of these chosen technologies?
Technology used in this project is JAVA, which is most feasible for this application due to following reasons: Java is platform independent so this feature gives extensibility to the program. Java has OOPS structure so it offers many features, which are not present in most of other languages. The selected technology has greater advantages in handling the Graphics over other challenger technologies. R.C.T.I. Page 13
So, here we do not need to invest extra funds to develop the system. Only the human effort is required to develop the system. Thus, system is economically feasible to the Organization. OPERATIONAL FEASIBILITY Operational feasibility measures how well the solution will work in the organization and how will end-user & management feels about the system? Proposed system is helpful for Analyzing and decision making related to Geoprocessing through better GUI provided by the system. On studying the operational feasibility of the project, the following conclusion could be derived:
R.C.T.I. Page 14
Operationally the software will be most feasible due to its strong Due to good accuracy percentage of software, it can be easily deployed. Due to its easy functionalities, the geologists who are not from IT Since the software is technically feasible it can be easily extended so these If it can be installed within suitable environment, system will perform Thus, it is operationally feasible to develop the proposed system
background can easily use the software. features increase its operational feasibility. operations with the use of limited resources.
2.2 PROJECT PLANNING & SCHEDULING CONCEPT To ensure the success of the project, a project requires a special approach. We may term this special approach as project management. Success for a project means: 1. It must get completed. 2. It must be completed within budget. 3. It must get completed within allocated time. 4. It must satisfy user needs. Project management meets these demands.
2.2.1 PROJECT DEVELOPMENT APPROACH To solve actual problems in industry settings, software engineer or a team of engineers must incorporate a development strategy that encompasses the process, methods and tools layers and generic phases. This strategy is often referred to as process model or a software engineering paradigm. A process model for software engineering is chosen R.C.T.I. Page 15
The Incremental Model* The incremental model combines elements of the linear sequential Model (applied repetitively) with the iterative philosophy of prototyping. Referring the figure the incremental model applies linear sequence produce in a staggered fashion as calendar time progresses. Each linear sequence produces deliverable increment of the software. When an incremental model is used, the first increment is often called product. That is, basic requirements are addressed, but many supplementary features remain undelivered. The customer uses the core product. As a result of use and or evolution, a plan is developed for the next increment. The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced.
R.C.T.I. Page 16
The incremental process model is iterative in nature. But unlike prototyping, the incremental model focuses on the delivery of an operational product with each increment. Early increments are stripped down version of the final product, but they provide capability that serves the user and also provide platform for evolution by the user. Incremental development is particularly useful when staffing is unavailable for a complete implementation by the business deadline that has been established for the project. Early increments can be implemented with fewer people. If core product is well received, then additional staff can be added to implement the next increment. Justification: In our software we used this process model as we were assigned the work as we complete the previously given task. So we had to analyze, design, code many times as we were assigned the work in increment as new requirements were added in the software. There was a need of adding new Geo-processing functions to the new increment while core product is delivered to the customers. Any new Geo-processing task like zooming, intersection, and union can be added in new increments of the
R.C.T.I. Page 17
2.2.2 PROJECT PLAN STEPS IN PROJECT MANAGEMENT Project management approach basically consists of the following 5 steps: 1. Grouping work in to packages, which acquires the property of the project. These means that the work so grouped are related to each other, contribute to the same goals and can be bound by definite time, cost and performance targets. 2. Entrusting the whole project to a single responsibility center known as the project manager, for coordinating, directing and controlling the project. 3. Supporting and servicing the project internally within the organization by through total projectization, and external through vendors and contractors. 4. Building up a commitment through negotiation, coordinating and directing towards goals through schedules, budgets and contracts. 5. Ensuring adherence to goals through continuous monitoring and control using schedule budget and contracts as the basis.
R.C.T.I. Page 18
R.C.T.I. Page 19
3.2
HARDWARE REQUIREMENTS Standard Pentium Series Processor. (Recommended Pentium III or more). Minimum 256 MB RAM. (Recommended 512 MB) HDD Storage capacity of 20GB or more
SOFTWARE REQUIREMENTS Map Viewer Shape Files Operating System Programming Tool
Windows XP Asp.Net(c#) Sql Server 2005 Documentation Tool Microsoft Word 2007 Microsoft Visio 2003
R.C.T.I. Page 20
4. SYSTEM ANALYSIS
4.1 REQUIREMENT OF NEW SYSTEM
R.C.T.I. Page 21
Requirements validation is concerned with showing that the requirements actually define the system that user wants. If this validation is inadequate, errors in the requirements will be propagated to the system design and implementation. Requirements are checked to discover if they are complete, consistent and in accordance with what users want from the projected system. There are several aspects of the requirements, which must be checked: Validity: -
R.C.T.I. Page 22
Completeness: The definition should include all functions and constraints intended by the system user. The software provides all the user requirements.
DATA DICTIONARY
R.C.T.I. Page 24
Login Table:-
R.C.T.I. Page 25
File Sharing Table:Field name Filesharing_id Fileinfo_id Login_id Data Type Int Int Int Constraint Primary Key Not Null Not Null Description Filesharing Id Number Filesinfo Id Number Login Id Number
R.C.T.I. Page 26
R.C.T.I. Page 27
Request Table:-
Description Request Id Number Id Number From File Shared Id Number Where File Shared Status of Shared File
Roll Table:Field name Roll_Id Roll_name Data Type int Int Varchar(50) Primary Key Not Null Roll Id Number Roll Name of User Constra Description
R.C.T.I. Page 28
Constr aint Primary Key Allow Null Allow Null Allow Null
Description Contact us Id Number Full name of User Email id of User Description of Problem
Contactus Table:-
Suggestion Table:-
R.C.T.I. Page 29
Login id
User name
Password
Visitor
Fill Form
User
Fill Form
Admin
View
Reg.ID
Name
Place
Download Block
Files
filename
Filetype
Change
Login id
Password
R.C.T.I. Page 30
Context Level
View & Collect Information
Visitor
Registor
File Sharing
Login DownLoad
Admin
Upload Files
User
R.C.T.I. Page 31
Visitor
Registration
File Sharing
R.C.T.I. Page 32
Admin
Login
Welcome
Change Password
Block User
View User
Uploads Files
Login
Registration Table
File Sharing
R.C.T.I. Page 33
User
Login
Welcome Page
Change Password
Approve File
Change Profile
Upload Files
Download Files
Login Table
Request Table
File sharing
File Info.
Register Info.
R.C.T.I. Page 34
5. Screen Layout
R.C.T.I. Page 35
Home page:
R.C.T.I. Page 36
Register page:
R.C.T.I. Page 37
6.
IMPLEMENTATION PLANNING
6.1 IMPLEMENTATION ENVIRONMENT
As far as our project is concerned, any person who is little bit aware of application and those who are willing to get information can use this project. As we are planning to carry this application to Live Add based project. The application can be used by many users. If just a single user uses application then the application will be bound to its personal needs. But if application is carry forwarded to Internet then database can be expanded to satisfy various users at a time. But due to shortage of time we had tried to cover all information of single user. This application is rich with Live media Live add, so it can be understand by nave users also.
Challenges identified for successful design and implementation of this project are dominated by: complexity, reliability/availability, transparent data access while respecting security, a high experiment data rate and data volume, scientific exploitation from multiple sites.
R.C.T.I. Page 38
Implementation Planning
Implementation phase requires precise planning and monitoring mechanism in order to ensure schedule and completeness. We developed the software in various sub phases in Implementation Phase. These steps are as follows:
Database Implementation
This phase involved creation of database table and specifying relationships among them in ACCESS2003.
First we decided to implement the core system classes which will facilitate the further implementation and makes it smoother. These steps involved Prototype development, Property implementation and Method implementation.
Prototype Development: Creating syntax structure for each core Class. Property/ Attribute Coding: Code for Each Property or Attribute Method Coding: Coding for each Method
R.C.T.I. Page 39
R.C.T.I. Page 40
7. TESTING
7.1 TESTING STRATEGY
A strategy for the software testing integrates software test case design methods into a well planned series of steps that result in the successful construction of software. The strategy provides a road map that describes the steps to be conducted as part of testing. When these steps are planned and then undertaken, very much efforts, time, and resources are required. A software testing strategy should be flexible enough to promote a customized testing approach. At that same time it must be rigid enough to promote reasonable planning and management tracking as the project progresses. A software testing strategy has following characteristics Testing begins at the component level and works outward towards the integration of the entire computer based system. Different testing techniques are appropriate at different points in time.
R.C.T.I. Page 41
Parameter type mismatches Parameter number mismatches Non-usage of the results of functions Uncalled functions and procedures All the above issues were checked in the whole code and few minor mistakes were found which were corrected and the resulting code was tested again.
BLACK-BOX TESTING
In Black-Box Testing or Functional Testing, the output of the module and software, is taken into consideration, i.e. whether the software gives proper output as per the requirements or not. In another words, this testing aim to test a program's behavior against it specification without making any reference to the internal structure of the program or the algorithms used. Therefore the source code is not needed, and so even purchased modules can be tested. The program just gets a certain input and its functionality is examined by observing the output. This can be done in the following way: Input Interface
Processing
R.C.T.I. Page 43
STRUCTURAL TESTING
Path testing has been exercised i.e. every independent execution path through a component or program has been tested. If every independent path is executed then all statements in the components must have been executed at least once. The structure of program has also been checked.
INTEGRATING TESTING
After the individual modules were tested out, the integration procedure is done to create a complete system. This integration process involves building the system and testing the resultant system for problems that arise from component interactions.
R.C.T.I. Page 44
INTERFACE TESTING
Interface testing is integral part of Integration testing. Therefore it is checked for the Interface misuse Interface misunderstanding The code to be tested is examined and explicitly lists each call to an external component. In the system, standards tests for GUIs have been performed, which are as follows. The position and related labels for all controls were checked. All menu functions and sub functions were verified for correctness. Validations for all inputs were done. Each menu functions were tested, whether it invokes the corresponding functionality properly. Whether the non-editable text control is disabling and it was also verified that it doesnt exceed the maximum allowed length. Whether the system prompts the user with appropriate message as and when invalid information is entered.
OBJECT TESTING
R.C.T.I. Page 45
7. Bibliography
BIBLIOGRAPHY
Books ASP.NET Complete Reference. Software engineering Concepts By Roger S.Presman Web Sites
www.esnips.com www.codeguru.com
R.C.T.I. Page 46
R.C.T.I. Page 47