Software Design: An Overview
by rowanschaaf | Jan 13, 2023 | Rowan Schaaf, TechnologySoftware 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
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 di erent parts interact. The design of a userfacing button might include speci c 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 a ect its design, which will a ect its physical structure. However, there are a few fundamental di erences 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 Bene ts of Investing in Business Technology Software Based Blogging Tools
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