Software Design vs Software Architecture
Software design provides everything that software developers need to know to produce consistent software that implements the required functionality. This includes specifications of services, components, integrations, data models and algorithms. Software architecture places big-picture constraints on the design to ensure that it aligns with the business and technology strategy of an organization. This includes considerations such as compliance, technology standards and operational efficiency. Architecture is intended to prevent designs from repeating known mistakes or being inconsistent with the rest of the organization. It could be said that architecture is global optimization of software and design is local optimization. Architecture is analogous to the structure of a building that provides constraints and basic services that are used by the interior designs on each floor.Software Design vs Software Architecture | ||
Software Design | Software Architecture | |
Definition | A plan that gives enough detail for developers to implement consistent software. | A plan that constrains software design to avoid known mistakes and achieve an organization's business and technology strategy. |
Level | Implementation | Structure |