Issuu on Google+

Online People Forum Problem Definition: Now a day’s internet communication is one of the most common methods of communication between the people who are present in different parts of the world. This online interaction with various kinds of people will help them to get quick answers for different queries they have on a particular topic. These topics can include either technical or non-technical like health, investment, insurance, social activities etc. To satisfy all these needs we are developing a project named Online People Forum. Introduction Online People Forum from now itself we called it as OPF. OPF is an online forum that will be used to post different messages in the forum and interact with people of similar interest. While simply completing the registration web form is – usually – enough to generate an account, the registered user can log in to his new account and use the forum for communication (posts, threads, private messages). Forums are governed by a set of individuals, commonly referred to as administrators which are responsible for the forums' conception, technical maintenance and policies.

Admin Features •

Web based administration.

Unlimited number of board’s forums, categories, and messages.

Unlimited user groups.

Store images in Database or in file system.

Supports smiles/emoticons

User Features 1

<<College name>><place>>


Online People Forum •

All dates and times in local time zone for registered users.

Member profiles, Active topics list, Latest posts list, Active users list.

Edit his profile

Make replays to the threads posted by other forum members.

Moderator Features •

Moderator can manage the Forums.

All dates and times in local time zone for registered users.

Member profiles, Active topics list, Latest posts list, Active users list,

Email topics. •

Edit his profile.

Make replays to the threads posted by other forum members.

Manage the Replays and threads of a forum.

Modules •

Authentication

Administrator

Moderator

Members

Modules Overview Authentication Module is used for user authentication like login and log out. Based on the login credentials of the user permissions will be assigned to the user to access different pages. Administration Module is used to manage the technical details required for running the site. As such, they may promote (and demote) members to moderators, manage the rules, create sections and sub-sections, as well as perform any database operations (database 2

<<College name>><place>>


Online People Forum backup etc). Administrators often also act as moderators. Administrators may also make forum-wide announcements, or change the appearance (known as the skin) of a forum. Member Module: organizes visitors and logged in members into user groups. Privileges and rights are given based on these groups. User can view and update his profile, he can post the threads to the forums and post replays to the threads. Moderator Module: This authentication is given by the Forum Administrator when the member becomes moderator, he has the following responsibilities along with the Member module i.e., he can manage the forums and threads and post which are posted by different members, moderators and administrator also.

Forum structure: A forum consists of a tree like directory structure containing at the lowest end topics (commonly called threads) and inside them posts(or replays). Logically forums are organized into a finite set of generic topics (usually with one main topic) driven and updated by a group known as members, and governed by a group known as moderators. Post: A post is a user submitted message enclosed into a block containing the user's details and the date and time it was submitted. Posts are contained in threads, where they appear as boxes one after another. The first post starts the thread; this may be called the original post, or OP. Posts that follow in the thread are meant to continue discussion about that post, or respond to other replies; it is not unknown for discussions to be derailed.

Thread:

3

<<College name>><place>>


Online People Forum A thread is a collection of posts, usually displayed – by default – from oldest to latest, although the option for a threaded view (a tree-like view applying logical reply structure before chronological order) can be available. A thread is defined by a title, an additional description that may summarize the intended discussion and an opening or original post which opens whatever dialogue or makes whatever announcement the poster wished. A thread can contain any number of posts, including multiple posts from the same members, even if they are one after the other. 2.1. Existing system The Existing system is manual system, in this if we want discuss any thing we just go to another person personally and discuss the things in there also we can’t share our problems with more persons at a time, for this again it’s a time and cost effective. 2.2. Proposed system: The major prospect of this system to develop computerized application, here we can share our problems and ideas with more than one person at a time. We can reduce our time and get the effective results from the persons whom we don’t also.

3. SOFTWARE REQUIREMENT SPECIFICATION Hardware Requirements: Processor

: Pentium-IV

Ram

: 256 MB MINIMUM

Hard Disk

: 2 GB Minimum

Processor speed

: 2.6 GHz

Software Specifications:

4

<<College name>><place>>


Online People Forum

Language

: Java, Java script.

J2EE Technologies

: JDBC, JSP.

Web Authoring Tool

: HTML.

Server

: Apache Tomcat 6.0.

IDE

: Eclipse.

Database

: MS-Access.

4. SOFTWARE DEVELOPMENT METHODOLOGY:

5

<<College name>><place>>


Online People Forum

SOFTWARE METHDOLOGY: Here I am using JACOBSON METHDOLOGIES to develop the proposed system. INTRODUCTION: In 1986 BOOCH developed the Object Oriented Design concept is called as BOOTCH METHOD. It covers both analysis and Design phases of the Object Oriented System, The BOOTCH METHOD consists o following diagrams: 1

Class diagrams

2

Object diagrams

3

State transition diagram

4

Module diagram

5

Process diagram

6

Interaction diagram

BOOTCH used the large set of symbols. Even though BOOTCH defines a lot of symbols to document almost every design decision, if we work with his method, you will notice that you never use all these symbols and diagrams, This is this main draw back of the BOOTCH METHOD. In 1991 Jim Raumbaugh develop the OMT (Object Modeling Technique) with the help of his team It covers analysis, Design and implementation of the system.

OMT separates Modeling into three different parts: 1

Object Model Presented by the Object Model and the data dictionary.

6

<<College name>><place>>


Online People Forum

2

Dynamic model Presented by the State diagrams and Event flow diagrams.

3

Functional Model Presented by Data flow and constraints.

There is no traceability in the different phases, both forward and back ward; this is the main disadvantage of the OMT. In order to avoid the problems faced in the above two models JACOBSON invented the one model called as the JACOBSON METHDOLOGIES (Object Oriented Software Engineering). It will cover the entire life cycle and stress tractability between different phases, 0both forward and back ward, Additionally he invented the Use case diagrams, these diagrams are necessary to understanding system requirement. It captures the goal of the system. It is used to identify the Use cases and External users (external users are the users who interact with our system to complete the bug) THE JACOBSON ET AL. METHDOLOGIES: JACOBSON METHDOLOGIES (Object Oriented Software Engineering) OOSE cover the Entire life cycle and stress trace ability between the different phases, both forward and backward. And Use case diagrams, these diagrams are necessary to understanding system requirement. It captures the goal of the system. It is used to identify the USE CASES and External users (external users are the users who interact with our system to complete the bug) The Use case Description must contain 4

HOW and WHEN the use case begins and ends.

5

The interaction between the use case and its actors, including WHEN the interaction occurs and WHAT is exchanged.

7

<<College name>><place>>


Online People Forum 6

HOW and WHEN the use case will need data stored in the system or will store data in the system.

7

EXCEPTION TO THE flow of events.

8

HOW and WHEN concepts of the problem domain are handled. By using the use case model we will find the External users, External users are the users who will interact with our system to complete the bug. Every single use case should describe one main flow of events. An exceptional additional flow of events could be added.

OBJECT ORIENTED SOFTEWARE ENGINEERING: Object oriented software engineering also called, as the objectory. It is build around several models: 1

USE CASE MODEL: The use-case model defines the outside (actor) and inside (use case) of the systems behavior.

2

DOMAIN OBJECT MODEL: The objects of the “real” world are mapped in to the main object model.

3

ANALYSS OBJECT MODEL: The analysis object model presents how the source code (implementation) is carried out and written.

4

IMPLIMENTATON

MODEL:

The

implementation

model

represents the implementation of the system. 5

TEST MODEL: The test model constitutes the test plan, specification and reports.

8

<<College name>><place>>


Online People Forum JACOBSON METHDOLOGY consists o following diagrams: 7

