Members BookmarksPolls Fresher Jobs Funny Pictures MCA Projects New Member FAQ  



My Profile
Active Members
TodayLast 7 Days more...



Awards & Gifts
Online Exams

Fresher Jobs


Our fresher job section is exclusively for fresh graduates! Find jobs for freshers in major Indian cities including Bangalore, Chennai, Hyderabad, Pune or Kochi

Resources


Find educational articles, blogs, discussion threads and other resources.

Colleges


Find details about any college in India or search for courses.

Advertisements


website counter



academic project(shotbox)


Posted Date: 16 May 2008    Resource Type: Articles/Knowledge Sharing    Category: Computer & Technology

Posted By: sri phani kumari       Member Level: Gold
Rating:     Points: 3





1. ABSTRACT

2. INTRODUCTION

3. ABOUT ORGANISATION

4. SRS DOCUMENT

5. DESIGN PRINCIPLES & EXPLANATION

6. DESIGN DOCUMENT

6.1 SYSTEM DESIGN
6.2 FEASIBILITY STUDY
7. PROJECT DICTIONARY

7.1 UML DIAGRAMS
7.2 E-R DIAGRAMS
8. FORMS & REPORTS

8.1 I/O SPECIMENS
8.2 I/O SAMPLES

9. TESTING

9.1 TEST CRITERIA & TEST CASES
9.2 TEST REPORT & ANALYSIS

10. IMPLEMENTATION & USER MANUALS

11. CONCLUSION

12. BIBLIOGRAPHY



























































Shout Box is a form of real-time chat communicator or synchronous conferencing. It is mainly designed for group (many-to-many) communication in discussion forums called channels, but also allows one-to-one communication and data transfers via private message. Only team members can enter their room and the chat can then be automatically documented in the form of a protocol. It's a fast, easy and affordable way to host and manage real-time communication. It allows you to organize chat-events, collaborative work sessions or online meetings. System user can open and control multiples rooms. Moderators can manage users (list, ban, kickoff), manage blacklist, generate transcripts, do backup, and apply chatrooms parameters such as max users, language, filters, performance, ... Server side needs Servlets/JSP. Client side could be HTML/CSS/JavaScript, Applets etc. Chatrooms are easily customizable thanks to skins.

ShoutBox is fast, reliable, scalable, fully customizable and easy to install communication platform without page flickering. This is not just a chat for local networks. This chat was designed initially with the only objective, namely, to have a pleasure from the talk. Chat80 brings totally new and superior approach making your communication in the companies easier and faster than ever. ShoutBox lets you use your computer to speak to others over the internet or your local office computer network

This application is totally web-based, making it the thinnest client possible. It's simple to install on the server, and needs no client install at all. This application will let your visitors hold real time discussions while surfing your site. This application will turn your entire site into an awesome discussion boulevard.

Features of this application:
• Administration panel:
Login/Password protected access. Password is encrypted in config.file.One web page to open a room.
One web page to add/remove/update moderators.
One web page to update/close/monitor chatrooms.
One web page to backup chatrooms.
One web page to manage ShoutBox parameters.

