You are on page 1of 60

1

1. INTRODUCTION

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

INTRODUCTION:
The OnLine Notepad is a shared database of notes. With OnLine Notepad, you can capture information that falls outside the scope of business application screens. You can share that information across a workgroup, a department or an enterprise, and you can analyze the information to improve quality and service in your business. The OnLine Notepad gives you the ability to manage business events more effectively. All the people who have contact with a customer have quick access to relevant information. With better information, customer calls can be handled in less time, with fewer mistakes. Notes can be collected online or can be imported from external sources. Applications can write notes to log actions taken. People can write notes as they handle business events. Notes can be used to keep a diary of customer contacts, to store comments or information that doesnt fit any field on your screen, to post reminders, to follow up on customer-related problems, or to keep an audit trail of critical activities. Notes are attached to a field on an application screen. Each time a note is created about a new subject or record, OnLine Notepad generates a background topic whose title is the field content. Examples of topics would be customer name, policy number, account number, product code, company name, etc. In this guided tour, we'll show you how to create Note Forms. We'll show you how to create notes and search a Notepad for information. We'll also show you how to read background information topics from the OnLine Notepad. ONLINE NOTEPAD is like a cloud computing. Cloud computing describes computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services. Cloud computing describes a new supplement, consumption, and delivery model for IT services based on Internet protocols, and it typically involves provisioning of dynamically scalable and often virtualized resources. It is a by-product and consequence of the ease-of-access to remote computing sites provided by the Internet. This frequently takes the form of web-based tools or applications that users can access and use through a web browser as if it was a program installed locally on their own computer.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

3 The National Institute of Standards and Technology (NIST) provide a somewhat more objective and specific definition: "Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction." In ONLINE NOTEPAD there are services like online file creation, save, save as and previous files, user can manage his/her directories like create, delete and rename. This application also provides feature like user can select java files and compile it, after compilation user can view where the errors in the java program are or user can get class file of the java program after successfully compilation. This application consists of Applet and Servlet. Applet is used to make Notepad. This notepad includes some services such as create, open his/her file, open public file, save or save as the file. User also gets the some facilities such as undo cut, copy, past, word wrap, find, find next. This web application provides manage online files up to 2 MBs hard disk space for each user. Some web applications available but some of those provide online storage with limited services and some applications provide compilation of java programs. Currently user has to install java development tool kit to compile java files and there is java runtime environment also installed on his/her system to run the java programs. This web application provides online storage of files and online java compiler to compile user files.

1.1 PROBLEM STATEMENT


Some web applications available but some of those provide online storage with limited services and some applications provide compilation of java programs. Currently user has to install java development tool kit to compile java files and there is java runtime environment also installed on his/her system to run the java programs. This web application provides online storage of files and online java compiler to compile user files.

1.2 OBJECTIVE
Now a days people use the web application more and more. The concept of cloud application provides online store, access and shares the data, online computation on data and in cloud computing end users dont need to require knowledge of configurable computing resources.
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

4 Notepad provides some services such as create new note (files), open existing files, save and save as on the disk but the in cloud computing application we require an online notepad which is used to manage online files and directories. The ONLINE NOTEPAD fulfills the need of online file management by creating and saving online files. 1.3 SCOPE

This is an application for managing online data and compiles java classes; I have seen many web
applications such as: 1. http://www.innovation.ch/java/java_compile.html: This is a remote compiling service for those who would either like to develop applications and/or applets but aren't fortunate enough to have access to one of the platforms to which the JDK has been ported, or who just don't want to go through the hassle of installing the complete JDK. In addition to compiling you can view any compiled applets directly without having to download them to your site first; this should speed up debugging applets a bit. 2. http://ideone.com/: Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows compiling and running code online in more than 40 programming languages. 3. http://notepub.com/: Use NotePub to save, share, and search your notes and emails. In brief, NotePub provides real time sharing and searching of notes with read/write permissions set for each note and user. NotePub is very straightforward, yet it lets you do most things you could with other types of software such as blogs, wikis, forums, email, chat, and social networks. You can see the latest public notes here. Above there are some existing examples, but some of those has facility to store and manage online data or some of those has facility to compile java file. But in the ONLINE NOTEPAD web application we can store online data up to 2MBs for each user and user can compile its java file and manage its directories. 1.4 PLATEFORM SPECIFICATION The software requirement specification is produced at the culmination of the analysis task. The function and performance allocated to software as part of system engineering are refined by establishing a complete information description, a detailed function description, a representation of
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

5 system behavior, an indication of performance requirements and design constraints, appropriate validation criteria, and other information pertinent to requirement. The application can run on any Operating System as platform. User needs JVM on his/her machine who wants to use this application. Web Browser is required to run this application at user end. There is a web server required on which it hosts. Application Server has database table for maintaining user account details in My SQL Server. 1.4.1 Hardware Specification To run this project no additional hardware are necessary only a internet connection on PC and higher configuration of RAM to increase the system performance. Hardware Ram Internet Specification 64 MB 64 Kbps

1.4.2 Software Specification To implement and run this project following software are necessary. End User Supported Platforms and Browsers The support for the APPLET tag in Java Plug-in is intended for use on the following operating systems:

Windows 95 Windows 98 (1st and 2nd editions) Windows ME Windows NT 4.0 Windows 2000 Windows XP Unix Linux

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

6 Java Plug-in provides support for the APPLET tag on the following web browsers: Internet Explorer 4.0 (4.01 recommended), 5.0 (5.01 recommended), 5.5 (Service Pack 2 recommended), 6.0 Netscape 6.0, 6.1 Firefox Safari 1.4.3 Implementation Language

Developer

Tools(Software) Java Editor Web Server Backend(database) Reporting Operating System Runtime Environment

Version and description Jdk1.6 is an SDK for java NetBeans6.8 is IDE for rapid development apache-tomcat-6.0.18 MySQL Server 5.0 PS UML, MS-Office Windows XP SP2 Jre1.6.x

User

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

2 SYSTEM ANALYSES

2.1 IDENTIFICATION OF NEED


Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

8 In the world we are growing for globalization day by day with the development in IT resources and advancement, by using latest technologies every organization wants to beat its competitors and want to grow. Enterprise Resourceful Planning is the need of todays organization. Survival on manual system is difficult so, thats why organization of the corporate world wants to computerize their departments. The modules should be complete database driven and interactive that should provide the proper information about the Placement and Training Organization. Success of any system depends up to a large extent on how accurately a problem is defined, thoroughly investigated and properly carried out to the choice of solution. Analysis is the only phase in which the requirements for the new system are identified. System analysis is a detailed study of the various operations performed by a system and their relationship within and outside of the system. The question is: what must be done to solve the problem? One aspect of analysis is defining the boundaries of the system and determining whether or not a candidate system should consider other related system. During analysis data are collected on the available files, decision points and transactions handled by the parent system. Data flow diagram, interviews, onsite observations, questionnaires are used as a logical system model and tools to perform the analysis.
2.2 PRELIMINARY INVESTIGATION

