浅谈软件复用技术及其应用
计算机软件复用探讨

计算机软件复用探讨计算机软件复用指的是在开发软件时,重复利用已有的代码和模块,以提高开发效率,并减少开发成本。
这是一种聪明而可行的方法,能够让软件开发者更加高效地开发出优质的软件产品。
计算机软件复用的优点很明显,首先,它可以大大减少开发过程中的时间和成本,因为不必每次都从头开始开发新的软件,而是可以利用已经存在的功能模块或者业务逻辑,充分利用开发者曾经开发过的经验和技术,从而在开发周期和人力资源上节省成本。
其次,软件复用可以显著提高软件的质量。
由于复用部分代码,开发者有更多的时间和精力可以关注于解决软件设计细节和精度上的问题。
这样,开发出的软件可以更加健壮,更加易于维护和升级。
每个模块都是由专业人员经过测试和讨论而设计出来的,因此这些模块不仅具有较高的代码质量,也较耐久和更容易被维护。
尽管软件复用有众多优点,但复用并不是万能的,有时候过度依赖它会引发一些常见问题和隐患。
例如,如果复用的代码不完全符合新系统的功能和设计,那么开发新的代码将变得更加困难。
此外,若过多依赖复用代码,可能无法识别久未发现的问题和错误,从而对复用代码的质量全面评估出问题。
另一个需要注意的事项是,复用代码的时候,需要保证代码版权问题得到妥善处理。
一些复用代码可能来自开源项目或者第三方提供的源代码,如不注意版权问题,就会可能面临法律纠纷这些麻烦。
为了有效解决版权问题,可以找专业的公司进行复用代码咨询,来降低法律风险和保障企业在使用代码集合中的合法权益。
针对以上问题,我们需要有一些方法和措施来减少复用带来的风险。
计算机复用软件课程的初学者会对该主题进行较多的教学,而且专业人员通常会使用更加完善的复用策略和方法来解决复用问题。
例如,先历经一定的复用代码技术培训,再从简单而较小的项目入手,由一名专业人员进行测试和验证,通过进行细致而有效的评估并及时修正洞察到的问题进一步完善复用代码的质量等。
总之,软件复用是一项非常优秀的策略,可以大大提高开发效率和软件质量。
软件工程中的软件复用技术分析

软件工程中的软件复用技术分析在当今快速发展的信息技术领域,软件工程面临着越来越高的要求和挑战。
为了提高软件开发的效率、质量和降低成本,软件复用技术逐渐成为软件工程中的重要手段。
软件复用,简单来说,就是在软件开发过程中,重复使用已有的软件资源,包括代码、设计、文档等。
这就好比在建造房屋时,不是每次都从制作砖头开始,而是可以直接使用已经生产好的砖头,从而节省时间和精力。
软件复用技术具有诸多显著的优势。
首先,它能够显著提高软件开发的效率。
通过复用已有的成熟组件和模块,开发人员无需从头开始构建每一个功能,从而大大缩短了开发周期。
想象一下,如果每次开发一个新的应用程序都要重新编写登录模块、用户管理模块等常见功能,那将是多么耗时费力的事情。
而有了软件复用,这些常见的功能模块可以直接拿来使用,或者在其基础上进行少量的修改和定制,就能满足新的需求。
其次,软件复用有助于提高软件的质量。
被复用的软件组件往往经过了多次的测试和优化,其稳定性和可靠性相对较高。
使用这些经过验证的组件,能够降低新开发软件中出现错误和缺陷的风险。
再者,软件复用还能降低开发成本。
由于减少了重复开发的工作量,相应的人力、时间和资源投入也会降低,从而使软件开发的成本得到有效控制。
在软件工程中,常见的软件复用形式多种多样。
代码复用是最基本的一种形式,开发人员可以直接复用他人编写的函数、类或者模块。
设计复用则是在更高层次上的复用,例如复用软件的架构设计、算法设计等。
还有一种是组件复用,这就像是在搭积木,将各种预定义好的组件组合在一起,构建出复杂的软件系统。
然而,要实现有效的软件复用,并非一帆风顺,也面临着一些挑战和问题。
首先是复用资源的查找和评估问题。
在庞大的软件资源库中,如何快速准确地找到符合需求的复用资源,并且评估其质量和适用性,是一个难题。
这需要建立有效的检索机制和评估标准。
其次,复用资源的适应性和兼容性也是需要考虑的。
不同的软件项目可能有不同的需求和环境,复用的资源可能需要进行一定的修改和调整才能适应新的情况。
浅析软件复用技术的应用

