A BOTTOMS-UP APPROACH TO COST ESTIMATION ... - OhioLINK ETD

66 downloads 13263 Views 522KB Size Report
This paper begins by discussing how a generic cost estimator is created, combining the ease of ...... Once the model has been defined, application of the method .... While these techniques help designers, an expert in home building must sit.
A BOTTOMS-UP APPROACH TO COST ESTIMATION USING PARAMETRIC INPUTS

A thesis presented to the faculty of the Fritz J. and Dolores H. Russ College of Engineering and Technology of Ohio University

In partial fulfillment of the requirements for the degree Master of Science

Charles A. Toth March 2006

This thesis entitled A BOTTOMS-UP APPROACH TO COST ESTIMATION USING PARAMETRIC INPUTS

by CHARLES A. TOTH

has been approved for the School of Electrical Engineering and Computer Science and the Russ College of Engineering and Technology by

Robert P. Judd Cooper Industries Professor Industrial and Manufacturing Systems Engineering

Dennis Irwin Dean, Russ College of Engineering and Technology

Abstract TOTH, CHARLES A. M.S. March 2006. Electrical Engineering A Bottoms-Up Approach to Cost Estimation Using Parametric Inputs (78 pp.) Director of Thesis: Robert Judd

This paper begins by discussing how a generic cost estimator is created, combining the ease of use of parametric cost estimation while maintaining the detail of bottoms-up cost estimation. A part modeling methodology will then be discussed that can be used to enter parts into the model. The idea of geometric creation, which is the way to estimate the amount of raw material that is used in the construction of the part, will also be discussed. Finally, all of these ideas will be implemented, efficiently, in a software cost estimator. This paper’s final contribution is the creation of an example that will show how a model can be created to estimate the cost of a house. Once implemented, test data will be entered and the results will be discussed.

Approved: Robert Judd Cooper Industries Professor Industrial and Manufacturing Systems Engineering

Acknowledgements I would like to thank my advisor, Dr. Robert Judd. Without his constant support and seemingly endless knowledge, this thesis would not have been possible. He always knows how to keep me on track so that I produce the best work possible. It has been an honor and a privilege to work with him for the past three years, and I feel he has made me a better engineer. I would like to thank Will Richer and the other engineers at General Electric: Aircraft Engine Division, as well as GE itself for supporting the project and giving me this wonderful opportunity. I am proud to say that I contributed to research for such a respectable company. I would like to thank Dr. Dale Masel for his constant support and leadership throughout my three years on the project. He always had time for me and always listened to what I had to say. Whenever I needed guidance, he was always there to help. He, also, has made me a better engineer. I would also like to thank my committee members, Dr. Maarten Uijt de Haag and Dr. Cynthia Marling. I appreciate them both taking time to examine my thesis and hear my defense. They are two of the finest professors I know and it is an honor to have them on my committee. The whole experience would not have been as exciting without my friends and co-workers, Dave Divelbiss and Bill Young. We worked together very effectively as a team and the work environment was second to none. I appreciate all they have done for me.

I would like to extend my utmost thanks to my parents.

Their constant

encouragement and guidance has helped mold me into the person I am today.

I

appreciate their never-ending support and am lucky to have them as my parents. Last, but not least, I would like to thank my brother, Chip. Brother is a loose term for our relationship, because he is more than my brother, he is my best friend. There is absolutely no way this thesis would have been completed without his endless support. He always helped me get through the hard times, the writing blocks, and the creative impasses. I can’t thank him enough for the help he has given me.

vi TABLE OF CONTENTS Page Introduction..................................................................................................................8 Literature Review ......................................................................................................10 2.1 Cost Estimation Methods.................................................................................. 10 2.1.1 The Parametric Method............................................................................. 11 2.1.2 The Bottoms-Up Method .......................................................................... 12 2.1.3 The Comparative Method ......................................................................... 13 2.2 Other Attempts at Merging the Parametric and Bottoms-Up Cost Estimation Methods ........................................................................................................................ 14 2.3 Current Techniques Used to Estimate the Cost of a House .............................. 15 3 The Approach ............................................................................................................17 3.1 The Primary Contribution ................................................................................. 17 3.2 Part Modeling Methodology ............................................................................. 21 3.3 Geometric Creation........................................................................................... 22 3.4 Organization of Cost Elements ......................................................................... 24 4 Creation of the Costing Techniques in JAVA ...........................................................26 4.1 The FIPER Cost Estimator................................................................................ 27 4.2 JAVA Class Hierarchy Creation....................................................................... 29 5 House Construction ...................................................................................................31 5.1 Basement Construction ..................................................................................... 31 5.2 Construction of the First and Subsequent Levels ............................................. 32 6 Creation of the House Model in the Cost Estimator..................................................34 6.1 House JAVA Class Hierarchy .......................................................................... 35 6.2 Elemental Interrelations in JAVA..................................................................... 38 6.3 Code Implementation Results ........................................................................... 42 6.3.1 The Front Page.......................................................................................... 42 6.3.2 The Floor element..................................................................................... 46 6.3.3 Framing Elements ..................................................................................... 48 6.3.4 Utility Elements ........................................................................................ 49 6.4 Estimates and Calculations ............................................................................... 51 6.4.1 Floor, Flooring and Wall Estimates ......................................................... 51 6.4.2 Utility Estimates........................................................................................ 57 7 Data Entry into the House Model Example...............................................................58 7.1 Explanation of Example Data ........................................................................... 59 7.1.1 Framing Data ............................................................................................ 59 7.1.2 Electrical, Plumbing, and Climate Control Data ...................................... 64 7.2 Results of the Example ..................................................................................... 68 8 Conclusions................................................................................................................73 8.1 The Primary Contribution ................................................................................. 73 8.2 Part Modeling Methodology ............................................................................. 74 8.3 Geometric Creation........................................................................................... 75 8.4 Organization of Cost Elements ......................................................................... 75 8.5 Future Efforts .................................................................................................... 76 References..........................................................................................................................77 1 2

vii LIST OF FIGURES Page Figure 3-1: Cost Estimation Architecture for a House ..................................................... 20 Figure 3-2: Forged Material.............................................................................................. 23 Figure 3-3: WBS Tree for a House ................................................................................... 25 Figure 4-1: A Generic Package Hierarchy........................................................................ 30 Figure 5-1: Basic Wall with Door and Window ............................................................... 32 Figure 6-1: House Package ............................................................................................... 35 Figure 6-2: House Package Hierarchy .............................................................................. 36 Figure 6-3: House-Component Package Hierarchy .......................................................... 37 Figure 6-4: House-Feature Package Hierarchy ................................................................ 37 Figure 6-5: House Elemental Hierarchy ........................................................................... 39 Figure 6-6: House Elemental Hierarchy (continued)........................................................ 41 Figure 6-7: Empty HouseElement Element ...................................................................... 43 Figure 6-8: Outer Wall Data Table ................................................................................... 44 Figure 6-9: Point Data Table............................................................................................. 45 Figure 6-10: Inner Wall Data Table.................................................................................. 46 Figure 6-11: Empty Floor Element ................................................................................... 47 Figure 6-12: Area Calculation .......................................................................................... 52 Figure 7-1: Basic Floor Plan ............................................................................................. 60 Figure 7-2: Level 1 with Windows and Door ................................................................... 62 Figure 7-3: Level 1 with Interior Walls ............................................................................ 63 Figure 7-4: Level 0 Utility Locations ............................................................................... 64 Figure 7-5: Level 1 with Electrical Switches, Receptacles, and Lighting ........................ 65 Figure 7-6: Level 1 with Electrical Junction Boxes.......................................................... 66 Figure 7-7: Level 1 with Plumbing and HVAC Installations ........................................... 67 Figure 7-8: HouseElement with All Data Entered............................................................ 69 Figure 7-9: Basement Floor with Data Entered ................................................................ 70 Figure 7-10: Floor 1 with Data Entered............................................................................ 72

8

1

INTRODUCTION Recent advances in computer technology have made people’s lives easier by

providing the power to perform complex data manipulations in a very short amount of time. Moreover, cost estimation methodologies that were once complicated can now be made less complicated using computers. There are many types of cost estimation. Some use similar parts that have been already manufactured to gauge what the cost should be. Others take into consideration an estimation of material and the processes that are performed on that material to change it into a final product. Each of the different techniques has its respective advantages and disadvantages. The more accurate costing techniques use past data, but are generally less effective for parts that have never been manufactured. Some techniques are very easy for the user to implement, while others need an expert in the field to find the data needed. The approach that is taken in this work is to merge two types of cost estimation so that the estimate has inputs that are easy for the user to find, while still generating an accurate estimate. The two types of cost estimation that will be used are parametric and process-based or “bottoms-up”.

Parametric cost estimation uses key attributes or

parameters that describe a part that is to be constructed in a very general way. Minimizing the number of attributes needed is the goal of parametric costing techniques. While this method is easier for the user to enter data, it is generally less accurate than many other cost estimation techniques. Conversely, the process-based or “bottoms-up” method takes into consideration the processes that go into changing the raw material into a final product. While this can be very accurate, it is very hard to find the inputs that go

9 into it. Raw material is needed and is usually not found on a conventional drawing. In this case, an expert in the field must be brought in to estimate the raw material that is needed and to adjust the processes accordingly.

Both of these techniques will be

described more completely in Chapter 2. It will be shown that there is a feasible way to merge the two types of cost estimation so that the best of both worlds can be attained by creating a three-layer system comprised of the user layer, the costing (CER) layer and a transition layer. The user layer is the layer with which the user interacts. The costing, or CER layer, is the layer in which the costing calculations are implemented and executed. The transition layer is the layer that resides between the two previous layers. It takes the data from the user layer and generates the inputs to the CER layer. The transition layer is the key component that makes this costing technique work and will be discussed further in Chapter 3. Once the costing method has been created in concept, it will then be implemented in a software environment so that the computer can do most of the work. In the case of this work, JAVA will be used and the Cost Estimator created by the FIPER team will be utilized. This approach will be discussed in Chapter 4. Once the way in which the cost estimator is to be used and implemented is explained, an example will comprise the rest of the paper. Chapters 5-7 explain the basics of house construction, followed by the creation of the house example in the cost estimator. This is then followed by data entry of a fictional house into the finished cost estimator. The house example was chosen because the processes that go into manufacturing a house are well known and easy to understand. While the example is simple, the