Requirement analysis is a software engineering task that bridges the gap between system level requirement engineering and software design. Requirement engineering activates result in the specification of softwares operational characteristics (functional, data, and behavior), indicates softwares interface with other system elements, and establish constraints that software must meet. Requirement analysis provides the software designer with a representation of information, function, and behavior that can be translated to data, architectural, interface, and component-level designs.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

3 Feasibility Study

FESEABLITY STUDY
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

10 A feasibility study is conducted to select the best system that meets performance requirement. This entails an identification description, an evaluation of candidate system and the selection of best system for he job. The system required performance is defined by a statement of constraints, the identification of specific system objective and a description of outputs.

The key considerations in feasibility analysis are: 1. 2. 3. Technical Feasibility Economic Feasibility Operational Feasibility

3.1 Technical Feasibility It is a measure of the practically of a specific technical solution and the availability of technical resources and expertise The proposed system uses Java as front-end and MySql as back-end tool. Oracle is a popular tool used to design and develop database objects such as table The above tools are readily available, easy to work with and widely used for

views, indexes. developing commercial application. Hardware used in this project are- p4 processor 2.4GHz, 128 MB RAM, 40 GB hard disk, floppy drive. This hardware was already available on the existing computer system. The software like Oracle 8i, Web logic Server, Thin Driver, JDK, JSDK, J2EE and operating system WINDOWS-XP used were already installed On the existing computer system. So no additional hardware and software were required to purchase and it is technically feasible. The technical feasibility is in employing computers to the organization. The organization is equipped with enough computers so that it is easier for updating. Hence the organization has not technical difficulty in adding this system. Tools Used :

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

11 1) JAVA Library 2) J2SDK 2.0 3) JDK 1.2 4) Apache Tomcat server 5) MySql

Duration of Project:Time Duration


For study Designing For development Testing 25 days 20 days 25 days 15 days

Total time
3.2 Economical feasibility

85 days

It looks at the financial aspects of the project. It determines whether the management has enough resources and budget to invest in the proposed system and the estimated time for the recovery of cost incurred. It also determines whether it is worthwhile to invest the money in the proposed project. Economic feasibility is determines by the means of cost benefit analysis. The proposed system is economically feasible because the cost involved in purchasing the hardware and the software are within approachable. The personal cost like salaries of employees hired are also nominal, because working in this system need not required a highly qualified professional. The operating-environment costs are marginal. The less time involved also helped in its economical feasibility. It was observed that the organization has already using computers for other purpose, so that there is no additional cost to be incurred for adding this system to its computers.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

12 The backend required for storing other details is also the same database that is Sql. The computers in the organization are highly sophisticated and dont needs extra components to load the software. Hence the organization can implement the new system without any additional expenditure. Hence, it is economically feasible.

Software Cost

:
Apache Tomcat MySql J2EE Kit : Free : Free

: Free

3.3 Operational Feasibility The system will be used if it is developed well then be resistance for users that undetermined No major training and new skills are required as it is based on DBMS model. It will help in the time saving and fast processing and dispersal of user request and applications. New product will provide all the benefits of present system with better performance. Improved information, better management and collection of the reports. User support. User involvement in the building of present system is sought to keep in mind the user specific requirement and needs. User will have control over their own information. Important information such as pay-slip can be generated at the click of a button. Faster and systematic processing of user application approval, allocation of IDs, payments, etc. used had greater chances of error due to wrong information entered by mistake.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

13

4 Literature Survey

LITERATURE SURVEY
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

14

The text editor that comes with Windows. It is a very elementary utility. Notepad is a very basic generic text editor included with Microsoft Windows that enables someone to open and read plain text files. If the file contains special formatting or is not a plain text file, Notepad will not be able to be read its contents. With the Online Notepad you can make memos every time and everywhere you want to and revisit them later. You can share your memo with other people and let them edit it if you wish to. Just share your access data. 4.1 Work Done By Other This is an application for managing online data and compiles java classes; I have seen many web applications such as: http://www.innovation.ch/java/java_compile.html: This is a remote compiling service for those who would either like to develop applications and/or applets but aren't fortunate enough to have access to one of the platforms to which the JDK has been ported, or who just don't want to go through the hassle of installing the complete JDK. In addition to compiling you can view any compiled applets directly without having to download them to your site first; this should speed up debugging applets a bit. http://ideone.com/: Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows compiling and running code online in more than 40 programming languages. http://notepub.com/: Use NotePub to save, share, and search your notes and emails. In brief, NotePub provides real time sharing and searching of notes with read/write permissions set for each note and user. NotePub is very straightforward, yet it lets you do most things you could with other types of software such as blogs, wikis, forums, email, chat, and social networks. You can see the latest public notes here. Above there are some existing examples, but some of those has facility to store and manage online data or some of those has facility to compile java file. But in the ONLINE NOTEPAD web application we can store online data up to 2MBs for each user and user can compile its java file and manage its directories.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

15 4.2 Benefits

A small program written in Java and included in a HTML page. It is independent of the operating system on which it runs a small computer program that can be transmitted from a server to a client computer and executed on the client. A small program that can be sent along with a Web page to a user. Java applets can perform interactive animations, immediate calculations, or other simple tasks without having to send a user. Request back to the server 4.3 Proposed Solution Data modeling answers a set of specific questions that are revel vent to any data processing application. What are primary data object to be proposed by the system? What is the composition of each data object and what attributes describe the object? Here do the object currently reside? What are the relationship between each object and other object? What are the relationship between the object and the processes that transform them? To answer this all problems different type of data modeling methods make use of the entity relationship model and dataflow diagram show the data flow. 4.4 Technology Used This is a web application which is developed in Javas Applet and Servlet technology. A Servlets Job Read explicit data sent by client (form data) Read implicit data sent by client (request headers) Generate the results Send the explicit data back to client (HTML) Send the implicit data to client (status codes and response headers) APPLET SERVLET COMMUNICATION Applet-Servlet Communication with HTTP GET and POST In the previous version the HTML form was used to submit the student's data to the servlet. Accessing the form data on the server side was simple and straightforward. This was accomplished

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

16 by calling the method HttpRequest.getParameter(<form field name>), which is available in the Java servlet API. Following image shows where this application was started:

Secure Applet servlet communication possible by the cryptography. for that I have studied some research paper. 1. A Hybrid Encryption Algorithm Based on DES and RSA in Bluetooth Communication, Zhiqian Miao, College of Computer and Information Engineering Zhejiang Gongshang University Hangzhou, China, miaozq@pop.zjgsu.edu.cn, 2010 Second International Conference on Modeling, Simulation and Visualization Methods 2. Data Safe Transmission Mechanism Based on Integrated Encryption Algorithm Kui-He Yang, Shi-Jin Niu College of Information, Hebei University of Science and Technology, Shijiazhuang 050018, China niushijin24@yahoo.com.cn This application also include java class translator which means by this service user can give a java file to the applet and servlet compile it server side if there are error in java program it informs the user where and what are the errors in the given java program. This facility also available in the some web sites such as in http://www.innovation.ch/java/java_compile.html which provides facility to compile our java files (optional with jar files) and this website also has a feature to run applet programs. One more website is also available which compiles java program and run also (except users input and package programs).
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

