86% found this document useful (7 votes)
10K views

Construction Management Project Report

This document discusses the need for an online web application to manage construction sites. It aims to provide a user friendly solution that allows site engineers and managers to collaborate across different sites. The existing system of managing construction processes manually is difficult and time consuming. The proposed new system would allow users to access all project details and management logs in one online place. It would streamline communications and documentation sharing between various project stakeholders. The objectives are to provide customers a satisfactory user experience and help resolve issues in the construction sector through a better management tool.

Uploaded by

Michael Jones
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
86% found this document useful (7 votes)
10K views

Construction Management Project Report

This document discusses the need for an online web application to manage construction sites. It aims to provide a user friendly solution that allows site engineers and managers to collaborate across different sites. The existing system of managing construction processes manually is difficult and time consuming. The proposed new system would allow users to access all project details and management logs in one online place. It would streamline communications and documentation sharing between various project stakeholders. The objectives are to provide customers a satisfactory user experience and help resolve issues in the construction sector through a better management tool.

Uploaded by

Michael Jones
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 94

CHAPTER 1

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.

User must have a valid user id and password to login to the


system.

If user forgets the password he can click forgot password option

or contact support team.


If a wrong password is given thrice in succession, that account

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

user that his account is going to get locked.


After the valid user logs in he is shown the list of projects which
company owns. On selecting the desired construction site he is
taken to a page which shows his modules which he is

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

in the same project.


User can transfer documents and photos of his construction

from his account to any other account with this application.


In emails, if message was sent successful a notification should
appear to the customer, in case if it is unsuccessful, a proper

message should be given to the customer as to why it failed.


User can request for project progression report and weekly

schedule.
User can view his daily, weekly and monthly as well as annual

account statements. He can also take print out of the same.


Generate reports at every section.
Administrator can take a back up of the database for every

instance that is happening, periodically.


All users are authenticated to avail the services.
Support section is also included for end users benefit.

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.

Users can access information also request information, upload


information regarding to their usage, all receipts, bills can be upload
electronically.

Engineers, contractors and managers are inter-related in this


application where they can get in touch from different places.

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

extensive tracking of planning and design information throughout a


projects lifecycle. Our Document Controls allows building owners to
collaborate with design firms and contractors to manage all the
documentation for a project. You can:

Manage the design review process

Keep on top of RFIs and meeting action items

Receive and approve submittals in bulk

Upload and share files

Integrate a document viewer with redlining

BUDGET & COST


Budget and Cost Management provides the backbone to managing
and forecasting the financial success of all programs and projects. The
applications features combined with platform functions, deliver a
comprehensive

Web-based

system

for

managing

the

budget

development process and comparing budgets to actual costs. You can:

Organize your budget into a detailed scope breakdown

Manage contracts and change orders all integrated with the


budget

Track changes early on and gain visibility into anticipated costs

Roll up and drill into all financial metrics to gain visibility into
project activities

Provide

easy

to use

cash

flow and Earned

Value

capabilities to use forecasting and project measurements

SCHEDULING
Successful

projects

and

programs

require

management

of

countless tasks, activities, milestones and relationships in order to


finish

on

time.

Our Scheduling

application

manages

multiple

schedules across projects and programs, providing executives instant


visibility of projects that are ahead of schedule and those critically
behind schedule. With real-time status tracking and collaborative
contributions, organizations can streamline communication and

deliver program and projects in less time and at a reduced cost. You
can:

Manage Schedules at multiple levels of detail

Track key milestones and monitor progress on activities

Collaborate on schedules to review changes

Powerful workflow engine that automates business process both


internally and with your supply chain which allows for extensive
collaboration directly into portal. A central inbox keeps track of all
project participant activities and ensures timely action on activities.
You can:

Configure workflow for streamlined business processing

Ad hoc workflow for flexibility

Visualize workflow to find bottlenecks

Process workflow actions on your phone

ADVANTAGE BUILDERS NETWORK CATEGORIES


Lenders / Funders - Current Pain Points

New regulatory requirements to establish and maintain a loan


review system

Regulatory requirements to identify, monitor, and address


problems in a timely manner
7

Non-standardized

communications

&

time

consuming

communications protocols

Non-standardized risk management monitoring - new rules


difficult & time consuming

Inability to prove prudent monitoring practices to fdic

Inability to promptly identify problem loans in a timely manner

Lack of real time project investment monitoring capabilities

Urgent need to evaluate builders activities and compliance documentation threshold

Slow

response

time

to

shifting

regulatory

compliance

requirements

Labour intensive & time consuming progress validation slows


funding draw process

Lack of industry standardized scheduling process & project


completion tracking

Project Owners / Developers - Current Pain Points

Non-standardized, & time consuming communications

Collaboration miscommunications - lack of documentation &


validation

Financial loss due to he said - she said change-order process


and pricing

Non-standardized, difficult & time consuming risk management


monitoring

Lack of real time project monitoring

Inability to effectively monitor builders bidding & contract


awarding considerations

Complications & expense arising from collaboration breakdowns

Lack of standardized cross-check verifications between builders


and owners

Lack of standardized to ensure proper down-line change-order


collaboration

Litigation & confrontation expenses due to misinterpretation of


modified contracts

Lack of industry standardized scheduling process & project


completion tracking ability

Progress schedule tracking & validation

General Contractors - Current Pain Points

Non-standardized communications & collaboration BETWEEN


custom enterprise solutions

Increased workload ON all participants AND increased error


probability

Inability TO automatically integrate non-standardized bidding


protocols from outside

Inability TO automatically integrate non-standardized track &


record RFI responses

Loss OF operational efficiency due to lack OF bi-directional


standardized automated communications routines, automated
scheduling, & automated accounting validation