Use case Diagrams

8

UML activity diagram

9

UML use Case Diagram

10 Sequence diagrams 11 Class diagrams 12 Business class diagrams

Use case Diagrams: A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse An actor is a person, organization, or external system that plays a role in one or more interactions with your system.

UML activity diagram: Activity diagrams are used to document workflows in a system, from the business level down to the operational level. When looking at an Activity diagram, you'll notice elements from state diagram, the Activity diagram is a variation of the state diagram where the "states" represent operations, and the transitions represent the activities that happen when the operation is complete. The general purpose of Activity diagrams is to focus on flows driven by internal processing vs. external events. Sequence diagrams: UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are commonly used for both analysis and design purposes. Sequence diagrams are the most popular

9

<<College name>><place>>


Online People Forum UML artifacts for dynamic modeling, which focuses on identifying the behavior within your system. Class diagrams: A class diagram describes the static structure of the symbols in your new system. It is a graphic presentation of the static view that shows a collection of declarative (static) model elements, such as classes, types, and their contents and relationships. Classes are arranged in hierarchies sharing common structure and behavior, and are associated with other classes

10

<<College name>><place>>


Online People Forum

IDENTIFYING ACTORS AND USERS Actors An actor is a person, organization, or external system that plays a role in one or more interactions with your system. Actors are drawn as stick figures Actors are used to interacting with the system to performance complete the bug. A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. Use cases. A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse A use case is an external view of the system that represents some action the user might perform in order to complete a bug. Identifying the actors: Who are using the system is to identify the actors. The term actor represents the role use plays wit respect to the system. When dealing with actors, it is important to think roles rather tan people or job titles. A user may play mare more than one role. You have to identify the actors and understand how they will use and interact with the system. The term actors represent the role user plays. Theses are different actors are used in the ACTORS

â&#x20AC;˘

Administrator. 11

<<College name>><place>>


Online People Forum •

Users.

Guest.

Members.

USE CASES Login. 1. Administrator Tasks. 2. User Tasks 3. Registration Form 4. Adding of Topics. 5. Reply to Existing Topics.

How the actors are interacting with the system: If there are interactions between the actors in your system, you cannot represent those interactions on the same diagram as your system. What you can do instead is draw a separate UCD, treating one of the actors itself as a system, and your original system (along with the other actors) as actors on this new diagram. USE CASE DIAGRAM: The usage of use case diagram includes:  Describes the behavior of a system from a user's standpoint

12

<<College name>><place>>


Online People Forum  Provides functional description of a system and its major processes.  Provides graphic description of the users of a system and what kinds of interactions to expect within that system  Displays the details of the processes that occur within the application area A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. Which actors specify the represents the role a user plays with respect to the system. In the case of a new system who will be using the system. I like to start by identifying as many actors as possible. You should ask how the actors interact with the system to identify an initial set of use cases. Then, on the diagram, you connect the actors with the use cases with which they are involved. If actor supplies information, initiates the use case, or receives any information as a result of the use case, then there should be an association between them. I generally don’t include arrowheads on the association lines because my experience is that people confuse them for indications of information flow, not initial invocation. As I begin to notice similarities between use cases, or between actors

Login Use Case ID: OPF001 Use Case LOGIN_USER _ADMINISTRATOR Name: Created By: Date Created:

G.Gireesh 01/04/09

Last Updated By: G.Gireesh Date Last 01/04/09 Updated:

Actors: Description:

Administrator, User User and Administrator enter valid Username and password which is validated and confirmed by the administrator. 13

<<College name>><place>>


Online People Forum Preconditions:

Admin has one administrator login and password. But user has to create his or her own login id and password at the time of Registration. 1. User or Administrator must entered the

Normal Flow:

Username and Password 2. Based on the user or Administrator username and password corresponding home page is displays. 1. Once User logged in to system, home

Alternative Flows:

Page related to User displays. 2. User can do the operations related to his Home page. 3.

Once Administrator logged in to system home

page related to Administrator is displays. 4.

Administrator can do the operations related to

his home page. 1. After step 1 in Normal Flow admin fills only few

Exceptions:

mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields must required. Priority: Frequency of Use: Notes and Issues:

High High None

2. User Registration Use Case ID: Use Case Name: Created By: Date Created:

Description:

OPF002 USER_REGISTRATION G.Gireesh Last Updated By: 1/04/09 Date Last Updated:

G.Gireesh 01/04/09

Actors: User User should give appropriate information to create his own

14

<<College name>><place>>


Online People Forum

Preconditions:

login id and password. User must be open the appropriate page i.e., Registration page of the OPF. And he can follow the rules which are given in

Normal Flow:

that page for filling of Registration page. 1.Registration form took some time because it has two pages. 2. First page consists of personal information fields and second page consists of you account details. i.e. like username and password. 3. User fills all the fields in the Add project page and clicks submit button 4. System should add the new user into the database and displays message that “You are a member of online people forum.” 1.After step 2 in normal flow User fills only mandatory

Alternative Flows:

fields and click submit button 2. System should add the new user into the database and displays message that “You are a member of Online people forum.” 1 .After step 2 in Normal Flow user fills only few

Exceptions:

mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 2 in Normal Flow admin fills login id details that already exist. 4. System will display error message “Sorry, try for another Login id because it is already registered by some other.” Priority: Frequency of Use: Notes and Issues:

High High None

15

<<College name>><place>>


Online People Forum

3. Adding of Topics. Use Case ID: OPF003 Use Case ADMIN_ADD_PRIORITIES Name: Created By: Date Created:

G.Gireesh 01/04/09

Last Updated By: G.Gireesh Date Last 01/04/09 Updated:

Actors: Description:

Administrator, User Administrator or user can add new Topic to the existing list of

Preconditions:

Topics. Administrator or user already logged into the system with relevant username and password and admin is in Admin Main

Normal Flow:

Page or user is in user’s main page respectively. 1.Admin or user selects Add Topic Link and system opens sub options to manage the Topic 2. Admin or user Clicks on Add new Topic and system displays a page to add new Topic. 3. Add new priority page will contain field like Topic name, Topic Description etc. 4. Admin or user fills all the fields in the Add Topic page and clicks on submit button 5. System should add the new priority into the database and displays message that “New Topic added

Alternative Flows:

successfully” 1.After step 3 admin fills only mandatory fields and click submit button 2.System should add the new Topic into the database and displays message that “New Topic added successfully”

16

<<College name>><place>>


Online People Forum Exceptions:

1 .After step 3 in Normal Flow admin or user fills only few mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 3 in Normal Flow admin or user fills topic details that already exist. 4. System will display error message â&#x20AC;&#x153;Topic name is already available in the database choose anotherâ&#x20AC;?

Priority: Frequency of Use: Notes and Issues:

High High None

5. Giving Posts to Topics Use Case ID: Use Case

OPF005 POST_TO_TOPICS

Name: Created By: Date Created:

G.Gireesh 01/04/09

Last Updated By: Date Last

G.Gireesh 01/04/09

Updated:

Actors: Description: Preconditions:

Administrator, User Administrator or Member posts the replays to the Topic. Admin already logged into the system with relevant username

Normal Flow:

and password and admin is in Admin Main Page 1. Admin or User Searched the Topic and give replay if

17

<<College name>><place>>


Online People Forum

Alternative Flows:

they interested. 1. Admin or User fills all the mandatory fields to give replay to the Topic. 2. System should add the new Reply to the Topic into the database and displays message that “Your post has been posted successfully.” Admin or User omit any mandatory fields system is

Exceptions:

