工程管理
会员登陆可自行发布信息
首页资讯供应求购招商招聘展会社区
长期信息合作请联系:QQ66821730
机电之家工程首页 ---->工程管理工程技术工程案例工程论文机电招聘 ┊ 行业培训资料下载
应急预案
我 要 找
标题 内容 作者
工程管理技术资料订阅工程管理资料信息
电工技术资料 您的位置: 机电之家-->工程管理资料栏目首页-> 工程论文 -> 软件工程论文 --> 敏捷思维- 架构设计中的方法学
阅读工程管理资料相关资料
敏捷思维- 架构设计中的方法学
本文作者 未知 摘自 机电之家

我们说,和重型方法偏重于计划、过程和中间产物不同,敏捷方法更加看重人和沟通。人和沟通永远是第一位的,而计划、过程和中间产物,那只是保证沟通、实现目标的手段。这并不是说计划、过程、中间产物不重要,只是不能够本末倒置

注:我们把中间产物定义为为了实现跨边界的沟通而制定的文档、模型、代码。例如设计文档、数据模型等。参考RUP的Artifact。

评判软件成功的标准有很多,对于敏捷方法论来说,成功的标准首先在于交付可用的软件。为了保证软件的可用性,最重要的就是做好需求。做好需求的方法有很多(参见拙作需求的实践),但这并不是我们讨论的主题。对于我们要开始的架构设计的工作来说,从需求出发来设计架构,这就是保证软件可用性的一个基本的保证。

Context

我们如何开始我们的架构设计工作?

Problem

我们在进行架构设计的时候,往往主要考虑的都是平台、语言、开发环境、数据库等一些基本问题,可是对于和客户的具体情况密切相关的一些问题却很少系统的考虑。甚至还存在一种误区,认为架构设计无非就是写一些空话,套话。这样子做出来架构设计,如何用于指导软件的实现呢?

IT界的技术层出不穷,面对着如此之多的技术、平台、框架、函数库,我们如何选择一组适合软件的技术?

每一个客户的软件都有自身的特点,如何才能够设计出符合客户利益的架构?

软件中往往都充斥着众多的问题,在一开始就把所有的问题都想清楚往往很难做到,但是如果不解决问题,风险又居高不下。

Solution

针对需求设计架构。

架构设计就是铺设软件的主管道(例1)。我们根据什么来制定主管道的粗细、路径等因素呢?很明显,是根据城市的人口、地理位置、水源等因素来决定的。对应到软件设计也是一样的。城市的各因素就是软件中的各种需求:功能需求、非功能需求、变化案例等等。

一般来说,功能需求决定业务架构、非功能需求决定技术架构,变化案例决定架构的范围。需求方面的知识告诉我们,功能需求定义了软件能够做些什么。我们需要根据业务上的需求来设计业务架构,以使得未来的软件能够满足客户的需要。非功能需求定义了一些性能、效率上的一些约束、规则。而我们的技术架构要能够满足这些约束和规则。变化案例是对未来可能发生的变化的一个估计,结合功能需求和非功能需求,我们就可以确定一个需求的范围,进而确定一个架构的范围。

从例2中,我们看到自已字处理软件的几种需求的范例。真正的字处理软件要复杂的多。而我们最主要的就是必须认识到,架构是来自于需求的。有什么样的需求就有什么样的架构。试想一下,如果我们没有对速度的要求,我们还需要考虑这方面的设计吗?我们上面提到了几种类型的需求对架构的影响,其实还有一个很重要的需求,就是环境的需求。这并不是一个很重要的需求,但是对于部署(deployment)架构设计来说就特别重要。毕竟,我们开发出的软件是要上"战场"的,充分的考虑部署问题是非常有必要的。

例1:城市中自来水管的架设是一项非常的复杂的工程。为了需要满足每家每户的需要,自来水管组成了一个庞大的网络。在这样一个复杂的网络中,如何完成铺设的任务呢。一般的做法是,先找出问题的根源,也就是水的源头。从水源铺设一条管道通至城市,然后根据城市的区域划分,设计出主管道,剩下的就是使用的问题了,每家每户的管道最终都是连到主管道上的。因此,虽然自来水网络庞大复杂。但是真正的主管道的非常简单的。

例2:我们打算开发一个字处理软件,功能需求可以简单概括为格式化用户输入的文字,非功能需求可能是格式化大小为1000K的一段文字的处理速度不能低于10S,变化案例可能是推出多种语言版本。那么我们在设计业务架构的时候,我们会集中于如何表示文字、图象、媒体等要素,我们该需要有另外的技术架构来处理速度问题,比如缓冲技术,对于变化案例,我们也要考虑相应的架构,比如把字体独立于程序包的设计。

 

从需求到架构

在需求阶段,我们可以得到一些代表需求调研成果的中间产物。比如说,CRC卡片、基本用例模型、用户素材、界面原型、界面原型流程图、非功能需求、变化案例等。我们在架构设计阶段的主要工作就是要把这些需求阶段的中间产物转换为架构设计阶段的中间产物。

其实,架构设计就是要完成两项工作,一是分析,二是设计。分析是分析需求,设计则是设计软件的大致结构。很多的方法论把分析和设计两种活动分开来,但其实这两者是很难区分的,做分析的时候会想到如何设计,而思考如何设计反过来又会影响分析的效果。可以说,他们两者之间是相互联系和不断迭代的。这种形态我们将会在后面的迭代设计模式中详细的讨论。