2.2.3 相似对象范式抽象及其应用
前面分析的是同一项目所抽象出来的范式,而在不同项
OOA阶段,对于那些相似程度非常大的对象来说,由
分析的结果在其它相关项目中可以重复使用。 按
用户权限等这类对象;又如在一些相同
以上通过对领域范式抽象、关系范式抽象、相似对象范
OOA阶段
2.3 智能学习的范式库系统及其应用
独立的范式,它们将成为OOA阶段软件复用的主要研
OOA阶段软件复用的一方面。
2.2 范式抽象
范式是存在于某一科学论域内关于研究对象的基本意
它可以用来界定什么应该被研究、什么问题应该被提出、
阶段有三种范式抽象方法,其应用主要有以下几个方面:
2.2.1 领域范式抽象及其应用
领域抽象是用于某一领域的抽象问题的解决方案。在同
POS系统的设计开发中,根
2.2.2 关系范式抽象及其应用
现实世界的实体以及实体间的各种联系均可用关系来
其中查询操作的表达能力最重要,包括:选择、
OOA阶段,对某一具
按照上述思
)在学校的学生选课系统中,要定义一个学生类,这个类
2)在网上书
删除等操作也基本相同。因此可将这种关系抽象出来,
,2007(2).
[3] 刘春娟.浅析面向对象系统分析阶段软件复用模型[J].
,2008(24).
[4] 陈海涛.软件复用技术研究[C].2010国际信息技术与
,2010.
范式库可以说是所有计算机研究应用人员及相关人士
OOA阶段的每一个项目,直接对范式库进行查找,可以获
3 总结
文章通过探讨当今的软件复用技术,并对其应用进行了
参考文献:
[1] 王丽娟.软件复用技术及其在软件开发中的应用[J].
浅析软件复用技术及其在软件开发中的应用2500字

浅析软件复用技术及其在软件开发中的应用2500字软件复用思想其实是对已有软件中的一次再次利用。
很多新系统的研发也会有极大成分是对过去经验技术的借鉴和复用,软件复用给人们的工作带来了很多便利。
人们可以减少不必要的机械重复工作,节约更多的时间精力投入到软件创新部分,这种方式将会改善软件的标准化和灵活可靠性。
本文将对软件复用技术的基本概念进行一个阐述,其过程、发展状况也会在本文中谈到,针对当前软件技术的优势劣势本文也将提出一些观点,以供相关工作者参考。
软件复用技术;软件开发;应用;发展软件复用技术能够降低生产成本、提高软件产品的质量、提高系统兼容性等等,在研发人员的努力下,软件开发的风险逐渐减少,系统功能也在增长。
这个过程是不断积累和不断完善的过程,软件复用将会带来软件产业的合理分工专业化、标准化发展,我国倘若能够抓住这个机遇必将成为一个软件强国。
一、软件复用概述(一)软件的概念。
软件复用的主要目的是减少开发与维护的资金投入,这种以原有软件知识为基础而建立的新软件技术能够有效提高生产率。
软件复用概念的提出主要来源于软件危机之后人们意识到软件复用是解决高昂的维护费的一种最佳方法。
软件规模随着经济的发展不断扩大,为了从本质上来改变软件产品质量的维护工作,软件复用技术被广泛用于计算机行业中。
软件复用的使用软件通常被叫做可复用构件,复用的方式有两种,一种是原原本本使用原构件,另一种是将构件进行一定修改了再使用。
我们对软件复用的理解不能仅仅停留在程序复用层面,其实它还涉及分析模型、详细说明、测试用例等等。
值得注意的是软件复用和共享不是一个概念,我们要将两者区别开来。
二、软件复用技术(一)代码的复用。
软件复用级别不同所代表的效益也是不同的。
代码的复用包括两个内容,意识源代码,另一个是目标代码。
源代码级别比目标代码更高一些,代码复用主要依靠大量的可复用构件,其运用及其灵活,能够被广泛运用。
(二)设计的复用。
设计复用较少受环境影响,运用设计复用能减少修改次数,还能增加可复用构件复用机会。
软件复用在软件工程开展中的应用探析