displays a message like “Mandatory fields must be entered”. Priority: Frequency of Use: Notes and Issues:

High High None

Use case diagrams

1. Employee Login:

Enter Login and password

Validate User/Member

Administrator

Confirm Login and Password 18 <<College name>><place>>


Online People Forum

19

<<College name>><place>>


Online People Forum

3. User Tasks

Creating Login and Password

Post Any Topics

User

Search for Topics and Threads

Giving Replay to the Topics.

20

<<College name>><place>>


Online People Forum

5. Feasibility Study Feasibility study is an important phase in the software development process. It enables the developer to have an assessment of the product being developed. It refers to the feasibility study of the product in terms of out comes of the product, operational use and technical support required for implementing it. Feasibility study should be performed on the basis of various criteria and parameters. The various feasibility studies are: 1

Economic Feasibility

2

Technical Feasibility

3

Operational Feasibility

4

Time And Resource Feasibility

5.1. ECONOMIC FEASIBILITY: The proposed Cellular Recruitment Alert System will save lots of paper work and facilitate magnetic record keeping thereby reducing the costs incurred on overheads. This reduction in cost prompts the company to go for such computer-based system.

21

<<College name>><place>>


Online People Forum

5.2. TECHNICAL FEASIBILITY: As the saying goes â&#x20AC;&#x153; to error is humanâ&#x20AC;? keeping in view the about fact, presently all organizations are on the look out of saving their productive time by getting rid over various types of repetitive and monotonous works done by humans as well as Proving a means of establishing a connection through their internet. The key process areas of current system are nicely amenable to automation and hence the technical feasibility is proved. 5.3. OPERATIONAL FEASIBILITY: Since the inception of Internet, it is continuously growing in leaps and bounds, as more people are arriving at the conclusion that they cannot escape from it and in order to keep up, they have to participate in that. In today's world, Cellular Cell phone Devices provides an efficient, reliable, cost-effective and timesaving platform for communication. Here in the proposed system Cellular Recruitment Alert System is implemented on the cell phone devices, which will be enable to end users of Cellular Cell phone Devices to obtain the information about the various products that are the part of the system and the at the same time can proceed with the Cellular Recruitment System 5.4. TIME AND RESOURCE FEASIBILITY: This system helps the user to find in the best usage of resources keeping in track of all the product details over a period of time, thereby reducing the decision making process easier and worthwhile. Acts to be a solution provider in determining the best allocation of resources and finding out the way for time reduction

6. Software requirement specification: The software, Site Explorer is designed for management of web sites from a remote location.

22

<<College name>><place>>


Online People Forum

Introduction Purpose: The main purpose for preparing this document is to give a general insight into the analysis and requirements of the existing system or situation and for determining the operating characteristics of the system. Scope: This Document plays a vital role in the development life cycle (SDLC) and it describes the complete requirement of the system. It is meant for use by the developers and will be the basic during testing phase. Any changes made to the requirements in the future will have to go through formal change approval process.

Developerâ&#x20AC;&#x2122;s responsibilities overview: The developer is responsible for: 1

Developing the system, which meets the SRS and solving all the requirements of the system?

2

Demonstrating the system and installing the system at client's location after the acceptance testing is successful.

3

Submitting the required user manual describing the system interfaces to work on it and also the documents of the system.

4

Conducting any user training that might be needed for using the system.

5

Maintaining the system for a period of one year after installation.

6.1. Functional Requirements: Output Design

Outputs from computer systems are required primarily to communicate the results of processing to users. They are also used to provides a permanent copy of the results for later consultation. The various types of outputs in general are: 1

External Outputs, whose destination is outside the organization.

2

Internal Outputs whose destination is with in organization and they are the

23

<<College name>><place>>


Online People Forum 3

User’s main interface with the computer.

4 Operational outputs whose use is purely with in the computer department. 5

Interface outputs, which involve the user in communicating directly with

Output Definition The outputs should be defined in terms of the following points:  Type of the output  Content of the output  Format of the output  Location of the output  Frequency of the output  Volume of the output  Sequence of the output It is not always desirable to print or display data as it is held on a computer. It should be decided as which form of the output is the most suitable. For Example  Will decimal points need to be inserted  Should leading zeros be suppressed.

Output Media: In the next stage it is to be decided that which medium is the most appropriate for the output. The main considerations when deciding about the output media are:

1 The suitability for the device to the particular application. 2

The need for a hard copy.

3

The response time required.

4

The location of the users

5

The software and hardware available.

Keeping in view the above description the project is to have outputs mainly coming under the category of internal outputs. The main outputs desired according to the requirement specification are: The outputs were needed to be generated as a hot copy and as well as queries to be viewed on the screen. Keeping in view these outputs, the format for the output is taken from the outputs, which

24

<<College name>><place>>


Online People Forum are currently being obtained after manual processing. The standard printer is to be used as output media for hard copies.

Input Design Input design is a part of overall system design. The main objective during the input design is as given below: •

To produce a cost-effective method of input.

To achieve the highest possible level of accuracy.

To ensure that the input is acceptable and understood by the user.

Input stages: The main input stages can be listed as below: •

Data recording

Data transcription

Data conversion

Data verification

Data control

Data transmission

Data validation

Data correction

Input types: It is necessary to determine the various types of inputs. Inputs can be categorized as follows: •

External inputs, which are prime inputs for the system.

Internal inputs, which are user communications with the system.

Operational, which are computer department’s communications to the system?

Interactive, which are inputs entered during a dialogue.

Input media:

25

<<College name>><place>>


Online People Forum At this stage choice has to be made about the input media. To conclude about the input media consideration has to be given to; •

Type of input

Flexibility of format

Speed

Accuracy

Verification methods

Rejection rates

Ease of correction

Storage and handling requirements

Security

Easy to use

Portability Keeping in view the above description of the input types and input media, it can be said

that most of the inputs are of the form of internal and interactive. As Input data is to be the directly keyed in by the user, the keyboard can be considered to be the most suitable input device.

Error Avoidance At this stage care is to be taken to ensure that input data remains accurate form the stage at which it is recorded up to the stage in which the data is accepted by the system. This can be achieved only by means of careful control each time the data is handled.

Error Detection Even though every effort is make to avoid the occurrence of errors, still a small proportion of errors is always likely to occur, these types of errors can be discovered by using validations to check the input data.

Data Validation Procedures are designed to detect errors in data at a lower level of detail.

Data

validations have been included in the system in almost every area where there is a possibility for the user to commit errors. The system will not accept invalid data. Whenever an invalid data is keyed in, the system immediately prompts the user and the user has to again key in the data and

26

<<College name>><place>>


Online People Forum the system will accept the data only if the data is correct. Validations have been included where necessary. The system is designed to be a user friendly one. In other words the system has been designed to communicate effectively with the user. The system has been designed with pop up menus.

User Interface Design It is essential to consult the system users and discuss their needs while designing the user interface:

User interface systems can be broadly classified as: 1. User initiated interface the user is in charge, controlling the progress of the user/computer dialogue. In the computer-initiated interface, the computer selects the next stage in the interaction. 2. Computer initiated interfaces In the computer initiated interfaces the computer guides the progress of the user/computer dialogue. Information is displayed and the user response of the computer takes action or displays further information.

User Initiated Interfaces User initiated interfaces fall into tow approximate classes: 1. Command driven interfaces: In this type of interface the user inputs commands or queries which are interpreted by the computer. 2. Forms oriented interface: The user calls up an image of the form to his/her screen and fills in the form. The forms oriented interface is chosen because it is the best choice. Computer-Initiated Interfaces The following computer â&#x20AC;&#x201C; initiated interfaces were used: 1. The menu system for the user is presented with a list of alternatives and the user chooses one; of alternatives. 2. Questions â&#x20AC;&#x201C; answer type dialog system where the computer asks question and takes action based on the basis of the users reply.