10 techniques and methods used in it are currently in use by General Electric: Aircraft Engine Division. The cost estimator that was developed for them is currently used as their method of cost estimation.

2

LITERATURE REVIEW Although the majority of a product’s cost, typically about 80%, is determined

early in the design stage, many decisions about the design are made during this stage with little knowledge of the effect on downstream cost centers [1]. Furthermore, the cost to create a manufactured part is even more difficult to estimate because of all of the factors on which the cost is dependent. Since so many decisions about the manufacture of a part are made during the design stage, an accurate cost model would enable the designers to change the design so that the cost of the part might be more desirable. Hence, it would be very useful if designers could be supplied with accurate costing tools. In the coming sections, past and present costing methods will be discussed. The different types will first be discussed, followed by a study of past attempts to merge current costing schemes, and by a study of current methods used to estimate the cost of manufacturing a building. 2.1

Cost Estimation Methods Estimating future costs and development schedules is one of the more difficult

tasks that analysts face [2]. In this section, three traditional cost estimation techniques

11 will be discussed. These techniques are parametric, bottoms-up and estimate by analogy. The details will be discussed along with advantages and disadvantages of each. While each cost estimation technique has certain advantages and disadvantages, it should be noted that all three share one common drawback: the relationships that the models are constructed from are based on historical data. The problem with relying on historical data is the assumption that the cost of the part that is manufactured now will be similar to a part that is manufactured in the future. If future data changes, then the models are thrown off, and unless the estimate is scaled, it will no longer be accurate. 2.1.1

The Parametric Method NASA’s Parametric Cost Estimating Handbook [3] states that parametric cost

estimation is a way of estimating costs using Cost Estimating Relationships (CERs), along with mathematical algorithms and other logic to establish a cost estimate. Moreover, the parametric method seeks to evaluate the costs of a product from the parameters characterizing the product but without describing it completely [4]. Simply put, if the original cost is known of the item being manufactured, users can take simple inputs and generate a model that will produce a cost that is reasonably accurate. Ease of use, once the model is constructed, is the key advantage of parametric cost estimation. Parametric methods use the knowledge of a certain number of physical characteristics or parameters such as the mass, the volume and the number of inputs or outputs [4]. This allows an estimate to be created without having the knowledge of detailed information. Parametric estimates are based on historical data and mathematical expressions relating cost as the dependent variable to selected, independent, cost-driving variables

12 through regression analysis. The implicit assumption of this approach is that the same forces that affected cost in the past will affect cost in the future [5]. Based on the information given above, the main benefit of parametric cost estimation is its ease of use. Once the model has been defined, application of the method is straightforward. Data is easy to implement, and any user can look at a design and find the input data needed. By taking general, broad attributes, a fairly accurate estimate can be generated. This allows an estimate to be made without the presence of a detailed conceptual design. Some disadvantages of parametric cost estimation are that the model itself can be very difficult to develop [2]. To begin, one needs to first develop appropriate parameters, and this person usually has to be an expert on the topic. Next, historical data must be found, as well as relationships that can take vague inputs and produce a cost that is as accurate as possible. On top of being difficult to develop, accuracy is another great drawback of this technique. Other methods, while more complicated for the user, are generally more accurate. 2.1.2

The Bottoms-Up Method Bottoms-up costing, also known as process based costing, relies on detailed

engineering analysis and calculation to determine an estimate [2]. Traditionally, process based cost estimation is a way to estimate costs based on the idea that the costs of all of the processes that produce the desired finished product have a cost that can be associated with them. The bottoms-up portion of this type of cost estimation can be seen when each process is estimated separately, for each subcomponent, and then all of the results are

13 combined, or rolled up, to produce one total estimate. Similar to the parametric method, historical costs are examined, and CERs for each process are created. Traditionally, bottoms-up costing techniques account for overhead in materials and expenses, as well as expenses based on labor [6]. It is primarily aimed at enlarging the range of cost drivers in product costing in order to broaden the scope of activities for which the cost can be casually linked to products [7]. The greatest advantage of this method is that an accurate model is developed for each process. Because the accuracy of these models can be very good, and every process is accounted for, this method is a very powerful way to estimate cost. The main drawback of process-based cost estimation is that an expert in the area of manufacture must estimate the amount of raw material that is used by each process model. Because this process is very tedious, it does not afford a quick way to estimate cost. The design must be very detailed as well, in order for the input data to be precise. 2.1.3

The Comparative Method This method of estimating cost, sometimes called estimation by analogy, is

usually a very simple way to estimate cost. With this approach, an analyst selects a system that is similar to or related to the system undergoing the cost analysis and makes adjustments for the differences between the two systems [2]. An example of this method is ACE, or the Acquisition Cost Estimator [8]. For each set of parts, or “part families’ as they are called, CERs are used to calculate labor hours for each. The user sees attributes that describe the geometry and other features of the part. Once the part is known by ACE, it then scales the proposed part and finds its closest match in a database of parts that have been previously manufactured, and whose

14 total cost is known. Once the matching criteria have been met between the actual part, and the part whose cost is going to be estimated, a ratio is developed to find the scale between the parts. The total cost is then scaled accordingly. The main advantage of this technique is that it is very quick, and there are not a lot of inputs required. The only estimation that has to be done is how much the cost should be scaled based on the matching criteria. Conversely, if no elements are found to be within the threshold for comparison, then the model is completely ineffective and unusable.

Clearly, this poses a large

concern if the database from which the user is pooling is limited. In extreme cases, if no element is found within the threshold, there will be no estimate that is generated. 2.2

Other Attempts at Merging the Parametric and Bottoms-Up Cost Estimation Methods Three different types of cost estimation were discussed in the last section. Since

the focus of this work is to merge two of those techniques, this section will study past works that have attempted to accomplish the same. While many cost estimation techniques were studied, it was found that the attempt of creating a generic cost estimator that uses both parametric and bottoms-up cost estimation was done by only one other group. Kulkarni and Bao [9] state that parametric estimation works well in the early design stage, but when it comes to detail, a more complete estimation is provided by process model based and detail estimation techniques. The authors did a study to estimate process cost directly from the design specifications, effectively bridging the two types of cost estimation.

15 While the general idea of merging the two cost estimation schemes is similar to what will be outlined in this paper, the methods employed to bridge the two types of cost estimation differ. Kulkarni and Bao’s model uses a cost modulus and cost coefficients, taking a more general approach to cost estimation problems. The cost modulus is used as an index of cost for the design compared to a standard reference design of which cost is known. In other words, there is a cost that is associated with a known process that is similar to what is to be performed on the new part. The cost modulus is derived by the model and the known cost is scaled by the modulus. In order to estimate cost using the cost modulus, a reference object is created. References such as shape, size, precision, and material used make up the reference object. Changes to the cost modulus are determined based on the deviation of the part to be manufactured from the reference object. While the cost modulus is a relative index of final cost, cost coefficients are relative cost effects due to individual design specifications [9]. The cost coefficients, using specific calculations to calculate the cost of each process, are accumulated to make up the cost modulus. 2.3

Current Techniques Used to Estimate the Cost of a House Construction cost estimators are confronted with the challenging task of having to

estimate the cost of constructing one-of-a-kind facilities [10]. While buildings can be similar in construction material, usually the shape is different, as well as what makes up the structure inside of its shell. In Chapter 6, an example will be used to show the

16 implementation of a house into the cost estimator.

This section discusses other

techniques that are used to estimate the cost of a house. The estimation technique in [10] uses feature-driven activity based cost estimation.

The software used in the research is known as the activity-based cost

estimator (ACE). The software allows the authors to create a feature-based product model, customize activities, customize resources, customize resource productivity rates, and generate and maintain construction costs. This method is very powerful, but still lacks the ease of use as in that of parametric cost estimation. Staub-French developed a set of tools that develop cost-specific constructability feedback to help designers develop more cost-effective designs based on standard Industry Foundation Class (IFC) product models [11]. The tools include 3D models that the designers can use to identify constructability issues. These issues can be incorporated into the activity-based costing techniques described above so the cost will be more accurate. While these techniques help designers, an expert in home building must sit down and identify the issues and how to resolve them. Once again, these methods are not easy for the novice user to use. Another technique used in cost estimation of houses incorporates regression analysis and neural networks. Three linear regression models were considered to identify the significant variables affecting project cost. Two neural network models were also developed to check the need for interaction between the regression models [12]. The drawback of this model is that it takes so long to develop, and can be very complicated. Finally, one more piece of software was found to be used to estimate the cost of a house construction. The software uses 4D CAD as a planning tool as a part of a product

17 model-based project database [13]. Once the model is constructed, the designers can show what the structure is to look like with great detail. This greatly helps to combat problems that might arise during construction. Once again, the drawback is that the development of the model can be very complicated.

3

THE APPROACH This chapter discusses the contributions that are recommended in order to create a

new cost estimation scheme that combines the advantages of two commonly used cost estimation techniques. The contributions that will be explained are as follows: 1. The way in which the parametric and bottoms-up methods are merged to create a new scheme to estimate cost 2. The creation of a methodology to model parts 3. The development of concepts that are used to estimate the amount of raw material used 4. The implementation of these ideas effectively in a software environment. In the coming sections, each is broken down by contribution and will state the contribution, explain how each is accomplished, and give examples. 3.1

The Primary Contribution Chapter 2 showed that there are two main groups that most cost estimation

