Vous êtes sur la page 1sur 69

TRAINING REPORT ON ZAPP MAILER

A project report submitted in the partial fulfillment of the requirement for the award of degree of Bachelor of Technology (C.S.E.) (Session: 2010-2014)

Supervised By:

Submitted By

CSE DEPTT. MIET

ISHANK AGGARWAL 3910009

Modern Institute of Engineering and Technology, Kurukshetra University, SESSION (2010 -2014)

DECLARATION

I, Ishank Aggarwal, a student of Bachelor of Technology (C.S.E.), in the Department of C.S.E., Modern Institute of Engineering and Technology, Kurukshetra University, Kurukshetra, under class Roll No.3910009, for the session 2010-2014, hereby, declare that the project report (CSE-) entitled ZappMailer has been completed by me in VI semester. The matter embodied in this Project Report has not been submitted earlier forward of any degree or diploma to the best of my knowledge and belief.

Date:

(Ishank Aggarwal)

ACKNOWLEDGEMENT It has come out to be a sort of great pleasure and experience for all of us to work on the project Zapp Mailer.

We would like to express our appreciations to all individuals who assisted us in any way and we sincerely of that no one feel left out.

At the very outset, I am highly indebted to Alpha-it CHD for giving me an opportunity to carry out my project on Zapp Mailer at their esteemed organization. I would specially thank Mr.Satnam Singh, Project Guide, Alpha-it chd for giving time and guidance throughout my training without whom it would have been impossible to attain success.

Finally, we also warmly thanks to all our colleagues who encouraged us to a extent, which made the project successful.

I own my regards to the entire faculty of the department of computer science at M.I.E.T. from where I have learnt the basics of Computer Science and whose informal discussions and able guidance was a become light for me in the entire duration of this work.

I would also like to thank ER. RASHMI for constant support and encouragement provided by her.

PREFACE This project was undertaken at ALPHA-IT, during industrial training engineering to automate the system .The project is named as ZAPP MAILER

To develop a project in any language means to combine all the features of the language, in a well planned, systematic way so as to develop and application after an analysis of requirement, so that it will be commercially helpful. In terms of its ultimate objectives it gives an experience of realistic application.

The aim of this project is to realistic, efficient, web based software for remote applicant, by using programming in Java.

The project was aimed to achieve full fledge user friendliness. We have tried a lot to achieve all the characteristics of good software. In later version it will be more refined and integrated.

TABLE OF CONTENTS
1.INTRODUCTION 2.COMPANY DETAILS 3.INTRODUCTION TO PROJECT 4.SYSTEM ANALYSIS 5.FEASIBILITY STUDY AND PROPOSED OBJECTIVES 6.DESIGN AND DATA FLOW DIAGRAM SYSTEM 7.SOFTWARE ENVIRONMENTS 8.FRAMES 9.TESTING AND IMPLEMENTATION

1. INTRODUCTION
Definitions
User: Person who users this application.User can be Administrator, Operator, Registered User and Guest user. Operator: One who operates a machine or application. The person who manages the data entry for the application. Email: A system for sending and receiving messages electronically over a computer network, as between personal computers. Template: It is generally refer to a model or standard for making comparisons. A master page on which you can globally edit and format graphic elements and text common to each web page. Plan: It is a proposal, usually tentative idea for doing something. SMS: It refer to short message service; a system used for sending text messages to and from mobile phones. Group: An assemblage of persons or objects gathered or located together. Sender: Someone who transmits a email/message. Recipient: A person who receives email/message. Request: It refers to the act of asking for specific required thing. FAQ: It is a list of frequently asked questions and their answers about a given subject

