我正在研究软件架构,但我有一些疑问。例如,如果您没有开发应用程序的经验,那么如何为应用程序构建有用的体系结构呢?
例如,如果我们已经有了像电子商务应用程序这样的web应用程序的需求阶段,那么我们就有了这样的用例:购买产品、创建新产品、登录等等,其结构类似于下面的用例,用于创建新产品。
在构建系统之前,我们如何从这些需求用例中构建/描述一个有用的体系结构--如果您只知道您将使用一个像codeigniter这样的框架,但是您只知道如何做基本的事情,而从未创建过一个完整的应用程序?也就是说,如果您从未构建完整的应用程序,因此您不太清楚如何构建应用程序,那么我们如何在实现之前构建/描述该体系结构,那么如何为系统构建/描述有用的软件架构呢?
用例示例:

发布于 2017-10-12 12:56:07
软件体系结构作为一种实践,实际上是关于传递系统的约束和质量属性的艺术。用例帮助您发现您所构建的系统的功能需求,但是体系结构帮助您发现系统的设计细节和定性的非功能性需求。
但是,架构的目标是帮助系统的通信,如果您要亲自实现这个软件,那么可以帮助他人甚至是您自己。如果由于缺乏经验或其他原因,您无法意识到必须构建的是什么,那么您是正确的--您还没有足够的信息来形式化地围绕软件体系结构编写文档。
没有软件工程师知道它的一切,但是通常当我遇到这种情况时,我所做的就是开始在系统的各种技术细节上实现一个概念的证明,直到我对我想要构建的产品有一个清晰的理解。POC可以有许多不同的类型和复杂性。有些产品本身接近产品,而另一些则专注于您可能不太熟悉的框架或对您来说是新的供应商产品。您可以继续研究POC,直到您认为您对系统的体系结构有了牢固的掌握为止。
https://softwareengineering.stackexchange.com/questions/359028
复制相似问题