• Multiple chatrooms:
Shout Box supports multiple chatrooms. You can open, close, update, transcript, backup each chat room. You can also monitor users in each chat room. Blacklist is available for each chat room too.
• Chat room features: Chat room parameters are: name, subject, and max. users, private messages (allowed or not), display mode (frames, applet, flash), refresh model (way clients are synchronized), refresh limit, history, languages (English, Spanish, Danish, French, German, Dutch, Portuguese ...), filters (HTML Filter to prevent from cross scripting attacks and URL Filter to convert http://...... into hyperlink in the chat room content) and moderators.
• Users management :
Moderator users can list users per chat room. They can ban (definitively) or kickoff (temporary) some users. Kicked users are transferred into a blacklist which can be cleared. Moderators can also track user's session in real time. Guest users are identified (nickname) but not authenticated.
• System management:
System user can modify logs folder, backup filename, login, password, users timeout, license filename and others advanced parameters. Chatrooms backup is automatically done on rvletengine shutdown. Chatrooms are automatically re-opened on servlet engine re-start.
• Clients:
Basically, ShoutBox provides 4 HTML/JavaScript skins: Multilanguage, classic (simple text skin), mIRC (mIRC look and feel), j-TV (graphical skin). It also includes 4 Applet skins (Multilanguage, extreme SUN, Manga and Comics). Clients could be FLASH5&6 or Java/Swing Application too.













































































Existing System:

There is no existing system. Here we have developed this application just to provide chat rooms to chat different kind of moderators. This is a system provides all the basic features of a Chatting System.

Proposed System:

The first step of analysis process involves the identification of need. The success of a system depends largely on how accurately a problem is defined, thoroughly investigated and properly carried out through the choice of solution.

ShoutBox supports multiple chatrooms. You moderators cannot can open new chatroom by following "open a chatroom" link. You can manage a chatroom by selecting the chatroom in the list box named "Manage chatroom". You can backup all chatrooms by following "Backup chatrooms" link.

You can add/remove/update moderators. A moderator is defined by an username (login), a password and an email. Email field is not mandatory. Links between moderators and chatrooms could be configured in chatroom forms. In addition to chatroom's moderation (kick off, ban, transcript, ...), a moderator can open many new chatrooms. However backup chatrooms, modify ShoutBox System properties, and add/remove/update others moderators

Totally you have the control over chat rooms, users, system properties to change.

Display Mode : There are four ways to display chatroom's content (i.e. chartrooms clients). It could be in an HTML/JavaScript page, an Applet, a Java application or in a Macromedia Flash5 client. So, for HTML/JavaScript clients, you have to choose between Framed (JSP) or Buffered-Framed (JSP) modes. Buffered-Framed one is optimized to lower flickering effect.

Project Scope and Objectives:

? ShoutBox is an application and is used to create/manager/monitor chatrooms. You can add/update/remove moderators. You can also track user's sessions. Finally you can modify ShoutBox system properties. Lot of effort was put to make it user friendly.
? Optimum utilization of application is possible. All basic features are provided.
? Reduces the user interaction work.
? The wastage of time is reduced when compared with old type chat rooms.
? It also helps in optimum distribution of funds by the management among user groups for procurement of new equipment.
? More flexible/expendability it means developer can ---
• They can add more languages and support to ShoutBox through XML resources files based on Multilanguage skin only
• They can implement their own client (HTML/JavaScript, Applet, Flash, Java Application). They only need API (JavaDoc) to know how to interact with ShoutBox server-side. HTML/JavaScript skins are also a good starting point. XML Connector service should be used for remote clients (Applets, ...).
• They can implement additional filters by extending ShoutBox.Chat. Filter. Filter abstract class.
• They can implement additional Transcript by extending ShoutBox. Chat.Transcript.Dump abstract class. Transcript implementation is declared in ShoutBox.xml (inside tag) and loaded at Runtime.
• They can plug listeners by implementing ShoutBox.Chat.Event.ChatroomListener or ShoutBox.Chat.Event.Chatroom Listener interfaces.

























































SaparnaInfotech limited is an organization of Professionals with multi disciplinary experience in the fields of Software development, services and consultancy and specialization in Web portals, Banking, Insurance, Hospital and Business Solutions.

Saparna, a pioneer in client /server solutions, takes pride in being part of the growing Information Technology industry at Hyderabad which is fast emerging into yet another Silicon Valley of India.

Strengths:

The major strengths of Saparna are its advanced technological skills and a committed team of professionals, which bring in a constant stream of satisfied customers to the company's fold both in the export and the domestic markets.

We have a dedicated team of professionals with real experience in the functional areas in a variety of state-of-the-art, Hardware and Software platforms. Our business interest is focused on Product Development for Banking, Hospital Management, Hotel Management, Rice Mill Automation, Web Portals, Image Processing Tools, Factory Automation and Office Automation. Our clear vision can provide new perspective to any area requiring IT solution with total commitment on quality, delivery and cost with our proven expertise both in well established and cutting edge technologies.

Focus:

The company focuses on delivery of cost effective and timely business solutions developed on cutting-edge technology. M/s BIL has an advanced Software development center backed by committed and experienced Software Professionals. M/s BIL respects customers and the development with full quality in mind and believes in nurturing a relationship, Trust and dependability.

Mission:

SAPARNA’s Mission is to build a quality product, respect human values, upgrade its process and technical capabilities on a continuous basis, providing an employee-centric work atmosphere where every employee feels at home and is sensitive for enhancing the quality norms of the Software development work in IT and the State-of-art Technology and Services. To deliver innovative business solutions that maximizes the success of organizations in India and Abroad. To develop and maintains strategic alliances with institutions of expertise in India and Abroad.



Vision:

SAPARNA's Vision is to emerge as one of the fastest growing IT services company with special emphasis on quality, integrity, innovation, commitment, human values for varied and specific requirements and to deliver such products which will have far reaching advantages and applications.

SAPARNA envisages of undertaking Business Outsource Processing works like Data enumeration, e-Catalog, Insurance processing, Accounting, Auditing, Back end Data processing for Banks, Insurance companies and MNC's.

Human Resource:

An aspect that makes Saparna so special is its strength in possessing manpower resources that comprise of experienced, talented and dedicated computer science graduates and postgraduates. These professionals are continuously trained to provide smart business solutions using skills in the very latest technology that includes Client/Server, Object Oriented Design and programming and Internet technologies. Saparna's human resources comprise of personnel qualified in computer sciences: M.Tech's, B.Tech's, MCA's and MSc's.

Skill Areas:

Operating Systems : MS-DOS, Sun Solaris, UNIX, Windows NT/2000, Windows95/98.
RDBMS : Oracle, SQL Server, and MS Access.
Client/Server Tools : Visual Basic, VC++.
Web technologies : ASP, Java, WAP, WML, HTML, and XML.
Legacy Skills : COBOL.
Middle Tier : COM/DCOM, RMI, CORBA.

Saparna adopts new and emerging technologies to deliver innovative solutions and best-of-breed products to its customers. As part of its R&D activities, Saparna has established structured R&D Group to foster innovation.

Infrastructure:

At M/s SIL the Infrastructure facilities are excellent and abundantly available for the IT personnel to work with. This company is located very close to the Software Technology Park where in all the facilities for Data Transmission is available. This is located in our own premises of approximately 10,000 sft . This center has following facilities to handle international parties.
































































































The ShoutBox is developed with the aim of design an environment, in which users can enter required existing chat room other wise he has a choice of creating his own chat room as per his interest. There are two users can chat privately or publicly. Default option is public chat. We can also set the system properties besides type of display mode. There are four modes to select: HTML/JavaScript, applet mode, java application mode or Flash Media mode.

1. Introduction

1.1 Purpose: The purpose of this document is to describe all external requirements for the ShoutBox. It also describes the interfaces for the system.
ShoutBox is a JAVA JSP/Servlets chat application. Here are the three requirements you need to run it:

• Servlet Engine or Application Server JSP1.0/Servlets2.1 compliant (or higher).
• JVM 1.2.2 or higher.
• Browser (Internet Explorer 4.x or higher, Mozilla 1.x, Netscape 4.x or higher)
ShoutBox only needs HTTP to communicate between server-side (servlet engine) and client-side (browser).

1.2 Scope: This document describes the requirements of the system. It is meant for use by the developers, and will also be the basis for validating the final system. Any changes made to the requirements in the future will have to go through a formal change approval process. The developer is responsible for asking for clarifications. When necessary and will not make any alterations without the permission of client.

ShoutBox should run under ANY platform supporting JSP1.0/ Servlets 2.1(or higher). This is the scope of our application

Tested platforms :
Servlet Engine WebServer JVM OS
Tomcat 3.1 Tomcat 3.1 SUN - 1.2.2_007 Win32
Tomcat 3.2.4 Apache 1.3.14 SUN - 1.3_01 Solaris 2.7
Tomcat 3.3.1 Apache 1.3.14 SUN - 1.3_01 Solaris 2.7
Tomcat 4.0.3 Tomcat 4.0.3 SUN - 1.3_02 Win32
Tomcat 4.0.6 Apache 1.3.17 SUN - 1.4.1 Solaris 2.7
Tomcat 4.1.18 Tomcat 4.1.18 SUN - 1.3.0 Win32
Tomcat 5.0.16 Tomcat 5.0.16 SUN - 1.4.1 Win32
Resin 1.2.3 Resin 1.2.3 SUN - 1.2.2_007 Win32
Resin 2.1.6 Resin 2.1.6 SUN - 1.3_02 Win32
JRun 3.01 JRun 3.01 SUN - 1.2.2_007 Win32
JRun 4.0 JRun 4.0 SUN - 1.3_02 Win32
ServletExec 3.1 NES-IPlanet 4.1 SP5 SUN - 1.2.2_006 Win32
SunONE 7.0 SunONE 7.0 SUN - 1.3.1 Win32
Weblogic 5.1 SP9 WebLogic 5.1 SP9 SUN - 1.2.2_007 Win32
Weblogic 6.0 SP2 WebLogic 6.0 SP2 SUN - 1.3.0 Win32
Weblogic 6.1 WebLogic 6.1 SUN - 1.3.1 Win32
Weblogic 7.0 SP1 Weblogic 7.0 SP1 BEA - 1.3.1 Win32
WTE 3.5.3 WTE 3.5.3 IBM - 1.2.2 Win32
WebSphere 3.5.3 IBM HTTP Server 1.3.12 IBM - 1.2.2 Win32
WebSphere 4.0.2 IBM HTTP Server 1.3.19 IBM - 1.3 Win32
WebSphere 5.0 WebSphere 5.0 IBM - 1.3 Win32
Orion 1.5.2 Orion 1.5.2 SUN - 1.3.1 Win32


1.3 Definition: A ShoutBox can also treat as a tool for creating an environment, in which users can chat with their required users and he is allowed to create his own chat room. Administrator has the right of setting the system properties like Backup file, log folder, system login, system email, timeout, user session id, default language, updated password….etc.
1.4 Reference: Not Applicable.
1.5 Developers Responsibilities overview: The points that mentioned in system requirements specification are

1. An introductory nature describing mainly the

? Purpose of the system requirements specifications document.
? Outlining the scope of the envisaged application.

2. Describes the iterations of the system with its environment without going into the internals of the system. Also describes the constraints imposed on the system. Thus it is out side the envisaged application. The assumptions made are also listed. It is supported by the

? UML Diagrams

3. It also describes the internal behaviour of the system in response to the inputs and while generating the outputs.

This document is also supported with detailed level UML diagrams, list of inputs, process explanation and list of output.

4. Contains external interface requirements, which includes the user, hardware and software interfaces.

5. Deals with performance requirements of the system. Contains the design constraints composing of software constraints and hardware constraints.


2. General Description

Application functional overview: ShoutBox you can launch it and create/manager/monitor chat rooms. You can add/update/remove moderators. You can also track user's sessions. Finally you can modify ShoutBox system properties.

2.1 User characteristics: In our project user may be an administrator and an ordinary enduser. Administrator have the authority to set all the system properties. Enduser can open a chatroom or can create a chat room of his own with the permission of admin. And also he can choose the pubic or private chat. No need to have the even minimum knowledge to operate this system.

2.2 General constraints: The system should run on Pentium, under windowsNT/2000 professional or server or forward versions of Microsoft operating systems with minimum 16 MB RAM for better performance. Actually these filters can apply on any kind of Mail servers.

2.3 Assumptions and Dependencies:

a. It is assumed that the java web server is Tomcat4.0.6, Tomcat is a commercial-quality web server solution based on the Java platform that supports the Servlet and JSP specifications.
b. It is assumed that application server is Bea WebLogic. t.
c. All the details produced by the user are correct.
d. Other auxiliary systems like Java Naming and Directory Interface.

3. Function Requirements

Functional requirements specify which outputs should be produced from the given inputs. They describe the relationship between the input and output of the system, for each functional requirement a detailed description of all data inputs and their source and the range of valid inputs must be specified.


All the operations to be performed on the input data to obtain the output should be specified.

3.1 Inputs: Inputs are nothing but data have to be entered by user or some properties settled by admin. User has to feed relevant data only depends on the operation going to take. To login user has to give nickname and chatroom as inputs.


3.2 Outputs: Outputs are reflected immediately. Every text we entered in text window part is reflect on public main body of the chat room form.


4. External Interface Requirements

4.1 User Interface: Here user interface is developed using JSPs using which we can design and develop the pages which are attractive and dynamic. It is also very easy to navigate from one place to another place. We put lot of efforts to make the user interface attractive and process the data which is fed by the user.

4.2 Software Interfaces: This interface requirements should specify the inter face with other. Software which the system will use or which will use the system, this includes the interface with the operating system and other applications.

The message content and format of each interface should be given.
4.3 Hardware Interfaces: Hardware interface is very important to the documentation. If the software is execute on existing hardware or on the pre-determined hardware, all the characteristics of the hardware, including memory restrictions, should be specified. In addition, the current use and load characteristics of the hardware should be given.

5. Performance Requirements

All the requirements relating to the performance characteristics of the system must be clearly specified. There are two types of performance requirements – static and dynamic.

Static Requirements are those that do not impose constraint on the execution characteristics of the system. These include requirements like the number of terminals to be supported, and number simultaneous users to be supported, number of files, and their sizes that the system has to process. These are also called capacity of the system. Dynamic requirements specify constraints on execution behaviour of the system. These typically include response time and throughput constraints on the system.

The processing speed, respective resource consumption throughput and efficiency measure performance. For achieving good performance few requirements like reducing code, less use of controls, minimum involvement of repeated data etc., are to be followed. Each real-time system, software what provides required function but does not conform to performance of software requirements is acceptable. These requirements are used to test run time performance of software with the context of an integrated system.

6. Design constraints

6.1 Software constraints :

Operating System : Windows2000 Server/
XP.
Reports : General Reports
Other Applications : Tomcat WebServer or
BEA WebLogic Server

6.2 Hardware Constraints :

Pentium Processor : Intel 2.0 GHZ
RAM : 256MB
Hard Disk : 40 GB
CD/ROM Drive : 52 Bit
VDU : VGA
Key Board : 101 Standard

7. Acceptance Criteria

Before accepting the system, the developer must demonstrate that the system works on the details of the user email-ids entered in the corresponding files. The developer will have to show through test cases that all conditions are satisfied.















SERVLETS


Introduction to web applications:
HTTP is used by the browsers to communicate with the web servers. In place of browser we can develop our own programs using Socket API to communicate with a web server.

According to HTTP the user agent/http client/browser sends a request for a resource and gets back response. According to the protocol the web server/http server sends the response with a status code. Most of the web servers are configured not to list the contents of a directory. Almost every web server provides an option of defining a list of files as welcome files.

TOMCAT:
Tomcat home is a directory in which TOMCAT is installed. Ex:
C:\Tomcat\Tomcat5.0 (most it look like C:\ jakarta-tomcat-5.0.19/jakartatomcat-
5.0.19 when you extracted zip file to C drive)

Starting and Stopping Tomcat :
To start Tomcat run Tomcat_Home\bin\startup.bat
To stop Tomcat run Tomcat_Home\bin\shutdown.bat
Tomcat requires the location in which java is installed for this we need to add set JAVA_HOME=“path where jdk is installed” and add set CATALINA_HOME=.. in both startup.bat and shutdown.bat. If you are not installed the tomcat, for accessing Admin and Manager we need to add


roles="admin,manager,tomcat"/>
to Tomcat_Home\conf\tomcat-users.xml

Tomcat is configured to listen at port no 8080. We can change the port no using configuration files.(Tomcat_Home\conf\server.xml file change [ extends="package.class" ]
[ import= "{ package.class | package.* }, ..." ]
[ session="true|false" ]
[ buffer="none|8kb|sizekb" ]
[ autoFlush="true|false" ]
[ isThreadSafe="true|false" ]
[ info="text" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType [
;charset=characterSet ]" |
"text/html ; charset=ISO-8859-1" ]
[ isErrorPage="true|false" ]
%>
For more information on JSP page directives see the URL
http://www.developer.com/java/other/article.php/626391
Whenever we use an object in System.out.println internally toString() will be executed. Ex: Date d = new Date();
System.out.println(d);
System.out.println(d.toString());
If we need to use a class in a package other than the default package we can use import package or fully qualified name of the class in our code In our JSP pages to import the classes we can use
• <%@ page import = “java.util.Date” %>
<%@ page import = “java.io.* %> (or)
• <%@ page import = “java.util.Date, java.io.*” %>
We can include the java code directly as part of JSP files ,
<% Java Code %> called as scriptlet. When the JSP compiler compiles the JSP file it copies the scriptlet as it is in jspService method. Html content
<%= new java.util.Date() %>
<% int i=10; out.println(“i=“,+i); %>
In above code we have declared a variable ‘i’ and used in print stmt but we are using a variable ‘out’ without declaring it but it is perfectly valid in JSP scriptlets.
Implicit Variables:
JSP compiler generates JSP code with a set of variable like (i) out ii) request iii) response iv) pageContext v) session vi) application vii) config and viii) page. All the variables can be used in the scriptlets without declaring them. These variables are called as well known variable or implicit variables. For more info on implicit variable see the following link
http://javaboutique.internet.com/tutorials/JSP/part11/page07.html
page refers to this – current object and pageContext is an object (javax.servlet.jsp.pageContext) that is created for every JSP page and it provides access to the other objects like out, session …. We have methods like forward and include performing operations like RequestDispatcher.forward and RequestDispatcher.include In JSP pages we can use declarative statements to define the variables or implement the methods as,
<%! int i; %>
We can write our own methods, static variables and instance variables in declarative statement as,
<%! Static int x =10;
int add (int a, int b) { return a+b; }
%>
It is highly recommend to use tag libraries instead of using scriptlets and declarative statement.
In java we use try catch blocks to separate out the actual code that performs the action and code the code that deals with error. In JSP we can provide the implementation of code that handles the error in a separate page. This JSP page is known as error page. For supporting the above concept JSP provides isErrorPage and errorPage directives.

