Software Applications

Learning Objectives

  • Identify the primary categories of software used in civil engineering and their purposes.
  • Build and review formula-driven spreadsheet calculations, including units and assumptions.
  • Recognize numerical-computing and simulation uses of MATLAB and Simulink.
  • Distinguish drawing geometry from structured BIM information and coordination workflows.
  • Compare plan-driven and iterative software-development approaches and recurring test activities.
  • Explain Git repositories, commits, branches, and merges.

Engineering software can support calculation, data analysis, numerical modeling, design, coordination, and project delivery. A tool's output depends on its inputs, model assumptions, version, and intended use.

Engineering Software

Engineering software refers to digital tools used to support tasks such as calculation, analysis, modeling, drafting, coordination, estimation, and project management. Software can help organize and compute work; its output still needs review against the task, data, assumptions, and applicable requirements.

1. Spreadsheets (Excel) for Engineering Calculations

Spreadsheets such as Microsoft Excel are widely used for tabular data, formulas, summaries, and what-if calculations. They are flexible tools, but an organized-looking worksheet does not establish that its inputs, formulas, units, or assumptions are correct.

Interactive Simulation

The selector below gives three general examples of application software: a word processor, a spreadsheet, and a web browser. It is not a complete catalog of engineering software.

Software Categories

Word Processor - Application Software

Word Processor

Used for creating, editing, formatting, and printing text documents.

The spreadsheet simulator demonstrates how cell references recalculate a formula when an input changes. Its expression is a simple arithmetic example only.

Spreadsheet Logic Simulator

fx=B2 * B3
A
B
1
Parameter
Value
2
Concrete Strength (MPa)
3
Reduction Factor ($\beta$)
4
Design Strength
42.50

Try modifying the values in B2 or B3. The cell B4 automatically updates based on the formula `=B2 * B3`. This reactive calculation engine is why spreadsheets are essential for engineering design trials.

Spreadsheet simulation scope

The displayed B4 = B2 × B3 calculation is not a concrete design equation. The editable 0.85 value is a sample factor, not a universally prescribed structural reduction factor or code check.

VBA (Visual Basic for Applications)

Visual Basic for Applications (VBA) is a Microsoft programming environment used to automate tasks and write macros in supported Office applications such as Excel, Word, and Access. Platform-specific calls, including Windows API calls, require additional care and are not portable by default.

Why Excel is Essential

  • Data analysis and visualization: Organizing and summarizing tabular measurements, applying suitable statistical functions, and making charts such as a soil gradation curve.
  • Formulas and functions: Recalculating values from referenced inputs can reduce repeated arithmetic, provided the formula, units, sources, and assumptions are reviewed.
  • Goal Seek and Solver: Goal Seek changes one input to find a target formula result; Solver can optimize a formula cell by adjusting selected cells under constraints. These tools solve the worksheet model as entered, so a result still needs engineering review. Microsoft, What-If Analysis; Microsoft, Solver.
  • VBA: Automating repeatable multi-step tasks and creating macros or custom functions in supported Office applications.

1.1 Civil Engineering Specific Uses in Excel

Common Civil Engineering Tasks in Excel

  1. Quantity Takeoff & Cost Estimation: Estimating the exact volume of concrete, rebar, or asphalt needed based on design dimensions, and computing the total material cost by multiplying by dynamic unit prices.
  2. Surveying Computations: Calculating coordinates from traversing data, determining closing errors, and automatically adjusting traverses using the Compass/Bowditch rule.
  3. Hydrological Routing: Utilizing tabular formats to execute Muskingum routing or reservoir routing over discrete time steps to predict flood peaks.
  4. Structural Analysis: Automating simple beam analysis (shear and moment calculations) across varying spans and load combinations.
Trace spreadsheet inputs through a formula and review the result

The worksheet example uses V = nLWH = 4 × 2.5 m × 0.40 m × 0.60 m = 2.40 m³. The calculation is illustrative; the review prompts show why output values need traceable inputs, consistent units, assumptions, and an independent check.

An illustrative quantity calculation multiplies four items by length, width, and depth to get 2.40 cubic metres; checks call out units, input source, and an independent recalculation.

2. Numerical Computing: MATLAB

MATLAB is a programming language and interactive environment used for numerical computing, algorithm development, and data visualization.

Key Features of MATLAB

  • Array and matrix operations: MATLAB provides matrix and element-wise array operations. Vectorized expressions can make suitable calculations clearer or faster, but for loops remain available and appropriate when they fit the algorithm. Operator choice and array dimensions matter. MathWorks, Vectorization.
  • Toolboxes: Optional collections of functions and apps support specialized tasks such as curve fitting, signal processing, and optimization; availability depends on the product and license.
  • Simulink: A block-diagram environment for modeling and simulating dynamic systems, including multidomain systems. It is integrated with MATLAB, with product availability depending on licensing. MathWorks, Simulink.

2.1 Civil Engineering Applications in MATLAB

Advanced Analytical Use Cases

  • Structural dynamics: Developing or examining numerical models of structural response to time-varying loads. Model assumptions, discretization, input records, and numerical implementation affect results.
  • Finite element methods: Implementing or studying finite element calculations, processing results, or testing algorithms. A custom script is not automatically more transparent or reliable than a commercial solver; both require suitable verification and review.
  • Hydraulic and environmental modeling: Implementing numerical methods or analyzing model data for problems such as groundwater flow or contaminant transport. Suitability depends on the governing equations, boundary conditions, and validation evidence.

3. Design, Modeling, and Analysis Software