Software solutions require all participants TO subscribe, pay,


load & train TO THE specific software - little TO no
standardization

Financial loss due to he said - she said change-order


disputes, process AND pricing

Lack of standardization TO ensure proper down-LINE changeorder collaboration

Litigation & confrontation expenses due to misinterpretation of


modified contracts

10

Lack OF industry standardized scheduling process & project


completion tracking ability

Contract

bidding

restricted

by

operational

limitations,

dissemination & qualifying

Contract bid submission non-standardized increasing review


time requirements

Contract awarding labour intensive, time consuming & awkward

Employee background & e-verity checks labour intensive, time


consuming & awkward

Builders - Current Pain Points

Non-standardized communications & collaboration between all project


participants

Lack of customizable enterprise solutions in the industry due to cost


constraints

Limited functionality of off the shelf software

High cost of software alternatives hobble adoption

Every software solution requires all participants in vertical chain to


subscribe, pay, & train to the specific software, even infrequent users

Non-custom enterprise solutions fail to address specific work flow


protocols

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

3.2 EXISTING SYSTEM


The software is designed to replace manual system and make
data Storage more reliable. The present system is tedious, as company
administrator has to do all clerical work manually and update them
from time to time as and when wanted.
Similarly all the different types of report and process detail are
required to be stored systematically which is very difficult in the
existing system case.
Also maintaining project on estimated budget and schedule is
very difficult without the help of this data which leads to failure of the
project.
The project management is very difficult task for any company.

3.3 LIMITATION OF EXISTING SYSTEM

A document usually gets misplaced in a hurry.


Report generation is very difficult and time consuming.
Maximum manual work which always consume more human

resources which cannot be maintained on a busy schedule.


Human can make mistakes or forgo any tasks under pressure.

Human errors in maintaining physical file.


Delay the process such as cash recovery, material management,
maintaining schedule on track can cost not only in money but

also reputation
Maintaining records for equipments may mislead sometimes can

costs more than expected.


Mobilizing scheduled equipment in advance may be skipped.
Organizing human resources payroll always needs a hawk-eye.

3.4 PROPOSED SYSTEM


13

The proposed system aims at reducing the errors involved in the

existing system.
The human factor in the system is reduced to a minimize errors.
Since the existing method is not a systematic one, maintaining

the data is very difficult.


Retrieval of data about transaction and customer is time

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.

3.5 ADVANTAGES OF PROPOSED SYSTEM

Instant access to project information.


Individual role-based permission levels to protect confidential

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

Use Case 1: Login


Primary Actor: User
Pre Condition: Nil
Main Scenario:
1. User prompted for login and password.
2. User gives the login and password.
3. System does authentication.
4. Dashboard is displayed.
Alternate Scenario:

Authorization fails

1. Prompt the user that he typed the wrong password.


2. Allow him to re-enter the password. Give him 3 chances.
Use Case 2: Change Plans
Primary Actor: User
Pre Condition: User logged in
Main Scenario:
1. View approved plans.
2. Modify existing plans.

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

Primary Actor: User


Pre Condition: User logged in
Main Scenario:
1. View existing contacts.
2. Add/Manage new contacts.
Alternate Scenario:

Authorization fails

1. Prompt the user that he typed the wrong password.


2. Allow him to re-enter the password. Give him 3 chances.
Use Case 4: Accounts
Primary Actor: User
Pre Condition: User logged in
Main Scenario:
1. View balance sheets, pending bills, pay rolls.
2. View overall budget.
Alternate Scenario:

Authorization fails

1. Prompt the user that he typed the wrong password.


2. Allow him to re-enter the password. Give him 3 chances.
Use Case 5: Project Status
Primary Actor: User
Pre Condition: User logged in
Main Scenario:
1. View daily status.
2. View entire status.
3. Report any delays in status.

Alternate Scenario:

Authorization fails

1. Prompt the user that he typed the wrong password.

17

2. Allow him to re-enter the password. Give him 3 chances.


Use Case 6: Documents
Primary Actor: User
Pre Condition: User logged in
Main Scenario:
1. Display documents of the project.
2. Upload new documents that belong to the project.
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 view the documents
1. Prompt the user that he is not authorized to view the
documents.
Use Case 7: Support
Primary Actor: User
Pre Condition: User logged in
Main Scenario:
1. Display user guide to operate the application.
2. Provide call, email, mail support to the user.
Alternate Scenario:

Authorization fails

1. Prompt the user that he typed the wrong password.


2. Allow him to re-enter the password. Give him 3 chances.
Use Case 8: Logout
Primary Actor: User
Pre Condition: User logged in
Main Scenario:
1. Logout of the system.

18

Alternate Scenario:

Authorization fails

1. Prompt the user that he typed the wrong password.


2. Allow him to re-enter the password. Give him 3 chances.

4.3 NON FUNCTIONAL REQUIREMENTS


MAINTAINABILITY:
All the modules must be clearly separate to allow different user
interfaces to be developed in future. Through thoughtful and effective
software engineering, all steps of the software development process
will be well documented to ensure maintainability of the product
throughout its life time. All development will be provided with good
documentation.

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.

4.4 SOFTWARE REQUIREMENTS


Operating System

Windows

Front End

HTML, Bootstrap CSS, AngularJS

Web Server

Apache Tomcat 8.0

4.5 HARDWARE REQUIREMENTS


Processor

Intel Pentium IV
20

RAM

128 MB

Hard Disk

20GB

4.6 TECHNOLOGIES USED


