UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Simsite.net - a web-based construction management game Fan, Harry Hongqin 2003

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_2004-0055.pdf [ 9.97MB ]
Metadata
JSON: 831-1.0063491.json
JSON-LD: 831-1.0063491-ld.json
RDF/XML (Pretty): 831-1.0063491-rdf.xml
RDF/JSON: 831-1.0063491-rdf.json
Turtle: 831-1.0063491-turtle.txt
N-Triples: 831-1.0063491-rdf-ntriples.txt
Original Record: 831-1.0063491-source.json
Full Text
831-1.0063491-fulltext.txt
Citation
831-1.0063491.ris

Full Text

S I M S I T E . N E T - A W E B - B A S E D C O N S T R U C T I O N M A N A G E M E N T G A M E by Harry Hongqin Fan B . S c , Tsinghua University, 1991 A THESIS S U B M I T T E D I N P A R T I A L F U L F I L L M E N T OF T H E R E Q U I R E M E N T S F O R T H E D E G R E E OF M A S T E R OF A P P L I E D S C I E N C E in T H E F A C U L T Y OF G R A D U A T E STUDIES (Department of C i v i l Engineering) We accept this thesis as conforming to the required standard T H E U N I V E R S I T Y OF B R I T I S H C O L U M B I A December 2003 © Harry Hongqin Fan, 2003 Library Authorization In presenting this thesis in partial fulfillment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Name dr Author (please print) Date (dd/mm/yyyy) Title of Thesis: SxftvSvfo > f^fC — / bJ&\>- U&d Degree: f°U/SW e^ Afpl*c£- So&*<£ Year: o?0P~^7 Department of Gl/d &y WWQ«y The University of British Columbia ^ Vancouver, BC Canada A B S T R A C T The construction industry is distinguished by low productivity, high uncertainties and risks, and a long learning curve for university graduates entering the industry. Past and current simulation research proves that construction simulation games are effective as management learning tools in training and education of entry-level to intermediate-level participants. SimSite.Net is a construction management simulation game built on the Microsoft .Net platform; it represents a substantial enhancement of a previously developed game called SimSite 1.0b. Implemented as an interactive web site, the game is designed to allow users to plan, schedule and monitor an online virtual project, gaining hands-on experience about the decision-making process of a constructed facility. The basic concept of a Physical Component Breakdown Structure (PCBS), a Work Breakdown Structure (WBS), technology and method selection, resource assignment, Critical Path Method (CPM) scheduling, and the uncertainties involved in construction are all represented in the system, and the relationships involved in time-cost trade-off and productivity influences are explored throughout the game. The web site is comprised of three parts. The first part contains project documents and a reference library that allow the users to browse through the drawings, specifications, and photos of the project, and watch video clips demonstrating typical construction activities. In the second part, the user breaks down the project into components based on structure and constructability, defines activities, selects work methods for a number of important activities, defines network logic, and generates a planning and scheduling report from the system. In the third part, the system generates monthly reports after incorporating perturbations from environmental and economical factors, and the user can adjust the resources and working time for the following month to bring the progress back onto schedule and costs under control. Delays in completion will subject the user to a liquidated damage charge on a daily basis. A project duration or cost exceeding the allowable limits will be deemed failure in the game play. The game is a typical three-tier web application with a project database hosted on SQL Server 2000 and a web application on a web server. A single-span railway bridge in Lions Bay, B C was selected for a case study. However, the game can be used for other projects by addition and modification of the project database. Table of Contents Abstract ii Table of Contents • iii List of Tables vii List of Figures viii Acknowledgement x Chapter 1: Introduction 1 1.1 Introduction 1 1.2 Overview of SimSite version 1 .Ob 2 1.3 Problem formulation for Simsite.Net 3 1.4 Research objective 6 1.5 System features -6 1.6 Target users 7 Chapter 2: Literature Review on Construction Simulation for CAI •• 8 2.1 Simulation: definition, classification and motivation 8 2.2 Construction simulation for CAI: past and current research 9 2.3 A brief look at some typical CAI research projects 10 Chapter 3: Project Management Modeling for Simsite .NET 13 3.1 System modeling approach • • 13 3.2 Project documents browsing& reference library : ••• • 13 3.3 Project planning& scheduling (Phase I) 14 3.3.1 Project planning& scheduling flow diagram 14 3.3.2 Defining Physical Component Breakdown Structure 16 3.3.3 Selecting technology and work methods 16 3.3.4 Defining Work Breakdown Structure 17 3.3.5 Resource assignment 17 - iii -3.3.6 Defining logic relations for C P M scheduling network 18 3.3.7 Generating planning and scheduling report 18 3.3.7.1 Cost estimation 19 3.3.7.2 C P M scheduling 21 3.3.8 Issues on modeling of an intelligent system 21 3.4 Period Play (Phase II) 22 3.5 Master Flow Diagram ; • 25 Chapter 4: Sample Project - The Alberta Creek Bridge 26 4.1 Project description 26 4.2 Multi-view modeling 27 4.2.1 Physical Component Breakdown Structure 27 4.2.2 Technology and work methods 28 4.2.3 Work Breakdown Structure 29 4.2.4 Resource Assignment 30 4.2.5 Logical relations for network schedule 32 Chapter 5: Development Environment Evaluation 36 5.1 Visual Studio .Net Integrated Development Environment (IDE) 36 5.2 Roadmap for development 37 5.3 A quick look at the environment & tools 38 Chapter 6: Design of Distributed Architecture 41 6.1 Distributed architecture-three-tier application 41 6.2 Presentation layer 43 6.2.1 Graphical User Interface design for web server pages 43 6.2.1 Code-behind pages 45 6.3 Business layer •  46 6.3.1 Realization of business rules and logic 46 6.3.2 Business object management 47 6.3.3 Data and data access in business layer 47 6.4 Database layer 48 - iv -6.4.1 Relational Database Management System-Microsoft S Q L server 2000 — 48 6.4.2 Sub-database for project planning& scheduling (Phase I) 49 6.4.3 Sub-database for project monitor& control (Phase II) 51 6.4.4 Stored procedures 52 Chapter 7: Object-Oriented Design with Unified Modeling Language 54 7.1 Application analysis & design with Unified Modeling language 54 7.2 Functional requirements 56 7.2.1 General •, 56 7.2.2 Project documents review and reference library 56 7.2.3 Project planning and scheduling (Phase I) 56 7.2.4 Project monthly play (Phase II) 57 7.3 Use case diagram 57 7.4 Use case analysis and design 58 7.4.1 User account management 58 7.4.2 Package 1: Project document browsing and reference library 61 7.4.3 Package 2: Project planning and scheduling (Phase I) 61 7.4.3.1 Define Physical Component Breakdown Structure 61 7.4.3.2 Select technology and work methods 63 7.4.3.3 Define Work Breakdown Structure 65 7.4.3.4 Assign resources for work tasks 67 7.4.3.5 Define logical relations for network schedule 71 7.4.3.6 Get planning and scheduling report 73 7.4.3.7 Phase I Summary 76 7.4.4 Package 3: project monthly play (Phase II) 78 7.5 Implementation and deployment design 85 7.5.1 Component diagram 85 7.5.2 Deployment diagram 85 Chapter 8: Mathematical Models for Productivity Representation 87 8.1 Introduction to the productivity model • 87 8.2 Factors affecting productivity and mathematical representation 88 - v -8.3 Resource-based classification of activities and productivity calculation 88 8.3.1 Type LD1: Labor-Driven task (Single-trade) • 89 8.3.2 Type LD2: Labor-Driven task (Multi-trade) 92 8.3.3 Type ED: Equipment-Driven task 94 8.3.4 Type C M : Composite task 96 8.4 Stochastic effects: weather generator and productivity update 99 8.4.1 Generation of weather effects 99 8.4.2 Productivity efficiency factors reflecting weather effects 100 Chapter 9: Web Site Design and System Evaluation 102 9.1 Conceptual design 102 9.2 Navigation structure • 104 9.3 Website map 106 9.4 Static and dynamic contents in web page design 107 9.5 Website security • 108 9.6 System Evaluation 110 Chapter 10: Conclusion and Recommendations for future work 115 10.1 Conclusion 115 10.2 Contributions 116 10.3 Recommendations for future work 117 Bibliography 119 - vi-List of Tables Table 1-1: Comparison between SimSite .NET and SimSite 1.0b 5 Table 4-1: PCBS for the prototype project • 28 Table 4-2: WBS for the prototype project 29 Table 4-3: Equipment pool 30 Table 4-4: Labor crew pool • 31 Table 4-5: Material pool 31 Table 6-1: Data tables for project planning& scheduling • 49 Table 6-2: Data tables for monthly play •• 51 Table 8-1: Assignment of temperature factor K, 100 Table 8-2: Assignment of precipitation factor K p 101 - vii -List of Figures Fig 1-1: Structure of SimSite 1.0b 2 Fig 3-1: Project planning and scheduling circle 15 Fig 3-2: Flow diagram for project plarrning& scheduling 15 Fig 3-3: Master flow diagram for SimSite .NET 25 Fig 4-1: Work task resource composition • 32 Fig 4-2: Network diagram for the prototype Project (cast-in-place girder) 34 Fig 4-3: Network diagram for the prototype Project (prefab-and-intall girder) 35 Fig 5-1: Roadmap for development 38 Fig 5-2: The .NET framework :- 39 Fig 6-1: Three-layer development model for SimSite .NET 41 Fig 6-2: SimSite .NET physical implementation • 42 Fig 6-3: Thin web client model for SimSite .NET 43 Fig 6-4: Web page design for use case "Assign resources" 44 Fig 6-5: Web page design for use case "Define logical relations for network" 45 Fig 6-6: A D O .NET object model for SimSite .NET 47 Fig 6-7: Database diagram for SimSite .NET Phase 1 50 Fig 6-8: Database diagram for SimSite .NET Phase II 53 Fig 7-1: SimSite .NET use case diagram 58 Fig 7-2: Static structure diagram for user account management 60 Fig 7-3: Sequence diagram for user account management 60 Fig 7-4: Static structure for use case "Define PCBS" • 62 Fig 7-5: Sequence diagram for use case "Define PCBS" 63 Fig 7-6: Static structure for use case "Select work methods" 64 Fig 7-7: Sequence diagram for selecting work methods 65 Fig 7-8: Static structure diagram for use case "Define W B S " 66 Fig 7-9: Sequence diagram for defining WBS 67 Fig 7-10: Static structure diagram for use case "Assign resources" 69 Fig 7-11: Sequence diagram for assigning resources 70 Fig 7-12: Static structure diagram for use case "Define logical relations" 72 - viii -Fig 7-13: Sequence diagram for defining logical relations for C P M schedule 73 Fig 7-14: Static structure diagram for use case "Get planning and scheduling report"- 75 Fig 7-15: Sequence diagram for getting planning& scheduling report 75 Fig 7-16: Top-view static structure for SimSite .NET Phase 1 76 Fig 7-17: Use case control flow diagram for phase 1 77 Fig 7-18: Static structure diagram for use case "Monthly play" 80 Fig 7-19: Sequence diagram for use case "Monthly play" 81 Fig 7-20: Activity diagram for use case "Monthly play" 83 Fig 7-21: Component diagram for SimSite .NET 85 Fig 7-22: Deployment diagram for SimSite .NET 86 Fig 8-1: Crowding Factor K c vs. Number of Labors (Sample) 91 Fig 8-2: Labor Ratio Factor K r vs. Ratio of Skilled/Unskilled labors (Sample) 91 Fig 8-3: Trade Coordination Factor K s vs. Ratio of Two Coordinating Trades (Sample) 94 Fig 9-1: Conceptual design for SimSite .NET 103 Fig 9-2: Major navigation structure for SimSite .NET 106 Fig 9-3: Web site map for SimSite .NET 107 Fig 9-4: Project Schedule Report Summary Page 110 Fig 9-5: Detailed Project Schedule Report I l l Fig 9-6: Project Cost Report Summary I l l Fig 9-7: Detailed Project Cost Report 112 Fig 9-8: Project Monthly Implementation 112 Fig 9-9: Project Monthly Implementation Results •. 113 - ix -A c k n o w l e d g e m e n t I'd like to express my sincere gratitude to the following people who made it possible to complete this research project throughout the past academic year: Professor Thomas Froese, my supervisor, whose consistent encouragement and assistance made this research project possible. He provided software, books, and other valuable materials for me and spared valuable time and effort to give me advice, guidance and consultation. It is only with his help and inspiration that this project could be completed in the best possible way. Professor Alan Russell, his excellent lectures in several graduate courses benefited my research to a great extend by providing useful materials and research methodology. His review and comments on the thesis constituted a valuable contribution to the research. Professor Sheryl Staub-French, her encouragement and critical comments served as a motivation to my research. The infrastructure of the application was optimized with her suggestion of delivering a more modularized step-wise CAI lecture in the gaming environment. I'd also like to extend my sincere thanks to other faculty members and graduate fellows who gave me selfless advice, suggestions and help throughout much of the research. And finally, my wife, Jingwen Xu, who is responsible for taking care of the whole family, made it possible for me to concentrate on my research. Financial support from Construction Engineering& Management Group greatly alleviated me from financial burden. Thank you to all the faculty and staff in the group. -x-Chapter 1: Introduction to The Research Chapter 1 : Introduction to the Research 1.1 INTRODUCTION Simulation as a tool for Computer-Assisted Instruction (CAI) has been under intensive study over the past decade, fostered by the rapid development of computer hardware, software and the World Wide Web (WWW). Computer-based simulations benefit instruction in a construction management (CM) curriculum by providing an interactive system for the student to explore and comprehend C M theories in an integrated environment that cannot be achieved in traditional classroom instruction. In the summer of 1993, a project to examine the potential of CAI in a civil engineering curriculum was initialized at the University of British Columbia [Froese, 1], The project, involving participation of faculty members and students, selected topics from two courses to develop into CAI applications to enhance the teaching. One of the results is SimSite version 1.0b, a computer module simulating the bidding for a single-span railway bridge; this application, which allowed students to prepare a bid proposal including work plan, schedule, and cost estimation in a guided self-paced process—received a very positive response from the students. The idea of creating a full-featured, dynamic virtual project to allow users to feel the real-world construction process through a "play-and-learn' process came into being with the success of SimSite. This virtual project should be designed to capture the construction data, knowledge, and semantics of project management, with integration of the C M technologies, methods, and theories into the gaming process. W W W technology further sparked the idea of hosting the project on-line with easy access anytime from anywhere, and the development of such a web application became much easier with the introduction of the .NET platform by Microsoft in 2001. Microsoft .NET catalyzed the research project by providing a platform for efficient, easy web application development. A web application based on the .NET platform comes with features of better connectivity, easy data access, modularized development and extensibility. The application of Object-Oriented Analysis & Design using the Unified Modeling Language (UML) also facilitates the development process. Therefore, this research project, named "SimSite .NET", is intended to establish a framework for online project hosting, based on the previous 1.0b version of SimSite. This online project, presented in a gaming format, will simulate the facility construction process from the bidding stage until completion of construction. Three parts of the process: Project Document Review & Reference Library (PDRRL), Construction Planning & Scheduling (CPS), and Construction Monitoring & Control (CMC), were simulated in an integrated computer model- SimSite .NET. -1-Chapter 1: Introduction to The Research 1.2 OVERVIEW OF SIMSITE VERSION 1.0b Simsite version 1.0b is a computer module developed at the University of British Columbia in 1993 to introduce Computer-Assisted Instruction (CAI) into the curriculum in the Department of Civi l Engineering. It places students in a scenario where they are given an assignment to prepare a bid proposal for a construction project (The Alberta Creek Railway Bridge). After reviewing the tender requirements and project description in the module, the user must develop a bid proposal including work plan, estimate and schedule, and submit the proposal to the system (modeled as the user's boss) for approval. He/she may seek assistance from Reference and Help sections in the system during the process as necessary. Fig 1-1: Structure of Simsite 1,0b The developers chose Toolbook version 1.5 from Click21earn Inc. as the authoring tool for the module. The program was divided into six major sections and combined into an interface with a common control bar across the top. The six sections have a structural relationship as shown in Fig 1 and are organized into three groups: a. Initialization: At the beginning of the program, a memo from the boss appears on screen describing the mission of the student. After learning what to do, the student goes to the section of Project Description where he can get a better feel for the project by viewing the project summary, plan drawings and photo images of the completed project. b. Implementation: The Work Area section appears as three folders labeled workplan, estimate and schedule where the student is required to define work activities, assign resources and designate scheduling network sequences. The procedures include the following steps: 1. Define work activities. To define a work activity, the user can select one component from a pre-defined list which he intends to operate on, select a work type from a pop-up list showing what kind of operation to be implemented, and type in a name that best describes the work activity. 2. Assign resources. The user must select the equipment and configure the labor crew required for the activity. -2-Chapter 1: Introduction to The Research 3. Check feasibility of the previously defined work activity. Any problems with the student's activity plan is shown in an error message so that corrections can be made 4. Define dependence relations for the network schedule. The first three steps take place in the workplan folder and step 4 takes place in the schedule folder. The Estimate folder shows the unit productivity, duration and cost composition of the defined activity. Changes can be made and results compared by revising numbers and composition of the labor crew. The user can switch to any of the three folders at any time. Finally, the student must submit his work package in the Boss's office section for approval, and the feedback helps the student to identify problems for further corrections until final approval is received. c. Assistance: The students can, at any time, resort to the Reference Library and Help system for assistance. The reference library contains information about each work type, its definition, resource requirements, productivity etc. Indexed scanned images can also be found in the library for better understanding of the work type. Information in the help system gives students step-by-step instructions on how to work with the project. SimSite is intended to give students a better understanding of topics covered in regular lectures through their application to a simulated actual project. Students can get a feel for how different topics such as estimating, scheduling and resources planning relate to each other. Survey results from the students using the module show that students rate SimSite as having "quite a lot" of basic value and being "fairly easy" to use [Froese, 1]. 1.3 P R O B L E M FOPJvlULATlON FOR SFMSITE.NET The successful development and application of SimSite in constructing training and learning at U B C has paved the way for further development and expansion of the program. The Internet has been widely applied as a fourth media to information publication and distribution, education and communication because of the following features: • Standard format of expression. Texts, graphics, sound and video can all be indexed and easily searched by all networked machines. Hypertext provides a user-interface to large classes of information (reports, notes, databases, computer documents and online help). • Multimedia support. Audio and video files, images, and slides can be presented to users on the web. • Remote and easy access. Through HTTP, information on the web can be shared and communicated among authorized persons anywhere and at anytime. -3-Chapter 1: Introduction to The Research • Interactivity. Web technology advocates more man-machine interaction. Dynamic distance education and web-based or web-enabled applications are therefore made possible. Some people predict that most of the commercial off-the-shelf software will change from window-based to web-based in the near future. • Persistency and security problems can be adequately addressed in web-based systems. Therefore, the general idea for improving SimSite was to build an interactive application on a web platform, where the user can freely access the static information and interact with the dynamic simulations in an intuitive visual format. Active Server Pages .Net (ASP.NET) and the .Net framework are Microsoft solutions to web application development. Compared with previous web development environments, they address interoperability, scalability, reusability and extensibility of web applications and allow web development with a distributed architecture. The new data access technology of Active Data Objects .Net ( A D O . N E T ) enables easy and secure data access and operation from programmed web pages and business classes. Other commercial software components that are compatible with the .Net framework can also be utilized for our purpose, such as Crystal Report 8.5 for V S . N E T from Crystal Decisions Inc. Regarding the specific contents of SimSite.Net, there are three issues that should be addressed: • Integration of construction methods, concepts, and theories into the application. Unlike general project management software, such as Microsoft Project, SureTrak Project Manager, or R e p c o n ® , the user is working with a specific project pre-defined in SimSite.Net. When he steps through different stages of the project, he is able to apply the basic knowledge learned in the classroom, and the system is able to provide appropriate feedback. • Modularization. The new. application can divide the functions that make up the "work area" of SimSite into modular steps that can be developed into lessons corresponding to the different facets of planning and scheduling a project. • The addition of a project implementation stage. The original SimSite program addressed the project planning stage only. SimSite.Net adds a project implementation phase (i.e., representing the execution of the construction project) to the program, which provides the user with a chance to deal with the uncertainties found in project management. This dynamic interaction process gives the user hands-on experience of decision making in project management, thereby improving their skills and strategies in resource adjustment, working overtime, and balancing multiple project goals. A comparison between the new . N E T version and the previous 1.0b is shown in the following table: -4-Chapter 1: Introduction to The Research Table 1.1 Comparison between SimSite .NET and SimSite 1 .Ob SimSite vl.Ob SimSite .NET Development: Development Environment ToolBook 1.5 .NET platform Running Platform Windows, single user Distributed system, multi-user Application type Windows application Web application Software extensibility Difficult Easy Modularization of project "planning & implementation" No Yes Help Relatively simple Complex, H T M L format has more friendly browsing, searching and keyword indexing. Expansion of this part is expected in the future. Research and modeling: Define Physical Component Breakdown Structure No Yes Select technology and work methods Yes Yes, but with clear definition and separate implementation Define Work Breakdown Structure No Yes Define Logical relations for network schedule Yes Yes, enhanced visual format and instant validation Resource Assignment Yes Yes, with additional modeling and implementation. Establish clear relationship between productivity and crew assignment, with consideration of constraints. Simulation of Project Execution Phase (monthly play) No Yes Reporting function Final result Detailed breakdown of schedule and cost package Chapter 1: Introduction to The Research Table 1.1 Comparison between SimSite .NET and SimSite 1.0b (cont'd) Knowledge conveyed to the user Project Planning & scheduling Impact of different methods, resources, logical relations on project schedule and cost Definition ofPCBS, Selection of work methods, definition WBS, definition of logical relations for network schedule, resource assignment. These sequential steps must be properly addressed with due consideration to each other and project constraints. Project execution Not included The environmental effects and decision making effects on project schedule and cost. Key strategies on decision making are addressed. 1.4 R E S E A R C H OBJECTIVE The graduate of a civil engineering program who is starting a career in construction gains experience by exposing himself to one project after another, year after year. Problems may arise due to an initial lack of experience, and expertise gained in one type of project may not provide the necessary expertise in other project types. A gaming environment can be used to provide effective project management training and education, yielding results that are similar to on-the-job training. Simsite.Net has the following objectives: • Establish a framework for online project simulation to allow a user to plan and work with a project in a virtual environment. • Create a gaming environment for students to better understand concepts, methods, and theories in project management. • Create a gaming environment for students to gain hands-on decision-making experience by playing the game in project planning and execution online. • Encourage hands-on, active participation by the student in the learning process. • Supplement regular lectures in construction management and integrate knowledge learned in various engineering courses. 1.5 S Y S T E M FEATURES SimSite.net should consist of the following main features that distinguish it from other applications: -6-Chapter 1: Introduction to The Research • Better accessibility. The application should be completely web-based; the only tool needed for running the application is a web browser with a connection to the Internet. • Visual and intuitive interactivity. Well-designed visual web interfaces enable users to communicate with the system in an intuitive manner. Web-based reporting in either graphical, tabular or text format assists users in decision making with enhanced readability. • Highly abstracted virtual reality. The modeling of the system is based on the steps, methods, and procedures in the real world of project management workflows and concepts. However, the mathematical and logical models are highly abstracted in a gaming environment to focus on the key data, knowledge and process. • Extensible case-based. The system design is based on a specific project. However, the system model is designed to depict the general workflow and concepts in construction management and is equally applicable to other projects. More projects can be added by modifying the project database. 1.6 TARGET USERS SimSite.Net is designed for third or fourth-year undergraduate students in civil engineering programs or graduate students in a two-year program in construction management. It is intended to supplement the regular lectures and provide a holistic view of project management. Anyone who is interested in construction management can use this application to better understand the concepts, methods, procedures and strategies in project management. Chapter 2: Literature Review on Construction Simulation for Computer-Assisted Instruction Chapter 2: Literature Review on Construction Simulation for Computer-Assisted Instruction With the rapid development in computer technology over the past few decades, simulation technology has been applied successfully to all disciplines for various purposes. In this chapter, we first take a brief look at the general simulation technology and development trends, and then specifically address the topic of construction simulation for Computer-Assisted Instruction (CAI). Finally, we present some past and on-going research projects in this domain. 2.1 SIMULATION: DEFINITION, CLASSIFICATION A N D MOTIVATION Simulation, according to R.E. Shannon [Shannon, 2], is defined as follows: Simulation is the process of designing a model of a real system and conducting experiments with this model for the purpose either of understanding the behavior of the system or of evaluating various strategies (within the limits imposed by a criterion or set of criteria) for the operation of the system. Even though simulation covers a wide variety of methods and theories, it is commonly thought of as "conducting experiments on a digital computer, and involving mathematical and logical models of a real system." Therefore, simulation involves two steps: system modeling (deriving the theoretical model from the real world system) and simulation programming (transforming a model into a computer-based program). A l l simulation models are of an "input/output" type. The structure of these models can be expressed mathematically as the expression: E = f{Xi,Yi) (3-1) Where E - the effect of the system's performance X; - the variable and parameters that we can control Yj - the variables and parameters that we cannot control f() - the relationship between system effects E and X; ,Yj Modeling a real world system is the most important and first step in simulation. The ingredients of a system including components, variables, parameters, functional relationships, constraints, and criterion functions, must be represented in the model using mathematical and logical expressions. The abstraction and modeling of a real world system are closely related to the objectives of simulation. Simulation is used to serve a particular purpose. According to R. E. Shannon [Shannon, 2], it has at least five legitimate and common uses irrespective of its application field: -8-Chapter 2: Literature Review on Construction Simulation for Computer-Assisted Instruction • A n aid to thought • A n aid to communication • A tool for training and instruction • A tool of predication • A n aid to experimentation We are particularly interested in the application of simulation to training and instruction. In fact, computer facilities and educational software have become so common in the classroom that Computer-Aided Instruction (CAI) has become an inseparable part of the curriculum for modern training and education. The effectiveness of CAI tools has been verified in all disciplines and at all levels. Computer-assisted training of management in a gaming format has been recognized and become popular in many disciplines such as business, military, construction, etc. where complexities brought by multi-trades, multi-objectives and uncertainties are involved. With a simulated environment in a computer game, the user is faced with the problems which are similar to those encountered in the real world. The decision makers in a dynamic and constantly changing environment must make instant decisions. In effect, life experience can be achieved through game play without the painful results caused by accidents and incorrect decisions in the real world. Computers were regarded as expensive resources even a decade ago, but now the capacity and processing speed of computers are growing at an enormous speed while their costs are going down. A l l kinds of general-purpose and special-purpose software are readily available for use in systems development, and the application of object-oriented concepts and multi-tier development has made the development of simulation systems much easier and faster. At the same time, developing simulation games face a lot of challenges, due to the difficult in modeling complicated systems. The more details and knowledge the system involves, the more difficult it is to model and implement system. This is especially true in construction industry, where projects vary significantly and the underlying model differs from each other. 2.2 CONSTRUCTION SIMULATION FOR COMPUTER-ASSISTED INSTRUCTION (CAT): PAST A N D CURRENT R E S E A R C H The construction industry is distinguished by low productivity, high risks and uncertainties. It also involves a lengthy learning curve for school graduates entering the industry. Graduates, armed with knowledge learned from engineering courses, join industry and face great challenges while participating in project management. The fragmented knowledge gained from courses designed for various aspect of civil engineering only gives them a partial understanding of project management issues. The graduates become experienced after years of exposure to job sites and participation in -9-Chapter 2: Literature Review on Construction Simulation for Computer-Assisted Instruction project management, but a lack of experience before this stage may lead to improper decisions and consequential losses. The experiences gained in one type of project may not be applicable to other types of project due to the uniqueness and complexity of projects. Construction management games came into existence to address this dilemma encountered by the graduates in the following respects: • Integrating knowledge gained from engineering courses • Creating a gaming environment that simulates one or more aspects of project management to allow users gain hands-on experience of decision-making in different scenarios. • Enhance and supplement the knowledge learned in the classroom during the game play. • Encourage active participation in course study and instill enthusiasm in the learning of problem solving skills 2.3 A BRIEF L O O K A T SOME TYPICAL R E S E A R C H PROJECTS Simulation applications for CAI in construction management have been developed in a wide variety of forms and serve different purposes. Some simulate one project viewed from many aspects; some simulate one aspect of many projects, some deal with different stages of a project, and some target at specific methods, operations, and procedures of construction. Some of the representative and well-known applications in construction are CONSTRUCTO [Halpin, 3], Internet-based Construction Management Learning system (ICLMS) [Sawhney, 4], Superbid [AbouRizk, 5], Construction Planex [Zozaga-Gorostiza, 6], Equipment Replacement Game [Nassar, 7], etc. The first three systems are briefly summarized in the following paragraphs. CONSTRUCTO CONSTRUCTO is a heuristic game for construction management education developed by Dr. D.W. Halpin of the University of Illinois in 1973. The game simulates the cost and schedule of a project. It confronts the player with a simulated situation described in terms of environmental and economical parameters and places him in the position of being in charge of a construction project. To keep the project on schedule, the player can change the crew make-up, stop an activity, crash an activity, change activity work priority, or work holidays and weekends to response to the perturbation caused by environmental and economical uncertainties. The object of the game is to complete a project in a specified time and at a minimum cost. The objective of the game development is to train the player in decision-making throughout the process of construction while facing challenges from risks and uncertainties. The game was a great success and was regarded as the mother of construction simulation games, However, the game has the following deficiencies from today's viewpoint: (1) Input by punch card (or batch card mode), this was restricted by computer technology at that time. (2) The system outputs are difficult to read and interpret. (3) The assumption of using crew composition to characterize a project activity, and labor unit (LU) to measure the cost and duration of -10-Chapter 2: Literature Review on Construction Simulation for Computer-Assisted Instruction a p r o j e c t a c t i v i t y i s o n l y i d e a l f o r l a b o r - i n t e n s i v e a c t i v i t i e s . (4) A s s u m i n g u n i f o r m r a n d o m d i s t r i b u t i o n o f temperature a n d r a i n f a l l i s not a p p r o p r i a t e . (5) T h e p r o j e c t a c t i v i t i e s h a v e to be t y p e d i n first b y the p l a y e r (or s e l e c t e d from the l i b r a r y ) b e f o r e g a m e p l a y . T h i s i n p u t o r d e f i n i t i o n cannot b e v a l i d a t e d i n the c o m p u t e r a n d m a y m i s l e a d the user i f i m p r o p e r l y d e f i n e d . Internet-based Interactive C o n s t r u c t i o n M a n a g e m e n t L e a r n i n g S y s t e m T h e Internet-based Interactive C o n s t r u c t i o n M a n a g e m e n t L e a r n i n g S y s t e m ( I C M L S ) w a s d e v e l o p e d i n A r i z o n a State U n i v e r s i t y b y A . S a w h n e y e t c . [ S a w h n e y , 4] U s i n g the Internet as the l a u n c h i n g m e d i a , the s y s t e m is d e s i g n e d to i m p r o v e the e f f e c t i v e n e s s o f l e a r n i n g a n d b r i d g e the gap b e t w e e n the c l a s s r o o m a n d the w o r k site. U s e r s c a n b r o w s e t h r o u g h the c o n s t r u c t i o n e q u i p m e n t , c o n s t r u c t i o n p r o c e s s database represented i n m u l t i m e d i a e l e m e n t s i n the s y s t e m , o r d e v e l o p , i m p l e m e n t a n d i m p r o v e a s o l u t i o n for a selected c o n s t r u c t i o n s c e n a r i o . V i r t u a l r e a l i t y M o d e l i n g L a n g u a g e ( V R M L ) a n d J a v a applets are u t i l i z e d to i l l u s t r a t e the m a n - m a c h i n e i n t e r a c t i o n p r o c e s s . T h e d e v e l o p e r s o f the s y s t e m c o l l e c t e d i n f o r m a t i o n a n d e s t a b l i s h e d a h u g e m u l t i m e d i a l i b r a r y o f c o n s t r u c t i o n e q u i p m e n t , c o n s t r u c t i o n p r o c e s s e s , a n d c o n s t r u c t i o n s c e n a r i o s , w h i c h are a c c e s s i b l e o v e r the Internet. T h i s v i v i d a n d v i s u a l f o r m a t o f l e a r n i n g e n h a n c e d the l e a r n i n g effects o f students a n d r e c e i v e d a w a r m response f r o m the students [ S a w h n e y , 4]. T h e s e c o n d part p l a c e s students i n a s i m u l a t e d e n v i r o n m e n t o f a t y p i c a l c o n s t r u c t i o n s c e n a r i o a n d g i v e s t h e m a h o l i s t i c v i e w o f c o n s t r u c t i o n . S U P E R B I D S U P E R B I D i s a c o m p u t e r g a m e d e v e l o p e d at the U n i v e r s i t y o f A l b e r t a b y S . A b o u R i z k a i m e d at t r a i n i n g students i n v a r i o u s b i d d i n g s t r a t e g i e s [ A b o u R i z k , 5]. A t the b e g i n n i n g o f the g a m e , i n i t i a l assets are a s s i g n e d to the p l a y e r s w h o represent g e n e r a l c o n t r a c t o r s . T h e p r o g r a m generates m a r k e t s u p p l y i n the f o r m o f projects to b e e x e c u t e d , a n d the p l a y e r s s u b m i t b i d s after s t u d y i n g the m a r k e t , e v a l u a t i n g t h e i r f i n a n c i a l c a p a b i l i t y , w o r k o n h a n d , b o n d i n g c a p a c i t y a n d trade c o n t r a c t o r s ' r e l i a b i l i t y . B o t h entry o f b i d a n d p e r f o r m a n c e o f subcontractors are r a n d o m l y generated a n d c o n t r o l l e d b y the s y s t e m . T h e p l a y e r s are r e q u i r e d to m a x i m i z e t h e i r return o n the o r i g i n a l assets a s s i g n e d to t h e m . T h r o u g h the g a m e p l a y , the p l a y e r c a n better u n d e r s t a n d the factors c o n s i d e r e d i n the b i d d i n g p r o c e s s a n d , therefore, i m p r o v e t h e i r s k i l l s a n d a b i l i t i e s i n c o n s t r u c t i o n b i d d i n g . S U P E R B I D has b e e n u s e d i n a n u m b e r o f N o r t h A m e r i c a n U n i v e r s i t i e s f o r t r a i n i n g i n b i d d i n g a n d it i s s t i l l u n d e r constant d e v e l o p m e n t a n d u p g r a d i n g . T h e p r e c e d i n g p a r a g r a p h s p r o v i d e a g l i m p s e o f past and o n g o i n g c o n s t r u c t i o n s i m u l a t i o n projects f o r C A I . C o n s t r u c t i o n s i m u l a t i o n R & D has b e e n so p o p u l a r a n d f r u i t f u l that it has t u r n e d i n t o a s p e c i a l b r a n c h o f c o n s t r u c t i o n i n d u s t r y r e s e a r c h . T h e g e n e r a l trends i n c o n s t r u c t i o n s i m u l a t i o n are as f o l l o w s : • D i v e r s i f i c a t i o n o f s p e c i a l - p u r p o s e s i m u l a t i o n s o f t w a r e m a k e s it p o s s i b l e to select a s p e c i f i c a l l y t a i l o r e d s i m u l a t i o n p a c k a g e f o r a n y area o f a p p l i c a t i o n . -11-Chapter 2: Literature Review on Construction Simulation for Computer-Assisted Instruction • Development of General Purpose Simulation Languages, including Cyclic Construction Simulation (CYCLONE) by W. Halpin, and STROBOSCOPE by Julio C. Martinez. • Visual simulation • Object-oriented simulation • Web-based applications -12-Chapter 3: Project Management Modeling for SimSite .NET Chapter 3: Project Management Modeling for SimSite .NET 3.1 S Y S T E M MODELING A P P R O A C H SimSite.Net is an online construction management game simulating core concepts throughout the process of document review and analysis, project planning and scheduling, and project monitoring and control. The three parts represent the three stages of Construction Management (CM): project initialization, definition and implementation Each phase of the system captures the work procedures, data, and knowledge in C M . The first part, project initialization, abstracts project documents and useful reference materials for typical activities and presents them in a static web structure. The second part, project definition, models five-steps for planning a project, estimating the project cost and scheduling. The third part, project implementation, is based on the previous definition of the project, and aims to represent a monthly project management scenario where the environment affects project performance and the project manager makes decisions to control the progress and cost. 3.2 PROJECT DOCUMENTS BROWSING A N D REFERENCE L I B R A R Y After a contractor decides to work on a project, he should read the project documents and collect data and information on the project. The project documents specify the requirements from the stakeholders, project drawings and specifications, as well as geological, metrological and social conditions related to the project. This part is modeled and presented to users to familiarize them with the to-be-built project, which is very important because all the following steps are based on a good understanding of these facets and preconditions. The web format has the advantage of being able to host any kind of well-organized information (text, drawings, photographs, audio and video, etc.) and be easily accessed by the user. To facilitate the game play and attain a better result, we have elected to place the following contents on the web, so that the user can quickly understand the project requirement and receive effective assistance to begin the project. • Introduction General overview of the constructed facility and requirements from the developer (stakeholders) • Project drawings Selected drawings showing the location, architectural plans and structural details • Project specifications Technical specifications for the project and major activities; abstracts of commercial clauses are also included. • As-built photo album -13-Chapter 3: Project Management Modeling for SimSite .NET Some photographs are taken showing different parts of the as-built project. The photographs are organized into a web photo album to help users get a better feel for what the completed project should look like. • Reference library The reference library in version 1.0b of SimSite is placed under this folder. Typical construction activities related to the project are illustrated in text, photographic and video format. These activities include reinforcement placement, formwork installation, concrete pouring by different methods, etc. The user can review the description of the activity, typical resource requirements, productivity expectations, pictures and video clips, etc. Compared with the original version, the project documentation is changed to web format, which is superior in presenting multi-media contents, and indexed text. The project drawings can also be viewed on web pages. 3.3 PROJECT PLANNING & SCHEDULING (PHASE I) 3.3.1 Project planning & scheduling flow diagram At the project planning and scheduling phase, the contractor is responsible for preparing a work plan, a progress schedule and a cost estimation report. The work plan, as the basis of the schedule calculation and cost estimation, must be feasible and optimum so that the project can complete within the allowable time frame and at a minimum cost. The procedures for project planning and scheduling are illustrated in Fig 3-1. The five steps abstracted from a general contractor's view are: • Define the Physical Component Breakdown Structure (PCBS) • Select technology and work methods • Define the Work Breakdown Structure (WBS) • Assign resources • Define Network logic for Critical Path Method (CPM) schedule. The current practice in construction industry is: based on the five steps, the contractor does the C P M calculations using scheduling software like P3, or Microsoft Project, and completes the cost estimation sheets based on basic cost data.. The five steps for formulating a work plan are modeled and represented in the system. The system translates the five steps into sequential modularized lessons as shown in Fig 3-2. Obviously, the work plan, before getting approval, may be subject to adjustment and optimization. The finalized work plan must demonstrate a project duration and a total cost which fall into the acceptable range set by the developer. -14-Chapter 3: Project Management Modeling for SimSite .NET Fig 3-1: Project Planning and Scheduling Circle ( Start ) • Project Document Review and Analysis Define Physical Component Breakdown Structure (PCBS) Select technology and work methods Define Work Breakdown Structure (WBS) Assign resources for work tasks Define dependencies for network schedule \ * Get planning & scheduling report Submit for approval No Fig 3-2: Flow Diagram for Project Planning & Schedulit -15-Chapter 3: Project Management Modeling for SimSite .NET 3.3.2 Defining Physical Component Breakdown Structure The Physical Component Breakdown Structure (PCBS) is a hierarchical representation of the project structure in terms of units, partitions and physical components, this part is added to SimSite .NET to let users better understand the physical components of the project and the constructability issues involved. Unit; The project can be divided into units or subprojects. These might be independent houses in a residential development project, adjoining berths in a marine terminal, consecutive sections of a highway, main span and approaches of a bridge, etc. These units are usually distributed horizontally and are more-or-less independent in terms of structure. Partition: The second level of breakdown is called "partition", which represents a collection of physical components forming a functional part of the structure. Partitions are usually distributed vertically or in some cases horizontally, they are closely related and have a dependent relationship. Examples include floors of a building, foundation, substructure, superstructure and miscellaneous facilities of a bridge. Physical Component: The third and last level of structure indicates the physical elements attainable through a series of operations that consume resources directly. The division of partitions into components must consider the constructablility as well as structural separation of physical components as per design. This view of the project is taken from the point of view of a construction engineer in terms of constructability and general arrangements. This process is simulated in the application by requiring users to select and define this hierarchical structure from top to bottom level. This method of breaking down a project is applicable to all kinds of projects based on the simplified assumption that the project can be assembled from base units, and these units form the basis for cost estimation and scheduling. The successful definition is possible only after having a firm understanding of drawings and construction methods. This pre-defined hierarchical structure is represented with related entities in the project database; the system uses this information to compare and validate user selections. This is intended to familiarize the users with how to breakdown the physical project into components at appropriate level based on project size, complexity, and intended use. 3.3.3 Selecting technology and work methods The routine decisions made by a project management team include methods of building or assembling these physical components. Various methods either at a strategic level or at a lower level are evaluated based on their merits and shortcomings from the aspects of cost, duration, quality, reliability, etc. For example, the bridge slab for a single-span bridge can either be installed after pre-fabrication, or cast in-place, the choice will be vary with different project conditions such as duration, site conditions, contactor's facilities etc. These technology and methods, predefined in the system, allow the user to -16-Chapter 3: Project Management Modeling for SimSite .NET make a choice after creative thinking and comparisons, and they can change it later i f problems come up at a later stage with the cost or schedule resulting from the selection. For some of the physical components, a number of alternative construction methods are modeled and presented in the system; different options will lead to differences in activity cost, activity duration, project cost, or project duration. The objective of this process is to let the users decide the best one from various construction methods, in terms of duration and cost. This is one of decision making processes we encountered in project construction management. 3.3.4 Defining Work Breakdown Structure The Work Breakdown structure (WBS) is a hierarchical representation of works required to complete the project. The elements of the WBS are Projects, Phases, Tasks, and Activities. The hierarchical structure is simplified by ignoring the difference between work tasks and activities, i.e. they are combined into one level and the two terms are used interchangeably in the thesis. The work tasks link to physical components. We choose to define the work tasks based on structural components for planning and scheduling, because at this level, the relationships among structure, work task and resources are defined clearly and simply, and the level of detail is considered sufficient for real-world cost estimation and scheduling. In the game, the user must select activities for each physical component from a pool of typical construction activities at different level of details. As a guideline, very large components or these involving complicated work procedures require more details in defining tasks. This work breakdown structure module is designed to allow users to make up appropriate work items based on the PCBS and selected construction methods. 3.3.5 Resource Assignment Project activities require resources (equipment, labor, material, etc), subject to resource constraints. The resources required may be limited across a span of project duration; the resources required by different tasks may be in conflicts, etc. Hence, assigning optimal resources to work tasks is challenging and requires experience. The resource assignment in this project is intended to address two issues (1) how to assign appropriate resource types, and quantities, in range of optimal proportions to achieve maximum productivity; and (2) how to consider resource constraints or conflicts. Each work task consumes resources and generates an end-product (physical component) or a part of it. Resources have to be the appropriate type, quantity and quality. Minimum amounts of resources are required to undertake the work task and resources cannot exceed maximum amounts due to space limitation and conflict. -17-Chapter 3: Project Management Modeling for SimSite .NET In the game, the user is required to select an equipment fleet for the work task from the pool of equipment and then define the crew and other labor types from the pool of labor. The number o f each type of equipment and labor must be in an appropriate range to successfully define the resources. The system automatically defines the material resources for each work task so long as the user properly assigns the equipment and labor resources. The material resources include both permanent materials and temporary materials. The former is assumed in the system as unlimited in quantities, but the latter type may be modeled as limited for some temporary structures, such as proprietary purpose-made formwork or falsework. The user must define appropriate logical relations in the network schedule to reflect these constraints, the system checks user inputs to validate the defined logical relations and the required number of relations for each activity. The productivity o f the task depends on the resources assigned by the user, as is the task duration and cost. Over-assigned, under-assigned or inappropriately assigned resources may cause problems such as in-feasibility of work tasks (which is not permitted by the system), low productivity, and high cost. The relationship between resources and productivity w i l l be presented in Chapter 8. The system defines this relationship in the project database and further maps this relationship to business classes. The user must define resources for all the work tasks to complete this step, and an optimal combination of resources w i l l generate higher productivity, indicating a better allocation of resources. Thorough this process, the user can explore the relationship between the activity resources and its duration and cost. 3.3.6 Defining Logic Relations for C P M Scheduling The system uses Critical Path Method for project scheduling and analysis. The project is broken down into work tasks through the W B S definition, and the task cost and duration is determined from its productivity as soon as the user assigns resources for the task. To formulate a complete network schedule, the user has to define appropriate sequence and interdependence by using the relationship of Finish-Start (FS), Start-Start (SS), or Finish-Finish (FF). Therefore, this step requires the user to select precedence tasks for each task that has dependences. The user must define sufficient dependencies, appropriate relations, and lag/advance value for the each task. The system w i l l check for the minimum set of relationships for each task after the user input. However, the user-defined network, even when validated, is not guaranteed to be an optimum one, so the user must plan carefully. B y going through this step, the user w i l l be forced to think about the relations among various work activities. Developing a project network based on identified constraints is regarded as the purpose of this procedure. 3.3.7 Generating Planning and Scheduling Report -18-Chapter 3: Project Management Modeling for SimSite .NET If the user completed everything correctly in all of the previous steps, he has completed the definition for the project. The last thing he must do is to define the project start date and work calendar to formulate a complete schedule network. The simulated scenario in the system is the user, placed in the position of a bidder, trying to negotiate the contract with owner. The owner is concerned with the project deliveries such as cost, duration, quantity, and quality, o f which project cost and duration are of most importance (considering that the quantity and quality are must-be-satisfied requirements). If the duration and cost of the project are acceptable to the owner, the contract is awarded, indicating the end of negotiation, and the user can move to the project execution stage. Otherwise, the user must adjust the resources or network logic to satisfy the requirements put forward by the owner. The system generates the cost estimation and C P M scheduling reports as the outputs of the project planning and scheduling. 3.3.7.1 Cost estimation The project cost estimation is based on Heavy Construction Cost Data, 1998 Edit ion, compiled by RS Means Inc [RS Means, 8]. The total project cost is broken down into direct cost and indirect cost. Direct cost summarizes all the costs incurred from direct deployment of equipment, labor, and materials, while indirect cost covers overhead and profit. The total project cost is determined according to the following procedures: (1). Determine task productivity based on assigned resources: /NumberofEquipl, NumberofEquipl, NumberofEquipi ^ Pr oductivity = f NumberofLaborl, NumberofLabor2, NumberofLaborj j (3-1) The task productivity is primarily determined by the resources assigned to the task, on the assumption of a normal working environment. Chapter 8 describes in detail the mathematical relationship (3-1) between task productivity and assigned resources. (2). Calculate task duration TaskDuration = TaskQuantity (3-2) Productivity The task duration is derived from dividing the bi l l of quantities in the task by its productivity. -19-Chapter 3: Project Management Modeling for SimSite .NET (3) . Get Equipment cost for each task EquipmentCost = ^(DailyRent xTaskDuration) (3-3) i=\~e The bare equipment cost is obtained by summing all the equipment rental cost incurred across the task duration. (4) . Get labor cost for each task LaborCost = ^ (PayRate x 8 x TaskDuration x 1.36) (3-4) i=\~e The bare labor cost is obtained by summing up all the labor cost incurred across the span of task duration and multiplied by a factor of 1.36. The assumption is an 8 hour working day. This factor is an average value covering subcontractor's indirect cost items, including workers' compensation, unemployment insurance, builder's risk insurance etc. (5) . Get material cost for each task MaterialCost = ^ (TaskQuantity x Unit Pr ice) (3-5) i=\~e The cost of permanent materials is equal to the task quantity multiplied by the unit price, the cost of temporary materials is the required quantity multiplied by rental price (if rented for usage) or unit price (if consumed). (6) . Derive total bare cost for the project TotalBareCost = ^ [EquipmentCost + LaborCost + MaterialCost] (3-6) (=1-1! The equipment cost, labor cost and material cost make up the total project bare cost. (7) . Derive total project cost TotalCost = TotalBareCost x (l + 10%) (3-7) For simplicity, we take the general contractor's overhead and profit as 10% of the total bare cost, based on which the total project cost can be calculated. From the cost estimation package, the user should be able to view the following: • The cost information at the project level, • Information on task productivity and productivity efficiency level, • Information on task cost and composition, -20-Chapter 3: Project Management Modeling for SimSite .NET • The tabulated task cost, dynamically sorted, • A graphical representation of cost information at both the project and the task level. 3.3.7.2 C P M scheduling The C P M method defines a project schedule by a network of related activities. The project uses activity-on-node (AON) technique to establish the project network. The work tasks defined from W B S are placed on the nodes and the sequence relationships among work tasks forms the network logic. The network solutions are realized through mathematical operations on the project database, which defines the required scheduling information. The procedures for doing network analysis using Critical Path Method are contained in the business classes defined in Chapter 7. The calculated results will show the Early Start Time, Early Finish Time, Later Start Time, Later Finish Time, Total Float, Free Float and Criticality Index of each work Task, and subsequently, the critical path(s) is identified and project duration is derived. After solving the network schedule, the system should enable the user to do the following: • Get the project duration, • View the critical path in the network and identify critical activities, • View scheduling information on work tasks, including task duration, Early Start Date, Early Finish Date, Later Start Date, Later Finish Date, Free Float, Total Float, Criticality Index, etc. • Dynamical sort the scheduling information to highlight various attributes of significant values and the tasks requiring immediate attention. In summary, the system generates output in a condensed report based on user decisions and presents the result to the user after evaluating the project deliverables. The accepted cost estimation and C P M schedule also serve as a baseline for future project monitoring and control. 3.3.8 Issues on the modeling of an intelligent system The purpose of system modeling is to identify all the potential logical and mathematical relations so that the computer program is capable of validating user input and making appropriate responses. The modeling of a construction project to allow for all possible influences is difficult due to the complexity of construction activities. However, SimSite .NET is designed for P M educational purposes, and the focus will be on the representation of knowledge about common practice in construction and its incorporation into the system. Consistency among different project planning steps, as well as among different project views (schedule, cost, etc), must be maintained to guarantee the reasonableness of the modeled system. -21-Chapter 3: Project Management Modeling for SimSite .NET User flexibility is also regarded as important for the system so that the user will be able to compare different options, evaluate the impact of different decision, and learn by the process of trial and error. For each step on the planning stage, the tradeoff between user flexibility and simplicity of modeling logic is as follows: • PCBS: no flexibility; the system will validate the user input in a top-down sequence. • Selection of technology and work methods: some flexibility; different technologies/work methods are available for user selection. These are predefined in the system, but will be able to be modified and expanded by input through a developer mode in the future. • WBS: the WBS will depend on the selected technologies/work methods. There is no flexibility once the technologies/work methods have been selected. • Logical relations for scheduling network: The system defines the minimum set of sequencing logic that must be satisfied thorough user inputs. Users can enter additional constraints. • Resource assignment: The user can assign resources within specified ranges; the productivity wil l change with different resources combination and quantities. • Planning Report: If all the previous steps are finished, the system wil l generate a report. The project cost and duration will be compared with the values in the system. These values are determined by running the system after properly defining the project in the preceding steps, with allowance for some minor problems (i.e. increase the "mostly likely" cost and duration by 3%, these figures can be changed in the system by developers. 3.4 PERIOD P L A Y (PHASE H) Following the approval of the project plan and schedule, the project can commence on the planned start date. Since construction activities are carried out in a constantly changing open environment, labor and equipment performances may deteriorate under extreme and unfavorable weather conditions. Consequently, the productivity, cost and duration of each task is in constant change due to perturbation from weather effects, and the material cost varies every month because of consumer price fluctuation. Under these influences from the environment, the project progress and cost may deviate from the original plan. The job of the project management team is to make decisions at the end of each month to bring the project back on track. Such decisions may be adjustments in resources, assigning overtime work for some activities, etc. -22-Chapter 3: Project Management Modeling for SimSite .NET The project periods repeat until the completion of the project. Two exceptional scenarios, which may cause termination of the contract, are as follows: • The project is delayed so seriously that the owner and stakeholders lose confidence in the contactor • The project progresses with delays and serious cost overruns, and the financial losses from this project may be serious enough to drive the contractor to bankruptcy. The project period play phase, simulating this process in real world construction, puts the user in the position of a project manager to make monthly decisions to counterbalance the, reverse effects from the adverse environment. This process involves interaction among three models described by Dr. Halpin in CONSTRUCTO as the environmental model, the project monitoring model, and the decision model. The following paragraphs illustrate the three models as simulated in SimSite .NET: (1) Environmental Model The environmental model conceptualizes the environmental factors and their effects on construction activities. Weather effects, represented by the Average Monthly Temperature (AMT) and the Average Monthly Precipitation (AMP) in the system, affect productivity of weather-sensitive tasks. The weather model, generated with a Random Variant Generation (RVG) technique, updates task productivity on monthly basis. A separate chapter will deal with the weather effect generation and the corresponding productivity updating. Economic conditions are also a contributing factor to project cost variation. Raw material prices are known to be sensitive to the change of economic index. The cost of construction materials, usually procured on a monthly basis, will differ from the planned cost. The consumer index change follows a pattern of ups and downs in a year, and the system simulates this pattern of change to track the cost overrun from material procurement. (2) Decision Model The user, playing the role of a project manager, makes management decisions every month to control the progress and cost. The system models two management decisions, the resource adjustments and overtime work. At the beginning of each month, the user can adjust resources, subject to system validation. The user can also assign overtime work for the work tasks, if necessary. In this case, the system deducts the activity duration to account for working overtime (shortens the activity duration in 8-hour working calendar) while the duration of overtime is subjected to some constraints (for example, no more than 50% of activity duration). -23-Chapter 3: Project Management Modeling for SimSite .NET (3) Project Monitoring Model A s a response to both environmental attacks and user's decisions, the system evaluates progress at the end o f each month, compares this with the baseline schedule, and generates a monthly progress report. The monthly progress report summarizes the work planned for the month and the work actually done in the month, indicating progress delays and cost overflows. The system also re-schedules the project for the remaining works. The profit initially envisaged for the project is 4 % and the game fails i f expected loss from the project is over 3 % in consideration of liquidated damages from expected delays. A delay in completion o f the project of more than two weeks may also cause the game to fail, whichever comes first. The criticality index for each task [Halpin, 3] is calculated using the following formula to indicate how critical the task is in the current C P M network. It assists the user in making decisions. Criticallndexd) = 1 - LFTji)-ESTji)-Durationji) (3_g) Pr ojectDuration The monthly report models the end-of-month report from a real project, summarizing all the tasks planned and completed for the month, their quantities, percentage complete and criticality index. In the period play phase of the project, the user gets first-hand experience in project management and understanding o f the following tactics: • Selecting a commencement date to minimize the exposure o f the project to harsh climate conditions, which may decrease productivity. • Work tasks on the critical path are given top priority in resource assignment. In this case, acceleration at a cost of low productivity may outweigh the delay penalty, even though optimum amounts o f resources are preferred to achieve maximum productivity. • Assigning overtime work only for those tasks on the critical path. • Trying to avoid assigning overtime work for labor-intensive tasks. • Accelerating work in months where material costs are high and consumer index is low. Furthermore, the system tries to convey to the user that all these decisions made in construction process are inter-dependent, and every decision has side effects. The goal of project management is to meet multiple project objectives by making decisions in a balanced manner. -24-Chapter 3: Project Management Modeling for SimSite .NET 3.5 M A S T E R F L O W D I A G R A M The master flow diagram for the project, as shown in Fig 3-3, combines and summarizes the two phases of the project. Initialize Project T3 3. CD a 3 3' 03 0) 3 a. CO o 3" (D a. c. 5' CO • Define Physical Component Breakdown Structure Select technology and work method Define Work Breakdown Structure Assign resources Define Logical Relations for Network Get planning and scheduling Report -0 3 CD O 3 CD CD 13 Q. O O a O Environmental Model Decision Model Computer generates weather, economic index (Period II) Player adjusts crew, equipment working time, etc. (Period II) • k Project Monitoring Model 1 = 1 + 1 Simsite.Net evaluates progress this period, prints status reports. (Period II) Consider next project period Fig 3-3: Master now Diagram for SimSite .NET -25-Chapter 4: Sample Project - The Alberta Creek Bridge Chapter 4: Sample Project—The Alberta Creek Bridge Since a complete set of documents and data for the Alberta Creek Bridge Project was collected and used for development of SimSite version 1 .Ob, we chose to continue to use this project for the SimSite .NET prototype. This project, a typical single-span, simple structure Railway Bridge, fits well with the requirements of the game modeling. However, the project was re-modeled according to the functional requirements and approaches of the proposed software. 4.1 PROJECT DESCRIPTION The Alberta Creek Railway Bridge is located in the Lions Bay, British Columbia. As its name implies, it is the railway bridge constructed where the re-located B C railway crosses Alberta Creek. B C Rail was responsible for design and development of the bridge and the Squamish Division of B C Rail was responsible for its operation and maintenance. The bridge has a simple main structure with a single prestressed R C girder sitting on two abutments on the south and north sides of the creek. The south and north approaches are backfilled embankments adjoining the abutments and protected by ever-green retailing walls. Even though it was designed with a simple structure, the bridge can be represented with the typical structural components and constructed through typical activities that are similar to those encountered on other bridges, and in a broader sense, the concepts and methodologies modeled from the construction of this bridge are generally applicable to other civil engineering structures. Major items of the bill of quantities are as follows: • Site excavation, including grubbing and clearing of top soil: 3,250 m 3, • Disposal of unsuitable materials: 1,370 m 3, • Concrete for sub footing and footing: 72 m 3, • Concrete for abutment walls and girder: 160 m 3, • Reinforcing steel for abutment walls and girder: 15 tonne, • Evergreen Retaining wall units: 96, • Backfilling: 2,300 m \ • Sub-ballast: 660 tonne, • Handrail: 35m. The project modeling concepts, viewed from different perspectives, are presented in the next section. -26-Chapter 4: Sample Project - The Alberta Creek Bridge 4.2 MULTI-VIEW M O D E L I N G Model conceptualization and data collection are two concrete steps in developing a simulation system. Being a project management game, SimSite .NET models the typical steps, or views, involved in construction management. The five-steps described in Chapter 2 must be represented with mathematical and logical models abstracted from the prototype project and translated into software components. The following topics deal with the sequential steps or views from different angles in construction planning and scheduling. These views determine the major components of the system architecture and design of the system input. 4.2.1 Physical Component Breakdown Structure After reviewing the project documents and reference materials, the user will be able to breakdown. the project structure into units, partitions and physical components in a hierarchical structure. Before entering this information, the user must think about how these physical components are fabricated and assembled in actual construction processes, and in what sequence. The general process is as follows: first, the project is separated into units in plan view, which are only loosely inter-related except for resource competition; second, the units may be arranged into single or multiple partitions, mostly in a vertical or plan view; and third, each partition may be broken down into one or more physical components. The breakdown structure for the sample project is shown in Table 4-1, the user input is checked against this definition which can be changed by developers. -27-Chapter 4: Sample Project - The Alberta Creek Bridge Table 4-1: PCBS for the prototype project Unit Partition Physical components South Approach South Approach • Foundation slab • Evergreen Retaining wall • Soil Embankment • Structural end backfilling Main span Foundation • Sub-footing, North abutment • Footing, North abutment • Sub-footing, South abutment • Footing, South abutment Sub-structure • Abutment wall (1st lift), North • Abutment wall( 2 n d lift), North • Abutment wall (1st lift), South • Abutment wall( 2 n d lift), South Super-structure • Pre-stressed RC Girder Miscellaneous • Handrail • Rail ballast North Approach North Approach • Foundation slab • Evergreen Retaining wall • Soil Embankment • Structural end backfilling With this hierarchical structure, the intelligent system assigns the user the task of selecting appropriate partitions for each unit and selecting appropriate physical components for each partition until an appropriate PCBS has been successfully defined. In this process, the system judges user selections by comparing with these in the system and helps the user obtain a correct physical view of the project. 4.2.2 Technology and Work Methods The three main physical components in this project—the south abutment wall, the north abutment wall, and the pre-stressed RC girder—can be constructed with different technologies or work methods. The concrete for the south and north abutment walls can be placed with either a pump or a crane and bucket. Both methods are feasible but result in different productivity, activity cost, and duration. The pre-stressed RC girder can be either prefabricated and installed, or cast in-place. The two methods will involve different activities associated with the girder construction, subsequently influencing many project outputs, including the cost of the girder, network topography, project cost, and duration. -28-Chapter 4: Sample Project - The Alberta Creek Bridge 4.2.3 Work Breakdown Structure The objective here is to associate the physical components with work activities, i.e., to specify the activities required to build each component. This one-to-one or one-to-many relationship is determined by the size, complexity and position of the component and work methods. The relationship between the physical components and the typical activities that collectively describe the major works required to construct the components for the prototype project are summarized in Table 4-2. Table 4-2: WBS for the Prototype Project Partition Physical Component Work Activity (0) General site works General site works • General site excavation • Disposal of surplus materials (1) Foundation, Main span Sub footing, South abutment • Build sub-footing, S.abutment Main footing, South abutment • Build main footing, S.abutment Sub footing, North abutment • Build sub-footing, N.abutment Main footing, North abutment • Build main footing, N.abutment (2) Substructure, Main span South abutment wall, 1s t lift . • Place rebar, S.abutment wall • Install formwork, S.abutment wall • Place concrete, S.abutment wall • Curing, S.abutment wall • Stripping/finishing, S.abutment wall South abutment wall, 2 n d lift • Build 2nd lift, S.abutment North abutment wall, 1 s t lift • Place rebar, N.abutment wall • Install formwork, N.abutment wall • Place concrete, N.abutment wall • Curing, N.abutment wall • Stripping/finishing, N.abutment wall North abutment wall, 2 n d lift • Build 2nd lift, N.abutment (3) Superstructure, Main span Girder • Place rebar, Girder* • Set up falsework, Girder* • Install soffit form, Girder* • Install side form, Girder* • Place concrete, Girder* • Curing, Girder* » Post-tensioning, Girder* • Stripping/finishing, Girder* • Install precast Girder* (4) Miscellaneous, Main span Handrail • Install handrail Sub-ballast • Place sub-ballast -29-Chapter 4: Sample Project - The Alberta Creek Bridge Table 4-2: WBS for the Prototype Project (Con'd) (5) South approach Structural end backfilling, South approach • Backfill&compact structural end, S.approach Footing, South approach • Build footing, S.approach Retaining wall units, South approach • Install precast retaining wall units, S.approach Soil embankment, South approach • Backfill&compact soil embankment,S. approach (6) North approach Structural end backfilling, South approach • Backfill&compact structural end, N.approach Footing, South approach • Build footing, N.approach Retaining wall units, South approach • Install precast retaining wall units, N.approach Soil embankment, South approach • Backfill&compact soil embankment,N.approach * Based on the method of constructing the girder cast-in-place. 4.2.4 Resource Assignment Three types of resources are specified for the project work tasks: equipment, labor and materials (permanent or temporary). The equipment pool, labor pool, and material pool are established accordingly. The items in these pools are summarized for the real project with an identity number, description, and cost attributes. A l l the equipment required in the project are listed in Table 4-3, where the daily rent is the bare cost of the equipment per day on a rental basis. This bare cost also covers equipment maintenance cost, fuel consumption, repair and depreciation, in addition to daily rental price. Table 4-3: Equipment pool (Source: R.S. means 1998 et al) Equipment ID Equipment Name Daily Rent 1 Dozer(200hp) $1,076.00 2 Backhoe(0.57m3) $480.00 3 Roller Compactor $125.00 4 Rock drilling rig $690.00 5 Dump truck (4.58m3) $144.00 6 Power tools $45.00 7 Stressing equipment $18.00 8 Grouting equipment $205.00 9 Crane(55t) $975.00 10 Crane(150t) $1,860.00 11 Concrete pump truck $690.00 12 Concrete placement equipment $105.00 -30-Chapter 4: Sample Project - The Alberta Creek Bridge A l l the labor crew types in the project are listed in Table 4-4, where the hourly pay rate is also an all-inclusive rate exclusive of worker's compensation insurance, overhead, and profit. The pay rate covers the workers' fringe benefits such as vacation pay, employer-paid health and welfare costs, pensions, etc. Table 4-4: Labor Crew Pool (Source: R.S. means 1998 et al) Labor ID Labor Type Pay Rate 1 Foreman $43.82 2 Laborers $31.10 3 Operators $40.16 4 Carpenters $39.47 5 Cement finishers $39.22 6 Steel workers(reinforcement) $43.02 7 Steel workers(structure) $43.45 8 Truck drivers $33.60 A l l the materials, either permanently incorporated into the works or used temporarily as tools, supplies, are listed in Table 4-5. The unit price is the full price of the materials delivered to the site, not including overhead and profit. Table 4-5: Material Pool (Source: R.S. means 1998 et al) Material ID Material Name Unit Price Unit 1 Blasting Material $1.75 Per m3 exc. 2 Reinforcing steel $790.00 Per ton 3 Wood formwork $14.00 Per m2 4 Ready mixed concrete $105.00 Per m3 5 Plain concrete(inc form) $150.00 Per m3 6 RC concrete(inc. form & rebar) $215.00 Per m3 7 Pre-cast girder $26,200.00 Each 8 Steel tubular falsework $150.00 per ton 9 Pre-stressing strands $3.50 Perm 10 Pre-cast evergreen retaining wall unit $3,000.00 Each 11 Steel handrail $35.00 per m 12 Sub-ballast crushed stone $18.50 per ton The cost incurred from the usage, procurement, and delivery of the above resources forms the direct costs of the project. The work task cost and project cost view wil l be dealt with in separate chapters. The work tasks are classified and modeled in Chapter 8 according to the required resources. Each task, in a particular category, has a specific definition regarding resource types, quantities and limits, as well as the variation of task performance (measured by productivity) resulted from assigned resources. -31-Chapter 4: Sample Project - The Alberta Creek Bridge As shown in Fig 4-1, the system requires the user to define the following items for each work task: • A l l the equipment, i f necessary, in appropriate types and quantities • A l l the labor types, in appropriate types and quantities. The system validates user input after submission to ensure that the user assigns appropriate and sufficient resources for the work task, see Chapter 8 for details of the resource and productivity model as well as constraints. Work Task Work Task identified by Task ID Equipment Labor crew Materials Equipment 1 Min<=Number <=Ma^ Equipment2 Min<=Number <=Ma^ Equipment i Min<=Number <=Ma;) Labor type 1 Min<=Number <=Ma^ Labor Type 2 Min<=Number <=Ma^ Labor type i Min<=Number <=Ma^ Permanent materials Temporary materials Resource identified by Resource type, reource ID Ra 4-1: Work Task Resource Composition 4.2.5 Logical Relations for Network Schedule In the prototype project, the major alternatives for the network topography result from the alternative work methods for the RC girder. The "prefab-and-install" method allows an earlier start for building the girder on the job site and shortens the project duration, while the "cast-in-place" method has a longer duration but less cost without resorting to a heavy-duty crane for installation. -32-Chapter 4: Sample Project - The Alberta Creek Bridge Fig 4-2 shows the network diagram for the "prefab-and-install" method of installing the girder, and Fig 4-3 shows the network for the "cast-in-place" method. The two sets of network logic relations for the sample project are included in the system, and the user can select either of them by selecting different methods for the R C girder. However, the system still gives the user limited flexibility in defining the network. For example, redundant relations are allowed and the lag/advance values of relations between the two dependent tasks can be larger than the system-defined values, even though neither of these situations improves the project outcome. -33-Chapter 4: Sample Project - The Alberta Creek Bridge S.approach soil embankment Fig 4-2: Network Diagram for the Prototype Project (Cast-in-place PC Girder) -34-Chapter 4: Sample Project - The Alberta Creek Bridge S, approach soil embankment Fig 4-3: Network Diagram for the Prototype Project (Prefab-and-lnstall PC Girder) -35-Chapter 5: Development Environment Evaluation Chapter 5: Development Environment Evaluation 5.1 V I S U A L STUDIO .NET INTEGRATED D E V E L O P M E N T ENVIRONMENT (IDE) AS THE CORE D E V E L O P M E N T TOOL Visual Studio .NET (VS .NET) 2 0 0 2 Professional Edition was the major software used for Developing and deploying the SimSite .NET web application. VS .NET, dubbed as "a complete set of tools for developing enterprise solutions" by Microsoft, is an integrated development environment with a full set of visual tools to build scalable, reliable, secure, professional software on the .NET platform [Microsoft, 9] . Microsoft .NET framework is the programming model underlying .NET for developing, deploying, and running web services and applications. The primary initiative of this technology is for developing distributed, disconnected, loosely-coupled internet applications by using XML-based web services to address problems in e-commerce web application development. This model gives a better solution to issues including interoperability, scalability, reusability, and extensibility of an application. The .NET framework forms the foundation of the .NET technology and VS.NET provides an Integrated Development Environment (IDE) for Rapid Application Development (RAD) on the .NET platform Building and deploying web applications in VS .NET is greatly simplified and streamlined thanks to the full set of integrated visual tools and underlying .NET technology. The greatest benefits to the development of this research project include the following: Architecture: • Web applications are built on a three-layer model rather than the previous client/server model. • Managed components enable modularity and allow sharing of these modules among many different applications. • The Common Language Runtime (CLR) enables structured exception handling, automatic garbage collection, secure and robust execution etc. • ASP.NET pages enable separation of H T M L static content and the executable code that dynamically generate the content. • ADO.NET provides better data access technology and greatly facilitates the development of data-driven web applications. Language: • Visual basic .NET, as a truly object-oriented programming language, enabling application of object-oriented analysis and design using modeling languages like U M L . -36-Chapter 5: Development Environment Evaluation Development productivity: • A powerful W Y S I W Y G designer for web pages allows web server controls and H T M L controls to be placed on the page by dragging and dropping; these web elements can be edited with mouse or properties window with great ease. • A component designer allows the design of reusable components enforcing complex business logic using a drag-and-drop paradigm. A server explorer delivers direct access to server-side resources, including databases, Crystal Reports, etc. • A visual database designer for SQL server database can carry out most database design operations on SQL server 2000, which provides better integration between the database and the application design. • Templates for "setup and deployment projects" allows web applications and the underlying components to be deployed and distributed with Windows Installer technology. 5.2 R O A D M A P FOR D E V E L O P M E N T SimSite.NET follows a three-layer application model. The web application is developed in the Visual Studio.NET IDE, comprised largely of ASP.NET pages and loosely-coupled business components. The project database is developed and hosted on Microsoft SQL server 2000 with ADO.NET technology as the data access method between the application and database. Visual Basic.NET is the programming language used for building components, with ASP.NET code embedded in the pages. The technology roadmap for SimSite .NET development is shown in Fig 5-1, with the major architecture and language tools described in the following section. -37-Chapter 5: Development Environment Evaluation Microsoft SQL Server 2000 Fig 5 - 1 : R o a d m a p for D e v e l o p m e n t 5.3 A BRIEF L O O K A T THE D E V E L O P M E N T ENVIRONMENT & TOOLS The development and deployment of the system is based on the following development environment and design tools. .Net framework The Microsoft .NET framework provides the services necessary to develop and deploy applications for the loosely coupled, highly distributed and disconnected Internet environment, the key components of the .NET framework [Evjen, 10] are shown in Fig 5-2. The Common Language Runtime (CLR) and Base Class Library (BCL) are the two main components of the framework. The C L R is the foundation of the .NET framework. The C L R manages memory, thread execution, code execution, code safety verification, compilation, and other system services. The fundamental principle of the C L R is code management, or managing code at execution time. Through code management, the C L R provides a secure and robust execution environment, simplified development, management, and deployment of the .NET applications, such as code access security (which is very important for distributed applications), structured exception handling, automatic memory management (dubbed as "Garbage Collection"), multi-language support, etc. -38-Chapter 5 : Development Environment Evaluation The B C L is a collection of reusable classes that tightly integrate with the CLR. The hierarchical classes in the B C L , broken down by functionality, are divided into hierarchical namespaces. These object-oriented classes are language neutral and allow derivation of functions by the developer. The B C L delivers functions for common programming tasks and specialized development scenarios. The Extensible Markup Language (XML) is an industrial standard for structured data. The Microsoft .NET technology can use X M L and Simple Object Access Protocol (SOAP) to realize web application and web services development and deployment over highly distributed Internet environment. A l l the languages complying with the Common Language Specification (CLS) are .NET compliant languages, and can be used for software development on the .NET platform. ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ J j | \ Nu.il K I M I . Visual Of Visual C + - Other Common Lannuajje Specification Web services User Interface • • • I P ' HiliES / • ' PQ Z , Z . _ Z Z ^ ^ I l l | 8 i i 3 l ^7 , 3 Data and X M L " | Base Class I.ibrarv Common Lanuuane Runtime Fig 5-2: The .NET Framework Visual Basic .Net—a truly OOP language The .Net version of Visual Basic is now a truly object-oriented programming language, supporting object-oriented development with features of inheritance, encapsulation, and polymorphism [Microsoft, 11] Active Server Pages .NET CASP.NET) Based on the .NET framework, ASP.NET provides a development and hosting environment for web applications, managed components and web services using any .NET - compliant language. -39-Chapter 5: Development Environment Evaluation ASP.NET simplifies development with many re-useable controls, including web server controls, validation controls, and H T M L server controls that can be used in a declarative manner. ASP.NET web forms are H T M L pages with separate code-behind files that dynamically generate content. ASP.NET web forms act as a "glue" between the presentation layer and the application layer. Most functions can be found under the namespaces System.Web and System.Security. Active Data Objects .NET (ADO.NET) ADO.NET is Microsoft's platform for data access and manipulation in the .NET framework. The main components are Datasets, in-memory databases mapped from the original databases and data connection/command objects. The functionality of ADO.NET is packaged under the namespaces System.Data and System.XML [Joubert,12]. Microsoft SOL Server 2000 Microsoft SQL Server is Microsoft's main Relational Database Management System (RDBMS). SQL Server 2000, as the latest release, is a .NET-based server that supports database development and management for .NET solutions. The visual database designer in VS.NET provides a visual tool for database design in the VS.NET IDE allowing for integrated development with other framework components like ASP.NET. Microsoft SQL Server 2000 allows the writing of stored procedures against the database with the Transact-SQL (T-SQL) programming language, thereby implementing some business rules efficiently within SQL Server [Petrousos,13]. Crystal Report for Visual Studio .NET Crystal Reports is a design application for creating reports from various data sources, Crystal Report 8.5 for Visual Studio .NET is shipped together with VS.NET for designing reports for .NET solutions. Crystal Reports make it possible to create interactive dynamic reports from databases and incorporating them into web applications. Crystal Report is superior to the data controls in ASP.NET for delivering online data reports by providing a rich interface and programming features [McAmis,14]. Other H T M L Editing Tools Even though it is fairly convenient to design the web pages in VS.NET thanks to its W Y S I W Y G feature, some other web design tools can also provide additional useful capabilities. For example, Macromedia Dreamweaver M X is good at client-side java-script action design and rich user-interface delivery. Microsoft H T M L Help Editor 1.3 uses ActiveX controls for the organization of H T M L help pages for help files. -40-Chapter 6: Design of Distributed Architecture Chapter 6: Design of Distributed Architecture 6.1 DISTRIBUTED ARCHITECTURE - T H R E E - L A Y E R APPLICATION SimSite.Net is physically designed as an interactive web site comprised of distributed elements that collectively deliver the system functionality. The system uses the web site as a front end to communicate with users. Implementation of the system is realized through communication and interaction among three distinct parts: the Web server and client pages hosted on an Internet Information Server (IIS), a Database and database management system on SQL server, and a web application running on the .NET application server. These three logical layers of the application communicate and interact with each other to realize the system function as follows: • The user interacts with the system though a web browser (a collection of web pages, forming the presentation layer) • The web browser communicates with application classes (business classes, forming the business layer) to validate user input, process the logic, and return the result. • Application classes process their properties and enforce their operations by implementing queries on the project database (the data tables, relationships, etc, that form the data layer). This three-layer development model is shown in Fig 6-1. With the application of .NET technology to web application development, the three layers are completely separated , providing better interoperability, scalability, reusability and extensibility of the system compared with the previous client/server model. The three-layer model, combined with Object-oriented design, turns the development of Simsite.NET into a process of assembling building blocks and, therefore, greatly simplifies the development. User (GUI) ••HTTP/SOAP*. Business (Web server) • * HTTP/SOAP*. Data (Data server) Presentation Layer Business Layer (Web server interface) (Business rules and logic) Data Layer (SQL RDBMS and Database) Fig 6-1: Three-layer Development Model for Simsite.Net In e-commerce development, web applications built on the .Net platform can be implemented physically on multiple servers in part because of the wide distribution of commercial networks. For instance, there can be more than one database server and independent data storage, and the application can reside on different servers or may use web services provided by other servers. The afore-mentioned three logical layers can be distributed over these physical layers. -41-Chapter 6: Design of Distributed Architecture SimSite.Net differs from the e-commerce model in the following aspects: first, it is a gaming application, which focuses on system communication with independent single users without involving any external system; second, data validation and calculation operations are intensive, with data read from and stored back to the database with large volume and complex logic. To gain system performance, we centralize the system and locate the project in a L A N or a single server even though physical separation and remote connection are possible. Fig 6-2 shows the physical implementation of the system in a L A N or single machine. Fig 6-2: SimSite .Net Physical Implementation This web application uses a thin web client model where most of the data validation and business logic are enforced from the server side. The thin web client model for the system is shown in Fig 6-3. -42-Chapter 6: Design of Distributed Architecture Browser (IE, NN) Document Object Model; Cookies HTTP HTML Pages Form; Input element * 4 Web server (IIS 6.0) Authentication; Cookie management A. Application server(.NET server) Session state objects Business f- — — a Database mapping Server pages ASP.NET (ADO .NET) 1 Database (SQL Server2000) Fig 6-3: Thin Web Client Model for SimSite .NET 6.2. PRESENTATION L A Y E R The presentation layer handles user interaction and is primarily used for collecting user input and displaying system output to the user. The core elements of the presentation layer are ASP .NET pages written with Visual Basic .NET, supplemented by regular H T M L pages. As stated before, every ASP .NET page is comprised of an H T M L page and a code-behind page. The H T M L page displays the web server controls and H T M L controls and provides an interface for communicating with users (input/output), while code-behind page includes object-oriented event handling code in Visual Basic language. The latter page works as an engine to drive the dynamic presentation in the H T M L page. 6.2.1 Graphical User Interface Design for Web Server Pages Generally, each system function in SimSite.NET has one or more web server pages used as a Graphical User Interface (GUI). Each page includes the following structural elements: • Navigation: the page must have a navigation area allowing navigation to related pages or to go to help pages. This will be dealt with in detail in Chapter 9: web site design. • User input: each page realizes a system function. Depending on the specific function, the page must allow the user to work through the interface to complete the system input. This may include filling in a textbox, selecting an item in a drop-down list, picking a date from a calendar, etc. Some of the user input, before being accepted by -43-Chapter 6: Design of Distributed Architecture the system, must be validated either by the client-side browser or the server-side code. • System output: after taking the user input, the system responds and outputs the result, presenting the result to the user on the web page in a meaningful format. • Error message: the top right corner of each page includes a textbox responsible for displaying error messages or results, so that the user is always informed of the appropriateness of his decisions. The most important issue for page design is to be able to realize the function of the system. Page layout and graphics are also important. Good layout and an attractive look can greatly facilitate the user to navigate through the system. However, in this project, more emphasis was placed on realization of system functions. Fig 6-4 and Fig 6-5 show two screens from the system: "Assigning resources for work task" and "Defining relations for network." -3 Sirnsiie.Nci Homepage Microsoft Internet Explorer — — . .. i Hie Ed* view Fwartw looks Hdp w • Q*** " J v*J I y Stirch ^Favorftw %Jfed* 0 0- *± SB » [J & » v HI Go I M M l Resource Assignment • Planrting&Scheduhng ExpxtdJCd3Apsn AH T » U D : * : T S 0 0 1 | jk. T U I C M V M . General site e»ca»alion Queniity: ^ 5 0 m3 D « » c n p U o n Surface clearing, grtibbjng, excavation tosectoralbottom level ORS«l»ctfVom P r a j « c t U s k l i s t , . p i s m « k e t s e l e c t i o n Available Eiuipmeat- Selectad Equipment: Concrete placement equip™-* Roller Compactor Rock drilling rig Dump truck (4.S8m3) Power tools Stressing equiprnenl Grouting equipment Cranep5t) Select t l l l l l p tqiilpment N >me Quantity I Doserr^ OOhp) 2 B«ckhoelJlJ7m5 Help Foreman Laborers Operators Carpenters Cement finishers Steel vrerkesitreinforcement) Steel workesr(structure) Truck drivers [ Seiect | LavvtlP j Trade LjbotTigu Ouaulity r~ , OtMpilt; Fig 6-4: Web page design for the Use Case "Assign resources" The screen layout shown in Fig 6-4 is as follows. The user uses the left-side navigation pane to navigate to the page. The page has an area showing all the project tasks, and information about the selected task. The user assigns equipment fleet and labor crew for each work task, with validation results shown in the Watchdog message area. A l l the resource-loaded tasks have their resources, duration and cost displayed while tasks without assigned resources do -44-Chapter 6: Design of Distributed Architecture not. The system informs the user with the message window as soon as he finishes resource assignment for all project tasks. 3 Simsi!e.Ne! Homepage Microsoft Internet I xplorcr He Edit View |jUPH Tools Mrip }f Fig 6-5: Web page design for the use case "Define logical relations for network" The screen layout shown in Fig 6-5 is as follows. The user navigates to the page from the left-side pane.The page displays all project tasks across multiple pages, and the page also displays the predecessors on the bottom-right data grid i f the user selects a work task. The user can delete, add or update the predecessors, i f they are validated by the system as "correct". The user can check the definition of logical relations for the whole project by clicking the "Check A l l " button. The message area displays error messages during this interaction process. 6.2.2 Code-behind pages Visual Basic code in the code-behind page can include event handling, functions or sub procedures. A l l the programming can be done in the code-behind page for a typical client/server application model, but for a three-layer model, as in our case, we want to separate the presentation layer from the business layer, so we partition the code: the code in the code-behind file for a web page is primarily designed to accept user input and present the output; and the code in the business classes is responsible for the implementation of all the business rules and logic. The code-behind files handle the properties, methods and events of the web page, and are used for basic server-side input validation, data binding, and work flow control. -45-Chapter 6: Design of Distributed Architecture 6.3. BUSINESS L A Y E R This layer is also called the "middle layer" or "business services" in e-commerce development. The layer contains the rules and logic of the application and can be completely separated from the presentation layer with .NET technology. 6.3.1 Realization of Business Rules and Logic The layer is further divided into four areas: business facade, business objects, data and data access. These are compiled into two class libraries, creating two executable files as the root namespace: SimsiteDefClassLibrary.dll and SimsiteRunClassLibrary.dll. The four namespaces stated below reside under the two root namespace: • SimsiteDefClassLibrary.Facade • SimsiteDefClassLibrary.Object • SimsiteDefJClassLibrary.Data • SimsiteDefClassLibrary.DataAccess • SimsiteRunClassLibrary.Facade • SimsiteRunClassLibrary.Object • SimsiteRunClassLibrary.Data • SimsiteRunClassLibrary.DataAccess These four namespaces are categorized according to the following principles: The business facade is used to abstract the complexity of the business layer by providing a simple interface to the Simsite.NET presentation layer client; it also makes up the work flow in the business layer. Some system functions involve a logically sequenced work flow, and this is packaged in the .Facade namespace. Business objects are instances of the classes defined for the use case described in Chapter 7: Object-oriented design with U M L . These business objects are responsible for processing and enforcing the business rules in SimSite.NET. Data here refers to the information retrieved from the database. In-memory datasets derived from the database are typical representation of the project data. The application uses "typed datasets" for clarity and ease of programming. Data Access objects are used to communicate with the database. They contain the information necessary to send and receive information from the project database. ADO.NET technology provides connection and access objects that establish a connection to the database and allow execution of queries. Even though it is the primary responsibility of the business layer to enforce the business rules and logic, the presentation layer and data layer may also be used for data validation. Typical examples include data input validation from the client side or code-behind pages in the server side, quick data access and manipulation using SQL stored procedures (which -46-Chapter 6: Design of Distributed Architecture are wrapped and tied to the project database), data validation in the data tables, and so on. The partial implementation of business rules in the other two layers are designed for better system performance while maintaining the conditions of keeping good scalability, extensibility, and reusability of business objects. 6.3.2 Business object management The business classes are built and compiled into two class libraries for phase I and phase II. Any project or subproject in Simsite.NET can add a web reference to the class library and use these classes by communicating with their simple interfaces. The classes will be described in Chapter 7: Object-oriented design with U M L . 6.3.3 Data and Data Access in Business Layer 3 XML/Dataset s-O o a sr < O Data ElColUi S> mn 9 o' Presentation layer Application/ Business layer .NET Data Provider sqIDataAdapter [ InsertCommand | [ DeleteCommand ] | SelectCommand 11 UpdateCommand" sqIData Reader sqIConnection sqlCommand Tansaction Parameters SQL Server .NET Data Provider SQL Microsoft | Server 2000 Fig 6-6: ADO .NET Object Model for SimSite .NET A l l the data and logical relations abstracted from the project are stored in the database; the process of system design focuses on validation, fetching and manipulation of these data. Active Data Objects .NET (ADO.NET), as Microsoft 's new platform for data access in the .NET framework, is used as the bridge between the project database and the application program. SimSite.NET uses the hierarchical ADO.NET object model shown in Fig 6-6 [Lefebrre, 15]. There are two components at the second level: SQL.NET Data Provider and Dataset. The -47-Chapter 6: Design of Distributed Architecture dataset can be though of an in-memory version of the database. SQL.NET Data Provider (connection and adapter components) establishes a connection with the database and enforces the data definition and manipulation. From the diagram, it can be seen that the project data are handled thorough two channels: (1) data in the dataset can be presented to the web client or modified as soon as the dataset is filled up by and connect with the .Net Data providers; (2) the .NET data providers can communicate with the business objects and pass/receive the data to/from the user interface. The system design takes the following advantages of A D O .NET: • sqlDataReader is widely used for data presentation. SqlDataReader provides a single direction flow of information, and is a better choice in terms of performance than sqIDataAdapter while fetching data for presentation in the web pages, where changes to the data are not required. • sqIDataAdapter provides a fully functional tool for database operations and, therefore, is predominately used for data manipulation. The code pages are programmed to interact with the database via sqIDataAdapter. • A dataset is an in-memory X M L file holding a database mapped from the project database. sqIDataAdapter and sqlDataReader bridge between the project database and the in-memory dataset • sqlCommand and stored procedures are some of the most commonly used data components in the system. sqlCommand is used to establish a quick connection with a database, while stored procedures, written in the Transact-SQL (T-SQL) programming language, provide a high-performance mechanism for running queries and procedures against the database, since they are stored and executed within the database management system itself, returning only the final results upon completion of the operation. 6.4 D A T A B A S E L A Y E R The database layer provides data access, which in SimSite.NET is provided by a database server. 6.4.1 Relational Database Management System—SQL Server 2000 The project database is built in SQL Server 2000. This version of SQL Server supports multiple and concurrent users, large size databases and seamless integration with ASP.NET applications. The Transact-SQL (T-SQL) programming language in this server makes it possible to program against the database directly within the server and allows some business rules to be implemented in an extremely efficient manner. SimSite.Net uses the database as a container for storage of the project data, upon which SimSite.NET carries out extensive mathematical ad logical operations. Normalization rules have been applied to the database design for the system, though some data tables are -48-Chapter 6: Design of Distributed Architecture denormalized for better performance. The database is organized into two sub-databases for Phase I and Phase II 6.4.2 Sub-Database for Project Planning and Scheduling (Phase I) The database diagram for Phase I is show in Fig 6-7 and the data tables are listed in Table 6-1. The entities in this sub-database are designed for the five steps in project planning and scheduling. The integration of the five work procedures determined the integrity of these entities. The entities are closely related and their operations must follow a prescribed sequence and maintain entity integrity, domain integrity, and referential integrity. Table 6-1: Data tables for project planning and scheduling Table Name Description user User information indexed by user ID pl_project General project information pl_projUnit List of project units pl_projPartition List of project partitions indexed by unit ID P1 _P r o J Component List of physical components of the project indexed by partition ID p l_proj WorkType List of the typical activities involved in the project pl_projWBS Association table between pl_proj Component and pl_projWorkType, establishing a relationship between physical components and work types pl_projTask The main data table, a collection of project tasks showing task details, including task name, quantities, optimal productivity, etc. list_equip List of all the equipment used for the project and their daily rental rates list_labor List of all the labor crew types for the project and their hourly rates listmat List of permanent and temporary materials for the project and their unit cost task_equip Association table between pl_projTask and list_equip, showing all the equipment information related to the work task tasklab Association table between pl_projTask and listlab, showing all the labor crew information related to the work task -49-p1_l-IT) IT! P K Proioct ID PrajectName ContraclNr ProjeclLocatian PrajectStart ProjectFifiish ProjectCost Developer ProjeetCaleridar li;.:_uquia P K EquipNama DailyRent • iistjabor ' P K LablD LabType PayRate ,;iist_mat PK matlp MauNama UnitPrice Unit Vp1»ProjUnit ,.i_P.nf-n P K UnitID -4 PK Part ltkmlD FK1 UmtName ProjectID FK1 Parti MortName UnitID Ta'.k_E(;jip PK.FK2 Equip ID TaskName EquipName optCHy Equiplndex minOty maxQty UserQiy FK3 userlD FK3 taskID Ti isk_Lab PK.FK1 Lab lD TaskName LabType optQty Lablndex minQty rttaxGty UserQly FK3 userlD FK3 iasMD Tast Mn: PK,FK1 MatID FK3 FK3 TaskName usefID taskID f s ~p1_ProfCornporient P K comDoncnt lD FK1 CornponentNarne PartldortID pl_ProJTask P K uscr lD P K taskID TaskName Qty Unit Type Description SW Tips MethodID optProd Unitl Kc Kr Ks Prod Duration EqulpCost LabCost MatCost TotaSCost Predecessors P_sensitivity T^sensittviiy pl_prajSclifcrtu'e PK.FK1 •askip PK.FK1 userlD Duration EST EFT LST UFT FreeFloat TotalRoat Crtticollndex Task Pred P K PfCiD TaskName PreName Relation Lag FK2 useriD FK2 tasMD P K . F K 2 C o m D o n c n t i D TaskName FK3 userlD FK3 taskID FK1 WorkTypelO p i Pr t f lVr ikTypo P K WorkType p1 p-oN'tirthlySel^'ulM PK.FK1 P K PK.FK1 uasriQ: Task ID StastDate FintshDate WorkDays pet OtyThisMonth Holiday^,. PK PK Month Day Hotidayname Fig 6-7: Database Diagram for Simsite .Net Phase I Chapter 6: Design of Distributed Architecture Table 6-1: Data tables for project planning and scheduling (Con'd) task_mat Association table between pl_projTask and list_mat , showing list of materials required for the work task task_pred Data table showing the predecessors and logical relations of work task. pl_proj Schedule Data table showing detailed schedule information , EST, EFT, LST, LFT etc. indexed by task ID p l_projMonthlySchedule Breakdown the data table of pl_projSchedule into monthly schedule information, Month primary key is added. holiday List of holidays in a year, indexed by Month and Day. 6.4.3 Sub-Database for Monthly Operations (Phase II) The database diagram for project monthly play is shown in Fig 6-8 and the data tables are listed in Table 6-2. The entities in this sub database are designed for temporary storage of project and environment data. Intensive changes to the data are expected with each period simulated for the project. At the end of each period, the application captures and saves the project cost and schedule data, and updates the project database. Table 6-2: Data Tables for Monthly Play Data Table Descript ion user Same as shown in Tab 6-1 pl_project General project information projTask Main data table, a collection of project tasks showing task details, including task name, quantities, optimal productivity etc. listequip Same as shown in Tab 6-1 list labor Same as shown in Tab 6-1 list mat Same as shown in Tab 6-1 task_equip Same as shown in Tab 6-1 task lab Same as shown in Tab 6-1 task mat Same as shown in Tab 6-1 taskResourceSummary Summarizing the equipment and labor information for work task, for user interface presentation. task_pred Same as shown in Tab 6-1 proj Schedule Same as shown in Tab 6-1 projMonthlyScheudle Same as shown in Tab 6-1 templateecono Data table showing the consumer index on monthly basis template_weather Collection of monthly weather information, monthly average precipitation and monthly average temperature, randomly generated variables. -51-Chapter 6: Design of Distributed Architecture Table 6-2: Data Tables for Monthly Play fCon'd) workingOvertime The monthly overtime for each task in the month, indexed by Month and task ID holiday Same as shown in Tab 6-1 monthlyRecord Monthly cost and overflow crystalReport This data table is used to save the monthly schedule information for reporting after the information is deleted from the projMonthlySchedule for re-scheduling 6.4.4 Stored Procedures SimSite .NET uses stored procedures in the project database to implement some of the business rules or database queries. Stored procedures reside in the database and can directly communicate with the data tables. The codes run on SQL server and return the results to the application program. Stored procedures written in T-SQL are widely applied to the system but are limited to simple calculations and logic validation. -52-Chapter 6: Design of Distributed Architecture 0 8 usorlD j Month j •.X\ 1 "J 1 CL £ .— • u. CL Hi §. jS o> £ fc js S ; ! * , * i l l ? , 3» 2> .3 3§ !§ CLCLCL.CL.CL . QC:X.SCCC,CC H r - f - V H • PK.FK1 •RIO 9 nl 41 s ~ 2 s tu CM 1-_ * X * u . u . u . rL a. CL E . E 5 a cn u- ? 3. u. u. u. n. a. c -2 "S I- 2 E • 8 £ J ^ ^ j^j m a) 2J ^ ^ z2; J 11 O O Q I s f V I I S S O < O a J w O < cn c a i s 2 o. a. m m 1' 1 uscriD D a s III S c n E t o C f i S ' ; O u i i u l j r i c l F O c7 a. PK.FK1 PK.FK1 E ® I l | Iff S= i- a. i t _j 3 3 j TJ III 3 f i s t u . „ g | 3 - ^ M | | § 111 a. a. cn Z £ E o ro CJ) C/J (33 S D op g LL c b CC? W C ->. >• i l i a E « LabID £ * -J IL sc cu 1; E gl l o o Mat 111 5 u . 0 . m vn L L L L r 18 j i 0-- 5 J -Chapter 7: Object-Oriented Design with Unified Modeling Language Chapter 7: Object-Oriented Design with Unified Modeling Language 7.1. APPLICATION A N A L Y S I S A N D DESIGN WITH U M L The Unified Modeling Language (UML) is a visual modeling language for Object-Oriented Analysis and Design (OOA&D). U M L helps to specify, visualize, and document models of software systems, including their structure and design so that system builders are able to create blueprints that capture their visions in a standard, easy-to-understand way [Schmuller, 16]. In the middle 1990s, U M L emerged and evolved from the works of Grady Booch, James Rumbaugh, and Ivar Jacobson on OOA&D, and it became the most accepted standard modeling language for object-oriented analysis and design[Schmuller, 16]. The Object Management Group (OMG) is responsible for publishing the U M L specifications. The latest version is U M L 1.5. U M L takes a multiple view of the system and defines the following graphical diagrams using standard graphical notations: • Use case diagrams describe what a system does from the standpoint of an external observer. Use cases are abstracted from functional requirements of the system. Use case diagrams show all the use cases and their relationships with system actors. • Static structure diagrams give an overview of a system by showing its classes, objects, etc. and the relationships among them. • Behavior diagrams: • State chart diagrams show the possible states of object and the transitions that cause a change in state. • Activity diagrams focus on the flow of activities involved in a single process. The activity diagram shows how those activities depend on one another. The activity diagram can be used to describe a complex operation, a complex business rule, a use case, or several use cases. • Interaction diagrams: • Sequence diagrams detail how operations are carried out—what messages are sent and when. Sequence diagrams are organized according to time. The time progresses as you go down the page. The objects involved in the operation are listed from left to right according to when they take part in the message sequence • Collaboration diagrams convey the same information as sequence diagrams, but they focus on object roles instead of the times that messages are sent. • Implementation diagrams shows the physical configurations of software and hardware. -54-Chapter 7: Object-Oriented Design with Unified Modeling Language • Component diagrams show the physical building blocks of the system. They may include components, interfaces and relationships. • Deployment diagrams depict the physical resources in a system including nodes, components, and connections. SimSite.NET is a typical web application that delivers its functions through interrelated web pages, rather than through a windows-based GUI. The communication between the user and the system over the Internet is through the Hyper Text Transfer Protocol (HTTP), a connectionless, stateless protocol that was designed for robustness and fault tolerance instead of maximum communication throughput. Communications between a client and server typically revolve around the navigation of web pages, not direct communications between the server side and client side objects. On the other hand, all the messaging in a web application can be described as the request and reception of page entities. Obviously, some components of the web application don't fit nicely into standard U M L modeling elements. U M L needs to be extended to model a web application. In 1999, Jim Conallen of Rational Software proposed the Web Application Extension (WAE) for U M L [Conallen, 17], which is designed to extend the notations of U M L for web application modeling. W A E defines an additional set of stereotypes, tagged values and constraints, including the following: • Classes: server page, client page, form, frameset, target, Java script object, client script object • Associations: link, targeted link, frame content, submit, builds, redirect • Attributes: input, select, text area • Components: web page, ASP page, ASP .NET page, script library According to this extension, an ASP.NET web page can be modeled as a class; it has attributes, which are constants and variables defined in the page, and operations, which are event-handling code sections defined in the page. The class also has visual interfaces, comprised of web server controls, H T M L web controls and texts, to communicate with the user. Web pages are inter-related. The associations can be links from one page to another— one web server page builds a web client page, redirects one page to another etc. These web pages, as a visual interface to communicate with the user, communicate with each other or with business objects to deliver the system functionality. Therefore, the design of the system with U M L involves three steps. First, model the objects and partition them into layers (the objects can reside in the presentation layer, the business layer or the data layer, and can be in either the server side or the client side. Second, define the user interfaces (web pages). Third, design the static structure and behavior of the system. The U M L modeling and documentation of the SIimSite.NET system are described in this chapter in accordance with the following steps: -55-Chapter 7: Object-Oriented Design with Unified Modeling Language • State the functional requirements of the system, focusing on system functionality rather than security and performance (even though these are included). • Design use cases for the three functional packages in the system. • Model each use case with static structure diagrams, sequence diagrams and, optionally, with activity diagrams and state chart diagrams. • Model system implementation and deployment over a distributed network using component diagrams and deployment diagrams. 7.2 FUNCTIONAL REQUIREMENTS The functional requirements for the system are listed in the following sections in point form. 7.2.1 General • The system shall be accessible from a web browser with an internet connection. • The system shall be a distributed application with a separate database, business logic and presentation sub-systems and with remote communications realized over the internet through HTTP/SOAP. • The system shall offer any independent authorized user a personal account and work file package with "save" features. • The system shall be secure, protect the user account and the work file package from unauthorized change or deletion. • The system shall allow system administrators to manage user accounts (delete, deny access, etc) 7.2.2 Project Documents Review and Reference Library • The system shall host all the important project documents in such an order and organized manner that the user can obtain all information required for project definition and implementation • The system shall include a virtual library containing all the generic materials about construction processes, resource requirements, and typical productivity output. 7.2.3 Project Planning and Scheduling (Phase I) • The system shall allow a user to define a PCBS for the project • The system shall allow a user to select work method for the project • The system shall allow a user to define a WBS for the project • The system shall allow a user to assign resources for all project work tasks -56-Chapter 7: Object-Oriented Design with Unified Modeling Language • The system shall allow a user to define logical relations for a network schedule • The system shall generate a planning and scheduling report package, including cost estimation and scheduling report using the Critical Path Method (CPM). The report shall be presented to the user in a well-organized format with good readability. • The system shall control the work flow according to the normal practice in construction management. • The system shall allow a user to "undo" or "change" his decisions and make relevant changes in compliance with enforced business rules at minimum efforts. 7.2.4 Project Monthly Play (phase II) • The system shall, at the beginning of the game (phase II), generate a simulated environment for the project. • The system shall allow a user to change resources, or make overtime decisions for the work task in the monthly plan. • The system shall generate and present the user with the dynamic changes of the project status caused by both user decisions and environmental effects in the previous month. • The system shall be able to re-do the planning and scheduling at the end of each month. • The system shall be able to evaluate current project and present the results to the user, either during the process or at the end of the project. • The system shall allow a user to turn off any of the environment effects during the simulation of the proj ect. 7.3 USE C A S E D I A G R A M S Nine use cases were developed for SimSite.NET, as are shown in Fig 7-1. The use cases are organized into three separate functional packages, except for the "User log-on" use case: • Package 1: Project documents and reference library browsing: 1 use case • Package 2: Project planning and scheduling (Phase I): 6 use cases • Package 3: Project monitoring and control (Phase II): 1 use case The use case "User log-on" enforces system security over the private parts of the system. - 5 7 -Chapter 7: Object-Oriented Design with Unified Modeling Language Project Documents and reference library Browsing Fig 7-1: Simsite. Net: Use Case D'aaram 7.4 USE C A S E A N A L Y S I S A N D DESIGN 7.4.1 User Account Management This use case creates a user profile and work-file package for an authorized user in the system. The user identity is created and stored in a cookie (permanent) file on the client computer; the cookie is deleted when the user signs out. The user profile and work file are protected with a combination of user ID and password. A l l the work files associated with the user are identified with the user ID. (1) Use case analysis Use case definition for "User log-on " -58-Chapter 7: Object-Oriented Design with Unified Modeling Language Use Case Name: Use Case Description: Actor: Status: Priority: Assumptions: Pre-conditions: Post-conditions: Primary Paths: Alternative Path: Exception Paths: User log-on This use case is triggered when a user tries to enter into the work area of the system. It ends when the user signs out. User Pathways defined 1 User wants to use the system User is eligible for use of the system User retrieves his previous work files and starts working on them - User record and work files are created in the system i f it is the first time signup User enters his user ED and password - User signs up as a new user and logs onto the system - User fails to log in but re-enters after retrieving his password User types in the user ID and password but they do not match. - User tries to sign up but cannot provide valid personal information (unauthorized). (2) Static structure diagram -59-Chapter 7: Object-Oriented Design with Unified Modeling Language Login.aspx ^ -userlD password •*subrrit() •*getMyPassword() A .c 1 Sgncutaspx t ^ WorkFilePackage 3 -userlD •SignoutO userAccount Signup.aspx -IName -fName -StudentNumber +Submit() !-Name -fName -studentNr -emai -P1 -P2 -P3 •P4 P5 +addUserO •vaSdateUserO +DeleteUser() +getMyPassword4 Fig 7-2: Static Structure Diagram for UserAccount Management (3) Sequence diagram 0 SignUp.aspx ® t usbr Sign upQ Login.aspx ® ] WorkFie Package I AddUserQ I CreateUserfieO 1 1 — -4 I CreateUserAccountQ | I •-T-- 4 -DisplayO Work on project I Submit bgon iifofj Retrieve passwordO 1 I -r--4-ChangeQ I Get user passwordO i submit bgin infoO 1 -4 log inQ SignOutQ userAccount SignOutaspx Fig 7-3: Sequence Diagram for User Account Management -60-Chapter 7: Object-Oriented Design with Unified Modeling Language 7.4.2 Package 1: Project document browsing and reference l ib ra ry The single use case in this package allows a user to browse and explore all the project documents and the related reference library. This use case includes only static web pages, some with an ActiveX control for media play. The web pages are indexed and organized like a book, and the user can navigate to anywhere in the package from the navigation pane. The documents in this package, as well as the homepage of SimSite.NET, are public areas and are not protected by user ID and password. The frameset, web pages, ActiveX controls, links, etc in this use case can be modeled using W A E for U M L , but they are not included here for simplicity. 7.4.3 Package 2: Project p lanning and scheduling (Phase I) There are six use cases in package two designed for project planning and scheduling. The first five use cases (Use case Nr. 2.1~2.5) provide a five-step work procedure for project definition. The sixth use case (Use case Nr. 2.6) delivers a reporting function which presents the user with project cost estimation and C P M scheduling results. 7.4.3.1 Define Physical Component Breakdown Structure (1) Use case analysis This is the first step for project definition. A single ASP.NET web page in this use case serves as an interface to let users define partitions for project units and then define physical components for each project partition until done. Use Case Definition for Define PCBS Use Case Name: Define PCBS Use Case Description: This use case starts when a user signs into the system. It requires the user to breakdown the structure of the project in hierarchical levels after recognizing design elements. User Pathways defined 1 User is authorized to use the system User logs onto the system - User record is updated to indicate completion of the use case User defines partitions for each unit, and then defines Actor: Status: Priority: Assumptions: Pre-conditions: Post-conditions: Primary Paths: -61-Chapter 7: Obiect-Oriented Design with Unified Modeling Language components for each partition. Alternative Path: None Exception Paths: - User selects wrong partition(s) for a unit or wrong component(s) for a partition. - User tries to close the page while not finishing the user case. (2) Static structure diagram PCBS.Defaut.aspx iiQit •waldateSetectionofPartittonO •nraBdateSelecfonofComponentO userAccount -userlD (-password Name -fName -studentNr -emai -P1 P2 P3 •P4 P5 +addUserO +validateUserO •tOeleteUserO •KjetMyPassword(| Project projNr profJame Devebper -Vaidate Partition!) |-»GetNuniberofParitbn(] +GetPartitbnListfortJnitl 1 partition -Is comprised of -Is part_of —^partitbnlD | -parfrt'onID (-partitonName -unitID +ValdateComponentO •KSetNumberofComponentO •tGetComponentListforPartitbijO •KSetAPartitionO 1 -Is comprised of 1..* I -Is part of IcomponentlD "j component mponentlD [componentName •partrtbnlD WBetAIComponentm Fig 7-4: Static Structure for Use Case "Define PCBS" The class diagram for the use case is shown in Fig 7-4. There is one « w e b f o r m » class and five business classes in this use case. Unit, partition, and component are parameterized classes and have a hierarchical composition relation. (3) Sequence diagram -62-Chapter 7: Object-Oriented Design with Unified Modeling Language O PCBS .aspx :Un» :Partilion Get list of unit I Get Hst"of t list of partitions Select partitions ^ VaOdatePartiton ' I J Display validated partition ^ . • | validateEndofParitbn I 1 fe-I J ' Get list of components Select component: I I I | ValidateComponent | I Display validated component *l l_ vaidateEndofPartitbn I I I Update P1 1 :Component Fig 7-5: Sequence Diagram for Use Case "Define PCBS" 7.4.3.2 Select work methods (I) Use case analysis This is the second step for project definition. One ASP.NET page is designed to realize the use case. There are three work tasks that can be carried out using either of the two listed methods. The user must select a work method he prefers from the two options for each task. The page further displays and confirms the user selection after submission. Use Case Definition for Select Work Methods Use Case Name: Use Case Description: Actor: Status: Priority: Select Work Methods This use case starts when a user finishes the definition of the PCBS. It requires the user to select a method from different alternatives for a few critically important tasks. User Pathways defined 1 -63-Chapter 7: Object-Oriented Design with Unified Modeling Language Assumptions: Preconditions: Post-conditions: Primary Paths: Alternative Path: Exception Paths: User wants to go through this step in order to get a planning and scheduling report from the system. - User logs onto the system - User finishes the use case Define PCBS - User record is updated to indicate completion of the use case User selects work methods from alternatives for all the listed tasks. User comes to the page, but does not change the system default selection. None (2) Static structure diagram userAccount •userlD •password •Name •fName •studentNr •emai -P1 -P2 •P3 I-P4 -P5 l+addUseifJ •tvaldateUser() 1-tOeleteUserO |-HjetMyPassword(| MethodSebctbn.ms. r|C| aspx -ml +saveQ -updat* -Display i TtasklD ProjectTask taskID •taskName •MethodlD DEskl ID Work Method taskID taskName MethodlD •changer* thodl) Ra 7-6: Static Structure for Use Case "Select vvork methods" The class diagram for selecting work methods is shown in Fig 7-6. There is one « w e b f o r m » class and two business classes in this use case. The class SelectedProjTask inherits from the class projTask. (3) Sequence diagram -64-Chapter 7: Object-Oriented Design with Unified Modeling Language 0 usfr I I Me thodSe lection. ms aspr, Loas in I Display alternatives for selected tasks Make selections I I 1 i I I | Display selection | r 1 i i -i i changeMethodO ChangeProjectTask Update P2 WorkMethod FTojectTasK Account Fig 7-7: Sequence Diagram for Selecting Work Methods 7.4.3.3 Phase I: Define WBS (1) Use case analysis This is the third step for project definition. The Web page displays the project unit, partition and components, and also lists all the typical activities. The user must select a component and associate it with appropriate activities that collectively describe the steps required to construct the highlighted component. Use Case Definition for Define WBS Use Case Name: Use Case Description: Actor: Status: Priority: Assumptions: Preconditions: Define Work Breakdown Structure This use case starts when a user finishes the definition of the PCBS and method selection. It requires the user to associate the work tasks with the physical components, Each component links to one or more pre-defined typical activities. User Pathways defined 1 User wants to go through this step in order to get a planning and scheduling report from the system. - User logs onto the system - User finishes the use case Define PCBS - User finishes the use case Select Work Method -65-Chapter 7: Object-Oriented Design with Unified Modeling Language Post-conditions: Primary Paths: Alternative Path: Exception Paths: - User record is updated showing completion of this use case User selects appropriate activities for each component until completion None User selects wrong or inadequate number of activities for one or more components User does not complete definition for all physical components. (2) Static structure diagram Fig 7-8 shows the static structure of the use case. The class WorkBreakdownStructure is an association class responsible for validating the relations between the physical components of the structure and the work tasks needed to build the project components. userAccount userlD -password •INarre -fName studentNr -emal -PI -P2 -P3 -P4 -P5 +addUserO +validateUser() +DeleteUser() -KjetMyPasswordfl WBS.wbs.aspx epS *vaOdateSelectbn() TypicaActivit ' * 1 WorkBreakdownSbuctun -actrvitylD -actMyName -componentID -actMylD +VaWateWort<TypeO +GetNumberofTask() projectTask •taskID taskName -DefineQ Project •projectNr projectName unit +GetParttbnListforUniti partition +GetComponentListforParftbrjO component -componentID l-componentName -tCelAIIComponenti Fiq 7-8: Static Structure Diagram for Use Case "Define WBS" -66-Chapter 7: Object-Oriented Design with Unified Modeling Language O WBS.wbs01.aspx @ •waMateiielectionO Eaflitjan component WorkBreakdownStructurcJ I I Navigate I I 1 Get 1st of unit Setect componentl Select activities for component i i L I I fc 1 I Get 1st of partition. I I Get 1st of component I" vaidlte Selection 1 . 1 1 Create task 1st for setected component I Messagel I VaidateEndofWBS J I I T" I _L_ Update P3 I ProjectTask UserAccount •4 Fig 7-9: Sequence Diagram for Defining WBS 7.4.3.4 Phase I: Assign resources for work task (1) Use case analysis This is step 4 for project definition. The previous step defines the project tasks and this use case requires the user to assign resources for each project task. There are three ASP.NET web pages in this use case. The first one is the major interface for the user to input the equip name, quantity, as well as labor crew type and quantity. The page displays the task duration and cost i f the task resources are properly defined. The user can navigate to another page to get further details on cost breakdown, or they may be redirected to an error page to remind them to finish the resource assignment for this task. Use Case Definition for Assign Resources Use Case Name: Assign Resources for work task Use Case Description: This use case starts when a user finishes the definition of the PCBS, method selection and WBS definition. It requires the user to assign correct types of equipment and labor crews, as well as appropriate quantities, for each work task. Actor: User -67-Chapter 7: Object-Oriented Design with Unified Modeling Language Status: Priority: Assumptions: Preconditions: Pathways defined 1 User wants to go through this step in order to get a planning and scheduling report from the system. - User logs onto the system - User finishes the use case Define PCBS - User finishes the use case Select Work Method - User finishes the use case Define WBS Post-conditions: Primary Paths: Alternative Path: Exception Paths: - User record is updated showing completion of this use case User selects all equipment types and labor types and input appropriate quantities of such equipment and labor for all tasks. None User selects the wrong type of equipment /labor. User assigns too many/inadequate equipment/labor User does not select all required equipment/labor for a work task User does not finish resource assignment for all work tasks. -68-Chapter 7: Object-Oriented Design with Unified Modeling Language (3) Static structure diagram DetaiNone.aspx userAccount useriO password Name fName studentNr -emai -P1 -P2 •P3 •P4 •P5 +addUser() -nrafdateUserO -tOeleteUserO -K]etMyPassword(| 0..1 -Update P4 DetaiedAnak/sis.aspx IP -prmaryEquipQty -primaryLaborQty +CalculateProductivityO •KafculateDuratbnO ->cabulateCost() O.J Project -ProjectNr -ProjectName -Devebper -ProjectCost +CreaterjserfTfe$ Resource.aspx -equipiype •equipQty ••validate EqubO •waldateLaborO +changeTaskStatusO Equipment Pool •Type •DaiyRent ^etEquipListO 0..* 0..* 0..* A^ssigns 1.. Equipment HCreateEq'uipAccountO |+OeleteEquipAccount() VatdateEquipment() |-»<3etNumberofEqubType|() -VaidateEquipQtyO -Is one part of 1..* -Assigns Project Task •taskID •taskName •IsResourceLoaded •Productvity •CataateftpducrMfyfl Cost -EqubCost •LaborCost -MatCost • ^ TotaBareCost •Tota ProjectCost CatoiafeCosff; [•CafculateMonthl/CashFbw| kCafculatePieChartO Labor Pool |-Type HourtyPayRate \+GetLaborUst() Labor •Type (-optQty minQty maxQty userQiy -tCreateLaborAccountO |->OeteteLaborAccount() VatdateLaborQ l+vaidateNumberofLaborType|0 •waidateLaborQtyO 0..* -Is one part of Resource •Type [optQty minQty •maxQty userQty •Summarize!) l+CafcuJafeftDducfWyrJ \*CabulateDurationO 1. -Includes; 1 -Includes 0..* -Includes sone part of Material •Type l-Qty HinitCost Fig 7-10: Static Structure Diagram for Use Case "Assign Resources" -69-Q Resource.aspx S5j Navigates Display task arid resource Info Select equipment type and number l e - -Show equip validation result Select crew type and assign crew size »l I I Shew labor validation result I I Request task list show task lis: Request resource info J Show resource info 1 Validate equip resource Get validation result Save task resources Validate end of equip selection | Go; validation result I I Validate Labor resource Get validation result Save task resources 1 iotas ;,ns«tet«tt Validate end oi labor selection I 1 I 1 Validate end of task resource assignment 1_ Get validation result I Change task as "resourse-loaded*-' I le ! Validate resource state of all project tasks ' I ^ I I Upd3teP4 Fig 7-11: Sequence Diagram for Assigning Resources Q c 01 D Chapter 7: Object-Oriented Design with Unified Modeling Language (3) Sequence diagram See Fig 7-11 for sequence diagram for the use case. 7.4.3.5 Define logical relations for network Schedule (Is) Use case analysis This use case is the last step for project definition. The A S P . N E T page displays the project task and their predecessor information, and allows a user to add, delete and update the predecessors and the logical relations. The page has a method to check the user definition and display the results. Use Case Definition for Define logical relations for Network Schedule Use Case Name: Use Case Description: Actor: Status: Priority: Assumptions: Pre-conditions: Post-conditions: Primary Paths: Alternative Path: Exception Paths: Define logical relations for network schedule This use case starts when a user finishes the definition of the P C B S , method selection, W B S definition and resource assignment. It requires the user to select the correct predecessors and relations for project work tasks. The logic must be correct and complete. User Pathways defined 1 User wants to go through this step in order to get a planning and scheduling report from the system. - User logs onto the system - User finishes the use case Define PCBS User finishes the use case Select Work Method User finishes the use case Define WBS - User finishes the use case Assign resources - User record is updated to indicate completion of this use case User selects correct predecessors for corresponding work tasks and defines appropriate logical relationship. The network logic is complete. None User selects wrong predecessor for a work task User defines an inappropriate relationship between - 71-Chapter 7: Object-Oriented Design with Unified Modeling Language two work tasks - User does not define all the predecessors for a work task - User does not define necessary logical relations for all work tasks. (2) Static structure diagram LogicalRelation is an association class linking the ProjectTask and Planning&Scheduling Report classes. The class is responsible for validating user definitions. Scheduing.Predecessor. 5$Fyk aspx <^ jp* -tva (date Predecessor!) •wafdateEndofDefinitionO -useriD [-password l-IName •fName •studentNr l-emal •P1 I-P2 -P3 I-P4 -P5 •addUserO |-waldateUserO +OeleteUserO -^ etMyPasswordO +lnsertPredecessorO +CheckPredecessorO +CheckPredecessorOef[) +VafdateO +SetDefaultO Project projectNr projectName StartDate Planning&Scheduling Report Fia 7-12: Static Structure Diagram for Use Case "Define Logical Relations for Network Schedule" (3) Sequence diagram - 72-Chapter 7: Object-Oriented Design with Unified Modeling Language 0 Scheduling prede^gv <«snr asp« Navigate" protectTask Request task Est LoaicalRelation Select predecessor k- . Check end of logical definition I Vaidate predecessor Vaidate number of predecessors 1 Vaidate completion i i i Fig 7-13: Sequence Diagram for Defining Logical Relations for CPM Schedule 7.4.3.6 Phase I: Get Planning and Scheduling Report (1) Use case analysis The reporting function is separated from the project definition and defined as an independent use case. The user can get a planning and scheduling report given some scheduling information. Use Case Definition for Get planning and scheduling report Use Case Name: Use Case Description: Actor: Status: Priority: Assumptions: Get planning and scheduling report This use case starts after a user finishes all the five steps for project planning and scheduling. It requires the user to select the project commencement date and work calendar and define holidays in order to generate cost estimation and scheduling reports. User Pathways defined 1 User wants to go through this step in order to get a planning and scheduling report from the system. - 73-Chapter 7: Object-Oriented Design with Unified Modeling Language Pre-conditions: - User logs onto the system User finishes the use case Define PCBS - User finishes the use case Select Work Method User finishes the use case Define WBS - User finishes the use case Assign resources User finishes the use case Define logical relations for network schedule The cost estimation and scheduling report are saved for later retrieval or project implementation. User selects the correct date without conflicts with work calendar definition and holidays. (the commencement date is a regular working day) Alternative Path: None Exception Paths: - User selects project start date in confliction with work calendar or holiday definition. (2) Static structure diagram ScheduleReport.aspx is the only page class requiring user input for a complete network definition. ScheduleReport.aspx summarizes the scheduling result, and the user can navigate from this page to other schedule pages. CostReport.aspx summarizes all the cost information at the project level; the user can get more cost details by clicking the links to other cost pages (3) Sequence diagram Post-conditions: Primary Paths: - 74-Chapter 7: Object-Oriented Design with Unified Modeling Language Schedule client pages Bulds \( —| -StartDate -Calendar -tabulate Schedule +cabulateMonthlySchedub Cost rient pages Buids -Links Schedule taskID -EST •EFT •LST •LFT TotaFbat FreeFbat fCritcalndex kCafcufetefl [•Breakdown)) MonthlySchedule 1-rVbnth taskID Dura ton StartDate FiiishDate PeicentDone GetNumbenjfMonthQ [njpdateNumberofMontI) 0 Fig 7-14: Static Structure Diagram for Use Case" Get planning and scheduling report" ProjectTask kGetTaskListO Schedule g& CostKeport.fgt a«:pv userAccount upr T ^Select start datepj" |~ Select CalendarfSj f~Set hofdayO-*! H f 1 Navigate CheckStatus component I I I WorkBreakrtnwnStmrtiird r T -I CheckDateSelectbnO f i i 1 i • Calculate I Get project schedule Get monthly schedule I MonthlySchedule Breakdown Navigate Get project cost Get itemized task cost | Get monthly cost t~ -4-I 4-I i Get schedule info Fig 7-151: Sequence Diagram forGeting Planning&Scheduling Report - 75-Chapter 7: Object-Oriented Design with Unified Modeling Language 7.4.3.7 Phase I: Summary (1) Top-level view static structure diagram userAccount Cost If Work Method Project 1 Unit 1 1..* partition 1 1..* — — ^ ^^^QJ/TBQTEJTQ component EquipPool iTypicalActivitV IWorkBreakdownStructura Schedule 1 1..* 0..* 1..* 0..* Equipment Labor Material 1..* 1..* 1..* 1..* MonthlySchedul LaborPool Fig 7-16: Top-view Static Structure for SimSite .NET Phase I - 76-Chapter 7: Object-Oriented Design with Unified Modeling Language Fig 7-17: Use case control flow Diagram for Phase I F ig 7-17 summarizes all the business classes and relationships involved in Package 2 "project planning and scheduling". A S P .NET web page classes are not included and all the attributes and operations are suppressed for clarity. - 77 -Chapter 7: Obiect-Oriented Design with Unified Modeling Language (2) Use Case Control flow The activity diagram in Fig 7-17 takes a high level view of communication and interaction among use cases in the user account management, project definition, and planning & scheduling report areas. In summary, the user must sign in; walk through the five steps for project definition, and finish the project definition before getting a project planning and scheduling report. 7.4.4 Package 3: Project Monthly Play (Phase II) (1) Use case analysis This is a complex use case—it provides the user with an opportunity to watch the variation of project output under uncertain environmental conditions and make decisions to counterbalance the adverse effects. One ASP.NET page is primarily used for decision making and monthly reporting. Use Case Definition for Monthly Play Use Case Name: Use Case Description: Actor: Status: Priority: Assumptions: Pre-conditions: Post-conditions: Primary Paths: Project monthly play This use case starts when a user finishes all the five steps in Phase I and gets a planning and scheduling package. It requires the user to adjust resources and assign overtime work on a monthly basis and get the project done within the allowable period and at a minimum cost. User Pathways defined 1 User has completed project definition in Phase I and wants to run the project on a monthly basis. - User logs onto the system - User finishes the use case Define PCBS - User finishes the use case Select Work Method - User finishes the use case Define WBS - User finishes the use case Assign resources - User finishes the use case Define logical relations for network schedule User gets a planning and scheduling report None User adjusts resources and assigns overtime work for - 78-Chapter 7: Object-Oriented Design with Unified Modeling Language tasks on a monthly basis, until the completion of the project, within allowable period and cost. Alternative Paths: The expected duration of the project exceeds the permitted duration. - The expected cost of the project (actual cost plus liquidation damage) exceeds the allowable cost. Exception Paths: - User assigns resources with quantities over the allowable limits. - User assigns overtime work over the limit. - User tries to close the main page before completion of the project. (2) Static structure diagram Fig 7-18 shows the static structure of the use case. There are two significant categories of classes in this use case: Decision classes are related to resource and management decisions. They represent user decision and have effects on productivity, cost and duration. Environmental classes relate to weather and economic conditions. They are abstracted from weather effects and consumer index fluctuation in a real world construction process. These classes have methods to generate simulation data series and randomly generated property values. (3) Sequence diagram See Fig 7-19 for sequence diagram for the use case. (4) Activity diagram See Fig 7-20 for activity diagram for the use case. - 79--Drive User •userlD 'firsys'sn» •lastName •studentNr Resource •Type Equif ment -equipType •eqtiipQty -dailyRent tvalida «lnter face=» Play paga -is comprised Of Labor -taborType -taborQly -hourlyPay +validate() Material Type lisageRate unltCost mgtDccislon Hiionsh taskID |-overtinieHoursl -influence Decision classes EcooomicCondition project projectNr prqjedNsrtje StartDase projectTask taskID •laskName •CalculaleProcJuctivityO |HJpdafeProdufiMiybyWeailwrt |-mon;h consumerlndex Weather month Temperatuie precipitation •CreateQ Environ n?ental classes LogicalRelation Cost -taskID -E^ulpCoss -LabCost •MaiCost BsreCost *Ca!cuiamO *UpdateCastbyOvertime{) + UpdaieCosSbyEoonorticI ndex() •taskID -predecessors :-t validate)) Schedule >-Cafada!ion Duration!) fCa!ciJla!k>nSehedute(j tUpdaseDuratlonbyOvertimaQ 1 1.* rVtorttttlySchedule Fio 7-18: Static Structure Diagram for Use Case 'Monthly Play" -txuaks down into (-monthID taskID EST EFT •LST LFT Criticailndex j-pciCompleted i-Beeaks dovmf) o A i » 5 E ! Mate Se! re--£ re-Crease simulated wuather I Create simulated economic situation I -r lect 1st(next) month »i l I 1 t Create original cos ! estimation | i »i ] I Request task list for 1st month j I 1 •• *i I I I g , j I Adjust number of etjuipnwit | Create original schedule validate - r -i -i— i -t--i i i i i r Adjust number of labor crew 1 ...„-.,• 1-I validate Calculate productsvity i I • T --t-I UpdaiaProductivitybyWeatner CalcuiateDuraSon CalcuiateCost i e - -I Assign overtime work -1-I UpdateDuratiMbyOvertin'ie j t : »t I UpdateCostbyOveriiiDB j j j », t e - -i « t t t t validate Request weather into MoHhl»ScNdule Breaks down Fig 7-19: Sequence Diagram for Use Case "Monthly Play"(1 of 2) o c 01 a fTJ PagnPlay EoujainaB Labor Waafer Ecgftarfe:Ccndi!inn Schedule MartlhlySdtedula CalcuateExiraCosi I Request economic index for current month UpdateCosibyEconorniclndex _ 1 ^ I Delete or update the tasks completed ti CalouiateDelay I Calculate new schedule Fig 7 -19: Sequence Diagram for U s e C a s e "Monthly P(av"(2 of 2) I Breaks down I I I I i I I I o CL fD_ 5' Q I -01 Q c O) a a> Chapter 7: Object-Oriented Design with Unified Modeling Language 1 Generate project files (Generate simulated temperature and precipitatiort (Generate simulated economic situatioy Show planning and scheduling info for 1st Mont|i - ^ A d j u s t resources and assign overtime work for tasks in current m o ^ -Not Valid input (VaHdate input (Calculate productivity for tasks in current mon}h ^Update productivity by weather effect) (Re-calculate duration for tasks in current monyi (Re-calculate cost for tasks in current mon Dn)h Update duration by Overtime worl Update cost by Overtime woi ^  ± (^ Update cost by varied economic situatk^i ^Update cost by varied economic situatjop I Fig 7-20: Activity Diagram for Use case "Monthly Play" (1 of 2) -83-Chapter 7: Object-Oriented Design with Unified Modeling Language ( * (Calculate extra cost incurred this month Save scheduling results for this past month (Delete or update tasks for the project (Recalculate project shedule^j (Recalculate project monthly schedule JL (Capture expected project delayj Expected duration >= allowable duration I Expected Duration < Allowable duration i i D„ • „, t •, . , . . .. V J I Project tailed due to excessive duration JL (Get expected project cosTj <5 Expected cost >= Allowable cost Expected cosK Allowable cost Project failed due to excessive cost <6 * Current month is the last month JL Current month is NOT the last month -(G .XL o to next montfT) Fig 7-20: Activity Dagram for Use case "Monthly Play" (2 of 2) -84-Chapter 7: Object-Oriented Design with Unified Modeling Language 7.5 IMPLEMENTATION A N D D E P L O Y M E N T DESIGN Visual Studio .NET provides an integrated environment for web application packaging, deployment and distribution. While developing applications in Visual Studio.NET, A "Solution" is at the highest level package element. Each solution contains one or more projects, and each project contains many project files (web pages, code-behind files, configuration files etc.). Three solutions were developed for SimSite.NET, (1) Project documents and reference library, (2) Project planning and scheduling (phase I), and (3) Project monitoring and control (Phase II). As a three-tier application, the database, business objects and user services are deployed separately using three deployment projects. Each layer is packaged and distributed as a Microsoft Windows Installer 2.0 formated package. The .msi installer file can install, repair, or remove Microsoft .NET Framework assemblies in the global assembly cache and in private directories in the target web server. 7.5.1 Component Diagram The component diagram for SimSite.Net is shown in Fig 7.21. SimSiteRunClassLibrary.dll — T SimsiteRun.dll Fiq 7-21: Component Diagram for SimSite .NET 7.5.2 Deployment Diagram ASP .NET provides a hosting environment for developing highly distributed Internet-based applications using the .NET framework. Simsite .NET, as a web-based simulation game, focuses more on performance rather than remote distributed features. Even though the application layers are physical and logically separated, we prefer the integration of IIS server, ASP.NET server and SQL server 2000 on in the same machine to maximize convenience and system performance. -85-Chapter 7: Object-Oriented Design with Unified Modeling Language Internet Information Server «fOe» SimSite .NET web forms applicatiorifj HTTP/html ASP .NET «executable» —'—I SimSite .NET Class Library X «executable» ADO.NET I SOAP/xml SQL 2000 DB Server 3 «table» SimSite .NET Databasev « f i e » Stored Procedures V Fig 7-22: Deployment Diagram for SimSite .NET -86-Chapter 8: Mathematical Models for Productivity Representation Chapter 8: Mathematical Models for Productivity Representation 8.1 I N T R O D U C T I O N T O T H E P R O D U C T I V I T Y M O D E L Productivity, closely related to project duration and cost, is a vital factor of concern in construction. Both the owner and the contractor want an efficient delivery o f the constructed facility at a minimum cost. The normal project duration is the most reasonable length o f time when all the resources are assigned and consumed in fair quantities, and logical sequence. Crashing the project duration—either by changing network topography or increasing input of resources for activities—may decrease the productivity and should be used only when the project schedule justifies these decisions. The basic notion of productivity is a measure o f the ratio of output to input. Output usually means the end product of construction or a part of it, while input means resource input, including labor, equipment, and materials. The input may also be of other forms such as money, but the productivity here is simplified as the hourly or daily production of a work task divided by the combined resources allocated. The productivity model establishes mathematical relationships between the productivity and different combinations of resources, as well as between productivity and task duration and cost. O f all the resources for a work task, labor resource is of special interest. The labor costs constitute a significant portion of the total project cost and have increased at a steady pace over the past decades, according to statistical data from Engineering New Records. Labor resources are also the most weather-sensitive, which dictates the productivity of labour-intensive activities. Nevertheless, equipment is also important for the modern construction industry because some work tasks are heavily depend on construction equipment, and the performance of the equipment is another strong influence on activity > productivity. In Simsite.Net, the work tasks are classified based on resource requirements, with their productivity quantified from the resource input. The problem facing the user is how to assign resources to each activity to maximize its productivity to ensure the efficient delivery of the end-product. In Simsite.Net, the user may choose to accelerate or slow down the delivery of a particular activity for a wide variety of reasons. Other derived performance data, such as daily output, task duration and cost, may be of more direct interest to the user; however he should be well aware of the underlying productivity issues in order to make appropriate decisions. The increase o f resource input does not always improve production. Inappropriate increases or designation of resources may cause infeasibility or low productivity (due to redundant resources) of the activity—this concept is illustrated in the productivity model. The productivity is re-modeled in SimSite .NET to reflect different types of activities and the resource constraints. -87-Chapter 8: Mathematical Models for Productivity Representation 8.2 FACTORS AFFECTING PRODUCTIVITY A N D M A T H E M A T I C A L REPRESENTATION There are a number of factors affecting productivity in the construction process. These are closely related with the environmental conditions and project planning or management decisions. While maximizing the productivity (minimizing cost) is one of the major concerns for a project, it may have to be sacrificed for various reasons. The circumstances under which productivity loss may be expected are as follows: • Increasing the work force. If the work force is too high, productivity will suffer from overcrowding problems. This has been modeling in SimSite.NET by the following relationship, in which, i f the work force is doubled, the productivity will suffer a 15% loss[Hinze, 18]. Eff(%) = 115% _l5.SizeojEXpandedWorkforce% (g_1} SizeofNormal Workforce • Crew mix. The ratio of skilled/unskilled workers in some activities has an optimum value. Extra or insufficient number of unskilled workers will increase the unit cost of the activity. The ratio between trades working in collaboration is also a factor influencing general productivity. • Equipment fleet ratio. Some activities utilize an equipment fleet. The ratio between the various types of equipment is also important for activity performance. Lack of key equipment will directly influence the productivity. • Environmental effects. Uncertainties are introduced into the execution of activities by weather, underground conditions, etc. 8.3 RESOURCE-BASED CLASSIFICATION OF ACTIVITIES A N D PRODUCTIVITY C A L C U L A T I O N Classifying activities has two purposes: to better present different activities via different GUIs, and to simplify and generalize the program code. This approach generalizes the development environment of Simsite.Net so that it can be used for any type of project. To model the productivity of activities, the author proposes to classify the activities into four categories based on the type of resources that predominantly control productivity, namely: (1) Labor-driven, single trade (abbreviated as LD1) (2) labor-driven, multiple trade (abbreviated as LD2) (3) Equipment-driven, (abbreviated as ED), and (4) Composite (abbreviated as CM), as stated in the following sections: -88-Chapter 8: Mathematical Models for Productivity Representation 8.3.1 Type LD1: Labor-Driven Task (Single trade) (l)Definition: A labor-driven, single trade task is predominantly undertaken by single trade workers and labors. Some use of power tools and heavy equipment may be necessary. Handling and moving of materials within the job site using equipment is not considered here. Typical tasks include: tie-in-place rebar placing, small to medium size formwork installation, concrete curing, formwork stripping etc. The productivity is related to the total number of people working on the site and the ratio of skilled to unskilled workers. (2) Quantification formula: P = KC-Kr-P0 (Unit/Labor-Hour) (8-2) PD = mP (Unit/Hour) (8-3) Where P — Productivity PD — Production m — Number of workers K c — Crowding factor (0-1), see Section (5) for details K r — Labor ratio factor (0-1.1), see Section (6) for details P 0 — Optimum productivity (Unit/Labor-Hour) (3) Table of parameters The following tables define the parameters associated with a task i. Task Labor Data Table TaskID LaborType Lablndex Optimum Min Max Userlnput #i Skilled 1 mo. min m 0 i max m 0 i m, #i Unskilled 3 m 0 3 min m 0 3 max m 0 3 m 3 #i others 6 m 0 6 min m 0 6 max m 0 6 m 6 TaskEquip Data Table TaskID EquipType Equiplndex Optimum M i n Max Userlnput #i auxiliary equipment 3 ^03 min_e 0 3 max_e 0 3 e3 -89-Chapter 8: Mathematical Models for Productivity Representation Labor Index Naming Rule: 1—Key labor type 4-—Operators 2—Secondary key labor type 5---Assistant key labor type 3—Unskilled 6---Others, foreman etc. Equipment Index naming Rules: I— Key equipment 3-—Auxiliary equipment 2—Secondary key equipment (4) Check constraints The system checks and enforces the following constraints on the parameters. • (min_mox + min_ m03 + min_m06 )<m:+m3+m6 < (max_m0l + max_ m03 + max_m06) The total number of labors shall satisfy the minimum requirements for carrying out the work task and maximum requirements arising from space limitation. • min_w 0 I < m] < max_w 0 1 The number of skilled laborers must be within the minimum and maximum allowable values. • min_ m03 < m3 < max_ m03 The number of unskilled laborers must be within the minimum and maximum allowable values. • min_w 0 6 < m6 < max_/w06 The number of other workers must be within the minimum and maximum allowable values. The last three constraints are enforced within the user entry screen. If these constraints are satisfied, then the first constraint will automatically be satisfied. (5) Labor crowding factor: IC K c is related to the total number of labors working on the site. • K c =l (8-4) If (min_ m0l + min_ m03) < mx + m3 < (m0l + mm ) • Kc = U5%-\5%- m x + m ' (8-5) m 0 1 + m03 If (/770, + m03)< mx + m3 < (max_m0 ] + max_m03) Fig 8-1 shows the relationship between Kc and the number of labors working for an activity assuming 18 is the most appropriate number. -90-Chapter 8: Mathematical Models for Productivity Representation K c 105.00% 100.00% 95.00% 90.00% 05.00% 80.00% Fig 8-1: Crowding Factor Kc vs. Number of Labors (Sample) The system sets the default value of K c to 100%, and this value is revised if the total number of skilled and unskilled workers is greater than the optimal crew size. (6) Labor ratio factor: Kr The labor ration factor reflects the relative ratio of skilled to unskilled workers. It is given by: K. = ^ + ( 3 - r 0 ) 0.95 (8-6) K T 12000* 10000% 8000% 4B0O% 30OT% 000% <-'i ' - , -r •»< - -Vf > - -,3 05 1 1 5 3 2 5 2 3 5 4 4 5 5 5 5 E 5 J 7 5 8 Fig 6-2: Labor Ratio Factor Kr vs. Ratio of Skilled/UrtsMited! Labors (Sample) -91-Chapter 8: Mathematical Models for Productivity Representation 8.3.2 Type LD2: Labor-Driven Task (Multiple trades working in coordination) (1) Definition: A labor-driven, multiple trade task is undertaken by more than one type of trade worker working in coordination. Some use of power tools and heavy equipment may be necessary. Handling and moving of materials within the job site using equipment is not considered here. Typical tasks include: build sub-footing, build footing, build small-size simple-structure reinforced-concrete elements, etc. The productivity is related to the total number of people working on the activity, and the ratio between the number of trades working in coordination. (2) Quantification formula: P = KC-KS-P0 (Unit/Labor-Hour) (8-7) PD = mP (Unit/Hour) (8-8) Where P — Productivity PD — Production m — Number of workers K c — Crowding factor (0-1), see Section (5) for details K s — Trade coordination factor, see Section (6) for details P 0 — Optimum productivity (Unit/Labor-hour) (3) Table of parameters The following tables define the parameters associated with a task i . Task Labor Data Table TaskID LaborType Lablndex Optimum M i n Max Userlnput #i Trade 1 1 min m 0i max m 0i m, #i Trade 2 2 m 0 2 min m 0 2 max m 0 2 m 2 Task_Equip Data Table TaskID EquipType Equiplndex Optimum M i n Max Userlnput #i Assistant equipment 3 603 min_e03 max_e03 e3 (4) Check constraints The system checks and enforces the following constraints on the parameters. • (min_ m0l + min_ m02 )< ml + m2 < (max_ m0i + max_ mQ2) - 92 -Chapter 8: Mathematical Models for Productivity Representation The total number of labors shall satisfy the minimum requirements for carrying out the work task and maximum requirements arising from space limitation. • min_m 0 1 < m, <max_m(n The number of workers for trade #1 must be within the minimum and maximum allowable values. • min_ m02 <m2< max_ m02 The number of workers for trade #2 must be within the minimum and maximum allowable values. (5) Labor crowding factor: Kc is related to the total number of labors working on the site. • Kc=l If (min_ m0l + min_ m02 )<ml+m2 < (m0l + m02) (8-9) JTc = 115%-15%. mm + m02 (8-10) If (m0l + m02 )< ml +m2 < (max_m0l + max_m02) Use the same method for Type LD1 to calculate Kc. (6) Trade Coordination factor: Ks The trade coordination factor decreases productivity i f the relative ratio of the different trade workers varies from the defined optimal value. It is given by: j_ i_ (Ks =r" If more than two types of trades are involved) where r = Min\ m, Km02 J Km02 J (8-11) Fig 8-3 shows the relationship between Kc and the ratio of two coordinating trades for an activity assuming 1.33 is the most appropriate ratio. In unbalanced combinations, lack of Trade 2 labors has higher impact on productivity than Trade 2 because Trade 1 is more important than Trade 2 for this activity. -93-Chapter 8: Mathematical Models for Productivity Representation Ks 12D.00% 60.00% 40.00% 20.00% 0.67 0.73 D.8 0.89 1 1.14 1.33 1.5 1.67 1 .B3 2.17 2.34 Trade 1/Trade 2 Fig 8-3: Trade coordination Factor Ks vs. Ratio of two coordinating trades 8.3.3 Type E D : Equipment-Driven Task (1) Definition: A n equipment-driven task is undertaken predominantly by an equipment fleet. If more than one type of equipment is involved, primary and secondary equipment need to be identified. Other equipment of auxiliary types may also be required. Typical tasks include: large mass excavation, pile driving, precast unit installation, etc. The productivity is related to the number of primary pieces of equipment working on the site, and the ratio between the primary and secondary key equipment. (2) Quantification formula: P = Kc-KrP0 (Unit/Crew-Hour) • (Unit/Hour) PD = -^-P (8-12) (8-13) Where P — Productivity P D — Production e, — quantity of primary equipment e0i — optimum quantity of primary equipment Kc — Crowding factor (0-1), see Section (5) for details K r — Equipment ratio factor (0-1), see Section (6) for details P 0 — Optimum productivity (unit/Crew-hour) (3) Table of parameters The following tables define the parameters associated with a task i. -94-Chapter 8: Mathematical Models for Productivity Representation T a s k _ E q u i p D a t a T a b l e T a s k I D E q u i p T y p e E q u i p l n d e x O p t i m u m M i n M a x U s e r l n p u t • # i P r i m a r y 1 e o i m i n e 0i m a x e 0i e. # i S e c o n d a r y 2 602 m i n e 0 2 max_e 02 e2 # i A u x i l i a r y 3 G03 m i n e 0 3 m a x e0 3 e3 Task Labor Data Table T a s k I D L a b o r T y p e L a b l n d e x O p t i m u m M i n M a x U s e r l n p u t # i Operators 4 m 0 3 m 0 3 m 0 3 m 3 # i Others 6 m 0 6 m i n m 0 6 m a x m 0 6 m 6 (4) C h e c k constraints T h e s y s t e m c h e c k s a n d e n f o r c e s the f o l l o w i n g constraints o n the parameters. • m i n _ em < e, < m a x _ e 0 1 T h e n u m b e r p r i m a r y e q u i p m e n t m u s t be w i t h i n the m i n i m u m a n d m a x i m u m a l l o w a b l e v a l u e s . • m i n _ e 0 2 < e2 < m a x _ e 0 2 T h e n u m b e r o f s e c o n d a r y e q u i p m e n t m u s t be w i t h i n the m i n i m u m a n d m a x i m u m a l l o w a b l e v a l u e s . • m i n _ e 0 3 < e 3 < m a x _ e03 T h e n u m b e r o f other a u x i l i a r y e q u i p m e n t m u s t be w i t h i n the m i n i m u m and m a x i m u m a l l o w a b l e v a l u e s . • m04 ~ f{e0] ' e02 » e0i ) T h e n u m b e r o f operators s h a l l b e related to the n u m b e r s o f e q u i p m e n t . ( T h i s r e l a t i o n s h a l l be h a n d l e d separately i n different o c c a s i o n s ( o n e - t o - o n e , o n e - t o -m a n y , m a n y - t o - o n e are a l l p o s s i b l e s c e n a r i o s ) . • m i n _ m 0 6 < m6 < m a x _ m 0 6 T h e n u m b e r o f other l a b o r types m u s t be w i t h i n the m i n i m u m a n d m a x i m u m a l l o w a b l e v a l u e s . O t h e r l a b o r types m a y i n c l u d e f o r e m a n , o i l e r , u n s k i l l e d l a b o r etc. (5) C r o w d i n g factor: I C Kc is related to the t o t a l n u m b e r p r i m a r y e q u i p m e n t * K ^ l (8-14) I f m i n _ e 0 1 <ex <e0l -95-Chapter 8: Mathematical Models for Productivity Representation ATc = 1 3 0 % - 3 0 % - ^ -0^1 If e0l <ex <max_e 0 1 (8-15) This method is similar to Kc for Activity Type LD1 but the degree of impact increases. (6) Equipment ratio factor K r The equipment ratio factor decreases productivity i f the relative ratio of the different types of equipment varies from the defined optimal value. It is given by: K. = Min ( 0 \ f - \ V e oi J (e V Ve02 J (e ^ _1 V e oi J (8-16) The method is the same as that for Activity Type LD2. 8.3.4 Type C M : Composite Task (1) Definition: A composite task is comprised of interconnected sub-tasks and is primarily undertaken using an equipment fleet. Some sub-tasks are carried out by trade workers. Close coordination between sub-tasks is one of the determining factors for productivity. Typical examples include: placement of concrete, post-tensioning, installation of T beams, etc. The productivity is related to the number of primary key equipment working on the site, the ratio between the primary key equipment and secondary key equipment, as well as the number of assisting trade workers. (1) Quantification formula: P = KcKr-Ks-P0 (Unit/Crew-Hour) • P£) = _ L . p (Unit/Hour) (8-17) (8-18) Where P — Productivity PD — Production ei — quantity of primary equipment e0, — optimum quantity of primary equipment K ; — Crowding factor (0-1), see Section (4) for details -96-Chapter 8: Mathematical Models for Productivity Representation K r — Equipment ratio factor (0-1), see Section (5) for details K s — Coordination factor (0-1), see Section (6) for details P 0 — Optimum productivity (unit/crew*hour) (2) Table of parameters The following tables define the parameters associated with a task i . TaskEquip Data Table TaskID EquipType Equiplndex Optimum Min Max Userlnput #i Primary 1 601 min e0i max e01 ei #i Secondary 2 602 min e02 max e02 e2 #i Auxiliary 3 603 min e03 max e03 e3 Task Labor Data Table TaskID LaborType Lablndex Optimum Min Max Userlnput #i Operators 4 M 0 4 min m 0 4 max m 0 4 m 4 #i Trade 5 M 0 5 min m 0 5 max m 0 5 m 5 #i Others 6 m 0 6 min m 0 6 max m 0 6 m 6 (3) Check constraints The system checks and enforces the following constraints on the parameters. • min_e 0 1 < e, < max_e 0 1 The number primary equipment must be within the minimum and maximum allowable values. • min_e 0 2 < e2 < max_e 0 2 The number of secondary equipment must be within the minimum and maximum allowable values. • min_e 0 3 < e3 < max_e 0 3 The number of other auxiliary equipment must be within the minimum and maximum allowable values. • W 0 4 = f(?0\' e02 » ^03 ) The number of operators shall be related to the numbers of equipment. (This relation shall be handled separately in different occasions (one-to-one, one-to-many, many-to-one are all possible scenarios). • min_ m 0 4 <m4 < max_ m04 The number of operators must be within the minimum and maximum allowable values. • min_ m06 < m6 < max_ m06 -97-Chapter 8: Mathematical Models for Productivity Representation The number of other labor types must be within the minimum and maximum allowable values. Other labor types may include foreman, oiler, etc. (4) Equipment crowding factor: K . Kc is related to the total number primary equipment • K c = l (8-19) If min_e 0 1 < ex < e0l Kc = 130% -30%--^- • eo\ (8-20) If e01 < e, < max_e0 1 The method is similar to that for Activity Type LD1. (5) Equipment ratio factor: K : The equipment ratio factor decreases productivity i f the relative ratio of the different types of equipment varies from the defined optimal value. It is given by: K. = Min vg o i y f - \ V g02 J , \e02 J (8-21) The method is the same as that for Activity Type LD2. (6) Labor coordination factor: K ; The labor coordination factor decreases productivity i f the ratio of the trade workers to primary equipment varies from the defined optimal value. It is given by: • Ks =M / i ( l ,r , 2 ) (8-23) (Ks = Min(l,rs"+i) If more than one trade working in coordination with the equipment fleet) where r - Min vfoi y m. \mosJ \m05j f _ A V e o i j The method is similar that for Activity Type LD2. -98-Chapter 8: Mathematical Models for Productivity Representation 8.4 STOCHASTIC EFFECTS: WEATHER GENERATOR A N D PRODUCTIVITY U P D A T E With addition of "Project Implementation" phase, SimSite .NET needs to address the weather effects and their influence on productivity. A defining feature of the construction industry is that most construction activities are exposed to an open environment and subject to environmental influences. The productivity, and therefore the duration and cost, of an activity varies with the activity type, location, and the month of the year. Two of the most significant factors affecting productivity are temperature and precipitation. Some researchers proposed productivity efficiency factors for various project activities for project planning and scheduling. One example is the Calendar Day C P M proposed by Hoepp J.T and Shaffer L.R. [Hinze, 18]. Productivity changes with the season of the year due to climate change. Productivity efficiency factors assigned on a monthly basis are assumed in the system to be sufficient to reflect the general trend of this change, even though the efficiency factors could be assigned to activities on a weekly, or even a daily, basis. SimSite .NET uses the following expressions to model the monthly weather effects on productivity: • Kt = /(ActivityType, MonthlyAverageTemperature) (8-24) The temperature factor is determined by the activity type and the monthly average temperature. • Kp = /(Activity Type, Monthly'AverageVx ecipitation) (8-25) The precipitation factor is determined by the activity type and the monthly average precipitation. • P = P0.Kt»Kp (8-26) Resource-dependent productivity is further discounted by K t and K p . 8.4.1 Generation of Weather Effects Some computer systems have been designed to simulate the weather effects for weather forecasts or scientific research. In the latter case, the weather data are randomly generated according to a certain pattern and rules to represent the weather change on a daily, monthly, or yearly basis. In SimSite .NET, the weather model uses a simplified Random Variate Technique (RVT) to simulate the monthly weather effects. The monthly average temperature and precipitation are randomly generated to known statistical distributions from historic records from the Vancouver International Airport Observation Station. (1) Monthly Average Temperature -99-Chapter 8 : Mathematical Models for Productivity Representation Monthly average temperature is generated randomly assuming a normal distribution of temperature data series. The reverse transform method of generating normally distributed variate proposed by Knuth [Knuth, 19] is employed. (2) Monthly Average Precipitation Monthly precipitation amounts can be best modeled by a two-parameter Gamma distribution, according to past research. To simplify the case, Markov Chain effects applicable to generation of daily precipitation [Wales, 20] were not considered here. Monthly precipitation generated while ignoring dry/wet transition effects were considered to be sufficient in most cases [Dubrovsky, 21]. The random variate to gamma distribution is generated by an acceptance-rejection method proposed by Cheng [Cheng, 22]. The parameters for gamma distribution of monthly precipitation are calculated from: M a = 1 — (8-27) 2 M Where u. — Average Monthly Precipitation o — Standard Deviation of monthly precipitation a, [3 — Shape parameters of gamma distribution 8.4.2 Productivity Efficiency Factors Reflecting Weather Effects (1) Temperature Factor, K, Based on the past studies [BYU,23], this research proposes to classify all the work tasks as non-temperature sensitive, equipment-operating, heavy manual, or light manual, based on their response to temperatures. A temperature factor, K,, is assigned to these tasks corresponding to various temperature ranges, as shown in table 8-1. Table 8-1: Assignment of Temperature Factor K, T y p e ^ — — ^CQ_ -10-0 0-10 10-20 20-30 Non-Temperature Sensitive (NTS) 1.00 1.00 1.00 1.00 Equip-Operating Task (EOT) 0.95 1.00 1.00 1.00 Heavy-Manual Task (HMT) 0.90 0.98 1.00 0.95 Light-Manual Task (LMT) 0.95 1.00 1.00 0.95 (2) Precipitation Factor, K c The influence of monthly precipitation on work tasks is also dependent on the characteristics of the task and the amount of precipitation. In this research, work tasks -100-Chapter 8: Mathematical Models for Productivity Representation are classified as Non-Precipitation Sensitive (NPS), Low Precipitation Sensitive (LPS) or High Precipitation Sensitive (HPS), and a precipitation factor, K p , is calculated assuming a linear relation between the precipitation amount and productivity drop. As a simulation game, this classification can reasonablely reflect the changes brought by different amount of precipitations on different types of activities. Table 8-2: Assignment of Precipitation Factor K p Type ~ —-— P(mm) <50 >50 Non-Precipitation Sensitive (NPS) 1.00 1.00 High-Precipitation Sensitive (HPS) 1.00 1.00 P x0.10 350 Low-Precipitation Sensitive (LPS) 1.00 1.00 P x0.05 350 -101-Chapter 9: Web Site Design and System Evaluation Chapter 9: Web site design and system evaluation 9.1 C O N C E P T U A L DESIGN Web sites have evolved from the first generation static web sites, to dynamically generated sites, and now to today's web-based applications. Web applications like SimSite .NET resemble traditional desktop application software more than traditional "websites". They appear in the form of a web site, but the behind-the-scene logic delivers the system reasoning and functionality. Web site design is user-oriented, and heavily dependent on the objective of the web site. Web sites designed for marketing, business-process automation, information access, entertainment, etc., all have different requirements and therefore different design methodology. SimSite .NET, as a web-based computer game, places equal emphasis on web site design and function, motivated by the following considerations: • The web site works as an interface for man-machine interaction. The logic in the game play is assisted by the web site to provide a visual map that allows the user to navigate through the game. Even though the logic is largely realized through programming, the navigation pane in the web site still guides the user to play the game in an orderly and efficient manner. • The web site provides a structured way of organizing the project documents and library. Before starting the SimSite.NET project management game, the user is able to learn about the project and get reference materials for this type of project. The web site is a good platform for information of this type. • The web structure provides a good format for hosting help files. Most software resorts to H T M L pages for help information because of ease of navigation, search and indexing features. SimSite .NET uses the HELP ActiveX control version 2.00 from Microsoft to organize and present the help files in a web format. The web site starts with a Homepage where the user can get an overview of the system and the hardware/software requirements for running the system. Also included in the page are links to some terminology definitions and other usable resources. The web site is organized as a tree structure. There are four packages at the root level as shown in Fig 9-1: (1) Project documents & reference library, (2) Project planning & control, (3) Project monitoring & control, and (4) Help. Under each category are indexed reading materials or functional ASP .NET pages. This hierarchical structure is indexed on a navigation pane on the left side of the screen throughout the gaming process; navigation design will be dealt with in next section. Packages (2) and (3) form the presentation layer of the operational part of the game (as described in Chapter 5); here we will review the contents and presentation of packages (1) and (4). -102-Chapter 9: Web Site Design and System Evaluation ; mm Homepage i 1 " 1 He lp II! Project Doc &Ret. Library iIritioduction:html ^peatications* Drawing" B l Mioto gallery Reterence Library Project documents and reference library Project Planning&Scheduling Project Monitor &Control K US .isp\ Mctl i i i i lSc- l ix l inn ;isp\ \\L»S;t.p\ KCMUM CC <t>p\ hixluucsM<r .i>p\ Project definition and implementation Fig 9-1: Conceptual Design for SimSite NET -103 -Chapter 9: Web Site Design and System Evaluation Project Documents & Reference Library: The documents at the next level are packaged and indexed as follows: • Introduction: Gives a brief introduction to the location, scope, structure and requirements from the developer. • Specifications: Indexed contents of project specifications; clauses from commercial and technical documents are abstracted to allow the user to quickly review the bidding documents. • Drawings: several sheets of typical construction drawings describing the location, plan, elevation and major structural elements. • Photo gallery: This web photo gallery collects some representative as-built pictures to give the user a feeling of what the project should look like when constructed. • Reference library: Indexed information about typical construction activities: each activity page includes description, typical crew requirements, typical equipment requirements, typical productivity, and a video clip demonstrating the on-site coordination between labor crew and equipment. Help: The help package includes instructions on playing the game, education materials on project management associated with the to-be-built project, and definitions of terms encountered in game play. The help package is organized using Microsoft HELP ActiveX control TOC and Index. The Table of contents allows users to open the help files from a list of linked topics, while the index allows the user to enter a keyword and search related contents in the help files. 9.2 N A V I G A T I O N STRUCTURE The web site follows a non-linear approach compared to traditional media, giving the user the benefits of quick searching and navigation. However, this advantage is achievable only with a good navigation design, otherwise the user may get lost in the range of possible options or spend a long time looking for a piece of information. The are many guidelines relating to navigational design. One of these is the "three-click" rule of thumb, which suggests that the number of clicks required of a user in order to find information should never be more than three, otherwise the user wil l lose patience and abandon the search. The same is true for SimSite .NET. Most of the time, the user should be one click away from the contents he is seeking, and he should always known where he is and be able to find links to useful resources. -104-Chapter 9: Web Site Design and System Evaluation SimSite .NET uses a left pane and a top pane as the major navigation tool, as shown in Fig 9-2. The two navigation panes are put in the left and top frames of the frameset and are always visible. A l l the other contents of the site appear in the main frame. The left pane acts as a table of contents for the web site. A l l or part of the contents can be expanded or collapsed: when the user is reading or working on one part, he can expand the contents in this part and keep the other sections collapsed. This left pane gives the user a high-level view of the road map that he should follow. The top pane has links to the homepage, the user account sign in and sign out (which are most of the most frequently visited pages), as well as two navigation buttons tracing the user navigation history and allowing the user to move back and forward in the site. The top pane also shows a checklist, which allows the user to check how many steps he has completed of the five steps in the project definition. The other navigation methods included in SimSite .NET are: (1) Icon images, such as the logo on the top left links to homepage, the small thumbnail images in the drawing and photo pages link to the full size images, and so on; (2) Hypertext provides links to other pages from which the user can get definitions, instructions, assistance or detailed information related to the current page; and (3) the web site map. -105-Chapter 9: Web Site Design and System Evaluation r r r a B D E Homepane S ign m Sign out Top Navigation Pane CD TJ o E •o $ CL ro o O ro Q. c o ro O) 5 ro z * i pEKpsndColkps? AH »->**iLi ! ' i — J | cu TD O E "D CD 9-CD C CO CL c g *•*-* ro ro 5 ro QBxv«.:Ji'' !!.r p j j t j H V i i i ' j v v jhrtioductwn Specifications Drawings Pksto Aft>u» foferenceijLibraiy PCBS Method Selectkm WBS {Resource Assign, (Predecessor Assign pchedule Report jrcro-iriiv ; Fig 9-2: Major Navigation Structure for SimSite NET 9.3 WEB SITE M A P The map for the entire website is shown in Fig 9-3. The map creates a view of both the web site structure and contents. This site map is included in the web site so that the user can click and go to the linked contents. The "index.htm" page is the left navigation pane displayed beside the other contents pages on the screen. The navigation flow for project definition and implementation are also controlled through the code-behind-file of the ASP .NET page and business objects. -106-Chapter 9: Web Site Design and System Evaluation H ttp://construction. civMxibc.ca/simsite.htrn Fig 9-3: Web site Map for SimSite .NET 9.4 STATIC A N D D Y N A M I C CONTENTS IN P A G E DESIGN The primary purpose of designing the web pages in this project is to provide a dynamic interface to collect user decisions as input and present the system response to the user as output. ASP .NET technology makes it possible to enforce the business logic through server-side programming. The application program in the server receives messages from the client browser via the Internet, sends back the system response, and dynamically renders the web page in the browser. However, to provide a complete system and to -107-Chapter 9: Web Site Design and System Evaluation enhance the user interface, the ASP .NET pages are supplemented by static H T M L pages and dynamic client web pages in SimSite .NET. Static web pages are plain H T M L pages comprised of text, image, links etc. The web pages in the project documents & reference library and help package are predominantly static pages. In contrast to server-side scripting pages like ASP .NET, Dynamic client pages are web pages whose contents can be manipulated from the client side. The mechanism for providing this dynamic activity is client-side scripting included in the H T M L pages, and all mainstream browsers follow the same specification—the Document Object Model (DOM) level 1 published by W3C. The D O M specifies the objects in the documents and how the various objects are related to each other. Each object, as a node in the web page, has both attributes and operations. The object interface is accessible through scripts or modules executed within the browser. These scripts use JavaScript objects. JavaScript is the most compatible scripting language used for writing scripting code in H T M L documents. The most common use of client-side scripting in SimSite.NET include: open another page in a new browser window, track browsing history, change text (expand or collapse), create dynamic menu, buttons and so on. The web server validation controls in ASP .NET pages actually use JavaScript to validate the user input in the client side before passing the data to the server. Client side scripting from the browser is necessitated in the project because some of its functions cannot be fulfilled by server-side scripting and these are important for a gaming application. Currently, the data exchange between the server side and client side at run-time is still difficult with ASP .NET technology. 9.5 WEBSITE SECURITY Web site security is of paramount importance for a commercial site where financial transactions are performed or confidential documents are hosted. The commercial web site developer must address two problems: authentication and authorization. In other words, only authenticated users can access the web resources, and authenticated users can only access resources they are authorized to based on their role. To incorporate web site security, user accounts, and user data, SimSite .NET must address the issue of user authentication. At this stage, we assign U B C students with a valid student number the right to sign up and log on to the system. A l l the web page files in the project are accessible once the user logs onto the system. ASP .NET has three authentication providers in the base class library: form-based, windows and passport. SimSite .NET uses form-based authentication, which allows the use of custom-designed web pages for sign up or logon. The security design involves the creation or revision of the following pages: -108-Chapter 9: Web Site Design and System Evaluation • Signup.aspx: this ASP .NET page is designed to let the user sign up with the system. The page validates and collects user input and passes the data to the database to create a user profile. • Login.aspx: this ASP .NET page is for user identification. The user must type in his user ID and password to log onto the system. The user can retrieve his password by providing more personal information in case of failing system validation. • Web.config: this X M L file configures the system security settings, including authentication mode, file path/directory protection definition, expiration time of cookies, login U R L , etc. The "loginURL" attribute value is set to login.aspx, which directs the user to this page i f he is not authenticated. When a user attempts to access protected contents of the web site, he is automatically directed to the login page, when the user signs up or logs onto the system, a browser cookie is generated with the user's identity. This authentication ticket wil l expire after the pre-set expiration time of the cookie. When the user signs out, the cookie is deleted. The authentication ticket is encrypted to prevent another user from accessing the contents. The user ID is also used to identify the project data and pull out the data for presentation to and manipulation by the user. Thus, the web site security design is combined with the design for user account management. -109-Chapter 9: Web Site Design and System Evaluation 9.6 S Y S T E M E V A L U A T I O N Upon the completion of the design, the system was implemented and deployed on a standalone laptop computer. The Windows X P Professional Edition operating system was installed on the laptop, with the Internet Information Server 6.0 web server. Also installed were the .NET framework and Microsoft SQL Server 2000 Enterprise Edition. The project worked well when hosted on the laptop computer except that only a single user was allowed at one time. Fig 9-3 to Fig 9-8 show the screen shots from the implementation results. Scheduling Report tor The Project of Alberta Creek Railway Bridge I. i t e unwuwu 4KM ; £ *Aei*rs a day. O i t fe £ t *s ^« tIaaEfe holiday s r t t i n t o t i m v i M using default X Jktre erf ,4 tritted nm losi>. 2 Tr.e dx* tfeampUnoo: KtmOO} (XXMO 4 if. Fig 9-4: Project Schedule Report Summary Page -110-Chapter 9: Web Site Design and System Evaluation %Scha4nUP«^ii • Mkircwft internet &$kn TM t>*. aw ******* ?»*\ «*|» t w Protect Scheduling Report ~ & 4 •* Tuk iftttS £ Kg >r Aa&H H A M 11;'**'BJ IVtVtl O W N i *.i?S .»> IS«W m i i i l t«»/»» MMVM sit. OSS m%tn .M :sco: J .« tyewn NNM1 3 . if TStC'l •tftN MMM CMtWAi 5 I M M w»x It* • .tt I3K* xm e I K S . 2*2> U M i HtWN «M>fiil!| ntK M MtNMJ 1 5 M ::»•» t.n IMWI ,«,' 'ft? M *i . r, vsm 2* ( S. .! ill - t»> L 17 mm UVWN awa 6 1 .» mm L e 1 ..-: mm Ihnid »4i*'factim, X liaises": S.U :v;«.'s: mfontn I'./OT/CI 0 n . « .Vt nm S.IJ MMMB M M > I M ] !1. S?5 tso:i M W MM) 1 5 .» MNtftS 1 i .» • «* » . *tf St Fig 9-5: Detailed Project Schedule Report 0- »'<uiT«St C>«Etp«1 Cosr Esf/matton Report tar The PfOj&ct of Alberta Creek Railway Bridge TUIAL DIKEiT <XXT TOTAL INDIRECT COST TOTAT, PRfKlif (T COST 10'. »f D 2<8 600fAm 335.555CAU* 700.722 C A W TQ.072CAI* Project Cost Composition tv • . pWUM • f c — Fig 9-6: Project Cost Report Summary i i i Chapter 9: Web Site Design and System Evaluation 1 $ V . ' t r M t C M t t M j#.M«iHKvO*n»<«H>it \m>m , 4E» A P R O J E C T C O S T R E P O R T T»«UI> T»A K w 0H.UHWV 1*H« M M O <.'».« (Si ('<•« ft) TS031 GnmiL ttu ssaS - - m 3 80 13.035 15,(40 34,3<i2 TSW2 Rsj^rfsraauWtsMtnuk 1370 « 3 1 » M M 2.X2 2.<37 «•..?» T503S fi«£d ^ fesa^. S jfosaiitst id ss3 l » O 3JS26 1.300 5.42 J TSQ04 B«WaB<»f«!iieS«t«a»5«! 2* sd 514 23! 17.772 $.540 2J..594 T $ W 15«M nW, S.aHsaoa «nl i» i 3i> 2,711 *<4W 4,155 S3J36 Tr-Jjt t«sS ttiturtfk, * * » « tot 2» SIS 2S3 S7.M7 2,tO0 21,834 T$W7» Fate Mattttt jumji^  »loi«t«t Hal «3 n3 St 5S3 tm 4.515 t.m T309I CilKg. S :htama w ill I Item in I . M 2 2.229 T&>35 &Ap$m$6te&M$. S i^matttt a«a MO i i i 4 17 7.00I 4.133 m 12,227; WW* M«h*»ol 10 KS3 1.** 85 3.12* 143! ISO11 £ f i v 3 man k-rj^. ll.&tttotte ii n3 514 231 17,772 5.5S0 2 « M T.30I2 ?.»« frtw. J 4 « w m »«0 s i its *.!« «.15l 3.950 i*m "ISO! J ta=3 fcraniretk, K I M M M SKII 2»C s» 268 I7J67 23J34 4! » 3 55 m 1,7*7 4.305 *,570 TS015 Oare«,M.»taE«w«r»t 1 tem 1,501 1.059 2 2J4S 2 » £Ek2 4 17 4Mn 385 U380 J: t » 2.3* UM 40 4.322 TS018 lMa8ia&5HM ,CMtr M J»2 2 35 9? 5.739 )-2«> 7.995 Fig 9-7: Detailed Project Cost Report B WefcfittTri.1. • feticrcsofj i-rtern«i ;j^ i<>re£ " O i l i r-1 Tttk Nam* Equlpm«nt Labor 0 » em mt [ !?' " ' — — ™ ~ " ~ — - • a E4« S Fig 9-8: Project Monthly Implementation v2 4V1--Chapter 9: Web Site Design and System Evaluation tM :••'-> *-ma&m t 1 ©•*» • t> 8 i J $* «jV *% your Eveetrtton Results- tm This P»tt Mon:n iMDshmi oo«t this rocati i x u e c t a d -,t -It1, c n p. -u«ct O f wtina) p r t y n c l d u r a t i o n Progress Report tor This Past Month 2.m.n i TTS,TM.TS J 7T3.4JS.TI $ 1 days SS day« M days 0~ 'Pr«eij»*t Mf* t t 0- - Ec<c«»iS Report e&s*&ili*4t Xt9«ct I/ttMft J)l!K.H:)Mlt H<—inn w « «S»«tXI tmumtSmntmil >at«93 MMM M M K U U t, ( J O J . l I . H B ( M i X K a n Kw*Cltu«»t > . , . . start. & * - . S 2 -,' c r, C x a •£ a Fig 9 -9 : Project Monthly Implementation Results Although a full working prototype of the system was developed, it would require significant programming effort to develop a version of the systems that was fully functional, and this was considered to be beyond the scope of this thesis. Full-scale testing of the system, therefore, was not carried out. However, demonstrations were given on a number of occasions to the graduate students and faculty members through presentation, evaluation meeting and individual occasions. Responses were positive and encouraging, with feedback indicating that the system was generally useful and well-designed, with some suggestions and improvements. The following list summarizes the comments and suggestions collected from this feedback: • This version of SimSite represents a new computer model for the integration of CAI into regular construction education, greatly benefiting students. • The development environment is rated as "quite appropriate". The .NET technology simplified the development process of web applications compared with the previous technologies such as WinDNA or Java Web programming. • The GUI design could be improved with Macromedia Flash. • Procedures for project planning and scheduling are modularized within the system, but further efforts are necessary to improve the friendliness of the system. For example, the help contents should be organized based on the same procedures and -113-Chapter 9: Web Site Design and System Evaluation have better access from each module. Special work calendars for some activities are not considered, such as curing of concrete. • A developers mode should be added to allow addition and modification of model projects. This could greatly improve the usefulness of the program. -114-Chapter 10: Conclusion and Recommendations for Future Work Chapter 10: Conclusion and Recommendations for Future Work 10.1 CONCLUSION Based on SimSite 1.0b, this research project proposed the idea of hosting an online virtual project in a gaming format for construction learning and education. The research established a framework for analysis and design of a project simulation system based on .NET technology. The research addresses the following issues in system design: Research Issues: • Design generic functional requirements for a web-based project simulation system. • Build mathematical models and logical models for construction projects, with abstracted data and knowledge. • Modularized simulation for project planning and implementation. Development Issues: • Design an extensible, distributed, three-tier web application on a .NET platform; including ASP .NET web page design, A D O .NET data access technology, business class design, etc. • Design a project database in Microsoft SQL server and integrate this into the web application • Carry out object-oriented analysis and design using U M L , including middle layer business classes that capture construction semantics. • Design a web site as the front-end of a web-based gaming application • Consider security issues for web applications in an open environment. As a pilot project, SimSite .NET was not designed to be all-inclusive, but the infrastructure of the project is highly extensible for easy expansion and upgrading in the future. A n online virtual project used for C M learning and education purposes can effectively supplement traditional courses in C M instruction. Through the game play, the users can not only enhance the project management ideas, philosophies and tools learned in traditional courses, but also integrate the knowledge from different courses targeting different aspects of a project. The system also helps students become familiar with the constant decision making process involved in dealing with uncertainties and risks encountered in a real world project. The transition period of a student from graduation to becoming an experienced construction engineer can therefore be shortened. -115-Chapter 10: Conclusion and Recommendations for Future Work 10.2 CONTRIBUTIONS This research project contributes to the CAI domain in the context of the original SimSite 1.0(b) game, they involve the re-modeling the project in SimSite version 1.0b, as well as building the application into a web application on .NET platform. In a nutshell, these contributions include: • This research proposed a feasible method of hosting an interactive virtual project online for learning and education purposes. • It modularized and extended the functionality of SimSite version 1.0b by re-modeling the sample project. • SimSite version 1.0b confronts the user with a scenario of preparing a bid proposal, learning how to plan and schedule a construction project. This research further modularized the functionality of the application. The procedures of preparing a bid proposal are broken down into a number of steps in accordance with the practice of real projects and are developed into modularized lessons. • PCBS, Selection of construction methods, WBS are explicitly modeled and added to the system , while Definition of network logic, Resource assignment are remodeled and enhanced in the system • The monthly play phase is also added to the system so that the users can have an experience of "running" a project. • The new productivity model is proposed in the system to reflect the relationship between productivity and resource assignment as well as resource constraints. • The weather effects are modeled in the system to generate impacts on productivity. • The decision model for project implementation includes resource adjustment and overtime assignment for activity. The latter is modeled in the system by deducting extra working hours from the activity duration with constraints applied (for example, some activities can not have overtime more than 50% of its duration). • The research created a framework for online virtual project development. > The research project established a framework for analyzing and designing the proposed virtual project on the WWW. > As a pilot research project in the area, the project explored and established the process of system modeling, three-tier application design, object-oriented analysis & design, .NET web application design and deployment, etc. • Successful application of new software development technology for the construction industry -116-Chapter 10: Conclusion and Recommendations for Future Work > E-commerce developments on the W W W has provided a new platform for commercial communications and transactions. A huge amount of world-wide investment has gone into the renovation and development of e-commerce technology, and these cutting-edge technologies are equally applicable to software development for the C M industry, which shares many similarities with general commercial industries. > The .NET framework, Crystal reports, ASP .NET, and A D O .NET were all driven by and developed for e-commerce; however, they can be used for the development of construction management applications such as the online virtual project demonstrated through the research. SimSite .NET can be used for civil engineering undergraduate courses as a supplement. By playing the game, the students will enhance the concepts, skills and methodology learned in the lecture, and more importantly, integrates the knowledge learned from different courses. 10.3 RECOMMENDATIONS FOR FUTURE W O R K Even though the plan proposed for the research project at the beginning was realized, this project is far from a perfect finalized product. The project covers the entire time span of a construction project; however, this one-year research project could not address all C M issues. The embedded system functions, and their design, have many opportunities for improvement. More functions are need and each function may develop into another research project, giving in-depth and detailed simulation and design. The following high-level functional expansions are recommended for future work: • D E V E L O P E R ' S M O D E > Addition of a developer's mode. SimSite version 1.0b has two modes: user mode, and developer mode. The latter mode allows the addition of more projects of different types and modification of system parameters. SimSite .NET does not include this mode. • P R O J E C T D O C U M E N T R E V I E W & R E F E R E N C E L I B R A R Y > Optimization of the static part of the web site. This part was not the focus of this research project, but it is an important resource for users to prepare for game play. > More multi-media contents can be added to the reference library showing equipment operation, manual operation, or combined operation for activities. • C O N S T R U C T I O N P L A N N I N G & S C H E D U L I N G -117-Chapter 10: Conclusion and Recommendations for Future Work > The Work Breakdown Structure can be organized into hierarchical structures and the hierarchical scheduling at different levels is enabled. > The available labor and equipment resources need to be expanded. As in a real project, there are many choices of labor with different skill levels and pay rates and equipment with different performance and daily rent. The technical suitability of the equipment can also be simulated by allowing users to select from similar equipment with different make, model, productivity, and cost. > The management staff can be added to allow for analysis and change in period play. This would allow the user to develop a better understanding of this cost item and management task, adjusting or recalling the management staff at different stages of the construction process. > The overhead cost can be further broken down into detailed items to deliver more information to the end-user. > Special work calendar for some activities can be added, for example, the curing of concrete uses 24 hours calendar rather than 8 working hours. • CONSTRUCTION MONITORING& CONTROL > Other uncertainty factors, beside weather and the economy, can also be considered in the system. For instance, material delivery delays, quality defects-induced delays, etc. > A productivity drop due to prolonged overtime work could be incorporated into the system. > The flexibility of the time scale could be increased, so that small projects can be manipulated on a weekly or daily basis. • SYSTEM TESTING • Extensive testing on the system in its current state is required, so that the system can be improved by incorporating the feedback. -118-Chapter 10: Conclusion and Recommendations for Future Work > The Work Breakdown Structure can be organized into hierarchical structures and the hierarchical scheduling at different levels is enabled. > The available labor and equipment resources need to be expanded. As in a real project, there are many choices of labor with different skill levels and pay rates and equipment with different performance and daily rent. The technical suitability of the equipment can also be simulated by allowing users to select from similar equipment with different make, model, productivity, and cost. > The management staff can be added to allow for analysis and change in period play. This would allow the user to develop a better understanding of this cost item and management task, adjusting or recalling the management staff at different stages of the construction process. > The overhead cost can be further broken down into detailed items to deliver more information to the end-user. > Special work calendar for some activities can be added, for example, the curing of concrete uses 24 hours calendar rather than 8 working hours. • CONSTRUCTION M O N I T O R I N G & C O N T R O L > Other uncertainty factors, beside weather and the economy, can also be considered in the system. For instance, material delivery delays, quality defects-induced delays, etc. > A productivity drop due to prolonged overtime work could be incorporated into the system. > The flexibility of the time scale could be increased, so that small projects can be manipulated on a weekly or daily basis. • S Y S T E M TESTING > Extensive testing on the system in its current state is required, so that the system can be improved by incorporating the feedback. -118-Bib l iography [Froese, 1] [Shannon, 2] [Halpin, 3] [Sawhey, 4] [AbouRizk, 5] [Gorostiza, 6] '[Nassar, 7] [R.S. means, 8] [Microsoft, 9] [Eyjen, 10] [Microsoft, 11] [Joubert, 12] [Petrousos, 13] Thomas Froese, Sundar Prasad, Jeff Friesen, Dan Zollman. "Computer-Assisted Instruction in Civi l Engineering", Computing in Civi l Engineering: proceedings of the First Congress, Khalil Khozeimeh, E d . , ASCE, Washington DC, June 20-22 (1994) Robert E. Shannon "System Simulation- the art and science", Prentice-Hall Inc. pp 2-5 (1975) D.W. Halpin and R.W. Woodhead, "CONSTRUCTO - a Heuristic Game for Construction Management", University of Illinois Press (1973) Anil Sawhney etc, "Internet-based Interactive Construction Management Learning System", Journal of Construction Education, Fall 2001, Vol 6. No.3 pp. 124-138 S.M. AbouRizk, "Superbid Game", http://cem.civil.ualberta.ca/ researcli/misc%20Software/Superbid-game-summary.html C. Zozaga-Gorostiza etc, "Knowledge-Based Process Planning for Construction and Manufacturing", Academic Press Inc. (1989) K. Nassar, "Managing Construction Equipment Buy and Sell Decisions Replacement: a Simulation Game", A S C Proceedings of the 37 t h Annual Conference, University of Denver, April 4-7, 2001 ppl87-198 R.S. means, "Heavy Construction Cost Data", 12 t h Annual Edition, RS Means Company, Inc. (1998) Microsoft, "Microsoft .NET SDK Documentation", overview, (2001) B i l l Evjen, "Visual Basic .NET Bible", Hungary Minds. pp7 (2002) Microsoft, "Visual Studio .NET 2002 documentation", Visual Basic and Visual C#, (2001) Terrence J. Joubert, " A D O .NET Programming", Chapter 2: Interacting with databases,, Wordware Publishing (2003) Evangelos Petrousos and Asl i Bilgin, "Mastering Visual Basic .NET Database Programming", Chapter 1: Database access: architectures and technologies, Sybex, pi2-45, (2002) -119-[McAmis, 14] David McAmis, "Professional Crystal Reports with Visual Studio .NET", Chapter 1: Overview, Wrox Press, (2002) [Lefebrre, 15] Jason Lefebrre, "Sams Teach Yourself A D O .NET in 24 Hours", Pearson Education, pp 9, (2002) [Schmuller, 16] Joseph Schmuller, "Sams Teach Yourself U M L in 24 Hours", second edition, Pearson Education, (2002) [Conallen, 17] Jim Conallen, "Building Web Applications with U M L " , Addison-Wesley, (1999) [Hinze, 18] Jimmie Hinze, "Construction planning and scheduling", Book News Inc. (1998) [Knuth, 19] Knuth, D.E., "The art of computer programming", vol 2: Seminumerical Algorithms. Reading, Mass.: Addison-Wesley publishing Co (1969) [Wales, 20] R.J. Wales, S.M. AbouRizk "An integrated simulation model for construction", Simulation Practice and Theory 3, 401-420 (1996) [Dubrovsky, 21] Martin Dubrovsky, "Validation of the stochastic weather generator Met & Roll", Institute of Atmospheric Physics, Husova 456, 50008 Hradec Kralove, Czech Republic [Cheng, 22] Cheng, R.C.H. "The generation of gamma variables with non-integral shape parameter", Applied statistics, Vo l 26, pp. 71-75 -120-

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0063491/manifest

Comment

Related Items