横集首次发布:2024年12月29日 10:00浏览量:29
 用鼠标选中
生字  后,就能自动读出发音 
各位亲,警告并敬告:
论文可以参考别人的,但只能借鉴思路,不能完全抄袭。
应该根据自己的思路、自己的项目经验改写,改写客户名、改写项目名。这样完全改写后,已经是你的东西,比较有自信,也容易记。万一其他人也背了同一篇论文,你也不会跟他雷同。
试题一、论软件系统架构风格
系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。
请以“软件系统架构风格”为论题,依次从以下三个方面进行论述:
1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。
2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。
3.详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。
正文
在石油勘探开采行业,采集来的数据中,有相当多的数据都没有得到充分的发掘和利用,而对这些数据进行有效的分析和整理,能够帮助勘探企业减少风险、降低开采成本、保障勘探企业的生产经营活动能够顺利开展。随着大数据技术在石油企业中的应用,对石油企业员工的数据操控能力也提出了更高的要求,因此石油开采行业中应用大数据技术的相关措施,能够切实有效的促进石油企业的发展。 针对这种情况,中石油科技局引入人工智能技术,于2018年1月成立了智能数控测井数据挖掘项目,目的是为国内测井行业提供一个从井下到地面、分析挖掘到解释评价的整套测井AI系统。该系统的设计目标是取得测井所有资料、清洗整理、分析挖掘,并且把挖掘的知识,以3D的形式呈现出来,以帮助确定地质问题、监测油气状况、并对区块做出综合评价。整个系统由井下成套仪器,测井遥测系统,测井地面系统,数据挖掘处理系统,解释评价展现系统等子系统组成。我是项目的技术负责人,全面负责系统的分析、设计等技术工作。 由于智能数控测井数据挖掘系统的用户分别在油田现场、油田指挥部和北京总部,因此我初步选定了Django构件框架。但具体的框架,还得从典型的框架里选择,还得搭建原型、征得客户的同意才行。
一. 常用的软件系统架构风格简介
体系结构风格定义一个系统家族,即一个体系结构定义、一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。
典型的架构风格如下:
1.传统的架构风格
包括管道和过滤器风格、数据抽象与面向对象风格、层次系统风格、仓库风格、C2风格等。
1)管道和过滤器风格
在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
2)数据抽象与面向对象风格
这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的构件是对象,它负责保持了资源的完整性。对象是通过函数和过程的调用来交互的。
3)层次系统风格
层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些层实现了虚拟机。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。
这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。
2. 客户端/服务器(C/S)风格
这种风格的结构将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。
3. 浏览器/服务器(B/S)风格
B/S结构是随着互联网的发展,WEB出现后兴起的一种网络结构风格。这种风格统一了客户端,让核心的业务处理在服务端完成。用户只需要在自己电脑或手机上安装一个浏览器,就可以通过web Server与数据库进行数据交互。
4. N层/三层架构
为了克服二层结构的不足,N层架构风格将应用系统的功能划分为多个独立的部分,每个部分是一个层,各层可以处于完全独立的计算机上。
5. 基于组件的架构
把应用设计分解为可重用的功能、逻辑组件,这些组件的位置相互透明,只暴露明确定义的通信接口即可。
二.采用B/S架构风格,保障了项目成功
为了快速地开发出智能挖掘和数据分析的软件系统,以满足客户的需求,我们经反复调研、对比、建立原型后,征得客户用户同意后,决定采纳Django框架。该Web应用框架,由Python写成,为B/S架构。具体来讲,Django采用了MVT的分层模式。
Django框架的MTV模式,是为了各组件间保持松耦合关系,使系统更灵活组配,方便维护和升级,Django的MTV各层分别是:
M模型(Model)负责业务对象和数据库的关系映射(ORM)
T 模板(Template)负责如何把页面展示给用户(html)
V 视图(View),相当于MVC模型中的控制器,负责业务逻辑 并在适当时候调用Mode和Template
除了以上三层外,还需要一个URL分发器、它的作用是将一个个URL的页面请求分发给不同的View处理。
在测井项目里,我们主要是从如下四个方面使用MTV这个分层架构:
1、分析系统功能,分离功能模型
首先根据系统的主要任务进行系统的模块分解。根据测井软件系统数据采集、数据挖掘和测井监控展示三个主要任务,把系统分为三大块对应于MTV模式的三层。
模型Model层对应于数据的采集、数据清理、存储和数据的增删改等基本操作。
视图View层则是软件系统的控制核心,负责计算、挖掘和分析。
模板Template层对应于测井监控展示功能,把View处理的结果展示给用户。
2、MTV的设计与实现
在本项目的具体实践中,我采用的是客户已有的SQL SERVER数据库来存储Model里的数据,该数据库也可以作为数据仓库用于数据挖掘。
所有的数据挖掘、以及对挖掘结果的人工智能解读,均由VIEW模块、用python语言开发完成。为了支持用户端的显示效果,充分利用了python丰富的数据分析和图形处理库。
模板层主要是提供测井数据挖掘结果的图形显示。
为了适应当下的移动互联网,我们采用H5响应式网页设计,以自适应用户不同尺寸的终端设备。
3、使用可动态添加的算法模型
由于每次测井作业中下井仪器串的仪器种类和仪器的数量都是变化的,为了能更好的抽象出实际的测井模型,提高系统的灵活性,在模型中数据刻度计算部分,我们采用的动态添加的方式。我们把不同测井仪器的刻度算法封装到动态连接库,然后根据测井作业的不同,调用不同的仪器动态库中的刻度算法。由于模型、模板和视图与之间的松耦合,当用户在视图里添加算法模块时,模板与模型不用改动。
采用MTV分层架构给我们带来了如下好处:
1)、由于模型(Model)、模板(Templates)与视图(View)之间的松耦合,使得我们非常容易就实现了一个VIEW运行同时建立多个展示的模板。这在调试仪器时非常有用,当硬件人员调试仪器时直接连接网线就可以一边看仪器一边看数据。不再需要像以前必须到地面系统控制室查看数据了。
2)、适合多硬件平台的跨接。由于不同的硬件平台上采集数据的方式都不同,由于松耦合,当要移植到不同的硬件平台上是我们只有修改相应的模型层(Model),有可以实现对不同硬件平台的支持。
3)、良好的可维护性和扩展性。由于采用MTV模式,系统模块功能划分明确,代码实现也相对容易。代码的错误不会在系统中扩散,同时由于可以动态添加仪器算法模块,当用户添加新仪器时,不需要更改系统程序。
在使用分层模式进行系统设计和开发后,整个系统各个模块之间逻辑变的相对独立,耦合也很松散,结构的扩展性良好。而且使得代码的重用的程度变好,减少了错误的发生和错误在代码中的扩散。但是在实际应用模式的过程中,我还发现模式应用的经验越丰富,模式应用的就越好。
由于python的开放,以及对人工智能的支持,吸引了大批的开发者使用,这一方面使得python和Django变得更加可靠,另一方面他们用python实现的构件作为第3方库贡献了出来。总之,巧用构件架构可以大大加快软件系统的开发进程,也会大大提高软件的可靠性。所有这些,是我在主持开发智能数控测井数据挖掘项目得到的宝贵经验。该项目投入生产后,得到了客户和用户的一致赞扬,这也从另一方面说明了Django构件框架的价值。
需要论文批改和辅导?请加高章舜老师的QQ:614185778,注明“软考”即可。
有专门的钉钉网课(可回放)支持软考的中项、高项及所有高级资格考生的备考。目前开设的网课共分项目管理、集成技术、案例分析、冲刺、论文写作等5门专题课。前4门为中项、高项共同的课程。而论文写作仅面向高项和软考其他高级资格,包括写作方法、写作实战、论文批改、论文重点以及运筹学等高项专属内容。
开源开放的精神和优质的服务是网课的信念。
访客guest的论文网页,只预览,不保存。无论是否注册用户,建议用“另存为WORD文件”存到你本地计算机里,注册用户点击论文网页顶端的“删除文章”以免论文被别人看到后雷同。
您已浏览完毕。
高章舜,软考技术支持专家、中文“智能文”发明者、中文智能化推进者。其EMAIL是:gaozhsh2007@sina.com
高章舜主持开发的中文智能编辑系统,呈现了中文“智能体”的优美。为了发扬光大中文的优秀传统,弘扬文化自信,著作人决定第一版开源,向全社会开放本版本的使用权。如果您需要更清晰、更优美、更专业、手写体更丰富的文章格式,甚至还需要定制字体和文章格式的话,请按上一段里的EMAIL给高章舜老师发邮件。
copy right www.zhutu.net 回首页