软件复用在软件工程开展中的应用探析在当今数字化快速发展的时代,软件工程在各个领域的重要性日益凸显。
为了提高软件开发的效率和质量,降低成本,软件复用技术逐渐成为软件工程中的关键策略之一。
软件复用是指在软件开发过程中,重复使用已有的软件元素,如代码、设计、架构、测试用例等,以减少重复劳动,提高开发效率。
软件复用的重要性不言而喻。
首先,它能够显著缩短软件开发周期。
当开发人员可以复用已有的经过验证和测试的软件组件时,无需从头开始设计和实现,从而节省了大量的时间。
其次,有助于提高软件质量。
复用的软件组件通常已经经过了多次使用和优化,其稳定性和可靠性相对较高,从而降低了软件出现故障和错误的风险。
再者,能够降低开发成本。
减少了开发过程中的人力、物力和时间投入,使资源得到更有效的利用。
在软件工程中,软件复用的形式多种多样。
代码复用是最为常见的一种形式。
开发人员可以将已有的函数、类、模块等代码片段直接应用到新的项目中。
设计复用则是在软件架构和设计层面进行复用,例如复用特定的设计模式、架构风格等。
数据复用包括复用数据库结构、数据格式和数据内容等。
此外,还有文档复用,如复用需求文档、设计文档和测试文档等。
为了实现有效的软件复用,需要建立良好的复用库和复用机制。
复用库是存储可复用软件元素的仓库,它应该具有良好的分类和检索功能,以便开发人员能够快速找到所需的复用元素。
同时,还需要制定明确的复用策略和规范,包括复用元素的评估标准、复用的流程和权限管理等。
然而,软件复用在实际应用中也面临一些挑战。
首先,如何确定哪些软件元素是可复用的,并且能够在新的环境中正确运行,这需要进行充分的评估和测试。
其次,不同项目之间的需求和技术环境可能存在差异,导致复用的软件元素需要进行一定的修改和适配,这可能会增加额外的工作量。
此外,软件技术的快速更新换代也可能使得一些复用元素变得过时,需要不断维护和更新复用库。
为了应对这些挑战,开发团队需要具备良好的沟通和协作能力。
复用技术在软件工程领域中的应用

汇报人:文小库 2024-01-07
目录
• 复用技术概述 • 复用技术的分类 • 复用技术在软件工程中的应用
场景 • 复用技术面临的挑战与解决方
案 • 复用技术的未来展望 • 案例分析
01
复用技术概述
复用技术的定义
复用技术的定义
复用技术是一种在软件开发过程中, 将已有的代码、组件、模块等资源进 行重复利用,以提高软件的开发效率 和质量的技术。
详细描述
基于组件的复用技术使得软件应用程序的不同部分可以像乐高积木一样组合在一 起。这些组件具有明确定义的接口,使得它们可以在不同的应用程序中重复使用 。这种复用技术提高了软件开发的效率和可维护性。
基于框架的复用
总结词
基于框架的复用技术是一种将软件应用程序的结构和框架作 为可重用的资源,以减少开发工作量的方法。
区块链技术在软件复用中的潜在价值
版权保护
区块链技术可以用于记录软件的 版权信息和授权情况,保护开发 者的权益。
透明度与可信度
区块链的分布式特性可以提高软 件复用的透明度和可信度,降低 信息不对称的风险。
去中心化协作
区块链技术可以实现去中心化的 软件协作和复用,降低对中心化 机构的依赖。
06
案例分析
模块化开发
组件化开发
将软件组件封装为可重用的单元,通 过组件的组合和配置实现软件功能, 可以提高开发效率和软件的可扩展性 。
将软件系统划分为多个模块,每个模 块实现特定的功能,可以提高开发效 率和可维护性。
软件维护的复用
1 2
维护工具
使用自动化工具进行软件维护,如代码重构、代 码审查、测试工具等,可以提高维护效率和软件 质量。
浅析软件复用技术

