Software Design: An Overview | Rowan Schaaf

Page 1

Software Design: An Overview

Software design introduces us to computer programming, presenting concepts that apply to any software. This article will cover a few fundamental principles- what they mean, why they’re essential, and how you can apply them in your work.

Software design has three primary components: functional requirements, logical design, and physical design. To understand these components—and how their goals and approaches interact—it’s helpful to think about each as separate but overlapping spheres.

The function of software design is to connect the conceptual world with the physical world. If you’re building a new piece of furniture or a new car, you start with an idea in your head and then transform it into something real-world users can touch and see. Likewise, if you’re writing software, your conceptual model is code that runs on a machine; for most practical purposes, it doesn’t matter whether that machine is a massive supercomputer or something like your cell phone.

We can divide these functions into three broad categories:

Functional requirements describe the functionality of your software. For example, the purpose of a button on a piece of furniture might be to open a door, while that of an exit

1/13/23, 11:36 AM Software Design: An Overview | Rowan Schaaf | Technology https://rowanschaaf.org/software-design-an-overview/ 1/3
a

function in a C++ parser would be to break out of the parser. Any software project’s functional requirements will change as priorities shift, and new ideas arise.

The design describes the characteristics of your software that relate to the product you’re building. The design of a door might include a handle mechanism, hinges, and latches, while that of a parser might consist of “invert” expressions or assignment support. The logical design describes both the decisions made about how the program should work and internal details about how the program’s dierent parts interact. The design of a userfacing button might include specic labels. In contrast, the logical design of a parser function might include the exact steps needed to carry out its core functionality.

Physical design refers to everything that isn’t related to functionality or logic. To build software, you’ll need access to a computer and some programming languages.

All three of these ways of thinking about the purpose of software design overlap: for example, an application’s functional requirements will aect its design, which will aect its physical structure. However, there are a few fundamental dierences between them as well. The logical design describes what you’ll do and why and accomplish it that way.

Recent Posts

Software Design: An Overview Portable Apps that all Techs Need How Technology Has Changed Everyday Life

The Benets of Investing in Business Technology Software Based Blogging Tools

1/13/23, 11:36 AM Software Design: An Overview | Rowan Schaaf | Technology https://rowanschaaf.org/software-design-an-overview/ 2/3
Search

Links

Rowan Schaaf AngelList

Rowan Schaaf Behance

Rowan Schaaf Carrd

Rowan Schaaf Contently

Rowan Schaaf Elephant Journal

Rowan Schaaf Issuu

Rowan Schaaf Medium

Rowan Schaaf Muck Rack

   

© Rowan Schaaf 2023

1/13/23, 11:36 AM Software Design: An Overview | Rowan Schaaf | Technology https://rowanschaaf.org/software-design-an-overview/ 3/3

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.