27

<<College name>><place>>


Online People Forum Right from the start the system is going to be menu driven, the opening menu displays the available options. Choosing one option gives another popup menu with more options. In this way every option leads the users to data entry form where the user can key in the data.

Error message design: The design of error messages is an important part of the user interface design. As user is bound to commit some errors or other while designing a system the system should be designed to be helpful by providing the user with information regarding the error he/she has committed. This application must be able to produce output at different modules for different inputs.

6.2. Performance Requirements Performance is measured in terms of the output provided by the application. Requirement specification plays an important part in the analysis of a system. Only when the requirement specifications are properly given, it is possible to design a system, which will fit into required environment. It rests largely in the part of the users of the existing system to give the requirement specifications because they are the people who finally use the system. This is because the requirements have to be known during the initial stages so that the system can be designed according to those requirements. It is very difficult to change the system once it has been designed and on the other hand designing a system, which does not cater to the requirements of the user, is of no use. The requirement specification for any system can be broadly stated as given below: â&#x20AC;˘

The system should be able to interface with the existing system

â&#x20AC;˘

The system should be accurate

â&#x20AC;˘

The system should be better than the existing system

The existing system is completely dependent on the user to perform all the duties.

28

<<College name>><place>>


Online People Forum

7. Soft ware used

7.1. Java INTRODUCTION:

Initially the language was called as “oak” but it was renamed as “Java” in 1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. Java is a programmer’s language. Java is cohesive and consistent. Except for those constraints imposed by the Internet environment, Java gives the programmer, full control. Finally, Java is to Internet programming where C was to system programming. Im portance of Java to the Internet Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self-executing programs cause serious problems in the areas of Security and probability. But, Java addresses those concerns and by doing so, has opened the door to an exciting new form of program called the Applet. Java can be used to create two types of programs Applications and Applets: An application is a program that runs on our Computer under the operating system of that computer. It is more or less like one creating using C or C++. Java’s ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java – compatible web browser. An applet is actually a tiny Java program, dynamically

29

<<College name>><place>>


Online People Forum downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change. Features of Java Security Every time you that you download a “normal” program, you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scanned them for viruses prior to execution. Most users still worried about the possibility of infecting their systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both these concerns by providing a

“firewall” between a network

application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent. Portability For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed .As you will see, the same mechanism that helps ensure security also helps create portability. Indeed, Java’s solution to these two problems is both elegant and efficient. The Byte code The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java

30

<<College name>><place>>


Online People Forum Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code. Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is, once the run-time package exists for a given system, any Java program can run on it. Although Java was designed for interpretation, there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to compile an entire Java program into executable code all at once, because Java performs various run-time checks that can be done only at run time. The JIT compiles code, as it is needed, during execution. Java Virtual Machine (JVM) Beyond the language, there is the Java virtual machine. The Java virtual machine is an important element of the Java technology. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of the loading process, a class loader is invoked and does byte code verification makes sure that the code thatâ&#x20AC;&#x2122;s has been generated by the compiler will not corrupt the machine that itâ&#x20AC;&#x2122;s loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of Java code. Overall Description Java source

Java byte code

Java

Jvm

.Class

Picture showing the development process of JAVA Program Java programming uses to produce byte codes and executes them. The first box indicates that the Java source code is located in a. Java file that is processed with a Java 31

<<College name>><place>>


Online People Forum compiler called javac. The Java compiler produces a file called a. class file, which contains the byte code. The. Class file is then loaded across the network or loaded locally on your machine into the execution environment is the Java virtual machine, which interprets and executes the byte code. Java Architecture Java architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then interpreted on each platform by the run-time environment. Java is a dynamic system, able to load code when needed from a machine in the same room or across the planet. Compilation of code When you compile the code, the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the byte code. The JVM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all machines. This machine is called Java Virtual Machine. Compiling and interpreting Java Source Code During run-timethe java interpreter trick the byte code file in to thinking that it is running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or Sun SARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets. .

32

<<College name>><place>>


Online People Forum

Source Code ……….. ……….. ……….. …………

Java Interpreter (PC)

PC Compiler Java Macintosh Compiler

Byte code (Platform Indepen dent)

SPARC

Java Interpreter (Macintosh) Java Interpreter (Spare)

Compiler

Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are an experienced C++ programmer, learning Java will be even easier. Because Java inherits the C/C++ syntax and many of the object oriented features of C++. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small number of clearly defined ways to accomplish a given task. Object-Oriented Java was not designed to be source-code compatible with any other language. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic approach to objects. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance non-objects. Robust The multi-platform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability 33

<<College name>><place>>


Online People Forum to create robust programs was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and run time. Java virtually eliminates the problems of memory management and deallocation, which is completely automatic. In a well-written Java program, all run time errors can â&#x20AC;&#x201C; and should â&#x20AC;&#x201C;be managed by your program. Client Server Over view: With the varied topic in existence in the fields of computers, Client Server is one, which has generated more heat than light, and also more hype than reality. This technology has acquired a certain critical mass attention with its dedication conferences and magazines. Major computer vendors such as IBM and DEC; have declared that Client Servers is their main future market. A survey of DBMS magazine reveled that 76% of its readers were actively looking at the client server solution. The growth in the client server development tools from $200 million in 1992 to more than $1.2 billion in 1996. Client server implementations are complex but the underlying concept is simple and powerful. A client is an application running with local resources but able to request the database and relate the services from separate remote server. The software mediating this client server interaction is often referred to as MIDDLEWARE. The typical client either a PC or a Work Station connected through a network to a more powerful PC, Workstation, Midrange or Main Frames server usually capable of handling request from more than one client. However, with some configuration server may also act as client. A server may need to access other server in order to process the original client request. The key client server idea is that client as user is essentially insulated from the physical location and formats of the data needs for their application. With the proper 34

<<College name>><place>>


Online People Forum middleware, a client input from or report can transparently access and manipulate both local database on the client machine and remote databases on one or more servers. An added bonus is the client server opens the door to multi-vendor database access indulging heterogeneous table joins. What is a Client Server Two prominent systems in existence are client server and file server systems. It is essential to distinguish between client servers and file server systems. Both provide shared network access to data but the comparison dens there! The file server simply provides a remote disk drive that can be accessed by LAN applications on a file-by-file basis. The client server offers full relational database services such as SQL-Access, Record modifying, Insert, Delete with full relational integrity backup/ restore performance for high volume of transactions, etc. the client server middleware provides a flexible interface between client and server, who does what, when and to whom. Why Client Server Client server has evolved to solve a problem that has been around since the earliest days of computing: how best to distribute your computing, data generation and data storage resources in order to obtain efficient, cost effective departmental an enterprise wide data processing. During mainframe era choices were quite limited. A central machine housed both the CPU and DATA (cards, tapes, drums and later disks). Access to these resources was initially confined to batched runs that produced departmental reports at the appropriate intervals. A strong central information service department ruled the corporation. The role of the rest of the corporation limited to requesting new or more frequent reports and to provide hand written forms from which the central data banks were created and updated. The earliest client server solutions therefore could best be characterized as â&#x20AC;&#x153;SLAVE-MASTERâ&#x20AC;?.

35

<<College name>><place>>