2. COMPANY DETAILS
Alpha Net is a global software consulting and application development company specialized in tackling the most complex business problems through the use of technology, maximizing investment performance across portfolio of business critical applications, while reducing time and risk, since 1999. Our core portfolio comprises applications development. We deliver a broad portfolio of services to clients in the manufacturing, financial services, healthcare, and communications with a team committed to deliver innovation. Alpha Net currently has development centers in Santa Clara, CA , US and Chandigarh, India. The Alpha Net's development centers are state-of-the-art facilities in terms of their infrastructure, data security, and physical location projection. The development centers have IT infrastructures that span from Open Systems environments like Linux to the latest Windows-based systems. The centers have high-speed data links that connect them with each other and with the clients to create seamless virtual teams. Since we know security is important to you, the networks are protected through multiple layers of firewalls and DMZ implementations to ensure our customers' assets are protected. Our multiple process models address specific customer and project needs and span Domain Service, Maintenance, Testing, Conversion and Development process models. The hallmark of The AlphaNet process is that we tailor our approach to meet the needs of each client. There are no cookie cutter answers We build personal relationships with our staff to understand their goals, and we leverage their strengths to improve the services they provide. We pride ourselves to be the Agile & Flexible solution delivery provider. Alpha Net & our developers could provide services in most flexible environments.

3. INTRODUCTION TO PROJECT
ZappMailer will be a web tool that could be integrated to all web applications for sending messages via email or SMS. ZappMailer would be used to send emails in mass, which means the same email would be sent to a number of persons with a single click of mouse. ZappMailer will provide support to customize the emails with the help of templates provided for mails or the user would be able to create a template for the mail. ZappMailer will be capable of storing the mails, if a user creates his template to send emails but decides to send the mail later. Later user would be able to continue from the same step of creation of template. ZappMailer will be capable of importing email addresses or mobile numbers from excel sheet , email accounts and send mails to all those addresses with a single click. User of ZappMailer will be provided with a support to create groups of his contacts. ZappMailer will be able to send emails and messages to mail addresses and contact numbers of all the contacts in the group at once. The various features of ZappMailer are: The main feature of ZappMailer is to send mass emails with customized templates. Mail can be sent to one or more than one group, with the feature that recipient can only see his/her name and not the other recipients name/email id in the To column or in the email body. It can send message to a large number of persons with a single click of mouse. It provides the facility of importing the contact address from excel format sheet and also from email accounts. It can send messages via sms also. It provides the facility of sending messages in bulk. It provides security also as a user can send mails only when he has an user account on the mail server. It will be developed using Java, J2EE technologies.

4. SYSTEM ANALYSIS:
Analysis means the study of existing system, in other words we can say that how the survey is presently being conducted by any organization. It is a problem solving activity that requires intensive communication between the system users and system developers. System analysis or study is an important phase of any system development process. The system is studied to the minutest detail and analyzed. The system analyst plays the role of the interrogator and dwells deep into the working of the present system. The system is viewed as a whole and the input to the system are identified. The outputs from the organizations are traced to the various processes. System analysis is concerned with becoming aware of the problem, identifying the relevant and decisional variables, analyzing and synthesizing the various factors and determining an optimal or at least a satisfactory solution or program of action. A detailed study of the process must be made by various techniques like interviews, questionnaires etc. The data collected by these sources must be scrutinized to arrive to a conclusion. The conclusion is an understanding of how the system functions. This system is called the existing system. Now the existing system is subjected to close study and problem areas are identified. The designer now functions as a problem solver and tries to sort out the difficulties that the enterprise faces. The solutions are given as proposals. The proposal is then weighed with the existing system analytically and the best one is selected. The proposal is presented to the user for an endorsement by the user. The proposal is reviewed on user request and suitable changes are made. This is loop that ends as soon as the user is satisfied with proposal. Preliminary study is the process of gathering and interpreting facts, using the information for further studies on the system. Preliminary study is problem solving activity that requires intensive communication between the system users and system developers. It does various feasibility studies. In these studies a rough figure of the system activities can be obtained, from which the decision about the strategies to be followed for effective system study and analysis can be taken. Here a detailed study of existing system is carried along with all the steps in system analysis. An idea for creating a better project was carried and the next steps were followed.

5. FEASIBILITY STUDY AND PROPOSED OBJECTIVES


Feasibility study is made to see if the project on completion will serve the purpose of the organization for the amount of work, effort and the time that spend on it. Feasibility study lets the developer foresee the future of the project and the usefulness. A feasibility study of a system proposal is according to its workability, which is the impact on the organization, ability to meet their user needs and effective use of resources. Thus when a new application is proposed it normally goes through a feasibility study before it is approved for development.