methods fall into: the parametric and bottoms-up methods. All of the contributions are centered on the methods used to create a system to estimate the cost of a part or a group of parts with the accuracy of the bottoms-up cost estimation method while giving the user

18 the ease of use of the parametric method. This idea is the main contribution and the basis of the work. In order to accomplish this contribution, a three-layer architecture is constructed to bridge the gap between the two types of cost estimation. This architecture is necessary for the interaction between the two costing techniques. The first of the layers is the user layer or the layer that the user sees and to which data is entered. The data consists of geometric and feature parameters which are all easy to determine given a blueprint or design. The second layer, called the transition layer, is the layer that uses the power of the computer to perform calculations and manipulate the data. Once the data is passed from the user layer to the transition layer, calculations can be performed to generate data for the final layer. The transition layer is the heart of this cost estimation technique, because it bridges the first and last layers. Digressing, this allows the user to enter simple inputs and never have to worry about inputs to the more complicated and detailed estimate. In some cases this layer can be bypassed when calculations are not required, like for added features or pieces that are manufactured elsewhere. Also, there is a final cost associated with it. A simple example of the implementation of the transition layer in the house example is the calculation of floor area given outer walls. If the data for the outer walls of a house are known, an equation to calculate the area contained inside those walls can be used to find total area. Once the calculation for area is known, it can be used throughout the house. For instance, it can be processed by subsequent calculations to calculate the number of floor joists and amount of sheeting needed to cover the joists.

19 The third layer is the CER layer. In this layer, Cost Estimation Relationships (CERs) are implemented for each item that will have a cost associated with it. By using CERs, material and labor may both be accounted for with respect to every piece of the item that is being estimated. CERs can be very complicated. In order to illustrate how complicated CERs can get, the house example is used. Calculating the material cost of a wall takes into consideration the dimensions and quantity of studs, drywall, sheeting, and siding, or it can be as simple as accessing a database to get the cost of a certain previously constructed part. In contrast to estimating the cost for the materials that go into the wall, which is fairly straightforward, the labor calculation is not so simple. The labor table gives rates of pay for workers in the different areas of construction like framing, electrical, and plumbing, just to name a few. The labor CER is required to relate these rates of pay or how much it costs per unit to perform the construction to how long the process generally takes to construct the materials in question. So, costing labor is less of an exact science than costing material. Once every CER is executed, the costs associated with each are accumulated in what is called a bucket. There are buckets associated with whatever the developer deems necessary, but usually buckets are created to account for labor, material, and total costs. A general architecture that is associated with a house construction example can be seen in Figure 3-1, below.

20

User Layer

Transition Layer

Floor CERs

Geometric Attributes • Basic Outer Wall Attributes • Basic Inner Wall Attributes • Basic Utility Attributes

CER Layer Material CER • Floor Area • Material Labor CER • Framing

Wall CERs Floor Area Calculation

Material CER • # Studs • Stud Length • Stud Material

Wall Stud Calculation

Labor CER • Framing

Drywall CERs Feature Attributes • Plumbing Fixtures • Electrical fixtures • Windows • Doors • Appliances

Wall Area Calculation

Piping Length Calculation

Material CER • Wall Area • Material Labor CER • Framing

Piping CERs Material CER • Pipe Length

Wire Length Calculation

Wiring CERs

Labor CER • Installation

Material CER • Wire Length Labor CER • Installation

Feature CERs Material CER • Cost Labor CER • Installation

Figure 3-1: Cost Estimation Architecture for a House

21 The theory behind this cost estimation technique can be very effective if implemented properly. The coming sections will explain more contributions that aid in the effective implementation of these concepts. 3.2

Part Modeling Methodology Contributing to the main goal is the development of a methodology to model the

costs of the parts. In order to understand the process, there are some essential ideas that must first be explained. Three main pieces of information are needed to create the generic cost estimation scheme. The first is the knowledge of the raw material that is to be used or the material that is used to comprise what is being estimated. The second is process labor or the amount of labor that is needed to change the raw material into the final product. The last piece is added features that are included to comprise the finished product. This may come into play, for example, if there are any features that are purchased externally that are added to the total cost. An example is the manufacture of an engine block. The block starts out as a chunk of steel or aluminum. In order to make that block of material take the form of an engine block, labor is applied. For instance, if the block is cast, the block of material is melted down and poured into a mold to form the block. So, not only must the cost of the initial material be accounted for, but also the cost to create the mold, the cost of melting the material, and the cost of pouring that molten material into the mold. Once the casting cools and the mold is removed, there are added features that must be taken into account. The block might be machined in certain spots so that it is smooth, there might be coatings applied to different points, or there might be holes drilled.

22 Another example is the cost of pouring a concrete basement wall for the foundation of a house. The volume of the walls must be estimated at design time so that the correct amount of concrete can be ordered shipped to the job site. Before the concrete can be poured, the land where the foundation will reside must be dug out, and forms must be erected and aligned precisely, because any mistakes will be carried throughout the construction of the whole house. Depending on wall size, any re-bar that is needed must be laid. Re-bar can be included as an added feature. So, before any material is poured, there is an amount of labor and added features associated with the construction. Once the material has been poured and cured, the forms can be removed and the walls can be coated with any desired added features like coatings. 3.3

Geometric Creation Most any piece of material that has a cost associated with it will have geometry

that can be defined. When a design is completed, the image that exists on the blueprint is that of the final product. Data points needed to estimate cost are easy for the user to find on the blueprint. In the previous sections, basic building blocks of cost estimation were explained. The contribution outlined in this section takes those ideas a step further and discusses the concepts involved in estimating the raw material needed in order to fabricate the finished product. Conceptually, creating geometry for the final product is simple, using inputs that are given by the user. What is not so simple is finding the geometry that defines the raw material that the final product is made from. For example, in order to accurately estimate the cost, the design must be converted into standard sizes and process capacities that are available during the time of creation. If a piece is forged, there must be a die that it is

23 forged against to give it its shape. Starting out as a block, the piece is forged into the shape that is desired. This can be seen in Figure 3-2.

Figure 3-2: Forged Material

The dark gray color represents the forms and the light gray represents the material that has been changed from a block to the shape that is shown. The material that needs to be purchased is the light gray volume. Worse yet is that the cost of machining the part from the light gray into the black shape must be added. Another example of this can be provided using the house construction example. When framing the house, lumber will have to be cut to certain lengths. While it is easier to see what the finished frame of a wall will need to be, it is hard to see what lengths of lumber will be needed to comprise that wall. If a wall is exactly 10 feet high, then taking into consideration the thicknesses of the top and bottom plates, 3” total, then the studs need to be 9’9” in length. Wood used for studs comes in 8’, 10’, 12’ sections, depending on the area of construction. Ideally, 10’ studs would be used, with 3” of waste, but if 10’ studs cannot be found, then 12’ pieces must be used, yielding 2’3” of waste.

24 An additional benefit of handling geometry this way is that the geometry drives both material and labor. Continuing with the house example, once framing is completed, wall area can be calculated, controlling how much drywall material is needed, as well as how much labor is needed to hang that drywall. Floor area is calculated once the outer walls are placed. This drives the cost of the material that goes into the outer walls, and generates the area that the roof covers, in addition to driving labor for constructing all of these parts. 3.4

Organization of Cost Elements The ultimate goal of this work is to devise a cost estimation system that is

accurate and easy to use. In order to accomplish this goal, all of the techniques used to make up the cost estimation system must be implemented in an effective and efficient way. Given the costing architecture in the Section 3.1, there are ideas that are essential to its implementation. These ideas will be discussed in this section. In order to create an estimate with an elemental hierarchy, elements must first be explained. Elements can be defined in a number of different ways. In this case, an element can be a thing or a group of things that can have a cost associated with it [14]. For instance an element could be a part that is manufactured, a process that is performed on the part, or a group of parts. In order to create an estimate that is constructed efficiently, elements are used and arranged in a Work Breakdown Structure, or WBS tree. An example of the WBS tree for a House is shown in Figure 3-3 below. The first element in the tree is the HouseElement, which consists of floors and a roof. Because this is the first element that will be shown when the estimate is opened, its page of attributes is considered the “front page”.

25 Elements are expanded in the figure to show possible sub elements, depending on the example.

Figure 3-3: WBS Tree for a House

Each floor is identical, with respect to how the cost is calculated, taking into consideration walls, flooring, and utility elements. That being said, each floor is unique, because the data entered into each floor will be different. For example, for the utility elements, there will be a furnace and electrical distribution panel in the basement floor

26 and there will be only one of each for the whole house. The connections to each of those elements will exist on subsequent floors. Walls will be calculated in the same fashion, without regard to floor, but each will be different depending on data entered. Quantity has an effect on the cost as well. The Paint elements shown in the figure have numbers before them in brackets. This number represents the quantity of the element. In the case of the figure, Paint has been created to cover one square foot. So, Inner Wall 3’s paint has a quantity of 446 which is the square footage of wall space to be painted. Another example, in the same element, is the element Cabinet. There are a total of 9 cabinets in the house, all having costs associated with material cost and labor to install. A fundamental piece to making the whole WBS tree work is the concept of maps. A mapping, simply put, is a way for elements to pass data values from element to element. An example of this would be outer wall, referring back to Figure 3-3. The HouseElement knows how many outer walls that the house will have, and since this value will not change throughout the house, the number of walls and their data points are passed on to every floor. Maps will be discussed in more detail in Chapter 4.

4

CREATION OF THE COSTING TECHNIQUES IN JAVA In Chapter 3, the contributions made to the project were shown at a conceptual

level.

The three different layers employed by this cost estimation technique were

discussed. These three layers are constructed through the interrelations of JAVA classes. The classes have the attributes that the user sees, the CERs that calculate the costs, and

27 even the calculations that make up the transition layer. Sometimes these calculations are done in the maps, where the data is manipulated and sent to other JAVA classes as input attributes. This chapter discusses these concepts, as well as the interrelations of the classes themselves. 4.1