浅析软件复用技术摘要:可复用的软件技术,已经成为大多数程序员不断使用的技术,也出现了专门以提供构件服务的供应商,它已经不再是一种单一的技术,而成为软件产业中的重要生产力、推动力,它不仅减轻了软件开发的重负,也开辟了软件产业链中的新方向。
关键词:软件复用;研究;发展本文简单介绍了软件复用研究的发展与软件复用的主要技术,进而研究了软件复用技术发展的新趋势,特别对软件复用技术研究的最新特点—软插件与软总线模型及其在分布环境中的应用前景进行讨论.1、软件复用的定义我们以前在提起软件复用时,往往把其简单的看作是一种节约企业软件作业的工作量的一种手段,而实际上,软件复用的展开还是提升软件质量的最有效的方式:一个软件模块在得到多次复用之后,其可靠性会不断的提高,软件的出错概率也会越来越低,当然相应的质量风险会越来越小,你的软件也就更加具有竞争力。
而规模化的成本效益和质量也正是产品化软件的最核心的价值所在。
软件构件是软件系统内可标识的、符合某种标准要求的构成成分,类似于传统工业中的零部件。
以上为软件复用过程的直观示例图。
复用成分的管理完成对复用成分库的组织,以期能够有效地组织和扩充软件复用成分.复用成分的实施利用是获取和管理的目的.其过程包括根据要求选择抽象的可复用成分,并对其进行适应性修改,以将其集成到现行开发的软件系统中去。
2、软件复用技术的历史与现状软件复用的历史,大致可划分为萌芽期、发展期和初步实用期3个历史时期。
代末到代末,软件复用技术迅速发展成为软件工程的一个重要的应用领域但由于注意力放在如何收集、提炼和改造软件系统构件上,而忽略了其他方面的问题,以致进展缓慢. 代起,人们不仅已认识到软件复用问题涉及多方面的知识,如软件工程知识、应用领域知识、人类工程学知识和人工智能知识,而且还认识到在软件复用实施中管理因素的重要性这一时期,软件复用在子程序库、报告生成器、编译器等方面都取得了长足进展.同时,人们已对何为软件复用有了一个非形式化、不够完整的概念;对复用信息的提炼、组织和存储进行了初步探讨;已经理解了软件的组装技术及基于对象的设计技术等,但上述理解仍是非形式化的,人们仍不能以任何系统化途径实现复用.这一时期被称为发展期.代后期至今,软件复用领域取得一些实用成果,软件复用进入初步实用期.各厂商开发了许多支持复用的软件系统,如Toshiba的软件工厂, Draco, Genesis系统等.从实现角度看, 代以前,软件复用主要以采用非面向对象技术来实现,复用的效果则主要以软件生产率和软件质量为标准来加以衡量.下图为软件复用技术的现状。
浅谈软件复用技术及其应用