17

5 Technical Parts

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

18

5.1 System Flow Diagram


As information moves through software it is modified by a series of transformations. A System flow diagram is a graphical representation that depicts information flow and the transforms that are applied as data move from input to output. The basic of a data flow diagram also known as a data flow graph or bubble chart. The data flow may be used to represent a system or software at any level of abstraction. In fact DFDs may be partitioned into levels that represent the entire software elements a s single bubble with input and output data indicated by incoming and outgoing arrows respectively.

5.2 Sequence Diagram


It shows the interaction between classes arranged in the time sequence or message exchanges that take place between classes for specific purpose. A sequence diagram presents an interaction which is a set of messages between Classifier Roles with in Collaboration, or an Interaction Instance Set which is a set of stimuli between Instances with in a Collaboration Instance Set to effect a desired operation or result. A sequence diagram has two dimensions: the vertical represents time, and the horizontal dimension represents different instances. Normally time proceeds down the page. The dimensions may be reversed, if desired. Usually only time sequences are important, but in real time applications the time axis could be actual metric.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

19

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

20

5.3 Subsystem Class Design


Class diagram describes the static structure of the various classes of the system and their association but the classes declared with the system, which does not declare how the class, behaves when they act economically.
A class diagram is a graph of classifier elements connected by their various static relationships. A class diagram may also contain interfaces, packages, relationships and even instances, such as objects and links. Perhaps a better name would be static structural diagram but class diagram is shorter and well established. A class diagram is a graphic view of the static structural model. The individual class diagrams do not represents divisions in the underlying model. A class diagram is a collection of static model elements, such as classes, interfaces and their relationships, connected as a graph to each other and to their contents. Class diagrams may be organized into packages either with their underlying models or separate packages that build upon the underlying model packages.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

21

6 Software Engineering Approach

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

22

6.1 Software Engineering Paradigm Applied


Software Engineering is the establishment and use of sound engineering principles in order to obtain economically software that is both reliable and works efficiently on real systems. To solve actual problems in an industry / organizations setting, such as Central or State Govt. Sectors, Public / private Sectors, Colleges, Schools, etc., a Software Engineer or a team of engineers must incorporate a development strategy that encompasses the process, methods, tools layers, and the generic phases. This strategy is referred to as a Process Model or a Software Engineering Paradigm. Models used for system development in project Customer Relationship Management and Sales Force Automation, is Prototyping. Descriptions of these models are as following

6.1.1 Description
The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

23

6.1.2 Advantage and Disadvantage


The waterfall model is the oldest and most widely used model in the field of software development. There are certain advantages of the waterfall model, which causes it to be the most widely used model as yet. Some of them can be listed as under.

Needless to mention, it is a linear model and of course, linear models are the most simple to be implemented. The amount of resources required to implement this model is very minimal. One great advantage of the waterfall model is that documentation is produced at every stage of the waterfall model development. This makes the understanding of the product designing procedure simpler.

After every major stage of software coding, testing is done to check the correct running of the code.

Disadvantages of Waterfall Model The question that must be bothering you now is that with so many advantages at hand, what could be the possible disadvantages of the waterfall model. Well, there are some disadvantages of this widely accepted model too. Let us look at a few of them.

Ironically, the biggest disadvantage of the waterfall model is one of its greatest advantage. You cannot go back, if the design phase has gone wrong, things can get very complicated in the implementation phase.

Many a times, it happens that the client is not very clear of what he exactly wants from the software. Any changes that he mentions in between may cause a lot of confusion. Small changes or errors that arise in the completed software may cause a lot of problem. The greatest disadvantage of the waterfall model is that until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client. Thus, he is hardly in a position to mention if what has been designed is exactly what he had asked for

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

24

6.1.3 Reason for use


The most important aspect of the waterfall model is that none of the stages can be started off with before the preceding stage is complete. The software life cycle has to follow the sequence. The original waterfall model designed by Royce consisted of the following seven stages:

Specification of Requirements Design Construction Integration Testing and Debugging Installation Maintenance

However, various modifications were brought over to this waterfall model as and when required. Here, in this article, we will try to understand a simple waterfall model, broken into six stages. There is a seventh stage which is same as that of the first stage, requirements, but it follows the last stage and is referred to as updated maintenance.

6.2.1 Software Requirement Specification


The software requirement specification is produced at the culmination of the analysis task. The function and performance allocated to software as part of system engineering are refined by establishing a complete information description, a detailed function description, a representation of system behavior, an indication of performance requirements and design constraints, appropriate validation criteria, and other information pertinent to requirement. The application can run on any Operating System as platform. We need JVM on users machine who wants to use this application. Web Browser is required to run this application at user end. There is a web server required on which it hosts. We have database table for maintaining user account details in My SQL Server

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

25

To implement and run this project following software are necessary. Tools(Software) Java Editor Web Server Backend(database) Reporting Operating System Runtime Environment Version and description Jdk1.6 is an SDK for java NetBeans6.8 is IDE for rapid development apache-tomcat-6.0.18 MySQL Server 5.0 PS UML, MS-Office Windows XP SP2 Jre1.6.x

Developer

User

6.2.1.2 Use case Model


A use case specifies the behaviour of the system or a part of system and is a description of set of sequence of actions including variant that a system performs to yield an observable result of value to an actor. Use case help to serve validate the architecture and to verify our system as it involves during development. A use case describe a set of sequences in which it sequence represents the interaction of the things outside the system with the system itself .This behavior are in effect system level function that use to visualize, specify ,construct and document the intended behavior of our system during the requirement capture and analysis.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

26

6.2.1.3 Conceptual Level Activity diagram


Activity diagram is one of the five diagrams in the UML for modeling the dynamic aspect of the system. An activity diagram is essentially a flow chart showing flow of control from activity to activity. With an activity diagram we can also model the flow of an object as it moves from state to state at different points in flow of control. Activity diagram may extend along to visualize, specify, construct and document the dynamic of society of objects or they may be use to model the flow of control of an operation.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

27

FIG: ACTIVITY DIAGRAM

6.3 Planning Managerial Issues


Software project management begins with set of activities that are collectively called project planning. Before the project can begin, the manager and the software team must estimate the work to be done, the resources that will be that will be required, and the time that will elapse from start to finish. The objective of software project planning is to provide a framework that enables the software manager to make reasonable estimates of resources, cost and schedule. These estimates are made within a limited time frame at the beginning of a software project and should be updated regularly as the project progresses.

