软件系统工具

软件系统工具的种类繁多,很难有统一的分类方法。通常可以按软件过程活动将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。

1. 软件开发工具

对应软件开发过程的各种活动,软件开发工具有需求分析工具、设计工具、编码与排错工具、测试工具等。

I)需求分析工具

求分析工具用以辅助软件需求分析活动,辅助系统分析员从需求定义出发,生成完整的、清晰的、一致的功能规范。功能规范是软件所要完成的功能精确而完整的陈述,描述该软件要做什么及只做什么,是软件开发者和用户间的契约,同时也是软件设计者的和实现者的依据。功能规范应正确、完整地反映用户对软件的功能要求,其表达是清晰的、无歧义的。需求分析工具的目标就是帮助分析员形成这样的功能规范。

按描述需求定义的方法可将需求分析工具分为基于自然语言或图形描述的工具和基于形式化需求定义语言的工具。

2) 基于自然语言或图形描述的工具

这类工具采用分解与抽象等基本手段,对用户问题逐步求村,并在检测机制的辅助下,发现其中可能存在的问题(如一致性),通过对问题描述的修改,逐步形成能正确反映用户需求的功能规范。它能帮助分析员提高需求文档的质量,降低功能规范的维护费用。这里以支持结构化方法的需求分析工具为例介绍。

结构化分析方法采用数据流图的描述方法,分析的主要结果是一套分层的数据流图和一个数据词典。结构化需求分析工具通常由图形编辑器、数据词典管理器和检测机制三部分组成。使用图形编辑器绘制数据流图,该图形编辑器应支持图形的分层结构,以构成分层数据流图。在构造数据流图的同时把数据流图的有关信息(如加工名、数据流名、数据项、文件名等及它们之间的联系)填入数据词典。在填写数据词典的过程中,

数据词典管理器即可查出重名等错误。在构造出分层数据流图后,可通过检测机制来检

•查分层数据流图的合法性,可发现诸如父图与子图不平衡,遗漏的数据流(如无输入数据流或无输出数据流的加工),只有读文件没有写文件或只有写文件没有读文件等错误。

然后将修改后的数据流图和词典与用户交流,考察它是否符合用户的功能需求。若不一致,再使用图形编辑器进行修改。需求分析工具还应具备同步修改的功能,即修改数据流图的同时也修改数据词典中的有关信息,以保持数据流图与数据词典的一致性。经过多次反复的交流和修改,使功能规范逐步达到准确、完整和一致,最后形成有效的功能规范。除此以外,该工具还可测览数据词典,生成各种统计或查询报告。

3) 基于形式化需求定义语言的工具

基于形式化需求定义语言的工具大多以基于知识的需求智能助手的形式出现,并把人工智能技术运用于软件工程。这类工具通常具有一个知识库和一个推理机制。知识库中存放需求分析所需的公共知识,以及特定的应用领域知识。这些知识能用来理解需求定义中的省略写法,能部分消除不完整性和歧义性。推理机制能容忍需求定义的无序性,部分解决描述中的不一致性。这类工具接受用形式化语言书写的功能描述,运用知识库中的知识,通过推理,发现需求定义中的矛盾和不足,经补充、更新知识库中的知识和规则,以及与系统分析员的不断交互,得到完整的功能规范。

4) 其他需求分析工具

可执行规范语言以及原型技术为箫求分析工具提供了另一条实现途径,这些工具通过运行可执行规范或原型,将有关的结果显示给用户和系统分析员,以便进行需求确认。

2. 设计工具

设计工具用以辅助软件设计活动,辅助设计人员从软件功能规范出发,得到相应的设计规范。

设计规范是符合功能规范和需求定义中所指定的功能及性能要求,对软件的组织或其组成部分的内部结构的描述。通常设计规范分成概要设计规范和详细设计规范。概要设计规范描述软件的功能模块及其相互关系,说明模块的处理过程和外部行为,同时还应描述数据的逻辑结构。详细设计规范描述每个模块的处理算法及涉及到的全部数据结构。设计规范是程序员进行编程活动的依据。

3.编码与排错工具

编码工具和排错工具用以辅助程序员进行编码活动。编码工具辅助程序员用某种程序语言编制源程序,并对源程序进行翻译,最终转换成可执行的代码,因此编码工具通常与编码所使用的程序语言密切相关。排错工具用来辅助程序员寻找源程序中错误的性质和原因,并确定其出错的位置。由于源程序一般以正文的形式出现,必须有编辑器将它输入,并进行浏览、编辑和修改。又由于源程序的编写往往不会一次成功,需要不断寻找其中的错误并加以纠正。编码工具和排错工具是编程活动的重要辅助工具,也是最早出现的软件工具。

4. 软件维护工具

软件维护工具辅助软件维护过程中的活动,辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等。

1) 版本控制工具

在软件开发和维护过程中一个软件会有多个版本,版本控制工具用来存储、更新、恢复和管理一个软件的多个版本。UNTX 的(Source Code Control System,SCCS)(源代码控制系统)是版本控制工具的典型代表。SCCS 能为正文文件的多个版本建立一棵版本树,第一版完整储存文本全文,以后各版只存放它之前版本的不同之处,在任何时刻 SCCS 只允许对一个当前版本进行修改和提交。通过版本树维护版本的更新历史,并允许恢复到以前的某个版本。

2)文档分析工具