When an exception is thrown while executing one.jsp file the container will start executing errpage.jsp. We can access the exception variable without declaring it in error pages. Instead of sending the data byte by byte to the browser the web container collects the data in a buffer. If the size of the buffer is enough to accommodate the whole o/p of JSP page the o/p is collected and send at once to the browser. This reduces the amount of Network traffic. If the jsp generates more amount of data than the size of the buffer the container frees the buffer once it is filled (this is done if autoFlush is set to true)
<%@ page buffer="1kb"%>
<%@ page autoFlush="false"%> ( default is true)
When we encounter JSP buffer overflow exception we can solve it either by increasing the size of the buffer or by setting the value of autoFlush to true. In JSP pages we can use action tags like include, forward, useBean, setProperty, getProperty, param… these tags are supported by all the web containers. See url http://javaboutique.internet.com/tutorials/JSP/part11/page08.html
It includes the content of page2 (it may be of type jsp/html/img ….) in the o/p sent to the client (internally it uses requestDispatcher.include) similarly we can use jsp:forward tag to forward the request from one page to other page. This is equivalent to requestDispatcher.forward. If the data is already committed before the execution of jsp:forward then forward will be failed. We can solve the problem by increasing the buffer. There will be no difference in the o/p produced by using jsp:include and include directive. When we use include directive the contents will merge together by jsp compiler and generates a single servlet but when we use action tag include two servlets will be generated and in first servlet code similar to requestDispatcher.include will be added.

