Sei sulla pagina 1di 58

POLITICAL ASSOCIATION MANAGER

SESSION-2012 A project report submitted to Rajiv Gandhi Technical University, Bhopal towards partial fulfillment of the Degree of Bachelor of Engineering In Information Technology Engineering

Guided by:

Submitted by:

Prof. Yeshwant Maheshram

Manoj Mahajan Radhika Kasera Vinay Sharma

Department of Information Technology

TRUBACollege of Engineering & Technology


INDORE (M.P.)

TRUBACollege of Engineering & Technology


INDORE (M.P.)

CERTIFICATE
This is to certify that the project work entitledPOLITICAL ASSOCIATION MANAGER submitted by Manoj Mahajan, Radhika Kasera and Vinay Sharma, students of final year B.E. (Information Technology) in the year 2011-12 of Information Technology Department of this institute, is a satisfactory account of their work based on syllabus and is approved for the award of Bachelor of Engineering in Information Technology Engineering.

Internal Examiner

External Examiner

TRUBA College of Engineering & Technology


INDORE (M.P.)

CERTIFICATE
This is to certify that the Manoj Mahajan, Radhika Kasera and Vinay Sharma, students of final year B.E. (Information Technology) in the year 2008-09 of Information Technology Department of this institute have completed the project work entitled POLITICAL ASSOCIATION MANAGER based on syllabus and have submitted a satisfactory account of their work in this project.

Prof. Yeshwant Maheshram Head Information Technology Dept Information Technology TRUBA College of Engineering & Technology Indore

Prof. Yeshwant Maheshram Project Guide Information Technology Dept Information Technology TRUBA College of Engineering & Technology Indore

Dr. P.K Chande Director TRUBA College of Engineering & technology, Indore

ACKNOWLEDGEMENT
This project would not have been successful without the assistance, support and cooperation of many individuals. First and foremost we owe this moment of satisfaction with a deep sense of gratitude to Prof. Yeshwant Maheshram, our project guide and Head of Department of Information Technology. We are highly indebted to his for his invaluable guidance. He was ever-ready to support us at every stage of the project. There were many discussions held with him during the development of the project, which always ended fruitfully because of his excellent technical knowledge and Field experience. His persisting encouragement, perpetual motivation and everlasting patience during progress of project work are beyond the purview of acknowledgement. We wish to take this opportunity to pay our profound gratitude towards our respected HODfor providing copious resources for completing our project work. The amenities rendered gave us further incentive and boost to work harder towards our goal. With a blend of gratitude, delight and gratification, we convey our indebtness to all those who have directly or indirectly contributed to the successful completion of our project work. We express our sincere regards towards our respected Director Sir, Dr. P.K Chande, for furnishing us with all the facilities providing us excellent academic environment suitable for the kind of work that we have done. We are thankful to all the staff members of Information Technology Department for their inexplicable assistance, support and encouragement. Although their contribution is not directly noticeable, but without their share this project would not have reached the state it is in. Finally, we express our love and respect towards our family members who are our strength in all the work we do. The advice and support of our family members cannot be articulated in words. We are also very thankful to all our friends who have assisted us during our work. Manoj Mahajan Radhika Kasera Vinay Sharma

ABSTRACT
Establishing and maintaining a presence on the World Wide Web (Web), once a sideline for political parties, has become a key strategic aspect. Many examples have demonstrated that a well designed Web site can have a positive effect on their profitability. Enabling members and leaders to answer their own questions by clicking their way through Web pages, instead of dealing with manual operations, increases the efficiency of the user interface. One of the most challenging problems in managing large website systems is the complexity of security administration. This is particularly true for organizations that are attempting to manage security in distributed multimedia environments such as those using World Wide Web services. Today, security administration is costly and prone to error because administrators usually specify access control lists for each user on the system individually. Role-based access control (RBAC) is a technology that is attracting increasing attention, particularly for commercial applications, because of its potential for reducing the complexity and cost of security administration in large networked applications. The concept and design of RBAC is perfectly suited for use on both intranets and internets. It provides a secure and effective way to manage access to an organizations Web information. This paper describes a research effort to develop RBAC on the Web. The security and software components that provide RBAC for networked servers using Web protocols have been implemented and are described in this paper. The RBAC components can be linked with commercially available web servers, and require no modification of the server software. Our project attempts at simulating the Role based access control in a political organization according to which respective users may have privileges and rights to access the legitimate data only ,which is allowed for their role.Also another attempt is to create online interactions throught the portal to increase online presence and awareness of the organization. . Users of the system: Visitor National level State Level Administrator Local Level

In short, a organizational hierarchy is created in the web application through the access control lists defined for each role.

Table of Contents
Chapter 1: Introduction
1.1 Objective 1.2 Scope 1.3 Key Features Page No.

Chapter 2: Literature Survey Chapter 3: Analysis


3.1 Conception Phase 3.1.1 Feasibility Study 3.1.2 Problem Definition 3.2 Requirement Analysis 3.2.1 Requirement Specification 3.2.1.1 Scope 3.2.1.2 Hardware and Software Requirements 3.2.1.3 Functional Requirements 3.2.1.4 Non-Functional Requirements 3.2.1.5 Assumptions and Dependencies 3.3 Software Process model 3.4 Planning Phase 3.4.1 Project Resources 3.4.2 Project Team Organization 3.4.3 Timeline Chart

Chapter 4: Design and implementation


4.1 Design models 4.1.1 Use Case Diagram

4.1.2 State Transition Diagram 4.1.3 Data Flow Diagram 4.1.4 E-R Diagrams 4.1.5 Database Design 4.2 Screenshots

Chapter 5: Testing
5.1 Testing Objectives 5.2 Testing Principles 5.3 Testing Method

Chapter 6: Conclusion
6.1 Limitations 6.2 Difficulties Encountered

Appendix
A. Tools Used B. References

1. Introduction: 1.1 Objective: Political Party Management is a web based application that provides a platform for information sharing and acess control amongst political party, party members & followers of the party The system has features covering membership, grievances, content, events & support regarding announcement & profile management We majorly deal with the following objective: To provide a compact Content management tool for a political party

To increase the web presence of the party over the internet.

The main objective being the Role Based Access Control to the users, showing relevant data to the users depending on their roles on the portal . 1.2 Scope: It contains complete information about Party Profile and Latest happenings and programmes organized by the party. The information can be added by respective political party

1.3 Key Features: Create different system users and assign different roles with related permissions. Manage the members and data on the portal by designing a content management system Provide access control to each user to relevant data according to his defined role in the content manager user hierarchy. Would enable the party officials to collaborate with the common people as well as manage party activities. Each user would be able to take part in the discussions going on in the party through discussion forums. Events within the party would be maintained online and users and party followers would be able to view and mail them Administrator would view all the details of all the interactions on the portal through the content management module. Complaints and feedback related to party activities would also be kept track of through the application

2.

Literature Survey:

What is 'access control'? In a single-user application which is typically found on a desktop computer there is no need for any access control - the user has access to every function within the application. However, in a multi-user application which is deployed over numerous devices which are linked together in a network it is more than likely that not all functionality will be available to all users. In this situation a method is required whereby functions within the application can only be accessed by persons to whom permission has been granted. This will typically require the maintenance of the following details: A list of all the functions that are available within the system. These 'functions' are sometimes referred to as 'transactions' or 'tasks'. A list of all the persons who are allowed to access the application as a whole. These 'persons' are sometimes referred to as 'users'. Typically this information is used in a logon process through which every user must pass before gaining access to any part of the application. A list of permissions which identifies which functions are accessible by which users. o Each of these lists is normally maintained as a record within a database. Role-Based Access Control Access Control is a means by which the ability is explicitly enabled or restricted in some way (usually through physical and system-based controls) Computer-based access controls can prescribe not only who or what process may have access to a specific system resource, but also the type of access that is permitted. With Role-Based Access Control (RBAC), access decisions are based on the roles that individual users have as a part of an organization. Roles are closely related to the concept of user groups in access controls. Role brings together a set of users on one side and a set of permissions on the other whereas user groups are typically defined as a set of users. The concept of role-based access control began with multi-user and multi-application on-line systems pioneered in 1970s Introduces the concept of a role and a permission o A permission is an association between a transformation procedure and an object A permission can be thought as an object-method pair or a class-method pair in an object-oriented environment A permission can be thought as a table-query pair or a view-query pair in a database application Permissions are assigned to roles