HYPER TEXT MARKUP LANGUAGE
Hypertext Markup Language (HTML), the languages of the World
Wide Web (WWW), allows users to produces web pages that include
text, graphics and pointer to other Web pages (Hyperlinks).
HTML is not a programming language but it is an application of
ISO Standard 8879, SGML (Standard Generalized Markup Language),
but specialized to hypertext and adapted to the Web. The idea behind
Hypertext is that instead of reading text in rigid linear structure, we
can easily jump from one point to another point. A markup language
is simply a series of elements, each delimited with special characters
that define how text or other items enclosed within the elements
should be displayed. Hyperlinks are underlined or emphasized works
that load to other documents or some portions of the same document.
HTML can be used to display any type of document on the host
computer, which can be geographically at a different location. It is a
versatile language and can be used on any platform or desktop.
HTML provides tags (special codes) to make the document look
attractive. HTML tags are not case-sensitive. Using graphics, fonts,
different sizes, color, etc., can enhance the presentation of the
document. Anything that is not a tag is part of the document itself.
Basic HTML Tags:
<! --

-->

Specifies comments

21

<A>.</A>

Creates hypertext links

<B>.</B>

Formats text as bold

<TITLE>.</TITLE>

Gives title to the page

<BODY></BODY>

Contains all tags and text in the HTML


document

<CENTER>...</CENTER>

Centers text

Advantages

A HTML document is small and hence easy to send over the net.

It is small because it does not include formatted information.


HTML is platform independent.
HTML tags are not case-sensitive.

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

Even though JavaScript supports both client and server Web


programming, we prefer JavaScript at Client side programming since
most of the browsers supports it. JavaScript is almost as easy to learn
as HTML, and JavaScript statements can be included in HTML
documents by enclosing the statements between a pair of scripting
tags
<SCRIPTS>.. </SCRIPT>.
<SCRIPT LANGUAGE = JavaScript>JavaScript statements
</SCRIPT>
Here are a few things we can do with JavaScript:

Validate the contents of a form and make calculations.


Add scrolling or changing messages to the Browsers status line.
Animate images or rotate images that change when we move the

mouse over them.


Detect the browser in use and display different content for

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

architecture, along with components commonly used in rich Internet


applications.
The library works by first reading the HTML page, which has
embedded into it additional custom tag attributes. Those attributes
are interpreted as directives telling Angular to bind input or output
parts of the page to a model that is represented by standard
JavaScript variables. The values of those JavaScript variables can be
manually set within the code, or retrieved from static or dynamic
JSON resources.

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

Declares the root element of an AngularJS application, under


which directives can be used to declare bindings and define behavior.
ng-bind
Sets the text of a DOM element to the value of an expression.
For example, <span ng-bind="name"></span> will display the value of
name inside the span element. Any changes to the variable name in
the application's scope are reflected instantly in the DOM.
ng-model
Similar to ng-bind, but establishes a two-way data binding
between the view and the scope.
ng-model-options
Allows tuning how model updates are done.
ng-class
Allows class attributes to be dynamically loaded.
ng-controller
Specifies a JavaScript controller class that evaluates HTML
expressions.
ng-repeat
Instantiate an element once per item from a collection.
ng-show & ng-hide
Conditionally show or hide an element, depending on the value
of a boolean expression. Show and hide is achieved by setting the CSS
display style.
ng-switch

25

Conditionally instantiate one template from a set of choices,


depending on the value of a selection expression.
ng-if
Basic if statement directive that allow to show the following
element if the conditions are true. When the condition is false, the
element is removed from the DOM. When true, a clone of the compiled
element is re-inserted.
ng-aria
A module for accessibility support of common ARIA attributes.
ng-animate
A module provides support for JavaScript, CSS3 transition and
CSS3 keyframe animation hooks within existing core and custom
directives.

Two-Way Data Binding


AngularJS' two-way data binding is its most notable feature,
and it reduces the amount of code written by relieving the server
backend of templating responsibilities. Instead, templates are rendered
in plain HTML according to data contained in a scope defined in the
model. The $scope service in Angular detects changes to the model
section and modifies HTML expressions in the view via a controller.
Likewise, any alterations to the view are reflected in the model. This
circumvents the need to actively manipulate the DOM and encourages
bootstrapping and rapid prototyping of web applications.
AngularJS detects changes in models by comparing the current
values with values stored earlier in a process of dirty-checking, unlike

26

Ember.js and Backbone.js that trigger listeners when the model values
are changed.

BOOTSTRAP (FRONT-END FRAMEWORK)


Bootstrap is a free and open-source collection of tools for
creating websites and web applications. It contains HTML- and CSSbased design templates for typography, forms, buttons, navigation and
other interface components, as well as optional JavaScript extensions.
The bootstrap framework aims to ease web development.
Bootstrap is a front end, that is an interface between the user
and the server-side code which resides on the "back end" or server.
And it is a web application framework, that is a software framework
which is designed to support the development of dynamic websites
and web applications.
As of March 2015, it was the most-starred project on GitHub,
with over 78,000 stars and more than 30,000 forks.

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

account the characteristics of the device used (desktop, tablet, mobile


phone).
Starting with version 3.0, Bootstrap adopted a mobile first
design philosophy, emphasizing responsive design by default.
Bootstrap is open source and available on GitHub. Developers
are encouraged to participate in the project and make their own
contributions to the platform.

Structure and Function


Bootstrap is modular and consists essentially of a series of
LESS stylesheets that implement the various components of the
toolkit. A stylesheet called bootstrap.less includes the components
stylesheets. Developers can adapt the Bootstrap file itself, selecting the
components they wish to use in their project.
Adjustments are possible to a limited extent through a central
configuration stylesheet. More profound changes are possible by the
LESS declarations.
The use of LESS stylesheet language allows the use of variables,
functions and operators, nested selectors, as well as so-called mixins.
Since version 2.0, the configuration of Bootstrap also has a
special "Customize" option in the documentation. Moreover, the
developer chooses on a form the desired components and adjusts, if
necessary, the values of various options to their needs. The
subsequently generated package already includes the pre-built CSS
style sheet.
28