The FIPER Cost Estimator Before explaining the implementation of the generic techniques used to estimate

cost, the FIPER Cost Estimator on which it is built, referred to as the Cost Estimator, must first be explained. This section will discuss the background of the Cost Estimator and show basic building blocks that are employed to construct the generic cost estimator. The Cost Estimator was created in JAVA, an Object-Oriented Programming (OOP) language. On top of allowing for different elements and data types to be treated as objects, one huge advantage is that OOP languages allow for inheritance.

For

instance, if a database is created and initialized early in the hierarchy, every element in that hierarchy inherits a reference to it. A good example of this would be a material database. This database can be read in from an external file and all the different materials that the constructed item could be made from are known, as well as any other data that is associated with each material. According to the FIPER Cost Estimator user manual, the estimator consists of a cost engine, a stand-alone estimator with a graphical user environment and an element builder. These pieces are constructed in JAVA and are executed in the cost engine itself. The estimator was developed for estimation of any product. Because it is implemented in JAVA, sophisticated calculations can be hard-coded into each class.

28 Elements were defined in Section 3.4 as any thing or groups of things that incur a cost. Therefore, an element can be a piece of material, labor, or feature. In the case of the cost estimator, elements are executable items that are stored and can be used in many different types of cost estimates. The cost estimator gives the developer many tools from which to construct the cost estimate. Inside elements are attributes. Simply put, these are the fields that hold data inside each element. These fields, or properties, are used to calculate the element’s cost or relationship to other elements. For example, attributes can be used to define the geometry of an element. Variables like height, length, and width can be assigned to a piece of material that is to have its cost estimated. The attributes may also exist as processes that are performed on the piece of material or features that are added as well. The types of attributes given by the Cost Estimator comprise a wide array of data types, like booleans, doubles, integers, and strings with lists and tables of each, if desired. Attributes can obtain their values from user input through the GUI interface, through system calls, when running as a server, or by opening a stored estimate stored as an XML file. On top of having values read in, they can have default values set at the time of their creation or have calculations set based on other attribute values. Each child element contains an instance of each attribute that existed in the parent, but it is up to the child element to display the attribute, if desired. Buckets are used as accumulators for estimated values. Most common estimates will have a Total Cost bucket. An example would be the manufacture of a piece of material. The buckets that could be contained inside the estimate could be Total Labor

29 Hours and Total Material Cost along with Total Cost.

The cost of material is

accumulated throughout the estimate, as well as the total labor time. Each element that has a cost calculation inside adds to the material and labor buckets and sums up the two in the total cost bucket. Referring back to the WBS in Section 3.4, the Estimator sums values of buckets from identical buckets in the children of the element. So, if there are sub elements in the hierarchy and they all contain material cost and labor hour buckets, the totals will be summed. The advantage of this is that the top element in the tree will hold the sums of all of the material costs, labor hours, and total costs of the whole estimate. The largest advantage that the Cost Estimator gives the developer is the concept of maps as explained in Section 3.4. This is the ability to send attribute values from one element to attributes in other elements. For example, a map could be the number of outer walls in a house. A user can enter this value high in the tree and subsequently, it is mapped to each attribute that requires it and the user will never need to enter it again. 4.2

JAVA Class Hierarchy Creation Now that the Cost Estimator itself has been explained, the creation of the JAVA

structure on top of it can be explained. In creating a cost estimation model, there are preliminary steps that must be taken. First, a hierarchy of packages must be set up, followed by a list of interrelated elements. Figure 4-1 shows a general hierarchy of packages, as well as inheritance among elements that can be created when constructing the cost estimator.

30

Main Package TopElement

Sub Package

NextElement

ChildElement

ChildElement

Figure 4-1: A Generic Package Hierarchy

In JAVA, there is a main package that contains the project. Once the main package is created, elements and sub elements, as well as sub packages with their elements and sub elements, can be added to it. Each sub package has a certain utility, like grouping components that make up the part or features that are added to the part as a whole. The adding of elements and packages is continued until the desired structure is built. Once the hierarchy is defined, the elements inside the packages can be created. Each JAVA element implemented on top of the Cost Estimator will inherit from the element at the top of the tree, noted in Figure 4-1 as the root element. The elements are created, attributes are mapped, and calculations are implemented. This goes on until the hierarchy is completed. An example of this will be shown in Chapter 6.

31 5

HOUSE CONSTRUCTION The next three chapters show the contributions that are performed to implement a

house example into the cost estimator. This chapter explains the details of the way a house is built. The next chapter will discuss how those concepts are organized in a way so that they can be built on top of the Cost Estimator while Chapter 7 shows how data is entered into the model, and the results that the model generates. Throughout the construction of a house, there are many components that make up the house as a whole that must be taken into account in order to estimate the total cost. Some components include foundation construction materials, material to make the floors, walls, and roof, electrical wiring, drywall, and plumbing. While the aforementioned are used to construct the house, other processes like design, inspection, and actual construction of all of these elements are done to complete the house. 5.1

Basement Construction Early in the design phase, decisions are made on types of material to be used. For

instance, the foundation can be poured concrete or block. Each choice has its own advantages and disadvantages. A poured concrete foundation is stronger, but isn’t always square, which is desirable. A cinder block foundation is more square, but takes longer to construct if a large basement area is desired. If the foundation is not close enough to square, then the error can be carried all the way to the roof. Regardless of the choice for foundation wall, if a basement is desired, then a floor must be poured. If a basement is not needed, a crawlspace can be constructed, using a shallow foundation with rock in between the walls.

At this point, if there is a fireplace in the house, the brick is

constructed from the basement floor.

32 5.2

Construction of the First and Subsequent Levels Usually, wood is used to construct the walls and floor of each level. Pieces of

wood, usually 2x12, are used for floor joists, and depending on the size of the house, they connect to beams that run the length of the house. On top of the floor joists, flooring is chosen. Particle board can be used and comes in sheets. Once the number of pieces is calculated, depending on square footage of the first floor, material for walls can be calculated. The material that is selected for studs is the same material that is used for the top and bottom of each wall and is usually spaced 16 inches apart. During construction of the walls, windows and doors will be inserted. The position of each is calculated where the corresponding window or door is desired. Studs are sandwiched on either side and pieces of wood called headers are placed above each as well. See Figure 5-1 for detail. 16”

Studs

Header

Header

Door

Window

Figure 5-1: Basic Wall with Door and Window

33 Once the walls are constructed on the first floor, if a second floor is desired, then flooring is installed on top of the walls of the first floor, similarly to how they were on the first floor. This process goes on for each floor. After the basic structure of the house is framed, a roof can be added. While roofing trusses can be constructed on-site, they are usually purchased from a company and shipped to the job site. Dimensions are taken from the design of the house and given to a company that constructs them from wood, assembles them, and puts them on a truck to be shipped to the job site. The quantity needed depends on the spacing of the trusses, which can be found from the initial blueprint. Also, depending on the size or height of the house, a crane might be needed to lift the trusses into place. While roofing is being installed, paneling can be put on the outside of the house. Similar to the flooring, particle board is used on the outside of the framing and on the trusses to enclose the house. After the paneling is fastened to the framing on the outside, usually there is plastic sheeting that seals the paneling and rubber sheeting and shingles or some other type of roofing tile seal the roof. Once enclosed, the electric wiring can be run.

Switches, light fixtures, and

electrical receptacles are installed and power is run to them from the power distribution panel. A common cabling that is used in houses is 12 gauge, 2 conductor wire with ground, but this depends on what types of loads will be installed at each place in the house. Coaxial cable and telephone lines are run for television and telephone signals. For each stud that the cabling has to pass through, there must be a hole drilled. While the electrical is being installed, the plumbing can be installed as well. Soil pipes, or waste water pipes, and hot/cold water pipes are run to the kitchen, bathrooms,

34 and linen area. If the house uses natural gas, then natural gas lines need to be run to the appropriate places. For walls that face the outside of the houses, insulation will be installed to help regulate the temperature inside the house. Once the plumbing and electrical are installed, drywall, or sheetrock as it’s sometimes called, can be hung on the walls and ceiling. These usually come in 4x8 or 4x12 feet sections. Square footage of walls can determine type and number of pieces needed to install the drywall. Once hung, drywall tape is added to seams between each piece. On the corners, “corner bead”, or a piece of metal bent around the corner is added for strength. To smooth the seams and corners, drywall “mud” is applied. Once dry, the mud is sanded and smoothed down so the walls look seamless. Next, walls and ceilings must be painted. Amount can be estimated, depending on wall surface area. Appliances can now be installed and connected. While the inside of the house is being assembled and constructed, the outside will have some type of siding applied to it. Traditionally, in the colder climates, these include vinyl siding, brick, or a mixture of both.

6

CREATION OF THE HOUSE MODEL IN THE COST ESTIMATOR Chapter 3 explained the general costing approach and methods that are to be

implemented on top of the Cost Estimator. Chapter 4 explained the Cost Estimator itself and how to implement the generic techniques for a simple yet detailed cost estimator. Chapter 5 explained how an actual house is built. This chapter brings all three previous

35 chapters together and implements an example of creating a model for the estimation of the cost of a house. 6.1

House JAVA Class Hierarchy This chapter begins with an explanation of the creation of the house in the cost

estimator. The JAVA class hierarchy will be explained, as well as different facades of estimator implementation for a house. It should be noted that the level of detail can be varied as desired by the developer. In this case, costs were estimated to be near actual costs but were not researched for accuracy. Chapter 4 explained that the hierarchy that makes up the project as a whole must first be designed with packages created first. In this example, the first package that contains every class and subsequent package that makes up the House example. The types of elements that are at the top level of House are elements that are used as the basic building blocks of the house. Packages that exist inside of House are Component and Feature. These packages contain classes for components that make up different pieces of the house, features that are purchased externally, and used in the construction of the house. These can be seen in Figure 6-1.

Figure 6-1: House Package

36