Users are assigned to roles

Access Control policy is embodied in various components of RBAC such as Role-Permission relationships User-Role relationships Role-Role relationships These components collectively determine whether a particular user will be allowed to access a particular piece of data in the system. RBAC components may be configured directly by the system owner or indirectly by appropriate roles as delegated by the system owner. The policy enforced in a particular system is the net result of the precise configuration of various RBAC components as directed by the system owner The ability to modify policy to meet the changing needs of an organization is an important benefit of RBAC The complexity of administration is reduced through o Assigning users to roles o Assigning permissions to roles o Organising roles into a hierarchy Hierarchical RBAC It adds requirements for supporting role hierarchies. A hierarchy is mathematically a partial order defining a seniority relation between roles, whereby the seniors roles acquire the permission of their juniors, and junior roles acquire the user membership of their seniors

For the functional part of the project we talked to some of the politically active personalities in the city and tried to understand the basic hierarchy and organization of the political party and also studied some already existing websites for the political parties.Some of them include www.bjp.org www.democrats.org The websites helped us to understand the state of the art design and elements of the party portal.

3. Analysis: 3.1.Conception Phase: 3.1.1. Feasibility Study:

Feasibility study is also an essential part of analysis phase. It is very first step in analysis phase. A feasibility study is conducted the best system that need performance requirement this entrails an identification description and evolution of the system the selection of the best system for job. If the proposed system is not feasible to develop then it is rejected at the very step. In this proposed system, there are three major areas of feasibility, which should be considered, and these are given as below: a. Technical Feasibility: According to requirement analysis we decided to develop a web based system since our proposed system fulfill all objectives and functions which is essential requirement of organization and it also provide more efficient output. Technical feasibility centers on the existing computer system and to what extent it can support the proposed addition. It studies also the differences between the existing and the new system. Three considerations are associated with the issue. These are: First, the development risk, which determines whether the system can, designed so that necessary function and performance are achieved within the constraints uncovered during the analysis. Second, the resource availability in which whether the hardware and software resources are necessary to develop the system is available or not. Third technical, in which the relevant technology progressed to start the support to system. Apart from that, the proposed system can support current level of technology, which shows that the proposed system is technically feasible.

b. Economic Feasibility:

Analysis, which is also known as cost benefit analysis, is done to see whether the adoption of the system can be cost justified with cost and benefits analysis, acquiring, and operating. Each alternative system is identified and this way comparison is made first the expected of each alternative are compared with its benefits to ensure that benefit will exceed cost. Secondly that is implicit relates to the way in which the organization would spend its money other on a system object. At least two major benefits area-improving performance and minimize the cost of processing. The proposed system since based on client/server architecture in which no of clients can access this project from a centralized system. It definitely saves installation cost because installation is done only on server. c. Operational Feasibility: Once it is determined that the system is both technically and economically feasible, it has to be seen if it is operationally feasible or not. Operational feasibility is dependent upon determining human resources for the project. It refers to projecting whether the system will operate and be used if once it is installed. It considers extend the proposed system will fulfill the users requirements. That is whether the proposed system covers all aspects of the working system and whether it has considerable investments. The proposed system is also operationally feasible because it will perform all operations and objectives and provide that things which user requires. 3.1.2 Problem Definition:

Any Political Party largely, is divided into various levels depending on the structure and organization. Our project is an attempt to simulate and implement the Party organization in a web application. Many of the existing solutions for the party websites seem to be really static in nature, The main focus of the application is to serve dynamic content based on Role Based Access Control in the party hierarchy. Events, News , Press releases by a party do not have an exclusive platform. Also party membership management is another problem 3.2. Requirement Analysis:

Requirement Analysis provides the appropriate mechanism for understanding what the customer wants, analyzing needs, assessing flexibility, negotiating a reasonable solution, specifying the solution, validating the specification and managing the requirements as they are transformed into an operational system. 3.2.1. Requirement Specification:

3.2.1.1.

Scope:

The project mainly consists of 3 main modules: i. Access Control Module: o Verify the the users of the system. o Add the accepted users and assign them their respective permissions through Access Control List. o Allocate an object to the users on the basis of their roles . o Permissions range from Insert ,Update ,Edit and Delte right ofr the content on the portal. o Set and reset the user permissions on the basis of their positions and promotions. o View all the accessible objects within the portal. ii. User Management Module: o Register on the website. o Add a user on the website. o Upgrade the status of an existing user upon verification. o Assign a role to the newly created user or update the role. o Create a new user type or user role. o Edit user and user roles. o View a list of all the registered users.. o Update their details provided to us. o Delete a particular user. iii. Party Content Management Module: o Add the Events,Articles,News relevant to the party and manage their updation and deletion . o File complaints and participate in the discussion forum. o Add Press Release Documents as well as images to the gallery o Mail the dynamic content objects to multiple email addresses. iv. Account Settings Module: o Update profile o View profile o Change username and password o Set membership status

3.2.1.2.

Hardware and Software Requirements:

Hardware Requirements: Ram 1GB or more

Hard disk 16 GB. Processor Intel Pentium or more Software Requirements: Operating Environment Windows 2000 or higher Front End NetBeans 6.9 IDE Back End MySQL Language Used :Java Technology :JSP and Servlet and Hibernate 3.0 3.2.1.3. Functional Requirements:

Access Control Management: In this module, there would be facilities for the Super User or Administrator to allow user management managing role ,permissions and content creation. Membership management: This function would be helping those users or guests interested in becoming party members .After registration, the user would have to update the membership status and wait for a response from the party . Event management : To manage events created by the party . automatically retrieve the data from the Event creation: Event entry or to application form database.

Complaint Management: This section helps a particular user to lodge complaints related to party affiars directly and view their status . User account management: This section focuses on defining general functions that would be performed by a general user or party member related to his or her account . Discussion forum: User can reply to any of the thread created in the discussion forum and visible to him. . Edit and view: Profile Media resource manager: Party can post media resources predefined . Party members and general users will view all the resources being posted. Media resources can be : Press releases Photos gallery Interviews/Articles

3.2.1.4.Non-Functional Requirements: i. ii. The system should be secure as personal information of the members is entered. The system should be available 24X7.

3.2.1.5.

Assumptions and Dependencies: The user and workers are expected to be Internet literate and be able to use a search engine. The main screen of the Website will have the search function and a link to workers Information. The user is expected to be Windows literate and to be able to use button, pulldown menus, and similar tools. The portal should be simple so that people and party officials do not have to get over to party office for their work. Latest updation of any Event , Press release or any News or Article should be displayed on project. Traffic on the site should be more due to such facility. Party Profile and necessary info easily available to the public.

3.3.

Software Process Model:

The SDLC model used here is Incremental Model. Incremental model is an evolution of waterfall model. The product is designed, implemented, integrated and tested as a series of incremental builds. It is a popular model software evolution used many commercial software companies and system vendor. Incremental software development model may be applicable to projects where Software Requirements are well defined, but realization may be delayed. The basic software functionality is required early. When the elements of waterfall model are applied in iterative manner, the result is the Incremental Model. In this, the product is designed, implemented, integrated and tested as incremental builds. This model is more applicable where software requirements are well defined and basic software functionality is required early. In incremental model, a series of releases called 'increments' are delivered that provide more functionality progressively for customer as each increment is delivered. The first increment is known as core product. This core product is used by customers and a plan is developed for next increment and modifications are made to meet the needs of the customer. The process is repeated.

3.4.

Planning Phase: 3.4.1. Project Resources: Human Resources: The human resource is the human power required to develop a particular application and maintaining it.Our team for the project development and deployment consists of: i. Manoj Mahajan ii. Radhika Kasera iii. Vinay Sharma Software Resources: i. NetBeans 6.9 IDE ii. MySQL Server 5.0 iii. Adobe Dreamweaver CS5 Environmental Resources: The environment that supports the software project is often called as Software engineering environment (SEE), which incorporates hardware and software. Hardware provides a platform that supports the tools(software) required to produce the work products that are an outcome of good software engineering practice.

