赞
踩
软件设计和软件架构是软件开发生命周期中最重要的两个阶段。两者有时听起来很令人困惑,现在很多的软件开发者仍然对于软件设计和软件架构之间的差异化,以及他们各自在软件开发过程中承担的角色和任务感到困惑,那么这篇文章我们来看看二者有什么区别?
ok,直接来正题,让我们清楚地理解它们的区别。
Topic | 软件架构 | 软件设计 |
这是 | 我们正在构建“什么” | 我们“如何”构建 |
定义 | 软件架构是指软件系统的基本结构以及创建此类结构和系统的学科。每个结构都包含软件元素、它们之间的关系以及元素和关系的属性。 | 软件设计是定义软件方法、功能、对象以及代码的整体结构和交互的过程,以便最终的功能能够满足用户的需求。 |
等级 | 结构 – 专注于可由多种设计使用的抽象 | 实施——计划实施架构 |
例子 | 建筑物的结构包括房间结构、楼梯、水、供暖、通风等基本服务。 | 建筑物的设计包括室内设计、地板、室内材料、装饰、家具和附加服务等。 |
识别 | 需要包含在软件中的组件和元素。 | 它重点关注如何构建软件。 |
是关于 | 软件架构是关于软件的整体结构以及各种软件组件所处的位置。这是关于我们想做的事情。 | 软件设计是关于单个软件组件和模块的。这是关于我们想要如何实现这一目标。 |
特征 | 整体系统设置 - 包括要构建的软件的结构 基本元素 - 核心功能和核心元素 高层结构 - 描述可用性、规模、性能、可靠性、容错、监控、维护等。 正在构建的内容– 满足股东的需求和要求 | 正确性 – 根据软件要求 效率 – 根据消费者期望高效且有用 不稳定 – 易于理解且易于沟通 可维护性 – 易于维护 |
文物 | 文档、图表、图表或任何其他有助于堆栈持有者沟通的内容。 | 设计规范文档、流程图、图表、已知限制、设计模型、线框图、UML 图等。 |
图案 | 无服务器架构、事件驱动架构、微服务架构、SOA、MVC、三层等。 | GOF(四人组)模式,SOLID 原则, |
软件设计和软件架构有几个共同点。这就是这两个术语非常令人困惑的地方。这是软件开发过程中的两个独立阶段,通常会重叠。
因此软件架构和设计既要保持各自的完整性,同时又是相互之间依赖的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。