Grid system and responsive design comes standard with a


1170 pixel wide, grid layout. Alternatively, the developer can use a
variable-width layout. For both cases, the toolkit has four variations to
make use of different resolutions and types of devices: mobile phones,
portrait and landscape, tablets and PCs with low and high resolution.
Each variation adjusts the width of the columns.

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

Bootstrap comes with several JavaScript components in the


form of jQuery plugins. They provide additional user interface
elements such as dialog boxes, tooltips, and carousels. They also
extend the functionality of some existing interface elements, including
29

for example an auto-complete function for input fields. In version 2.0,


the following JavaScript plugins are supported: Modal, Dropdown,
Scrollspy, Tab, Tooltip, Popover, Alert, Button, Collapse, Carousel and
Typeahead.

Fig 4.6.1 Example of a webpage using Bootstrap framework rendered

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

Understanding how the system is working now


Finding out what the system does now
Understanding what the new system will do and
Understanding how the new system will work.

5.2 ARCHITECTURE DIAGRAM


Display the
modules on the
web page

Submit data to
the database

Backend
API

Allow user to
login and update
the data for
every module.

Fig 5.2.1 Architecture Diagram

5.3 UML DESCRIPTION


The Unified Modeling Language allows the software engineer to
express an analysis model using the modeling notation that is
governed by a set of syntactic semantic and pragmatic rules.
A UML system is represented using five different views that
describe the system from distinctly different perspective. Each view is
defined by a set of diagram, which is as follows.

31

User Model View


i. This view represents the system from the users
perspective.
ii. The analysis representation describes a usage
scenario from the end-users perspective.

Structural model view


i. In this model the data and functionality are arrived
from inside the system.
ii. This model view models the static structures.

Behavioral Model View


It represents the dynamic of behavioral as parts of
the system, depicting the interactions of collection
between various structural elements described in the user
model and structural model view.

Implementation Model View


In this the structural and behavioral as parts of the
system are represented as they are to be built.

Environmental Model View


In this the structural and behavioral aspects of the
environment in which the system is to be implemented are
represented.

UML is specifically constructed through two different domains they


are:
UML Analysis modeling, this focuses on the user model and
structural model views of the system.
UML

design

modeling,

which

focuses

on

the

behavioral

modeling, implementation modeling and environmental model


32

views.

Use case Diagrams represent the functionality of the system from a


users point of view. Use cases are used during requirements
elicitation and analysis to represent the functionality of the system.
Use cases focus on the behavior of the system from external point of
view.
Actors are external entities that interact with the system. Examples
of actors include users like administrator, bank customer etc., or
another system like central database.

33

5.4 UML DIAGRAMS


Use-case Diagram for Owner:

Log in

Adding New Site

Edit/Delete Site details

User Id Creation

User(Owner)

Document Management

Project Management

Get Support

Logout

Fig 5.4.1 Use case diagram for owner

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

Use-case Diagram for Customer:

Log In

Update Profile

View Estimation

View Schedule

View Documents

Customer

Change in Plans

Contacts

Get Support

Log out

Fig 5.4.2 Use case diagram for customer

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.

Use-case Diagram for Worker:

Log in

Project Management

Making Punch Lists


Worker
Contacts

Get Support

Logout

Fig 5.4.3 Use Case diagram for Worker

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()

Fig 5.4.4 Class diagram

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()

Class diagram representing the construction management


system. Each user should have a valid userid and password. Client
can login to the system and update information of the system.

Sequence Diagram for Owner:

:Owner

:Add New Site

:Update/ Delete
Site

:User Id
Creation

:Document
Management

:Project
Management

:Contacts

:Support

:Backend API

Enter Login Details

Enter new sites details

Verify Login Details

Save new site details

Successfully Added new site

Update Site details

Update Details

Successfully Updated / Deleted details

Add new user details

Save new user details


Successfully Added new user

Add/ Update documents

Save Documents

Successfully Updated Documents


Manage Project details

Update Project Details


Success

Add/ Manage Contacts

Manage Contacts

Success
Enter a request mail

Success
Logout
Successfully Loged out from system

Fig 5.4.5 Sequence diagram for owner

Description:

38

Send mail

The above sequence diagram illustrates the project management


operations that can be performed by owner with simple signin into the
system through online.
He can perform operations on accounts, contacts, document
modules.

Sequence Diagram for Customer:

:Customer

:Update Profile

:View
Estimation

:View Schedule

:View
Documents

:Change in
Plans

:Contacts

:Support

:Backend API

Enter login details


Verify login details

Enter update details

Save Update details


Success

Request Estimate
View Estimate
Request Schedule
View Schedule
Request Documents
View Documents
Enter change in plans

Send Change in plans


Success

Add/ Update Contacts

Manage Contacts

Success
Enter request mail

Success
Logout

Logged out from the system

39

Send Mail

Fig 5.4.6 Sequence diagram for customer

Description:
The above sequence diagram illustrates the project management
operations that can be performed by customer with simple signin into
the system through online.

Sequence Diagram for Worker:

:Worker

:Project
Management

:Making Punch
Lists

:Contacts

:Support

:Backend API

Enter Login Details


Verify Login Details

Manage Projects

Manage Projects
Success

Add punch list

Save punch lists

Success
Add/ Manage contacts

Manage Contacts
Success

Enter request mail

Send Mail

Success
Logout
Success

Fig 5.4.7 Sequence diagram for worker

Description:

40

This sequence diagram of worker shows the project management


operations that can be performed by a worker to complete a project
successfully.

Collaboration Diagram for Owner:

41

3: Enter new sites details