Next, elements are developed, beginning with the root element in the house hierarchy. This is the element that all others in the hierarchy will inherit from and it will contain data that is common among all elements. It inherits from element Element, which includes all of the tools that are needed to construct the cost estimator. Inside the top element are database components to read in data from databases and buckets that sum the values for which cost is being estimated. In this example, the root element will be BasicBuildingElement and once again can be seen in Figure 6-1. Classes AttributeLabel and Point are used in the coding of the House for formatting and ease of development and, so, will not be discussed. A diagram that shows the layout and inheritance between the classes in the House package can be seen in Figure 6-2. package::house Element

BasicBuildingElement

Floor

Roof

HouseElement

package::component

package::feature

Figure 6-2: House Package Hierarchy BasicBuildingElement is the parent element for all elements in the house hierarchy.

Floor, HouseElement, and Roof are children or direct descendents of

37 BasicBuildingElement. Packages Component and Feature are both contained in package House as well.

package::house BasicBuildingElement package::component

ElectricalComponent

HVACComponent

PlumbingComponent

Figure 6-3: House-Component Package Hierarchy

Package Component is shown in Figure 6-3. This package holds components that make up the utilities in the house. In a similar fashion, Figure 6-4 shows the Feature package that holds features that are used throughout the house.

package::house BasicBuildingElement package::feature

Accessory

Door

Flooring

Wall

Figure 6-4: House-Feature Package Hierarchy

Window

38

In the coming sections, what goes on inside each element and how they interact will be explained. 6.2

Elemental Interrelations in JAVA This section shows how the elements are interrelated throughout the JAVA

hierarchy. The elemental interrelations help to make up a portion of the transition layer as explained in Chapter 3. In the last section, the top element in the hierarchy was shown to be BasicBuildingElement. Although all elements in the hierarchy created will inherit from this element, it will not be shown in the estimator. This is due to the fact that it is a basic building block for each element. The first element that will be shown in the estimator is HouseElement. Figure 6-5 shows each element that will be shown in the estimator, along with the attributes that are used to construct each. The arrows show how the elements are mapped. When a mapping is created, some attributes will be passed through the mapping and will not need to be entered by the user. Others will not have values passed to them and will need to be manipulated by the user at runtime.

39

HouseElement Geometric Attributes • # of Levels • # of Outer Walls • Outer Wall Data (x,y) • Power Distribution Panel Location (x,y) • Cold Water Inlet Location (x,y) • Soil Pipe Location (x,y) • Gas Line Feed (x,y) • Hot Water Heater Location (x,y) • Furnace Location (x,y) Process Attributes • Processes performed on the whole house (design, inspection, etc)

Floor Outer Wall Features • Level Number • # Outer Walls • Outer Wall Data (x,y) • Outer Wall Material • Floor Height • # of Outer Doors • Outer Door Data (x,y) • # of Windows • Window Data (x,y) • Outer Wall Drywall Material Inner Wall Features • # of Inner Walls • Inner Wall Material • Inner Wall Data (x,y) • # of Inner Doors • Inner Door Data (x,y) • Inner Wall Drywall Material Amenities • Stove Location (x,y) • Cabinet Length

Roof Outer Wall Features • # Outer Walls • Outer Wall Data (x,y) • Roof Pitch

Figure 6-5: House Elemental Hierarchy

The attributes are shown in italics to signify that the value for each has been passed to it via the mapping. All attributes that are not shown in italics are entered by the user. As for the attributes themselves, since a house is made up of different levels, common attributes are mapped from the HouseElement element. Each floor plan is

40 constructed in a two dimensional (x, y) coordinate plane at the House element level. Attributes in the HouseElement element are attributes that multiple sub-elements will use. Once the number of floors is recorded and the outer wall data is completed, the individual floors can be constructed in the estimator. At the Floor element level, users can enter data for doors and walls, both depending on whether the wall is an inner or outer wall. Amenities are also added, like stove, cabinets, etc. The Roof element has attributes mapped from the House element directly as well. These attributes include the number of outer walls and the data for those walls is mapped down so an overall area can be calculated. The only user level attribute needed at this level is the roof pitch.

41 Floor Outer Wall Features • Level Number • # Outer Walls • Outer Wall Data (x,y) • Outer Wall Material • Floor Height • # of Outer Doors • Outer Door Data (x,y) • # of Windows • Window Data (x,y) • Outer Wall Drywall Material Inner Wall Features • # of Inner Walls • Inner Wall Material • Inner Wall Data (x,y) • # of Inner Doors • Inner Door Data (x,y) • Inner Wall Drywall Material

PlumbingComponent Plumbing Features • Cold Water Inlet Location (x,y) • Soil Pipe Location (x,y) • Gas Line Feed (x,y) • Hot Water Heater Location (x,y) • Furnace Location (x,y) • Fresh Water Pipe Material • Soil Pipe Material • Gas Line Material • # Toilets • Toilet Location(s) (x,y) • # Sinks • Sink Location(s) (x,y) • # Bath Tubs • Bath Tub Location(s) (x,y) • Stove Location (x,y)

HVACComponent Flooring Features • # Air Returns • Air Return Locations (x,y) • # Vents • Vent Locations (x,y)

Amenities • Stove Location (x,y) • Cabinet Length

Wall

ElectricalComponent

Wall Features • Wall Material • # Windows • Window Data (x,y) • # Doors • Door Data (x,y) • Drywall Material

Accessory Flooring Features • Accessory Type • Quantity

Electrical Features • Power Distribution Panel Location (x,y) • Wire Material • # Receptacles • Receptacle Location(s) (x,y) • # Switches • Switch Location(s) (x,y) • Light Location(s) (x,y) • Thermostat Location (x,y)

Flooring Flooring Features • # Outer Walls • Outer Wall Data (x,y) • Beam Material • Flooring Material

Figure 6-6: House Elemental Hierarchy (continued)

42 Continuing from Figure 6-5, Figure 6-6 shows how elements map attributes from the Floor element.

Data is collected at the Floor level and mapped according to

corresponding elements. Each instance of the Floor element contains its own mappings to each element. The Accessory element is different in that it exists as a generic accessory, but when it is declared, it is given a unique type, like stove or cabinet. The class then queries the accessory database to find the corresponding labor and material costs associated with its type. Once quantity is factored in, the total cost for the accessory is found. In a similar fashion, Wall can exist as either an inner or outer wall. Because it doesn’t matter whether the wall is inner or outer to collect data for the data points and doors, it does so in a generic fashion. Once the data is collected and the wall is found to be inner or outer, the calculations for labor and material are adjusted accordingly. 6.3

Code Implementation Results This section will show the implementation of the JAVA code into the estimator.

The JAVA elemental hierarchy, described in the past two sections, will not be seen, but rather the focus will shift to the WBS described in Section 3.4. Default values of attributes will be discussed when appropriate. 6.3.1

The Front Page As described in Section 3.4, the first element displayed in the WBS is

HouseElement. A screenshot of this empty element can be seen in Figure 6-7 below. The front page is the interface to the user. It allows the user to enter data and can be considered an implementation of the user layer. Coupling the explanation of the WBS in

43 Section 3.4, and the attributes inside each class described in Chapter 4, the final front page can be seen below.

Figure 6-7: Empty HouseElement Element

There are two types of attributes on this page: integers and tables of double values. The integers are used to track whole-number attributes while the tables of double

44 attributes are used to encompass multiple cells of data per attribute. These are shown in Figure 6-8 and Figure 6-9 below.

Figure 6-8: Outer Wall Data Table

Figure 6-8 shows the table used to record outer wall data. There are three columns of data, with the first column signifying the wall number. The second and third columns represent the x and y of points that are used to store wall data. Rows are added and subtracted automatically as the number of walls change. When constructing walls around the outside of the house, there is a general technique used. When looking at a design from a top view, with the front of the house toward the bottom of the page, make the front left of the house the (0, 0) point. Beginning with the origin point, move in a clockwise direction around the perimeter of the house, recording the endpoints of the house until the last endpoint is the origin. It can be seen that in Figure 6-8, given six walls, that there are only five rows. It is assumed

45 that the beginning point of the first wall and the end point of the last wall is the point (0, 0), so only five rows are needed to store data for six walls. Sometimes, there will be only one row because data is stored for a location, and not as a line as in Figure 6-9. The figure shows that a similar table is used.

Figure 6-9: Point Data Table

In Figure 6-9, the table shown is used for attributes such as power distribution panel location. Similar to wall data tables, the first column is for the number, while second and third columns are the x and y coordinates. Once again, if desired, the number of rows will change automatically with the quantity specified. A third kind of table can be used as well. Each wall must have a beginning point and an endpoint. Figure 6-10 shows a table that stores the data for inner walls of a floor. The second and third columns signify x and y points of the beginning point, while the fourth and fifth columns signify the x and y points of the endpoint respectively.

46

Figure 6-10: Inner Wall Data Table

Attributes are defaulted to values that are feasible for the application. In this case, the number of levels is defaulted to 2 because every house has to have some type of foundation and a first floor. Subsequently, each house must have at least 4 walls, so the number of outer walls attribute is coded so that it cannot go below that. 6.3.2

The Floor element Like HouseElement, Floor inherits from BasicBuildingElement. HouseElement

contains a map to the Floor element, sending appropriate data to it. Floor shares some attributes with HouseElement and those values are mapped down as well, even though they may not be displayed.

47

Figure 6-11: Empty Floor Element

48 The Floor element uses the material to display a list on its page so that the user can select the wall material. This list is populated by material that is found in the material database. If the floor exists as floor 0, or the basement level, the wall material is defaulted to Poured Concrete. Block concrete may be selected alternatively. If the floor exists as any other level, the default for each outer wall is 2x6 lumber. All inner walls are defaulted to 2x4 lumber. On top of having attributes that are defaulted, attributes can be calculated as well. An example of this would be calculation of each floor’s wall height. For the basement level, the height is calculated to be 10 feet and 8 feet for subsequent levels. In many cases, since the data attributes will not contain any rows if accessed, they become disabled and are grayed-out if the number of items is zero.