5.1 TYPES OF FEASIBILITY STUDY:


1. Economic Feasibility 2. Technical Feasibility 3. Operational Financial Feasibility

5.1.1 ECONOMIC FEASIBILITY:


Economic analysis ascertains the cost and benefits from the proposed system.The development cost, hardware and software cost etc. are determined. The expected benefits of the system are also ascertains. The following are some of the important financial questions asked during preliminary investigation: The costs conduct a full system investigation. The cost of the hardware and software. The benefits in the form of reduced costs or fewer costly errors.

Since the system is developed as part of project work, there is no manual cost to spend for the proposed system. Also all the resources are already available, it give an indication of the system is economically possible for development.

5.1.2 TECHNICAL FEASIBILITY:


The system must be evaluated from the technical point of view first. The assessment of this feasibility must be based on an outline design of the system requirement in the terms of input, output, programs and procedures. Having identified an outline system, the investigation must go on to suggest the type of equipment, required method developing the system, of running the system once it has been designed. Technical issues raised during the investigation are:

Does the existing technology sufficient for the suggested one? Can the system expand if developed?

The project should be developed such that the necessary functions and performance are achieved within the constraints. The project is developed within latest technology. Through the technology may become obsolete after some period of time, due to the fact that never version of same software supports older versions, the system may still be used. So there are minimal constraints involved with this project. The system has been developed using Java the project is technically feasible for development.

5.1.3 BEHAVIORAL FEASIBILITY:


This includes the following questions: Is there sufficient support for the users? Will the proposed system cause harm?

The project would be beneficial because it satisfies the objectives when developed and installed. All behavioral aspects are considered carefully and conclude that the project is behaviorally feasible.

6. DESIGN AND DATA FLOW DIAGRAM SYSTEM DESIGN


Design is the first step into the development phase for any engineered product or system. Design is a creative process. A good design is the key to effective system. The term design is defined as the process of applying various techniques and principles for the purpose of defining a process or a system in sufficient detail to permit its physical realization. It may be defined as a process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm that is used. The system design develops the architectural detail required to build a system or product. As in the case of any systematic approach, this software too has undergone the best possible design phase fine tuning all efficiency, performance and accuracy levels. The design phase is a transition from a user oriented document to a document to the programmers or database personnel. System design goes through two phases of development: Logical and Physical Design.

6.1 LOGICAL DESIGN:


The logical flow of a system and define the boundaries of a system. It includes the following steps: Reviews the current physical system its data flows, file content, volumes , Frequencies etc. Prepares output specifications that is, determines the format, content and Frequency of reports.

Prepares input specifications format, content and most of the input functions. Prepares edit, security and control specifications. Specifies the implementation plan. Prepares a logical design walk through of the information flow, output, input, Controls and implementation plan.

Reviews benefits, costs, target dates and system constraints.

6.2 PHYSICAL DESIGN:


Physical system produces the working systems by define the design specifications that tell the programmers exactly what the candidate system must do. It includes the following steps. Design the physical system. Specify input and output media. Design the database and specify backup procedures. Design physical information flow through the system and a physical design Plan system implementation. Prepare a conversion schedule and target date. Determine training procedures, courses and timetable. Devise a test and implementation plan and specify any new hardware/software. Update benefits , costs , conversion date and system constraints

Design/Specification activities:
Concept formulation. Problem understanding. High level requirements proposals. Feasibility study.

Requirements engineering. Architectural design

6.3 MODULE DESIGN:


The working of ZappMailer has been divided into following modules: Administration Registered User Manager ZappMailer_Administration encapsulates the administrative part of the application. Administrator can create account for operator(s), who will handle the operation process of application. This module provides the Administrator with the functionality to manage all master screens of the application like Country, state, city, email templates, email plan(s), SMS plan(s) etc. An administrator can also maintain the FAQ information. In this, Operator is provided with the functionality to view and post replies to requests sent by any registered user. Precisely, ZappMailer_Administration targets to cover the following business functions of the application:Manage Email Templates Manage Email Plans Manage SMS Plan Manage Operators Manage Request Manage Profile Country Maintenance State Maintenance City Maintenance Manage FAQ