Online People Forum Time-sharing changed the picture. Remote terminal could view and even change the central data, subject to access permissions. And, as the central data banks evolved in to sophisticated relational database with non-programmer query languages, online users could formulate adhoc queries and produce local reports with out adding to the MIS applications software backlog. However remote access was through dumb terminals, and the client server remained subordinate to the Slave\Master. Front end or User Interface Design The entire user interface is planned to be developed in browser specific environment with a touch of Intranet-Based Architecture for achieving the Distributed Concept.The browser specific components are designed by using the HTML standards, and the dynamism of the designed by concentrating on the constructs of the Java Server Pages. Communication or Database Connectivity Tier The Communication architecture is designed by concentrating on the Standards of Servlets and Enterprise Java Beans. The database connectivity is established by using the Java Data Base Connectivity. The standards of three-tire architecture are given major concentration to keep the standards of higher cohesion and limited coupling for effectiveness of the operations.

JavaScript JavaScript is a script-based programming language that was developed by Netscape Communication Corporation. JavaScript was originally called Live Script and renamed as JavaScript to indicate its relationship with Java. JavaScript supports the 36

<<College name>><place>>


Online People Forum development of both client and server components of Web-based applications. On the client side, it can be used to write programs that are executed by a Web browser within the context of a Web page. On the server side, it can be used to write Web server programs that can process information submitted by a Web browser and then updates the browser’s display accordingly Even though JavaScript supports both client and server Web programming, we prefer JavaScript at Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags <SCRIPTS>.. </SCRIPT>. <SCRIPT LANGUAGE = “JavaScript”> JavaScript statements </SCRIPT> Here are a few things we can do with JavaScript: •

Validate the contents of a form and make calculations.

Add scrolling or changing messages to the Browser’s status line.

Animate images or rotate images that change when we move the mouse over them.

Detect the browser in use and display different content for different browsers.

Detect installed plug-ins and notify the user if a plug-in is required.

We can do much more with JavaScript, including creating entire application. JavaScript Vs Java JavaScript and Java are entirely different languages. A few of the most glaring differences are: •

Java applets are generally displayed in a box within the web document; JavaScript can affect any part of the Web document itself.

While JavaScript is best suited to simple applications and adding interactive features to Web pages; Java can be used for incredibly complex applications.

37

<<College name>><place>>


Online People Forum •

There are many other differences but the important thing to remember is that JavaScript and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages.

Advantages •

JavaScript can be used for Sever-side and Client-side scripting.

It is more flexible than VBScript.

JavaScript is the default scripting languages at Client-side since all the browsers supports it.

7.2. HTML Hyper Text Markup Language Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks). HTML is not a programming language but it is an application of ISO Standard 8879, SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted to the Web. The idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters that define how text or other items enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document. HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop. HTML provides tags (special codes) to make the document look attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can 38

<<College name>><place>>


Online People Forum enhance the presentation of the document. Anything that is not a tag is part of the document itself. Basic HTML Tags : <! --

-->

Specifies comments

<A>……….</A>

Creates hypertext links

<B>……….</B>

Formats text as bold

<BIG>……….</BIG>

Formats text in large font.

<BODY>…</BODY>

Contains all tags and text in the HTML document

<CENTER>...</CENTER> Creates text <DD>…</DD>

Definition of a term

<DL>...</DL>

Creates definition list

<FONT>…</FONT>

Formats text with a particular font

<FORM>...</FORM>Encloses a fill-out form <FRAME>...</FRAME>

Defines a particular frame in a set of frames

<H#>…</H#>Creates headings of different levels <HEAD>...</HEAD> <HR>...</HR>

Contains tags that specify information about a document Creates a horizontal rule

<HTML>…</HTML>

Contains all other HTML tags

<META>...</META>Provides meta-information about a document <SCRIPT>…</SCRIPT>

Contains client-side or server-side script

<TABLE>…</TABLE>

Creates a table

<TD>…</TD>

Indicates table data in a table

<TR>…</TR>

Designates a table row

<TH>…</TH>

Creates a heading in a table

Advantages •

A HTML document is small and hence easy to send over the net. It is small because it does not include formatted information.

HTML is platform independent.

HTML tags are not case-sensitive. 39

<<College name>><place>>


Online People Forum

Java Database Connectivity Introduction JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API. Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere. What Does JDBC Do? Simply put, JDBC makes it possible to do three things: •

Establish a connection with a database

Send SQL statements

Process the results.

JDBC versus ODBC and other APIs At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably the most widely used programming interface for accessing relational databases. It offers the ability to connect to almost all databases on almost all platforms. So why not just use ODBC from Java? The answer is that you can use ODBC from Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC Bridge, which we will cover shortly. The question now becomes "Why do you need JDBC?" There are several answers to this question:

40

<<College name>><place>>


Online People Forum ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes. Two-tier and Three-tier Models

The JDBC API supports both two-tier and three-tier models for database access. In the two-tier model, a Java applet or application talks directly to the database. This requires a JDBC driver that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database, the Client and machine Java applet or results of those statements are sent back to the user.Html Thebrowser database may be located on (GUI) another machine to which the user is connected via a network. This is referred to as a HTTP, RMI, or CORBA client/server configuration, with the user's machine as the client, and the machine housing calls the database as the server. The network can be an Intranet, which, for example, connects employees within a corporation, or it can be the Internet.

Application Server (Java) JDBC

Server machine (business DBMS-proprietary Logic) protocol

41

Database server <<College name>><place>> DBMS


Online People Forum

JAVA Application

JDBC

Client machine

DBMS-proprietary protocol

DBMS

Database server

Two- Tier Model

Three-Tier Model

In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that when there is a middle tier, the user can employ an easy-to-use higher-level API which is translated by the middle tier into the appropriate low-level calls. Finally, in many cases the three-tier architecture can provide performance advantages. Until now the middle tier has typically been written in languages such as C or C+ +, which offer fast performance. However, with the introduction of optimizing compilers that translate Java byte code into efficient machine-specific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier. 42

<<College name>><place>>


Online People Forum

JDBC Driver Types:

Java Application JDBC API

JDBC Driver Manager

JDBC-Net Driver

JDBC-ODBC Bridge Driver

Driver A

JDBC Driver API

Driver B JDBC Implementation alternatives

ODBC and DB Driver

JDBC Middleware Protocol

Proprietary database access protocol

JDBC technology-based drivers generally fit into one of four categories: 1.JDBC-ODBC Bridge plus ODBC driver: The Java Soft bridge product provides JDBC access via ODBC drives. Note that ODBC binary code and in many cases database client code must be loaded on each client machine that uses this driver. As a result, this kind of driver is most appropriate on a corporate network where client installations are not a major problem, or for application server code written in Java in three-tier architecture.

2. Native-API partly-Java Driver:

43

<<College name>><place>>


Online People Forum This kind of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the Bridge driver, this style of driver requires that some binary code be loaded on each client machine.

Applicatio n

Applicatio n

JDBC Driver

JDBC Driver

Native db Libraries

ODBC Driver

Network Interface Database Database

JDBC-ODBC Bridge plus ODBC driver

Native-API partly-Java Driver

3. JDBC-Net all-Java driver: This driver translates JDBC calls into a DB MS-independent net protocol, which is then translated, to a DBMS protocol by a Server. This net Server middle ware is able to connect its all-Java clients to many different databases. The specific protocol used depends on the vendor. In general this is most flexible JDBC alternative. It is likely that all vendors of this solution will provide products to also support Internet access through firewalls, etc, that the web imposes. Several vendors are adding JDBC drivers to their existing database middleware products.

44

<<College name>><place>>


Online People Forum