Once the

corresponding integer is incremented to one or greater, the data attribute becomes active. 6.3.3

Framing Elements Earlier in this chapter, the focus of the implementation was the transition layer,

showing the interrelations of the JAVA classes. The focus then shifted to the user layer, showing the interface to the user, the front page. The focus now shifts back to the transition layer by describing how the values are handled once the user has entered them. The values can either be passed down directly or new values can be generated based on them. The construction of the house is divided into two general elements that have attributes that are mapped directly from HouseElement: Floor and Roof. Subsequently, each Floor maps some attributes from itself to Wall and Flooring to construct the walls and floors for each level.

49 Flooring utilizes two inputs: beam material and flooring material. Each are defaulted to certain values once again, dependent upon which floor is being constructed. There is an area calculation inside of the element that is invoked that estimates the number of beams and flooring needed. Material cost is calculated such that if the floor level is 0, then a volume of the poured floor is used. For any floor greater than 0, the number of beams and joists are calculated. Wall requires more inputs. It receives its start and endpoint data from Floor and constructs the basic wall. On top of the basic geometry data, Wall also receives window and door data so that it can change its calculation for the number of studs accordingly. Upon creation of Wall, Floor tells the wall if it is an inner or an outer wall and Wall displays the appropriate attributes on its front page. Similar to Flooring, walls have drywall sheeting that covers them. The amount of area to be covered with drywall is calculated to include windows and doors. Outer walls have drywall on one side and OSB or some type of particle board on the outside for sheeting. Inner walls have drywall on both sides. Included with the calculation of the outer wall costs are the insulation that goes in between the studs. Concurrently, siding is calculated to go on top of the sheeting on the outside of the outer walls. 6.3.4

Utility Elements Three elements that always exist for each floor are ElectricalComponent,

PlumbingComponent, and HVACComponent. All three are mapped directly from Floor and always exist on each floor but have different actual data mapped to them. ElectricalComponent inherits data for the location of the power distribution panel. It is assumed that this panel is located on the basement floor. Attributes that are unique

50 to this element are number and location of receptacles, switches, and ceiling lights. The element calculates how much wire is needed to run from light switches to their corresponding ceiling lights, receptacles and light switches to a common junction box in each room and from each junction box to the central power distribution panel. The type of wire is also user-selectable where the two choices are 12 gauge, 2 conductor with ground or 14 gauge, 2 conductor with ground. A second stage of calculation of material in ElectricalComponent is the installation of the wiring to power the furnace and the installation of a thermostat and its wiring to control the furnace. The wire to power the furnace is the standard wire used throughout the house, while the thermostat wire is usually 24 gauge, 4 conductor. The calculation for these is the same as the calculation used prior in ElectricalComponent. In order to enter all of this data, the user enters the number of junction boxes, switches, receptacles, and lights that will be used throughout the floor. Each switch and receptacle will have a corresponding junction box, depending on where they were engineered to be. Wire length is calculated in real time. PlumbingComponent is a bit more complicated in that there are three different types of plumbing that will be run throughout the house. These three types are Fresh water (cold or hot) pipes, soil (waste water) pipes, and gas line pipes. Each has its own material selection on the front page of the element and length for each is calculated depending on the following attributes.

The number of and locations of toilets are

recorded and each toilet requires fresh cold water and a soil pipe. The numbers of sinks and bath tubs, as well as location data, are recorded in a similar fashion, but hot water must be routed to each as well from the hot water heater.

51 HVACComponent is similar to the other two in that there is duct work to be run from air return(s) and vents to the furnace. Since ElectricalComponent takes care of the power and control requirements for the furnace, HVACComponent calculates costs for material and labor to install the furnace itself and ductwork. Again, there are assumptions according to floor number. If the basement is being modeled, it is assumed that a gas furnace and a gas hot water heater exist and the user must put in their coordinates. Inputs of fresh water and gas lines, as well as soil pipe outlets are assumed to be in the basement and are used as reference points throughout the house to calculate pipe length. 6.4

Estimates and Calculations This section will discuss how the estimates calculate values that estimate costs of

each entity. The CER layer is now explained, showing that the elements have received the data needed to perform the cost calculations. Components that calculate a cost are Door, ElectricalComponent, Floor, Flooring, HVACComponent, PlumbingComponent, Roof, Wall, and Window. The calculations will be explained in the following sections. 6.4.1

Floor, Flooring and Wall Estimates The estimate begins by HouseElement mapping attributes to the first floor, the

basement. In every instance of Floor, there is one instance of Flooring and at least four instances of Wall that are created to which Floor maps data, pertaining to the four outer walls.

52 A fundamental calculation that is performed early is the calculation of floor area. This calculation uses data from the outer walls to calculate the actual area that they make up and is implemented in the way described in the succeeding paragraphs. Two points that construct each wall, a straight line, beginning with point p1 and ending with point p2, have coordinates (x1, y1) and (x2, y2) respectively. There can be any number of walls that comprise the foundation, but the only constraint is that the endpoint of the last wall be the same as the beginning point of the first wall. These walls are shown in Figure 6-12.

Figure 6-12: Area Calculation

The area calculation is shown in the equation below.

Area Floor =

NumWalls

( y1 + y 2 )

i =1

2



• (x 2 − x1 )

(1)

This calculation will give the area of the floor on each level, as well as ceiling areas, because the outer walls are carried from the basement to the roof. The only actual calculation done by element Floor is the calculation of the cost of the drywall and joint compound applied to the ceiling.

53

( ) ( )

⎡ Area Ceiling ft 2 ⎤ NumberDrywallSheets = ⎢ + WasteFactor 2 ⎥ Area ft ⎥ DrywallSheet ⎢

(2)

A WasteFactor is used in order to capture the amount of material that is left over once a piece of stock is cut. For instance, if a 12 feet long board is cut to 9 feet, then a 3 feet long section remains, that might be able to be used somewhere else. The calculation for the material used in Flooring is based on the level number. If the level number is 0, meaning it is the basement, the floor is poured concrete, so a volume is needed. The technique used to cost the floor in this instance is shown in the equation below.

(

)

( )

Volume Floor yd 3 = Area Floor ft 2 •

Thickness Floor (inches ) ⎛ 1 yd 3 • ⎜⎜ 27 ft 3 ⎛ inches ⎞ ⎝ ⎟⎟ 12⎜⎜ ⎝ ft ⎠

⎞ ⎟⎟ ⎠

(3)

In order to convert cubic feet to a unit that is usable by concrete suppliers, cubic yards, the value must be divided by 27. This number is multiplied by the cost of concrete per cubic yard. The other calculation that can be used to find the material in the floor exists if the floor number is anything other than 0. This means that there are wooden floor joists. The calculation for the number of joists is shown below.

NumberJoists

⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ Area Floor ft 2 =⎢ ⎥ ⎢ Spacing Joist (inches ) • Length JoistAverage ( ft ) ⎥ ⎢ ⎥ ⎛ inches ⎞ ⎟⎟ 12⎜⎜ ⎢ ⎥ ⎝ ft ⎠ ⎢ ⎥

( )

(4)

The total area contained by the outer walls is again used. The spacing between the joists is converted from inches to feet and multiplied by the average length of the joists. This

54 gives the area that is contained by the joist and the spacing prior to it. The number of these that fills up the whole area of the house is roughly how many joists are needed to support the floor. Since the spacing of the joists will be 16 inches, this figure is inserted into the equation.

NumberJoists

⎤ ⎡ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ Area Floor ft 2 =⎢ ⎥ 16(inches ) ⎢ • Length JoistAverage ( ft ) ⎥ ⎢ ⎛ inches ⎞ ⎥ ⎟⎟ ⎢ 12⎜⎜ ⎥ ⎢ ⎝ ft ⎠ ⎥

( )

(5)

The number of joists is then multiplied by the cost for each joist to find the total cost. Since some of the spans that the joists will have to cover will be longer than the pieces of wood available, beams must be used. For instance, if a span of 24 feet exists, and 12 feet long boards are used as joists, then two boards will need to be used, with a beam running perpendicular to them to support them. The number of beams needed is calculated in a similar fashion to the number of joists. NumberBeams

( )

⎡ ⎤ Area Floor ft 2 =⎢ ⎥ ⎢ Length JoistAverage ( ft ) • Length Beams ( ft ) ⎥

(6)

Once material cost has been calculated, labor can then be calculated. Inside of the code, there is an implemented framing rate used for either framing the floor or setting up forms and pouring the floor. This equation is shown below. LaborCost Flooring = Area floor •

CostUnit Rate Fra min g

(7)

In this equation, the CostUnit is the cost per unit to either pour concrete or to frame it with wood.

55 The estimate for Wall begins with 4 basic outer walls, as stated at the beginning of this section. There are two different types of walls, inner and outer, and both differ in a number of ways. If Wall is invoked as an outer wall, material is checked to see if the walls are made of concrete. This shows if the walls are foundation walls. Depending on the material there are two different calculations for the cost of foundation walls. If the material is poured concrete, then the wall volume, in cubic yards, is multiplied by the cost of concrete per cubic yard. If the material is block concrete, the wall area is found and the number of blocks needed is calculated to cover that area. Moving above the foundation level, the cost calculation becomes a count of the number of wood pieces. In order to accomplish this, it must be taken into account that windows may exist, drywall is allowed on only one side, there is sheeting and siding on one side opposite drywall, and there is insulation in between the studs. If the wall is an interior wall, the doors are a different size, there will not be any windows, and drywall will be applied on both sides. Inside each wall there is one basic calculation that is performed on every wall above the basement level. This calculation, shown below, calculates the number of wood pieces in the wall, beginning with calculating the number of studs. Stud length is based on the floor height attribute. NumWood Pieces = Num Studs + Num PlatePieces + NumWindowFramPieces + Num DoorFramePieces