There may be slight benefit in terms of performance using include directive. When we use jsp:include a change in main file and change in sub file causes regeneration of the servlets. According to jsp specification the container need not regenerates the servlet if there is a change in included file when we use include directive We can write the functions as part of declarations and in these function we can’t access implicit variables. Implicit variables are local to jspService and can be accessed from the scriptlets. We can provide the implementation of jspInit and jspDestory which are equivalent to init() and destroy() methods in the servlets. As part of JSP files we can use jsp expression as,
<%= Java Expression %>
ex: Current time: <%= new java.util.Date() %> In jsp 2.0 we have support for EL – Expression Language
Tomcat as well as other web containers internally creates the threads and access the service method from the threads. A servlet container creates multiple threads and accesses the service method from these threads concurrently as shown below same point of time it sends the response.


Since the servlets are accessing from multiple threads the code in Servlets must be ThreadSafe. Code will be thread safe if it can be executed concurrently from multiple threads. All the objects we will use from our servlets using instance variables must be thread safe. Not every java class is thread safe ex: AWT, JFC classes If our servlet uses only locals variables we can claim that our servlet is thread safe. We can develop a servlet by implementing single thread model. This is a marker interface or tagged interface. From servlets 2.4 this interface is deprecated and it is not recommended. By implementing this interface we are telling the web container that my service method can’t executed concurrently from multiple threads. Most of the web container vendors creates multiple servlet objects based on same class if the servlet implements single thread model. In this case more amount of memory space is required.

