谈软件的架构设计.doc

谈软件的架构设计.doc

ID:61500003

大小:284.50 KB

页数:7页

时间:2021-02-07

谈软件的架构设计.doc_第1页
谈软件的架构设计.doc_第2页
谈软件的架构设计.doc_第3页
谈软件的架构设计.doc_第4页
谈软件的架构设计.doc_第5页
资源描述:

《谈软件的架构设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、浅谈软件的架构设计作者:张传波我将以我主持开发的“工程量自动计算软件”,谈一下我对软件架构设计的体会。我们公司主要开发建筑造价领域的软件,其中工程量自动计算软件是技术含量最高、难度最大的软件。我是这个项目的主要开发者,我参与了这个项目的全过程。这个项目从立项至今已经差不多3年的时间了。软件的第一个版本是2000年11月1日发布的。这个软件是和建筑造价行业紧密相关的,我有必要先介绍一些背景资料。建造一栋建筑物需要多少成本呢?它是如何计算的呢?建筑物除了是由钢筋混凝土做的外,它还有门、窗,装饰用料等等。如果细分,建筑物用料可以细分成成千上万种。国家的建筑造价的部门对许多工程进行了分析,统计出建筑物

2、不同的部分、不同的材料的单价造价。也就是说,如果建筑物的各个部分的工程量算出来的,乘以单价就可以知道建筑物的造价了。比方说,由一栋私人的别墅,要知道它的造价,就要算出它各种型号的混凝土用了多少,其中柱用了多少混凝土,梁用了多少,板用了多少,各种型号和直径的钢筋用了多少,各种型号门、窗用了多少等等,就可以算出它的造价了。建筑物的结构是很复杂的,梁、板、柱等等东西是交错在一起的,如何计算它们的工程量是有规则的。全国各地的定额站对此作了规定。我们这个软件的任务是,按照工程量的计算规则,算出工程量。如果没有软件,用户原来是怎样计算工程量的呢?用户根据图纸,用纸加计算器,把计算的过程列出来,最后得出各个

3、部分的结果。人手计算的工作量很大,很繁复,也很容易出错。我们的这个软件工作的流程大致是,用户根据图纸,把构件(梁、柱、板等)画上去,绘图完成后,软件计算工程量,计算的结果以报表的形式输出。软件把原来繁复的手工计算工程变成形象画图的过程,大大的减轻了工作量,增加了工作的乐趣。附图(软件概貌):下面谈一下这个软件的设计过程。l概念设计用户手算时的情景:用户要仔细的看图纸,包括建筑施工图、结构施工图,把各种平面、立面、剖面图在脑中形成立体的模型,在脑中建立各种构件的关系,要计算的内容也一一明确。用户根据自己的经验和本工程的实际情况,开始计算工程量,计算的过程一般是先算基础,然后是主体结构,接着是装饰

4、和脚手架。最后是汇总计算结果。计算的过程中需要不断的看图纸,不能算错,不能多算和漏算,计算要留有中间结果,以备检查。手算时的工作流程:手算的特点:1.要分析许多图纸,掌握许多资料。2.手算者思维要严谨,不过多算、漏算。3.计算要步步为营,不能有错,需要反复的检查和较验。4.计算的工作很繁复和枯燥。5.计算者经验越多,出错的机会越低。本软件要满足以下两点的基本需求:1.降低计算者的工作量。2.保证计算的准确度。用软件计算的工作流程:用软件工作时,软件极大地降低了计算者的的工作强度和工作量,迭代的过程只有一个。计算者只需要熟悉图纸,然后“依样画葫芦”的输入数据,剩下的工作就交给软件了。l逻辑设计先

5、看模块与数据关系图:各模块简介如下:A数据输入模块:用户采用什么方式输入图纸的数据。参考方案:1)表格法输入:用户以表格的形式输入数据,类似于手算的方式。2)图形法输入:用户以“画图”的方式输入数据。表格法方式接近于手算的方式,用户的工作量还是很大,所以我们采用图形法输入。考虑到已经有许多自主图形平台的工程量计算软件,我们不应该再走别人的老路,还有工程量计算的复杂性,我们决定采用了AutoCAD2000作为绘图的平台,这样可以充分利用AutoCAD强大的绘图功能和三维实体布尔运算的功能。B数据处理模块:对模块D的数据进行处理,也就是要进行工程量的计算。软件要减轻人的工作量主要是体现在这个地方,

6、也是软件的核心部分。此模块需要很强的人工智能技术。C数据输出模块:以报表的形式输出模块E的数据。D工程数据:用户输入的数据的储存方式。参考方案:1)数据库方式。2)对象模型方式。本软件的关键问题是人工智能的问题,软件要解决这个问题:怎样去模拟人脑辨别出复杂的工程情况准确无误的计算出结果。本软件处理的数据量很大,采用数据库的方式应该是很适合的。但如果采用数据库的方式来保存工程的数据,会因为数据库的灵活性不足,难以构造满足现实工程的模型。我们决定采用对象模型的方式,用类来构造现实的工程模型。软件数据的存储直接对工程模型进行,运算也直接对工程模型进行,这样上层编程的难度会降低很多,也更容易解决“模拟

7、人脑辨别出复杂的工程情况准确无误的计算”的问题。工程对象模型:红色矩形:表示集合对象蓝色矩形:表示非集合对象对象描述:数据输入模块把输入的数据通过接口保存在工程模型里面。数据处理模块通过接口访问工程数据。E计算结果数据:计算结果的储存方式。此部分数据量大,而且不需要进行运算,采用数据库的方式保存已经可以满足需要了。数据输出模块直接读取计算结果数据库,生成报表。l物理设计A数据输入:1.软件的UI2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。