Software Scope
The first activity in software project planning is the determination of software scope. Function and performance allocated to software during system engineering should be accessed to establish a project scope that is unambiguous and understandable at the management and technical levels.

Resources
The second software planning task is estimation of the resources required to accomplish the software development effort. Figure shows development resources as pyramid. The development
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

28 environment Hardware and software tools sit at the foundation of the resource pyramid and provides the infrastructure to support the development effort. Software building locks that dramatically reduce development cost and accelerate delivery.

People H/W and S/W tools

Figure Project Resources

1. Human Resources
The planner begins by evaluating scope and selecting the skills required to complete development. Both organizational poison and specially are specified. For relatively small projects, a single individual may perform all software engineering tasks consulting with specialties required.

2. Reusable software Resources


Component based software engineering emphasis reusability that is the creation and reuse of software building blocks. Such building blocks often called component must be catalogued for easy reference standardized for easy application and validated for easy integration.

Off the shelf component


Existing software that can be acquired from a third party or hat has been developed internally for a past project. Components are purchased from a third party are ready for use on the current project and have been fully validated.

Full experience component

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

29 Existing specification, design, code or test data developed for past projects that are similar to the software to be built for current project. members of the current software team have had full experience in the application area represent by these components.

Partial experience component


Existing specification, design, code or test data developed for past project that are related to the software to be built for the current project but will require substantial modification.

New component
Software component that must be build by software team specifically for the needs of the current project.

1. Environmental resource
The environmental that support the software project often called the software engineering environment, incorporates a hardware and software. Hardware provides a platform that support the tools required to produce the work product that is an outcome of good software engineering practice. Because most software organization has multiple consultancies that require access to the software engineering environment, a project planner must prescribe the time window required for hardware and software and verify these resources will be available.

6.3.3 Team organization


Our Team Structure is Democratic Decentralized. In Democratic Decentralized team structures following features are observed: It has no team leader. All players are at the same level. Problem solving is done in-groups. It has high degree of sociability. It is generally employed for small projects.

The team structure can be specified as Democratic Decentralized (DD). The team working to build this software comprises of two members under the guidance of a project guide and co-guide. Our software engineering team has no permanent leader. Rather, task coordinators are appointed for

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

30 short durations and then replaced by others who may coordinate different tasks. Group makes decisions on problems and approach. onsensus and are taken democratically. Communication among team members is horizontal. Guides: Mrs Maya Ingle Books and Internet

Developer: Kumar Umang Gupta

Developer: Kumar Umang Gupta

6.3.4 Project Scheduling


Timeline (Gantt) charts enable software planners to determine what tasks will be need to be conducted at a given point in time (based on estimates for effort, start time, and duration for each task). Timeline chart can either be developed for the entire project or separate charts can be developed for each project function or for each individual working on the project. All project tasks are listed in the left hand column. The horizontal bars indicate the duration of each task. When multiple bars occur at the same time on the calendar, task concurrency is implied. The diamonds indicate milestones. One column represents three week. Gantt chart
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

31
Week Week 4, 5, 6 Week 7, 9,10 8, Week 11, 12 , 13 Week 14, 15, 16 Week 17,18, 19 Week 20, 21, 22 Week 23, 24,25 ,26 Week 22, 28, 29 Week 30, 31, 32

Work tasks

1, 2, 3

1.1.1 Meeting the client


1.1.2 Gathering the user requirements

Milestone: Requirements gathered


1.2.1 Study of gathered requirements

1.2.2 Breaking the requirements


Milestone: Requirements analyzed. 2.1.1 Comparison of available tools.

2.1.2 Evaluate the selected tool.

Milestone: Tool decided.


2.2.1 Separation module-wise info.

2.2.2 Modularizing the software. Milestone: modularization.

2.3.1

Analysis

the

Connect module 2.3.2 Analysis Remote Operation module 2.3.3 Analysis Encryption/Decryption module 2.3.4 Analysis chatting Module 2.3.5. Analysis Message Passing Module 2.3.6. Analysis My

Browser module Milestone: Analysis of Module completed.


3.1.1 Assessing the front-end tools.

3.1.2 Choosing a tool for GUI.


Milestone: Front-end tool decided.
3.2.1 Deciding the best possible layout

3.2.2 Designing of GUI. Milestone: GUI designed.


5.1.1 Compiling the source code.
5.1.2 Checking for no runtime errors.

Milestone: tested.

Software

5.2.1 Testing the input and output file

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

32
5.2.2 Error free retrieval of data

Milestone: Output tested.

Schedule Chart Work Tasks Planned Start 1. Identify needs and benefits Meet with customer. Establish product statement. Milestone: Product stat. Defined. Wk1 d1 Wk1 d2 Wk1 d5 Wk1 d5 2. Identify & define scope of actors Milestone: Use-cases identified. Wk2 d1 Wk2 d3 Wk2 d5 Wk2 d5 3. Define function/behavior Wk2 d1 Wk2 d4 Wk2 d5 Wk2 d5 Wk2 d2 Wk2 d5 Wk2 d6 Wk2 d6 Wk2 d3 Wk2 d5 Wk2 d7 Wk2 d7 Wk1 d1 Wk1 d2 Wk1 d5 Wk1 d5 Wk1 d1 Wk1 d4 Wk1 d6 Wk1 d6 Wk1 d1 Wk1 d4 Wk1 d7 Wk1 d7 Actual Start Planned Complete Actual Complete

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

33 Define function Milestone: functionality definition complete. Wk3 d1 Wk3 d2 Wk3 d4 Wk3 d6 Wk3 d6 5. Design Interfaces Meet with customers Update interfaces Milestone: Interfaces designing complete Wk4 d6 Wk5 d2 Wk5 d4 Wk5 d5 Wk5 d5 6. Coding 7. Testing Wk6 d1 Wk7 d2 Wk4 d6 Wk5 d2 Wk5 d4 Wk5 d5 Wk5 d5 Wk6 d1 Wk7 d4 Wk5 d1 Wk5 d3 Wk5 d4 Wk5 d6 Wk5 d6 Wk7 d2 Wk7 d4 Wk5 d1 Wk5 d3 Wk5 d4 Wk5 d7 Wk5 d7 Wk7 d4 Wk7 d6 Wk3 d1 Wk3 d3 Wk3 d4 Wk3 d6 Wk3 d6 Wk3 d2 Wk3 d3 Wk3 d5 Wk3 d7 Wk3 d7 Wk3 d2 Wk3 d4 Wk3 d6 Wk3 d7 Wk3 d7

Before developing the software it is necessary to make a framework & planning strategies so the implementation gets easier & we come to know whether we are going in right direction. An implementation planning is the pre planning before the development of the project, under which all aspects decided. Planning may include the modules of the project-which helps a developer to work in a direction & complete the module under the required time period. Secondly a planning may have the form designing- A form designing help to a user, whether it is of his choice or he want something more.

