【问题标题】:Architecture objective架构目标
【发布时间】:2014-09-15 13:10:09
【问题描述】:

我开始了解一种定义软件应用程序架构的迭代技术,它有以下五个步骤

  1. 确定架构目标
  2. 确定关键场景
  3. 创建应用程序概览
  4. 确定关键问题
  5. 定义候选解决方案

我对第一步感到困惑。这里的架构目标是什么。如何确定?

是类似于“定义高级结构并分解复杂性”还是类似于“创建原型架构和测试潜在解决方案”。

对不起,如果这个问题没有意义。我是这个领域的新手。

【问题讨论】:

  • 您的应用程序应该做什么?解决方案与哪个领域相关?
  • 这将是一个网络应用程序,允许用户访问媒体内容,如视频教程等。
  • 听起来你的架构目标是一个允许用户访问视频教程等媒体内容的网络应用程序

标签: architecture


【解决方案1】:

架构的目标是解决利益相关者的担忧。

换句话说:您的架构旨在“解决”某种问题,例如资源合理化、构建新功能等。这些问题是您的利益相关者所关心的。

请注意,利益相关者的概念并不一定意味着 CTO/CEO 或其他一些高层职位。它与谁影响或受您的项目影响有关。

如果您正在设计进入办公楼厕所的生物识别通道,那么大楼员工和看门人也将是您的利益相关者

【讨论】:

    【解决方案2】:

    架构目标是设计一个能够满足问题的功能需求和利益相关者的非功能目标的计算机系统。

    通常对功能要求几乎没有混淆,因为我们知道我们正在开发一个计算机系统并且它必须做某些事情。该体系结构提供了对象或程序可以在其中产生该功能的结构。

    但非功能性目标不太明确。这些通常包括可用性、可修改性、性能、可测试性、可用性、安全性和可扩展性。不同的利益相关者对每一个都有不同的优先级。以及非功能性品质相互竞争 - 增加一个通常会减少另一个。架构师的工作是确定其中哪些更重要,然后设计一种架构,以提供所需的非功能特性组合。

    【讨论】:

      【解决方案3】:

      问题在于选择架构,而不是为利益相关者解决特定问题。迭代技术是为您可能遇到的开发问题类型选择最合适的基本设置的指南。

      您要选择的架构的目标是“我对它有什么期望?”或“我想通过选择架构来实现什么?”。

      示例: 考虑到他们的背景和兴趣,它应该非常适合在这里工作的人。 它应该来自可能会继续营业一段时间的供应商,因此我们可以期待持续的支持和更新。 它应该被其他商店广泛使用,所以如果有任何问题,我们不会孤单,也不会很难找到熟悉它的人。 许可应该很便宜。 它应该适用于 Windows,因为这是我们的客户所使用的。

      在相关的注释中:我听过的软件架构的最佳定义是“以后更改的所有东西都非常昂贵”。这意味着每个人都不尽相同,一个人的建筑可能是另一个人的设计,反之亦然。这取决于您的核心业务。如果它是“你被困住”的东西,或者你迄今为止所投资的一切都与它相关,那就是架构。

      【讨论】:

        猜你喜欢
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-11
        • 1970-01-01
        • 2013-10-18
        相关资源
        最近更新 更多