系统架构培训:矩阵,封装,一个案例教你激发客户潜藏的需求!

在现实设计中,通过变化分析可以激发客户潜藏的需求?下面看一个例子。

一个美国某国际电子商务公司的订单处理系统。假设系统必须能够处理来自不同的国家(地区)的销售订单。最开始要求很简单:处理美国和加拿大的订单。

系统的需求清单如下:

  • 要为加拿大和美国构建一个销售订单系统。
  • 根据所在国家计算运费。
  • 运费还应该以所在国家(地区)的货币支付。
  • 在美国,税额应按当地计算。
  • 使用美国邮政规则验证地址。

在加拿大,使用联邦快递发货,同时缴纳联邦政府销售税(GST)和地方销售税(PST)。尽管这个需求已经很清楚,但我们必须通过分析使这个需求变得清晰,分析:这个问题中存在的变化并不太复杂。光凭观察,就可以显而易见得到下面的表。

这是一个简单的问题,但是我们希望用这个简单的背景来说明分析矩阵的分析过程,而不希望把精力过多地放在案例的背景上。

在填写分析矩阵中进行分析

让我们从观察一种情况开始。首先观察必须实现的每个功能,并标记它所表示的概念。

当然,事情并非总是如此顺利。新情况往往会带来新功能。但是这是好事情。这样我们就能够有机会检验分析的完整性。

在分析过程中寻找不完整和不一致

随着时间流逝,我们总是需要处理新的情况(例如业务扩展到了德国)。当你发现了某种情况中存在一个新概念时,就扩展分析矩阵,在矩阵中增加一行,即使它并不适用于其他情况。

美国和加拿大有最大重量吗?可能没有,也可能有,但是客户忘了提到这一点。现在,有一个很好的具体问题要问了。我的客户对于回答具体问题是非常擅长的,而对于“还有别的什么吗?”这样的问题,他们一般并不擅长。

子矩阵

有时候一个简单的矩阵往往是不够的,即使在这个简单案例中,也很容易想像,如果一个国家(地区)中有超过一种货运方式会变成什么样子。这就可以在主矩阵中再加入子矩阵,下图给出了这个例子。

还要注意到另外一种变化:由于美国、加拿大、德国这些地域的变化,会成组的使用不同对象。这就需要确定在什么情况下使用哪一组对象是相同的。

具体的是提供一个接口,来创建一组相关或相互依赖的对象,但无需指定它们的具体类是什么,这种设计策略可以给它起个名字:Abstract Factory(抽象工厂,AF)。

这样一来,就得到了一个初始的高层设计,如下图所示。

如果这种解决问题的设计方案被证明是有效的,就可以把它记录下来,并赋予一个唯一的名称,这就成为模式,成为组织的智力资产。

时间: 2024-10-17 15:48:26

系统架构培训:矩阵,封装,一个案例教你激发客户潜藏的需求!的相关文章

为什么要报考系统架构师考试

最近一年多,很多朋友来信,问我什么要报考系统架构设计师考试.为什么参加这个考试,这个考试有用吗?对自己的职业会带来什么好处?我想有以下几个方面: 一.强迫自己,去系统学习软件架构设计的理论,追踪业界架构设计的发展动态.去学习的动力有很多,如为了兴趣,为了工作,为了职位升迁,为了大幅提升薪水等.其实,为了应付考试,通过考试,也是学习知识的一种很好的方法.尤其,对自律能力不是很好的同学: 二.系统架构师考试,作为计算机技术与软件专业技术资格(水平)考试系列的最高级别专业考试,是国家认可的.如果通过,

2014年下半年系统架构师考试总结

转眼又到了架构师考试的日子,11月8号,这次是在东营参加考试. 去年的惨败让我在这次的准备过程中,将复习重点转移到了下午的案例分析和论文上. 总体的感受就是:今年的试题是2009年试题的一次回归,论文的题目更加开放. 具体来说: (1)上午题的分布还是侧重系统架构和软件开发技术,当然每次都会出现五六个新的考点.根据我的记忆,有这样一些问题: 1.数据库代数运算:两个表自然连接后,有多少属性,并将代数运算转换为等价的SQL语句. 2.磁盘逻辑块的索引,一个文件的索引有8个地址address[0]~