6.3.5 Estimation
Cost of currently available software: If a product is totally new then its a different matter otherwise we always have a product working on the given problem so first check it out what is the cost of currently existing software? Now if the cost of our product is higher than that one check

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

34 why it is so? Whether we are providing some extra or better facilities or any other reason. If the cost of our system is low than also find out why it is so? When we go through this process for our system we find out that the cost of the software is really very high as compared to our product as it has high cost of development.

Cost of resources:
As during the development of the system we are going to engage a number of resources so we have to also think about their cost like Cost of computers, Cost of electric power, Cost of workplace etc.

Cost of installation:
In the development of the system the cost of installation also matters a lot. It includes of: Cost of software if not installed, Cost of electric cables, Cost of networking etc. In our project we have to keep in mind the Cost of software and hardware i.e. Servers and hosts.

Cost of maintenance:
Feasibility Analysis related to economics also includes the cost of maintenance as after installation of the software the developer has to provide a maintenance service to the customer for a long time so it is also included in the cost of the system.

Cost of development:
In the early days of computing, software cost constituted a small percentage of the overall computer based system cost. An order of magnitude error in estimates of software cost had relatively little impact. Today software is the most expensive element. For complex, custom systems, a large cost estimation error can make the difference between profit and loss. Cost overrun can be disastrous for the developer. Software project estimation can be done in systematic steps that provide estimate with acceptable risks. To achieve reliable cost estimates we will go through the followings: LOC based estimation. FP based estimation.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

35 Empirical estimation using COCOMO model II

LOC (Line of Code) Based Estimation:


For our purpose, we assume that refinement can be done in the underlined way and the major software functions have been identified as: User interface and control facilities (UICF) Functional Code (FC) Error control (EC)

Estimation table for LOC method


Function User interface and control facilities(UICF) Functional Code (FC) Error control (EC) Total Estimated LOC 600 400 350 1350

A review of old data indicates that the productivity for this kind of systems are generally 1000 lines/month. Based on the labor rate of 30000 Rs. Per month, the cost of per line will be 30 Rs. And the overall cost of the project will be 30*1350=40500 Rs.

Empirical Estimation using COCOMO model II:


The name COCOMO model stands for Constructive Cost Model. The original COCOMO model became one of the most widely used and discussed software cost estimation model in the industries. It has evolved into a more comprehensive estimation model; called COCOMO II. It requires sizing information. Three different sizing operations are available Object point, function points and line of source code. COCOMO II uses object points for the estimation. Like function points the object point is an indirect software measure that is computed using counts of the number of screens (at the user interface), reports, and components likely to be required to build the application. Each object instance is classified into 3 complexity levels. Once complexity is determined the number of screens, reports, and components are weighted.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

36 Object Type Screen Other Component 5 3 11 5 7 8 Simple Medium Difficult

Number of simple screens = 5 Number of medium screens = 11 Number of difficult screens = 7 Number of simple components = 3 Number of medium components =5 Number of difficult components = 8 Total object point count =39

6.3.6 Risk Analysis


A risk is any unfavorable event or circumstance that can occur while a project is underway. If a risk becomes true, it can hamper the successful and timely completion of a project. Therefore, it is necessary to anticipate and identify different risks that a project is susceptible to, so that a contingency plan may be prepared in advance to contain the effects of each risk. Risk management aims at dealing with all kinds of risks that might affect a project. We quantify the level of uncertainty and the degree of loss associated with each risk, when we analyze the different categories of risks that are considered. Types of Risks The main types of risks are:

Project Risks
Project risks threaten the Project Plan. For example, if a project risk occurs in reality, then it is likely that the project schedule will slip and that the costs will increase. Project risks identify potential budgetary, schedule, personnel, resource, customer, and requirement problems and their impact on a software project.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

37

Technical Risks
Technical risks threaten the quality and timeliness of the software to be produced. A technical risk makes implementation difficult or at times, impossible. Technical risks identify the potential design, implementation, interfacing, maintenance, and verification problems.

Business Risks
Business risks threaten the viability of the software to be built. Business risks often jeopardize the product or project. This risk occurs when: A product or a system is built correctly but is not wanted in the market (known as Market Risk) A product is built without keeping the overall business strategy of the company in mind (known as Strategic Risk) A product does not fetch the price in the market it is expected to (known as Sell Risk) The team members do not work cohesively towards completing the product (known as Management Risk) the cost of the product exceeds the budgetary allocation (known as Budget Risk).

Known Risks
Known risks are those risks that are previously known to the developers. These risks include the delays related to the delivery date of the project. Predictable Risks

Predictable risks are risks that can be foretold based on experience gained in developing past projects, or in developing previous segments of the current project. For example, a risk ignored in the analysis phase is likely to cause a risk in the design phase. Unpredictable Risk Unpredictable risks are undesirable events that occur unexpectedly. This type of risk covers such situations like the one where the user changes his requirements during the development of the project.
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

38

Risk Table

Risk S No 1. 2. 3. 4. 5. 6. 7. 8. 9. Risk Application designed becomes outdated Inexperienced Developers Delivery Date tightened Cost Exceeds Budget Change in Requirement Technology will not meet expectations Design Problems and Bugs Insufficient Time for Testing Lack of Training on Tools Category BI SE BI BI PS TE SE TE DE Probability 40% 60% 50% 25% 10% 60% 20% 20% 80% Impact 2 2 2 3 4 1 2 2 2 Exposure 0.8 1.2 1.0 0.75 0.4 0.6 0.4 0.4 1.6

A risk table is a technique for Risk Projection. Risk Projection is an attempt to delineate the effects of risk based on two factors the probability that the risk is real, and the consequences associated with the occurrence of the risk, should the risk occur. Where BI = Business Impact SE = Staff Size and Experience

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

39 PS = Product Size TE = Technology to be Built DE = Development Environment And Risk Impact categories1. 2. 3. 4. Catastrophic Critical Marginal Negligible

Risk Prioritization Based on the impact of the individual risks, we can prioritize them in the order of their removal as follows: Design does not meet requirements. Size of Project becomes large. Delivery Deadline will be tightened. Insufficient Time for Testing Larger Number Of user than Planned. Customer changes the requirements. Lack of Training on Development Tools. Technology does not meet requirements. End users resist system. Project Loss due to Hard Disk Failure.

Decreasing Priority

6.4 Design The design of object oriented software requires the definition of multilayered software architecture, the specification of subsystem that performs required function and provide infrastructure support, a description of object (classes) that form the building blocks of the systems, and a description of the communication mechanism that allow data to flow in the system. 6.4.1 Design Concepts

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

