Top Banner
IMAGINATE Project Report Submitted to the Rajasthan Technical University, Kota In partial fulfilment for the Degree of (B.Tech) Batch 2011-15 At Vivekananda Institute of Technology, Jaipur Sumitted By Guided By Bhaskar Mangal Mr. Ankush Jain B.tech VII Semester
42
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Training report

IMAGINATE

Project Report

Submitted to the Rajasthan Technical University, Kota

In partial fulfilment for the Degree of

(B.Tech)

Batch 2011-15

At

Vivekananda Institute of Technology, Jaipur

Sumitted By Guided By

Bhaskar Mangal Mr. Ankush Jain B.tech VII Semester

Page 2: Training report

ACKNOWLEDGEMENT

The satisfaction that accompanies that the successful completion of any task would be

incomplete without the mention of people whose case less cooperation made it

possible, whose constant guidance and encouragement crown all efforts with success.

First of all, i am thankful to “RAJASTHAN TECHNICAL UNIVERSITY” for

putting this practical paper in curriculum, which provides real world experience

before degree completion.

We are grateful to our project guide Mr. Ankush Jain for the guidance, inspiration

and constructive suggestions that helpful us in the preparation of the project. We also

thank our college who has helped in successful completion of project.

His readiness to discuss all important matters at work deserves special attention.

We would also like to thank whole of the faculty of the organization for their

cooperation and important support.

(Bhaskar Mangal)

Page 3: Training report

About Organization

A team of creative people which will do individual concept or idea creation for

every brand and offers custom web development and internet marketing services

bringing over 5-10 years of experience in designing as well in marketing..

We are Upcoming Training Specialist for upgrading the future of coming

generation with real time exposure focusing on gaining the reputation as a top

global provider for Quality computer Education.

We at stew at dedicate oue efforts towards providing in depth technical knowledge

from last 5 years as well as industrial exposure to candidate

Who want to utilize skills with us. We provide comprehensive IT training

in(.net,java,JSP,Mysql etc.) in many global delivery modals such as

online,onstie,offshore,in class that ans all the training.

Stew is established with the motto of providing interactive learning for all IT

related courses. This is an effective way to learn various software courses. Stew is

manned by real time trainers Who have lot of expertise and experience in their

respective fields. Our training happens in a live enviournment where the trainers

n student interact(1:1) and share notes to the trainers graphic tablet to provide very

closepersonalised tarining session.

We build up the candidates to focus on the real time requirements of the corporate

organisations, so that they build up themselves to reach the same and grab the

surprising opportunities to build the carrier.

Page 4: Training report

Training: Girnar Technologies expert trainers approaches to all computer centers of

Rajasthan and provide project Based training there, with a motto of imparting the

qualitative and practical knowledge education among the technical students.

Development:

We have the extensive software development and custom software development

skills perfectly blended with the quality expertise that guarantees to take.

Page 5: Training report

Introduction

Overview:

IMAGINATE is an online photo-sharing and social networking

Service that enables its users to take pictures, applies digital filters to them, and shares

them on a variety of social networking services. A distinctive feature is that it

confines photos to a square shape, similar to Instamatic and Polaroid images, in

contrast to the 4:3 aspect ratio typically used by mobile device cameras. Users are

also able to record and share pictures.

(a). Introduction to the technology used

1. Introducing JAVA

Java is a programming language created by James Gosling from Sun Microsystems

(Sun) in 1991. The first publicly available version of Java (Java 1.0) was released in

1995. Sun Microsystems was acquired by the Oracle Corporation in 2010. Oracle has

now for Java.

From the Java programming language the Java platform evolved. The Java platform

allows software developers to write program code in other languages than the Java

programming language which still runs on the virtual machine. The Java platform is

usually associated with the Java virtual machine and the Java core libraries.

2. Characteristics of JAVA

The PHP language revolves around the central theme of practicality. JAVA is about

providing the programmer with the necessary tools to get the job done in a quick and

efficient fashion. Five important characteristics make JAVA’s practical nature

possible:

• Familiarity

• Efficiency

• Security

• Flexibility

Page 6: Training report

Efficiency

Efficiency is an extremely important consideration for working in a multiuser

environment such as the WWW. JAVA introduced resource allocation mechanisms

and more pronounced support for object-oriented programming, in addition to session

management features. Reference counting has also been introduced in the latest

version, eliminating unnecessary memory allocation.

Security