Java Beans:

We can assemble a computer or fan very easily by choosing different components manufactured by different vendors. We can take a screw from company one and use it to fit the Mother board to cabinet as they are manufactured according to a standard. Observing to this point to simplify the process of developing software, different software companies has proposed different component technologies. Ex: java soft java bean component tech, EJB component tech, Microsoft COM, BONOBO component model. Java Bean and EJB are two different specifications from java soft. EJB can be used to implement business logic on the server side. Most of the developers uses to assume Java Bean components are for developing GUI components and they can be used only on the client side but we can develop any kind of software using Java Bean standard (GUI/ non GUI). Java Bean can be used either on the client side or on the server side. AWT, JFC components are implemented according to Java Bean standard. According to Java Bean standard a Bean component can support a set of properties, set of events, any number of additional methods. A property can be read-write or it can be just read only property. For read write property we need to provide setXXX and getXXX methods (isXXX if the property is Boolean )
To support the following properties (i) uname (ii) email (iii) age according to Java bean standard we need to write the code as,
public class UserBean {String uname;
String email;
int age;
public void setUsername( String value ) {uname = value; }
public void setEmail( String value ) { email = value; }
public void setAge( int value ) { age = value; }
public String getUsername() { return uname; }
public String getEmail() { return email; }
public int getAge() { return age; }
}
Java Beans like JButton supports the events by providing the methods with
naming patterns (i) addXXXListener (ii) removeXXXListener
Apart from developing Java bean class we can also provide BeanInfo class.
In this class we can provide (i) Information about properties (ii) Information
about the events and (iii) Information about the icon that represents our
bean.
According to JSP model1 we can develop the application as,

According to above model the presentation logic has to be implemented in JSP page and the business logic has to be implemented as part of Java bean This model help us in separating the presentation and business logic. For a large scale projects instead of using model1 it is better to use model2 (MVC). Stuts frame work is based on model 2.


































































































DESIGN PRINCIPLES & METHODOLOGY


To produce the design for large module can be extremely complex task. The design principles are used to provide effective handling the complexity of the design process, it will not reduce to the effort needed for design but can also reduce the scope of introducing errors during design.

For solving the large problems, the problem is divided into smaller pieces, using the time-tested principle of “divide and conquer”. This system problem divides into smaller pieces, so that each piece can be conquered separately. For software design, the problem is to divide into manageable small pieces that can be solved separately. This divide principle is used to reduce the cost of the entire problem that means the cost of solving the entire problem is more than the sum of the cost of solving all the pieces.