40 Control hierarchy or program structure - represents the module organization and implies a control hierarchy, but does not represent the procedural aspects of the software (e.g. event sequences) Structural partitioning - horizontal partitioning defines three partitions (input, data transformations, and output); vertical partitioning (factoring) distributes control in a topdown manner (control decisions in top level modules and processing work in the lower level modules) Data structure - representation of the logical relationship among individual data elements (requires at least as much attention as algorithm design) Software procedure - precise specification of processing (event sequences, decision points, repetitive operations, data organization/structure) Information hiding - information (data and procedure) contained within a module is inaccessible to modules that have no need for such information ER DIAGRAM An entity-relationship (ER) diagram is a specialized graphic that illustrates the interrelationships between entities in a database. ER diagrams often use symbols to represent three different types of information. Boxes are commonly used to represent entities. Diamonds are normally used to represent relationships and ovals are used to represent attributes.

6.4.2 Design Technique

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

41 The way in software is to be designed is guided by design technique. Five techniques have already been suggested: 1. Step wise refinement. It is a top down technique for decomposing a system from highlevel specifications into more elementary levels. 2. Levels of abstraction. It is decomposing decisions into abstract ideas so that independent programmers can develop them. 3. Structured design. It uses structured diagrams. 4. Top-down development. It shows how the modules get called in top-down approach. 5. Bottom-up design technique. 5.4.3 Modeling Data modeling answers a set of specific questions that are revel vent to any data processing application. What are primary data object to be proposed by the system? What is the composition of each data object and what attributes describe the object? Here do the object currently reside? What are the relationship between each object and other object? What are the relationship between the object and the processes that transform them? To answer this all problems different type of data modeling methods make use of the entity relationship model and dataflow diagram show the data flow. 6.4.3.1 State Diagram A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction. There are many forms of state diagrams, which differ slightly and have different semantics.

6.4.3.1 Activity Diagram


Activity diagram is one of the five diagrams in the UML for modeling the dynamic aspect of the system. An activity diagram is essentially a flow chart showing flow of control from activity to activity.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

42 With an activity diagram we can also model the flow of an object as it moves from state to state at different points in flow of control. Activity diagram may extend along to visualize, specify, construct and document the dynamic of society of objects or they may be use to model the flow of control of an operation.

6.4.3.3 Data Flow Diagram As information moves through software it is modified by a series of transformations. A data flow diagram is a graphical representation that depicts information flow and the transforms that are applied as data move from input to output. The basic of a data flow diagram also known as a data flow graph or bubble chart. The data flow may be used to represent a system or software at any level of abstraction. In fact DFDs may be partitioned into levels that represent the entire software elements a s single bubble with input and output data indicated by incoming and outgoing arrows respectively. DFD LEVEL 0

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

43 A level 0 DFD also called fundamental system model or a context model, represents the entire software elements as a single bubble with input and output data indicted by incoming and outgoing arrow, respectively. Additional processes and information flow paths are represented as the level 0 is portioned in detail.

Fig. DFD-0
DFD 1 FOR LOGIN DFD 1 shows the details of the system. In ONLINE NOTEPAD system Database is used to store the web client users ID, name, password, security question, answer. In this application database is used for login, registration, and forgot password so we are prepared a figure DFD 1 for login.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

44

Figure DFD 1

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

45

6.5.1 Language Used Characteristics


JAVA

In this project I frequently used JAVA as front end. The reason behind choosing java is as follow:Ten Most Popular Web Sites (Alexa.com, Fall 2008) 1. Google Custom technology, some Java 2. Yahoo- PHP and Java 3. MySpace- ColdFusion (Java under the hood) 4. YouTube- Flash, Python, Java 5. Facebook PHP 6. Windows Live Search .NET 7. MSN (Microsoft Network) .NET 8. Wikipedia PHP 9. Ebay Java 10. AOL- Java It enables us to build platform independent programs that can execute in a wide variety of hardware and software. The ONLINE NOTEPAD is developed in javas applet and servlet technology. Java applets are one of four kinds of Java programs: An application is a standalone program that can be invoked from the command line. An applet is a program that runs in the context of a browser session. A servlet is a program that is invoked on a server program, and it runs in the context of a web server process. Applets are programs stored on a web server, similar to web pages. When an applet is referred to in a web page that has been fetched and processed by a browser, the browser generates a request to fetch (or download) the applet program, then executes the applet program in the browsers execution context on the client host.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

46

s e r v e r

h o s t b r o w s e r
s e r

h o s t

e b

s e r v e r m q re e u s t f o r y W e b P a g e . h m y W e b P a g e . h t m t mH

b r o w l el l l o W

y W

e b P

a g e . h

t m

<

. . . a p p . . .
H

o r l d . c l a s s

l e H t e c l o l od W = <o /r a l dp .p c l l e a t s > s H e e l l o W o r l d . c l a s s H

r e q u e s t f o r e l l o W o r l d c l a s s e l l o W o r l d . c l a s s

Applet Security For security reasons, applets that are loaded over the network have several restrictions. an applet cannot ordinarily read or write files on the computer that it's executing on. an applet cannot make network connections except to the host that it came from. Servlet: A Servlets Job Read explicit data sent by client (form data) Read implicit data sent by client (request headers) Generate the results Send the explicit data back to client (HTML) Send the implicit data to client (status codes and response headers)
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

47 Servlet is used to make dynamic web pages. The Web page is based on data submitted by the user E.g., results page from search engines and orderconfirmation pages at on-line stores The Web page is derived from data that changes frequently E.g., a weather report or news headlines page The Web page uses information from databases or other server-side sources E.g., an e-commerce site could use a servlet to build a Web page that lists the current price and availability of each item that is for sale. The Advantages of Servlets Over Traditional CGI Efficient Threads instead of OS processes, one servlet copy Convenient Lots of high-level utilities Powerful Sharing data, pooling, persistence Portable Run on virtually all operating systems and servers Inexpensive There are plenty of free and low-cost servers Secure No shell escapes, no buffer overflows Popular: The single most common use of Java technology The leading technology for medium/large Web applications Google reports over 500 million Web pages using JSP Supported by: Apache, Oracle, IBM, Sybase, BEA, Macromedia, Caucho, Sun/iPlanet, New Atlanta, ATG, Fujitsu, Lutris, Silverstream, the World Wide Web Consortium (W3C), and many others Plugins for IIS and Zeus. Runs on: Windows, Unix/Linux, MacOS, VMS, and IBM mainframe OSs Used for: Airline companies, hotels, e-commerce sites, search engines, banks, financial sites, etc., etc., etc. APPLET SERVLET COMMUNICATION Applet-Servlet Communication with HTTP GET and POST In the previous version the HTML form was used to submit the student's data to the servlet. Accessing the form data on the server side was simple and straightforward. This was accomplished by calling the method HttpRequest.getParameter(<form field name>), which is available in the Java servlet API.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

