Project Title: CHAT SERVER Branch: CSE
Project Title: CHAT SERVER Branch: CSE
CHAT SERVER
(ONLINE CHAT ENGINE)
Submitted by:
CHAT SERVER is an online system developed for the group of members to communicate with each other over the internet. This system solves almost all the limitations of the conventional system. Both the students and teachers and the company are equally benefited by the proposed system. The system saves a lot of time and effort for both.we are introducing a new software called CHAT SERVER for chatting purpose.we can say thoroughly that this software is very useful for the college.lt is mainly designed for the college to reduce the communication gap between the different peoples in a college.
kadayirippu
Page Number:
8 -Semester
Branch:
CSE
2. ORGANIZATION PROFILE
In the course of the past over 30 months, CYBERPRISM has had the opportunity to assist its over 20 odd customers worldwide in their quest for a sustainable competitive advantage. This has been the result of the growing long term relationship with these customers wherein CYBERPRISM participates in the strategic and policy making process as the information systems partner. Thus CYBERPRISM and its clients have worked together to identify the ways and means to use information technology to achieve their goals. During this process business systems and processes have been re-engineered to derive the desired competitive edge. This is possible because CYBERPRISM is able to offer a wide range of services to its customers at all stages of this process. Thus CYBERPRISM participates with its clients in its strategic and business planning process and provides a single source for the acquisition and management of the process of using Information Technology as a strategic weapon. 3. ABOUT THE SYSTEM CHAT SERVER is an online system developed for the group of members to communicate with each other over the internet. This system solves almost all the limitations of the conventional system. Both the students and teachers and the company are equally benefited by the proposed system. The system saves a lot of time and effort for both.
Page Number: 2
8 -Semester
Branch:
CSE
modules.
MODULES
> Administrator level > staff level > Student level > Parent level
Administrator level:
From the name itself we know that it is administrator's part. Only the administrator is authorized to log in to it. If any
Page Number: 3
changes is needed in the system, he enter this level and will make enough changes .He is the only authorized person to alter the details in database and other important areas of the system. The updating of the details and other details are edited by him. If a new user is registered administrator has the privilege to approve or deny his /her request.
Staff level: This is for the staffs working at the various departments or branches. Staff will log in using the user id and password. Staff will enter the details(subject , department etc.. ) while registering.feedback and chatting facility are available to teachers
Student level: Student can login in to the site from anywhere .He can register online, if registration is completed, he is provided with login name and password .Using this he can login and know the status of the other chatters .He can chat with his friends(online and offline) and a also send feedback to his teachers.
Page Number:
Parent level: Student can login in to the site from anywhere .He can register online, if registration is completed, he is provided with login name and password .Using this he can login and know the status of the other chatters .He can chat with his sons studing in that college (online and offline) and a also make a conversation with teachers about the students. 4.PROGRAM ENVIRONMENT
Processor
Requirement Intel Pentium class, 600 megahertz (MHz) 128 MB disk 370 MB (minimum install) VGA drive
Recommendation Higher
r
CD-ROM 24X
4.2 SOFTWARE SPECIFICATION OPERATING SYSTEM : WINDOWS2000 ADVANCED SERVER WINDOWS XP CLIENT SIDE SERVER SIDE : HTML
JSP, SERVLETS
BACKEND
2.2.1 SYSTEM
ABOUT
OPERATING 2000
WINDOWS
ADVANCED SERV Windows 2000 Advanced Server is the most reliable operating system Microsoft has ever produced. Reliable systems start with reliable server software. The Microsoft Windows 2000 Server family of
operating systems share a core set of architectural ensuring continued reliability and availabilityfeatures aimed atFEATURESSymmetric multiprocessing (SMP)H SREE NARAYANA GURUKULAM COLLEGE kadayirippuPage Number: 6
SMP lets software use multiple processors on a single server in order to improve performance, a concept known as hardware scaling, or scaling up. Any idle processor can be assigned any task, and up to 8 CPUs can be added to improve performance and handle increased loads.
Clustering Clustering provides users with constant access to important server-based resources. Windows 2000 Advanced Server provides the system services for two-node server clustering. With clustering, you create two cluster nodes that appear to users as one server. If one of the nodes in the cluster fails, the other node begins to provide service in a process known as fail over. Combined with advanced SMP and large memory support in Windows 2000 Advanced Server,
Another way to improve the availability of Windows 2000 systems is through the use of network load balancing. To handle large amounts of traffic more efficiently, network load balancing routes incoming requests to one of several different machines.
Component load balancing The newly released Microsoft Application Center 2000 will go beyond NLBS to include Component Load Balancing. With Component Load Balancing, Windows 2000 can balance loads among different instances of the same COM+ component running on one or more machines that are running Application Center 2000. To add flexibility to distributed Web applications, you can use Component Load Balancing in conjunction with Network Load Balancing Services.
-Semester
Branch: CSE
METHODOLOGY When you are designing distributed applications, you must consider availability and performance. A common solution is to include a data store on the client system. Typically, the client will require a lightweight data store as a result of limited resources. This approach poses a challenge for data synchronization between heterogeneous data stores. One resolution to this problem is a Java-based approach using JDBC. Distributed databases use a client/server architecture to process information requests.
Server Side: Server controls, manages the entire system and stores the complete details regarding their client. And when request arises, authentication is done and the server provides the details for the corresponding ones. The server will do the entire work as a background process. The user does not have any interaction with servers. In this system the data request once arrived, is accepted from client and. according to the client's request and sent the data. Client Side: This Client-side software will always interact with users working as the front-end. First of all a connection is established with server. Then make appropriate request for data. Display the data in the user requested format. Getting specification from the user is the main functionalities of the client side and passes it to server side for processing. Development Aids:
TECHNOLOGY J2EE OVERVIEW TODAY, more and more developers want to write distributed transactional applications for the enterprise and thereby leverage the speed, security, and reliability of server-side technology. In the fastmoving and demanding world of e-commerce and information technology, enterprise applications must be designed, built, and
SREE NARAYANA GURUKULAM COLLEGE kadayirippu Page Number: 8
-Semester
Branch: CSE
produced for less money, with greater speed, and with fewer resources than ever before. To reduce costs and fast-track application design and development, the Java2 Platform, Enterprise Edition (J2EE) provides a component-based approach to the design, development, assembly, and deployment of enterprise applications .The J2EE platform offers a multitiered distributed application model, reusable components, a unified security model, flexible transaction control, and Web services support through integrated data interchange on Extensible Markup Language (XML)-based open standards and protocols. Not only can user deliver innovative business solutions to market faster than ever, but also the platform-independent J2EE component-based solutions are not tied to the products and application programming interfaces (APIs) of any one vendor. Vendors and customers enjoy the freedom to choose the products and components that best meet their business and technological requirements. Distributed Multitiered Applications The J2EE platform uses a distributed multitiered application model for enterprise applications. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. J2EE Components Client-tier components run on the client machine. Web-tier components run on the J2EE server. Business-tier components run on the J2EE server. Enterprise information system (ElS)-tier software runs on the EIS server.
Page Number: 9
J2EE multitiered applications are generally considered to be threetiered applications because they are distributed over three locations: client machines, the J2EE server machine, and the database or legacy machines at the back end. Three-tiered applications that run in this way extend the standard twotiered client and server model by placing a multithreaded application server between the client application and back-end storage. J2EE Application 1 J2EE Application 2 Dv
Clie nt Tier
Client Machin e
Enterpris e Beans
Web Tier
Busine ss Tier
Page Number:
10
EIS Tier
Multitiered Applications J2EE Components J2EE applications are made up of components. A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components. The J2EE specification defines the following J2EE components: Application clients and applets are components that run on the client.
Java Servlet and JavaServer Pages (JSP) technology components are Web components that run on the server. Enterprise JavaBeans (EJB) components (enterprise beans) are business components that run on the server. J2EE components are written in the Java programming language and are compiled in the same way as any program in the language. The difference between J2EE components and "standard" Java classes is that J2EE components are assembled into a J2EE application, are verified to be well formed and in compliance with the J2EE specification, and are deployed to production, where they are run and managed by the J2EE server. J2EE Clients A J2EE client can be a Web client or an application client. Web Clients A Web client consists of two parts: (1) dynamic Web pages containing various types of markup language which are generated by Web components running in the Web tier. (2) a Web browser, which renders the pages received from the server. A Web client is sometimes called a thin client. Thin clients usually do not query databases, execute complex business rules, or connect to legacy applications. When use a thin client, such heavyweight operations are offloaded to enterprise beans executing on the J2EE server, where they can leverage the security, speed, services, and reliability of J2EE server-side technologies. Applets A Web page received from the Web tier can include an embedded applet. An applet is a small client application written in the Java programming language that executes in the Java virtual machine installed in the Web browser. However, client systems will likely need the Java Plug-in and possibly a security policy file in order for the applet to successfully execute in the Web browser. Web components are the preferred API for creating a Web client program because no plug-ins or security policy files are needed on the client systems. Also, Web components enable cleaner and more modular application design
SREE NARAYANA GURUKULAM COLLEGE kadayirippu Page Number:
11
because they provide a way to separate applications programming from Web page design. Personnel involved in Web page design thus do not need to understand Java programming language syntax to do their jobs.
Page Number:
12
Page Number:
13
Client Tier
Web Browser Web Pages, Applets, and Optional JavaBeans Components
Application Client
J2EE Server
Figure 1-2 Server Communications Web Components J2EE Web components are either servlets or pages created using JSP technology. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documentsthat execute as servlets but allow a more natural approach to creating static content. Static HTML pages and applets are bundled with Web components during application assembly but are not considered Web components by the J2EE specification. Server-side utility classes can also be bundled with Web components and, like HTML pages, are not considered Web components. The Web tier, like the client tier, might include a JavaBeans component to manage the user input and send that input to enterprise beans running in the business tier for processing. Business Components Business code, which is logic that solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier.
Page Number:
14
Web Tier Web Browser Web Pages, Applets, and Optional JavaBeans Components Application Client and Optional JavaBeans Components
Busines s Tier
J2EE Server
Web Tier and J2EE
Busines s Tier
Web Browser Web Pages, Applets, and Optional JavaBeans Components Application Client and Optional JavaBeans Components
EISTier
J2EE Server
There are three kinds of enterprise beans: session beans, entity beans, and message- driven beans. A session bean represents a transient conversation with a client. When the client finishes executing, the session bean and its data are gone. In contrast, an entity bean represents persistent data stored in one row of a database table. If the client terminates or if the server shuts down, the underlying services ensure that the entity bean data is saved. A message-driven bean combines features of a session bean and a Java Message Service (JMS) message listener, allowing a business component to receive JMS messages asynchronously.
SREE NARAYANA GURUKULAM kadayirippu
Enterprise Information System Tier The enterprise information system tier handles EIS software and includes enterprise infrastructure systems such as enterprise resource planning (ERP), mainframe transaction processing, database systems, and other legacy information systems. For example, J2EE application components might need access to enterprise information systems for database connectivity. J2EE Containers Normally, thin-client multitiered applications are hard to write because they involve many lines of intricate code to handle transaction and state management, multithreading, resource pooling, and other complex low-level details. The component- based and platform-independent J2EE architecture makes J2EE applications easy to write because business logic is organized into reusable components. In addition, the J2EE server provides underlying services in the form of a container for every component type. Because user do
not have to develop these services himself, users are free to concentrate on solving the business problem at hand. Container Services Containers are the interface between a component and the lowlevel platform specific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE module and deployed into its container. The assembly process involves specifying container settings for each component in the J2EE application and for the J2EE application itself. Container settings customize the underlying support provided by the J2EE server, including services such as security, transaction management, Java Naming and Directory Container Types Interface (JNDI) lookups, and remote connectivity. Here are some of the highlights:
The J2EE security model lets you configure a Web component or enterprise bean so that system resources are accessed only by authorized users. The J2EE transaction model lets you specify relationships among methods that make up a single transaction so that all methods in one transaction are treated as a single unit.
J2EE server The runtime portion of a J2EE product. A J2EE server provides EJB and Web containers. Enterprise JavaBeans (EJB) container Manages the execution of enterprise beans for J2EE applications. Enterprise beans and their container run on the J2EE server. Web container Manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server. Application client container Manages the execution of application client components. Application clients and their container run on the client. Applet container Manages the execution of applets. Consists of a Web browser and Java Plugin running on the client together. Web Services Support Web services are Web-based enterprise applications that use open, XMLbased standards and transport protocols to exchange data with calling clients. The J2EE XML XML is a cross-platform, extensible, text-based standard for representing data. When XML data is exchanged between parties, the parties are free to create their own tags to describe the data, set up
SREE NARAYANA GURUKULAM COLLEGE kadayirippu
schemas to specify which tags can be used in a particular kind of XML document, and use XML stylesheets to manage the display and handling of the data. For example, a Web service can use XML and a schema to produce price lists, and companies that receive the price lists and schema can have their own stylesheets to handle the data in a way that best suits their needs. Here are examples: One company might put XML pricing information through a program to translate the XML to HTML so that it can post the price lists to its intranet. A partner company might put the XML pricing information through a tool to create a marketing presentation. Another company might read the XML pricing information into an application for processing. SOAP Transport Protocol Client requests and Web service responses are transmitted as Simple Object Access Protocol (SOAP) messages over HTTP to enable a completely interoperable exchange between clients and Web services, all running on different platforms and at various locations on the Internet. HTTP is a familiar request-and response standard for sending messages over the Internet, and
Branch: CSE
SOAP is an XML based protocol that follows the HTTP request-andresponse model. The SOAP portion of a transported message handles the following: Defines an XML-based envelope to describe what is in the message and how to process the message Includes XML-based encoding rules to express instances of applicationdefined data types within the message Defines an XML-based convention for representing the request to the remote service and the resulting response Packaging Applications A J2EE application is delivered in an Enterprise Archive (EAR) file, a standard Java Archive (JAR) file with an .ear extension. Using EAR files and modules makes it possible to assemble a number of different J2EE applications using some of the same components. No extra coding is needed; it is only a matter of assembling (or packaging) various J2EE modules into J2EE EAR files. An EAR file contains J2EE modules and deployment descriptors. A deployment descriptor is an XML document with an .xml extension that describes the deployment settings of an application, a module, or a component. Because deployment descriptor information is declarative, it can be changed without the need to modify the source code. At runtime, the J2EE server reads the deployment descriptor and acts upon the application, module, or component accordingly. There are two types of deployment descriptors: J2EE and runtime. A J2EE deployment descriptor is defined by a J2EE specification and can be used to configure deployment settings on any J2EE-compliant implementation. A runtime deployment descriptor is used to configure J2EE implementation-specific parameters. For example, the Sun Java System Application Server Platform Edition 8 runtime deployment descriptor contains information such as the context root of a Web application, the mapping of portable names of an application's resources to the server's resources, and Application Server implementation-specific parameters, such as caching directives. The Application Server runtime deployment descriptors are named sunmoduleType.xm\ and are located in the same directory as the J2EE deployment descriptor.
Page Number: 1 9
META-INF
*
Application [Client Module
19
ft
JDBC (Java Database Connectivity) Java Database Connectivity classes are Java classes that allow an application to send sql statement to a DBMS system and retrieve the results. One of the JDBC's strength is inter- operability- a developer can create JDBC applications without targeting a specific DBMS. DATA DIAGRAM FLOW
Query
Retrieving data
Client (1)
(2)
(Serve r)
Response
Page Number:
21
Branch: CSE
SERVER CONTROLS
JSP or SERVLETS is designed around the concept of server controls. This stems from the fundamental changes in the philosophy for creating interactive pages. In particular, with the increasing power of servers and the ease of building multi-server web-frames.
The server controls are logically broken down into a set of families
controls. They create output that is the same as the definition of the control within the page, and they use the same attributes as the standard HTML lament.
the normal HTML <form> controls, such as a textbox, a hyperlink, and various buttons. They have a standardized set of property names that make life easier at design-time, and easier for graphical page creation tools to build the page.
lists. These lists can also be data bound. In other words, the content of the list can come from a data source such as an Array, a Hash Table, or a range of other data sources. The range of controls provides many
8lh -SemesterBranch: CSEProject Title: CHAT SERVER some include special features for formatting the output and even editing the data in the list.
different options, and Rich Controls: Produce the rich content and encapsulate complex functionality, and will output pure HTML or HTML and Script.
easy to check and validate the values entered into other controls on a page. They perform the validation client side, server side, or both, depending on the type of client device that requests the page. WEB CLIENTS Web clients are used to communicate with a Web sever to send requests for files and receive information from the server. It interprets this information and displays it in a format that can be understood by the user. This client has to be able to translate all data received from the server and send back data entered by the user. With the
Page Number: 22
Branch: CSE
current Web standards, the Web clients also send back information about the system it is being run on, so that the server may respond accordingly, if it is configured to do so.
WEB SERVERS
Web servers, just like other servers, perform the prime function of serving the network it is on. The service here is receiving requests for information and delivering it on a particular protocol. Essentially, a Web server is just a file server. The user requests a file and this is provided by the web server, if available. It is this software that manages user requests and server files. It may handle security, cache; server limits and even manages the server or set of servers.
Page Number: 23
8,h-Semester
Branch: CSE
XML XML is a markup language for documents containing structured information. Structured information contains both content (words, pictures, etc.) and some indication of what role that content plays (for example, content in a section heading has a different meaning from content in a footnote, which means something different than content in a figure caption or content in a database table, etc.). Almost all documents have some structure. A markup language is a mechanism to identify structures in a document. The XML the number of applications currently being developed that are based on, or make use of, XML documents is truly amazing for our purposes, the word "document" refers not only to traditional documents, like this one, but also to the myriad of other XML "data formats". These include vector graphics, ecommerce transactions, mathematical equations, object meta-data, server APIs, and a thousand other kinds of structured information. Edification defines a standard way to add markup to documents.
HTML English scientists Berners-Lee wrote the server and client software on his computer and distribution began among his fellow scientists. Along with this colleagues, he grappled with the protocols and ended up with the URLs (Uniform Resource Locators), HTTP (Hyper Text Transfer Protocol), and HTML.
Page Number:
24
HTML is a simple text-based language that uses a series of tags to create a document that can be viewed by a browser. This versatile language allows the creation of hypertext links, also known as Hyper Links. These hyper links can be used to connect documents on different machine, on the same network or on a different network, or can even point to point of text in the same document.
UNDERSTANDING HTML
Web documents are written in Hyper Text Markup Language (HTML). After a designer specifies a document's structure using HTML, the designer can apply an HTML document specification called a Document Type Definition (DTD) to the document. The HTML DTD is formal definition of the HTML syntax based on the Standard Generalized Markup Language (SGML).HTML documents are platform independent.. To create an HTML document, designers embed tags (delimiters) and possibly character entity reference into a text-based document to specify operations a browser will perform on the corresponding text.
Hypertext (which usually appears as highlighted or underlined in a web document) lets user's hyperlink to other documents or elsewhere within the same document. A hot zone is
similar to a hypertext, in that user can click their mouse on the hot zone or jump to another document or to another location within the current document. A single image can have
Page Number:
25
multiple independent hot zones. Tags also tell the browser to connect a user to another file or URL when he clicks an active hyperlink.
FRONT END: J2EE (JSP AND SERVLETS) Jsp and servlets are mainly used for high security,this Jsp is mainly used for creating webpages.As our project is related to Online ,we needed to create webpages for the software,for that jsp and servlets are used.Some part of Flash and Dreamweaver is also used here.
BACKEND: SQL SERVER 2000 Microsoft SQL Server 2000 is a relational database management and analysis system for e-commerce, line-ofbusiness, and data warehousing solutions. SQL Server 2000, the latest version, includes support for XML and HTTP, performance and availability features to partition load and ensure uptime, and advanced management and tuning functionality to automate routine tasks and lower total cost of ownership. . The SQL Server 2000 software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. SQL Server 2000 is intended for mission-critical, heavy-load production systems as well as for embedding SQL Server and XML support Extensible Markup Language (XML) is a
hypertext programming language used to describe the content of a set of data and how the data should be output to a device or displayed in web page. In a relational database such as Microsoft sql server 2000,all operations on the tables in the database produce a result in the form of table. Web application Programmers on the other hands are more familiar with working with hierarchical representation of data in xml or html documents. The sql server 2000 introduces support for xml The Microsoft sql server 2000 relational database engine natively supports extensible markup language (XML).
FEATURES OF SQL SERVER 2000 In tern et In tegra tion. The SQL Server 2000 database engine includes integrated XML support. It also has the scalability, availability, and security features required to operate as the data storage component of the largest Web sites. The SQL Server 2000 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2000 supports features such as English
Page Number: 26
Query and the Microsoft Search Service to incorporate user-friendly queries and powerful search capabilities in Web applications.
The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites.
The SQL Server 2000 relational database engine supports the features required to support demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it were a part of a SQL Server 2000 database, Replication allows you to also maintain multiple copies of data, while ensuring that the separate copies remain synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them work autonomously, and then merge their modifications back to the publisher
2000
includes
set
of
and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server 2000 also supports a standards-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. 6.SYSTEM DESIGN & DEVELOPMENT
The
design
phase
focuses
on
the
detailed
implementation of the system recommended in the feasibility study. The design phase is a transition from a user oriented document to a document oriented to the programmers or database personnel. Systems design goes through two phases of development:
Logical Design The DFD so far are known as logical data flow diagrams. They specify various logical processes performed on data, ie the type of operations performed. A logical DFD does not specify who
Page Number: 27
does the Operations, whether it is done manually or with a computer and also where it is done. A physical DFD specifies these.
Physical Design A physical DFD is easily drawn the fact gathering stage. A physical DFD is a good starting point in developing logical DFD; it is some times useful to depict physical movement of materials. The data flow diagram shows the logical flow of a system and defines the boundaries of the system. For a candidate system, it describes the inputs (source), outputs
(destination), database (files) and procedures (data flow), all in a format that meet the user's requirements. 6.1 INPUT DESIGN
Input design is the process of converting useroriginated inputs to a computer based format, Input data are collected and organized into a group of similar data. Inaccurate input data is the most common cause of data processing errors. Effective input design minimizes errors made by data entry operators. The goal of designing input data is to make data entry as easy, logical and free from errors as possible. In addition to the general form considerations such as collecting only required data, grouping similar or related data, input design requires consideration of the needs of the data entry operator, m entering data, an operator needs to know the following: -
Field sequence, which must match that in the source document. Details Access screen contains the details of accessing a file from a client or from the other clients in the network. This screen includes the provision for selecting a file from any directory.
Computer output is the important and direct source of information to the user. Efficient, Intelligible Output design should improve the system's relationships with the user and helps in decision making. They also provide a permanent hard copy of these results for later consultation.
The various types of outputs required by the system are given below:
Page Number: 28
External Output: whose destination is outside the concern and requires special attention.
requires careful design because they are the user's main interface within the computer.
directly.
Before you sit down to design the database, gather all the information you want to include in the database. I mean everything. Go around to each department of the company (or just write it out yourself if this is just for you) and find out what everyone wants in the database. Once you have everything, bring it back, and create one huge table. From there, break that table down to 1NF, then 2NF, and so on. Go back over each table, and make sure they all work together, and are all 4NF tables. If they aren't, then it can be assured the tables will suffer problems in the future.
Page Number: 29
Quality is in the design. And for those people who know, this helps comply with Codd's first 2 rules for a truly relational database system.
The purpose of coding is to express the program logic in the best possible way and to the check it. The main reasons for coding are: 1. Unique Identification. Each item in a system should be identified uniquely and correctly. 2, Cross referencing. Diverse activities in an organization give rise to Iransactions in different sub systems but affect the same item P, efficient storage. Code is a concise representation it reduces data entry pme and improves reliability, Code as a key reduces storage space required for the data, Retrivel based on a key search is faster in a computer.
Requirements of coding scheme. The number of digits/characters used in a code must be minimal to reduce storage space of the code and retrieval efficiency. It should be expandable, that is it must allow new items to be added easily. It should be meaningful and convey to a user some information about the characteristics of the item to enable quick recognition and identification of the item.
Type of Codes.
1. Serial Numbers. This method is that it is concise, precise and expandable. It is however not meaningful.
Page Number: 30
2. Block Codes. The block codes use blocks of serial numbers. This code is Expandable and more meaningful than the serial number coding. It is precise but not comprehensive. 3. Group classification code. This is an improvement on the block code and is more meaningful. Code Efficiency: It is often said that readability of a program is much more important than the intricacies of its code. Steps, which can be taken at the coding stage, will include:
Use of meaningful data names Inclusion of commentary Layout of code Avoidance of tricks (straight forward code)
8th -SemesterBranch: CSEProject Title: CHAT SERVER7.SYSTEM TESTING & IMPLEMENTATION7.1 TESTING OBJECTIVES
Testing is a 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. The above objectives imply a dramatic change in view point. They move counter to the commonly held view that a successful test is one in which no errors are found. Our objective is to design tests that systematically uncover different classes of errors and do so with a minimum amount of time and effort.
If testing is conducted successfully it will uncover errors in the software. As a secondary benefit, testing demonstrates that software function appears to be working according to specification and that
performance requirement appears have to been met. In addition, data collected as testing is conducted provides a good indication of software reliability and some indication of the software quality as a whole, but there is one thing that testing cannot do.
Page Number:
31
For any software that is newly developed, primary importance is given to testing of the system. It is last opportunity for the developer to detect the possible errors in the software before handing over it to the customer. Testing is the process by which the developer will generate a set of test data, which gives the maximum probability of finding all types of errors that can occur in the software. The various steps of testing the system can be listed as given below.
semantic) that might have occurred while feeding the program into the system.
extend to which the screens are comprehensible to the user. obtaining the results/responses from user and analyzing it for
improvement. Check the data accessibility from the data server and whether any improvements are needed or not.
Testing correctness
1. 2. 3. 4. 5. 6. 7.
Preventive Measures Spot checks Testing all parts of the program Test Data Looking for trouble Time for testing Re-testing The data is entered in all forms separately and
Page Number:
32
; management verified all necessary documents and tested the software while entering the data at all levels. The entire testing process can be divided into three phases
1. 2. 3.
1. Unit Testing As this system was partially GUI based Web application, the following were tested in this phase
1. 2. 3. 4.
Tab Order Reverse Tab Order Field Length Front end Validations In our system, unit testing has been successfully
handled. The test data was given to each and every module in all respects and got the desired output. Each module has been tested found working properly.
2.Integration Testing
Test data should be prepared carefully since the data only determines the efficiency and accuracy of the system. Artificial data are prepared solely for testing. Every program validates the input data. 3.Validation Testing
Page Number:
33
\ 8,h-Semester Branch:
CSE
In this, all the code modules were tested individually one after the other. The following were tested in all modules
. 3. Output Testing This is the final step in testing. In this the entire system was tested as a whole with all forms, code, modules and class modules. This form of testing is or system testing Black Box testing methods focus on the functional requirement of the software. That is, Black Box testing enables the software engineer to derive sets of input conditions that will fully exercise all functional requirements for a program. Black Box testing attempts to find errors in the following categories; incorrect or missing functions, interface errors ,errors in data structures or external database access .performance errors and initialization error and termination popularly known as Black Box testing
errors.
Page Number:
34
7.3 SYSTEM IMPLEMENTATION Implementation is one of the most important tasks in project. Implementation is the phase, in which one has to be cautions, because all the efforts undertaken during the project will be fruitful only if the software is properly implemented according to the plans made. The implementation phase is less creative than system design. It is primarily concerned with User-Training, Site Preparation and File conversation. When the Manager's system is linked to terminals on remote sites, the telecommunication network and tests of the network along with system are also included under implementation. Depending upon the nature of the system, extensive user training may be required. Programming itself is a design work. The initial parameters of the management information system should be modified because of programming efforts; programming provides a reality test for the assumptions made by the analyst. System testing checks the
readiness and accuracy of the system of the system access update and retrieve data from new files. Once the program becomes available, the test data are read into the computer and processed .In most conventions, parallel run was conducted to establish the efficiency of the system.
Post implementation review means changing from one system to another. The objective is to put the tested system in to operation while holding cost's risks and personal irritation to a minimum involves.
1. Creating computer compatible files 2. Training the operating staff. 3. Installing terminals and hardware.
Project SERVER
Title:
CHAT
The definition of software maintenance can be given by describing four activities that are under taken after the program is released for use. The first maintenance activity occurs since it is unreasonable to assume that software testing will uncover all errors in a large software system. The process of including the diagnosis and correction of one or more errors is called Corrective maintenance.
The second activity that contributes to a definition of maintenance occurs since rapid change is encountered in every aspect of computing .There for adaptive maintenance modifies software properly interface with changing environment.
Third activity involves recommendations for new capabilities, modifications to the existing functions and general enhancements when the software is used. To satisfy request perspective maintenance is performed.
SREE NARAYANA GURUKULAM COLLEGE kadayirippu Page Number:
35
The
fourth
maintenance
activity
occurs
when
software is changed to improve future maintainability or reliability .this is called preventive maintenance. A computer system is secure if neither its ability to attain its objective nor its availability to survive can be adversely affected by an unwanted events. A computer-based security is a combination of many assets or resources design to perform some function or to provide service.
Page Number:
36
measures have been taken to provide some security. Loss of confidentiality is reduced to a great extent. The facility to impose strict authorization is completely vested in the hands of the system administrator. He/She has the full authority to add or delete user to and from the system respectively. Only valid users can enter the system. They have to provide a valid user id and password, to prove that they are valid users .If any one of this is wrong, access is denied to the system.Forced change of password can be imposed after a period as specified by the system administrator. Also the password is made to contain alphanumeric characters. If any unauthorized person tries to enter the system, then also preventive measures can be taken. For e.g. after four consecutive trails that result in failure, provisions should be made such that the process terminates and the exits from the program. Education and User Training
The purpose of training is to ensure that all the personnel who are associated with the system should possess the necessary knowledge and skills. The end users must know in detail what their rules will be, how they can use the system and what system will or will not do. Before the initialization of training program, materials are prepared.-The reference manuals are mainly based upon the system specification. Both the system operators and users need the training.
7.4SYSTEM MAINTENANCE
Software maintenance is the process of modifying a software system or component after delivery to correct false, improve performance and other attributes, or adapt to change environment. Maintenance covers a wide range of activities including correcting coding and design errors, updating documentation and test data and of hardware and software. Maintenance is always necessary to keep the software usable and useful. Hardware also requires periodic
maintenance to continue to bring a new system to standards. Software maintenance activities can be classified into
Page Number:
37
Corrective maintenance should be the overriding priority of the software maintenance team. Perceptive maintenance involves recommendations for new capability modifications to the existing functions and general enhancements when the software is used. To satisfy this request, perceptive maintenance is performed. Adaptive maintenance modifies the software to keep it up to date with its environment. Adaptive maintenance may be needed because of changes in the user requirements, changes in the target platform, or changes in external interfaces. Minor adaptive changes may be handled by normal maintenance process. Major adaptive changes should be carried out as a separate development project. QUALITY ASSURANCE The quality of an information system depends on its design, development, testing and implementation. One aspect of system quality is its reliability. A system is reliable if, it does not produce failures. Although it is virtually impossible to develop software that can be proven to be error free, software development strive to prevent the occurrence of errors, using methods and techniques include error detection, correction and error tolerance. Both strategies are useful for keeping the system operating and preventing failures. Unlike hardware with which there can be manufacturing and
equipment failures with software failures are the result of design errors that were introduced when specifications were formulated and software written.
An error avoidance, developers and programmers make every attempt to prevent errors from occurring at all. The scientific methods and techniques are used in the analysis and design phases are aimed at meeting this objective. This emphasis on early and careful identification of user equipments is another way this objective is pursued. Still analysis must assume that it is impossible to fully achieve this objective.
This method uses design features that detect errors and make necessary change to correct either the error while the program is in use or the effect on the user so that a failure does. Not occurs. Even though the error may not happen for several years
SREE NARAYANA GURUKULAM COLLEGE kadayirippu Page Number:
38
after the system is installed, the error is there from the day of development. The failure occurs later.
Page Number:
39
Page Number:
40
FIRST LEVEL
Pirate/
IJstof client s
I,
I to ice
Page Number:
41
ST COM) LEVEL
Expansion Of Send Mere.ige
Is
I
I,
Send to
Page Number:
42
Page Number:
45
COLLEGE
Page Number:
43
9. DATABASES IN CHATSERVER
REGISTRATION
FIELD NAME
UNAME PASS LNAME PLACE ADDRESS PIN DOB E-MAIL PHONE flag ID
DATA TYPE
VARCHAR VARCHAR CHAR VARCHAR TEXT TEXT VARCHAR VARCHAR TEXT TEXT NUMERIC USERNAME PASSWORD LNAME LOCATION ADDRESS PINCODE DATE OF E-MAIL PHONE False USER ID
Student
Page Number:
44
Branch: CSE
Teacher
FIELD NAME
Name Password feedback Branch
nFsr.RmnN
Full name
Login password Student's feedback Department of study
Paren t
Page Number: 45
Feedback
ADMI N
Page Number:
46
Branch: CSE
Name; User
Type: Branch;
\.';teacher
Date Of Birth:
Computer
Vsn Id:
User Registration
Password:
Country
Local
intranet
Page Number:
48
Logi n
Uxerli: ram Password: CstrType:
; Student | Login Studen t Teache r
Administ rator
Page Number: 5 1
(Submit
*J
Locaf'ntra net
Page Number:
50
Page Number:
52
administration
a Chatrooms successfully. backup
Open
chatrooms Manage
jChatBox Logout
'' rt^vx U
for r;cr.--:->rr.rre::.'. .
41
'jurairtra net
Page Number: 53
Manage chatroom
Select a ctatroom *
Open a chatroom
12 seconds v Action-Tracker
v
Ves
0 Mo | english
s Cancel
5^ Done
Local intranet
Page Number:
54
-jChatBox
chatroom % Moderators
Logs folder:
Ua f older pf jChstfcci. (e.g. : fhcFT.*/alKe/):h3tbo<(iogs:
Backup
System login:
Vo'-i'i-: .-.ci' De?ay;t is : system
chatrooms Manage
jChatBox # Logout
USERSESSIONID :
Lie: Ht!ji"ts::on It-. DO HOT CHWCJf !
TRANSCRIPT:
"'jnroipt -r;
License file :
JChatBox is free for noncommercial sites.
Update SYSTEM
password. CHANGE IT
' ou have tc select *fce checkbox above ir ycu want to update the SYSTEM password. This password is stored as its HD5 hash file;.
^ local intranet
Manage
chatroon ; Select a chatroom Open a chatroom Moderators Backup chatrooms Manage jChatBox Logout
-jChatBox Moderators Moderator has been added successfully. Add moderator '' Remove moderator Moderator: - Select a moderator to update Useniame (login): Email: Update moderator password ? New password : Confirm password : [ Update moderator
v
\i
htranet
Local
11.CONCLUSION
We can conclude that this project enables easy decision making with the support of correct and precise information, Accurate and timely reports as there would be less chance for errors in transactions. The new system can lead to increase in transactions i.e., more billing, more booking as the computerization speeds up operations, Increase in revenue due to increase in transactions and prevents loss of revenue. Management authorities can collect reports at any point of time from software. They need not worry about the delay in reports from finance and other departments. Computers can handle large volume of data without any frustrations. As the software is totally integrated, there is no question of increased data entry problems. As the software comes with very flexible user interface, users will feel very comfortable with new environment. SCOPE FOR FUTURE ENHANCEMENTS
The current application developed is in accordance with the requirement that has been provided by the organization. On regarding the future enhancement, the application can be further expanded in accordance with the changing scenario in the web-based applications that need frequent changes in the changing environment and expansion of the organization. Since the change in technology and user needs arises frequently in certain short intervals of time, the application can be further upgraded to meet the requirements that may arise in the far or near future. With regarding to the needs that arises, more and more features can be included by adding it as separate modules and integrating it with the existing system.