Users running programs:

Built- in security functionality protects you from malevolent programs (including

viruses), maintains the privacy of your files and information about you, and

authenticates the identity of each code provider. You can subject applications and

applets to security controls when you need to.

Developers:

You can use API methods to incorporate security functionality into your programs,

including cryptography services and security checks. The API framework enables you

to define and integrate your own permissions (controlling access to specific

resources), cryptography service implementations, security manager implementations,

and implementations. In addition, classes are provided for of your public/private key

pairs and public key certificates from people you trust.

Systems administrators, developers, and users:

JDK tools manage your key store (database of keys and certificates); generate digital

signatures for JAR files, and verify the authenticity of such signatures and the

integrity of the signed contents; and create and modify the policy files that define your

installation's security policy.

Page 7: Training report

Free

The open source development strategy has gained considerable notoriety in the

software industry. The prospect of releasing source code to the masses has resulted in

undeniably positive outcomes for many projects, perhaps most notably Linux,

although the success of the Apache project has certainly been a major contributor in

proving the validity of the open source ideal. The same holds true for the

developmental history of JAVA, as users worldwide have been a huge factor in the

advancement of the JAVA project.

JAVA’s embracing of this open source strategy result in great performance gains for

users, and the code is available free of charge. Additionally, an extremely receptive

user community numbering in the thousands acts as “customer support,” providing

answers to even the most arcane questions in popular online discussion groups.

4. Comparing JAVA with other languages

Chris Shiflett posted some thoughts on PHP and Ruby on Rails which has

generated some interesting discussion. Chris divides programming languages into two

categories:

Flexible and powerful: PHP, C, C++, and Perl.

Structured and organized: Java, Ruby, and ASP.NET.

I don’t disagree with the cultural grouping. PHP’s cultural heritage is definitely in the

Unix programming, C/Perl camp as I suggested in building a culture of objects in

PHP and Why isn’t PHP the natural successor to Java?

I prefer to group languages in a different way.

4.1 Garbage Collection

To me, this is the single biggest language comparison issue. Managing memory is

orthogonal to the task most programmers are trying to accomplish. That’s a fancy way

of saying a waste of time. Additionally, memory management is easy to screw up.

Any process that relies on humans repeatedly doing something correctly is destined

for disappointment. Sure, there are tools that help avoid memory management bugs.

The best of these is to take it off the programmers plate entirely with garbage

Page 8: Training report

collection and let the programmer concentrate on other things. Sure, there can be

resource usage and performance issues. However, for most cases computer hardware

is cheaper than computer programmers.

We can divide our languages along this axis:

Quickly runs: PHP, Java, Ruby, C#, Perl, Python, Smalltalk

Runs quickly: C, C++, Objective C, Delphi

Interestingly, this corresponds fairly closely with native executable versus virtual

machine.

4.2 Static or Dynamic Typing

The next most important axis of comparison is dynamic or static typing. In static

typing type information is associated with the variable. In dynamic typing type

information is associated with the value in the variable.

The benefit of dynamic typing is that you do not waste programmer time and attention

with typecasting (”static types get in my way”). The benefit of static typing is that the

compiler can catch certain errors (”The compiler finds my mistakes”).

Risk tolerant: PHP, Ruby, Python, Smalltalk, Perl

Risk averse: Java, C#

4.3 Scope

One should not underestimate the importance of this factor. Why is Java considered

so complicated? One reason is that it is designed to run on everything from servers to

cell phones, from desktops to dishwashers. It’s scope is impossibly general. Of

course, specialized tools such as Rails and JAVA are more productive for their sweet

spot applications.

General: Java, .NET

Specific: PHP, Rails.

Page 9: Training report

4.4 Popularity

Popularity brings better tools, more available developers, better documentation, and

better productivity. Programming on a discontinued or rarely used platform is more

difficult.

Popular: PHP, .NET, Java

Rare: Python, Ruby, Smalltalk

4.5 Abstraction

Working at a higher level of abstraction allows the programmer to be more

productive. The computer industry has continuously been heading up the abstraction

scale without looking back. Professional programmers want to work with higher level

constructs because they are more expressive. One can get more done with less code.

The drawback is that higher level language features can require more programmer

skill to use well.

Simple: Java

Powerful: Ruby, Smalltalk, Lisp

I’m talking about the language, not the libraries when I basify Java as simple.

Dynamic versus static typing aside, I see the Java and PHP languages as similarly