48 We are now using an applet front end and we need a mechanism for the applet to communicate with the servlet. We need to capture the information a student enters and somehow pass it to the servlet. Since servlets support the HTTP/CGI interface, we can communicate with the servlet over HTTP socket connections. The applet simply opens a connection to the specified servlet URL. Once this connection is made, the applet can get an output or input stream on the servlet. The applet can send data to the applet by using a GET or a POST method. If a GET method is used, the applet must URL-encode the name/value pair parameters into the actual URL string. For example, if we wanted to send the name/value pair of LastName=Jones, our servlet URL would resemble: http://www.foo.com/servlet/ TestServlet?LastName=Jones If you have additional name/value pairs, they are separated by an ampersand (&). If we add a name/value pair of FirstName=Joe, our revised servlet URL would resemble: http://www.foo.com/servlet/ TestServlet?LastName=Jones&FirstName=Joe We would have to URL-encode each name/value pair for the student's contact information. To send a GET method to a servlet, the applet can use the java.net.URLConnection class. The code fragment below shows you how. String location = "http://www.foo.com/servlet/TestServlet?LastName=Jones"; URL testServlet = new URL( location ); URLConnection servletConnection = testServlet.openConnection(); inputStreamFromServlet = servletConnection.getInputStream(); // Read the input from the servlet. ... Sending Objects from an Applet to a Servlet With the information presented so far, we can send a Java object to a servlet. In our Student Tracking application the applet sends a Student object to the servlet when a new student is registered. Figure 3 displays the object interaction between the servlet and the applet.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

49

The code fragment shown in Listing 3 is used by the applet to send the Student object to the servlet. The applet is actually sending a POST method to the servlet. This client-side code fragment opens a URL connection to the servlet URL. We inform the servlet connection that we're sending output data over the connection and receiving input. Other methods are called so the connection will not use cached versions of the URL. An important call in this code fragment is setRequestProperty(). This method sets the content type in the HTTP request header to the MIMEtype application/octet-stream, which allows us to send binary data, in this case our serialized Student object. The next couple of statements create an ObjectOutputStream that actually writes the object to the connection stream. We're not finished yet. Recall that our application is in the process of registering a new student. The servlet has to read this student object and update the database accordingly. Thus we need code on the server side to receive a serialized Student object. The code fragment in Listing 4 displays the servlet code for reading a Student object from an applet. The servlet handles POST methods by implementing the doPost() method and acquires an ObjectInputStream from the requesting applet. From there it is simply a matter of reading the Student object from the stream. At this point the Student object is loaded and available for registration in the database. Please note the small number of statements on the server side for reading in a serialized object. You have to agree it's quite simple and straightforward.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

50 Sending Objects from a Servlet to an Applet The servlet in our Student Tracking application is now capable of receiving a student object and registering it in the database. Now the servlet has to return an updated list of registered students that is then returned as a vector of student objects. This interaction is also illustrated in Figure 3. When the servlet returns the vector, there's no need to iterate through the vector and serialize each Student object individually. The servlet can serialize the entire vector in one step since the class java.util.Vector also implements the java.io.Serializable interface. The code fragment shown in Listing 5 is used by the servlet to send a vector of Student objects to the applet. The sendStudentList() method is passed to an HttpResponse parameter and a vector of Student objects. Since the applet initiated the HttpRequest, the servlet can respond to the applet by using the HttpResponse parameter. Thus an ObjectOutputStream to the applet is created based on the HttpResponse object. The student vector is actually serialized and sent to the vector with a call to outputToApplet.writeObject(studentVector). As we've seen before, code is needed by the applet to handle the data sent from the servlet. The applet uses the code fragment shown in Listing 6 to read in a vector the Student objects from the servlet. The applet opens a URL connection to the servlet's location. Appropriate methods are called to ensure that the applet doesn't use cached versions of the URL connection. Next, an ObjectInputStream is created based on the servlet's input stream socket connection. All the switches have been flipped now and we can easily read in our vector of Student objects. Again, remember that we have to cast the object to the appropriate type. Congratulations! You've successfully read in a vector of student objects. This vector is now available for refreshing the AWT List component. Java was designed to be easy for the professional programmer to learn and use effectively. Assuming that you have some programming experience, you will not find Java hard to master. If you already understand the basic concepts of object-oriented programming, learning Java will be even easier. Java provides a large API for making our application such as: java.security javax.crypto: Mac is class in this package. javax.crypto.interfaces javax.crypto.spec

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

51 java.io java.net java.awt java.swing The first challenge of building a secure application is authentication. Authentication is tremendously important in computer applications. The program or person you communicate with may be in the next room or on another continent; you have none of the usual visual or aural clues that are helpful in everyday transactions. Public key cryptography offers some powerful tools for proving identity. A message digest takes an arbitrary amount of input data and produces a short, digested version of the data. The Java Cryptography Architecture (JCA) makes it very easy to use message digests. The java .security.MessageDigest class encapsulates a cryptographic message digest. Encryption is a tool you can use to protect secrets. You might encrypt files on your hard drive so that the loss or theft of your computer would not compromise your data. You might also want to encrypt your network communications, especially the ones to your bank, or your doctor, or your friends. A cipher encrypts or decrypts data.

6.5.2 Coding
6.5.2.1 Efficient Coding The efficient coding was proposed by Horace Barlow in 1961 as a theoretical model of sensory coding in the brain. Within the brain, neurons often communicate with one another by sending electrical impulses referred to as action potentials or spikes. One goal of sensory neuroscience is to decipher the meaning of these spikes in order to understand how the brain represents and processes information about the outside world. Barlow hypothesized that the spikes in the sensory system formed a neural code for efficiently representing sensory information. By efficient Barlow meant that the code minimized the number of spikes needed to transmit a given signal. This is somewhat analogous to transmitting information across the internet, where different file formats can be used to transmit a given image. Different file formats require different number of bits for representing the same image at given distortion level, and some are better suited for representing certain classes of images than others. According to this model, the brain is thought to use a code which is suited for representing visual and audio information representative of an organism's natural environment. 6.5.2.2 Validation Checks
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

52 In computer science, data validation is the process of ensuring that a program operates on clean, correct and useful data. It uses routines, often called "validation rules" or "check routines", that check for correctness, meaningfulness, and security of data that are input to the system. The rules may be implemented through the automated facilities of a data dictionary, or by the inclusion of explicit application program validation logic. Data type checks Checks the data type of the input and give an error message if the input data does not match with the chosen data type, e.g., In an input box accepting numeric data, if the letter 'O' was typed instead of the number zero, an error message would appear. File existence check Checks that a file with a specified name exists. This check is essential for programs that use file handling. Format or picture check Checks that the data is in a specified format (template), e.g., dates have to be in the format DD/MM/YYYY. Regular expressions should be considered for this type of validation. Hash totals This is just a batch total done on one or more numeric fields which appears in every record. This is a meaningless total, e.g., add the Telephone Numbers together for a number of Customers. Limit check Unlike range checks, data is checked for one limit only, upper OR lower, e.g., data should not be greater than 2 (<=2). Logic check Checks that an input does not yield a logical error, e.g., an input value should not be 0 when there will be a number that divides it somewhere in a program. Presence check Checks that important data are actually present and have not been missed out, e.g., customers may be required to have their telephone numbers listed. Range check Checks that the data lie within a specified range of values, e.g., the month of a person's date of birth should lie between 1 and 12.