:Add New
Site
6: Update Site details

:Owner

:Update/ Delete
Site

15: Manage Project details


12: Add/ Update documents
:Project
Management
:Document
Management
9: Add new user details

21: Enter a request mail


4: Save new site details
18: Add/ Manage Contacts
:User Id
Creation

5: Successfully Added new site


8: Successfully Updated / Deleted details
11: Successfully Added new user
14: Successfully Updated Documents
17: Success
20: Success
23: Success
25: Successfully Loged out from system
10: Save new user details

:Support

7: Update Details

1: Enter Login Details


24: Logout

16: Update Project Details


13: Save Documents

22: Send mail


2: Verify Login Details
19: Manage Contacts

:Contacts

:Backend
API

Fig 5.4.8 Collaboration diagram for Owner

Description:
The

above

collaboration

diagram

illustrates

the

project

management operations that can be performed by owner with simple


signin into the system through online.
He can perform operations on accounts, contacts, document
modules.
42

Collaboration Diagram for Customer:

3: Enter update details

:Update
Profile

:Customer
:View
Estimation

:View
Documents

1: Enter login details


6: Request Estimate
8: Request Schedule
10: Request Documents
21: Logout

:View
Schedule

4: Save Update details

12: Enter change in plans


18: Enter request mail
15: Add/ Update Contacts

5: Success
11: View Documents
14: Success
17: Success
20: Success
22: Logged out from the system

7: View Estimate

9: View Schedule

2: Verify login details

13: Send Change in plans


:Change in
Plans

16: Manage Contacts

:Contacts

:Backend
API

19: Send Mail

:Support

Fig 5.4.9 Collaboration diagram for Customer

Description:
The

above

collaboration

diagram

illustrates

the

project

management operations that can be performed by customer with


simple signin into the system through online.

43

Collaboration Diagram for Worker:

:Project
Management
3: Manage Projects

:Making Punch
Lists

6: Add punch list


:Worker
9: Add/ Manage contacts

1: Enter Login Details


15: Logout

4: Manage Projects

12: Enter request mail


5: Success
8: Success
11: Success
14: Success
16: Success

:Support

7: Save punch lists

:Contacts

2: Verify Login Details

13: Send Mail


10: Manage Contacts

:Backend
API

Fig 5.4.10 Collaboration diagram for worker

Description:
This

collaboration

diagram

of

worker

shows

the

project

management operations that can be performed by a worker to


complete a project successfully.

44

Activity Diagram for valid login:

Enter email address and


password

Verify
Authentication

Invalid User

Invalid signin message


is displayed

Valid User

Login to System
Successfully

Fig 5.4.11 Activity diagram for login

Description:

45

The above diagram depicts the activities that are undergone


when a login operation is being performed on the construction
management system.

5.5 DATA FLOW DIAGRAMS


5.5.1 DFD Diagram for Login

Fig 5.5.1 DFD Diagram for Login

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

5.5.2 DFD Diagram of User

Fig 5.5.2 DFD Diagram for User

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.

5.5.3 DFD Diagram of Update Profile

Fig 5.5.3 DFD Diagram for Update Profile

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

built such that serves similar kind of functionalities and provide


desired results for the customers. By this implementation it is very
easy to develop and use the application by dividing it into modules.
In construction management system, we developed a total of 8
modules which are named below and each of them are explained
clearly i.e., their functionality, limitations and advantages which
makes our application unique from others.
This application consists of following modules
1.
2.
3.
4.
5.
6.
7.
8.

Accounts Module
Estimation Module
Scheduling Module
Document Management Module
Materials and Aggregate Management
Equipment Management
Contacts Module
Support Module

6.2 MODULE DESCRIPTION:


ACCOUNTS:
Managing your accounts payable and subcontracts can quickly
become difficult without the right construction management software.
System tracks subcontracts, lien releases, and change orders, giving
you complete insight into your accounts.
Whether you bill based on percent complete or unit price,
Construction

Software

will

meet

your

construction

companys

accounts receivable needs. Systems Accounts Receivable also tracks


sales tax and generates tax reports based on your jobs. Because sales
tax is not always applicable, portal has the ability to apply sales tax

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.

Make informed financial decisions from the field


Track expenses against budgets in real time
Share the financial status of projects with your team
Import estimates for quick setup

51

Budget and Cost Management provides the backbone to managing and


forecasting the financial success of all programs and projects. The
applications features combined with platform functions, deliver a
comprehensive

Web-based

system

for

managing

the

budget

development process and comparing budgets to actual costs. You can:

Organize your budget into a detailed scope breakdown

Manage contracts and change orders all integrated with the


budget

Track changes early on and gain visibility into anticipated costs

Roll up and drill into all financial metrics to gain visibility into
project activities

Benefits of Estimation Tool:

Avoid dual entry with spreadsheets


Ensure forecasts are accurate
Get real time insight into your project's profitability
Transfer funds to and from contingency and allowance line

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

Contractors and other coordinating agencies.


Scheduling includes the following:
1. Determination of the amount of work to be done.
2. The order in which the work is to be performed at each stage
3. The time when each part of the work will start.
4. Allocation of the quantity and rate of output of departments.
5. The date of starting of each unit of work at each stage along the
route to be followed.

Need for Scheduling


A project usually is a one-time effort. Every project will have its
own features and they are of non-repetitive nature. In order to
complete a project efficiently, the project manager must plan and
schedule. During the course of project he will have to replan and
schedule due to unexpected progress, delay or due to technical
conditions. The main aspect of project management will be scheduling
different activities in an acceptable time span and finally with
controlling the progress of scheduled work.
Successful projects and programs require management of
countless tasks, activities, milestones and relationships in order to
finish

on

time.

The

Scheduling