When partitioning is high, then also arises a problem due to the cost of partitioning. In this situation to know the judgement about when to stop partitioning.

In design, the most important quality criteria are simplicity and understandability. In this each the part is easily related to the application and that each piece can be modified separately. Proper partitioning will make the system to maintain by making the designer to understand problem partitioning also aids design verification.

Abstraction is essential for problem partitioning and is used for existing components as well as components that are being designed, abstracting of existing component plays an important role in the maintenance phase. ding design process of the system.

In the functional abstraction, the main four modules to taking the details and computing for further actions. In data abstraction it provides some services.

The system is a collection of modules means components. The highest-level component corresponds to the total system. For design this system, first following the top-down approach to divide the problem in modules. In top-down design methods often result in some form of stepwise refinement after divide the main modules, the bottom-up approach is allowed to designing the most basic or primitive components to higher-level components. The bottom-up method operations starting from very bottom.

In this system, the system is main module, because it consists of discrete components such that each component supports a well-defined abstraction and if a change to the component has minimal impact on other components. The modules are highly coupled and coupling is reduced in the system. Because the relationships among elements in different modules is minimized.






























































































System design is the process of applying various techniques and principles for the purpose of definition a system in sufficient detail to permit its physical realization.

Software design is the kernel of the software engineering process. Once the software requirements have been analyzed and specified, the design is the first activity. The flow of information during this process is as follows.
Information domain details


Function specification


Behavioral specification


Other requirement modules Program

Procedural design






Software design is the process through which requirements are translated into a representation of software.



? Primary design is concerned with the transformation of requirements into data and software architecture.
? Detailed design focuses on refinements to the architectural representations that lead to detailed data structure and algorithmic


representation for software. In the present project report only preliminary design is given more emphasis.



System design is the bridge between system & requirements analysis and system implementation. Some of the essential fundamental concepts involved in the design of as applications are
? Abstraction
? Modularity
? Verification
Abstraction is used to construct solutions to problems without having to take account of the intricate details of the various component sub-programs. Abstraction allows system designer to make step-wise refinements by which attach stage of the design unnecessary details annunciate with representation or implementation may be hidden from the surrounding environment.

Modularity is concerned with decomposing of main module into well-defined, manageable units with well-defined interfaces among the units. This enhances design clarity, which in turn eases implementation, debugging, testing, and documentation maintaining of the software product. Modularity viewed in this senses vital tool in the construction of large software projects.

Verification is fundamental concept in software design. A design is verification. It can be demonstrated that the design will result in an implementation, which satisfied the customer’s requirements.

Some of the important factors of quality that are to be considered in the design of application are:

The software should behave strictly according to the original specification of satisfying customer’s requirements and should function smoothly under normal and possible abnormal conditions. This product is highly reliable, can handle any number of mails to filter.

The design of the system must be such a way that any new additions to the information functional and behavioral domain may be done easily and should be adapted to new specifications. We provided this extensibility to this product. you can add any number of filters to your product in the future.

System design is the process of developing specification for the candidate system that meets the criteria established during the phase of system analysis. Major step in the design is the preparation of input forms and design of output reports in a form acceptable to the user. These steps in turn lead to a successful implementation of the system.
6.2 FEASIBILITY STUDY

FEASIBILITY REPORT: Feasibility study is the high level capsule version of the entire requirement analysis process.The objective of feasibility study is to determine whether the proposed system can be developed with available resources.
There are three steps to be followed for determining the feasibility study of proposed system.

? Technical Feasibility
? Operational Feasibility
? Economical Feasibility

Technical Feasibility: It is concerned with hardware and software feasibility. In this study,one has to test whether the proposed system can be developed using existing technology or not. If new technology is required ,what is the likely hood that it can be developed ?The organization for which the system to be developed is not having a software application for employee communication .Since this company is using the softwares like Apache Tomcat which is an open source, the company need not purchase new softwares or hardware for run this application As per our client requirements the system to be developed should have speed response because of fast and easy communication, programming productivity, reliability, security, scalability, integration and availability. To meet these requirements I as a developer I can choose jsp as a right choice because of its features platform independence, modularity and reusability.

Operational Feasibility: Operational feasibility determines whether the proposed system satisfied the user objectives and can be fitted in to current system operation. The proposed system “ShoutBox” can be justified as operationally feasible basing on the following.

? The methods of processing and presentation are completely acceptable by the clients because they meet all the user and client requirements.
? The clients have been involved during the preparation of requirement analysis and design process.
? The system will certainly satisfy the user objectives and it will also enhance their capability.
? The system can be best fitted into current operation and requires little bit documentation is needed to make our employees aware of using this application. With the help of this system the employee can


communicate with another employee and the administrator can monitor the departments. The proposed system is completely user friendly.

Economical Feasibility: This includes an evaluation of all incremental costs and benefits expected if proposed system is implemented. costs-benefit analysis which is to be performed during economical feasibility delineates costs for project development and weighs them against benefits of system. In this the proposed system replaces the manual process of employee communication increases the phone cost or decreases the productivity by wasting his time by physically moving and contacting another employee. This application benefits the organization in increasing the productivity indirectly by providing virtual communication. So developing this system is economically feasible to organization.




Architectural overview of the project:

you can create/manager/monitor chatrooms. You can add/update/remove moderators. You can also track user's sessions. Finally you can modify ShoutBox system properties.

