Construction Management Project Report
Construction Management Project Report
1. INTRODUCTION
1.1 PROBLEM STATEMENT
To provide a user friendly and quick solution for the managing
sites through an online web application that can collaborate between
site engineers and managers from different sites In the present
system, all the refineries are not in single piece.
The Existing System for construction process is having the
human work. If the Company wants to check the day to day human
resources and equipment management logs is difficult task for human
capabilities from all the construction sites the user must go at every
place
and
check
for
the
products
so
to
overcome
all
this
disadvantages, a new system developed where in the user will get all
the details of the product at one place.
1.2 SCOPE
This Project investigates the entry threshold for providing a new
transaction service channel via the real options approach, where the
entry threshold is established by using an login system designed for
the use of Customers, Owner, Site Manager, Site Engineer. Where
creating users and content viewed by the users is controlled by owner
and no. of users is dependent on the owner where he supplied with
type of users while creating user id.
will be locked and the customer will not be able to use it.
When an invalid password is entered a warning is given to the
authenticated.
User can request for the details of his project and completion
status.
User can make a change in plan to site manager or site engineer
schedule.
User can view his daily, weekly and monthly as well as annual
1.3 OBJECTIVE
The main goal of this project was to build a web based
application which is used to manage and operate our construction
sites at one place from any part of the globe, and manage the entire
process from the comfort of your own home.
Providing our customer a user friendly environment to work
efficiently and to attain their customer satisfaction. Satisfaction of our
customer is our first objective, designing a better tool for maintaining
and helping to resolve problems in construction stream.
1.4 OVERVIEW
Here user sign up into the application, once he is registered
then he can directly log into the application with valid user id and
password and keep information seamlessly. Where one can manage
documents and cash protected.
CHAPTER - 2
2. LITERATURE SURVEY
DOCUMENT CONTROLS
Construction projects create volumes of drawings, submittals and
design documents that are shared among multiple team members and
outside
suppliers. The
changeable
nature
of
projects
requires
Web-based
system
for
managing
the
budget
Roll up and drill into all financial metrics to gain visibility into
project activities
Provide
easy
to use
cash
Value
SCHEDULING
Successful
projects
and
programs
require
management
of
on
time.
Our Scheduling
application
manages
multiple
deliver program and projects in less time and at a reduced cost. You
can:
Non-standardized
communications
&
time
consuming
communications protocols
Slow
response
time
to
shifting
regulatory
compliance
requirements
10
Contract
bidding
restricted
by
operational
limitations,
11
Industry
lacks
standardized
gantt
type
calendars
with
push
functionality
CHAPTER - 3
3. PROBLEM ANALYSIS
3.1 PROBLEM DESCRIPTION
The problem that always arises when a construction project is
undertaken is the records that are to be maintained till the project
completion.
But it is impossible with manual work when a project
undertaken is of large scale i.e., which takes a period of more than 2
or 3 years. In such case, it is very difficult to maintain records of each
and every bill and also of payments that are to be paid.
With out all these data, project cannot be maintained on
schedule and on estimated budget which fails to serve the customer
efficiently which leads to loss of goodwill of company in industry.
The complete description of problem and the solution proposed
by us is given in below section.
12
also reputation
Maintaining records for equipments may mislead sometimes can
existing system.
The human factor in the system is reduced to a minimize errors.
Since the existing method is not a systematic one, maintaining
consuming.
The process of documentation of the services they provide cannot
be done properly.
Employee details are maintained properly.
Report generation is very rare in the existing system.
These all above problem enforces the implementation of the
proposed system.
project data.
Manage projects from any location with any Internet-connected
device.
No server installation or hardware required
All project data is synced and shared in real time
Providing you with resources to help you successfully manage
your project
Intuitive and user-friendly interface
14
CHAPTER - 4
4. SOFTWARE REQUIREMENTS SPECIFICATION
4.1 INTRODUCTION
According to Roger Pressman in Software Engineering: A
Practitioner's Approach (McGraw-Hill Publications) [SEPA1997], the
requirement specification document is produced at the end of Analysis
of the system. This document is a very comprehensive document &
contains all the User requirements & Analysis diagrams.
The Requirements are broadly divided into two groups:
15
4.2
Functional requirements
Non-functional requirements
FUNCTIONAL REQUIREMENTS
Authorization fails
Alternate Scenario:
(a). Authorization fails
1. Prompt the user that he typed the wrong password.
2. Allow him to re-enter the password. Give him 3 chances.
(b). Unable to modify plans due to authorization issues.
1. Prompt the user that he is not eligible to modify the plans.
Use Case 3: Contacts
16
Authorization fails
Authorization fails
Alternate Scenario:
Authorization fails
17
Authorization fails
18
Alternate Scenario:
Authorization fails
PERFORMANCE:
The response time, utilization and throughput behavior of the
system is known as performance. Care is taken so as to ensure a
system with comparatively high performance.
USABILITY:
The ease of use and training the end users of the system is
usability. System should have qualities like- learning ability, efficiency,
affect, control. The main aim of the project is to reduce server failure
and get high performance of server and reduce the rework of the
programmer.
MODIFIABILITY:
The ease with which a software system can accommodate
changes to its software is modifiability. Our project is easily adaptable
19
for changes that is useful for the application to withstand the needs of
the users.
PORTABILITY:
The ability of the system to run under different computing
environments is known as portability. The environment types can be
either hardware or software, but is usually a combination of two.
REUSABILITY:
The extent to which existing application can be reused in new
application is known as reusability. Our application can be reused a
number of times without any technical difficulties.
SECURITY:
The factors that protect the software from accidental or
malicious access, use, modification, destruction, or disclosure is
known as security. Security can be ensured as the project involves
authenticating the users.
Windows
Front End
Web Server
Intel Pentium IV
20
RAM
128 MB
Hard Disk
20GB
-->
Specifies comments
21
<A>.</A>
<B>.</B>
<TITLE>.</TITLE>
<BODY></BODY>
<CENTER>...</CENTER>
Centers text
Advantages
A HTML document is small and hence easy to send over the net.
JavaScript
JavaScript is a script-based programming language that was
developed by Netscape Communication Corporation. JavaScript was
originally called Live Script and renamed as JavaScript to indicate its
relationship with Java. JavaScript supports the development of both
client and server components of Web-based applications. On the client
side, it can be used to write programs that are executed by a Web
browser within the context of a Web page. On the server side, it can be
used to write Web server programs that can process information
submitted by a Web browser and then update the browsers display
accordingly
22
different browsers.
Detect installed plug-ins and notify the user if a plug-in is
required.
We can do much more with JavaScript, including creating entire
application.
ANGULARJS:
AngularJS, commonly referred to as Angular, is an open-source
web application framework maintained by Google and a community of
individual developers and corporations to address many of the
challenges encountered in developing single-page applications. Its goal
is to simplify both development and testing of such applications by
providing a framework for client-side modelviewcontroller (MVC)
23
Bootstrapper
ng-view
The base directive responsible for handling routes that resolve JSON
before rendering templates driven by specified controllers The tasks
performed by the AngularJS bootstrapper occur in three phases after
the DOM has been loaded:
1. Creation of a new Injector
2. Compilation of the directives that decorate the DOM
3. Linking of all directives to scope
AngularJS directives allow the developer to specify custom and
reusable HTML-like elements and attributes that define data bindings
and the behavior of presentation components. Some of the most
commonly used directives are:
ng-app
24
25
26
Ember.js and Backbone.js that trigger listeners when the model values
are changed.
Features
Bootstrap is compatible with the latest versions of the Google
Chrome, Firefox, Internet Explorer, Opera, and Safari browsers,
although some of these browsers are not supported on all platforms.[8]
Since version 2.0 it also supports responsive web design. This
means the layout of web pages adjusts dynamically, taking into
27
The CSS
Bootstrap provides a set of stylesheets that provide basic style
definitions for all key HTML components. These provide a uniform,
modern appearance for formatting text, tables and form elements.
Re-Usable Components
In addition to the regular HTML elements, Bootstrap contains
other commonly used interface elements. These include buttons with
advanced features (e.g. grouping of buttons or buttons with drop-down
option, make and navigation lists, horizontal and vertical tabs,
navigation, breadcrumb navigation, pagination, etc.), labels, advanced
typographic capabilities, thumbnails, warning messages and a
progress bar. The components are implemented as CSS classes, which
must be applied to certain HTML elements in a page.
Javascript Components
CHAPTER - 5
5. SYSTEM DESIGN
5.1 DESIGN OBJECTIVE
System can be defined as the a set of fact, principles, rules etc.,
classified and arranged in an orderly form so as to show a logical plan
linking the various parts here the system design defines the
computer based information system. The primary objective is to
identify user requirements and to build a system that satisfies these
requirements.
It involves four major steps they are
30
Submit data to
the database
Backend
API
Allow user to
login and update
the data for
every module.
31
design
modeling,
which
focuses
on
the
behavioral
views.
33
Log in
User Id Creation
User(Owner)
Document Management
Project Management
Get Support
Logout
Description:
The above usecase depicts the actions that can be performed by
the owner of the system such as logging into the system to
update/add some data and also can get support from developers.
34
Log In
Update Profile
View Estimation
View Schedule
View Documents
Customer
Change in Plans
Contacts
Get Support
Log out
Description:
35
The above usecase shows how a user of customer type can access a
system and what actions he can perform on the system to get work
done.
Log in
Project Management
Get Support
Logout
Description:
This usecase shows the actions that are allowed to perform by a
worker of the organization such as getting support, managing contacts
etc.
36
Class Diagram:
User
ID : int
Name : String
Username : String
Password : String
Email ID : String
Mobile : int
Contacts
ID : int
Name : String
Email : String
Address : String
Mobile : int
Occupation : String
Support
ID : int
Message : String
MailId : String
Login()
Contacts()
View Details()
Logout()
AddNewContact()
Update()
Delete()
SendMail()
Worker(User)
Owner(User)
AddNewSite()
DeleteSiteDetails()
AddNewUser()
AddNewContact()
ProjectManagement()
DocumentManagement()
Document Management
DocID : int
DocName : String
UploadNewDocument()
Forward()
Update()
Delete()
ProjectManagement()
AccountsManagement()
MaterialManagement()
Scheduling()
EquipmentManagement()
Customer(User)
Changeinplans()
Material Management
ID : int
Date : Date
Used : int
Remaining : int
Issuedby : String
Estimation
ID : int
Budget : int
Time : Date
Add()
Edit()
View()
AddNewSchedule()
ChangePlans()
Description:
37
Equipment Management
ID : int
Name : String
Reg No. : String
Condition : String
Service Date : Date
SiteId : int
Schedule : Date
Schedule()
AddNewEquipment()
RemoveEquipment()
Accounts
BillID : int
CompanyName : String
Amount : int
LastDate : Date
Remarks : String
ViewAccounts()
AddNew()
Edit()
Delete()
:Owner
:Update/ Delete
Site
:User Id
Creation
:Document
Management
:Project
Management
:Contacts
:Support
:Backend API
Update Details
Save Documents
Manage Contacts
Success
Enter a request mail
Success
Logout
Successfully Loged out from system
Description:
38
Send mail
:Customer
:Update Profile
:View
Estimation
:View Schedule
:View
Documents
:Change in
Plans
:Contacts
:Support
:Backend API
Request Estimate
View Estimate
Request Schedule
View Schedule
Request Documents
View Documents
Enter change in plans
Manage Contacts
Success
Enter request mail
Success
Logout
39
Send Mail
Description:
The above sequence diagram illustrates the project management
operations that can be performed by customer with simple signin into
the system through online.
:Worker
:Project
Management
:Making Punch
Lists
:Contacts
:Support
:Backend API
Manage Projects
Manage Projects
Success
Success
Add/ Manage contacts
Manage Contacts
Success
Send Mail
Success
Logout
Success
Description:
40
41
:Add New
Site
6: Update Site details
:Owner
:Update/ Delete
Site
:Support
7: Update Details
:Contacts
:Backend
API
Description:
The
above
collaboration
diagram
illustrates
the
project
:Update
Profile
:Customer
:View
Estimation
:View
Documents
:View
Schedule
5: Success
11: View Documents
14: Success
17: Success
20: Success
22: Logged out from the system
7: View Estimate
9: View Schedule
:Contacts
:Backend
API
:Support
Description:
The
above
collaboration
diagram
illustrates
the
project
43
:Project
Management
3: Manage Projects
:Making Punch
Lists
4: Manage Projects
:Support
:Contacts
:Backend
API
Description:
This
collaboration
diagram
of
worker
shows
the
project
44
Verify
Authentication
Invalid User
Valid User
Login to System
Successfully
Description:
45
Description:
The above data flow diagram shows the login process in
construction management system. The process shows how the data is
flown from one page to another.
46
Description:
47
This data flow diagram shows the actions that can be performed
by the user and the flow of data from one module to another right
from logging into the system.
Description:
48
This data flow diagram shows the actions that can be performed
by the user when updating a profile i.e., at first profile is viewed,
update data then the data is validated and stored to the database.
CHAPTER 6
6. IMPLEMENTATION
6.1 PROJECT MODULES
Any project is impossible to develop as a single building block as
its purpose is to serve more than one functionality to the user which
makes it difficult to develop as a single block instead divided into the
number of parts which are called modules as each one of them serve
different purpose.
This kind of development in any industry helps in reducing
costs and risks at the same time increases the productivity very
much. We also had implemented this kind of engineering for our
project development which involves 8 modules each one of them is
49
Accounts Module
Estimation Module
Scheduling Module
Document Management Module
Materials and Aggregate Management
Equipment Management
Contacts Module
Support Module
Software
will
meet
your
construction
companys
50
based on the job, and can even apply sales tax based on the phase
number with user rules defined.
Fully integrated with Job Cost, Accounts Receivable provides
you with real time job information. With this information, you have
the ability to control when changes impact contracts.
Our system is a completely integrated construction management
software solution, which means you can use change requests built in
Accounts Payable to build change orders for your clients to approve
within Accounts Receivable. With this information, your project
managers and owners have access to the most current information,
and all information is kept in one secure, easy to access location.
Cash management can seem complex if you dont know where
your cash is going and what its going towards. With construction
softwares cash management solution, you can easily perform bank
and credit card reconciliations. Additionally, cash management
records your credit card charges by vendor, helping you track where
purchases were made.
ESTIMATION:
Use estimation tool to efficiently manage your project budgets. By
automatically aligning your contracts and change orders with your
budget, our tool makes it easy to review financial performance for a
single project, or across many projects.
51
Web-based
system
for
managing
the
budget
Roll up and drill into all financial metrics to gain visibility into
project activities
items
Move savings while maintaining data integrity
Track how the project changes over time
SCHEDULING:
Scheduling means the preparation in advance of a list of
different activities and their order of sequence to carry out any work
as per the planned program.
For completing a project as per the plan, scheduling should be
known to not only to the project managers, but also to all the links in
the system namely engineers, supervisors,
52
on
time.
The
Scheduling
application
manages
multiple
DOCUMENT MANAGEMENT:
53
EQUIPMENT MANAGEMENT:
Your heavy equipment represents a vital and valuable investment
in your construction business. To help you manage this investment,
construction software offers equipment oriented solutions including:
Equipment tracking
56
You want to utilize your heavy equipment in the most efficient way
possible. If you have a machine sitting idle at one job site, its possible
that another job site could use it. Using construction softwares
equipment tracking solution, you monitor where equipment is working
and where it isnt, helping you to make time and money saving
deployment decisions.
Because most equipment must be hauled to the job site, the
resource scheduling solution also lets you know who is available to
haul the equipment and assigns them. As part of a robust
construction management software application, resource scheduling
notifies you of scheduling errors, such as if the equipment is larger
than the vehicle that is supposed to haul it.
CONTACTS:
Contacts tool stores all contact data for project team members and
vendors, and enables permissions to be set for each tool in system,
controlling who has access to what data.
57
Role-based Permissions
Allows for the easy creation of custom role-based permission
templates, so that new users can be set up with your organization's
standard permissions in seconds. Roles such as subcontractors,
architects, and engineers can all be custom-defined and then applied
to project team members' permissions as new people join your project
team during the course of a construction project.
Users can be set to always receive email notifications regarding
RFIs, punch list items, and submittals, or they can elect to receive
those notifications on a "one-off" basis.
Getting data into contacts Directory Tool is simple. Easily view
directory data by individual, by company, or distribution group.
SUPPORT MODULE:
The support module in our system is designed for the users who
use the software.
58
index.html
<!DOCTYPE html>
<html lang="en" ng-app="addressBook">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initialscale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Construction Management Software</title>
<link href="stylesheets/css/bootstrap.min.css" rel="stylesheet">
<link href="stylesheets/css/bootstrap-theme.min.css"
rel="stylesheet">
<link href="stylesheets/css/dashboard.css" rel="stylesheet">
<link href="stylesheets/font-awesome-4.3.0/css/fontawesome.min.css" rel="stylesheet">
<link href="stylesheets/css/index.css" rel="stylesheet">
<link href="stylesheets/css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" datatoggle="collapse" data-target="#navbar" aria-expanded="false" ariacontrols="navbar">
<span class="sr-only">Toggle navigation</span>
60
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#/dashboard">Construction
Management Software</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="#/dashboard">Dashboard</a></li>
<li><a href="#/useridcreation">User ID Creation</a></li>
<li><a href="#/useridcreation">Profile</a></li>
<li><a href="signin.html">Logout</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<div class="nav nav-sidebar">
<form class="navbar-form">
<input type="text" style="width:90%" class="form-control"
placeholder="Search...">
</form>
<br>
<div id="MainMenu">
<div class="list-group panel">
61
62
64
</tr>
</table>
</div>
</form>
</div>
</div>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2
main" ng-controller="JsonController">
<div ng-view="" id="ng-view"></div>
</div>
</div>
</div>
<script src="lib/jquery.min.js"></script>
<script src="stylesheets/js/bootstrap.min.js"></script>
<script src="stylesheets/js/docs.min.js"></script>
<script src="lib/ie10-viewport-bug-workaround.js"></script>
<!--Angular Files-->
<script src="lib/angular.js"></script>
<script src="lib/angular-route.js"></script>
<script src="lib/ui-bootstrap-tpls-0.12.1.js"></script>
<script src="application/application.js"></script>
<script src="application/controllers/controllers.js"></script>
</body>
</html>
controller.js
angular.module('addressBook').controller('JsonController',[ '$http',
66
function($http){
contacts = [];
$http.get('./application/controllers/contacts.json').success(function(d
ata){
contacts = data;
}).error(function(data,status){
alert("error");
console.log(status);
});
}]);
angular.module('addressBook').controller('ContactsController',
['$scope', '$location',
function ($scope, $location) {
$scope.getContacts = function () {
$scope.contacts = contacts;
};
$scope.getContacts();
}
]);
angular.module('addressBook').controller('ContactAddController',
['$http', '$scope', '$location',
function ($http, $scope, $location) {
$scope.insertContact = function () {
var nextId = contacts.length +1;
$scope.contact.mobile = parseInt($scope.contact.mobile);
$scope.contact.id = nextId;
contacts.push($scope.contact);
67
pass = JSON.stringify($scope.contact);
console.log(pass);
$scope.contact = {};
$location.path('/contacts');
};
}
]);
angular.module('addressBook').controller('ContactEditController',
['$scope', '$routeParams', '$location',
function ($scope, $routeParams, $location) {
var contactId = $routeParams.contactId ?
parseInt($routeParams.contactId, 10) : 0;
for(i in contacts){
if( contacts[i].id === contactId){
$scope.contact = contacts[i];
break;
}
}
$scope.editContact = function() {
$scope.contact = [];
$location.path('/contacts');
};
}]);
angular.module('addressBook').controller('ContactDelController',
['$scope', '$location',
function ($scope, $location) {
$scope.deleteContact = function(id) {
for(i in contacts){
68
69
CHAPTER 7
7. RESULTS
7.1 SCREEN SHOTS
Login Screen:
70
Description:
The above screen depicts the login page of our application which
can be accessed with valid username and password to enter the
system.
Dashboard:
71
Description:
This screen displays the dashboard for the construction
management system that shows the project status and works to be
done quickly and also has access to all the modules.
72
All Sites:
Description:
This screen depicts the all sites page of the application which
shows the all projects that a company is working on. The site details
can be modified or removed by the owner of the company only.
73
Description:
74
This screen depicts add new site page where a new project can
be added to system to track the status of the system and manage
according to the budget and schedule.
Company Profile:
Description:
This screen showcases the company profile page for updating
the details of the company who uses this software.
User ID Creation:
76
Description:
The above screen shows the user id creation page where the
owner of the application can add users to access the system and
maintain the project on schedule and budget.
77
Scheduling:
Description:
This screen depicts the scheduling module of our system which
has a calendar application to view dates for scheduling and to add
schedule for works in location.
78
Document Management:
Description:
The screen above is to display the document management
module of construction management system where new documents
79
Material Management:
Description:
80
Contacts:
81
Description:
The contacts module of the system is to store the contact
information of a particular person where we can edit and delete the
contacts.
82
Support:
Description:
This screen showing support module is useful in reporting any
issues with the software or any queries about the system. They can
also contact us through phone.
83
CHAPTER - 8
8. TESTING
Software Testing is the process used to help identify the
correctness,
completeness,
security,
and
quality
of
developed
Introduction
In general, software engineers distinguish software faults from
software failures. In case of a failure, the software does not do what
the user expects. A fault is a programming error that may or may not
actually manifest as a failure. A fault can also be described as an error
in the correctness of the semantic of a computer program. A fault will
become a failure if the exact computation conditions are met, one of
84
software
product
can
be
very
large,
and
the
number
of
85
further
level
of
testing
is
also
done,
in
accordance
with
requirements:
87
In recent years the term grey box testing has come into common
usage. The typical grey box tester is permitted to set up or manipulate
the testing environment, like seeding a database, and can view the
state of the product after his actions, like performing a SQL query on
the database to be certain of the values of columns. It is used almost
exclusively of client-server testers or others who use a database as a
repository of information, but can also apply to a tester who has to
manipulate XML files (DTD or an actual XML file) or configuration files
directly. It can also be used of testers who know the internal workings
or algorithm of the software under test and can write tests specifically
for the anticipated results.
Unit testing tests the minimal software component and subcomponent or modules by the programmers.
88
modified
software
to
ensure
that
the
modifications
haven't
Analysis:
Testing
should
begin
in
the
team.
Some
may
be
caused
by
errors
in
Test Case
Actual Behavior
Observed
Result
Behavior
1
Run the
-do-
Pass
application
Validating the
interface
It should take the values
-do-
Pass
Password
Click on login
-do-
Pass
button
Registering new
-do-
Pass
user
Click on submit
-do-
Pass
button
Adding new
to next page
It should take all details
-do-
Pass
contact
Click on save
about contact
It should submit details to the -do-
Pass
button
Retrieval of
list
When click on any link
valid data
Updating data
data
Must show existing data
Username and
91
-do-
Pass
-do-
Pass
10
about materials
Click on save
changes
It should submit details to the -do-
button
Pass
list
CHAPTER - 9
9. CONCLUSION
9.1 CONCLUSION
This
project
is
able
to
successfully
incorporate
all
the
CHAPTER 10
10.
FUTURE ENHANCEMENTS
The software in future gets the ledger book to note down each
and every penny you have spent.
CHAPTER 11
11.
BIBLIOGRAPHY
Book Name
The Book of JavaScript
2nd Edition
Author
Dave Thau
94
Publisher
OReilly Media
David Geary
Graphics, A
Web Publishing with
HTML5 and CSS3 in One
Hour a Day
AngularJS Programming
by Example
AngularJS: Novice to
Ninja
Laura Lemay,
Rafe Colburn
Prentice Hall
SAMS
Agus Kurniawan
Kindle Edition
Sandeep Panda
Site Point
http://getbootstrap.com/
AngularJS
https://angularjs.org/
http://www.w3schools.com
95