application

manages

multiple

schedules across projects and programs, providing executives instant


visibility of projects that are ahead of schedule and those critically
behind schedule.

DOCUMENT MANAGEMENT:

53

Many construction companies have filing cabinets full of


documents pertaining to jobs, vendors, subcontracts, and employees.
Even with a good filing system, documents can get lost or can be hard
to find. Construction Softwares Document Imaging lets you lose the
cabinets, creating all electronic records that you can store and
associate with jobs, employee records, accounting transactions - with
any record in your system.

Attach Documents Anywhere


Document Imaging fully integrates with other components, and
enables you to scan and attach documents seamlessly to data,
whether youre working in Accounts Payable, Accounts Receivable,
Equipment Management, or any other Spectrum solution. With this
capability, you can attach a signed change order, the spreadsheet
showing the pricing for the change order, and the string of emails
discussing the change order all to an entry in Job Cost.

Scanning and Assignment Options


As integrated construction software, Spectrum gives you three
ways to attach your documents in Document Imaging:

As a batch if you need to enter time cards or purchase orders,


you can scan large batches of documents and associate them
with the appropriate transactions.

During data entry while entering a transaction, such as a


work order, you can scan and associate the paper work order
without leaving the Work Order screen.
54

After the fact if a document isnt available to scan at the time


of data entry, Spectrum gives you the ability to go back and
attach it at a later time.

MATERIALS AND AGGREGATE MANAGEMENT:


If your construction company has an aggregate pit or quarry,
you understand the importance of tight material controls. Materials &
Aggregate Management solution, including integration with scale
applications, gives you the data and the reporting tools you need to
ensure accuracy and efficiency in your operations.
If you rely on a third-party to haul materials, Spectrum helps
you verify their time and mileage with freight cost reconciliation. You
can compare the invoice from your vendor to tickets from your scales
application, ensuring you are never overcharged.
We know that occasionally scales break or hauling must be put
on hold. As a complete construction management software solution,
Spectrum was designed to handle wait time in addition to hauling
management. You may need to purchase aggregate from third-party
vendors who invoice you.
Using the materials cost reconciliation function within the
materials & aggregate management solution, you can either bill your
customer for the materials or requisition the materials to the job.
Materials module works with other applications, including Job
Cost, Inventory Control, Purchase Order, and Accounts Payable,
without the need for double data entry. When a ticket is created and
imported into system, you can apply the costs to a specific job, create
55

an invoice, or create a purchase order. You can also adjust your


inventory depending on whether materials were transported in or out
of your facility.

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 cost tracking

Equipment tracking

Equipment resource scheduling

Providing a powerful combination of data capture and analysis,


system lets you take active control of your equipment, helping you get
the most mileage out of each machine and optimize the performance
of your entire fleet.
While in use, your heavy equipment incurs operating costs in the
way of fuel consumption, wear on tires, and oil changes. Whether or
not your equipment is running, you have fixed costs such as licensing
and insurance. Equipment control solution tracks operating and fixed
costs on each piece of heavy equipment.

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.

Store an unlimited number of contacts

Share contact information with your team

Access contacts from mobile devices

Create and assign role-based permissions

57

Store and Share Unlimited Contacts


Construction project management software stores an unlimited
number of contacts in its database that are instantly available to
anyone on your team. Once entered, those contacts can be assigned to
any project in your organization's project portfolio. Contacts can also
be exported in a standard CSV format.

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

We believe you should always be able to talk to a real person


when youre in need of software support. We understand that every
business faces unique challenges, and sometimes those challenges
need customized solutions.
The aim of this module is to serve the customers whenever there
is a problem in using the software. We will always be available to the
customers through mail or through phone.
We want to interact with our customers to get feedback and also
to support them all the time. The software is easy to use by its
interface but there may be some difficulties in accessing the data or
something but whatever the problem is we are here to serve our
customers the best.
The customers always look for the company who gives them
maximum help in time of need. Support is provided to users by
responding to their mails or their messages over phone.
Once a person logs into our system we are there to help him all
the time and take good reviews from him.

6.3 SAMPLE CODE


59

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

<a href="#/estimation" class="list-group-item list-groupitem-success">Estimation</a>


<a href="#/scheduling" class="list-group-item list-groupitem-success">Scheduling</a>
<a href="#/documentManagement" class="list-group-item
list-group-item-success">Document Management</a>
<a href="#demo3" class="list-group-item list-group-itemsuccess" data-toggle="collapse" data-parent="#MainMenu">Material
Management&nbsp;&nbsp;<i class="fa fa-angle-down"></i></a>
<div class="collapse" id="demo3">
<a href="#/skeleton" class="list-group-item" datatoggle="collapse" data-parent="#SubMenu1">Skeleton</a>
<a href="#/interior" class="list-groupitem">Interior</a>
</div>
<a href="#demo4" class="list-group-item list-group-itemsuccess" data-toggle="collapse" data-parent="#MainMenu">Equipment
Management&nbsp;&nbsp;<i class="fa fa-angle-down"></i></a>
<div class="collapse" id="demo4">
<a href="#/equipmentControl" class="list-groupitem">Equipment Control</a>
<a href="#/equipmentTracking" class="list-groupitem">Equipment Tracking</a>
<a href="#/resourceScheduling" class="list-groupitem">Resource Scheduling</a>
</div>
<a href="#/accounts" class="list-group-item list-groupitem-success">Accounts</a>

62

<a href="#/contacts" class="list-group-item list-groupitem-success">Contacts</a>