• AUTHENTICATION
Administration GUI is login/password protected.
When you access http://yourserver.com/admin/index.jsp you get the screen below.
- Default SYSTEM login is : system and default password is : password.
You could change both in System properties.
- Default MODERATOR login is : moderator and default password is : password.
You could change both in Moderators properties.
You could also add and remove moderators.



















• MODERATORS


ShoutBox provides moderation feature. You can add/remove/update moder-ators. A moderator is defined by an username (login), a password and an email. Email field is not mandatory. Links between moderators and chatrooms could be configured in chatroom forms. In addition to chatroom's moderation(kick off, ban,transcript,...), a moderator can open many new chat rooms. However moderators cannot backup chatrooms, modify ShoutBox System properties, and add/remove/update others moderators.

Note:Moderators information are persisted in ShoutBoxusers.xml file. All pass words are encrypted, they can't be reversed.



• CHATROOMS

ShoutBox supports multiple chatrooms. You can open new chatroom by following "open a chatroom" link. You can manage a chatroom by selecting the chatroom in the list box named "Manage chatroom". You can backup all chatrooms by following "Backup chatrooms" link. See the screen below to locate these features. Note that you can logout the administration through the "Logout" link. System properties page is available through "Manage ShoutBox" link




• OPEN A CHATROOM

You need severals parameters (basics and advanced) to open a new chatroom :

Name : The name of the chatroom.
Subject : The subject of the chatroom.
Max. users. : Maximum users for the chatroom. No more users allowed to enter in the chatroom once this limit is reached.
Display Mode : There are four ways to display chatroom's content (i.e. chatooms clients). It could be in an HTML/JavaScript page, an Applet, a Java application or in a Macromedia Flash5 client. So, for HTML/JavaScript clients, you have to choose between Framed (JSP) or Buffered-Framed (JSP) modes. Buffered-Framed one is optimized to lower flickering effect.
Note that "Framed" means that HTML/JavaScript clients need frames.

History : It's the number of lines, from the chatroom's content, that will be displayed on clients. It's a "window" on the chatroom's content starting from the most recent message. The more history value is high, the more you need bandwith. One page is around 5 KB with history=40.
Refresh model : ShoutBox uses a PULL system to keep all clients synchonized. It means that each client asks for the chatroom's content periodically. ShoutBox provide three model of "time-period" to refresh clients :
+ Time-Constant => Period is constant (in seconds).
+ RoomLoad => The more chatroom is loaded, the more its clients are "refreshed".
+ Action-Tracker => The more an user chats, the more it is "refreshed".
Refresh limit : This parameter is linked to refresh model above. Refresh period can't be longer than this value. The more this value is low the more refresh period is fast.
Private message : This parameter allows system user to enable/disable private message feature for the chatroom.
Language : This parameter allows system user to select a language for the chatroom. It will work only if the skin support multilanguage feature. If you want to add more languages then see API & Extension section.
Filters : This parameter applies filters to the chatroom's content.
+ HTML filter escapes "<" and ">" characters to prevent from HTML tags send by users. These tags could mess up the chatroom (i.e. : javascript tag, images ...).
+ URL Converter filter transforms - on the fly - user's messages including http://..., ftp://..., mailto:..., news://.. into hyperlinks. It could be useful for users. Note that links are always opened in a new browser's window.
Much more filters to come ...

Finally, you can select moderators for the chatroom to open. Multiple moderators are allowed. A moderator can list/kickoff/ban chatroom's users. He can also generate transcripts and update chatroom's parameters.



• MANAGE A CHATROOM

Once the chatroom is opened you can update some parameters : Subject, History, Refresh Model, Refresh Limit, Private Messages, Language, Filters and Moderators. The update occurs in real time, as soon as you click on "Update" button.

You can generate a transcript (text file dump) of the chatroom through the Transcript form. Fill in a transcript filename and click on "Generate". The text file will be stored in logs folder.

You can clear the chatroom content through "Clear" link.

You can close the chatroom through "Close" link. The whole chatroom will be lost.

You can join the chatroom by following "Join" link. You will be logged as SYSTEM or MODERATOR user so filters don't applies. That's the only way for moderators and system user to join a chatroom.





• USERS

You can list users through "Users" link. You will learn about Name, IP Address, User Agent (Netscape, Internet Explorer,...) and last accessed time (in seconds) of any logged user.
You can also kickoff or ban any user. "kickoff" means that the user will be kicked off the chatroom for a few seconds only. He could join the chatroom again. "ban" means that user's IP Address will be banned. He couldn't join the chatroom with the same IP.
All banned users (IP) move to Blacklist. You can clear the whole blacklist or only some IP address. You can also manually add an IP address to the blacklist. Note that only SYSTEM and MODERATOR users knows about users' IP.

ShoutBox identifies guest users (nickname). Moreover It does provide authentication (login/password) through Add-Ons tools.





• SYSTEM PROPERTIES

You can modify ShoutBox system properties (ShoutBox.xml) through the administration GUI below. Once saved, modifications will be taken into account on the next login.

Backup file : Backup filename of ShoutBox. Chatrooms' dump will be stored there.
Log folder : Log folder of ShoutBox. Log files will be stored there.
System login : SYSTEM login. Default is system. You should modify it.
System email : SYSTEM email.
TimeOut : User's session timeout in seconds. (e.g. if an user closes its browser then he will leave the chatroom automatically after the TimeOut period).
USERSESSIONID : Name of an internal variable for session management. Do not modify it except if you have a conflict with others WebApp in your servlet engine.
Default Language : Default language for chatrooms.
License file : License filename. You have to modify it if you purchase a license to use.
Update password : You should modify SYSTEM password. Default is password. You have to select the checkbox and fill in password forms twice before submiting. Note this password is stored as its MD5 value (i.e. encrypted).