4 Native-protocol all-Java driver: This kind of driver converts JDBC calls into the network protocol used by DBMS's directly. This allows a direct call from the client machine to the DBMS server and is practical solution for Internet access. Since many of these protocols are proprietary, database vendors themselves will be the primary source. Several database vendors have these in progress.

7.3. JSP Java server pages: A Java Server Pages file is essentially an HTML document with JSP scripting or tags. It may have associated components in the form of .class, .jar, or .ser files--or it may not. The use of components is not required. The Java Server Pages file has a jsp extension to identify it to the server as a Java Server Pages file. Before the page is served, the Java Server Pages syntax is parsed and processed into a servlet on the server side. The servlet that is generated outputs real content in straight HTML for responding to the client. Because it is standard HTML the dynamically generated response looks no different to the client browser than a static response.

Access Models: A Java Server Pages file may be accessed in at least two different ways: A client request comes directly into a Java Server Page.

45

<<College name>><place>>


Online People Forum

In this scenario, suppose the page accesses reusable Java Bean components that perform particular well-defined computations like accessing a database. The result of the Beanâ&#x20AC;&#x2122;s computations, called result sets is stored within the Bean as properties. The page uses such Beans to generate dynamic content and present it back to the client. A request comes through a servlet.

The servlet generates the dynamic content. To handle the response to the client, the servlet creates a Bean and stores the dynamic content (sometimes called the result set) in the Bean. The servlet then invokes a Java Server Page that will present the content along with the Bean containing the generated from the servlet.

There are two APls to support this model of request processing using Java Server Pages. One API facilitates passing context between the invoking servlet and the Java Server Page. The other API lets the invoking servlet specify which Java Server Page to 46

<<College name>><place>>


Online People Forum use. In both of the above cases, the page could also contain any valid Java code. The Java server Pages architecture encourages separation of content from presentation it does not mandate it. Scripting elements: 1. Jsp comments. <% --- content ---%> 2. Declaration element <%! int i,j; String str; %>

3. Expression element < % = exprlO %>

4. Scripting element < % statement 1 ; statement2; %> 5. include directive <% @ include file="Header.html" %>

6. page directive <%@ pag~ import=;'java.sql.*,java.util.*" %>

7. taglib directive <%@ taglib uri=" " prefix=" " %> JSP elements: 1. < jsp : forward page=" " /> 2. < jsp : include page=" "/> 2. < jsp : usebean id="" class =" " scope=" " > < jsp: setProperty name="" Property ="" value=" "/> < 47

<<College name>><place>>


Online People Forum jsp: getProperty name="" Property ="" value=" "/> < /jsp: usebean> 3. < jsp: plugin type="applet/bean" class="" > <jsp: param name="" value=" "/> </jsp: plugin>

7.4. ECLIPSE Introduction Eclipse is an open source community, whose projects are focused on building an extensible development platform, runtimes and application frameworks for building, deploying and managing software across the entire software lifecycle. Many people know us, and hopefully love us, as a Java IDE but Eclipse is much more than a Java IDE. The Eclipse open source community has over 60 open source projects. These projects can be conceptually organized into seven different "pillars" or categories: •

Enterprise Development

Embedded and Device Development

Rich Client Platform

Rich Internet Applications

Application Frameworks

Application Lifecycle Management (ALM)

Service Oriented Architecture (SOA)

The Eclipse community is also supported by a large and vibrant ecosystem of major IT solution providers, innovative start-ups, universities and research institutions and individuals that extend, support and complement the Eclipse Platform. The exciting thing about Eclipse is many people are using Eclipse in ways that we have never imagined. The common thread is that they are building innovative, industrial strength software and want to use great tools, frameworks and runtimes to make their job easier.

48

<<College name>><place>>


Online People Forum Eclipse Foundation The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects. The Foundation provides services to run the IT infrastructure, IP due diligence, mentor the open source projects during the Eclipse development process and provide marketing and business development support for the Eclipse community. It is important to realize that the Eclipse Foundation does not actually develop the open source code. All of the open source software at Eclipse is developed by open source developers, called committers, which are volunteered or contributed by organizations and individuals. Getting started using Eclipse Most people start by downloading one of the four different download packages: •

If you are a Java developer and need a Java IDE start with this package.

If you are a Java developer creating Java EE application starts with this package.

If you are a C/C++ developer and need a C/C++ IDE start with this package.

If you are planning to build Eclipse plugins and/or RCP applications start with this package.

There is also a wealth of books, tutorials, and white papers to help you get started. There are also companies available to help with training and consulting services. In addition, please feel free to post a question on our newsgroups. Where do I get support? Everyone is free to open bugs and ask questions on our newsgroups. There are also companies that offer commercial products built on Eclipse and Eclipse distributions. Many of these organizations are able to provide commercial level support.

49

<<College name>><place>>


Online People Forum Contact with other Eclipse users The best way to get in touch with other Eclipse users is via our newsgroups and Bugzilla database. This is typically where people ask and answer questions about their favourite Eclipse projects. You can also find individuals blogging about Eclipse on PlanetEclipse.org. If you would like to contact the Eclipse Foundation see our Contact Us section. License used by Eclipse Eclipse uses the Eclipse Public License (EPL). The EPL is a commercially friendly license that allows organizations to include Eclipse software in their commercial products, while at the same time asking those who create derivative works of EPL code to contribute back to the community. The commercial-friendly nature of the EPL had been proven over and over as hundreds of companies ship Eclipse based products. More information about the EPL can be found in our Licensing FAQ. To start an Eclipse open source project The first step in starting an open source project is to familiarize yourself with the existing open source projects. There is a lot of diverse technology being developed at Eclipse, so it might be actually easier to contribute to an existing open source project. If you believe you have a unique technology that is suited for Eclipse, then the first step is to read the Eclipse development process to ensure that the goals of Eclipse align with your interests in creating an open source project. The next step is to contact the Eclipse Management Organization (EMO) to get some help and advice in drafting your proposal. You can contact the EMO via emo at eclipse dot org.

50

<<College name>><place>>


Online People Forum

8. DATABASE DESIGN The data design transforms the information domain model created during the analysis into the data structure that will be required to implement software. Normalization Normalization is a process of simplifying the relationship between data elements in a record. Through this technique, the collection of data in a record structure is replaced by successive record structure that is simpler and more predictable and therefore more manageable. KEYS PRIMARY KEY A Primary key is one, used to identify unique value of an attribute in a table. A primary key column in a table has special attributes.

It defines the column, as a

mandatory column i.e. the column canâ&#x20AC;&#x2122;t be left blank. The NOT NULL attribute is active. The data held across the column must be unique. FOREIGN KEY FOREIGN KEY represents relationship between tables foreign key is a column whose values are derived from the primary key or unique key of some other table. The table in which the foreign key used is called foreign table of detail table. The table that defines the primary or unique key and is referenced by the foreign key is called the primary key in the master table. NORMALIZATION IS CARRIED FOR FOLLOWING REASONS:

51

<<College name>><place>>


Online People Forum •

To structure the data so that any pertinent relationship between entities can be represented.

To permit simple retrieval of data in response to query and report request.

To simplify the maintenance of the data through updates, insertion and deletions.

To reduce the need to restructure or reorganize data when new application requirements arise.

This attempt to remove redundant data, avoid data inconsistencies and prevent up data anomalies. This results in a simpler or more natural data model. A normalized database more clearly reflects the natural entities and relationships in the real world. Relational database theory outlines five normal forms, of which their normal forms are used popularly for designing relational tables. The rules and methods of first three normal forms are given below. FIRST NORMAL FORM A relation is a first normal form if the intersection of any column and row contain only one value (no repeating groups). METHODS Identify suitable primary keys from a pool of un-normalized data. Remove any that repeats with in a single value of this key to another relation bringing with in a primary key to form part of a new composite key in the new relation. SECOND NORMAL FORM A table in first normal form is also in second normal form. If the values in every column are functionally dependent on the complete primary key.

