Click here to load reader

Online Notepad

  • View
    667

  • Download
    2

Embed Size (px)

Text of Online Notepad

1

1. INTRODUCTION

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

2

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 STATEMENTSome 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 OBJECTIVENow 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 webapplications 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 ofDepartment 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

7

2 SYSTEM ANALYSES

2.1 IDENTIFICATION OF NEEDDepartment 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

9

3 Feasibility Study

FESEABLITY STUDYDepartment 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 DurationFor study Designing For development Testing 25 days 20 days 25 days 15 days

Total time3.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 SURVEYDepartment 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(), 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, [email protected], 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 [email protected] 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 DiagramAs 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 DiagramIt 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 DesignClass 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 AppliedSoftware 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 DescriptionThe 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 DisadvantageThe 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 useThe 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 SpecificationThe 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 ModelA 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 diagramActivity 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 IssuesSoftware 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 ScopeThe 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.

ResourcesThe second software planning task is estimation of the resources required to accomplish the software development effort. Figure shows development resources as pyramid. The developmentDepartment 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 ResourcesThe 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 ResourcesComponent 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 componentExisting 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 componentExisting 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 componentSoftware component that must be build by software team specifically for the needs of the current project.

1. Environmental resourceThe 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 organizationOur 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 SchedulingTimeline (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 chartDepartment of Information Technology, Shri Vaishnav Institute of Technology & science, Indore

31Week 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 client1.1.2 Gathering the user requirements

Milestone: Requirements gathered1.2.1 Study of gathered requirements

1.2.2 Breaking the requirementsMilestone: 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

325.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 EstimationCost 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 methodFunction 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 AnalysisA 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 RisksProject 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 RisksTechnical 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 RisksBusiness 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 RisksKnown 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 DiagramActivity 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-0DFD 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 CharacteristicsJAVA

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 rs e r

h o s t

w

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

m

y W

e b P

a g e . h

t m

l