View FAQ Change Password

ZappMailer_Registered User Manager covers the end user area of the application. Here, user can register with the application through sign up form to become a registered user; whereas, administrator is provided with the functionality to activate or inactivate any registered user. In this, registered users have rights to manage various groups. User can also manage various contacts. User can also view or buy various SMS & Email Plans. ZappMailer_Registered User Manager targets to cover the following business functions of the application:Manage Mail Accounts Manage Groups Manage Contacts Available SMS Plans SMS Create SMS Saved SMS Sent SMS Available Email Plans Email Create New Mails Compose Mail Page Select Template Greeting Option Page Title of the Mail Page

Introduction Page Content Page Message Footer Page Select Sender & Recipient Page Saved Mails Sent Mails Manage Users Manage Profile Send Request & View Response Change Password

Users of the System


The application has following types of users:Administrator Operator Registered User Guest

Administrator
Administrator is the super user o fthe application having all administrative rights of application. He/she is allowed to manage other users of the application. Administrator is allowed to manage the core part of application including email template plans management, user privilege management etc.

Operator
It covers those users who are working for the administrator as assistant or co-worker. Operator is having right to manage various request(s) made by various registered users.

Registered User

Registered user of the application come under this category, registered user's can manage details like Groups management, manage Contacts, view and buy SMS or Email plans, send SMS or Email, view saved or sent email or SMS etc. He can also send the query as request to the administration. Registered User can maintain their own account.

Guest
Users, who are not yet registered with application, are Guest users. Guest user is having limited access in the application. He/she is allowed to view & use the features available on the home page like login etc.

7. Software Environments
JAVA
Introduction: Java is an object-oriented programming language with a built-in application programming interface (API) that can handle graphics and user interfaces and that can be used to create applications or applets. Because of its rich set of API's, similar to Macintosh and Windows, and its platform independence, Java can also be thought of as a platform in itself. Java also has standard libraries for doing mathematics. Much of the syntax of Java is the same as C and C++. One major difference is that Java does not have pointers. However, the biggest difference is that you must write object oriented code in Java. Procedural pieces of code can only be embedded in objects. In the following we assume that the reader has some familiarity with a programming language. In particular, some familiarity with the syntax of C/C++ is useful. In Java we distinguish between applications, which are programs that perform the same functions as those written in other programming languages, and applets, which are programs that can be embedded in a Web page and accessed over the Internet. Our initial focus will be on writing

applications. When a program is compiled, a byte code is produced that can be read and executed by any platform that can run Java.

Characteristics Of JAVA: 1) Platform Independent:


Java is a platform for application development. A platform is a loosely defined computer industry buzzword that typically means some combination of hardware and system software that will mostly run all the same software. Java byte code is exactly the same on every platform.. Java programs that have been compiled into byte code still need an interpreter to execute them on any given platform. The interpreter reads the byte code and translates it into the native language of the host machine on the fly. Since the byte code is completely platform independent, only the interpreter and a few native libraries need to be ported to get Java to run on a new computer or operating system.

2) Object oriented
In object-oriented programs data is represented by objects. Objects have two sections, fields (instance variables) and methods. Fields tell you what an object is. Methods tell you what an object does. These fields and methods are closely tied to the object's real world characteristics and behavior. When a program is run messages are passed back and forth between objects. When an object receives a message it responds accordingly as defined by its methods.

3) Robust
Java implements a robust exception handling mechanism to deal with both expected and unexpected errors. The worst that an applet can do to a host system is bringing down the runtime environment. It cannot bring down the entire system. Most importantly Java applets can be executed in an environment that prohibits them from introducing viruses, deleting or modifying files, or otherwise destroying data and crashing the host computer. A Java enabled web browser checks the byte codes of an applet to verify that it doesn't do anything nasty before it will run the applet.

4) Multithreaded
Java is inherently multi-threaded. A single Java program can have many different threads executing independently and continuously. Three Java applets on the same page can run together with each getting equal time from the CPU with very little extra effort on the part of the programmer.