Input design is the process of converting user-originated information to computer-based format. The goal of designing input data is to make data entry as easier and error free as possible. An input format should be easy to understand.

In this product inputs are nothing but forms fed with data. Using the JSP pages provides high-level graphical user interface.



Output reflects image of the organization. The output design involves designing forms layout, making lists, making well designed reports etc., and reports are main outputs of the proposed system. We can also consider the response for our inputs is nothing but outputs. Here if we set some properties the affect of that setting can be immediately seen are nothing but outputs for our system. How the system is working according to our setting or properties set by us is the main issue we have to monitor. Those are our system results. Suppose a user create a new chat room. Then creating a new chat room is our required output.


UML Diagrams



























































































































































Testing is one of the most important phases in the software development activity. In software development life cycle (SDLC), the main aim of testing process is the quality; the developed software is tested against attaining the required functionality and performance.

During the testing process the software is worked with some particular test cases and the output of the test cases are analyzed whether the software is working according to the expectations or not.

The success of the testing process in determining the errors is mostly depends upon the test case criteria, for testing any software we need to have a description of the expected behaviour of the system and method of determining whether the observed behaviour confirmed to the expected behaviour.

Since the errors in the software can be injured at any stage. So, we have to carry out the testing process at different levels during the development. The basic levels of testing are Unit, Integration, System and Acceptance Testing.

The Unit Testing is carried out on coding. Here different modules are tested against the specifications produced during design for the modules. In case of integration testing different tested modules are combined into sub systems and tested in case of the system testing the full software is tested and in the next level of testing the system is tested with user requirement document prepared during SRS.

There are two basic approaches for testing. They are

In Functional Testing test cases are decided solely on the basis of requirements of the program or module and the internals of the program or modules are not considered for selection of test cases. This is also called Black Box Testing



In Structural Testing test cases are generated on actual code of the program or module to be tested. This is called White Box Testing.

A number of activities must be performed for testing software. Testing starts with test plan. Test plan identifies all testing related activities that need to be performed along with the schedule and guide lines for testing. The plan also specifies the levels of testing that need to be done, by identifying the different testing units. For each unit specified in the plan first the test cases and reports are produced. These reports are analyzed.

Test plan is a general document for entire project, which defines the scope, approach to be taken and the personal responsible for different activities of testing. The inputs for forming test plane are
Project plan
Requirements document
System design

Although there is one test plan for entire project test cases have to be specified separately for each test case. Test case specification gives for each item to be tested. All test cases and outputs expected for those test cases.

The steps to be performed for executing the test cases are specified in separate document called test procedure specification. This document specify any specify requirements that exist for setting the test environment and describes the methods and formats for reporting the results of testing.

Unit testing mainly focused first in the smallest and low level modules, proceeding one at a time. Bottom-up testing was performed on each module. As developing a driver program, that tests modules by developed or used. But for the purpose of testing, modules themselves were used as stubs, to print verification of the actions performed. After the lower level modules were tested, the modules that in the next higher level those make use of the lower modules were tested.

Each module was tested against required functionally and test cases were developed to test the boundary values.

Integration testing is a systematic technique for constructing the program structure, while at the same time conducting tests to uncover errors associated with interfacing. As the system consists of the number of modules the interface to be tested were between the edges of the two modules. The software tested under this was incremental bottom-up approach.

Bottom-up approach integration strategy was implemented with the following steps.
? Low level modules were combined into clusters that perform specific software sub functions.
? The clusters were then tested.

System testing is a series of different tests whose primary purpose is to fully exercise the computer-based system. It also tests to find discrepancies between the system and its original objective, current specifications.


















































































ShoutBox can be considered as a tool, which creates an environment that allows users to chat each other in their required chat rooms. Lots of efforts were put to make it work perfectly and efficiently. The developed system is tested with real data and the users are satisfied with the performance of the system and reports.

This project is developed using JSPs/Java Servlets and web Server. By using this tool we can make easy the work of navigating, creating a chat room, allowing publicly or privately. By this lot of work load will be reduced to the administrator, who is creating/updating/deleting users or chat rooms. This tool is very useful for Administrating deportment of SAPARNA InfoTech Limited. It provides extendibility also. So you can add your own features in future very simply without disturbing the existing code. This tool reduces the manual work and saves the time as well as manpower. The time for processing and producing reports is considerably reduced. All the features are implemented and developed as per the requirements.

















































































Basic Java Concepts : Thinking in JAVA
( Bruce Eckel )
Java Mail API : Wrox Publications Volume I and II
An Integrated Approach to
Software Engineering : Pankaj Jalote
Introduction to System
Analysis and Design : I.T.Hawryszkiewycz
For UML diagrams : UML in 24 Hours Book
Some preferred websites : www.bruceeckel.com
www.sun.com/j2ee/mailapi
www.sun.com/j2se






Responses

Author: rambabu    20 May 2008Member Level: Silver   Points : 2
i have some doubts can you clarify me


Feedbacks      
Popular Tags   What are tags ?   Search Tags  
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: my academic project documentation
Previous Resource: computer architecture...
Return to Discussion Resource Index
Post New Resource
Category: Computer & Technology


Post resources and earn money!
 
Related Resources


Contact Us    Privacy Policy    Terms Of Use   

SpiderWorks Technologies Pvt Ltd. 2006 - 2007 All Rights Reserved.