(8)

where

Num Studs

⎡ ⎤ ⎛ inches ⎞ ⎟⎟ 12⎜⎜ ⎢ ⎥ ⎝ ft ⎠ ⎢ ⎥ + Num = LengthWall ( ft ) • SandwichPieces ⎢ Spacing Studs (inches ) ⎥ ⎢ ⎥ ⎢ ⎥

(9)

56 and ⎡ LengthWall ( ft ) ⎤ Num PlatePieces = ⎢ ⎥ ⎢ LengthStuds ( ft ) ⎥

(10)

Num NumWindowFramePieces = ⎡2.0 ∗ LengthWindow + 2.0 ∗ HeightWindow ⎤

(11)

and summing

Each window in the wall gives the number of wood pieces to frame all windows in the wall. Door perimeter is the same calculation with the exception that length of the door is not multiplied by two, because there is no wood piece on the base of the door. Headers that are found above each door and window are calculated based on window and door length, as well as on how many windows and doors exist in the wall in question. These are assumed to be 2x12 pieces of lumber, with length dependant on the height of the level being constructed. Once the total number of wood pieces is found, the cost per unit of each type is pulled from the material database and multiplied by the number to get the total cost of framing for the wall. Next, the amount of drywall is calculated for both types of walls. Drywall sheet size is assumed to be 4 feet by 8 feet. Cost Drywall =

( )

AreaWall ft 2 • Cost Sheet + Cost Jo int Compound 4( ft ) ∗ 8( ft )

(12)

Where the area of the wall calculation takes into consideration the fact that windows exist, therefore drywall is not needed in certain areas. Cost per sheet is found in the material database, and cost of joint compound can be performed in the following equation:

57

Cost Jo int Compound =

( ) • Cost 500( ft )

Area Drywall ft 2 2

500 ft 2

(13)

Where, again, cost per unit is found in the material database. The cost of the drywall is multiplied by two for inner walls, because it is applied to both sides. The material database holds the cost per sheet of insulation which are 8 feet long. By calculating the number of studs, it can be found how many pieces of insulation are inserted in between studs of outer walls. Finally, the cost of siding must be calculated. On the outside of the outer walls there is particleboard, available in 4 feet by 8 feet sheets, followed by either brick or vinyl siding. In the same way that wall area was calculated for drywall cost, wall area is used to calculate the amount of particleboard and siding that is needed. Once material cost calculations are completed, labor costs for each element are performed. Labor cost for each framing element is calculated using a default rate of framing construction and cost for two people to perform framing per hour. Drywall, sheeting, and siding all have standard rates of installation which are coupled with how much area there is to install and multiplied by the respective labor rate. 6.4.2 Utility Estimates There are three utility estimates: ElectricalComponent, PlumbingComponent, and HVACComponent. Each contains calculations for each type of utility that is installed in the house. Since all three need data that is unique to the whole house, much of the important data is shown on the front page, HouseElement. For each utility component, there is a length calculation that is common among them. The equation is shown in Equation 14 below.

58

Length = x1 − x 2 + y1 − y 2

(15)

For example, in ElectricalComponent there is one attribute, power distribution panel location, which is kept on the front page of the estimate. General assumptions made during the calculations in the element are as follows: all receptacles and switches are wired to a junction box, then to the power distribution panel. Receptacles are assumed to be located one foot off the floor, each switch is five feet above the floor, and the power distribution panel is four feet from the basement ceiling. The calculation for total wire length is the sum of the length of wire from each switch to the ceiling light in the middle of each room, from each receptacle and switch to their corresponding junction boxes, and from each junction box to the power distribution panel. Since all locations are represented in (x, y) form, it is easy to get the length between the two points plus elevation changes. Each utility component has a default rate of installation associated with it. These rates cover how long it takes to install certain lengths of wire and piping. Simultaneously, there are standard times associated with installing items associated with each component like receptacles, toilets, etc. Total time to install every piece in each component is summed, and multiplied by the labor rate of the respective component.

7

DATA ENTRY INTO THE HOUSE MODEL EXAMPLE

This chapter is the culmination of the concepts discussed in the six prior chapters. Actual data will be explained, and it will be shown how the data is entered into the estimator. Screenshots will show the results reflected by the estimator.

59 7.1

Explanation of Example Data

To begin the example, a new instance of HouseElement is created. A screenshot of what an empty element looks like was shown in Figure 6-7. The user inserts the information into the attribute fields until the attributes have sufficient information to create an estimate. This chapter shows how the contribution of the methodology to model the cost of parts and products is actually put to use. 7.1.1 Framing Data In this example, the foundation will have six walls and will look like Figure 7-1. Looking at the blueprint, a reference point will be used in the front left of the house as the (0, 0) point. From here, the walls can be constructed in a counter clockwise direction. The first wall will be 30 feet deep, so the next point will be (0, 30). Wall 2 is 30 feet in length, and goes to point (30, 30). Wall 3 is 20 feet in length and goes to point (30, 50). This process goes on until data for all six walls is filled in and the end point is (0, 0). This gives us an area of 2400 square feet for each level and is shown in Figure 7-1.

60

(30, 50)

Wall 4

(60, 50)

Wall 3 (0, 30)

(30, 30) Wall 5 Wall 2

Wall 1 Wall 6 (0, 0)

(60, 0) Figure 7-1: Basic Floor Plan

After the outer walls are defined, siding material can be selected, Vinyl or Brick, followed by locations for utilities. The points of the utilities must be at such a high level because the data will be used throughout the house and is not unique to a certain floor. Once the points for the walls are recorded, the height of the basement must be recorded as well. The default height is 10 feet. For thickness, 8 inches is used and for material, poured concrete. The basement floor is a poured slab of poured concrete as well. The thickness can vary according to location and local code rules. In this example, the pad will be 4 inches thick. Also included at this level are supports for the beams that support the next level. The basement will be left as “unfinished,” meaning the walls are left bare and the space is used as storage. Other possibilities are to “finish” the lowest level and make it a livable area for the occupants. In either case, there is a staircase that will allow access from the level above.

61 Once the floor plan for Level 0 is completed, creation of the Level 1 floor plan, or the main entry level, can begin. Floor joists are constructed on top of the outside walls. Beams will span the walls to support the floor and the joists across the beams to construct the floor. The beams are constructed from large, thick pieces of wood or metal I-beams. Covering the joists and completing the floor are large sheets of particle board, fastened using nails and glue. Since the outer walls for this level sit on the foundation, the outer points are already defined. The thickness for this portion will be 5½ inches, using 2x6 lumber as material. The height will be 8 feet. At this level, eight windows and an outer door will be added to the outer walls. These coordinates can be seen in Figure 7-2.

62

(30, 50)

Window 3 (43, 50)

(47, 50)

(30, 41.5)

(60, 41.5)

Window 2 (30, 38.5)

Window 4 (60, 38.5)

(30, 30)

(0, 30)

(60, 50)

(60, 30) (60, 24) Window 5 (60, 21)

(60, 9) Window 6 (60, 6)

(0, 11.5) Window 1 (0, 8.5) Window 8 (8.5, 0) (0, 0)

(11.5, 0)

Door 1 (28.5, 0)

(31.5, 0)

Window 7 (51.5, 0) (48.5, 0)

(60, 0)

Figure 7-2: Level 1 with Windows and Door

Level 1, unlike Level 0, will have interior walls to separate rooms. Like the outer walls, the inner walls must be defined. These walls will generally not be as thick unless they are load bearing walls, or if they carry a thick soil pipe. Figure 7-3 below shows Level 1 with interior walls and their data points.

63

(30, 50)

(60, 50)

Bedroom 1

Door 3 (35, 30) (37.7, 30)

(20, 30)

(0, 30) Bath (0, 20)

Dining Room

Wall 1 (20, 20) Wall 2 (20, 11.3) Bedroom 2

(0, 0)

Wall 3

(30, 30)

(20, 23.7) Door 2 (20, 26.3)

Door 1 (20, 8.7) (20, 0)

(60, 30)

Kitchen

Wall 5

(60, 15) Wall 4

(40, 15) (40, 8)

Entranceway

Door 4

Family room

(40, 5.3) (40, 0)

(60, 0)

Figure 7-3: Level 1 with Interior Walls

Once all walls have been entered into the estimator, the drywall type must be selected. Upon selection of drywall, the estimator calculates the wall area and calculates the cost for drywall, as well as the paint to cover the drywall. If more levels are desired, then they will be constructed in a similar fashion to Level 1. The outer walls will reside in the same places as the outer walls on Level 1, but the interior walls will be different. This example will be restricted to one floor with a living area.

64 7.1.2 Electrical, Plumbing, and Climate Control Data The Furnace, electrical power distribution panel, soil pipe exit, fresh water entrance, and gas line entrance will all be on Level 0. The center points of each are marked in Figure 7-4. It is assumed that the furnace sits on the floor of Level 0.

(30, 50)

(0, 30)

Power Distribution Panel (10, 30)

(60, 50)

(30, 30)

Hot Water Heater (5, 28)

Fresh Water Entrance (0, 5) Soil Pipe Exit (10, 0)

Furnace (17, 2)

Gas Line Entrance (30, 0)

(0, 0)

(60, 0) Figure 7-4: Level 0 Utility Locations

Once the points for utilities have been defined for floor 0, floor 1 can have data defined for its share of utilities. The positions of the outer walls have been defined for

65 Level 1, as well as building material. Figure 7-5 shows the locations of every receptacle, light switch, and light outlet on the first floor.

R(45, 50)

R(30, 40) Power Distribution Box (10, 30) S(23, 30)

L(45, 40) R(60, 40)

S(30, 22) R(25, 30)

R(0, 28)

L(10, 25)

L(28, 22)

L(50, 22) R(60, 22)

S(20, 20) S(42, 15) L(10, 10)

R(10, 0)

S(19, 0)

L(28, 10)

L(50, 8)

R(50, 0)