expressive.

I have a lot of respect for Anders Hejlsberg and there is some serious innovation

going on in the C# world on this front. Java can barely keep up.

The Rails folks are fond of saying that Rails couldn’t be written without the

expressive features of the Ruby language. It would be interesting to get the opinions

of some of the cake developers on this idea.

Page 10: Training report

HYPERTEXT MARKUP LANGUAGE (HTML):-

A simple markup language used to create hypertext documents that are

portable from one platform to another. HTML files are simple ASCII text files with

codes embedded (indicated by markup tags) to denote formatting and hypertext links

Many people who use HTML to create Web pages or other documents find

Notepad a useful tool for writing in HTML. Because Notepad supports only very

basic formatting, you cannot accidentally save special formatting in documents that

need to remain pure text. This is especially useful when creating HTML documents

for a Web page because special characters or other formatting may not appear in your

published Web page or may even cause errors.

Many word processors provide additional tools or converters to help you

create HTML documents. But, if you are creating simple pages or if you want to make

a few quick changes, Notepad opens files quickly. Also, Notepad shows all of the

HTML tags so you can troubleshoot your page. Not all word processors or converters

make the HTML code available.

JAVA SCRIPT:-

JavaScript is an object-oriented scripting language used to enable programmatic

access to objects within both the client application and other applications. It is

primarily used in the form of client-side JavaScript, implemented as an integrated

component of the web browser, allowing the development of enhanced user interfaces

and dynamic websites. JavaScript is a dialect of the ECMA Script standard and is

characterized as a dynamic, weakly typed, prototype-based language with first-class

functions.

CASCADING STYLE SHEET (CSS):-

Cascading Style Sheets (CSS) is used to describe the presentation semantics

(that is, the look and formatting) of a document written in a mark- up language. CSS

is designed primarily to enable the separation of document content (written in HTML

or a similar mark-up language) from document presentation, including elements such

as the layout, colours, and fonts.

Page 11: Training report

BACK END DESIGN

MySQL SERVER:-

A database management system must be able to reliably manage a large

amount of data in a multi-user environment so that many users can concurrently

access the data. A database management system should also provide security and

failure recovery.

MySQL is the name of a database management system Developed by Apache

Software Foundation. Apache Software Foundation provides various software’s

related to web development; the biggest advantage is that all the software’s are free of

cost. MySQL is most popular database management tool. It provides better security

and data recovery against system failure.

MySQL works faster compared to other Database Management tools. Apache

Software Foundation provides GUI to work with MySQL, because of its GUI

environment it is very easy to understand any novice user can quickly learn MySQL

by using java MyAdmin developer. We can create databases and maintain it through

java MyAdmin developer. It provides GUI so it is easy to understand and learn.

MySQL is a database management system, which helps us to manage data

stored in a system database. Programming skills is not required to use MySQL as

database management system. Java MyAdmin hides all the complex tasks of

managing a database and gives a user-friendly way of managing a database.

Advantage of MySQL Workbench:-

Tested with a broad range of different compilers.

Works on many different platforms..

The MySQL Workbench Server design is multi- layered with independent

modules.

Fully multi-threaded using kernel threads. It can easily use multiple CPUs if

they are available.

Provides transactional and non-transactional storage engines.

Relatively easy to add other storage engines. This is useful if you want to

provide an SQL interface for an in-house database.

Page 12: Training report

A very fast thread-based memory allocation system.

Very fast joins using an optimized one-sweep multi-join.

In-memory hash tables, which are used as temporary tables.

TABLE:

A database is a collection of data about a specific topic.

VIEWS OF TABLE:

We can work with a table in two types,

1. Design View

2. Datasheet View

Design View

To build or modify the structure of a table we work in the table design view. We

can specify what kind of data will be hold.

Datasheet View

To add, edit or analyses the data itself we work in tables datasheet view mode.

QUERY:

A query is a question that has to be asked the data. Access gathers data that answers

the question from one or more table. The data that make up the answer is either dynast

(if you edit it) or a snapshot(it cannot be edited).Each time we run query, we get latest

information in the dynast. Access either displays the dynast or snapshot for us to view

or perform an action on it, such as deleting or updating.

Page 13: Training report

REPORT:

A report is used to view and print information from the database. The report can

ground records into many levels and compute totals and average by checking values

from many records at once. Also the report is attractive and distinctive because we

have control over the size and appearance of it.

