软件工程 |系统设计策略
一个好的系统设计是以易于开发和更改的方式组织程序模块。结构化设计技术帮助开发人员处理程序的大小和复杂性。分析师为开发人员创建关于如何编写代码以及如何组合代码以形成程序的说明。
重要性:
- 如果需要理解、组织和拼凑任何预先存在的代码。
- 项目团队必须编写一些代码并生成支持系统应用逻辑的原始程序是很常见的。
有许多用于执行系统设计的策略或技术。他们是:
- 自下而上的方法:
设计从最低级别的组件和子系统开始。通过使用这些组件,可以创建或组合下一个直接更高级别的组件和子系统。这个过程一直持续到所有的组件和子系统组成一个单独的组件,这被认为是一个完整的系统。随着设计向更高层次发展,抽象的数量会越来越高。通过使用现有系统的基本信息,当需要创建新系统时,自下而上的策略适合目的。
优点:
- 当通用解决方案可以重复使用时,就会产生经济效益。
- 它可用于隐藏实现的低级细节并与自顶向下技术合并。
缺点:
- 它与问题的结构没有那么密切的关系。
- 高质量的自下而上的解决方案很难构建。
- 它导致“潜在有用”功能的扩散,而不是最合适的功能。
- 自上而下的方法:
每个系统分为若干子系统和组件。每个子系统进一步分为一组子系统和组件。这种划分过程有助于形成系统层次结构。完整的软件系统被认为是一个单一的实体,根据特性,系统分为子系统和组件。对每个子系统进行同样的操作。这个过程一直持续到达到系统的最低级别。设计最初是通过将系统定义为一个整体来开始的,然后继续添加子系统和组件的定义。当所有的定义组合在一起时,它就变成了一个完整的系统。
对于需要从底层开发的软件解决方案,自顶向下的设计最适合。
优点:
- 自上而下方法的主要优点是它对需求的强烈关注有助于使设计根据其需求做出响应。
缺点:
- 项目和系统边界往往是面向应用程序规范的。因此,很可能会错过组件重用的优势。
- 该系统可能会错过结构良好、简单架构的好处。
- 混合设计:
它是自上而下和自下而上设计策略的结合。在这种情况下,我们可以重用模块。