S(38, 40) S(42, 0)

Figure 7-5: Level 1 with Electrical Switches, Receptacles, and Lighting

Each X shows the location at which the electrical component is installed. Receptacles are defined by an R before the coordinates, switches by an S, and lighting positions by an L. The arrows signify, for conceptual purposes, which light each switch controls. Junction boxes are shown in Figure 7-6.

66

(30, 40) Power Distribution Box (10, 30)

(23, 30)

(0, 28)

(60, 22)

(10, 0)

(38, 40)

(50, 0)

Figure 7-6: Level 1 with Electrical Junction Boxes

The figure shows the locations of the junction boxes in each part of the house that run to the power distribution panel. In a similar fashion, the locations of plumbing receptacles and HVAC installations are seen in Figure 7-7 below.

67

Air Vent (45, 49)

Bathtub/Shower (12, 29)

Toilet (17, 29)

Bathroom Sink (1, 25)

Air Return (45, 18)

Air Vent (17, 21)

Air Vent (17, 2)

Air Vent (37, 1)

Air Vent (59, 18)

Kitchen Sink (59, 1)

Figure 7-7: Level 1 with Plumbing and HVAC Installations

Each point signifies, as in earlier figures, the location of each plumbing and HVAC fixture. For each plumbing installation, the point is where the fresh water and waste water pipes will be run. Comprising the HVAC system is a series of vents that run conditioned air from the furnace to the different parts of the house. The air that is to be conditioned by the furnace is transferred from a central location of the house, via an air return, to the furnace.

68 Cabinets, as implemented, will be measured in total linear distance that is to be installed. It is easy for the user to look at a drawing and sum the total length of cabinet and enter that data into the estimator. Since this house will be just one level, trusses are added on top of Level 1. Wood paneling, or particleboard, will make up the sheeting that goes on top of the trusses. Rubber sealer is held down with tar and shingles are added to finish the roof. 7.2

Results of the Example

This section explains screenshots of the cost estimator once all of the data from Section 7.1 has been entered. The front page and subsequent pages will be described, and the WBS will be shown, to illustrate separate costs for each element that makes up the WBS. Figure 7-8 shows the front page once all of the attributes have been added. As stated in Section 7.1, the user inputs 2 levels, 6 outer walls, and enters the wall data accordingly. Data is also entered at this level for the locations of the power distribution panel, cold water inlet, soil pipe, gas line, hot water heater, and furnace.

69

Figure 7-8: HouseElement with All Data Entered

Once this level is complete, the user moves on to the basement level to input more detailed data. This is shown in Figure 7-9. The attributes are separated into outer wall attributes, inner wall attributes, and amenities. Since the basement level is unfinished and there will be no inner walls, much of the data at this level will not be changed. In the example, the only data that the user will change is the outer wall material, changing them to poured walls.

70

Figure 7-9: Basement Floor with Data Entered

71 Once the basement level is completed, the user can move on to Floor 1. Since this is usually the common living area, and the only living area in the example, this level will have much more detail. The attribute detail is shown in Figure 7-10. Conforming to how the example was explained in previous sections, the outer walls will be changed to 2x6, there will be one outer door, 8 windows, and the default value of 3/8” drywall will be sufficient. There will be 5 inner walls made from 2x4 lumber, 4 inner doors, and once again, the default of 3/8” drywall is sufficient. At this level, there will be a stove in the kitchen as well as other appliances. The data will be entered for those in the “Amenities” area.

72

Figure 7-10: Floor 1 with Data Entered

73 8

CONCLUSIONS

This study shows that a generic cost estimation technique can be created that uses the advantages of two leading cost estimation techniques while minimizing their disadvantages. There were four main contributions that were explained in this study.

The

contributions are as follows. 1. The way in which the parametric and bottoms-up methods are merged to create a new scheme to estimate cost 2. The creation of a methodology to model parts 3. The development of concepts that are used to estimate the amount of raw material used 4. The implementation of these ideas effectively in a software environment. 8.1

The Primary Contribution

Chapter 2 showed that there are two main groups that most cost estimation methods fall into: the parametric and bottoms-up methods. All of the contributions are centered on the methods used to create a system to estimate the cost of a part or a group of parts with the accuracy of the bottoms-up cost estimation method, while giving the user the ease of use of the parametric method. This idea is the main contribution and the basis of the work. In order to accomplish this contribution, a three-layer architecture was constructed to bridge the gap between the two types of cost estimation. This architecture was necessary for the interaction between the two costing techniques. The first of the layers was the user layer, or the layer that the user sees and into which data is entered.

74 The data consists of geometric and feature parameters which are all easy to determine given a blueprint or design. The second layer, the transition layer, was the layer that used the power of the computer to perform calculations and manipulate the data. Once the data was passed from the user layer to the transition layer, calculations could be performed to generate data for the final layer.

The transition layer was the heart of this cost estimation

technique, because it bridges the first and last layers and allows the user to enter simple inputs, never having to worry about inputs to the more complicated and detailed estimate. The third layer was the CER layer. In this layer, Cost Estimation Relationships (CERs) are implemented for each item that will have a cost associated with it. By using CERs, material and labor may both be accounted for with respect to every piece of the item that is being estimated. 8.2

Part Modeling Methodology

The second contribution was the development of a methodology to model the costs of the parts. Three main pieces of information were needed to create the generic cost estimation scheme. The first was the knowledge of the raw material that is to be used or the material that is used to comprise what is being estimated. The second was process labor or the amount of labor that is needed to change the raw material into the final product. The last piece was added features that are included to comprise the finished product.

75 8.3

Geometric Creation

It was shown in Chapter 3 that most any piece of material that has a cost associated with it will have geometry that can be defined. When a design is completed, the image that exists on the blueprint is that of the final product. Data points needed to estimate cost are easy for the user to find on the blueprint. In the previous sections, basic building blocks of cost estimation were explained. The third contribution outlined this and took those ideas a step further, discussing the concepts involved in estimating the raw material needed in order to fabricate the finished product. Conceptually, creating geometry for the final product was shown to be simple, using inputs that are given by the user. What was not so simple was finding the geometry that defines the raw material that the final product is made from. An example was explained and it was shown how a geometry could be created for any example that the designer desires. 8.4

Organization of Cost Elements

The ultimate goal of this work was shown to be the derivation of a cost estimation system that is accurate and easy to use. In order to accomplish this goal, all of the techniques used to make up the cost estimation system were implemented in an effective and efficient way. Elements were also explained and arranged in a WBS tree. The house example was developed, data entry into the model was shown, and the results were explained. A fundamental piece that was shown to make the whole WBS tree work was the concept of maps. A mapping, simply put, is a way for elements to pass data values from element to element.

76 8.5

Future Efforts

The cost estimator, linked with the generic costing techniques that were developed, can be used for any number of items or processes that are in need of estimation. In a similar fashion, the concepts of developing the inputs in the user layer, the deriving of the CERs in the CER layer, and construction of the calculations that are required to implement the Transition layer can be employed to produce an estimator to estimate the cost of anything that the developer desires. This work was written in such a way that any person who wants to develop a cost estimation system using this methodology can follow it with minimal difficulty. The cost estimation methodology, as it stands, is complete, but as the cost estimator changes and more utilities become available to the developer, the techniques used can only get simpler and more effective for both the user and developer.

77

REFERENCES

[1] Locascio, Angela, “Manufacturing Cost Modeling for Product Design,” The

International Journal of Flexible Manufacturing Systems 12 (2000): 207-217. [2] The United States Air Force, Military Jet Engine Acquisition: Technology Basics and

Cost-Estimating Methodology. Washington, DC: Strategic Planning Division, Directorate of Plans, 2002. [3] United States, Department of Defense. Parametric Estimating Handbook Second

Edition. Washington, DC: GPO, 1999. [4] Duverlie, P. and Castelain, J.M., “Cost Estimation During the Design Step: Parametric Method Versus Case Based Reasoning Method,” International

Journal of Advanced Manufacturing Technology, vol. 15, no 12, pp. 895-906, 1999. [5] National Aeronautics and Space Administration, NASA Cost Estimating Handbook. Washington, DC: Office of Headquarters Operations, 2002. [6] Nachtmann, Heather and LaScola Needy, Kim, “Methods for Handling Uncertainty in Activity Based Costing Systems,” The Engineering Economist.vol. 48, no. 3, pp. 259-282, 2003. [7] Boons, Arnick N.A.M., “Product Costing for Complex Manufacturing Systems,”

International Journal of Production Economics, vol. 55, no. 3, pp. 241-255, 1998. [8] “Cost Offering Method for Affordable Propulsion Engineering Acquisition and Test,”

COMPEAT$TM Cost Model Technical Manual. Version 2.04. Cincinnati, OH: General Electric Aircraft Engines.

78 [9] Kulkarni, Uday A. and Bao, Han P., “Close-Loop Cost Equation for Objects Manufactured by Milling,” Transactions of the ASME, vol. 125, pp. 436-448, 2003. [10] Staub-French, S., Fischer, M., Kunz, J., and Paulson, B., “A Generic Feature-Driven Activity-Based Cost Estimation Process,” Advanced Engineering Informatics, vol. 17, pp. 23-39, 2003. [11] Staub-French, S., “Providing Cost and Constructability Feedback to Designers,”

Construction Research Congress, 2003. [12] Sonmez, Rifat, “Conceptual Cost Estimation of Building Projects with Regression Analysis and Neural Networks,” Canadian Journal of Civil Engineering, vol. 31, no. 4, pp.677-683, 2004. [13] Tanyer, Ali Murat and Aouad, Ghassan, “Moving Beyond the Fourth Dimension with an IFC-Based Single Project Database,” Automation in Construction, vol. 14, pp. 15-32, 2005. [14] Judd, R., Koonce, D., Sormaz, D., and Zhang, W., Cost Estimator User Manual,

Version 1.51, Ohio University, Athens, Ohio, 2004.