Teams select tools for specific deliverables such as drawings, information models, structural or hydraulic analysis, and project schedules. Product capabilities, supported exchanges, versions, licensing, and project requirements vary.

CAD (Computer-Aided Design)

Computer-aided design (CAD) tools create or edit precise 2D drawings and 3D geometry. Some tools also attach data to model objects; the capabilities depend on the application and workflow.

BIM (Building Information Modeling)

Building Information Modeling (BIM) is a way to create and manage structured information about a built asset across project stages. Information can include geometry and non-geometric properties associated with elements. Project information may be shared across separate discipline models and coordinated or federated; BIM does not require one unified model or a particular vendor's software.

Drafting, Design, and BIM

  • Autodesk AutoCAD and Civil 3D: Examples of CAD and civil-design products. Civil 3D includes survey-data and corridor-model workflows; capabilities vary by product, version, configuration, and project needs. Autodesk, Survey Data; Autodesk, Corridor Modeling.
  • Autodesk Revit: An example of software used to author building information models. Project teams may coordinate multiple shared models and review potential clashes; detection results depend on the selected models and supported workflow and require human review. Autodesk, Model Coordination.
CAD geometry and BIM information answer different questions

CAD focuses on creating or editing drawing geometry. BIM organizes geometry and structured information around asset elements; teams can coordinate information from separate models. Clash detection highlights candidates for review and does not guarantee a correct or clash-free design.

A CAD drawing shows precise lines, arcs, and dimensions; a BIM model element also links geometry to properties and relationships, while coordinated models can be checked for potential clashes.

Structural Analysis and Project Management

  • STAAD.Pro, ETABS, and SAP2000: Examples of structural-analysis software. Available elements, methods, design modules, and code editions depend on the product and version; users need to check a program's capabilities and assumptions for the analysis at hand.
  • HEC-RAS: A U.S. Army Corps of Engineers application used for hydraulic modeling, including water-surface profiles in open-channel systems.
  • Primavera P6 and Microsoft Project: Examples of project-management applications for schedules and related planning tasks; project teams define how those outputs support their work.

Review software outputs

A software result does not establish that the selected method, model, input data, boundary conditions, or code provisions are appropriate. The National Steel Bridge Alliance advises users to verify a program's capabilities, assumptions, and calculation correctness before relying on its output. NSBA, Guide to Navigating Routine Steel Bridge Design.

4. Software Development Life Cycle (SDLC) & Version Control

A software lifecycle helps a team organize requirements, design, implementation, verification, delivery, and maintenance. Activities may repeat or overlap, depending on the process and the project's risks and constraints.

SDLC

The Software Development Life Cycle (SDLC) is a way to organize work across the life of a software system, from defining needs through development, verification, delivery, and support. Phase names and sequencing vary by lifecycle model; using a process does not itself guarantee software quality.

SDLC Methodologies and Testing

  • Common activities: Understand needs, design a solution, implement it, verify behavior, deliver it, and maintain it. These activities are useful categories, not a universal sequence that every team follows once.
  • SDLC Models:
    • Sequential or Waterfall-style plan: Work is organized into ordered stages with planned reviews. Teams can revisit an earlier stage; changes discovered late may require more rework. A staged plan can suit work with stable requirements or formal review points, but it is not a guarantee that the phases are error-free.
    • Agile methods: Work is delivered in smaller increments, with feedback and adjustments recurring during development. The Agile Manifesto values early, frequent delivery and responding to change; particular practices such as fixed-length sprints belong to specific methods or frameworks, not every Agile team. Agile Manifesto principles.
  • Testing scopes: Unit tests examine small units of behavior, integration tests examine interactions between parts, and end-to-end tests exercise a broader user-visible path. Teams can repeat these checks throughout development; testing is not limited to one final lifecycle phase.

4.1 Version Control (Git)

Version control records intentional snapshots and their history so a team can review changes and coordinate work. It does not automatically include uncommitted edits or replace a separate backup plan.

Git Basics

  • Repository: A Git database containing committed project snapshots and history. A clone has its own repository; teams can exchange work through one or more remote repositories.
  • Commit: A recorded snapshot of staged content with metadata and links to parent commits. Changes must be staged and committed before they enter recorded history.
  • Branch: A lightweight movable reference to a commit. A branch names a line of history; it is not a separate full repository copy.
  • Merge: A way to join histories from branches. Git can report conflicts that require people to choose or combine changes before the merge is completed.
  • Working tree and staging area: Edits in the working tree are not part of a commit until selected for the staging area and committed.
Commits record snapshots; branches point to history

Each commit records a snapshot and its parent relationship. A branch name is a movable pointer to a commit; merging records a commit with both histories as parents. Git records only committed, staged content.

Two commits on the main branch lead to a feature branch with two commits; a merge commit joins the main and feature histories, while the feature pointer stays at its last commit.
Key Takeaways
  • Spreadsheets and numerical-computing tools can help organize data and automate calculations; trace inputs, formulas, units, and assumptions.
  • Goal Seek handles a single adjustable input, while Solver can vary selected cells under constraints; neither validates the engineering model.
  • MATLAB supports matrix and element-wise array operations; Simulink adds a block-diagram environment for dynamic-system models.
  • CAD centers on drawing geometry; BIM organizes structured information around built-asset elements and project relationships.
  • Software products can flag calculation, model, or coordination issues, but results depend on supported features, input quality, assumptions, and review.
  • Lifecycle activities may be staged or repeated; Agile methods emphasize frequent delivery and response to feedback.
  • Unit, integration, and end-to-end tests examine different scopes and can recur during development.
  • Git commits record staged snapshots, branches point to commits, and merges join histories; uncommitted work is outside recorded history.