系统架构师的职责和作用(转)

系统架构师的职责和作用(转) [职业名称] 系统架构师(System Architecture) [职业定位] 系统构架,是对已确定的需求的技术实现构架.作好规划,运用成套.完整的工具,在规划的步骤下去完成任务. 系统架构师(又称企业架构师或者系统设计师)是一个最终确认和评估系统需求,给出开发规范,搭 建系统实现的核心构架,并澄清技术细节.扫清主要难点的技术人员.他/她主要着眼于系统的“技术实现”.因此他/她应该是特定的开发平台.语言.工具的大 师,对常见应用场景能马上给出最恰当的解决方案,同时

深入理解Tomcat系列之一:系统架构

前言 Tomcat是Apache基金组织下的开源项目,性质是一个Web服务器.下面这种情况很普遍:在eclipse床架一个web项目并部署到Tomcat中,启动tomcat,在浏览器中输入一个类似http://localhost:8080/webproject/anyname.jsp的url,然后就可以看到我们写好的jsp页面的内容了.一切都是那么自然和顺理成章,然而这一切都是源于tomcat带给我们的,那么在tomcat背后,这一切又是怎么样发生的呢?带着对tomcat工作原理的好奇心,我决定

系统架构师-基础到企业应用架构-数据访问层

一.上章回顾 上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才 能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作用仅体现在解耦作用.其实在业务逻辑层采用领域模型时,我们前面说的持 久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久化操作.当然本篇可能不会深入讨论持久化透明的具体实现,后面会单独开 篇来讲述,我们先来回顾下上篇讲解的内容:  上图

高并发高负载的大型网站系统架构(转)

高并发高负载的大型网站系统架构(转) 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件.编程语言.数据库.WebServer.防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的. 大型网站,比如门户网站

软考 软件设计师 系统架构师 视频教程

软考介绍: 计算机技术与软件专业技术资格(水平)考试,简称计算机与软件考试,是由国家人力资源和社会保障部与工业和信息化部组织领导的国家级考试,目的是科学.公正地对全国计算机与软件专业技术人员进行专业技术资格.职业资格认定和专业技术水平测试. 系统架构师视频教程:http://item.taobao.com/item.htm?spm=686.1000925.0.0.vXgA34&id=42171953455 软件设计师视频教程:http://item.taobao.com/item.htm?spm

高级系统架构师培训笔记

前几天参加了中科院计算所培训中心谢老师的高级系统架构师培训课程,将其中的一些点做了下记录: 系统架构师的工作是复杂设计总体解决方案以及领域对象的逻辑和物理布局,这是一项在复杂环境中高风险.高影响力的活动. 1.软件架构的定义:软件架构(Software Architecture)也称之为软件体系结构,它是一组有关如下要素的重要决策:软件系统的组织,构成系统的结构化元素,接口和它们相互协作的行为的选择,结构化元素和行为元素组合成粒度更大的子系统方式的选择,以及指导这一组织(元素及其接口.协作和组合

高级系统架构师培训公开课举行

众所周知,系统架构师的职责是在项目开发过程中,制定这个项目的总体脚骨,指导整个开发团队完成这个计划,他必须对开发技术非常了解,并且需要良好的组织管理能力,可以这样说,一个架构师的好坏决定了整个项目的成败. 而目前,国内的系统架构师大多都是从按程序员转变而来,他们对于技术可能很精通,但是对于行业的全局观却缺乏高度上的认识,特别是在技术和运维两方面都十分精通的双料工程师更为缺乏. 为此,培训中心特举办为期三天的高级系统架构师培训公开课.本次公开课由业界知名软件架构师,也是培训中心副校长谢老师亲自授课