Software Project Management Tool
Software Project Management Tool
Software Project Management Tool
INTRODUCTION
Problem Definition
Manual system uses huge amounts papers and stores. Difficulty in tracking and
retrieving data from the abundant papers is quite difficult.
Time consuming process.
Objective
1. Define and highlight importance of software project management.
2. Describe the software project management activities.
3. Gives details of project managers and other individuals involved in software
1
project.
Planning oversight in the implementation of the software project management
process.
2
CHAPTER - 2
SYSTEM ANALYSIS
2.1 INTRODUCTION
After analyzing the requirements of the task to be performed, the next step
is to analyze the problem and understand its context. The first activity in the
phase is studying the existing system and other is to understand the requirements
and domain of the new system. Both the activities are equally important, but the
first activity serves as a basis of giving the functional specifications and then
successful design of the proposed system. Understanding the properties and
requirements of a new system is more difficult and requires creative thinking and
understanding of existing running system is also difficult, improper
understanding of present system can lead diversion from solution.
3
6 Unit testing
7 System integration & testing
Here the linear ordering of these activities is critical at the end of the
phase and the output of one phase is the input of other phase. The output of
each phase is to be consistent with the overall requirement of the system.
Some of the qualities of spiral model are also incorporated like after the
people concerned with the project review completion of each of the phase the
work done.
WATER FALL MODEL was being chosen because all requirements were
known beforehand and the objective of our software development is the
computerization/automation of an already existing manual working system’s
system.
Changed
Requirements
Communicated
Requirements
Requirements
Specification
Requirements
Engineering
Design
Specification
Design
Maintenance
Executable
Programming Software Modules
Process
Integrated
Software Product
Integration
Product
Product
Input Output Delivered
Software Product
Delivery
4
concept in mind, associated through a browses interface. The GUI’S at the top
level have been categorized as
5
For any software project the primary parameters that should be taken into
account are time, size, and effort. The existing tools do not consider all the
factors that affect a project directly. The entire process is built upon just one or
two parameters which do not gives us complete and desired results. So we need a
system where we can deliver the correct results that would ultimately lead to a
position where the overall cost and time will be consolidated. Hence the
organization which implements such a process can produce better results.
Project management is the application of knowledge, skills, tools, and
technologies to project activities to meet project requirements.
6
CHAPTER - 3
REQUIREMENT ANALYSIS
7
CHAPTER - 4
FEASIBILITY REPORT
8
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 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.
A high level language – the Java language is a high level one that at a glance
looks very similar to C and C++ but offers many unique features of its own.
Java byte code - a compiler, such as Sun's javac, transforms the Java language
source code to byte code that runs in the JVM.
Java Virtual Machine (JVM) – a program, such as Sun's java, that runs on a
given platform and takes the byte code programs as input and interprets them just
as if it were a physical processor executing machine code.
9
Fig 4.1: Architecture of Java Virtual Machine
10
byte code verifier - checks classes after loading
Class loader - confines objects to unique namespaces. Prevents
loading a hacked "java.lang.SecurityManager" class, for example.
Security manager - determines what resources a class can access
such as reading and writing to the local disk.
Dynamic Binding
The linking of data and methods to where they are located is done at run-time.
Good Performance
Threading
11
dynamic web content. JSP technology enables rapid development of web-based
applications that are server-independent and platform-independent.
JSP simply puts Java inside HTML pages. JSP is being turned into a Java file,
compiled and loaded. This compilation only happens once, so after the first load,
the file doesn't take long to load anymore. Every time you change the JSP file, it
will be re-compiled again.
Every JSP page will have a corresponding servlet which is generated by ‘JSP
Engine’ (which is a part of web container and itself is a servlet) Corresponding
servlet for JSP is generated only once when JSP is requested for the first time.
Request IS
No
CLIENT JSP VAL
ID
Text COMPILE
Yes
Response
SERVLET
Class
12
The following are the jsp tags that are used for the implementation of the current
project.
TYPE OF SYNTAX DESCRIPTION
TAG
Script let tags <% code %> These are inserted into the
servlets service () method
Expression <%= and %> encloses java expressions,
tags which are evaluated at run time
Declaration <%! Java code %> for processing the request
tags outside of the service() method
Comments <%--comment-- %> A jsp comment, ignored by jsp
to script let translator
<!-- Comment --> A HTML comment.
13
• Process the results
Jdbc Drivers:
Today, there are four types of JDBC drivers in use:
• Type 1: JDBC-ODBC bridge
• Type 2: partial Java driver
• Type 3: pure Java driver for database middleware
• Type 4: pure Java driver for direct-to-database
In this project we are using Type4 driver which provides best database
connectivity for internet based application.
Native-protocol/all-java driver:
The native-protocol/all-Java driver (JDBC driver type 4) converts JDBC calls
into the vendor-specific database management system (DBMS) protocol so that
client applications can communicate directly with the database server. Level 4
drivers are completely implemented in Java to achieve platform independence
and eliminate deployment administration issues.
Client
Machine
Net- Server
protocol/ Machine
Data
all-Java
driver Base
Server
14
document root is JSP pages, client-side classes and archives, and static Web
resources are stored.
The document root contains a subdirectory called WEB-INF, which contains the
following files and directories.
• web.xml: The Web application deployment descriptor
• Tag library descriptor files.
• Classes: A directory that contains server-side classes: servlets, utility Classes
and JavaBeans components.
• Lib: A directory that contains JAR archives of libraries (tag libraries and any
utility libraries called by server-side classes).
War file is created like this way
Jar cvf archiveName.war.
15
RDBMS is a high performance fault tolerant DBMS, which is specially designed
for online transaction processing and for handling large database applications.
Multithreaded Server Architecture:
Oracle adaptable multithreaded server architecture delivers scalable high
performance for very large number of users on all hardware architecture
including symmetric multiprocessors (sumps) and loosely coupled
multiprocessors. Performance is achieved by eliminating CPU, I/O, memory and
operating system bottlenecks and by optimizing the Oracle DBMS server code to
eliminate all internal bottlenecks.
• Client/server architecture.
• Data independence.
• Ensuring data integrity and data security.
• Managing data concurrency.
• Parallel processing support for speed up data entry and online transaction
processing used for applications.
• DB procedures, functions and packages.
Database Design:
Normalization:
Normalization is a process of simplifying the relationship between data elements
in a record. Through normalization a collection of data in a record structure is
replaced by successive record structures that are simpler and more predictable
and therefore more manageable.
16
It is a process of converting a relation to a standard form. The process is
used to handle the problems that can arise due to data redundancy i.e. repetition
of data in the database, maintain data integrity as well as handling problems that
can arise due to insertion, updating, deletion anomalies.
Decomposing is the process of splitting relations into multiple relations to
eliminate anomalies and maintain anomalies and maintain data integrity. To do
this we use normal forms or rules for structuring relation.
Insertion anomaly - Inability to add data to the database due to absence of other
data.
Deletion anomaly - Unintended loss of data due to deletion of other data.
Update anomaly - Data inconsistency resulting from data redundancy and partial
update
Normal Forms:
These are the rules for structuring relations that eliminate anomalies.
First Normal Form
A repeating group, the recurrence of a data item or group of data items with in a
record is actually another relation.
A relation is said to be in first normal form if the values in the relation are
atomic for every attribute in the relation. By this we mean simply that no
attribute value can be a set of values or, as it is sometimes expressed, a repeating
group.
17
Third normal form is achieved when transitive dependencies are removed from a
record design.
A relation is said to be in third normal form if their exits no transitive
dependencies.
Transitive Dependency: If two non key attributes depend on each other as well
as on the primary key then they are said to be transitively dependent.
18
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.
CHAPTER-5
DESIGN ANALYSIS
19
Input design is a part of overall system design. The main objective during the
input design is as given below:
To produce a cost-effective method of input.
To achieve the highest possible level of accuracy.
To ensure that the input is acceptable and understood by the user.
Input stages:
The main input stages can be listed as below:
Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction
Input types:
It is necessary to determine the various types of inputs. Inputs can be categorized
as follows:
External inputs, which are prime inputs for the system.
Internal inputs, which are user communications with the system.
Operational, which are computer department’s communications to the
system?
Interactive, which are inputs entered during a dialogue.
Input media:
At this stage choice has to be made about the input media. To conclude
about the input media consideration has to be given to;
Type of input
Flexibility of format
Speed
Accuracy
Verification methods
Rejection rates
Ease of correction
20
Storage and handling requirements
Security
Easy to use
Portability
Keeping in view the above description of the input types and input media,
it can be said that most of the inputs are of the form of internal and interactive.
As Input data is to be the directly keyed in by the user, the keyboard can be
considered to be the most suitable input device.
21
In the next stage it is to be decided that which medium is the most
appropriate for the output. The main considerations when deciding about the
output media are:
1 The suitability for the device to the particular application.
2 The need for a hard copy.
3 The response time required.
4 The location of the users
5 The software and hardware available.
Keeping in view the above description the project is to have outputs mainly
coming under the category of internal outputs. The main outputs desired
according to the requirement specification are:
The outputs were needed to be generated as a hot copy and as well as queries to
be viewed on the screen. Keeping in view these outputs, the format for the output
is taken from the outputs, which are currently being obtained after manual
processing. The standard printer is to be used as output media for hard copies.
22
necessary.
The system is designed to be a user friendly one. In other words the
system has been designed to communicate effectively with the user. The system
has been designed with popup menus.
23
CHAPTER-6
SYSTEM DESIGN
6.1 INTRODUCTION
Software design sits at the technical kernel of the software engineering
process and is applied regardless of the development paradigm and area of
application. Design is the first step in the development phase for any engineered
product or system. The designer’s goal is to produce a model or representation of
an entity that will later be built. Beginning, once system requirement have been
24
specified and analyzed, system design is the first of the three technical activities
-design, code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the
place where quality is fostered in software development. Design provides us with
representations of software that can assess for quality. Design is the only way that
we can accurately translate a customer’s view into a finished software product or
system. Software design serves as a foundation for all the software engineering
steps that follow. Without a strong design we risk building an unstable system –
one that will be difficult to test, one whose quality cannot be assessed until the
last stage.
During design, progressive refinement of data structure, program
structure, and procedural details are developed reviewed and documented.
System design can be viewed from either technical or project management
perspective. From the technical point of view, design is comprised of four
activities – architectural design, data structure design, interface design and
procedural design.
Login
Login P
A Change Password R
D Add Manager O
Submits Details
M View Allocated Project J
I Allocate Project Software E
N C
I Select Technology T
Project
S View Project Status And Team Members
T M
R View All Projects
Management A
A N
T Tool A
O G
25 E
R
R
Assign task to Team
Members
Log Out
View Project Status
U
p
V d
a L
i
t o
e
L e g
w
o
g S O
T
i t u
a
n a t
s
k t
u
s
TEAM MEMBER
26
Login
<<uses>>
Adds manager
<<uses>>
<<uses>>
Allocates project
<<uses>> <<include>>
View project status
<<uses>>
Administrator <<uses>>
View all projects
<<include>>
login
<<uses>>
Changes password
<<uses>> Id number
<<uses>>
Assigns task
Views task
<<uses>>
<<uses>>
Logout
27
Administrator
Project Manager
+ Project Manager Id
+ New Project
+Project Details + Project Id
+ Team Id
+Views Project ()
+Build Team
+ Adds new manager ()
+Adds new project ()
Team Member
+Task Id
+Project Status
+Views Task ()
+Update Project Status
28
Start
Login
Verif NO
y
YES
Administrator
Project Manager Project Manager
Stop
6.4 E – R DIAGRAMS
29
The relation upon the system is structure through a conceptual ER-Diagram,
which not only specifics the existential entities but also the standard relations
through which the system exists and the cardinalities that are necessary for
the system state to continue.
The entity Relationship Diagram (ERD) depicts the relationship between the
data objects. The ERD is the notation that is used to conduct the date
modeling activity the attributes of each data object noted is the ERD can be
described resign a data object descriptions.
The set of primary components that are identified by the ERD are
Views
Assigns
project Project
Manager Details
Id
Manager Adds
name project
30
Build team
View
Project
Select Status
Change
technology
Password
Change
Password Views Task
Update
Project Status
31
both directions between a process and a data store to show a read before an
update. The later is usually indicated however by two separate arrows since
these happen at different type.
2) A join in DFD means that exactly the same data comes from any of two or
more different processes data store or sink to a common location.
3) A data flow cannot go directly back to the same process it leads. There must
be at least one other process that handles the data flow produce some other
data flow returns the original data into the beginning process.
4) A Data flow to a data store means update (delete or change).
5) A data Flow from a data store means retrieve or use.
A data flow has a noun phrase label more than one data flow noun phrase can
appear on a single arrow as long as all of the flows on the same arrow move
together as one package.
Data Store
1) Data cannot move directly from one data store to another data store, a process
must move data.
2) Data cannot move directly from an outside source to a data store, a process,
which receives, must move data from the source and place the data into data
store
3) A data store has a noun phrase label.
Source or Sink
The origin and/or destination of data. Data cannot move directly from a source to
sink it must be moved by a process. A source and /or sink has a noun phrase land
32
Login Project Manager
Login Details Data Base
Add
Apartment
Administrator
Manager
Add
New Project
Project
Data Base
Project
Manager Projects
Details Data Base
Login
Views
Manager
Project
Project
Task Data Base
Adds Team
Team Data Base
Members
Status
Task
Views Task
33
Buyer Sitereg
Login Details Data Base
Views
Apartment
Apartment
Views
Building
Sitereg
Data Base
Building
34
PNAME VARCHAR2(25)
PMID VARCHAR2(10)
PDURATION NUMBER(3)
PCOST NUMBER(12)
DIT DATE
STAGE VARCHAR2(15)
DOC DATE
Table 6.2: project
35
CHAPTER-7
IMPLEMENTATION
36
Administration process:
In this process Administrator will add a new project to the existing list of
projects .Here he /she can also open an existing project for viewing the details of
projects along with the teams working for that project including its present status.
The administrator can add new manager to the list of managers.
Project manager view:
In this the project manager can assign a project to a group with some team
id where this team of crew will be set only for that project. Project manger can
also view the present status of all the projects under him.
Display Status:
This process is for checking the project status at the time of project
construction. This shows the days left for completion if not completed, else gives
information in response to the date of checking status.
This product will assist the organization in maintaining records of every
project it undertakes. All the information relevant to the projects like size, time,
effort, and departments involved, etc is maintained by this tool.
37
2. Forms oriented interface: The user calls up an image of the form to his/her
screen and fills in the form. The forms oriented interface is chosen because it
is the best choice.
Computer-initiated interfaces:
The following computer – initiated interfaces were used:
1. The menu system for the user is presented with a list of alternatives and the
user chooses one; of alternatives.
2. Questions – answer type dialog system where the computer asks question and
takes action based on the basis of the users reply.
Right from the start the system is going to be menu driven, the opening
menu displays the available options. Choosing one option gives another popup
menu with more options. In this way every option leads the users to data entry
form where the user can key in the data.
Error message design:
The design of error messages is an important part of the user interface
design. As user is bound to commit some errors or other while designing a
system the system should be designed to be helpful by providing the user with
information regarding the error he/she has committed.
This application must be able to produce output at different modules for
different inputs.
CHAPTER-8
SECURITY SYSTEM
8.1 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:
1 Security
2 Integrity
3 Privacy
38
4 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.
39
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:
1 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.
2 User is intimating through appropriate messages about the successful
operations or exceptions occurring at server side.
3 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.
4 Using server side validation, constraints on several restricted operations are
imposed.
CHAPTER-9
SYSTEM TESTING
9.1 INTRODUCTION
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and coding. In fact, testing
is the one step in the software engineering process that could be viewed as
destructive rather than constructive.
A strategy for software testing integrates software test case design
methods into a well-planned series of steps that result in the successful
construction of software. Testing is the set of activities that can be planned in
advance and conducted systematically. The underlying motivation of program
40
testing is to affirm software quality with methods that can economically and
effectively apply to both strategic to both large and small-scale systems.
41
created independently to verify that Data flow is correct, All conditions are
exercised to check their validity, All loops are executed on their boundaries.
2. Basic Path Testing
Established technique of flow graph with Cyclamate complexity was used to
derive test cases for all the functions. The main steps in deriving test cases were:
Use the design of the code and draw correspondent flow graph.
Determine the Cyclamate complexity of resultant flow graph, using formula:
V (G) =E-N+2 or
V (G) =P+1 or
V (G) =Number of Regions
Where V (G) is Cyclamate complexity,
E is the number of edges,
N is the number of flow graph nodes,
P is the number of predicate nodes.
Determine the basis of set of linearly independent paths.
3. Conditional Testing
In this part of the testing each of the conditions were tested to both true and false
aspects. And all the resulting paths were tested. So that each path that may be
generate on particular condition is traced to uncover any possible errors.
4. Data Flow Testing
This type of testing selects the path of the program according to the location of
definition and use of variables. This kind of testing was used only when some
local variable were declared. The definition-use chain method was used in this
type of testing. These were particularly useful in nested statements.
5. Loop Testing
In this type of testing all the loops are tested to all the limits possible. The
following exercise was adopted for all loops:
1 All the loops were tested at their limits, just above them and just below them.
2 All the loops were skipped at least once.
3 For nested loops test the inner most loop first and then work outwards.
4 For concatenated loops the values of dependent loops were set with the help
of connected loop.
5 Unstructured loops were resolved into nested loops or concatenated loops and
42
tested as above.
Each unit has been separately tested by the development team itself and all the
input have been validated.
CHAPTER-10
OUTPUT SCREENS
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
CHAPTER-11
CONCLUSION
64
CHAPTER-12
FUTURE ENHANCEMENT
Now by making use of software project management tool we are able to deal the
projects in small companies and institutions, but in future we can adopt this tool
for MNC’s with further resources according to future requirements.
65
CHAPTER-13
BIBLIOGRAPHY
66