12 概念架构设计

概念架构是什么

概念架构:直指目标的设计思想和重大选择
概念架构指定了高层组件和高层组件的交互,概念设计不涉及接口,模块的细节

为关键功能需求建立 鲁棒图

鲁棒图
鲁棒图元素
12 概念架构设计_第1张图片

边界对象:与系统交互的人或事物
控制对象:系统的动作,行为
实体对象:系统的信息

用例图与鲁棒图
12 概念架构设计_第2张图片

从关键需求建立鲁棒图
示例书店搜索系统的鲁棒图创建过程
搜索功能我们想到了几个对象,顾客、结果页面、搜索操作、搜寻关键子、搜索结果,于是建立如下鲁棒图
获取搜索结果动作根据作者的名字输出Search Results信息
12 概念架构设计_第3张图片

Search Results信息从何而来?于是我们想到应该还有图书信息
Search Results信息如何显示到结果界面?于是我们添加显示搜索结果操作
12 概念架构设计_第4张图片

作者的名字从哪来?
搜索时,是否检查输入合法性?
通过一系列反问,我们得到如下鲁棒图
12 概念架构设计_第5张图片

为关键质量需求建立 目标-场景-决策表

根据关键质量需求,我们建立目标-场景-决策表
目标:我们的需求
场景:使用系统的一个场景
决策:面对这个场景,怎么办

场景卡
场景卡是我们描述场景的方式
12 概念架构设计_第6张图片

该场景卡描述的是:采用JSP动态生成页面时,大量用户浏览热门图书,热门图书的页面生成逻辑是重复执行的

目标-场景-决策表示例
12 概念架构设计_第7张图片

根据目标-场景-决策表完善鲁棒图
12 概念架构设计_第8张图片

设计概念框架

概念框架需要做出如下决定:
1.决定如何划分顶级子系统
2.架构风格选型
3.开发技术选型
4.二次开发技术选型
5.集成开发技术选型

依据鲁棒图选择架构风格,设计顶级子系统
从鲁棒图到顶级子系统的设计并没有统一的标准,但根据鲁棒图我们可以验证设计的合理性
示例图:
12 概念架构设计_第9张图片

备选设计
我们设计的概念架构不应该只有一个,而是从多个不同的备选架构中做选择
12 概念架构设计_第10张图片

你可能感兴趣的:(软件架构设计)