文档分析工具用以对软件开发过程中形成的文档进行分析,给出软件维护活动所需的维护信息。例如,基于数据流图的需求文档分析工具可给出对数据流图的某个成分(如加工)进行维护时的影响范围及被影响范围,以便在该成分修改的同时考虑其影响范围内的其他成分是否也要修改。基于模块结构图的设计文档分析工具可以给出对模块变量进行维护时的影响及被影响范围。针对程序文档的源代码分析工具可给出模块、全局变量、局部变量的定义、引用情况,它还可以进行程序分片。程序分片是把程序中与指定的数据项或数据结构有关的程序代码抽出来,过滤掉与其无关的代码,以便维护人员高效地理解和把握他所关心的部分。文档分析工具还可得到被分析的文档的有关信息,如文档各种成分的个数、定义及引用情况等。

3) 开发信息库工具

开发信息库工具用来维护软件项目的开发信息,包括对象、模块等。它记录每个对象的修改信息(已确定的错误及重要改动)和其他变形(如抽象数据结构的多种实现); 维护对象和与之有关信息之间的关系;包括模块的设计者、新版本中模块的改动及其与错误、测试用例、测试结果之间的联系等:其他必须记录的信息,包括用来生成此软件产品的所有工具的版本信息(如编译程序、连接程序、生成程序的版本号),所采用的命令语言程序和系统库以及测试用例版本和测试报告。 4) 逆向工程工具

在软件生存周期中,将某种形式表示的软件转换成更高抽象形式表示的软件的活动称为逆向工程。例如,用反汇编工具将机器语言代码转换成汇编语言代码,用反编译工具将汇编语言代码或机器语言代码转换成某种高级程序语言源程序,之后再将源程序转换成详细设计的某种表示形式,这都属于逆向工程的范畴。逆向工程工具就是辅助软件人员进行这种逆向工程活动的软件工具。若软件嵌乏必要的文档,原先的开发人员又已调离,就需使用逆向工程工具来理解原有的软件。

5) 再工程工具

再工程工具用来支持重构一个功能和性能更为完善的软件系统。目前的再工程工具主要集中在代码重构、程序结构重构和数据结构重构等方面。 代码重构工具可把用一种程序语言书写的程序转换成用另一种程序语言书写的或适用于不同硬件平台的程序,例如 FORTRAN 到C的转换工具。程序结构重构工具接受一个非结构化或结构化程度较低的源程序,构造出行为等价的结构化程序。数据结构重构工具通过对数据描述的分析,重构新的数据结构。

5.软件管理和软件支持工具

软件管理过程和软件支持过程往往要涉及到软件生存周期中的多个活动,软件管理和软件支持工具用来辅助管理人员和软件支持人员的管理活动和支持活动,以确保软件高质高效地完成。 辅助软件管理和软件支持的工具有很多,其中常用的工具有项目管理工具、配置管理工具、软件评价工具等。

1)项目管理工具

项目管理工具用来辅助软件的项目管理活动。通常项目管理活动包括项目的计划、调度、通信、成本估算、资源分配及质量控制等。一个项目管理工具通常把重点放在某一个或某几个特定的管理环节上,而不提供对管理活动包罗万象的支持。 例如成本估算工具,采用某种成本估算模型(如 COCOMO模型)对项目的成本进行估算。它可以通过间接的测量(如对代码行和功能点的测量)来估算项目的规模大小,并描述总的项目特征,如问题的复杂度、开发组经验和过程成熟度等。然后按一定的估算模型估算出项目的工作量、工期和开发人数等。当项目截止期限变更时,可检测它对整个开发成本的影响。

2)配置管理工具

配置管理工具用以辅助完成软件配置项的标识、版本控制、变化控制、审计和状态统计等基本任务,使各配置项的存取、修改和系统生成易于实现,从而简化审计过程,改进状态统计,减少错误,提高系统的质量。

3) 软件评价工具

软件评价工具用以辅助管理人员进行软件质量保证的有关活动。它通常可按某个软件质量模型(如 MCall 软件质量模型,ISO 软件质量度量模型等)对被评价的软件进行度量,然后得到相关的软件评价报告。目前许多度量指标还不能定量化,需要通过专家评分,再将得分送给软件评价工具。对一些已经定量化的度量指标则可利用评价工具自动获取。有的评价工具还可分析被评价程序的程序结构,根据某种软件复杂性模型(如Mc-Cabe的环路复杂度等)对被评价的程序进行复杂性度量。软件评价工具有助于软件的质量控制,对确保软件的质量有重要的作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Canoe软件系统修复工具是一款专门用于解决软件系统中问题的工具。它具有以下几个主要功能和特点。 首先,Canoe软件系统修复工具能够检测软件系统中的错误和故障。它可以通过系统的日志文件、错误报告和运行日志,对系统进行全面的扫描和分析。通过检测错误和故障,Canoe可以帮助开发人员快速定位问题,找到出错的原因。 其次,Canoe软件系统修复工具可以提供多种修复方案和方法。它通过内置的算法和策略,可以根据检测到的问题,给出相应的修复建议。无论是代码错误、数据异常还是系统配置问题,Canoe都可以提供相应的解决方案,帮助开发人员快速修复系统。 另外,Canoe软件系统修复工具还支持自动化修复。它可以利用自动化脚本和工具,对系统进行修复操作。开发人员只需要设置好修复参数和规则,Canoe就能自动执行修复操作,提高修复效率,减少人工干预。 最后,Canoe软件系统修复工具还具有可扩展性和灵活性。它支持多种编程语言和开发框架,适用于各种不同类型的软件系统。同时,Canoe还提供了丰富的插件和扩展包,可以根据实际需求进行定制和扩展,满足不同用户的个性化需求。 总之,Canoe软件系统修复工具是一款功能强大、易用性高的软件修复工具。它可以帮助开发人员快速解决软件系统中的问题,提高软件的质量和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值