Index: Page No
Index: Page No
Page No
l. ABSTRACT
2. INTRODUCTION
The Organization's Profile
Introduction about Project
3. SYSTEM ANALYSIS
System Definition
Software Requirement Specification
Feasibility Study
4. SYSTEM DESIGN
Design
E-R Diagram
DFDS
Use case Diagrams
Class Diagram
Sequence Diagrams
Collaboration Diagrams
Data Dictionary
5. SYSTEM ENVIRONMENT
Java, java Script
HTML
JSP
Oracle
6. SCREENS
7. REPORTS
8. SOFTWARE TESTING
9. CONCLUSION
lO.BIBILOGRAPHY
ABSTRACT
The Project entitled "Project Management Information System (PMIS)"
deals with the various levels of project development and will account for time
used in analysis, design programming, testing and verification etc.
Information systems development projects range from one-person projects
that take very little time and effort to multiple person, multi year efforts costing
millions of dollars. The goal of Project Management Information System (PMIS)
is to prevent projects from coming in late and going over budget.
Project Management Information System (PMIS) gives the management a
clear picture of the usage of time by various projects i.e. utilized time and
unutilized time. Every activity, no matter how small or large, requires use of the
commodity called time.
There is no substitute for time as there are substitutes for other resources.
As such it is one of the most precious of resources. By analyzing the results
provided by the software they might rectify the defects in utilizing time and take
remedial actions.
Project Management Information System (PMIS) takes time sheet as input.
The input may be in non-standard format differing from project to project.
Project Management Information System (PMIS) produces output in the
form of reports. This output gives a clear picture of the time used at various levels
of the project.
In Project Management Information System (PMIS) new project
information is entered by the technical manager, based on the project information
project manager will assign activities to employees who are working under him.
ORGANISATION PROFILE
Definition:
Project Management Information System deals with the various levels of
project development and will account for time used in analysis, design,
programming, testing and verification etc.
Description:
Project Management Information System gives the management a clear
picture of usage of time by projects i.e. utilized time and unutilized time. By
analyzing the results provided by the software they might rectify the defects in
utilizing time and take remedial actions.
Project Management Information System takes time sheet reports as input.
The input may be in non-standard format differing from project to project.
Project Management Information System gives the individual Report of
project, which contains time used for various tasks, and also gives the picture of
the unutilized time. In Project Management Information System new project
information is entered by the technical manager, based on the project Information
project manager will assign activities to employees who are working under him.
SYSTEM ANALYSIS
SYSTEM DEFINITION
Requirement Analysis: A requirement is a feature that must be included in the system. Before the
actual design and implementation start, getting to know the system to be
implemented is of prime importance.
Main emphasis should be on:
The inputs to the system.
The outputs expected from the system.
The people involved in the working of the system.
: ORACLE 8
SOFTWARE
BROWSER
: INTERNET EXPLORER
: HTML
LANGUAGE
:JAVA 2.0
PROCESSOR
Pentium
SPEED
233 MHz
MONITOR
SAMTRON
HARD DISK
4.2 MB
RAM
128 MB
MOUSE
Logitech
KEY BOARD
TVS
REQUIREMENT STUDY
The origin of most software systems is in the need of a client, who either
wants to automate and existing manual system or desires a new software system.
The software system itself is created by the developer finally the completed
system will be used by the end user. Thus, there are three major parties interested
in a new system: the client, the users, and the developer. The requirements for the
system that will satisfy the needs of the clients and the concerns of the users have
to be communicated to the developer. The problem is that the client usually does
not understand software or the software development process, and the developer
often does not understand the clients problem and application area. This causes a
communication gap between the parties involved in the development project. A
basic purpose of software requirements specification is to bridge this
communication gap .SRS is the medium through which the client and the user
needs are accurately specified, indeed SRS forms the basic of software
development. A good SRS should satisfy all the parties-something very hard to
achieve- and involves trade-offs and persuasion.
performance
constraints,
design
constraints,
standards
compliance, recovery, etc. are specified clearly in the SRS because the designer
must know about there to properly design the system.
To properly satisfy the basic goals, an SRS should have certain properties
and should contain different type of requirements. A good SRS is [IEE87, IEE94]:
complete if everything the software is supposed to do and the responses of the
software to all classes of input data are specified in the SRS. Correctness and
completeness go hand-in-hand; an SRS in unambiguous if and only if every
requirement stated has one and only one interpretation, requirements often written
in natural language.
DEVELOPMENT PHASE
In the development phase we mostly do the coding part following the
design of the system. We follow modular programming for development and after
development and after developing each and every module we do the unit testing
followed by the integration testing.
IMPLEMENTATION PHASE
The last phase of the project is the implementation phase. Quality assurance
is the primary motive in this phase. The quality assurance is the review of software
products and related documentation for completeness, correctness, reliability and
maintainability. The philosophy behind the testing is it finds errors. The testing
strategies are of two types, the code testing and the specifications testing. In the
code testing we examining the logic of the program. On the surface, code testing
seems to be ideal methods for testing software, but no tall software errors are
uncovered.
DESCRIPTION:
DESCRIPTION OF EXISTING SYSTEM:
In the existing system the project details, client detail group details, and
time used for various levels of project development maintained in registers.
They maintained the following fields in register empcode, project code,
project name, client code, actual hours, proposed hours, actual start date, proposed
start date.
FEASIBILITY STUDY
Investigation
For the study of the project, I went for the various software Development
organizations there I met the Technical Manager, project Manager, project Leader
and programmers. There we got the Information about various levels of project
development and time assigned for each phase.
The different functions are time sheet analysis, assign activity analysis. The
data all about the above are stored in different registers (project list register, group
register, client register, time register) in different departments.
In manual process whenever project came they maintain registers to store
project details, client details, time proposed for each phase like analysis, design.
According to the requirements we divided this manual process Into 4
phases:
Time Sheet: This is used to allow to enter the time sheet details on the
basis of actual start date vs. planned start date and actual end date vs. planned end
date it also maintains actual hours for each phase vs. planned hours for each phase
according to requirements this object is accessible to programmers, team leader,
project manager.
Setup: This is used to install Project Time Analysis and Reporting System
for specific Project. According to the requirements this is accessible to Project
Manage.
Assign Activity:This is used for assigning various activities to different
Employees in an organization. According to the requirements this is accessible to
Project Manager.
After problem is clearly understood and Solutions are proposed the next
step is to conduct the feasibility study, which is the part of the system analysis.
The main objective of this study is to determine whether the proposed system is
feasible or not. Solutions strategies are usually generated \without regard for
feasibility because one cannot be both creative & critical at the same time. Hence
feasibility analysis is a must to arrive at the most appropriate solution strategy.
This feasibility analysis is done after the thorough study of the system.
The planning objective is achieved through a process of information
discovery that leads to reasonable estimation.
Keeping the following aspect in mind the system analysis for the
development of the project
Identify the drawbacks of the existing system.
Identify the need for conversion.
Perform feasibility study.
Identify hardware, software and the database requirements.
Create a system definition that forms the foundation for the subsequent
work.
Software scope:
The first activity in software project planning is the determination of
software scope. Function and performance allocated to software should be
assessed to establish a project scope. Software scope describes function,
performance, constraints and reliability.
Estimation :
Software project planning estimate can do many ways, such as LOC (line of
code)-based estimation, FP (function point) estimation. Process-based estimation.
We should select best of one depending on the requirement.
Resource availability:
The resources, which are common to any system consist, of human effort,
information and development resource. Developing any system any system
without satisfactory resources is inappropriate and impossible.
The design development team for this project consists of three members
who are responsible for software development and internal testing. Information
assembly is to this project as with every other project. Various sources of
Information are available.
Human resources:
The number of people required for a software development can be
determined only after an estimate of development effort. The planner begins by
evaluating scope and selecting the skills required to complete development.
Reusable software resources:
Existing software that can be acquired from a third party or that has been
developed internally for past project.
Environmental resources:
The environment that supports the software, often called a software
engineering environment (SEE). Hardware provides the platform that supports the
tools required.
Operational feasibility:
It determines how much effort will go into educating, selling and training
the user staff on a candidate system. People are inherently resistant to change and
computers have been known to facilitate changes. An estimate should be made of
how strong a reaction the user staff is likely to have towards the development of a
computerized system.
Operational feasibility checks the operational scope of the system. The
system under consideration should have enough operational reach. It is observed
that the proposed system would provide a very interactive means to share
information and have a far and wide reach. The proposed system would make the
information more interactive. Thus operational feasibility of the proposed system
is found to be high.
Technical feasibility:
Technical feasibility centers on the existing computer system and to what
extent it can support the proposed addition. The benefits such as high accuracy,
minimum response time and user friendliness of the proposed system our weights
cost for designing and installing the new system.
The level of technology comprises of the software tools, the development
platform and the machine environment, which already exists within the
organization. Since all the required tools and platform that were mentioned above
were already available, the technical feasibility of this project ids justified.
The procedure in the economic feasibility analysis is to determine the
benefits and savings that we expected from a candidate system and compare them
with cost. If benefits overweigh cost then design decision is made to design and
implement the system. The major disadvantages of the existing system are slow
transmission of information between various locations and increased average
waiting time. By the candidate system we can reduce processing charges and time
of processing. By comparing the benefits with the cost of the proposed system
benefits out weights costs.
recognized.
b. The database design steps are applied to identify the various entities and
relationships between them.
c.
get the logical model, which is then further transformed into relational tables.
d.
DFDS
Login-info
Valid
Project
Manager
Login
Checking
Login
Proce
ss
Project details
group details
Client details
Authorized
administrator
Setup
screens
Reports
Project details
Project manager
login
Group
details
Client
details
Setup
screens
Reports
Employee
information
Employee
login
Time sheet
Reports
First-level DFDS:
checking
Login
process
Login
Project
Management
Information
login-Info
Valid data
Authorized
Authorized
Employee
project manager
Project manager
Employee
Login_info
Valid
Employe
e
Login
Employee
information
Checking
Login
Proce
ss
Authorized
employee
Time sheet
details
Reports
Project manager
Login
Login
process
Assign
process
authorized
Project manager
Project Assign
1.1
Project
assign
process
Project
details
Add
Project_info
view
Assign Group
1.2
Group
assign
process
group
details
Add
group_info
view
Project Client
1.3
client
assign
process
client
details
Add
client_info
view
Setup Screens
1.4
Setup
process
Setup
details
Add
Setup_info
view
Employee
2.1
Employee
information
process
Login
process
Employ
ee
details
2.2
Time sheet
process
Timesheet_info
Add
Time sheet
details
view
add
emp_info
view
Reports
Checking
TimeSheet
report data
Timesheet
report
Project
manager
report
s
Employee
Project status
report
Group details
reports
select E-Id
select P-Id
select G_Id
Chec
k T-Id
generation of
report
Timesheet report
Chec
k P-Id
checking project
report data
generation of
report
Check
G_Id
checking
report data
Project status
report
Group
Client Info
report
Employee
Report
generating
report
report
Chec
k
C_Id
check report
Check
E_Id
report
Employee report
Employee
UML Diagrams
Use case diagrams
login
Project manager
Time sheet
Data base
setup
Assign
Employee
Reports
DATA DICTIONARY
FEATURES OF DATA DICTIONARV
The Volume of data in most Information system applications is substantially
more than a single user can easily keep track of data dictionaries are an integral
component of structural analysis, since data flow diagrams by themselves do not
fully describe the subject of investigation. The data dictionary provides additional
information about the system.
What is Data Dictionary?
A Data Dictionary a repository of the elements in a system. As the name
suggests, these elements center around data and the way they are structured to
meet user requirements and organization needs. In a data dictionary we will find a
list of all elements composing the data flowing through a system. The major
elements are data flows, data stores and process the Data Dictionary stores details
and descriptions of these elements.
Why is a data dictionary important?
Analysts use data dictionaries for five important reasons.
1. To manage the detail in large systems.
2. To communicate a common meaning for all elements.
3. To document the features of the system.
4. To facilitate analysts of details in order to evaluate characteristics and
determine where system changes would be made.
5. To locate errors and omissions in the system.
Manage Detail
Large systems have huge volumes of data flowing them in the form of
documents, reports and even. Similarly many different activities take place that
use existing data or create new details. The best organized or most effective
analysis use automated data dictionaries designed specifically for systems analysis
and design.
Communicate Meaning
Data dictionaries assist in ensuring common meanings for system elements
and activities. Data dictionaries record additional details about the data flow in a
system; so that the persons who are involved may look up the description if data
flows, data stores and processes. Document System Features
Documenting the features of an information system is the third reason for
using the data dictionary systems. Features include the parts or components
and the characteristics that distinguish
each. Having to formally describe, system features will produce a more
complete understanding.
Facilitate Analysis
The Fourth reason for using data dictionaries is to determine whether new
features are needed in a system or whether change of any type is in order. For any
situation, system analysts will typically focus on the following system
characteristics.
a) Nature if transaction
b)
Inquiries
Tables Description
SOFTWARE ENVIRONMENT
WHY CHOOSE "JAVA":
In its brief existence, the WORLD WIDE WEB has evolved into a truly
global Information space. Not only does it offer information on any subject, it
provides its citizens with the power to globally publish information on any subject
and at minimal cost. The massive international participation in the web has
resulted in the creation of many web pages that are not only informative, but also
entertaining. This entertainment value has further fueled the webs growth and has
led to browsing becoming an international pastime.
Browsing involves scanning web pages for interesting information,
following useful links to other pages, and repeating the process until we come
across something that makes us temporarily stop and focus sometimes we mutter
"HMM" or "That's interesting!" and create a bookmark. Then, eventually, we
move on.
The tendency to move on and continue browsing is natural.
We usually don't read the same book over and over. If we have stock of
magazines in front of us, we are likely to flip through them all. Web pages are like
magazine pages, except that they are move available, usually free and have more
"next" pages to which to turn computer programs are different. They are active,
while books, magazines, and web pages are static or passive. People do use
programs over and over. I still use word perfect 5.1. Some people still use cp/m. I
have a friend who played Doom several hours a day for months.
This difference between active computer program and passive web pages is
what makes JAVA an attractive addition to the web. When we click on a web page
containing a JAVA APPLET, we don't just read it, listen to it, or which it we
interact with it. Interactivity is the difference between a program and a page, and
JAVA has brought dynamic, interactive content to the web.
JAVA'S rapidly growing popularity is due to the web. But Java's inherent
power does not come from the fact that it is a web programming language. The
talented software engineers at sun in bring Java to the web, have elegantly solved a
much broader and more significant problem- how to develop network -capable
windowing software that will run on almost any 32-bit computer and operating
system.
The Modern software developers faces enormous headaches and challenges
when he tries to develop software that is portable to Microsoft windows, x window
systems, motif, Macintosh, and OS/2 windowing and networking environments.
The usual approach is to pick a target operating system (o s), write software for
that o s, and eventually migrate it to the other o s platforms. This usually involves
great expense in terms of labor and software development resources. It also results
in the sacrifice of features that are difficult to support across multiple o s
platforms.
Java fulfills the software developer's dream of being able to write software
in a single language that will support windowing and networking on all major o s
platforms, without specified tailoring or even compilation. But Java's
attractiveness does not end here. Sun's engineers were thoughtful enough to
develop in java a language and runtime system that art simple, compact, Object
Oriented, extendible, and secure. And then they gave it away for free!
ABOUT JAVA:
Java is a programming language, a runtime system, a set of development
tools, an application programming interface (API). The relationship between these
elements is depicted in figure.
The Java API contains predefined software packages with numerous
platform-independent "hooks" into the native windowing and networking
capabilities of the host operating system. The Java API provides a single common
API across all operating system to which Java is ported.
The keys to Java's portability are its run time system, and its API. The run
time system is very compact, evolving from earlier Sun efforts to build a software
platform for consumer electronics. Because this platform was not designed around
any existing microprocessor, it was built from scratch to be simple and efficient.
The fact that it was not tied to a given hardware architecture enabled it to be
architecture neutral. The Simple, efficient, compact and architectural neutral
nature of the runtime system allows it to be highly portable and still provide
effective performance.
The powerful windowing and networking features included in the Java API
make it easier for programmers to develop software that is both attractive and
platform independent. For example, Adam is a programming language that is
highly standardized and supported on most operating systems. Yet Adam
applications are not very portable. This is because Adam does not come with a
common API that supports windowing and networking on all platforms. Java
differs from Adam and all other programming languages in that there is one
universal, but powerful, Java API for all operating systems platforms. That is why
Java is the most portable language.
Unlike C and C++, Java also does not support macros such as # define that
can be used, in conjunction with a preprocessor, to declare the value of a constant.
There is a good reason for this. Java applets are design to be independent
programs loaded over the Internet. Java therefore does not support header files or
other components that need to be available in conjunction with otherwise standalone programs.
JAVA AND OBJECT ORIENTATION
Java supports the five basic elements of Object-Oriented language, namely,
classes, objects, inheritance, polymorphism, and dynamic binding. Java is a pure
Object-Oriented language, it does not support the classical paradigm. Thus there
are no functions or procedures, only methods or classes.
JAVA AND REUSABILITY
All Object-Oriented programming language supports reuse via inheritance
of classes. In addition, mechanisms such as templates (in C++) and generics (in
Adam) provide reuse at a higher level of abstraction. A template or generic is a
module that is defined in terms of parameters. The generic is then instantiated for a
particular set of parameters.
Java does not directly supports template of this kind. Java interfaces are
similar to templates, but they are flexible and less powerful than templates.
Nevertheless, they do provide a level of abstraction that can increases main
trainability and reusability.
JAVA AND VISIBILITY
In Java, however, there are five types of access and the rules are more
convoluted than in C++ because Java classes can be grouped into package of
related classes, the simplest Visibility modifier is public, then it can be accessed
from any where within the product. A protected attribute can be accessed by
immediate derived classes. Private attribute cannot be accessed outside the class.
THREE-TIERED
In a three-tiered system, the application resides in a different logical
location than the logic of the application and the data.
To put it another way, the client software makes a call to a remote service.
that remote service is responsible for interacting with the data and responding to
the client. the client has no knowledge of how and where the data is stored. All it
knows about is the remote service has no knowledge of the clients that will be
calling it. It only knows about the data.
ODBC
Open Database Connectivity, or ODBC, is a standard developed by
Microsoft Corporation. ODBC is an application program interface for accessing
data in a standard manner from an abundance of data sources regardless of their
type. If the data source is ODBC compliant, program can talk to it.
ODBC drivers are available for almost every major database vendor. Using
ODBC the user can communicate with the database through any front-end tool like
C, C++, and JAVA.
JDBC INTERFACES
JDBC defines eight interfaces that must be implemented by a driver in
order to be JDBC-compliant:
java.sql.Driver java.sql.Connection java.sql.Statement java.sql.PreparedS
tatement java.sql.CallableStatement java.sql.ResultSet java.sql.ResultSetMetaData
java.sql.DatabaseMetaData
Java. SQL. Driver Interface
Driver is essentially a connection factory. The Driver Manager uses a
Driver to determine whether it can handle a given URL. If one of the Drivers in its
list can handle the URL, that Driver should create a connection object and return it
to the Driver Manager. Because an application are rarely concerned with this
interface. Java. SQL. Connection Interface
Html document starts with <Html > tag and ends with </html> tag.
Html documents contain two parts namely Head and Body. Head:
It contains the descriptions of the Html page. <HEAD> <Title>....</Title>
</HEAD>
Body:
This is large part of document, which contains the content of the document
to be displayed in the text area of browser. <BODY>
</BODY>
We can also create links to another web pages using anchor tags.
<a href="file\...\.\">.......</a>
We can also use form tag for specifying the attribute as action.
<form action="..\.. A">......</form>
By using all the tags we create static web pages. Dhtml is used for creating
dynamic WebPages. It is used for making styles.
ORACLE
ORACLE is a relational Database management system that as a transparent
interface between the physical storage and logical presentation of data and
provides the user with a set of flexible & sophisticated tools to perform the
operations basing on data and the data structures.
Oracle is a modular system that consists of the Oracle database and several
functional packages.
Oracle tools do 4 major kinds of work:
Database Management
Programming
For handling information the user can use these tools to:
Define a database
Query a database
on large database
database
works
effectively
in
an
Intranet/Internet
environment.
Since the Internet applications demands the data to be secure, ORACLE
can be chosen as the right tools for maintaining databases.
SOFTWARE TESTING
TESTING AND IMPLEMENTATION
In this the different modules of a system are integrated using an integration
plan. The integration plan specifies the steps and the order in which modules are
combined to realize the full system. After each integration step, the partially
integrated system is tested. The primary objective of integration testing is to test
the module interface.
An important factor that guides the integration plan is the module
dependency graph. The module dependency graph denotes the order in which
different modules cal l each other. A structure chart is a form of a module
dependency graph. Thus, by examining the structure chart the integration plan can
be developed based on any of the following approaches:
Big-bang approach.
Top-down approach.
Bottom-up approach.
Mixed approach Bottom-up Integration Testing
In this approach, each subsystem is tested separately and then the full
system is tested. A subsystem night consists of many modules, which
communicate among each other through well-defined interfaces. The primary
purpose of testing each subsystem is to test the interfaces among various modules
making up the subsystem. Both control and data interface are tested. A principal
advantage of bottom-up integration testing is that several disjoint subsystems can
be tested simultaneously. A disadvantage of bottom-up testing is the complexity
that occurs when the system is made up of large number of small subsystems.
We have tested the entire individual! Programs first, after having
before the acceptance test. Finally the system is being accepted and made to run
with live data. System tests are designed to validate a fully developed system with
a view to assuring that it meets its requirements. There are three main kinds of
system testing:
Alpha Testing.
Beta Testing.
Acceptance Testing.
Alpha Testing: This refers to the system testing that is carried out by the
test team with the organization.
Beta Testing: This refers to the system testing that is performed by a select
group of friendly customers.
Acceptance Testing: This refers to the system testing that is performed by
the customer to determine \whether or not to accept t the delivery of the system.
IMPLEMENTATION
Implementation literally means to put into effect or to carry out. The system
implementation phase of the software deals with the translation of the design
specifications into the source code. The ultimate goal of the implementation is to
write the source code and the internal documentation so that it can be verified
easily. The code and documentation should be written in a manner that eases
debugging, testing and modification. System flowcharts, sample run on packages,
sample output etc. Is part of the implementation?
An effort was made to satisfy the following goals in order specified.
Minimization of Hard-Coding.
Various types of bugs were discovered while debugging the modules. These
ranged from logical errors to failure on account of various processing cases.
DOCUMENTATION
Documentation
is
method
of
communication.
satisfactory
documentation of the system should be objective, factual and complete. Thus its
adequacy is not determined by format, length, volume or complexity. In
documentation, there are no uniform standards that are applicable to all system
projects. Documentation is essential to the development, implementation and
operation of any system. Documentation is necessary as it helps in maintaining the
system and also acts as a reference for the user.
Embedding Comments in the executable portion of the code did proper
documentation of each module. To enhance the readability of the comments,
indentation, parenthesis, blank lines and spaces, proper lineation of the loops were
used around the block of comments. Care was also taken to use descriptive names
of tables, fields, modules, forms etc. The proper use of indentation, parenthesis,
blank lines and spaces were also ensured during coding to enhance the readability
of the code.
MAINTENANCE
Maintenance activities involve making enhancements to software products,
adapting products to new environments, and correcting problems.
Software product enhancement may involve providing new functional
capabilities, improving user displays and modes of interaction, upgrading external
documents and internal documentation, or upgrading external documents and
internal documentation, or upgrading the performance characteristics of a system.
Adaptation of software to a new environment may involve moving the software to
a different machine. Problem correction involves modification and revalidation of
software to correct errors.
Maintenance activities consume a large portion of the total life cycle
budget. Software Maintenance accounts for 70 percent of total software life-cycle
costs. Maintenance includes 60 percent of maintenance budget for enhancement,
and 20 percent each for adaptation and correction. The primary product attributes
that contribute to software maintainability are clarity, modularity, and good
internal documentation of the source code, as well as appropriate supporting
documents.
Analysis activities during software maintenance involve understanding the
scope and effect of a desired change, as well as the constraints on making the
change.
Design during maintenance involves redesigning the product to incorporate
the desired changes. The changes must then be implemented,
Internal documentation of the code must be updated, and new test cases
must be designed to access the adequacy of the modification. Also the supporting
documents must be updated to reflect the changes. Updated versions of the
CONCLUSION
The project "Project Time Analysis and Reporting System" aims at
accomplishing the task of allowing the project manager to maintain the project
details. It also helps in maintaining the time details of each project.
The system provides a graphical user interface, which helps all the
employees to know the project details.
It also generates reports, which gives detailed information about the clients
of the company, different groups. Their size including the team leaders.
Future enhancements for this project can be also created using Bar-charts
by which the performance of each project can be better analyzed and by using this
the resource allocation can be done efficiently.
BIBLIOGRAPHY
l. JAVA-2 Complete-Reference
Author : Patrice Norton & Herbert Child Publisher: Tata McGraw Hill
2. System Analysis & Designing
Author: James A. Senn
Publisher: Tata McGraw Hill
3. Software Engineering Concepts
Author: Fairley
Publisher: (TATA MC-GRAW Hill publication, Third Edition)
4. Software engineering principles
Author: pressman
5. Java Server Pages
Author: James good will Pubishentechmedia