在敏捷方法论中,需求最好是迭代进行的,也就是说一点一点的作需求。这种做法在那些需求变化快的项目中尤其适用。由于我们采用的流程是一种迭代式的流程,这里我们将会面临着如何对待上一次迭代的中间产物的问题。如果我们每一次迭代都需要修改已存在的中间产物,那么这种维护的成本未免过大。因此,敏捷方法论的基本做法是,扔掉那些已经没有用处的中间产物。还记得在第一章的时候,我们强调说软件要比文档重要。我们生成中间产物的目的都是为了生成最终的程序,对于这些已经完成作用的模型,没有必要付出额外的维护成本。

不要断章取义的采用抛弃模型的做法。因为,抛弃模型的做法需要一个适合环境的支持。后面会针对这个话题开展大范围的讨论。这里我们简单的做一个了解:

简单化:简单的模型和简单的程序。模型和程序越复杂,就需要更多的精力来处理它们。因此,我们尽可能的简化它们,为的是更容易的处理它们。

高效的沟通渠道:通过增强沟通的效果来减少对中间产物的需要。试想一下,如果我随时能够从客户那里得到需求的细节资料,那前期的需求调研就没有必要做的太细致。

角色的交叉轮换:开发人员之间建立起交换角色的机制,这样,能够尽量的避免各子系统诸侯割据的局面。

清晰的流程:或者我们可以称之为明确的过程。过程在方法论中向来都是一个重点,敏捷方法论也不例外。开发人员能够清楚的知道,今天做什么,明天做什么。过程不是给别人看的,而是给自己用的。

工具:好用的工具能够节省大量的时间,这里的工具并不仅仅指CASE工具,还包括了版本控制工具、自动化测试工具、画图工具、文档制作和管理工具。使用工具要注意成本和效益的问题。

标准和风格:语言不通是沟通的一个很大的障碍。语言从某个角度来看属于一种标准、一种风格。因此,一个团队如果采用同样的编码标准、文档标准、注释风格、制图风格,那么这个团队的沟通效率一定非常的高。

如果上述的环境你都不具备,或是欠缺好几项,那你的文档的模型还是留着的好。

[本文共有 2 页,当前是第 1 页] <<上一页 下一页>>

·工程项目经理培训
·欧姆龙PLC编程维护培训
·杭州西门子PLC应用培训
·模具加工设计培训
·变频器维修培训
·安全员认证培训
·电工培训


·招聘项目管理人员
·首席技术执行官
·自控工程师
·数控编程学徒
·总工程师


最新商业情报

代理
[代理] 寻求地区代理
[代理] 电工产品诚招代理..
采购
[采购] 电动车控制器外壳
[采购] 高品质缓冲器
 敏捷思维- 架构设计中的方法学相关资料
  • 钢筋砼预应力T梁预制施工工艺
  • 渗透结晶型防水涂料防水施工工艺
  • 厨厕防水施工工艺及控制要点
  • 水乳型氯丁橡胶沥青防水涂料施工工艺
  • 中型砌块砌筑工程施工工艺标准
  • 明挖扩大基础施工工艺
  • 实现三个转移是提升工程质量安全监管水平的关键
  • 工程质量监督模式探讨
  • 加强工程质量监督的几点思考
  • 质量控制中存在的主要问题及解决方法
  • ⊕这地方投资政策最优
    ⊕上千份机电行业研究报告
    ⊕机电项目招商啦
    ⊕谁把我买了?
    ⊕机电行业展会大全
    ⊕十万企业抢登行业网址大全
    机电之家会议开通
    ⊕每日最新求购信息
    ⊕电工技术资料为了谁?
    ⊕机电设备维修与管理
    机电之家(中国)工程管理技术资料中心资讯版权声明:
    1、凡注明“机电之家采编”字样的所有作品均系本网原创,版权归机电之家所有,任何媒体摘编或享用本作品,需注明文章来源。违反声明者,本网将追究其相关法律责任。
    2、凡本网注明“来源:XXX网(非本网)”的作品,均转载自其他媒体,目的在于传达更多资讯,本网不承担相关法律责任。

    3、如在资讯、广告等方面想与本网合作,请致电:0571-87774297。Email:donemi@hz.cn

    合作网站:
    | 中国机电网机电之家安全生产网 | 机电论文 | 机电论坛 | 机电设备贸易 | 机电网址大全 | 浙江机电网 | 陕西机电网 | 单片机技术网 |
    电工园地 | 工程管理网 |环球会展网机电产品网 | 机电人才网 | 中国工控网 | 五金工具网 | 安全生产网 | 商业情报站 | 图纸资料下载 |
    友情连接:
    | 中国机电网 | 哆来咪网 | 中国工控网 | 行业培训网 | 中国工程机械网 | 机电一体化网 | 行业下载网 | PLC技术网 | 变频器技术网 |
    关于我们 | 联系我们 | 广告联系 | 付款方式 | 使用帮助 | 工程管理网 | 会员助手 | 友情链接
    电话:0571-87774297(杭州) 传真:0571-87774298(杭州)点击这里给我发消息66821730(技术) 点击这里给我发消息58733127(审核)
    机电之家 工程管理网所共享的
    工程管理,合同与档案管理,质量与成本管理,进度管理,风险管理,施工与现场管理,工程监理,
    项目管理知识,竣工验收管理,工程技术,工程施工方案,施工工艺流程,施工技术方法,工程施工设计,工程案例,
    成功工程案例,失败工程案例,工程论文,软件工程论文,工程项目管理论文,工程造价论文,工程材料论文工程,
    监理论文,工业工程论文,等都是来自会员发表或 网上收集发表。如果有任何侵犯您权益的地方,
    请联系我们,我们将马上进行处理。
    企业登陆可自行免费发布资料,本站代发布邮箱为88ctv@163.com
    Copyright 2007 diangong.jdzj.com Inc All Rights Reserved.工程管理网
    技术支持:杭州滨兴科技有限公司 mailto:88ctv@163.com
    免费发布信息主办:浙江-杭州-工程管理网网络运营部安全生产