概述
架构目标即是组成设计过程、确定使用范围并帮你确定什么时候该结束的因素。在设定架构目标的时候请考虑以下基本点:1、从一开始就要对架构目标有个清楚的认识。架构与设计的各个阶段所花费的时间将取决于这些目标。比如,你是在搭建一个原型?测试潜在的方式?还是准备为新应用创建一个长远的架构环境。2、了解架构的消费者。要确定架构是否会被其他设计师、开发人员、测试人员、业务人员或管理人员使用。确定架构受众的需求,以让架构更为成功、更有影响力。3、了解条件限制。了解技术限制、使用限制、和部署限制。从一开始就要了解这些限制,这样你才不会在将来遇到一些意想不到的麻烦。
关键场景包括使应用获得成功的最重要的场景,还有能突出架构特点的用例。重要的场景标准如下:1.这些场景是业务关键的,比其它功能具有更高的使用要求,或者具有很高的技术/工艺风险。2.关系到功能属性和质量属性两个方面,或者具有交叉性的影响。比如CRUD操作对安全性非常敏感。3.它们是最重要的场景,贯穿应用的各层(级),或者对应用整体都有重要的影响。架构突出的用例标准如下:1.这些用例对应用部署的成功和验收非常重要。2.能够对设计进行足够的检验。区别系统场景与用户场景的不同是很重要的。系统场景指主要对应用与设备的内部操作产生影响的场景。比如在各层间传递的信息、连接数据存储、执行验证等。用户场景指用户发起或受用户控制的场景。比如创建一个定单、浏览产品、或者更新客户记录。突出架构特点的用例举例:用在线商场的程序创建一个订单并接收定单被确认的信息。使用库存管理程序更新某个产品记录,并更新所有相关的记录(比如价格列表)。在CRM程序中搜索并显示某个客户的细节。
步骤3 对应用的了解。了解你的应用在完成的时候的大概情况。这将会使你的架构更实际,并与具体的条件限制和决定有更密切的联系。创建应用的大概视图应该包括以下步骤:1.决定应用的类型。首先决定所构建的应用的类型。它是一个移动应用、富客户端、服务、网络应用、还是组合应用?2.了解部署限制。然后,了解所部署的目标环境和它将对架构产生什么影响。3.确定重要的架构特点。确定你的架构将使用哪些类型。面向服务的架构?客户服务器?分层?消息总线或是某几种的组合?4.确定相关的技术。最后,根据应用类型和各种条件限制确定相关的技术。
范畴 | 注意事项 |
有效性 | 如何设计故障转移支持 |
如何设计一个备用站点 | |
怎样计划备份与恢复 | |
如何设计运行时的更新 | |
概念完整性 | 如何分离对外部的依赖性 |
如何整合旧技术 | |
如何在不打断客户的情况下发展系统 | |
灵活性 | 如何处理动态业务规则 |
如何处理动态UI | |
如何处理数据与逻辑过程中的变化 | |
如何处理业务需要的变化 | |
互操作性 | 如何让应用在独立发展的同时实现互操作 |
如何通过服务接口分离系统 | |
如何通过层的映射分离系统 | |
易维护性 | 如何减少层与组件之间的依赖性 |
如何实现一个插件式的架构 | |
如何选择合适的通信模型 | |
易管理性 | 如何了解主要的失败模式 |
如何对系统操作与健康状态进行监控 | |
如何根据负载对系统进行调整 | |
性能 | 如何确定缓存策略 |
如何设计层间的高性能通信 | |
如何设计高性能数据存取 | |
如何有效地管理资源 | |
可靠性 | 如何处理不可靠的外部系统 |
如何审查请求与任务 | |
如何对负载进行重定向 | |
如何处理失效的通信 | |
如何处理失效的操作 | |
如何处理异常 | |
重用性 | 如何减少层与组件之间的重复性 |
如何实现跨系统的共享 | |
如何实现组件和层之间的功能共享 | |
可扩展性 | 如何设计可扩展的层与级 |
如何扩展 | |
如何处理传输与负载的测试点 | |
安全性 | 如何解决认证与授权问题 |
如何防止恶意输入 | |
如何保护敏感数据 | |
支持 | 如何设计审查与记录 |
如何设计使用问题信息的记录 | |
易测性 | 如何设计才能方便测试 |
如何设计单元测试 | |
如何设计UI自动化 | |
可用性 | 如何设计才能让用户有更多的权限 |
如何改善响应性 | |
如何避免常见的用户体验问题 |
转载于:https://www.cnblogs.com/hehejeson/articles/6426244.html
最后
以上就是动人皮皮虾为你收集整理的软件架构の一般步骤的全部内容,希望文章能够帮你解决软件架构の一般步骤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复