Software prototyping

From CEED Wiki
Jump to navigation Jump to search

Many of us (TAs/PMs and students) struggle with the concept of testing software or just how to prototype software. It is less concrete than physical prototyping and is harder to wrap your head around. You might say that you can’t test or can’t prototype something because it is software...think again!

We’ll compare it to a typical mechanical design cycle (not considering client involvement):

Design step Mechanical Software
Conceptual designs Hand/computer drawn sketches Hand/computer drawn sketches
Preliminary design Rough CAD assemblies Wireframe designs/flowchart
Detailed design Fully defined CAD High fidelity mockup/Initial coded software
Simulation/testing CAD force/fluid simulations UX simulation
Prototype 1 Manufactured part(s) Functional coded software
Refined testing Testing under load against metrics Sub functions to test behavior of specific features against metrics

Here is a list of tools for software prototyping that could be useful:

In our GNG1103/2101 classes the cycle looks a little differently where you might have:

Design step Mechanical Software
Conceptual designs Hand drawn sketches Hand drawn sketches
Detailed design Detailed sketches of sub-assemblies with some analysis Wireframe designs/flowchart
Prototype 1 Cardboard prototype High fidelity mockup/Initial coded software
Simulation/testing Functional testing of prototype against metrics UX simulation against metrics
Prototype 2/3 Assembled and functional prototype Functional software


When working in a team you will definitely want to share your files to work on things together. In mechanical GrabCad Workbench is a popular tool but in software GitHub is definitely an industry standard.

Here is an introduction to GitHub