3.4.2.

Project Team Organization:

For this project team of 3 members Guided by Prof. Yeshwant Maheshram is made. The Team organization is as follows: Project Guide: Prof. Yeshwant Maheshram -Discussion, Review and Validation of the Project. Manoj Mahajan -Coding and Deployment. Radhika Kasera -Coding and Documentation. Vinay Sharma -Documentation and Backend.

3.4.3. Timeline Chart:


Task Requirement Gathering System Analysis System Design Coding Testing Implementation Jan Feb Mar Apr

4.1 4.1.1 4.1.1.1

Complete Design Model: Flow Diagrams: General flow Of the System: User Module: For every user that uses the system the initial flow will be as shown in the figure below:

General flow of Existing Users:

If the user is already logged in, we are providing user authentication to keep their information secure. Steps in Login Page when User clicks login link: 1) Display the login Page 2) Ask for User name and password Verify the user if the user name and password already exist in the database. For an authenticated user, homepage is displayed. Then the user can continue surfing in the site. For an invalid user, we ask the user to enter correct login and password information.

General flow of new user login: If a user wants to hire any tutor from our website, then he/she has to be a registered member in the site. There is no registration fee in our website. Steps in the new customer registration process: 1) Display the registration page 2) Check whether any required field contains null value. If yes, display error page. If not go to step 3. 3) Check whether user has entered the required fields correctly. If yes, the user has successfully registered with our site. If not, it will display the error page. Whenever a user logs in, a unique session variable is created for the user and when the user logs out, the session variable is destroyed ensuring the safety of the users information.

4.1.2

Use-case Diagram: The Use case diagram is used to identify the primary elements and processes that form the system. The primary elements are termed as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case. A use case diagram captures the functional aspects of a system. More specifically, it captures the business processes carried out in the system. As you discuss the functionality and processes of the system, you discover significant characteristics of the system that you model in the use case diagram. Due to the simplicity of use case diagrams, and more importantly, because they are shorn of all technical jargon, use case diagrams are a great storyboard tool for user meetings. Use case diagrams have another important use. Use case diagrams define the requirements of the system being modeled and hence are used to write test scripts for the modeled system

Use-case Diagram For Admin:

Use-case Diagram for National level user:

Use-case Diagram for State level user:

Use-case Diagram for Local level user:

4.1.3 Data Flow Diagram: A data flow diagram (DFD) is used to described the logical operation of system i.e. what a system does, DFD shows the flow through a system and the work or processing performed by that system. DFD only represent the flow of data through the system and to dont describe the physical functioning of the system. It is a graphical representation of the "flow" of data through an information system, modeling its processaspects. Often they are a preliminary step used to create

an overview of the system which can later be elaborated. DFDs can also be used for the visualization of data processing (structured design). A DFD shows what kinds of data will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel There are only four symbols: The first level DFD shows the main processes within the system. Each of these processes can be broken into further processes until you reach pseudocode. 1.Squares representing external entities, which are sources or destinations of data. 2.Rounded rectangles representing processes, which take data as input, do something to it, and output it. 3.Arrows representing the data flows, which can either be electronic data or physical items. 4.Open-ended rectangles representing data stores, including electronic stores such as databases or XML files and physical stores such as or filing cabinets or stacks of paper.

LEVEL 1.

LEVEL2

LEVEL 3

4.1.4

Class Diagram: Class diagram is the most widely used diagram in modelling object-oriented system. A class diagram shows a set of classes, interfaces, associations and generalizations. Package is commonly used model element for organizing elements in class diagram. Class diagrams are not just for visualizing and documenting structure models but also for constructing executable system with forward, reverse and round-trip engineering. There is also a synchronization engine for generating and updating entity relationship diagram from class diagram. class diagram is to show the types being modelled within the system. In most UML models these types include: a class an interface a data type a component.

::acl.demo.util
SetUpACLDem oData accessControlListManager : AccessControlListManager userManager : UserManager userTypeAdm : UserType in userTypeDE : UserType userTypeLoc : UserType userTypeManager : UserTypeManager userTypeNat : UserType userTypeSA : UserType userTypeStat : UserType saveUserType(...) editACL(...) m ain(...) saveACL(...) saveUser(...) setUp(...) setUpACL(...) setUpUsers(...) setUpUserType(...) Main ourSessionFactory : SessionFactory getSession(...) m ain(...) HibernateUtil session : Session sessionFactory : SessionFactory getSession(...)

: : a c l.d e m o .e n tit y
F o ru m s e ria lV p u b lic p u b lic p u b lic F o ru m C o m m e n ts E v e n ts e r s io n U I D : loenr g lV s ia : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic A r t ic le s e : : : C o m p la in ts P r o f i le S peec h P r e s s R e le a s e G a lle ry N ew s