Rational behind the Project --

(a) Operations of the project:

The following are the major operations of this portal:

Allows user to register.

User can view the Gallery.

User can view the top rated.

User can contact admin.

User can vote for good pictures.

Modules:

USER

ADMIN

Page 14: Training report

Project Methodology

Information gathering:

Information gathering means collecting the information about the system which

you are working. The strategy consists of identifying information sources,

evolving a method of obtaining information from the identified sources and using

an information flow model of organization there are various information gathering

tools: Written and printed document Meeting with several perspective clients. By

doing meeting with perspective clients we came to know all their requirements

and problems hidden in the system. By meetings we have understood all the

requirements and functionality that they expect from questionnaires we asked

many questions related to te different types of competencies and how the tool will

give a positive response from the subordinate. In questionnaires we got the

complete scenario of the working and rules & regulations associated with their

system.

Analysis & Design

System requirement analysis:

Systems analysis is a process of collecting factual data, understand the processes

involved, identifying problems and recommending feasible suggestions for improving

the system functioning. This involves studying the business processes, gathering

operational data, understand the information flow, finding out bottlenecks and

evolving solutions for overcoming the weaknesses of the system so as to achieve the

organizational goals. System Analysis also includes subdividing of complex process

involving the entire system, identification of data store and manual processes.

The major objectives of systems analysis are to find answers for each business

process:

What is being done,

How is it being done,

Who is doing it,

When is he doing it,

Why is it being done and

How can it be improved?

Page 15: Training report

It is more of a thinking process and involves the creative skills of the System

Analyst. It attempts to give birth to a new efficient system that satisfies the

current needs of the user and has scope for future growth within the

organizational constraints. The result of this process is a logical system design.

Systems analysis is an iterative process that continues until a preferred and

acceptable solution emerges.

Preliminary study is the process of gathering and interpreting facts ,using the

information for further studies on the system preliminary study is problem

solving activity that requires intensive communication between the system

users as system developers it does various feasibility studies.

System activities can be obtained, from which the decision about the strategies

to be followed for effective system study and analysis can be taken.

Interfaces

Functional Capabilities Performance Levels

Data Structures/Elements Safety Reliability

Security/Privacy Quality

Constraints and Limitations Process Model Used:

A software life cycle is the series of identifiable stages that a software product

undergoes during its lifetime .A software lifecycle model is a descriptive and

diagrammatic representation of the software life cycle .A life cycle model

represents all the activities required to make a software product transit through

its lifecycle phases .It also captures the order in which these activities are to be

taken.

Life Cycle Models:

There are various life cycle models to improve the software processes.

WATERFALL MODEL

PROTOTYPE MODEL

EVOLUTIONARY MODEL

SPIRAL MODEL

Page 16: Training report

In the project, Waterfall model is followed.

Feasibility study:

Preliminary investigation examine project feasibility, the likelihood the system

will be useful to the organization. The main objective of the feasibility study is to test

the Technical, Operational and Economical feasibility for adding new modules and

debugging old running system. All system is feasible if they are unlimited resources

and infinite time. There are aspects in the feasibility study portion of the preliminary

investigation:

Technical Feasibility

Operation Feasibility

Economical Feasibility

3.1. Technical Feasibility

The technical issue usually raised during the feasibility stage of the investigation

includes the following:

Does the necessary technology exist to do what is suggested?

Do the proposed equipments have the technical capacity to hold the data required

to use the new system?

Will the proposed system provide adequate response to inquiries, regardless of the

number or location of users?

Can the system be upgraded if developed?

Are there technical guarantees of accuracy, reliability, ease of access and data

security?

Earlier no system existed to cater to the needs of ‘Secure Infrastructure

Implementation System’. The current system developed is technically feasible. It is a

web based user interface for audit workflow at NIC-CSD. Thus it provides an easy

access to the users. The database’s purpose is to create, establish and maintain a

workflow among various entities in order to facilitate all concerned users in their

various capacities or roles. Permission to the users would be granted based on the

roles specified. Therefore, it provides the technical guarantee of accuracy, reliability

and security. The software and hard requirements for the development of this project

Page 17: Training report

are not many and are already available in-house at NIC or are available as free as

open source. The work for the project is done with the current equipment and existing

software technology. Necessary bandwidth exists for providing a fast feedback to the

users irrespective of the number of users using the system.

3.2. Operational Feasibility