52

<<College name>><place>>


Online People Forum METHODS For every relation with in a single data item making up the primary key, this rule should always be true.

For those with compound key examine every column and

determines whether its value depends on the whole of the compound key are just some of the part of it. Remove those that depend only on part of the key to a new relation with that part as a primary key. THIRD NORMAL FORM Column is not transitively dependent on the primary relation in second normal form is also in third normal form with the values in every non-key. METHODS Examine every non-key column and question its relationship with every other non-key column. If for a value for column A there is only one value for column B, remove both columns to a separate relation and mark the question unique as a primary key. As database tables involved here needs normalization techniques so that it should be flexible to access and store the values in it. So that third normal form is applied and all tables are normalized according to that. Architectural design melds program structure and data structure, defining interfaces that enable data to flow through the program. Procedural design occurs after data and program structure has been established.

53

<<College name>><place>>


Online People Forum 1. Boxes Sl.no 1. 2. 3. 4.

Filed name Boxid Memberid Boxname Sortdesc

Data Type Number Number Text Text

Size 50 50 50 50

Constraints Primary key No No no

2. Levels Sl.no 1. 2. 3. 4.

Field Name Grade Minpost Maxpost Description

Data Type Text Number Number Text

Size 50 10 10 50

Constraint Primary key no No no

Field Name Memberid Username Password Firstname Lastname Email Regdate Type

Data Type Number Text Text Text Text Text Text Text

Size 50 20 10 50 50 50 50 50

Constraint Primary key no No no No No No no

Field Name Threadid Boxid Parent_id Member_id Subject Post_text Post_date

Data Type Number Number Number Number Text Text Text

Size 50 10 10 10 50 50 50

Constraint Primary key no No no No No No

3. Members Sl.no 1. 2. 3. 4. 5. 6. 7. 8. 4. Threads Sl.no 1. 2. 3. 4. 5. 6. 7.

54

<<College name>><place>>


Online People Forum

9. System design 9.1. DATAFLOW DIAGRAM Dataflow diagram is one of the most important modeling tools. It is used to model the system components. These components are the system process, an external entity that interacts with the system, uses the data and the information flows in the system. DFD shows the information moves thought the system and how it is modified by a series of transformations. It is graphical technique that depicts information flow and that is applied as data moves from input to output. DFD is also known as bubble chart. DFD may be used to represent the system at any level of abstraction DFDâ&#x20AC;&#x2122;S may be partitioned into levels that represents increasing information flow and functional details. A level 0 DFD, also called as the context diagram represents the entire system as a single module with input and output indicated by incoming and outgoing arrows respectively. Additional process and information flow paths are represented as the level 0 DFD is portioned to reveal more details. The context diagrams for the diagrams for the project management system are shown in the figure. A level 1 DFD, also called as top-level DFD represents the system major module and data stores. The other level will show each module in the top level DFD in more detailed fashion. The top level and other level DFDâ&#x20AC;&#x2122;S for our system are shown below.

55

<<College name>><place>>


Online People Forum A data flow diagram is a graphic description of portion of a system. It consists of data flows, process, sources, destinations and data stores all are described through the use of easily understandable symbols. An entire system can be described from the view point of the data it processes with just a few symbols. Data flow diagrams powerful enough to show parallel activities. Data flow diagrams describes the system independently of how it is actually implemented, that is, they show what takes place, rather than how an activity is accomplished. ADVANTAGES •

Users easily understand these simple notations.

Users can make suggestions for modifications.

If analysis wants to review the overall system late, they use the higher level over view diagrams. However if they are interested in studying one particular process, they use the

data flow diagram for that low level process. NOTATION DATAFLOW Data move in specific direction from an origin to destination. The dataflow is a packet of data.

PROCESS People, procedures or devices that produce data the physical component is not identified.

56

<<College name>><place>>


Online People Forum SOURCE OR DESTINATION OF DATA External sources or destination of data, which may be people of organization or other entities.

Zero Level Data Flow Diagram:

57

<<College name>><place>>


Online People Forum

View the profile Authentication

Online People Forum

Administrator

View Threads and Post Manage topics and posts

Member Registration

Logoff form opf

9.2. Data Base Diagram

58

<<College name>><place>>


Online People Forum

10. ARCHITECTURAL DESIGN The architectural design defines the relationship among major structural elements of the program. HIERARCHY AND INPUT PROCESS OUTPUT CHART HIPO chart is another used method for developing system software. An acronym for hierarchical input across output. The assumption on which HIPO is based i.e. it is easy to loss track of the intended function of a system or components in a large system. This is one reason why it is difficult to compare existing systems against their original specification.

59

<<College name>><place>>


Online People Forum From the users view, single functions can be often extending across several modules.

The concern of the analyst then it is understanding, describing and

documenting the modules and their interaction in a way that provides sufficient details but that does not lose sight of the large picture. HIERARCHY CHART In computer programming, programmers often develop the software as a collection of independent but interacting modules and this are represented in hierarchy charts. The hierarchy chary shows the relationship between the modules.

Profile

View/Edit Profile

Log Out Administrator

Members Home Forum

View/Edit Members Post Thread Post Reply View member profile

Create new forum Edit the forum

60

<<College name>><place>>


Online People Forum

Online People Forum

Profile

View Profile Edit Profile

Log Out Moderator Forum

Create forum Edit the forum

Home

Post Threads Post Replays Manage Forums

Profile Member

Logout Home

View Profile Edit Profile Post Threads Post Replays

11. SYSTEM TESTING 61

<<College name>><place>>


Online People Forum 11.1. Introduction Software testing is the critical element of software quality assurance and represents the ultimate review of specification, design and coding software testing fundamentals define the over riding object is for software testing. TESTING OBJECTIVES •

Testing is a process of executing a program with the intent of finding an error.

A good case is one that has a high probability of finding an undiscovered error.

A successful test is one that uncovers yet undiscovered error. If testing is conducted successfully it will uncover errors in the software. Testing

cannot show the absences of defects are present. It can only show that software defects are present. TESTING PRINCIPLES Before applying methods to design effective test cases, a software engineer must understand the basic principles that guide software testing. •

All tests should be traceable to customer requirements.

Test should be planed long before testing begins.

Testing should begin “in small” and progress towards testing “in large”.

Exhaustive testing is not possible.

To be most effective, an independent third party should conduct testing.

TEST CASE DESIGN Any engineering product tested in one of the following two ways. •

Knowing the specified function that products that has been designed to

perform, testing is conducted for each function fully and at the same time searching for errors in each function. •

Knowing the internal working of the product, tests are conducted to ensure

that an internal operation performs according to specifications. •

The testing can be performed in two ways,

62

<<College name>><place>>


Online People Forum WHITE BOX TESTING Knowing the internal working of a product, test can be conducted to ensure that “all gears mesh”, i.e. that internal operation performs to specifications and all internal components have been adequately exercised. It is predicted on close examinations of procedural detail logical providing test case that exercise specific sets of conditions and loop test path through the software. Basic path testing is a white box testing technique. The basic path model enable the test case designer to derive a logical complexity of a procedural design and use this measure as a guide for defining as a basic set of execution paths. BLACK BOX TESTING Black box testing alludes to test that are conducted at the software interfaces. These are used to demonstrate this software functions operational that input is properly accepted and output is correctly produced, at the same time searching for errors.