浅谈软件复用技术及其应用陈思[上海烟草(集团)公司计算机信息中心]_______________________________________________________________________________【摘要】随着企业信息化建设的不断深入,集团公司多个烟厂生产指挥系统建设将相继展开。
在企业中充分运用软件复用技术,不仅可以规范企业的业务流程,进而对企业的业务过程进行优化重组,而且构建可复用的软件系统本身就是企业非常重要的知识库和规则库,可以成为指导企业实施和扩展管理信息系统的模型。
在深入分析企业需求基础上建立可复用的企业业务模型可以在最大程度上提高企业实施ERP的成功率,降低信息化投资的成本,缩短建设周期。
所以大力发展并推广软件复用技术对于促进集团化规模下的多个烟厂信息化建设有重要的现实意义。
【关键词】软件复用模块化生产指挥系统_______________________________________________________________________________1 软件复用技术概述1.1 软件复用技术的概念大多数情况下所讨论的软件可复用性指软件本身的可重用性,即软件代码实现的可重用性。
而实际上,软件复用远不止这些,软件开发的全生命周期都有可重用的价值,包括项目的组织、软件需求、设计、文档、实现、测试方法和测试用例都是可以被重复利用或借鉴的有效资源。
软件较强的可复用一直是软件工程所追求的目标之一,软件工程界希望有一天能和其它工业领域一样,利用标准化的软件模块快速构建特定的应用系统。
事实上,这种努力也取得了相当大的进展,但是与人们所期望的目标还是有不少差距,软件模块还远没有机械设备的零部件那样拆卸、维修、更换方便和简单。
1.2软件复用技术对企业信息化建设的意义在企业中软件复用技术的运用,不仅可以规范企业的业务流程,发现业务流程中不合理的环节,进而对企业的业务过程进行优化重纽,而且构建可复用的软件系统本身就是企业非常重要的知识库和规则库,可以成为指导企业实施和扩展管理信息系统的模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈软件复用技术及其应用陈思[上海烟草(集团)公司计算机信息中心]_______________________________________________________________________________【摘要】随着企业信息化建设的不断深入,集团公司多个烟厂生产指挥系统建设将相继展开。
在企业中充分运用软件复用技术,不仅可以规范企业的业务流程,进而对企业的业务过程进行优化重组,而且构建可复用的软件系统本身就是企业非常重要的知识库和规则库,可以成为指导企业实施和扩展管理信息系统的模型。
在深入分析企业需求基础上建立可复用的企业业务模型可以在最大程度上提高企业实施ERP的成功率,降低信息化投资的成本,缩短建设周期。
所以大力发展并推广软件复用技术对于促进集团化规模下的多个烟厂信息化建设有重要的现实意义。
【关键词】软件复用模块化生产指挥系统_______________________________________________________________________________1 软件复用技术概述1.1 软件复用技术的概念大多数情况下所讨论的软件可复用性指软件本身的可重用性,即软件代码实现的可重用性。
而实际上,软件复用远不止这些,软件开发的全生命周期都有可重用的价值,包括项目的组织、软件需求、设计、文档、实现、测试方法和测试用例都是可以被重复利用或借鉴的有效资源。
软件较强的可复用一直是软件工程所追求的目标之一,软件工程界希望有一天能和其它工业领域一样,利用标准化的软件模块快速构建特定的应用系统。
事实上,这种努力也取得了相当大的进展,但是与人们所期望的目标还是有不少差距,软件模块还远没有机械设备的零部件那样拆卸、维修、更换方便和简单。
1.2软件复用技术对企业信息化建设的意义在企业中软件复用技术的运用,不仅可以规范企业的业务流程,发现业务流程中不合理的环节,进而对企业的业务过程进行优化重纽,而且构建可复用的软件系统本身就是企业非常重要的知识库和规则库,可以成为指导企业实施和扩展管理信息系统的模型。
在深入分析企业需求基础土建立可复用的企业业务模型可以在最大程度上提高企业实施ERP或者其他管理信息系统的成功率。
所以大力发展并推广软件复用对于促进企业管理规范和信息化有重要的现实意义。
2 实现软件复用应考虑的主要问题2.1程序设计结构方面的考虑:1)需求的符合性:需求调研阶段注意提炼共性的功能性需求、和个性化的非功能性需求;软件项目最主要的目标是满足客户需求。
在进行构架设计的时候,大家考虑更多的是使用哪个运行平台、编成语言、开发环境、数据库管理系统等问题,对于和客户需求相关的问题考虑不足、不够系统。
一般来说,功能需求决定业务构架、非功能需求决定技术构架,变化案例决定构架的范围。
需求方面的知识告诉我们,功能需求定义了软件能够做些什么。
我们需要根据业务上的需求来设计业务构架,以使得未来的软件能够满足客户的需要。
非功能需求定义了一些性能、效率上的一些约束、规则。
而我们的技术构架要能够满足这些约束和规则。
变化案例是对未来可能发生的变化的一个估计,结合功能需求和非功能需求,我们就可以确定一个需求的范围,进而确定一个构架的范围。
在充分考虑用户共性需求和个性化需求基础土建立的系统架构,使实现软件复用的前提。
2)业务流程的可调整性应当考虑客户业务流程可能出现的变化,所以在系统构架设计时要尽量排除业务流程的制约,即把流程中的各项业务结点工作作为独立的对象,设计成独立的模块或组件,充分考虑他们与其他各种业务对象模块或组件的接口,在流程之间通过业务对象模块的相互调用实现各种业务,这样,在业务流程发生有限的变化时(每个业务模块本身的业务逻辑没有变的情况下),就能够比较方便地修改系统程序模块或组件间的调用关系而实现新的需求。
如果这种调用关系被设计成存储在配置库的数据字典里,则连程序代码都不用修改,只需修改数据字典里的模块或组件调用规则即可。
3)业务信息的可调整性应当考虑客户业务信息可能出现的变化,所以在系统构架设计时必须尽可能减少因为业务信息的调整对于代码模块的影响范围。
2.2源代码的组织结构方面的考虑:1)可扩充性:糸统方案的升级、扩容、扩充性能;不同客户瑞、应用服务器、数据库管理系统:如果潜在的客户使用的客户瑞可能使用不同的操作系统或浏览器,其可复用性必须考虑客户端程序的可移植性,或尽量不使业务逻辑放在客户端;数据处理的业务逻辑放在数据库管理系统中会有较好的性能,但如果客户群中不能确定使用的是同一种数据库管理系统,则业务逻辑就不能确定数据库管理系统中;2)可移植性:不同客户端、应用服务器、数据库管理系统;达到可移植性一定要注重标准化和开放性:只有广泛采用遵循国际标准,开发出开放性强的产品,才可以保证各种类型的系统的充分互联,从而使产品更具有市场竞争力,也为未来的系统复用和升级扩展提供了基础。
3 软件复用在两个烟厂生产指挥系统中的初步应用3.1需求复用1)烟厂生产指挥系统核心业务的识别与抽取在整个(集团)公司信息化集成系统建设的总体规划指导下,我们经过深入的分析调研,发现在上海卷烟厂和高扬公司的业务应用中都包含了:计调子系统、设备子系统、物料子系统、工质子系统、车间管理系统、机台电脑系统,以及综合信息与系统维护,涵盖了大部分条线的业务流程。
在系统分析时,可以将这些业务工作流程抽象出来,如工作计划的下达,工艺卡片的下达,机台电脑的管理,物料扫描发放等;两个系统的开发有先后,在上海卷烟厂生产指挥系统开发的基础上,再进行高扬生产指挥系统的需求调研时,我们可以有针对性的开展,并节约了流程梳理的时间,直接把精力集中在具体单据格式等细节问题上,提高了需求调研的效率。
2)两个生产指挥系统中非业务性需求分析一般的应用软件产品除了完成业务所需要的功能外,还必须有一些支持模块,以支持系统的正常运行。
在上海卷烟厂和高扬公司两个生产指挥系统中都包括这样一些模块:权限管理模块和系统维护支持模块。
权限管理是各部门、各级人员使用系统各项的基础,这对于每一个的生产应用系统来说都是必不可少的,并且其模式及细分程度应该类似。
系统维护支持模块是为了软件系统的正常运作所提供的必不可少的功能,如系统权限管理、日志管理、数据库备份/恢复功能等都属于此类。
所有的这些都可以作为烟厂生产指挥系统的公共模块加以复用。
3)软件界面风格对于类似的使用对象来说,保持两个生产指挥系统在风格上的一致性是非常重要的。
它不但可以减少软件的维护、培训费用,缩短用户的适应期;而且还可以在软件开发时进行界面风格复用,减少软件开发费用。
因此我们在两个生产指挥系统项目的开发时保证软件在风格上的一致性、操作方式上的一致性是至关重要的。
3.2架构设计复用基于烟厂生产指挥系统在整个企业信息集成系统中承上启下的作用,是生产活动与管理活动信息沟通的桥梁,对实时的要求较高,因此,我们在系统设计时,采用了以统一的系统架构。
对于车间级以上的各个业务系统(如计划调度子系统,设备子系统,工艺质量子系统,物料子系统),采用了C/S模式;考虑到车间作业系统有以下特点:客户端数目较多,联接时间长;客户端并发操作,实时响应要求高;客户端业务操作性强,界面要求高;系统要求具有较高的稳定性和安全性;与原有业务系统联系紧密。
所以我们采用了客户端/中间件/服务器技术。
该技术实际上是三层结构技术。
在客户端采用传统Client方式,用PB或者Delph1寄工具进行开发。
因为前台采用C1ient,所以中间件的选择应当适合客户机和服务器之间的联接和通讯。
整个系统的技术框架如图1所示:图1整个系统的技术框架图3.3模块化的设计在系统开发时,我们采用了模块化的技术。
按照功能将一个软件切分成许多部分单独开发,然后再组装起来,每一个部分即为模块。
其优点是利于控制质量、利于多人合作、利于扩充功能等,是软件工程中一种重要的开发方法,并为软件复用提供强有力的支持。
烟厂生产指挥系统是一个功能和模块比较多的大型系统,系统之间各个功能模块之间的相互引用特别复杂。
高扬生产指挥系统中增强了系统模块化的设计,使得模块之间的引用尽量减少,即使有引用也以可识别的方式来区分,这样就避免了系统内部各个核心模块功能级的耦合度,使得核心模块特别是各个业务条线的内聚度提高。
从而也避免了相似功能的重复编码,提高了程序的可维护性,简洁性、可读性。
目前各个核心业务模块之间的耦合度只到数据级,严格控制并禁止了功能级的耦合度,各个模块尽量只引用模块内定义的函数和数据窗口以及外部的结构。
将各个条线公用的数据窗口从原来的通用的数据窗口pbl中分离,减少了条线间的功能级的耦合度。
目前系统所定义的核心模块有:生产计划的接收下达模块,成品交库模块,辅料配料模块,工艺卡片下发模块。
3.4代码复用另外,在编码过程中的一个重要复用是算法的复用。
由于在函数设计时基本上每一个都提供了相似的功能,如新增、删除、修改、查询,而这些操作的算法基本上是一致的,差别只在于SQL语句的差别;所以在设计编码时,可以先设计一个共用的函数提供这些功能,在其他功能实现时可以调用这些函数,实现算法的重用。
3.5项目组织结构的复用在软件复用的过程中,仅仅有软件复用方法是不够的,还必须有复用的开发组织结构可以支持。
两个烟厂生产指挥系统也采用了复用的组织模式开展项目实施。
基于模块独立性、层次性,保证项目开发成员工作之间的相对独立性,模块联结方式应该是纵向而不是横向,模块之间应该是树状结构而不是网状结构或交叉结构,这样就可以把开发人员之间的通信、模块开发制约关系减到最少。
同时模块独立性也比较利于配置管理工作的进行。
复用的组织架构主要由三组成员纽成:复用函数创建组、应用纽和协调组。
复用函数创建组的成员,主要收集归纳并创建可以复用的函数提供给应用组使用;应用组分两个生产指挥项目分别进行相对独立的业务逻辑的设计与实现,在开发过程中使用复用函数创建组提供的可复用的函数进行业务逻辑的快速实现,并帮助复用函数创建者归纳,收集可复用的流程;协调组主要由项目经理承担。
主要在构建创建组和构件复用组织间起协调的作用,起到函数的分发推广的作用。
其实在软件复用过程当中,不仅仅通用函数可以复用,在业务层模块之间也可相互引用。
但是在引用时,也应该尽量避免模块之间的交互,提高模块的内剧性、降低模块间的耦合性。
在模块之间的引用协调也由协调组完成。
3.6结论与不足在两个生产指挥系统的开发过程中,我们主要采用了以上方法进行软件的复用开发。
实现了软件领域横向的复用和产品开发过程中的纵向层次架构的复用;并在软件开发过程中采用全程(从需求分析到编码实现)复月的策略进行软件开发,从而大大提高了软件产品的可复用性,提高了软件开发的生产率,并为后继类似的其他烟厂生产指挥系统的开发提供了良好的可复用基础。