6.6 Testing
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

53 5.6.1 TESTING OBJECTIVE There are number of rules that can be serving well as testing objectives. Testing is the process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as-yet-undiscovered error. A successful test is one that uncovers as- yet undiscovered error.

If testing is conducted successfully, it will uncover error into software as a secondary benefit testing demonstrates that software function appear to working according to the specifications, that behavioral and performance requirements appear to have been met. 5.6.2 Testing methods and strategies used along with test data and the error listed for each test case Software testing is a critical element of software quality assurance and represents the ultimate review of specifications design, and coding. The point was kept in mind throughout the software development activity and a conscious effort was made to test the system as thoroughly as possible. The objective behind this was to systematically uncover different classes of errors with a minimum amount of time and effort. Tests were conducted on entire software as a whole, and on each of modules independently in two ways: 1. The software and individual module were tested foe there logical correctness, and for

syntactical correctness of their code. 2. The entire software and the individual module were tested to see if desire functions were

being performed satisfactorily or not. These two tests activities were carried out as complement to each other and can be desire in details as under.

WHITE BOX TESTING


The first testing method described above is called white box testing in the software engineering language. The exploits the control structure of the software to test for any as yet undiscovered errors. In this technique: 1. All independents paths with in a module or exercised at least once.
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

54 2. 3. 4. All logical decisions are exercised on their true and false sides. All loops are executed at the boundaries are with their operational bounds. The internal data structure is exercised for their validity.

In this project, instead of conducting tests at the end of software development, it was done in the parallel with the development activity. As each module was finished, it was tested thoroughly for their synthetic and logical correctness using basic path testing later on the entire path from the main module to this module was tested thoroughly using same technique. This having being done for each module separately broke the testing activity in to small and manageable parts. This was a more convenient and practical approach then testing the entire software after all of it has been developed which would have been a cumbersome task. The whole software was, of course tests after integrating all the modules together, but the complexity of this task was a greatly reduced because all the modules have been tested at least once.

BLACK BOX TESTING


Black box testing concentrates on testing the functional requirements fulfillment by the software, and ignores its control structure .it attempt to find errors in the following categories: 1. 2. 3. 4. 5. Incorrect or missing functions. Interface errors Errors and data structures or external database access. Performances errors. Initialization and termination errors

Again this is done as previous case as each module was finished and tested to white box testing, it was also tested was its functional requirement fulfillment by applying black box testing .it was tested to see if it perform all the desire functions in the desire manner. Methods applied for black box testing was equivalence partitioning method . This method divides the input domain of a program in to classes of data for which test cases may be derived.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

55 This parallel with development approach to testing was made possible due to the adherence to the design criteria of modularity. Since care was taken too developed a modular software test could be easily applied to individual modules. All the output and reports were checked and verified for their accuracy and reliability.

TEST PLAN SPECIFICATION


Modules are integrated by moving through control hierarchy, beginning from main module. Main module is tested as per driver sub-modules are tested as per detail specification given below. Submodules testing are done by depth first method

SPECIFICATION FOR SUB-MODULES Checklist for sub-module:


Number of input parameter equal to the number of arguments. Unit and order of parameter, arguments match. Transmission of arguments to modules, a function is correct. Global variables are defined across modules.

Checklist for logical data structure testing


Improper or incorrect typing. Incorrect variable names (misspelled/truncated). Data type mismatch.

TESTING PROCEDURES USED


The following methods for testing where carried out to the correctness & reliability of the leaves processing system.

UNIT TESTING
During the implementation for the system, each module was tested separately to uncover errors within its boundaries.

INTERFACE TESTING
Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

56 To assure that information properly flows out the program unit under test.

THE INDEPENDENT PATH TEST


All independent paths through the module were executed at least once to assure that executes perfectly.

BOUNDARY TEST
To assure that the module operates at the boundaries. Establishment to limit or restrict processing.

INTEGRATION TESTING
It is systematic technique for constructing the program structure while at the same time conduction the test errors associate interfacing. Top-down integration approach was carried out to leave processing system. Some of them carried out as follows:

VALIDATION TESTING
To uncover function errors i.e. to check were functional characteristics confirm to specification or not.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

57

7 conclusion and Discussion

7.1.

CONCLUSION AND DISCUSSION

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

58 This application provides no. of facilities to its web client such as online text file storage and online management by maintaining directories such as create, delete and rename. This online storage includes security. The application includes a solution to the network security problems that is secure data transmission. Security is provided by using encryption and decryption and message authentication code. Securities apply on both side web client and web server using 3DES algorithm and message authentication code. By this web application user can create simple text file and java programs and compile it through web servers compiler. 7.1.1 LIMITATION OF PROJECT

Although this application provides many services but it has some limitations: Its supported only text file. This type application cant run user input programs. User can use up to 2MBs server space. 7.1.2 Difficulties Encountered

The application includes a solution to the network security problems that is secure data transmission. Security is provided by using encryption and decryption and message authentication code. These are some difficulties encountered during code. 7.1.3 SUGGESTION FOR FUTURE ENHANCEMENTS The Online Notepad is an ideal tool to keep records, save to-do lists, share them with others or simply record a side note. This application provides such services. There are some services which should be included in this project like:
o

Application depends on Java Runtime Environment (JRE) for running Applet at client side, so this type application can be implemented without of JRE. Note can be shared with URL. Although there is facility to store and make notes public and private there should be facility protected sharing. There should be facility of online IDE. This application can be made for no. of language not only just for Java. In this application should have StylePad or WordPad.

o o

o o o

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

59

8 Bibliography and References

8.1.1 REFERENCE BOOKS

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

60 1. Java2: Complete Reference a. Edition : 5th, b. Author : Herbert Schildt, c. Published by : McGraw-Hill 2. Cryptography and Network Security Principles and Practices: a. Edition : 4th, b. Author : William Stallings. c. Published by : Pearson Prentice Hall.
3. Author OReilly,Java Networking Programming,Second Edition 4. Author Michael Toot & Kelly.L.Murdock, JAVA Script in an Instant 5. Ramesh Bangia , Learning HTML 4

8.1.2. OTHER DOCUMENTATION AND RESOURCES 1. www.google.com 2. www.oreilly.com 3. www.osborne.com 4. www.w3c.org 5. www.java.sun.com 6. www.java2s.com Papers: 1. KUI-HE YANG, SHI-JIN NIU- Data Safe Transmission Mechanism Based on Integrated Encryption Algorithm- the science and technology research program of Hebei province 03/2009. 2. Wuling Ren, Zhiqian Miao-A Hybrid Encryption Algorithm Based on DES and RSA in Bluetooth Communication- 2010 Second International Conference on Modeling, Simulation and Visualization Methods.

Department of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

You might also like