分析模型的那些事儿:开始分析

——对分析模型的一点儿见解

当需求分析结束、需求确认完成、需求讨论告一段落的时候,我们的需求分析员拿出了厚厚的一打用例分析模型、领域设计模型,需求分析阶段结束,开始进入开发阶段。但是,这时候虽然需求分析阶段结束了,却千万不要以为需求分析就结束了,如果你还这样认为,说明你还没有摆脱瀑布式开发的思维。瀑布式开发的思维的关键点就是认为,需求分析阶段应当完成所有的需求分析和确认的工作,否认需求分析阶段以后还会变更需求。拥抱变化是现代软件开发思想的核心之一,什么敏捷开发、迭代开发、极限编程,都是围绕这个主题展开的。拥抱变化,意味着我们的软件需求总是在变化,因此需求分析文档,包括用例模型、领域模型,总是在与之同步。总之,不要期望在需求分析阶段就完成所有的事,在分析设计,以及之后的编程开发阶段、实施和维护阶段,我们都应当随时与客户保持联系,注意与他们的反馈。

在需求分析阶段结束以后,许多公司(包括我们)通常的做法都是立即进入开发编程阶段。开发人员与需求人员坐在一起开了一个简短的动员会,按照模块和功能的划分,给所有的人进行一次任务分配,紧接着开发人员就领着自己的任务开始埋头开发。诚然,几乎所有的开发任务时间都是非常紧张的,但是没有经过规划和设计的系统,往往是无序和低效的。那些我在《谈谈软件开发的那些事儿》中提到的噩梦就是这样开始的。随意地创建对象,随意地分配属性和方法,随意地相互调用,都会大大降低软件的可维护性。一个小小的变更,就会让我们的软件大动筋骨,从何谈起拥抱变化呢?要提高软件的可维护性、可变更性,就必须让我们的设计低耦合、高内聚,也就必须做到职责驱动设计(RDD)。建立必要的分析模型和设计模型,可以帮助我们做到这一点。

分析模型和设计模型就是在需求分析结束后、程序开发开始前的这段分析设计阶段使用的。按照RUP的流程,应当先建立分析模型,然后再建立设计模型。但是分析模型和设计模型没有明显的时间分隔,通常都是经过无数次迭代,从分析模型逐渐过渡到设计模型。分析模型是在不考虑任何技术实现的前提下进行的纯OO分析的模型。不论你的系统是采用J2EE实现还是C++实现,分析模型都是一样的。而设计模型则相反,设计模型开始考虑具体技术的实现。因此,从分析模型到设计模型是一个从抽象到逐渐细化的过程。

另一个问题是,谁来完成从分析模型到设计模型的整个过程?我认为,应当是需求分析人员和架构分析师共同来完成。然而,在实际情况是,更多的工作是需求分析人员来完成的。因此,那些由技术出身的,拥有扎实OO分析设计基础的需求分析员在完成这些工作时会更加得心应手。下面我们看看分析模型是怎样开始分析和设计的。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

时间: 2024-10-31 16:32:50

分析模型的那些事儿:开始分析的相关文章

分析模型的那些事儿:职责驱动设计