Proposed projects are beneficial only if they can be turned out into information

system. That will meet the organization’s operating requirements. Operational

feasibility aspects of the project are to be taken as an important part of the project

implementation. Some of the important issues raised are to test the operational

feasibility of a project includes the following: -

Is there sufficient support for the management from the users?

Will the system be used and work properly if it is being developed and

implemented?

Will there be any resistance from the user that will undermine the possible

application benefits?

This system is targeted to be in accordance with the above-mentioned issues.

Beforehand, the management issues and user requirements have been taken into

consideration. So there is no question of resistance from the users that can undermine

the possible application benefits.

The well-planned design would ensure the optimal utilization of the computer

resources and would help in the improvement of performance status.

3.3. Economic Feasibility

A system can be developed technically and that will be used if installed must still be a

good investment for the organization. In the economical feasibility, the development

cost in creating the system is evaluated against the ultimate benefit derived from the

new systems. Financial benefits must equal or exceed the costs

Page 18: Training report

DESIGN

Architectural Design:

A Systems Architect responsibilities includes the ability to create, review, and

update (don't forget this last one!) designs or blueprints to provide an overall

direction for the system, project, department, or enterprise. See what is a Systems

Architect? for more about the position.

These fundamentals of system design can go through various stages from the

initial project concept to the final plan prior to implementation. Not only is it

important to develop a design at each stage but it can also be a useful tool for

training and marketing of the concept. The age old saying "a picture is worth a

thousand words" still holds true. Each stage builds upon the previous stage in

detail allowing the individual to more completely understand the big picture and

then focus on the details as it progresses.

There is often confusion between each of these different types of designs. With

each one of these types of designs, you may need to develop more than one of

each depending on the target audience. For example, there may be a business view

conceptual design which may actually seem quite simple and only contains 5

boxes and a few lines and words. There may also be a single architectural

conceptual design or even multiple architectural designs (activity, state, and

collaboration conceptual design diagrams). Your project and target audience will

determine the need.

Conceptual Design

A conceptual design is an abstract or high level design which includes only the most

important components and entities. The main goal of a conceptual design is to provide

an understandable picture of the overall purpose of the proposed solution.

Components may include major technology systems, external systems that are

required for integration or overall functionality, high level data flow, and system

Page 19: Training report

functionality. Think of this as the "black box" diagram where portions of the diagram

may be simply a technology component to-be-named-later but is identified with its

role and purpose.

Logical Design

A logical design is a more detailed design which includes all major components and

entities plus their relationships. The data flows and connections are detailed in this

stage. The target audience is typically developers or other systems architects.

However, it is possible to create logical designs for business purposes to ensure that

all components and functionality is accounted and well understood. Logical designs

do not include physical server names or addresses. They do include any business

services, application names and details, and other relevant information for

development purposes.

Physical Design

A physical design has all major components and entities identified within specific

physical servers and locations or specific software services, objects, or solutions.

Include all known details such as operating systems, version numbers, and even

patches that are relevant. Any physical constraints or limitations should also be

identified within the server components, data flows, or connections. This design

usually precludes or may be included and extended by the final implementation team

into an implementation design.

The UML (Unified Modeling Language) is also another method that can be explored

for design and definition for these and other designs. There are several diagram types

within the UML which could be developed at each one of these design stages. I'd be

interested to hear about your interest or experiences with development of these

designs or others similar to it. Also, some believe there should be various focus areas

such as the Microsoft Architecture format with business, application, technology, and

information views of each of these stages. This will depend on the maturity of your

company's architecture program and also the project scope and target audience for

your designs.

Page 20: Training report

SNAPSHOTS:-

Admin-Panel

1. Admin Login

Page 21: Training report

USER-Panel

1. Login & Signup-Form

Page 22: Training report

2. Home-Page :-

Page 23: Training report

3. About :-

Page 24: Training report

4. Add Gallery:-

Page 25: Training report

5. User Gallery:-

Page 26: Training report

6. User Profile update :-

Page 27: Training report

7. Top Rated With Hits:-

Page 28: Training report

8 .Contact us

Page 29: Training report

DATABASE-Panel

1. Gallery

Page 30: Training report

2. Login Details

Page 31: Training report

3. User Details

Page 32: Training report

Testing and Implementation

Testing Overview

Software testing is any activity aimed at evaluating an attribute or capability of a

program or system and determining that it meets its required results. Although crucial

to software quality and widely deployed by programmers and testers, software testing

still remains an art, due to limited understanding of the principles of software.

The difficulty in software testing stems from the complexity of software: we cannot

completely test a program with moderate complexity. Testing is more than just

debugging. The purpose of testing can be quality assurance, verification and

validation, or reliability estimation. Testing can be used as a generic metric as well.

Correctness testing and reliability testing are two major areas of testing. Software

testing is a trade-off between budget, time and quality.

Levels of Testing

The basic levels of testing are:

1. Unit Testing

2. Integration Testing

3. System Testing

4. Acceptance Testing

The levels of testing attempt to detect different types of faults. The relation of faults

introduces in different phases and the different levels.

Page 33: Training report

Black-box testing

The black-box approach is a testing method in which test data are derived from the

specified functional requirements without regard to the final program structure. It is

also termed data-driven, input/output driven or requirements-based testing. Because

only the functionality of the software module is of concern, black-box testing also

mainly refers to functional testing a testing method emphasized on executing the

functions and examination of their input and output data. The tester treats the software

under test as a black box only the inputs, outputs and specification are visible, and the

functionality is determined by observing the outputs to corresponding inputs. In

testing, various inputs are exercised and the outputs are compared against

specification to validate the correctness. All test cases are derived from the

specification. No implementation details of the code are considered.

White-box testing

Contrary to black-box testing, software is viewed as a white-box, or glass-box in

white-box testing, as the structure and flow of the software under test are visible to the

tester. Testing plans are made according to the details of the software implementation,

such as programming language, logic, and styles. Test cases are derived from the

program structure. White-box testing is also called glass-box testing, logic-driven

testing or design-based testing.

There are many techniques available in white-box testing, because the problem of

intractability is eased by specific knowledge and attention on the structure of the

software under test. The intention of exhausting some aspect of the software is still

strong in white-box testing, and some degree of exhaustion can be achieved, such as

executing each line of code at least once (statement coverage), traverse every branch

statements (branch coverage), or cover all the possible combinations of true and false

condition predicates (Multiple condition coverage).

Page 34: Training report

Unit Testing

The primary goal of unit testing is to take the smallest piece of testable software in the

application, isolate it from the remainder of the code, and determine whether it

behaves exactly as you expect. Each unit is tested separately before integrating them

into modules to test the interfaces between modules. Unit testing has proven its value

in that a large percentage of defects are identified during its use.

The most common approach to unit testing requires drivers and stubs to be written.

The driver simulates a calling unit and the stub simulates a called unit. The

investment of developer time in this activity sometimes results in demoting unit

testing to a lower level of priority and that is almost always a mistake. Even though

the drivers and stubs cost time and money, unit testing provides some undeniable

advantages. It allows for automation of the testing process, reduces difficulties of

discovering errors contained in more complex pieces of the application, and test

coverage is often enhanced because attention is given to each unit.

Unit testing frameworks are most often third-party products that are not distributed as

part of the compiler suite. They help simplify the process of unit testing, having been

developed for a wide variety of languages. Examples of testing frameworks include

open source solutions such as the various code-driven testing frameworks known

collectively as and proprietary/commercial solutions.

It is generally possible to perform unit testing without the support of a specific

framework by writing client code that exercises the units under test and

uses assertions, exception handling, or other mechanisms to signal failure. Unit testing

without a framework is valuable in that there is a barrier to entry for the adoption of

unit testing; having scant unit tests is hardly better than having none at all, whereas

once a framework is in place, adding unit tests becomes relatively easy. In some

frameworks many advanced unit test features are missing or must be hand-coded.

Page 35: Training report

Integration Testing

Integration Testing is the phase in software testing in which individual

software modules are combined and tested as a group.

It occurs after unit testing and before system testing. Integration testing takes

as its input modules that have been unit tested, groups them in larger

aggregates, applies tests defined in an integration test plan to those aggregates,

and delivers as its output the integrated system ready for system testing.

Integration testing is a logical extension of unit testing.

In its simplest form, two units that have already been tested are combined into

a component and the interface between them is tested. A component, in this

sense, refers to an integrated aggregate of more than one unit. In a realistic

scenario, many units are combined into components, which are in turn

aggregated into even larger parts of the program.

Integration Testing typically involves the following Steps:

Step 1: Create a Test Plan

Step 2: Create Test Cases and Test Data

Step 3: If applicable create scripts to run test cases

Step 4: Once the components have been integrated execute the test cases

Step 5: Fix the bugs if any and re-test the code

Step 6: Repeat the test cycle until the components have been successfully integrated.

System Testing is a level of the software testing process where a complete, integrated

system/software is tested.

The purpose of this test is to evaluate the system’s compliance with the specified

requirements.

Page 36: Training report

ANALOGY

During the process of manufacturing a ballpoint pen, the cap, the body, the tail, the

ink cartridge and the ballpoint are produced separately and unit tested separately.

When two or more units are ready, they are assembled and Integration Testing is

performed. When the complete pen is integrated, System Testing is performed.

TASKS

System Test Plan

Prepare

Review

Rework

Baseline

System Test Cases

Prepare

Review

Rework

Baseline

System Test

Perform

Page 37: Training report

System Security

Introduction

The protection of computer based resources that includes hardware, software,

data, procedures and people against unauthorized use or natural

Disaster is known as System Security.

System Security can be divided into four related issues:

Security

Integrity

Privacy

Confidentiality

SYSTEM SECURITY refers to the technical innovations and procedures applied

to the hardware and operation systems to protect against deliberate or accidental

damage from a defined threat.

DATA SECURITY is the protection of data from loss, disclosure, modification

and destruction.

SYSTEM INTEGRITY refers to the power functioning of hardware and

programs, appropriate physical security and safety against external threats such as

eavesdropping and wiretapping.

PRIVACY defines the rights of the user or organizations to determine what

information they are willing to share with or accept from others and how the

organization can be protected against unwelcome, unfair or excessive dissemination

of information about it.

CONFIDENTIALITY is a special status given to sensitive information in a

database to minimize the possible invasion of privacy. It is an attribute of information

that characterizes its need for protection.

Page 38: Training report

SECURITY IN SOFTWARE

System security refers to various validations on data in form of checks and controls to

avoid the system from failing. It is always important to ensure that only valid data is

entered and only valid operations are performed on the system. The system employees

two types of checks and controls:

CLIENT SIDE VALIDATION

Various client side validations are used to ensure on the client side that only valid data

is entered. Client side validation saves server time and load to handle invalid data.

Some checks imposed are:

VBScript in used to ensure those required fields are filled with suitable data only.

Maximum lengths of the fields of the forms are appropriately defined.

Forms cannot be submitted without filling up the mandatory data so that manual

mistakes of submitting empty fields that are mandatory can be sorted out at the

client side to save the server time and load.

Tab- indexes are set according to the need and taking into account the ease of user

while working with the system.

SERVER SIDE VALIDATION

Some checks cannot be applied at client side. Server side checks are necessary to save

the system from failing and intimating the user that some invalid operation has been

performed or the performed operation is restricted. Some of the server side checks

imposed is:

Server side constraint has been imposed to check for the validity of primary key

and foreign key. A primary key value cannot be duplicated. Any attempt to

duplicate the primary value results into a message intimating the user about those

values through the forms using foreign key can be updated only of the existing

foreign key values.

User is intimating through appropriate messages about the successful operations

or exceptions occurring at server side.

Page 39: Training report

Various Access Control Mechanisms have been built so that one user may not

agitate upon another. Access permissions to various types of users are controlled

according to the organizational structure. Only permitted users can log on to the

system and can have access according to their category. User- name, passwords

and permissions are controlled o the server side.

Page 40: Training report

Future Scope

This Project has a wide scope in the following two areas -

1. If the project is owned by any company then they can use this web application for:-

Managing the jobs of their organization by online.

Availing the facility to Candidate to register them freely.

Availing the facility to Candidate of online exam.

Availing the facility to Company to get the information regarding to the every

candidate

2. If the project is owned by Job Consultancy then this web application can be

enhanced for:-

Managing the jobs of any organization by online.

Availing the facility to Candidate to register themselves for much company.

Availing the facility to companies to register for posting their jobs.

Page 41: Training report

Hardware and Software Required

Software Requirement:

Operating System: Windows-8.

Toolkit : JAVA ECLIPSE JUNO

Front End : JAVA

Back End : MySQL Workbench

Hardware specification

Processor: - Intel Core i-3 processor, Core i5 processor.

RAM : - 1GB.

HD : - 50GB.

Page 42: Training report

BIBLIOGRAPHY

FOR DEPLOYMENT AND PACKING ON SERVER

www.developer.com

FOR MySQL

www.oracle.com