5) High performance
Java byte codes can be compiled on the fly to code that rivals C++ in speed using a "just-in-time compiler." Several companies are also working on native-machine-architecture compilers for Java. These will produce executable code that does not require a separate interpreter, and that is indistinguishable in speed from C++.

6) Dynamic
Java programs carry with them substantial amounts of run-time type information that is used to verify and resolve accesses to objects at run-time. This makes it possible to dynamically link code in a safe and expedient manner. The java programming language is unusual than other programming languages it first compiles and then interprets the program. Compile first translate the program into intermediate language called intermediate language called java byte code. Java byte code is platform independent code, which is further interpreted by the interpreter on the java platform. Interpreter parses and run each java byte code instruction on the computer. Compilation occurs only once, interpretation occurs each time when the program is executed.

Java byte code helps in making the program write once, run anywhere. The program can be compiled into byte code by any platform that is having the java compiler; the compiled java byte code program is ready to run on any machine having the java virtual machine (JVM). JVM is an interpreter for byte code.

Advantages of Java: 1) Simple


Java has the bare bones functionality needed to implement its rich feature set. It does not add lots of syntactic sugar or unnecessary features.

2) Object-Oriented
Almost everything in Java is a class, a method or an object. Only the most basic primitive operations and data types (int, for, while, etc.) are at a sub-object level.

3) Platform Independent
Java programs are compiled to a byte code format that can be read and run by interpreters on many platforms including Windows 95, Windows NT, and Solaris 2.3 and later.

4) Safe
Java code can be executed in an environment that prohibits it from introducing viruses, deleting or modifying files, or otherwise performing data destroying and computer crashing operations.

5) High Performance
Java can be compiled on the fly with a Just-In-Time compiler (JIT) to code that rivals C++ in speed.

6) Multi-Threaded
Java is inherently multi-threaded. A single Java program can have many different things processing independently and continuously.

Java platform:

A java platform is the hardware or software environment in which a program runs. The java platform has two components: Java Virtual Machine (JVM) 1. Java Application Programming Interface (Java API) 2. JVM is a standardized hypothetical computer, which is emulated inside your computer by a program. Java Java Java Source Compiler Source Code Code

Java Virtual Machine

The program by the interpreter Java interpreter

Computer Operating System

The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI). The java API is grouped into libraries of related classes and interfaces these libraries are known as packages.

AWT:
The Java programming language class library provides a user interface toolkit called the Abstract Windowing Toolkit, or the AWT. The AWT is both powerful and flexible. Newcomers, however, often find that its power is veiled. The class and method descriptions found in the distributed documentation provide little guidance for the new programmer. Furthermore, the available examples often leave many important questions unanswered. Of course, newcomers should expect some difficulty. Effective graphical user interfaces are inherently challenging to design and implement, and the sometimes complicated interactions between classes in the AWT only make this task more complex. However, with proper guidance, the creation of a graphical user interface using the AWT is not only possible, but relatively straightforward.

This article covers some of the philosophy behind the AWT and addresses the practical concern of how to create a simple user interface for an applet or application.

User interface
The user interface is that part of a program that interacts with the user of the program. User interfaces take many forms. These forms range in complexity from simple command-line interfaces to the point-and-click graphical user interfaces provided by many modern applications.

At the lowest level, the operating system transmits information from the mouse and keyboard to the program as input, and provides pixels for program output. The AWT was designed so that programmers don't have worry about the details of tracking the mouse or reading the keyboard, nor attend to the details of writing to the screen. The AWT provides a well-designed objectoriented interface to these low-level services and resources.

Because the Java programming language is platform-independent, the AWT must also be platform-independent. The AWT was designed to provide a common set of tools for graphical user interface design that work on a variety of platforms.

The user interface elements provided by the AWT are implemented using each platform's native GUI toolkit, thereby preserving the look and feel of each platform. This is one of the AWT's strongest points. The disadvantage of such an approach is the fact that a graphical user interface designed on one platform may look different when displayed on another platform.

Components and containers