<a href="#/support" class="list-group-item list-groupitem-success">Support</a>
</div>
</div>
<div ng-controller="CalcController as calc" class="calc">
<form>
<div class="table-responsive">
<table class="table table-bordered">
<tr><td colspan="4"><h3>Calculator</h3></td></tr>
<tr><td colspan="4">
<input type="text" ng-model="calc.input()" class="form-control"
placeholder="0">
</td></tr>
<tr>
<td>
<button class="btn btn-default" ngclick="calc.setResult(1)">1</button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.setResult(2)">2</button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.setResult(3)">3</button>
</td>
<td>
63

<button class="btn btn-default" ngclick="calc.op('+')"><b>+</b></button>


</td>
</tr>
<tr>
<td>
<button class="btn btn-default" ngclick="calc.setResult(4)">4</button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.setResult(5)">5</button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.setResult(6)">6</button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.op('-')"><b>-</b></button>
</td>
</tr>
<tr>
<td>
<button class="btn btn-default" ngclick="calc.setResult(7)">7</button>
</td>
<td>

64

<button class="btn btn-default" ngclick="calc.setResult(8)">8</button>


</td>
<td>
<button class="btn btn-default" ngclick="calc.setResult(9)">9</button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.op('*')"><b>*</b></button>
</td>
</tr>
<tr>
<td>
<button class="btn btn-danger" ngclick="calc.clear()"><b>C</b></button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.setResult(0)">0</button>
</td>
<td>
<button class="btn btn-success" ngclick="calc.dis()"><b>=</b></button>
</td>
<td>
<button class="btn btn-default" ngclick="calc.op('/')"><b>/</b></button>
</td>
65

</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

if( contacts[i].id === id){


$scope.contact = contacts[i];
break;
}
}
contacts.splice(contacts.indexOf($scope.contact),1);
$scope.contact = [];
$location.path('/contacts');
};
}
]);

69

CHAPTER 7
7. RESULTS
7.1 SCREEN SHOTS
Login Screen:

70

Fig 7.1.1 Login Screen

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

Fig 7.1.2 Dashboard

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:

Fig 7.1.3 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

Add New Site:

Fig 7.1.4 Add New Site

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:

Fig 7.1.5 Company Profile


75

Description:
This screen showcases the company profile page for updating
the details of the company who uses this software.

User ID Creation:

76

Fig 7.1.6 User ID Creation

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:

Fig 7.1.7 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:

Fig 7.1.8 Document Management

Description:
The screen above is to display the document management
module of construction management system where new documents

79

can be uploaded, existing ones can be edited or deleted from the


system.

Material Management:

Fig 7.1.9 Material Management

Description:

80

The screen above is to display the material management module


where the materials data is stored to system to maintain project on
budget such as data about cement, steel, sand etc.

Contacts:

81

Fig 7.1.10 Contacts

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:

Fig 7.1.11 Support Page

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

computer software. Testing is a process of technical investigation,


performed on behalf of stakeholders, that is intended to reveal qualityrelated information about the product with respect to the context in
which it is intended to operate. Quality is not an absolute; it is value
to some person. With that in mind, testing can never completely
establish the correctness of arbitrary computer software; testing
furnishes a criticism or comparison that compares the state and
behavior of the product against a specification. An important point is
that software testing should be distinguished from the separate
discipline of Software Quality Assurance (SQA), which encompasses
all business process areas, not just testing.

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

them being that the faulty portion of computer software executes on


the CPU. A fault can also turn into a failure when the software is
ported to a different hardware platform or a different compiler, or
when the software gets extended. Software testing is the technical
investigation of the product under test to provide stakeholders with
quality related information.
Software testing may be viewed as a sub-field of Software
Quality Assurance but typically exists independently (and there may
be no SQA areas in some companies). In SQA, software process
specialists and auditors take a broader view on software and its
development. They examine and change the software engineering
process itself to reduce the amount of faults that end up in the code
or deliver faster.
Regardless of the methods used or level of formality involved the
desired result of testing is a level of confidence in the software so that
the organization is confident that the software has an acceptable
defect rate. What constitutes an acceptable defect rate depends on the
nature of the software. An arcade video game designed to simulate
flying an airplane would presumably have a much higher tolerance for
defects than software used to control an actual airliner.
A problem with software testing is that the number of defects in
a

software

product

can

be

very

large,

and

the

number

of

configurations of the product larger still. Bugs that occur infrequently


are difficult to find in testing. A rule of thumb is that a system that is
expected to function without faults for a certain length of time must
have already been tested for at least that length of time. This has
severe consequences for projects to write long-lived reliable software.

85

A common practice of software testing is that it is performed by


an independent group of testers after the functionality is developed
but before it is shipped to the customer. This practice often results in
the testing phase being used as project buffer to compensate for
project delays. Another practice is to start software testing at the same
moment the project starts and it is a continuous process until the
project finishes.

8.1 TESTING TECHNIQUES


White-box and black-box testing:
To meet Wikipedia's quality standards, this section may require
cleanup.
Please discuss this issue on the talk page, and/or replace this tag
with a more specific message.
White box and black box testing are terms used to describe the
point of view a test engineer takes when designing test cases. Black
box is an external view of the test object while white box is an internal
view. Software testing is partly intuitive, but largely systematic. Good
testing involves much more than just running the program a few times
to see whether it works. Thorough analysis of the program under test,
backed by a broad knowledge of testing techniques and tools are
prerequisites to systematic testing. Software Testing is the process of
executing software in a controlled manner; in order to answer the
86

question Does this software behave as specified? Software testing is


used in association with Verification and Validation. Verification is the
checking of or testing of items, including software, for conformance
and consistency with an associated specification. Software testing is
just one kind of verification, which also uses techniques as reviews,
inspections, walk-through. Validation is the process of checking what
has been specified is what the user actually wanted.

Validation: Are we doing the right job?

Verification: Are we doing the job right?

At SDEI, 3 levels of software testing is done at various SDLC phases