前面讲了为什么我们要使用分析模型,现在我们看设计分析模型的基本原则. 分配职责和职责驱动设计 我们在开始分析模型的时候,首先要弄清楚一个非常重要的原则,就是以职责为中心.OO分析设计的核心原则之一,就是软件系统中的所有元素都必须具有高度相关的职责,也就是说,软件系统中所有的模块.包.对象类,都应当拥有一个清晰的职责,并且与它相关的所有元素(即模块中的所有包.包中的所有对象类.对象类中的所有属性和行为)都必须与这个职责具有高度的相关性.因此,分析模型的首要设计原则就是职责驱动设计(Responsi

软件开发的那些事儿:解决之道

前面提出了软件开发的轮回:期望--破灭--崩溃--新的轮回,我们的解决之道在哪里呢? 我的反思--不在沉默中爆发,就在沉默中灭亡 反思,我在反思-- 对于来自客户的变更,我永远忘不了的是大学时老师的谆谆教导.上软件工程课的时候,老师总是一再地反复强调,一定要将需求变更消灭在需求分析阶段.按照过去的瀑布式开发理论的描述,总是要求我们在需求分析阶段了解清楚客户的所有需求,并编写成<软件需求说明书>,交给客户签字.客户一旦在<软件需求说明书>上签字,那么需求就不能再更改了,软件就照这个开

EverString 大数据用户预测分析引擎获一千两百万美元融资

传统的用户关系管理一般依靠 Salesforce,由公司业务经办人手动将客户数据录入到软件中进行统一分析管理.互联网时代,出现像 Marketo 这样的在线用户数据分析服务.他们通过分析访问公司网站的用户画像和转化率来为客户提供服务.EverString 想做第三个发展阶段:即通过全网用户大数据分析来为客户建立用户分析模型进而提供智能用户分析和推荐服务. 目前 EverString 已经拿到由光速美国领投的一千两百万美元 A 轮融资,天使轮加入的红杉.IDG 和真格基金跟投. "我们的技术团队团

EverString大数据用户预测分析引擎获光速资本领投

摘要: 传统的用户关系管理一般依靠 Salesforce,由公司业务经办人手动将客户数据录入到软件中进行统一分析管理.互联网时代,出现像 Marketo 这样的在线营销化自动平台.他们通过分析访问 传统的用户关系管理一般依靠 Salesforce,由公司业务经办人手动将客户数据录入到软件中进行统一分析管理.互联网时代,出现像 Marketo 这样的在线营销化自动平台.他们通过分析访问公司网站的用户画像和转化率来为客户提供服务. EverString 想做第三个发展阶段:即通过全网用户大数据分析来

可穿戴式设备如何突破市场困局?

成功者总是不约而同的配合着时代的需求-引自电影<中国合伙人>. 前几天写了一篇文章,关于可穿戴式设备和大数据结合在未来改善用户的健康状况,收到了很多朋友的反馈,反响还不错. 也有很多朋友提出了问题,最主要集中在怎样市场破冰上,因为一个好的概念变成产品到最后变成商品,太多的壁垒要去突破,即使看到了未来的方向,也有可能死在黎明前. 其实这是一个普遍的问题,现在大量的硬件领域的创业者,看到可穿戴式市场的火热,积极投身到这个领域中,做出了各种可穿戴式的设备原型,并对未来充满了期望. 他们希望产品一投放

数据分析的一些常见问题

数据分析和数据挖掘,是大数据应用的核心技术,也是大数据应用的关键所在. 数据分析重要,但是,很多时候却不知道该如何去做,面对大量的数据,却无从下手.概括起来,经常面临的困难有: 分析目的不明确 分析方法不清晰 分析过程不清晰 分析思路不完善 解读数据能力差 1. 不知道要分析什么?(分析目的) 不知道要分析什么,也就是分析目的不明确. 经常有学员告诉我,领导给了一大堆数据给我,要我分析一下,但我不知道要分析什么?除了基本的统计求和,我不知道要干吗. 明确分析目的,这是数据分析的起点,也是分析的终

企业如何搭建营销部门的大数据天文望远镜

DMRC,即Digital Marketing Research Centre--数字营销研究中心,是<哈佛商业评论>中文版(HBR中文版)与时趣Social Touch强强携手创办的一间炫酷实验室. DMRC的大门向全体地球人,包括新发现的开普勒星球的盆友敞开,欢迎你也来一起玩:除了固定的DMRC成员,我们会开放整个DMRC社群,所有着迷于数字营销的小伙伴们都可以加入. 加入DMRC,搜索微信公共账号"时趣",即可探索属于你的DMRC! 满天繁星,数千光年,遥不可及,但是

用BPM策略对遗留应用现代化

用BPM策略对应用进行现代化的可行性如何?Tom Nolle用批判的眼光进行了审视,并且对如何有效使用它提供了一个分步骤的解释. 一些人提议把业务流程管理作为应用现代化的手段之一,但也有人对此提出质疑,但采用BPM策略可以成为现代化遗留应用的明智方式.Tom Nolle对此进行了解释. 对遗留应用进行现代化的一个最大问题是"现代化"并不意味着进行任何特殊的技术或功能改变. 这些都应该是任何应用设计和开发项目的一部分. 下面我们来探索一下业务流程管理如何能够帮助提供一个现代化的框架. 促

从零搭建推荐体系:用户体系、项目体系和推荐体系(中)

2. 用户体系 2.1 搭建流程 首先应该先确定用户动机,因为从用户的根本动机,我们才好做相应的推荐处理. 那么我们应该如何获取用户动机?只有一种方法,就是通过用户行为.所以我们应该优先建立用户行为体系,依据用户行为,分析用户动机;不管是主动动机还是被动动机,之后提取这些动机特征,结合用户物理属性,再进行后处理. 再有要将特征值加以过滤,分配权重,结合衰减因子进行最终输出.最终输出的结果应该分为基本属性.用户兴趣.用户关系及用户行为,结合所有综合分析用户动机,在适时的时候推荐合适的内容从而形成推