A graphical user interface is built of graphical elements called components. Typical components include such items as buttons, scrollbars, and text fields. Components allow the user to interact with the program and provide the user with visual feedback about the state of the program. In the AWT, all user interface components are instances of class Component or one of its subtypes.

Components do not stand alone, but rather are found within containers. Containers contain and control the layout of components. Containers are themselves components, and can thus be placed inside other containers. In the AWT, all containers are instances of class Container or one of its subtypes.

Java AWT Components:


Java's Abstract Windowing Toolkit provides many of the user interface objects we find in the Windows environment. These are called "Components" of the Java AWT. The applet below contains most of the components we will use to create a graphical user interface (GUI) for our applets. It simply initializes and creates the components but does not handle any of the events they trigger. Click on the hyperlink to the right of the component in order to see an example of the code that includes the event handlers.

Label Component

The Label component is the simplest of Java's AWT. Labels consist of a text string for display only and they never call an action method. The syntax is as follows: Label labelname = new Label("This label is for decoration only."); The justification of a label can be left, right, or centered. The line below will create a label that is right justified. Label labelname = new Label("This label is for decoration only.",Label.RIGHT); We can change the text of a label or get the label's text using the labelname.setText("This is

new text."); or String labelText = labelname.getText(); methods. We can change the alignment or get the alignment of a label with the labelname.setAlignment(Label.CENTER); or int label

Alignment = labelname.getAlignment(); methods.

import java.applet.*; import java.awt.*;

public class label extends Applet

{ public void init()

Label firstLabel = new Label("Labels exist simply ");

add(firstLabel);

Label secLabel = new Label("to place text on the add(secLabel);

screen");

Label thirdLabel = new Label("They can be aligned left, right or center.");

add(thirdLabel); } } After compiling HYPERLINK "http://www.krhs.net/computerscience/java/gloss.htm" this program we need to create an HTML page with a reference to the class file. It will require a graphic window that is large enough to contain the labels (200 x 100 is a good size for this label).

Button Component
The Button component of Java's AWT is a workhorse of any GUI. The only decision you need to make when you create one is whether or not you want it to have a label. The syntax is as follows Button buttonname = new Button(button label); Where 'buttonname' is the name you want to give the object and 'button label' is the text you want to appear on the button. Once you create the button you add it to the applet (or other container) by entering the command add(buttonname); We can change the button's label or get the label's text using the Button.setLabel or Button.getLabel methods. Now that we can create the buttons and manipulate their labels we can investigate the code that makes the button perform the operations we need. The Applet below changes the background color by simply clicking on one of the labeled buttons.

import java.applet.*; import java.awt.*;

public class button extends Applet

{ public void init() { add(new Button("Red")); add(new Button("White")); add(new Button("Blue")); add(new Label("Hit a Button to change the screen color"); } public boolean action(Event evt, Object whatAction) { if Button)) { return false; } String whatAction; buttonLabel = (String) (!(evt.target instanceof

if (buttonLabel=="Red") setBackground(Color.red); if (buttonLabel=="White") setBackground(Color.white); if (buttonLabel=="Blue") setBackground(Color.blue); repaint(); return true; }

Check Boxes
Check boxes are used as on-off or yes-no switches since every time you click on one, you toggle to the opposite selection. You are able to select as many or as few check boxes as you like. Then when you write your program, the state of each check box can be compared to determine an action. A button is needed to trigger an event to check the state of the check boxes. The following line will create a checkbox with 'Apples' as a label, null as a place holder for a group argument, and false to indicate it is not selected. (The group argument is used for radio buttons which are a special kind of check boxes.) Checkbox apples = new Checkbox("Apples", null, false); Once you create the checkbox just add it to the applet (or other container) by entering the command add(apples);

where apples is the Checkbox name. We can change the Checkbox label or get the Checkbox text using the Checkbox.setLabel(String) or Checkbox.getLabel( ) methods. The getState( )method returns true of false, depending on whether the Checkbox is selected or unselected. The setState(boolean) method changes the Checkbox's state to true (for selected) or false(for unselected.) Consider the example below which illustrates how Checkboxes can be implemented. The Applet below prints a list of fruits. Check as many or few as you like. The "Done" button triggers an event in order to check which boxes were selected. A list of selected items is then painted on the applet window.

Radio Buttons
Radio buttons or checkbox groups are special kinds of checkboxes. They look the same as checkboxes but within a particular group of them, only one can be selected at a time. The following line will create a series of radio buttons named 'colors'. CheckboxGroup colors = new CheckboxGroup(); Once you create the series of radio buttons, add the individual checkboxes. There are three arguments: the radio button label, the group, and true or false, depending on whether the button is selected or unselected. Only one radio button in the group can be selected. add(new add(new add(new add(new Checkbox("Blue",colors,false)); The same checkbox methods that were presented on the checkbox page can be implemented with radio buttons in the group. These include: Checkbox("Red",colors,false)); Checkbox("White",colors,false)); Checkbox("Green",colors,false));

Checkbox.setLabel(String) Checkbox.getLabel( getState( setState(boolean) ) )

The methods getCheckboxGroup() and setCheckboxGroup() can be used to access and change the group of a given checkbox. To get or set the currently selected checkbox, use the getCurrent() or setCurrent(Checkbox) methods.

List Boxes
The List class allows the creation of a scrolling list of values that may be selected alone or together. If you want to create a list that does not allow multiple selections, use the following command line. Thelist is an instance of the list. List thelist = new List(); If you want to create a list that does allow multiple selections, use the following command line which creates a list with 8 visible entries and multiple selections turned on. . List thelist = new List(8, true); Once you have created the list, the addItem method enables you to add new entries. thelist.addItem("Coffee"); thelist.addItem("Bananas"); thelist.addItem("Oranges"); If you want to add an item at a specific location in the list, for example the first position, use the following line. Adding an item to position -1 or at a higher position than the number on the list, adds it to the end of the list. thelist.addItem("Coffee", 0);

Choice Boxes
The Choice class is a lot like lists but allows you to conserve space since it provides a pop-up menu of text string choices. The menu title displays the current choice. To work with a choice box, an instance of the Choice class must be created. Choice theoptions = new Choice(); Once you have created the choice, the addItem method enables you to add new entries.

theoptions.addItem("Red"); theoptions.addItem("Green"); The currently selected item can be changed by name or index. theoption.select("Red"); OR theoption.select(0); The getSelectedIndex and getSelectedItem methods would return the position of the selected item and string name of the selected item respectively. The Choice class calls the action method whenever a choice is made, regardless of whether it is a new choice or not. The parameter whatAction contains the name of the selected item. The following example shows how a choice box can be used to change the background color of an applet window.

Text Area
The TextField and TextArea classes are two different Java classes for entering text data. The TextField class handles only one line of text. The TextArea class handles multiple lines. The example on this page illustrates text fields and a text echo. The following line will create a TextField with 20 columns. TextField plaintext = new TextField(20); The text field can also be initialized with some text when it is created. TextField plaintext = new TextField("First Name Last Name");

Scrollbars
The Scrollbar class provides a user interface to scroll through a range of integer values. These values can then be associated with a range of colors, the months of a year or a variety of other uses. The Scrollbar's maximum and minimum values can be initialized as well as its minor changes (line increments) and major changes (page increments). The following line will create a horizontal scrollbar. Scrollbar colorscroll = new Scrollbar(Scrollbar.HORIZONTAL);

The following line will create a vertical scrollbar with a starting position of 0, a page size of 5, a minimum value of 0, and a maximum value of 255. Scrollbar colorscroll = new Scrollbar(Scrollbar.VERTICAL, 0, 5, 0, 255); There are three different parts of a scrollbar that allow you to select a value between the maximum and minimum in different ways. The arrows increment or decrement with the line update which can be set to a small unit. Its value is 1 by default. Clicking between the arrow and scroll box increments or decrements by a page value which is 10 by default. The box in the middle allows you to click and drag to traverse the scroll bar quickly from end to end.

Swing
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes (JFC) an API for providing a graphical user interface (GUI) for Java programs. Swing was developed to provide a more sophisticated set of GUI components than the earlier Abstract Window Toolkit (AWT). Swing provides a native look and feel that emulates the look and feel of several platforms, and also supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform. It has more powerful and flexible components than AWT. In addition to familiar components such as buttons, check boxes and labels, Swing provides several advanced components such as tabbed panel, scroll panes, trees, tables and lists. Unlike AWT components, Swing components are not implemented by platform-specific code. Instead they are written entirely in Java and therefore are platform-independent. The term "lightweight" is used to describe such an element

7.1 Hardware and Software Specification

7.1.1 Hardware Specification

1. Intel P4 processor with minimum 2.0Ghz Speed or any equivalent processor 2. RAM: Minimum 512MB 3. Hard Disk: Minimum 30GB

7.1.2 Software Specification 1. JDK 1.7 NetBeans 7.2.1 2. Database MySQL Database Server 5.5 3. Reports iReport plug-in 4.7 JasperReports 4.7 4. Web Server Tomcat 7.0.27 5. Application Server GlassFish v3.1 6. Testing Tool JUnit 4.8.2 7. Deployment Tool

Ant 1.8 8. Operating System Windows 7 / Vista / XP sp3 / Linux Fedora 14

8. FRAMES

Operator

Registered User

9. TESTING AND IMPLEMENTATION


9.1 TESTING
The most important activity at the implementation stage is the system testing with the objective of validating the system against the designed criteria. During the development cycle, user was involved in all the phases that are analysis, design and coding. After each phase the user was asked whether he was satisfied with the output and the desired rectification was done at the moment. During coding, generally bottom up technique is used. Firstly the lower level modules are coded and then they are integrated together. Thus before implementation, it involves the

testing of the system. The testing phase involves testing first of separate parts of the system and then finally of the system as a whole. Each independent module is tested first and then the complete system is tested. This is the most important phase of the system development. The user carries out this testing and test data is also prepared by the user to check for all possible combinations of correct data as well as the wrong data that is trapped by the system. So the testing phase consists of the following steps:

Unit testing:
In the bottom of coding technique, each module is tested individually. Firstly the module is tested with some test data that covers all the possible paths and then the actual data was fed to check for results.

Integration testing:
After all the modules are ready and duly tested, these have to be integrated into the application. This integrated application was again tested first with the test data and then with the actual data.

Validation testing or System 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 popularly known as Black Box testing or System tests. Black Box testing method focuses on the functional requirements 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.

The testing will be performed considering the following points:

1. Software testing which involves testing of all the programs together. This involves the testing of system software utilities being used and specifically develops application software.

2. Flow of data within the organization 3. Accuracy of report output 4. Incomplete data formats 5. Halts due to various reasons and the restart procedures. 6. Range of items and incorrect formats 7. Invalid combination of data records. 8. Access control mechanism used to prevent unauthorized access to the system.

9.2 IMPLEMENTATION
Implementation phase of the software development is concerned with translating the design specifications into the source code. After the system has been designed, arrives the stage of putting it into actual usage known as the implementation of the system. This involves putting up of actual practical usage of the theoretically designed system. The primary goal of implementation is to write the source code and the internal documentation so that conformance of the code to its specifications can easily be verified and so the debugging, modifications and testing are eased. This goal can be achieved by making the source code as clear and as straightforward as possible. Simplicity, Elegance and Clarity are the hallmarks of good programs whereas complexity are indications of inadequate design and misdirected thinking. The system implementation is a fairly complex and expensive task requiring numerous inter-dependent activities. It involves the effort of a number of groups of people: user and the programmers and the computer operating staff etc. This needs a proper planning to carry out the task successfully. Thus it involves the following activities: Writing and testing of programs individually Testing the system as a whole using the live data Training and Education of the users and supervisory staff

Source code clarity is enhance buy using structured coding techniques, by efficient coding style, by appropriate supporting documents, by efficient internal comments and by features provided in the modern programming language. The following are the structured coding techniques: 1) Single Entry, Single Exit 2) Data Encapsulation 3) Using recursion for appropriate problems

Vous aimerez peut-être aussi