TESTING TECHNIQUES Using the white box testing methods, the software engineer can derive test cases that •

Guarantee that all independent paths with in a module has been exercised at least once -basis path testing.

Exercised all logical decisions on their true and false sides -Condition testing.

Exercised internal data structures to assure their validity -data flow testing.

Execute all loops at their boundaries and with in their operation bounds- Loop testing.

63

<<College name>><place>>


Online People Forum BASIS PATH TESTING The basis path test method enables the test case designers to derive a logical complexities measure of a procedural design. And use this measure as guidelines for defining basis set of execution path.

In the project “SALES AND PURCHASE

MANAGEMENT” system one sample model is considered for test case designing. Pseudo-code: Pseudo-code represents step by step logical of the procedure. TESTING STRATEGIES: Testing is a set of activities that can plan in advance and conducted systematically. A strategy for software testing must accommodate low level tests that are necessary to verify a small source code segment has been correctly implements. As well as high level that validates system function against customer requirements. Software testing is none element of verification and validation.

Verification

refers to the set of activities that ensure the software correctly implements a specific function. Validation refers to a different set of activities that ensure the software has been built is traceable to user requirements. 11.2 UNIT TESTING Unit testing focuses verification effort on the smallest unit of software design. This is white box oriented. In the “SALES AND PURCHASE MANAGEMENT”, each and every module is tested in the following ways. The module interfaces are tested ensuring the information properly close into and put the program unit under test. The local data structures are examined to ensure data stored temporarily maintains its integrity during on steps in an algorithm execution. Boundary conditions are tested to ensure that the module operations properly at boundaries established to limit or restrict processing. All independent paths through the

64

<<College name>><place>>


Online People Forum control structures are exercised to ensure that all statements in a module have been executed at least once. Error handling paths are tested. 11.3. INTEGRATION TESTING Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. In our project “SALES AND PURCHASE MANAGEMENT” We followed topdown integration where the modules are integrated by moving downward through the control hierarchy beginning with the main control module.

The next, depth-first

integration is followed by that would integrate all modules on a major control path of the structure moving vertically through the structure. 11.4. VALIDATION TESTING Validation testing is the process of the evaluating software at the end of the software development process to determine compliance with the requirements.

The

primary goals of the validations are: •

To asses and improve the quality of various products generated during software development and modifications.

High quality is best achieved by careful attention to the details of the systematic planning, analysis and implementation.

It is incorrect to view source code testing as a primary vehicle for quality improvement.

65

<<College name>><place>>


Online People Forum

12. SYSTEM IMPLEMENTATION System implementation Implementation includes all those activities that take place to convert from the old system to the new. The old system consists of manual operations, which operated in a very different manner from the proposed new system. A proper implementation is essential to provide a reliable system to meet the requirements of the organizations. Implementation method There are several methods for handling the implementation and the consequent conversion from the old to the new computerizes system. The most secure method for converting from the old to the new system is to run the new system in parallel. In this approach, a person may operate in the manual older processing system as well as starts operating the new computerize system. This method offers high security, because even if there is a flaw in the computerize system, we can depend upon the manual system. However, the cost for maintaining two systems in parallel is very high. This outweighs its benefits. Another commonly used method is a direct cut over from the existing manual system to the computerize system. The change may be within a week or within a day. There are no parallel activities. However, there is no remedy in case of a problem. This strategy requires careful planning. We can also implement a work version of the system, in one part of the organization and the personnel will be piloting the system and changes can be made as and when required. But this method is less preferable due to the loss of entirety of the system.

66

<<College name>><place>>


Online People Forum Implementation plan The implementation plan includes a description of all the activities that must occur to implement the new system and to put it into operation. It identifies the personnel responsible for the activities and prepares a time chart for implementing the system. The implementation plan consists of the following steps. â&#x20AC;˘

List all tables required for implementation.

â&#x20AC;˘

Identify all data required to build new tables during the implementation. The implementation plan should anticipate possible problems and must be able to

deal with them. The usual problems may be missing documents; mixed data formats between current and files, errors in data translation, missing data etc. Success of the system depends on the way in which it is operated and used. Data entry must be done utmost carefully to avoid errors. This will reduce the data entry errors considerably. It is preferable to the person with some kind of operating manuals that will explain all the details of the system. Post Implementation Review After the system is implemented, a review should be conducted to determine whether the system is meeting expectations and where improvements are needed. System quality, user confidence and operating systems statistics are accessed through such event logging, impact evaluation and attitude surveys. The review not only accesses how well the proposed system is designed and implement, but also is a valuable source of information that can be applied to a critical evaluation if the system. The reviews are conducted by the operating personals as well as the software developers in order to determine how well the system is working, how it has been accepted, and whether adjustments are needed. The review of the system is highly

67

<<College name>><place>>


Online People Forum essential to determine the future enhancements required by the system. The system can be considered successful only if information system has met its objectives. The review analysis the opinion of the employees and identifies the attitudes towards the new computerize system. Only when we know about the merits and demerits of the implemented system, we can determine what all the additional features it requires are. The following are the issues to be considered in the evaluation of a system. •

The change in the cost of operation after the installation of the computerize system.

The basic change that has been effected after the introduction of the system.

The improvement in the accuracy of the computations.

The acceptance of the new system by the staff and the convenience it brought to them.

The change in the effectiveness caused by the implementation of the new system. A study of the system has revealed that the employees due to the user friendliness

have accepted the system, reduced the number of errors, increased accuracy and decreased cost of operations. The system also pays for efficient and speedy execution of operation compared to the earlier system.

68

<<College name>><place>>


Online People Forum

69

<<College name>><place>>


Online People Forum

70

<<College name>><place>>


Online People Forum

71

<<College name>><place>>


Online People Forum

72

<<College name>><place>>


Online People Forum

73

<<College name>><place>>


Online People Forum

74

<<College name>><place>>


Online People Forum

75

<<College name>><place>>


Online People Forum

76

<<College name>><place>>


Online People Forum

77

<<College name>><place>>


Online People Forum

78

<<College name>><place>>


Online People Forum

79

<<College name>><place>>


Online People Forum

80

<<College name>><place>>


Online People Forum

81

<<College name>><place>>


Online People Forum

82

<<College name>><place>>


Online People Forum

83

<<College name>><place>>


Online People Forum

84

<<College name>><place>>


Online People Forum

85

<<College name>><place>>


Online People Forum

86

<<College name>><place>>


Online People Forum

87

<<College name>><place>>


Online People Forum

88

<<College name>><place>>


Online People Forum

89

<<College name>><place>>


Online People Forum

90

<<College name>><place>>


Online People Forum

91

<<College name>><place>>


Online People Forum

92

<<College name>><place>>


Online People Forum

93

<<College name>><place>>


Online People Forum

94

<<College name>><place>>


Online People Forum

95

<<College name>><place>>


Online People Forum

96

<<College name>><place>>


Online People Forum

97

<<College name>><place>>


Online People Forum

15. BIBLIOGRAPHY

1. Head First Java -

Vikaram singh

-

Ramnath Gowda

2. Java for Professionals

3. Software Engineering - Roger. S. Pressman 4. Database Management System - William. S. Robert 5. JSP: A Beginnerâ&#x20AC;&#x2122;s Guide - Madhu Shree Ganguli 6. JavaServerPages Programming: A visual professional guide for Design - Robert. D. Nero 7. www.netbks.com

98

<<College name>><place>>


Online People Forum

99

<<College name>><place>>


Multi-Layer_Secured_Virtual_Role-Based_Communication..pdf