Unit Testing: in which each unit (basic component) of the


software is tested to verify that the detailed design for the unit
has been correctly implemented

Integration testing: in which progressively larger groups of


tested software components corresponding to elements of the
architectural design are integrated and tested until the software
works as a whole.

System testing: in which the software is integrated to the overall


product and tested to show that all requirements are met

further

level

of

testing

is

also

done,

in

accordance

with

requirements:

Acceptance testing: upon which the acceptance of the complete


software is based. The clients often do this.

87

Regression testing: is used to refer the repetition of the earlier


successful tests to ensure that changes made in the software
have not introduced new bugs/side effects.

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.

8.2 TESTING STRATEGIES

Unit testing tests the minimal software component and subcomponent or modules by the programmers.

Integration testing exposes defects in the interfaces and


interaction between integrated components (modules).

Functional testing tests the product according to programmable


work.

88

System testing tests an integrated system to verify/validate that


it meets its requirements.

Acceptance testing can be conducted by the client. It allows the


end-user or customer or client to decide whether or not to
accept the product. Acceptance testing may be performed after
the testing and before the implementation phase. See also
Development stage
o Alpha testing is simulated or actual operational testing by
potential users/customers or an independent test team at
the developers' site. Alpha testing is often employed for
off-the-shelf software as a form of internal acceptance
testing, before the software goes to beta testing.
o Beta testing comes after alpha testing. Versions of the
software, known as beta versions, are released to a limited
audience outside of the company. The software is released
to groups of people so that further testing can ensure the
product has few faults or bugs. Sometimes, beta versions
are made available to the open public to increase the
feedback field to a maximal number of future users.
It should be noted that although both Alpha and Beta are

referred to as testing it is in fact use emersion. The rigors that are


applied are often unsystematic and many of the basic tenets of testing
process are not used. The Alpha and Beta period provides insight into
environmental and utilization conditions that can impact the software.
After modifying software, either for a change in functionality or
to fix defects, a regression test re-runs previously passing tests on the
89

modified

software

to

ensure

that

the

modifications

haven't

unintentionally caused a regression of previous functionality.

A sample testing cycle

Although testing varies between organizations, there is a cycle to


testing:
1. Requirements

Analysis:

Testing

should

begin

in

the

requirements phase of the software development life cycle.


2. Test Planning: Test Strategy, Test Plan(s), Test Bed creation.
3. Test Development: Test Procedures, Test Scenarios, Test Cases,
and Test Scripts to use in testing software.
4. Test Execution: Testers execute the software based on the
plans and tests and report any errors found to the development
team.
5. Test Reporting: Once testing is completed, testers generate
metrics and make final reports on their test effort and whether
or not the software tested is ready for release.
6. Retesting the Defects:
Not all errors or defects reported must be fixed by a software
development

team.

Some

may

be

caused

by

errors

in

configuring the test software to match the development or


production environment. Some defects can be handled by a
workaround in the production environment. Others might be
deferred to future releases of the software, or the deficiency
90

might be accepted by the business user. There are yet other


defects that may be rejected by the development team (of course,
with due reason) if they deem it inappropriate to be called a
defect.

8.3 TEST CASES


S. No.

Test Case

Actual Behavior

Observed

Result

Behavior
1

Run the

It should open the user

-do-

Pass

application
Validating the

interface
It should take the values

-do-

Pass

Password
Click on login

It should open the dashboard

-do-

Pass

button
Registering new

It should take all the details

-do-

Pass

user
Click on submit

regarding the new user


It should submit all the

-do-

Pass

button

details to database and take

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

database and show it in the

Retrieval of

list
When click on any link

valid data

should display the required

Updating data

data
Must show existing data

Username and

91

-do-

Pass

-do-

Pass

10

about materials

about asked material to make

Click on save

changes
It should submit details to the -do-

button

database and show it in the

Pass

list

CHAPTER - 9
9. CONCLUSION
9.1 CONCLUSION
This

project

is

able

to

successfully

incorporate

all

the

requirements specified by the Construction Operation System. Proper


care has been taken during database design to maintain data integrity
and to avoid data redundancy.
The Construction Operation system is provided with a very
friendly interface with project. Design procedures are included in the
project to have the Document management better understand the
system.
The project is designed and coded in such a way that any
further modifications that are needed in the future can be easily
implemented without affecting the functionality of the system.
The documentation provided in the project report helps the
application developers understand the internal architecture of the
92

system and thus assist them in enhancing the system. Finally it is a


very useful tool for big organization.

CHAPTER 10
10.

FUTURE ENHANCEMENTS

10.1 FUTURE ENHANCEMENTS


It is not possible to develop a system that makes all the
requirements of the user. User requirements keep changing as the
system is being used. Some of the future enhancements that can be
done to this system are:

Based on the future security issues, security can be improved


using emerging technologies.

The system can be made adaptable to the mobiles.

The system does not have a module to manage human resources


in future it can be added.

As the technology emerges, it is possible to upgrade the system


and can be adaptable to desired environment.
93

In future we can increase the speed of application to make


works done in no time.

These internet applications upon using get very intelligent.

Once our project is successful, in future we are planning it to


bring it to mobiles as an application.

The software in future gets the ledger book to note down each
and every penny you have spent.

CHAPTER 11
11.

BIBLIOGRAPHY

11.1 REFERENCE BOOKS

Book Name
The Book of JavaScript
2nd Edition

Author

Dave Thau

94

Publisher

OReilly Media

Core HTML5 Canvas:

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

11.2 REFERENCE WEBSITES


Bootstrap Resources

http://getbootstrap.com/

AngularJS

https://angularjs.org/

HTML and JavaScript

http://www.w3schools.com

95

You might also like