欢迎来到天天文库
浏览记录
ID:19796600
大小:298.50 KB
页数:7页
时间:2018-10-06
《浅谈软件的架构设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浅谈软件的架构设计http://www.cmmionline.net浅谈软件的架构设计作者:张传波我将以我主持开发的“工程量自动计算软件”,谈一下我对软件架构设计的体会。我们公司主要开发建筑造价领域的软件,其中工程量自动计算软件是技术含量最高、难度最大的软件。我是这个项目的主要开发者,我参与了这个项目的全过程。这个项目从立项至今已经差不多3年的时间了。软件的第一个版本是2000年11月1日发布的。这个软件是和建筑造价行业紧密相关的,我有必要先介绍一些背景资料。建造一栋建筑物需要多少成本呢?它是如何计算的呢?建筑
2、物除了是由钢筋混凝土做的外,它还有门、窗,装饰用料等等。如果细分,建筑物用料可以细分成成千上万种。国家的建筑造价的部门对许多工程进行了分析,统计出建筑物不同的部分、不同的材料的单价造价。也就是说,如果建筑物的各个部分的工程量算出来的,乘以单价就可以知道建筑物的造价了。比方说,由一栋私人的别墅,要知道它的造价,就要算出它各种型号的混凝土用了多少,其中柱用了多少混凝土,梁用了多少,板用了多少,各种型号和直径的钢筋用了多少,各种型号门、窗用了多少等等,就可以算出它的造价了。建筑物的结构是很复杂的,梁、板、柱等等东西是
3、交错在一起的,如何计算它们的工程量是有规则的。全国各地的定额站对此作了规定。我们这个软件的任务是,按照工程量的计算规则,算出工程量。如果没有软件,用户原来是怎样计算工程量的呢?用户根据图纸,用纸加计算器,把计算的过程列出来,最后得出各个部分的结果。人手计算的工作量很大,很繁复,也很容易出错。我们的这个软件工作的流程大致是,用户根据图纸,把构件(梁、柱、板等)画上去,绘图完成后,软件计算工程量,计算的结果以报表的形式输出。软件把原来繁复的手工计算工程变成形象画图的过程,大大的减轻了工作量,增加了工作的乐趣。附图(
4、软件概貌):第7页共7页浅谈软件的架构设计http://www.cmmionline.net下面谈一下这个软件的设计过程。l概念设计用户手算时的情景:用户要仔细的看图纸,包括建筑施工图、结构施工图,把各种平面、立面、剖面图在脑中形成立体的模型,在脑中建立各种构件的关系,要计算的内容也一一明确。用户根据自己的经验和本工程的实际情况,开始计算工程量,计算的过程一般是先算基础,然后是主体结构,接着是装饰和脚手架。最后是汇总计算结果。计算的过程中需要不断的看图纸,不能算错,不能多算和漏算,计算要留有中间结果,以备检查。
5、手算时的工作流程:手算的特点:1.要分析许多图纸,掌握许多资料。2.手算者思维要严谨,不过多算、漏算。3.计算要步步为营,不能有错,需要反复的检查和较验。4.计算的工作很繁复和枯燥。5.计算者经验越多,出错的机会越低。本软件要满足以下两点的基本需求:1.降低计算者的工作量。2.保证计算的准确度。用软件计算的工作流程:用软件工作时,软件极大地降低了计算者的的工作强度和工作量,迭代的过程只有一个。计算者只需要熟悉图纸,然后“依样画葫芦”的输入数据,剩下的工作就交给软件了。l逻辑设计先看模块与数据关系图:第7页共7页
6、浅谈软件的架构设计http://www.cmmionline.net各模块简介如下:A数据输入模块:用户采用什么方式输入图纸的数据。参考方案:1)表格法输入:用户以表格的形式输入数据,类似于手算的方式。2)图形法输入:用户以“画图”的方式输入数据。表格法方式接近于手算的方式,用户的工作量还是很大,所以我们采用图形法输入。考虑到已经有许多自主图形平台的工程量计算软件,我们不应该再走别人的老路,还有工程量计算的复杂性,我们决定采用了AutoCAD2000作为绘图的平台,这样可以充分利用AutoCAD强大的绘图功能和
7、三维实体布尔运算的功能。B数据处理模块:对模块D的数据进行处理,也就是要进行工程量的计算。软件要减轻人的工作量主要是体现在这个地方,也是软件的核心部分。此模块需要很强的人工智能技术。C数据输出模块:以报表的形式输出模块E的数据。D工程数据:用户输入的数据的储存方式。参考方案:1)数据库方式。2)对象模型方式。本软件的关键问题是人工智能的问题,软件要解决这个问题:怎样去模拟人脑辨别出复杂的工程情况准确无误的计算出结果。本软件处理的数据量很大,采用数据库的方式应该是很适合的。但如果采用数据库的方式来保存工程的数据,
8、会因为数据库的灵活性不足,难以构造满足现实工程的模型。我们决定采用对象模型的方式,用类来构造现实的工程模型。软件数据的存储直接对工程模型进行,运算也直接对工程模型进行,这样上层编程的难度会降低很多,也更容易解决“模拟人脑辨别出复杂的工程情况准确无误的计算”的问题。工程对象模型:第7页共7页浅谈软件的架构设计http://www.cmmionline.net红色矩形:表示集合对象蓝色矩形
此文档下载收益归作者所有