e rs io n U I D : lao dn dg e d b y : S tr in g s e ri a lV e r s io n U I D : lo en ria lV e r s io n U I D : lo s g : @ O v e rr id e a d d e d o n : D a t e p u b lic : @ O v e r rid e p u b lic : @ O v e r rid e : @ O v e rr id e s e r ia lV e rs io n U I D : lo un bg lic : @ O v e r rid e p u b lic : @ O v e r rid e p : @ O v e rr id e ( : @ C o lu m n p u b lic : @ O v e r rid e p u b lic : @ O v e r rid e ( : @ T e m p o ra l @ G e n e r a te d V a lu e @ . .G) e n e r a te d V a lu e @. . .G) e n e ra t e d V a lu e @. . .G) e n e r a t e d V a lu e @ . .G) e n e r a te d V a lu e @ . .G) e n e r a te d V a lu e @. . .G) e n e ra t e d V a lu e (( . :. . @ C o lu m n (. ( ( (. (. ( ) @ C o lu m n (. . . ) @ G e n e r a te d V a lu e ( . ) : T e m p o ra lT y p e . T @I M GE eS n Te Ar aMteP d V a lu e e(. q. . u) a ls ( . . . ) e q u a ls ( . . . ) e q u a ls ( . . . ) e q u a ls (. . . ) e q u a ls ( . . . ) e q u a ls ( . . . ) e q u a ls ( . . . ) e q u a ls (. . . ) ) : "addedon" g e t A d d e d b y (. . . ) g e t A d d e d b y ( . . . ) g e tC r e a te d b y ( . . . ) g e tA rt ic le D e s c ( . . . ) g e t A d d e d b y (. . . ) g e t A d d re s s ( . . . ) g e t S p e e c h (. . . ) e q u a ls ( . . . ) g e t N e w s H tm l( . . . ) ) : 25 g e t C re a t e d o n ( . . . ) g e t C o m m e n tD e s c ( .g. .e) tE v e n t D e s c (. . . ) g e tA rt ic le T itle (. . . ) g e t C o m p la in t (. . . ) g e t C it y ( . . . ) h a s h C o d e (. .. ) g e t I m a g e (. . . ) h a s h C o d e (. . . ) , : " a d d e d b y" g e t T o p ic D e s c (. . . ) g e t C o m m e n tO n ( . . . )g e tE v e n t L e v e l( . . . ) g e tC a te g o ry I d ( . . . ) g e t C re a t e d o n ( . . . ) g e t C o u n tr y ( . . . ) s e tS p e e c h (.. .) g e t I m a g e D e s c (. . . ) s e tN e w s H t m l(. . . ) h a s h C o d e (. . . ) g e t C r e a t e d o n ( . . . ) g e tE v e n t L o c ( . . . ) g e tC re a te d b y (. . . ) h a s h C o d e (. . . ) g e t D e g r e e (. . . ) s e t S p e e c h I d (. . . ) = : n a m e h a s h C o d e (...) s e tN e w s I d (. . . ) = : le n g th s e tA d d e d b y ( . . . ) h a s h C o d e (. . . ) g e tE v e n t N a m e ( . . . ) g e tD a t e P o s t e d ( . . . ) s e tA d d e d b y ( . . . ) g e tD o b (...) to S t rin g ( . . . ) s e tI m a g e ( . . . ) t o S t rin g (. . . ) = : nam e s e tC r e a te d o n (. . . ) s e tA d d e d b y (. . . ) h a s h C o d e (. .. ) h a s h C o d e (...) s e tC o m p la in t( . . . ) g e t E m a il(. . . ) s e tI m a g e D e s c ( . . . ) p u b lic : @ O v e rr id e s e tI m a g e id (. . . ) s e tT o p ic D e s c ( . . . ) s e tC o m m e n t D e s c (.s. .e) t C re a t e d b y (. . . ) s e t A r tic le D e s c ( . . . ) s e tC o m p la in tI d (. . . ) g e t F n a m e ( . . . ) p u b lic : @ O v e rr id e t o S tr in g (. . . ) s e tT o p ic I d ( . . . ) s e tC o m m e n t I d ( . . . ) s e t E v e n tD e s c ( . . . ) s e t A r tic le I d ( . . . ) s e tC r e a te d o n (. . . ) g e t G e n d e r (. . . ) p u b lic : @ O v e rr id e t o S t r in g (. . . ) s e tC o m m e n t O n (. . . ) s e t E v e n tI d ( . . . ) s e t A r tic le T it le ( . . . ) t o S t r in g (. . . ) g e t J o in a s ( . . . ) s e tC re a t e d o n ( . . . ) s e t E v e n tL e v e l(. . . ) s e t C a t e g o r y I d (. . . ) g e tL n a m e (.. .) t o S t rin g (. . . ) s e t E v e n tL o c (. . . ) s e t C r e a t e d b y ( . . . ) g e t M o b ile (. . . ) @ G e n e ra t e d V a lu e (. . . ) s e t E v e n tN a m e (. . . ) s e t D a te P o s te d ( . . . ) g e t O c c u p a t io n ( . . . ) e q u a ls ( . . . ) to S t rin g ( . . . ) to S tr in g ( . . . ) g e t P h o n e (. . . ) g e tA d d e d b y (. . . ) g e t P o s t a lc o d e ( . . . ) g e tA d d e d o n ( . . . ) g e t S u b je c t( . . . ) g e tP rD a ta ( . . . ) g e t U s e r I d (. . . ) g e tP rI d ( . . . ) h a s h C o d e (. . . ) g e tP rN a m e (. . . ) A c c e s s C o n t ro lL is t s e tA d d r e s s (. . . ) h a s h C o d e (.. .) s e tC ity (. . . ) P r e s s R e le a s e (. . . ) id : L o n g s e tC o u n t ry (. . . ) P r e s s R e le a s e (. . . ) p e r m is s io n : P e rm is s io n s e tD e g r e e ( . . . ) s e tA d d e d b y (.. .) u s e rT y p e s e tD o b ( . . . ) s e t A d d e d o n (. . . ) s e tE m a il( . . . ) s e t P r D a t a (. . . ) s e tF n a m e (. . . ) s e tP rId (. .. ) M a il s e tG e n d e r( . . . ) s e tP rN a m e (.. .) U ser s e tJ o in a s (. . . ) to S tr in g ( . . . ) s e tL n a m e (. . . ) f r o m : S t rin g s e tM o b ile ( . . . ) m e s s a g e : S t r in g id : L o n g s e tO c c u p a tio n (. . . ) : : < < U n k n o w n > > : : j a v a x . m a i l . A u t h e n t i c a t o r s m t p S e rv : S tr in g U s e r S e s s i o n p a s s w o rd : S t r insge tP h o n e ( . . . ) s u b je c t : S t r in g u s e rn a m e : S t rin g o to : S tr in g u s e rT y p e : U s e rsTe ytPp e s t a lc o d e ( . . . ) lo g in T im e : D a t e ( : @ M a n y T o O ns ee tP ro f ile I d (. . . ) user : U ser < < in t e rf a c e > > ( : @ J o in C o lu m ns e tS u b je c t (. . . ) g e tF ro m ( . . . ) s e tU s e rI d ( . . . ) : : < < U n k n o w n > > : : S e r ia liz a b le ( : @ C o lu m n g e tM e s s a g e ( . . . ) g e tL o g in T im e ( . . . ) ) : " U S E R _ T Y P tEo _S ItDrin" g (. . . ) g e tS m t p S e r v ( . . . ) g e tU s e r( . . . ) ) : U s e r T y p e . c la s s g e tS u b je c t ( . . . ) s e t L o g in T im e (. . . ) ) : " I D " g e tT o ( . . . ) s e t U s e r (. . . ) = : name s e n d M a il( . . . ) M a i l . S M T P A u t h Ee m tai ci l a t oi t rh P d f . S M T P A u t h e n t i c a t o r n W = : name s e t F r o m (. . . ) = : ta r g e t E n t it y s e t M e s s a g e (. . . ) U s e rT y p e @ G e n e r a te d V a lu e : @ I d p u b lic : @ O v e rr id e p u b lic : @ O v e r rid e s e t S m tp S e rv (. . . ) s e t S u b je c t( . . . ) s e t T o (. . . ) < U s e r> : L is t @ C o lu m n (. . . ) g e tP a s s w o r d A u th e n gt ic taP t a sns (w . .o) rd A u t h e n tic a tio n ( . . . ) e io . id : L o n g @ C o lu m n (. . . ) ty p e : S t rin g g e tId (. .. ) ( g e t U s e rT y p e ( . . . ) = : u s e rs s e tI d (. . . ) A r ra y L is t : n e w s e tP a s s w o r d (. . . ) s e tU s e r n a m e (. . . ) s e tU s e r T y p e (. . . ) t o S t rin g (. . . )

e r s io n U I D : lo en ria lV s g : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic

e rs io n U I D : lsoenr g lV ia : @ O v e rr id e p u b lic : @ O v e rr id e p u b lic : @ O v e rr id e p u b lic

rs io n U I D : lo en ria lV s g @ O v e rr id e p u b lic @ O v e rr id e p u b lic @ O v e rr id e p u b lic

e r s io n U I D : lo en ria lV s g : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic

e r s io n U I D : loenr g lV s ia : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic : @ O v e r rid e p u b lic

: : a c l. d e m o . m a n a g e r
B aseM anager d e le te E n tity(... ) g e tE n tity(.. .) g e tE n tity(.. .) lis tA ll(... ) s a v e E n tity(... ) u p d a te E n tity (.. .)

E v e n ts M a n a g e r ( : lis tA ll <E v e n ts > : L is t th ro w s : ) { : E xc e p tio n d e le te (.. .) g e t(. ..) lis tA ll(. ..) n e w E v e n ts (.. .) s a v e (. ..) u p d a te (... )

F o ru m C o m m e n ts M a n a g eFro r u m M a n a g e r ( : lis tA ll ( : lis tA ll <F o ru m C o m m e n ts > : L is t <F o ru m > : L is t th ro w s : ) th ro w s : ) { : E xc e p tio n { : E x c e p tio n d e le te (. .. ) d e le te (... ) g e t(... ) g e t(.. .) lis tA ll(... ) lis tA ll(.. .) n e w F o ru m C o m m e n ts (... ) n e w F o ru m (.. .) s a v e (... ) s a v e (.. .) u p d a te (.. .) u p d a te (. ..)

A c c e s s C o n tro lL i s tM a n a A e ric le s M a n a g e r g rt ( : lis tA ll ( : lis tA ll <A c c e s s C o n tro lL is t> : L is<A rtic le s > : L is t t th ro w s : ) th ro w s : ) { : E xc e p tio n { : E xc e p tio n a llo w D e le te (. ..) d e le te (. .. ) a llo w D e le te (. ..) g e t(... ) a llo w In s e rt(... ) lis tA ll(... ) a llo w In s e rt(... ) n e w A rtic le s (. .. ) a llo w U p d a te (... ) s a v e (... ) a llo w U p d a te (... ) u p d a te (.. .) a llo w V ie w (. ..) a llo w V ie w (. ..) d e le te (.. .) g e t(. ..) lis tA ll(. ..) n e w A c c e s s C o n tro lL is t(.. .) s a v e (. ..) u p d a te (... )

C o m p la in t s M a n a g e r ( : lis tA ll <C o m p la in ts > : L is t th ro w s : ) { : E x c e p tio n d e le te (.. .) g e t(.. .) lis tA ll(.. .) n e w C o m p la in ts (.. .) s a v e (.. .) u p d a te (. ..)

P ro f ile M a n a g e r

U s e rM a n a g e r ( : lis tA ll <U s e r> : L is t th ro w s : ) { : E x c e p tio n d e le te (... ) g e t(.. .) lis tA ll(.. .) n e w U s e r(.. .) s a v e (... ) u p d a te (.. .)

U s e rT y p e M a n a g e r ( : lis tA ll <U s e rT y p e > : L is t th ro w s : ) { : E x c e p tio n d e le te (.. .) g e t(.. .) lis tA ll(.. .) n e w U s e rT yp e (. ..) s a v e (.. .) u p d a te (. ..)

G a ll e r y M a n a g e r ( : lis tA ll <G a lle ry > : L is t th ro w s : ) { : E xc e p tio n d e le te (. ..) g e t(... ) lis tA ll(... ) n e w G a lle ry (.. .) s a v e (. .. ) u p d a te (... )

N e w sM ana ge r ( : lis tA ll <N e w s > : L is t th ro w s : ) { : E x c e p tio n d e le te (... ) g e t(.. .) lis tA ll(.. .) n e w N e w s (... ) s a v e (... ) u p d a te (.. .)

P r e s s R e le a s e M a n a ( : lis tA ll <P re s s R e le a s e > : L is t th ro w s : ) { : E x c e p tio n d e le te (.. .) g e t(. ..) lis tA ll(. ..) n e w P re s s R e le a s e (... ) s a v e (. ..) u p d a te (. .. )

( : q u e ry .a p p e n d ( : lis tA ll ) : " '" + : " p . u s e rId = '" +:z <P ro file > : L is t p ro f : P ro f ile p ro f : re tu rn th ro w s : ) { : E xc e p tio n d e le te (. ..) g e t(. .. ) lis tA ll(. .. ) n e w P ro file (... ) s a v e (. ..) u p d a te (... )

: : a c l . d e m o . e n tity : : P ro f ile s e ria lV e rs io n U I D : lo n g p u b lic : @ O v e rrid e p u b lic : @ O v e rrid e p u b lic : @ O v e rrid e @ G e n e ra te d V a lu e (. ..) e q u a ls (. ..) g e tA d d re s s (.. .) g e tC ity(. .. ) g e tC o u n try(... ) g e tD e g re e (... ) g e tD o b (.. .) g e tE m a il(. .. ) g e tF n a m e (. ..) g e tG e n d e r(... ) g e tJ o in a s (.. .) g e tL n a m e (. ..) g e tM o b ile (. ..) g e tO c c u p a tio n (.. .) g e tP h o n e (. ..) g e tP o s ta lc o d e (.. .) g e tS u b je c t(.. .) g e tU s e rId (.. .) h a s h C o d e (. ..) s e tA d d re s s (.. .) s e tC ity (. ..) s e tC o u n try(... ) s e tD e g re e (. .. ) s e tD o b (... ) s e tE m a il(. ..) s e tF n a m e (.. .) s e tG e n d e r(. .. ) s e tJ o in a s (.. .) s e tL n a m e (.. .) s e tM o b ile (.. .) s e tO c c u p a tio n (.. .) s e tP h o n e (.. .) s e tP o s ta lc o d e (... ) s e tP ro file I d (.. .) s e tS u b je c t(... ) s e tU s e rI d (.. .) to S trin g (.. .)

: :a c l.d e m o .s e rv le t

:: < < U n k n o w n > > : : H t t p S e r v le t

L o g o eu td S i t e P r rdv o el f e il l te e t pe d i P c e rS l oe e f t ire lv es A l aS e r v te i e cr vA l e le re Std ti eci trlA ev rSl set iea ct rv l ve e lS eT det o er p v l ie lc e t Set eT dr o v i pt l Te i c ot S p ei c r vS le e d r t ve l e t e u E p v d e a n t te S sE ea v rv e v e nl re t e s t p S S l ey a Sr v e le er Av t cdl e le tS l ee t r e v s Nl ae evt we Ns Se e de w ir t sv N Sl e e twdr vsi t l SCe ote d mr ve pl e l a t ei n sC ta oS v me e rp C v l S aol ea im nt v pt e S l aU e si srna ve t v Sl r e eT e t P yr evpr odle e f i S ti l P e rSr s ov ae f l veir l vet lSPe s etr a e r v s esl e RI tmd e e a l el g e a e t s eS e Ue d rs i v et ul re Sp t aSe v er ve r vlR e le te d tg i it s U t r sS a e a t riv oS e ne U Sr L v seo l e r g vrt i S nl e eS t r e v r l ve l t e t d o G e t ( p . . r . o ) t e c tp e r do t :e @ c at eO c d vlM e: a@r r nida aO ce g vl Me e r ra r :nid aA ae c cg l ceM e r a s: ns Aa aC c g o c lMe n e r t asr : o ns AalCaL c gois lMent eMrt ras :o ans l aACnLa c aciogsl gc Mten Me rt ar rsoa:n s nAlLaC a cig os gcetn eMrt r s: ao s AnalLC c a iso cglMnt eM t asr ao ns al CnaL acgois glMent eM rt ra r:o an l aAnLa caci gsl gc Mte Me r a rs a:n s nA aC a cgao gcecn e crt r es: o s AslLCs c isoC c nto eaM nt src aots lMr lCno L al oisaL g ntiseMa ta tr rMco ga l enMLa rain as g:atn MAaeg a crceag l crMne e:a ra sAg: sn eacA Ca rc cg o elMec n s er tsa rs: oCn sA la aoCL c gniso clMentr eM ro t sar :lLoasn AlnCaisaL acoti g MsgclMnet eMatr r raso:n asn alLAnaCa g aic osge cglMnt e rMe tr r rasao: sn nlLAaCa ac isog gl c ntMe eMe tr ar sao:ns lLnaA Ca ac cisgo gl ceMnt eM er tar sa: o ns AlPn aCL acRgiso g c netM Me r t ars :ao snAGlnC La cMa oisg gc enat eM tnr rs oa: asu l PgnLCs eari eoser gtrn sM e: ts r Gr oRa u nlLa se allielese gr t rMa eMy s rMa aeu :nnaMs Ua ean ag srga Mne eg ar earMgu: nr s eaU ae r nsgr Mae gr aM eu :n s raUa e n g sr a eM g r aMeu: n rs aU ae nsgr Mae gr aM e :n raUa n g s a e g r Me : r aU ns ae gr c t d o P o s t p ( r. o. . t) e c tp e r do t :e @ c at eO r dt vic e: le @r rs idaMO re ta vi c ne lear r gsid Ma e e r r ta i : cn Al a e rgs t MicFe or lea : r nsu A aMm r gtaMi Fec n arleo a nr: gsu aAMme g r r teaM i Fcnr aolea: rngFus a Memo g r Maue nmr a a: Mn gFa eao g rn eu ae r mvg : Me F rn oa t rns u aMe m gva Me n r na t ng s aMFe gro ae:r un r E am v gc e e o n r mDt : s mME: e Sv a net n rtni sa n tMgs MNea r nea wan ga s e gM reN a :r en F wa o gsr ueM mNr a e:C n Nwo a mseg Mwem C rs ae Mo: n mN at a sgepn M wle a raCgis n: eoM t aNrms ag Me pn e wla ar nsCgi nMaeo t gsram eM np r a la: gnu iC neas ot ergs m erM T pr ayl : apPn C i eanr o Mgt sf mei aMlepr nMa:laPa nC iagrn aon et gfsamir eleMg:p r eMUalau r nasi n: ane tPgrsa T er Mgo y refaup iler sen :e Ma M P rg Ta r eo ny r ufap ail sege eMeM r rTr a :ynn uUpaa seggs e eM e r rTraT : yn y uUp ap sesge eMe M r rTrTa a :yny nuUpap ase egsge eM Mre rT arTa : yn ny uUp apasesgegeMe Mer r rTar a :ny n Upap a e egs g MeM e r arTa : n ny U apa sgeg e Me r r rT a : yn U p a es g eM e r rTa e x e c u t p e u ( . b . . lic) p: @u b Ol ic v e: r@ r id O e v e r r id e f o r u m m a n I a : gS e t r i n : g F o r u m M a n a g e r d o G e t( ...) U : S t r i n g d o G e t ( .d . . o ) G e t ( .d . o. ) G e t ( .d . .o ) G e t ( . d . . o ) G e t ( . d . . o) G e t ( . d . . o ) G e t ( . d . o. ) G e t ( .d . .o ) G e t ( .d . .o ) G e t ( d. . o. ) G e t ( d. . o. ) G e t ( d. . o. ) G e t ( d. . o. ) G e t ( d. . o. )G e t ( d. . o. ) G e t ( d. . o. )P o s t ( . . . ) d o G e t ( .d . .o ) G e t ( . d . .o ) G e t ( .d . .o ) G e t ( .d . . o) G e t ( . d . . o ) G e t ( . . . ) d o G e t ( .d . . o) G e t ( . . . ) p r o c e s p s Rr o ec q e us d se oRs Pt e( .o q. .s u) t d(e . o.s . tP ) ( .o . .s ) t (d . .o . P) o s t (d . o. . )P o s t d( . .o . )P o s t d( . o. . P ) o s t ( . . . ) d o P o s t d( . .o . )P o s t d( . o. . G ) e t ( . . . )V : S t r i n g d o P o s t d( . .o . )P o s t d( . o. .P ) o s t (d . o. . )P o s t d( . o. . ) P o s t d( . . o . ) P o s t d( . . o . ) P o s t d( . o. . P ) o s t (d . o. . P) o s t (d . o. . )P o s t d ( . o . . P ) o s t d( . o . . P) o s td ( . o . . P ) o s t d( . o . . P) o s td ( . o . . P ) o s t d( . o . . P) o s te ( . x . . e ) c u t e ( . . . ) d o G e t ( d . . o. ) G e t ( e . . x . e) c u t e (x .e . . c) u t e e (x . . e . )c u t e (x . .e . c) u t e ( x. e. . c) u t e (x .e . . c) u t e ( . . . ) e x e c u t e ( x. e. . c) u t ed (o . P. . )o s t ( . . . ) e x e c u t e ( x . e. . )c u t e x( . e. . c) u t e (x . .e . c) u t e ( x . e. . c) u t ee ( x. e. . c) u t e ( x . e. . ) c u t e x( . e . . c) u t e (x . .e . )c u t e (x . .e . c) u t e x( . e . . c ) u t e x( . e. . c) u t e x( . e . . c ) u t e x( . e. . c) u t e x( . e . . c ) u t e x( . e. . c ) u t e ( . . . ) d o P o s td ( . o . . P ) o s t ( . . . ) e x e c u t e ( .d . .o ) G e t ( . . . ) g e t S e r gv l e e t tS I n e f ro v ( le. . . t )I n f o ( . . . ) d o P o s t(. ..) e x e c u t e (...) is C h e c k b o x C h e c k e d ( . . . ) is C h e c k b o x C h e c k e d ( . . . )

: : a c l . d e m o . m a n a g e r : : A r t i c : :l ea sc M l . d a e n ma og : .e: ma r c a l n. d a e g me or : : : . amF co a lr .n u d a m e g mM: e : aor : c.n: mE l a . avdg ne e anmr gt o s e .M mr : a: a A n n c :a a: c ga g e ec e s rl r . s:d :C Fe o m nr ou t r.mo m l C aL o ni sm a t Mgm e ea r n : :ta Ns g Me e w ar : ns: aMa cg a l e .n dr a e g: m: e a or c . ml . d a e :n :m aa ogc . el m. r d :a : e: : Pnam rac oe gl .s emds reR:a :m naeC aclo oe gl. ma.m ed sp :are :el: na:m MG aci on agal .t nedlms l earMe a : rgm: nay Ue oMan rs .ga a me eg n ra rTe a : n r:yg Ua p e gse r e eM r r : Ma : Pn a ar n o g a f ei g l re e Mr a n a g e r ( : li s t < A r t ic t h ro w { : E x A ll le s > : L i s t s : ) c e p tio n ( : li s t A ll < F o ru m > : L th ro w s : ) { : E x c e p tio d e le t e ( . . . ) g e t(.. .) l is t A ll ( . . . ) n e w F o ru m ( s a v e (...) u p d a te (... ) ( : l is t A i< s E t v e n th ro w s n{ : E x c d e le te ( g e t(. ..) lis t A l l( . . . .n . )e w E v s a v e (.. u p d a te ll ( : l is t A t s > : L< Ais ct c e : ) th ro w s e p t io n{ : E x c ...) .) e n ts .) (. ..) ll ( : l is t A ll s s C < o F n o t r ou l mL isC t o > m : m L e i s n t t s : ) t h ro w s : ) e p t { io : n E x c e p t i o n ( : lis t A l l <> N : eL w is st > : L is t th r o w s : ) { : E x c e p t io n ( : l is t A < P re s s th ro w s { : E xc ll ( : li s t A l l ( : li s t A ll ( : l is t A ll ( : lis t A l (l : q u e r y . a p p e n d R e < leC a o sm e p> la <: inLG t isas >t ll e : r yL< >i U s t: s Le isr T t y <p U e s> e : r >L ( i : s: t L li i s s t tA l l : ) t h r o w s : t ) h r o w s :t h ) r o w s : t ) h r o w s ): : ) " ' " e p {t io: n E x c e p{ t :i o E n x c e { p : t i Eo nx c e p{ t : io E n x c e + p :t io" p n . u s e r I d = ' " + : z d e l e t e ( . . . )d e le t e ( . . .d ) e le t e ( . d. . e) l e t e ( . . d. ) e le t e ( . <. . P ) r o f il e > : L i s t g e t ( . . . ) g e t ( . . . ) g e t ( . . . ) g e t ( . . . ) g e t ( . . . ) p r o f : P r o f i le lis t A l l( . . . ) l is t A ll ( . . . ) l is t A ll ( . . . li) s t A l l( . . . ) li s t A ll( . . . p ) r o f : r e t u r n n e w P r e s sn R e ew leC a o sm en p( e .la. w . )in G t as ( lln. . e e . r) wy ( U. . . s) e n r Te yw p U e s( . te. h . r ) ( r . o . w. ) s : ) s a v e ( . . . ) s a v e ( . . . ) s a v e ( . . . )s a v e ( . . . ) s a v e ( . . . { ) : E x c e p t io n u p d a t e ( . . u. ) p d a t e ( . u. . p) d a t e ( u. . p . )d a t e ( . u . . p ) d a t e ( . . . ) d e le t e ( . . . ) g e t(...) l is t A ll ( . . . ) n e w P r o f il e ( . . . ) s a v e (...) u p d a te (...)

d e le t e ( . . . ) g e t(.. .) l is t A ll ( . . . ) n e w A r t ic le s ( . . . ) s a v e (...) u p d a te (... )

a ll o w D e le d t e e ( l. e. . t ) e ( . . . ) d e le t e ( . . . ) a ll o w D e le g t e e ( t. (. . . .) . ) g e t(...) a ll o w I n s e r l t is( . t . A . ) l l( . . . ) li s t A ll( . . . ) ( a . . ll. o) w I n s e r n t ( e . . w . ) F o r u m C o m m e n et s w ( . N. . ) e w s ( . . . ) a ll o w U p d as t a e v ( . e . . ( .) . . ) s a v e ( ...) a ll o w U p d au t p e d ( . a . . t )e ( . . . ) u p d a te (...) a ll o w V ie w ( . . . ) a ll o w V ie w ( . . . ) d e le te ( ...) g e t( ...) li s t A l l( . . . ) n e w A c c e s s C o n t r o l L is t ( . . . ) s a v e (.. .) u p d a te (. ..)

4.1.5

E-R Diagram:

An entity-relationship model (ER model for short) is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a top-down fashion. Diagrams created by this process are called ER diagrams. Data models are tools used in analysis to describe the data requirements and assumptions in the system from a top-down perspective. They also set the stage for the design of databases later on in the SDLC. There are three basic elements in ER models: a. Entities are the "things" about which we seek information. b. Attributes are the data we collect about the entities. c. Relationships provide the structure needed to draw information from multiple entities. Entity An entity is an object or concept about which you want to store information. Here, payment , admin, parent and NGO are entities.

Key attribute A key attribute is the unique, distinguishing characteristic of the entity. For example, Tid is the unique key attribute in the diagram.

4.2

Screenshots of the System:

Home Page:

User home:

Usertype:

User.jsp

Events.jsp:

Forum .jsp:

Coding:

The coding of the project is done by using Java Technology. The components which we have used are JSP and SERVLETS. Also, we have used CSS for Designing and JavaScript for validations.Hibernate 3.0 framwork has been used to support Object Relational Mapping methodology.For source code refer the appendix.

Testing: 6.1 Testing Objective: Software testability is simply how easily a computer program can be tested. Since testing is so profoundly difficult, it pays to know can be done to streamline it. Sometimes programs are willing to do things that will help the testing process, and a checklist of possible design points, features, and so on can be useful in negotiating with them. The checklist provides a set of characteristics that leads to testable software are: Operability. Operability. Controllability. Decomposability. Simplicity. Stability. Understandability. 6.2 Testing Principle: White Box Testing:White box testing sometimes called glass-box testing is a test case design method that uses the control structure of the procedural design to drive test cases. Using white-box testing methods, The software engineer can drive test cases that: Guarantee that all independent paths within a module have been exercised at least once. Exercise all logical decisions on their true and false sides Execute all loops at their boundaries and within their operational bounds. Exercise internal data structure to assure their validity. Black Box Testing:Black box testing focuses on the functional requirements of the software. That is, black box testing enables the software engineer to drive sets of input condition that will fully exercise all functional requirements for a program. Black box testing is not an alternative to white-box techniques. Rather, it is complementary approach that is likely to uncover a different class of errors than white-box methods. Black box testing attempts to finds errors in the following categories: Incorrect or missing function. Interface errors. Errors in data structures or external data-base access Performance errors. Initialization and termination errors. Basic Path testing:-

Basic path testing is a white box testing technique. The basic path method enables the test case designer to device a logical complexity measure of a procedural design and uses this measure as a guide for defining a basic set of execution paths. Test cases derived to exercise the basis set are guaranteed to execute every state in the program at least one time during testing. Some points about which some information is necessary before basis path testing are: Flow graph notation. Cycloramic complexity Deriving test cases Graph matrices. Validation test: Validation succeed when software function in a manner that can be reasonably expected by the customer. The software has been validation to successfully the requirements.

6.3 Testing Methods: We follow linear sequential model: the linear sequential model suggest a systematic, sequential approach to S/W development that been at the system level and progresses through analysis, design, coding, testing and support.

System/Information Design Engineering Analysis

Code

Test

Once code has been generated, program testing begins. The testing process focused on the logical internals of the softwares, ensuring that all statements have been tested, and on the functional externals, that is conducting tests to uncover error and ensure that a define input will produce actual results that agree with required result. Condition Testing:

Condition testing is a test case design method that exercise the logical conditions contain in a program module. E1<relation operator>E2

Where E1 and E2 are arithmetic expressions and <relation operator > is one of the following <, <=, =, none equally, or >=. A compound condition is a composed of two or more simple condition, Boolean operators and parenthesis. We are follow condition testing with all Boolean operators. Loop Testing: Loop testing is a technique that focuses exclusively on the validity of loop construct. Testing GUIs: Graphical user interface present interesting challenges for S/W engineers because of reusable components provided as part of GUI development environment. Unit Testing: The module interface is testing to ensure at information properly follows into an out of the program unit under test. Integration Testing: Once all modules have been unit tested if they all work individually, why do you doubt that they will work, when they we put them together?

o o o

Validation Testing: A final series of Software tests validation testing may be used. Validation can be defined in many ways, but a simple definition is that validation succeeds when S/W in a manner that can be reasonably expected by the customer o We did manual testing for all the pages so that all the links work fine. o We did manual testing for all the pages that asks the users to provide personal data. We restricted the access of users from unauthorized areas. We checked the flow of information from one module to another. We validated the user input data in the form.

7 Conclusion: 7.1 Limitations: Payment module has not been implemented. Back office is required for supporting illiterate users of the system. Provides home tutors only for Indore. GUI is only in English. Login and password is used for the identification of users. Only registered users will be authorized to use the services. 7.2 Difficulties Encountered: Understanding the requirements with full efficiency. Database Connectivity Data corruption due to viruses Less information of political party and RBAC over internet. 7.3 Future Enhancements: Automated SMS and Email facility. Application on Mobile device. Reports Generation facility

APPENDIX

A. Tools Used:
After looking at the existing system and reviewing its long term goals, we decided to move to Client Server Architecture. In our project we have used Apache Tomcat server integrated with NetBeans 6.9 using Java Technology. In the backend, we have used MySQL Database for storing persistent information which provides reliable data warehousing. The features and description of the technologies used are given under following headings: Glassfish Server: GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception. GlassFish is the Reference implementation of Java EE and as such supports Enterprise JavaBeans, JPA, JavaServer Faces, JMS, RMI, JavaServer Pages, servlets, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services. GlassFish is based on source code released by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java New I/O (NIO) for scalability and speed. NetBeans IDE: NetBeans IDE is an open-source integrated development environment. NetBeans IDE supports development of all Java application types (EJB and mobile applications) out of

the box. Among other features are an Ant-based project system, Maven support, refactoring,version control. All the functions of the IDE are provided by modules. Each module provides a well defined function, such as support for the Java language, editing, or support for the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules. The NetBeans IDE Bundle for Web & Java EE provides complete tools for all the latest Java EE 6 standards, including the new Java EE 6 Web Profile, Enterprise Java Beans (EJBs), servlets, Java Persistence API, web services, and annotations. NetBeans also supports the JSF 2.0 ,JavaServer Pages (JSP), Hibernate, Spring, and Struts frameworks, and the Java EE 5 and J2EE 1.4 platforms. It includes GlassFish and Apache Tomcat. Some of its features with javaEEincludes Improved support for CDI, REST services and Java Persistence New support for Bean Validation Support for JSF component libraries, including bundled PrimeFaces library Improved editing for Expression Language in JSF, including code completion, refactoring and hints.

JSP and Servlets Technology: JavaServer Pages (JSP) is a technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types, JSP is similar it uses the Java programming language. To deploy and run, a compatible web server with servlet container is required. The Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems and the JCP (Java Community Process) must both be supported by the container. Apache Tomcatis a widely used servlet container/web server. Features of JSP and Servlets: JavaServer Pages (JSP) technology enables Web developers and designers to rapidly develop and easily maintain, information-rich, dynamic Web pages that leverage existing business systems. As part of the Java technology family, JSP technology enables rapid development of Web-based applications that are platform independent. JSP technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the underlying dynamic content. Use JSP technology without having to learn the Java language: You can use JSP technology without learning how to write Java scriplets. Although scriptlets are no longer required to generate dynamic content, they are still supported to provide backward compatibility. Extend the JSP language: Java tag library developers and designers can extend the JSP language with "simple tag handlers," which utilize a new, much simpler and cleaner, tag extension API. This spurs the growing number of pluggable, reusable tag libraries available, which in turn reduces the amount of code needed to write powerful Web applications.

Easily write and maintain pages: The JavaServer Pages Standard Tag Library(JSTL) expression language is now integrated into JSP technology and has been upgraded to support functions. The expression language can now be used instead of scriptlet expressions. JSP technology uses XML-like tags that encapsulate the logic that generates the content for the page. The application logic can reside in server-based resourcesaccesses with these tags Servlets are platform-independent, server-side modules that fit seamlessly into a Web server framework and can be used to extend the capabilities of a Web server with minimal overhead, maintenance, and support MySQL: For backend we used MySQL,MySQL is the world's most popular open source database software, providing its superior speed, reliability, and ease of use. it eliminates the major problems associated with downtime, maintenance and administration for modern, online applications. Features of MySQL: MySQL implements the following features, which some other RDBMS systems may not:

Multiple storage engines, allowing one to choose the one that is most effective for each table in the application Native storage engines Partner-developed storage engines Community-developed storage engines Custom storage engines Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second. The best and the most-used database in the world for online applications Available and affordable for all Easy to us Continuously improved while remaining fast, secure and reliable Fun to use and improve Free from bugs.

Hibernate Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions. Hibernate is free software that is distributed under the GNU Lesser General Public License.

Hibernate's primary feature is mapping from Java classes to database tables (and from Java data types to SQL data types). Hibernate also provides data query and retrieval facilities. Hibernate generates the SQL calls and attempts to relieve the developer from manual result set handling and object conversion and keep the application portable to all supported SQL databases with little performance overhead. Mapping

Mapping Java classes to database tables is accomplished through the configuration of an XML file or by using Java Annotations. When using an XML file, Hibernate can generate skeletal source code for the persistence classes. This is unnecessary when annotations are used. Hibernate can use the XML file or the annotations to maintain the database schema. Facilities to arrange one-to-many and many-to-many relationships between classes are provided. In addition to managing associations between objects, Hibernate can also manage reflexive associations where an object has a one-to-many relationship with other instances of its own type. Hibernate supports the mapping of custom value types. This makes the following scenarios possible: Overriding the default SQL type that Hibernate chooses when mapping a column to a property. Mapping Java Enum to columns as if they were regular properties. Mapping a single property to multiple columns. Mapping one to one or one to many entities. Persistence

Hibernate provides transparent persistence for Plain Old Java Objects (POJOs). The only strict requirement for a persistent class is a no-argument constructor, not necessarily public. Proper behavior in some applications also requires special attention to the equals() and hashCode() methods.[1] Collections of data objects are typically stored in Java collection objects such as Set and List. Java generics, introduced in Java 5, are supported. Hibernate can be configured to lazy load associated collections. Lazy loading is the default as of Hibernate 3. Related objects can be configured to cascade operations from one to the other. For example, a parent such as an Album object can be configured to cascade its save and/or delete operation to its child Track objects. This can reduce development time and ensure referential integrity. A dirty checking feature avoids unnecessary database write actions by performing SQL updates only on the modified fields of persistent objects.

Hibernate Query Language (HQL)

Hibernate provides an SQL inspired language called Hibernate Query Language (HQL) which allows SQL-like queries to be written against Hibernate's data objects. Criteria Queries are provided as an object-oriented alternative to HQL. Integration

Hibernate can be used both in standalone Java applications and in Java EE applications using servlets, EJB session beans, and JBI service components. It can also be included as a feature in other programming languages. For example, Adobe integrated Hibernate into version 9 of ColdFusion (which runs on J2EE app servers) with an abstraction layer of new functions and syntax added into CFML. Entities and components

In Hibernate jargon, an entity is a stand-alone object in Hibernate's persistent mechanism which can be manipulated independently of other objects. In contrast, a component is subordinate to other entities and can be manipulated only with respect to other entities. For example, an Album object may represent an entity but the Tracks object associated with the Album objects would represent a component of the Album entity if it is assumed that Tracks can only be saved or retrieved from the database through the Album object. Unlike J2EE, it can switch databases. CSS(Cascading Style Sheets) Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can also be applied to any kind ofXML document, including plain XML, SVG and XUL. CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts.[1] This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content (such as by allowing for tableless web design). CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser or screen reader) and on Braille-based, tactile devices. It can also be used to allow the web page to display differently depending on the screen size or device on which it is being viewed. While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified.

CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable. Variations CSS has various levels and profiles. Each level of CSS builds upon the last, typically adding new features and typically denoted as CSS 1, CSS 2, CSS 3, and CSS 4. Profiles are typically a subset of one or more levels of CSS built for a particular device or user interface. Currently there are profiles for mobile devices, printers, and television sets. Profiles should not be confused with media types, which were added in CSS 2. CSS 1 The first CSS specification to become an official W3C Recommendation is CSS level 1, published in December 1996. Among its capabilities are support for

Font properties such as typeface and emphasis Color of text, backgrounds, and other elements Text attributes such as spacing between words, letters, and lines of text Alignment of text, images, tables and other elements Margin, border, padding, and positioning for most elements Unique identification and generic classification of groups of attributes

CSS 2 CSS level 2 specification was developed by the W3C and published as a Recommendation in May 1998. A superset of CSS 1, CSS 2 includes a number of new capabilities like absolute, relative, and fixed positioning of elements and z-index, the concept of media types, support for aural style sheets and bidirectional text, and new font properties such as shadows. CSS 2.1 CSS level 2 revision 1, often referred to as "CSS 2.1", fixes errors in CSS 2, removes poorly-supported or not fully interoperable features and adds already-implemented browser extensions to the specification. In order to comply with the W3C Process for standardizing technical specifications, CSS 2.1 went back and forth between Working Draft status and Candidate Recommendation status for many years. CSS 2.1 first became a Candidate Recommendation on February 25, 2004, but it was reverted to a Working Draft on June 13, 2005 for further review. It returned to Candidate Recommendation on 19 July 2007 and then updated twice in 2009. However, since changes and clarifications were made, it again went back to Last Call Working Draft on 7 December 2010. CSS 3 Unlike CSS 2, which is a large single specification defining various features, CSS 3 is divided into several separate documents called "modules". Each module adds new capabilities or extends features defined in CSS 2, over preserving backward compatibility. Work on CSS level 3 started around the time of publication of the original CSS 2 recommendation. The earliest CSS 3 drafts were published in June 1999.

Due to the modularization, different modules have different stability and statuses. As of November 2011, there are over fifty CSS modules published from the CSS Working Group. Three of themSelectors Level 3, Namespaces and Color became W3C Recommendations in 2011. Some modules (including Backgrounds and Borders, Media Queries, and Multi-column Layout among others) have Candidate Recommendation (CR) status and are considered moderately stable. At CR stage, implementations are advised to drop vendor prefixes. CSS 4 W3C started drafting CSS 4 on Sep 29, 2009. However, it is currently not supported by any web browser. One of the new proposed selectors is :matches(). For which :matches(div, p, nav) span{ font-size: 18px; } is the same as: div span, p span, nav span{ font-size: 18px; } Although Firefox and Webkit already have similar functions:[28] /*Firefox*/ -moz-any(div, p, nav) span{ font-size: 18px; } /*Webkit*/ -webkit-any(div, p, nav) span{ font-size: 18px; } Another interesting and especially very usable way are reference combinators. Those allow you to select elements that are referenced by ID by another element, like an form element. The attendant label reference is the "for attribute". You can define a reference combinator by the attribute with forward slashes (/). In case of an input element you wanted to style different (from grey to blue) when you hover its label, you could use the selector label:hover /for/ input. </ref> label:hover /for/ input { border-color:blue; }

JQuery jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML.[1] It was released in January 2006 at BarCamp NYC by John Resig. Used by over 55% of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today. jQuery is free, open source software, dual-licensed under the MIT License or the GNU General Public License, Version 2.[4] jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plug-ins on top of the JavaScript library. This enables developers to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and web applications. Microsoft and Nokia have announced plans to bundle jQuery on their platforms,[5] Microsoft is adopting it initially within Visual Studio[6] for use within Microsoft's ASP.NET AJAX framework and ASP.NET MVC Framework while Nokia has integrated it into their Web Run-Time widget development platform. jQuery has also been used in MediaWiki since version 1.16. Adobe Dreamweaver Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a proprietary web development application originally created by Macromedia. It is now developed by Adobe Systems, which acquired Macromedia in 2005. Dreamweaver is available for both Mac and Windows operating systems. Recent versions have incorporated support for web technologies such as CSS, JavaScript, and various server-side scripting languages and frameworks including ASP (ASP JavaScript, ASP VBScript, ASP.NET C#, ASP.NET VB), ColdFusion, Scriptlet, and PHPCS5

Communication Interface: Client (customer) on Internet will be using HTTP/HTTPS protocol. Client (system user) on Internet will be using HTTP/HTTPS protocol.

B. References: www.roseindia.net Java :The Complete reference by Hebert Schildt www.jquery.org


http://gardiary.wordpress.com/2010/12/10/implements-access-control-list-acl-in-javaweb-application/

Potrebbero piacerti anche