《软件系统开发技术》课件第10章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《软件系统开发技术》课件第10章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件系统开发技术 软件 系统 开发 技术 课件 10
- 资源描述:
-
1、第十章软件工具和环境10.1 计算机辅助软件开发10.2 需求分析和规格说明工具10.3 概要设计工具AIDES系统10.4 详细设计工具SDL/PAD系统10.5 编程工具程序综合器10.6 检验和测试工具10.7 维护工具10.8 面向对象开发和维护的工具10.9 软件开发环境第十章软件工具和环境 计算机近二十年来广泛应用于各行各业,使这些领域的工作得以自动化。例如,许多飞机、汽车、拖拉机就是由先进的CADCAM系统设计和制造的。CADCAM(Cornputer Aided DesignComputer Aided Ma.nufacturing,即计算机辅助设计计算机辅造制造)系统是一组集
2、成化的工具,它们支持各种产品的规格说明、设计、分析和制造,从而减少或取消了生产过程中大量劳力密集的活动,对提高生产率和改进产品质量起了重要作用。l0.1 计算机辅助软件开计算机辅助软件开发发 第十章软件工具和环境大型软件系统的开发始终是一类劳力密集的活动,尽管7 O年代以来出现了不少指导软件开发的方法,且这些方法是有效的,但是实施这些方法涉及的许多工作是复杂而耗费人工的。例如按照这些方法需要编写大量高质量的文档,而且还需不断对它们作修改。维持文档内部的一致性并使各种版本合理地配置就是一个特别困难的任务,而人的能力毕竟是有限的,因此由人来处理大规模的问题显然难以保证质量。在计算机产量猛增、软件需
3、求急剧上升,软件技术人员紧缺的形势下,人们认识到对软件开发必须采用类似CADCAM的技术,也就是说必须为软件开发提供良好的自动化工具。第十章软件工具和环境早期的自动工具集中用于开发期的后阶段,最典型的例子是行文编辑程序、编译程序、排错程序等。提出软件生命期模型以后,有一段时期一直没有支持分析和设计的工具,70年代末,随着各种需求分析方法和设计方法的提出,对需求分析工具、设计工具以至支持整个生命期的配套工具和集成化软件开发环境的研究逐步形成高潮。目前,对软件工具和环境的研究方兴未艾,软件产业界和学术界都有不少单位在从事这一课题的研究,已有一些工具作为产品在软件市场上销售,但它们的功能还比较简单;
4、一些大学、研究所虽也研究出不少成果,且这些成果的面较广,功能更高级,但一般还未能用到产业界。第十章软件工具和环境 本章将分别介绍生命期各阶段可使用的典型工具,特别是支持SA方法和SD方法的工具,由此,对软件开发自动化的状况可见一斑。限于篇幅,我们只讨论这些工具的功能,不再介绍它们的内部实现。第十章软件工具和环境SA方法是相当实用的一种需求分析和规格说明方法,由于它简单、易学易用,在国外软件产业界已广泛使用多年,人们对它的一般反映是:由于有了简明清晰的需求说明书,所以方便了人际交流;又由于在开发早期就能从用户那里获得反馈,所以错误减少了,开发成本也有所下降。虽然SA方法是很有价值的,但它本身仍有
5、其固有的问题:仅用笔和纸来绘制和修改需求说明书很费人工,而且错误多,检查文档的一致性和完整性很不容易,系统规模越大、需求说明书越详细时,情况则更糟。这就妨碍了生产率和产品质量的进一步提高。人们意识到,自动工具有可能解决上述困难,本节将介绍两个支持SA方法的工具。l0.2 需求分析和规格说明工具需求分析和规格说明工具 第十章软件工具和环境10.2.1 Tektronix的工具箱的工具箱 美国Tektronix公司对SA方法进行了仔细的分析,他们发现SA方法的下面3个方面是可以考虑自动实现的:(1)图形和文字编辑程序可以减少修改SA文档的工作量。数据词典和小说明可借助一般的文字编辑程序来建立和修改
6、,专门的图形编辑程序配上图形终端等设备则可帮助人们绘制数据流图。由于数据流图中各个成分所在的位置对文档的可理解有一定的影响,如果图形编辑程序能自动为各个成分定位,则效果会更好。第十章软件工具和环境(2)SA文档中某些类型的错误可以用计算机来检查,例如上下两层数据流图对某个数据流的使用不一致,这种硬性错误就可用计算机来检测。当然涉及文档语义的一些错误还是要由人来发现,例如一个数据流的命名是否合适等。既然SA文档存放在计算机中,那就可由一个检查工具来检测文档中的不一致性,当然光是发现错误对维持一致性来说还不是令人满意的,因为一个一致的SA文档建立起来后,如果某个部分被修改了,整个文档的一致性又会遭
7、到破坏,所以如果能监视对文档的修改要求,并能自动导出文档中受影响部分需作的相应修改,则某种类型的不一致性就可避免了。这类检查工具可同编辑程序配合起来维持文档的一致性,而不是简单地发现不一致性。第十章软件工具和环境(3)从SA文档有可能自动导出SD方法的初始结构图。需求说明书写成后,下一步就是设计了,接在SA方法后使用的往往是SD方法。从一套数据流图自动导出初始结构图是有可能的,但导出过程需要一定的人工干预,所以这个过程不是全部自动化的,研究有效的半自动转换工具有一定难度,需要较高的投资。在进行了上述分析后,Tektronix公司先开发了编辑、检查、格式化和文档整理等一套自动工具,它们是用Mod
8、ula-2编写的,可在uNIx操作系统上运行,并用Tektronix的图形终端设备作为交互式图示手段。这些工具可以个别使用,也可结合起来配套使用,下面分别介绍这四类工具及其协同工作的过程。第十章软件工具和环境(1)编辑工具使用户能交互地修改SA文档,并负责导出维持文档一致性所需的相应修改要求。编辑工具有2个:数据流图编辑程序和文字编辑程序。前者是个专用的图形编辑器,它用于建立和修改数据流图,用户可用鼠标器来指定数据流图中每个成分的位置;后者可用于对数据词典和小说明作修改。编辑程序要对每个修改命令进行分析,以便导出对整套SA文档需作的相应修改,文档整理工具将检验并完成这些相应修改要求。第十章软件
9、工具和环境(2)检查工具用于检测SA文档中的错误。检查工具有4个,它们分别对数据流图、数据词典、小说明和全套SA文档进行检查。它能发现两类错误,一类是违背SA方法规则的硬性错误,如未定义的数据、只写不读的文件等;另一类是软性错误,如一张数据流图中画有过多的加工等,这些软性错误通常说明分析员未能很好地理解问题。(3)格式化工具将数据流图、数据词典、小说明等的内部表示转换成适合于人们阅读的形式,通常输出是显示在图形终端上的。第十章软件工具和环境(4)文档整理工具检查编辑工具导出的修改要求,并完成这些修改,从而维持全套SA文档的一致性。例如,从一张数据流图中删去了一个加工,就应将从属于这个加工的所有
10、数据流图及小说明删去,还应从数据词典中删去仅被这个加工及其下属所使用的条目;又如某个加工的编号被修改后,其下属的数据流图及小说明的编号也应作相应的修改。编辑工具负责导出这些相应的修改要求,整理工具再验证这些修改对维持一致性是否确实需要,然后完成这些修改。第十章软件工具和环境上述工具协同工作的过程如下(图10.1):(1)用户用编辑工具以交互方式对数据流图进行修改,编辑工具负责维持数据流图的合理性,如每个数据流必须有其源点和终点,则只有在操作员指定其源点和终点之后,才能画出一个数据流;如果源点或终点中的一个被删去了,这个数据流亦自动被删去。所以,某个修改对本张数据流图的影响在编辑时立即完成,但对
11、其他SA文档的影响则由编辑工具导出相应修改要求提交给整理工具来完成。第十章软件工具和环境(2)编辑过程结束后,整理工具读取导出的相应修改要求,并据此对SA文档的有关部分作修改。(3)整理工作完成后,检查程序开始工作,它对SA文档作检查。文档中被发现的错误,有些可以自动纠正,有些则必须向操作员报告,由人决定如何修改,例如父图和子图不平衡,纠正这种错误有多种可能,所以工具无法自动处理。Tektronix公司试用这套工具之后,获得了良好的效果,很明显的一点变化是:以前,开发工作的瓶颈总是绘制和重画数据流图,用了工具后,瓶颈变为评审文档所需的时间了,可见这套工具对SA方法的实施起了积极作用。第十章软件
12、工具和环境 近年来,由于图形显示设备的图形处理软件的迅速发展,类似Tektronix工具箱的系统已开始在市场上出现。这些工具还具有多窗口处理能力,可以在不同的窗口同时显示和处理上下几层数据流图及有关的数据词典和小说明,实施SA方法就更方便了。第十章软件工具和环境 l 0.2.2 PSLPSA系统系统 使用SA方法除了绘制数据流图之外,还要编写一本数据词典和一组小说明,小说明亦可像数据词典那样组织,即按编号或加工名的顺序排列起来构成一本词典,每个小说明就是词典中的一个条目。对大型系统来说,词典的容量一般比较宠大,所以人工维护一本词典是很花时间也很单调乏味的,词典经多次修改后,其一致性、完整性也难
13、以靠人工来检查。我们可以用计算机代替人来完成这项机械而繁琐的工作,负责这种工作的程序系统称为“词典管理程序”,或简称“词典”。第十章软件工具和环境 一个“词典管理程序”应具有下列基本功能:(1)规定一套词典条目的格式,即为数据流、文件、数据项、加工等几种类型的条目各规定一组语法。(2)接受上述格式的词典条目作为输入。(3)具有编辑的手段:如对词典条目进行插入、删除、修改等。(4)具有一定的一致性、完整性检查能力,即能发现并报告一些错误,如语法不正确、重复定义、循环定义等。(5)能够产生各类查阅报告、词典清单等。第十章软件工具和环境“词典管理程序”是一种有效的工具,近年来已研制出多种不同类型的词
14、典管理程序,其功能从简到繁各不相同,PSLPSA就是在词典管理的思想上开发出来的一个有代表性的系统。PSIJPSA是美国密执安大学ISDOS(1nformation system Design Optimization System)项目组研制的一个系统,研制这个系统的目的是为分析员提供需求文档的编写和检查的工具。第十章软件工具和环境 PSIJ(Problem Statement Language)是一种问题说明语言,它可以按一定的语法描述用户对系统的功能要求和性能要求。PSA(Problem Statement Analyzer)是问题说明分析器,它可以对用PSI。书写的文本进行分析,产生许
15、多有用的报告,图10.2是PSLPSA系统的示意图。PSLPSA将软件系统中的每个成分看作是一个“对象”,对象之间有特定的联系,每个对象本身又有特定的性质。以图32为例,?分类”、“报名”、“帐目”、“学生”、“报名单”、“发票”、都是对象,对象分成加工和数据两大类,图3.2中的“分类”、“报名等属于加工类,其余属于数据类。第十章软件工具和环境图10.2第十章软件工具和环境 PSL是一种形式化的需求描述语言,它从系统的输入输出流、系统结构、数据结构、数据流程、系统规模、系统动态、系统性质、项目管理等8个方面描述系统中的每一个对象,包括它们的种种性质以及它们之间的联系。对每个对象的一段PSI。描
16、述就构成了一个词典条目。PSIJ描述一个数据对象的语法如表10.1所示。第十章软件工具和环境第十章软件工具和环境 表10.1中第一行指出了数据对象的名字。第二、三行描述了数据的结构,即这个数据由哪些数据项组成,它本身又是什么数据的一部分,第四、五、六行描述了数据的流程,即它由哪个加工产生,被哪个加工修改,又被哪个加工使用等。PSL描述一个加工的语法如表10.2所示。表中第一行指出了加工的名字。第二、三行描述了系统的输入输出流,即这个加工产生什么数据输出到系统外面,这个加工从系统外接受什么数据等。第四行描述了这个加工的逻辑,加工逻辑可用自然语言或结构化语言描述。第十章软件工具和环境第五、六、七行
17、描述数据流程,即这个加工产生什么数据,修改什么数据,使用什么数据等。第八、九行指出了系统的结构,即这个加工有哪些子加工,它本身是哪个加工的一部分等。第十行说明这个加工执行的频率,如每天发生多少次等。最后三行是系统动态方面的描述,如这个加工被什么事件激发,这个加工的开始将引起什么事件,加工的结束又会引起什么事件等等。第十章软件工具和环境第十章软件工具和环境 在用SA方法分析大型的数据处理系统时,借助PSLPSA这个工具,我们就可以一边对用户的数据处理活动作由顶向下逐层分解,一边将分析过程中遇到的数据流、文件、加工等对象用PSL描述出来,并将这些描述输入到PSLPSA系统。PSA将对输入信息作词法
18、、语法、一致性和完整性检查,防止相互矛盾的或错误的信息进入文档中,然后保存这些描述信息,这就形成了一个用计算机管理的词典,或称“文档库”。当需要修改对系统的描述时,PSA可以根据要求对文档库中的内容作编辑修改,同时进行种种检查,以维持文档的一致性。需求分析阶段结束后,PSA可以根据分析员要求以标准格式输出全部文档。第十章软件工具和环境 由于PSL是一种形式化的语言,有确定的语法,可以被计算机处理,所以PSA可以帮助分析员对用PSL书写的文档进行查阅分析,产生从不同侧面观察系统的各种报告。其中,有些报告只是将文档库中的信息原封不动地取出制成报表,有些需对信息重新排列,有些则涉及复杂的分析。例如,
19、PSA可以列出名为X X X的对象的所有属性,或者列出同X X X有关的所有对象,这些功能可以帮助分析员对文档作有选择的阅读PSA还可以产生描述系统中成分间交叉引用关系的报告,数据加工关系表和数据元素关系表就是两个典型例子。第十章软件工具和环境数据加工关系表用矩阵表示数据同加工间的相互关系(表10.3),表中最左边列出了数据型对象(另有编号一数据名表指出编号同数据名的对应),最上面一行列出了加工型对象(另有编号一加工名表指出编号同加工名的对应),表中的字母描述了数据I和加工J的关系:字母R表示数据I被加工J接收或使用,字母u表示数据I被加工J修改,字母D表示数据I由加工J导出或产生。第十章软件
20、工具和环境 数据元素关系表用矩阵描述数据对象所含的元素,也描述了多个数据对象含有公共元素的情况(表10.4),表中最左边列出了数据元素(即数据项),最上面列出了数据对象(另有编号一元素名表和编号一数据名表指出编号同元素或数据的对应),表中第l行第J列的*号表示数据J中含有元素I。PSA产生的上述报表,可以帮助分析员进一步理解需求文档,它们不仅在需求分析阶段,而且在整个生命期间都是很有用的,例如对系统作维护修改时,根据数据加工关系表就可确定数据I修改的影响范围,以便决定必须重新设计哪些加工。第十章软件工具和环境 由于词典条目中包含了对数据流程的描述,所以PSA还可根据词典的内容打印出数据流图,这
21、些图可能要分别打印在几张纸上,按打印在纸上的标记将几张纸拼接起来,就可得到一张完整的数据流图。PSLPSA系统使人们用统一的方式来理解和表达一个数据处理系统,并发挥了计算机的特长来维护需求文档库,使需求文档标准、一致、完整,并且能反映系统的最新状况。PSLPSA系统的作用是多方面的,无论从词典管理、文档编辑、文档检查、文档理解和维护等哪一角度来看,它都是一个良好的工具。PSLPSA系统是软件工具中的一个杰出代表,目前在IBM、uNIVAc等大型机上都可配备PSLPSA系统。第十章软件工具和环境 SD方法在l974年提出之后,受到人们的普遍关注,经多年使用后,其效果是明显的。SD方法使设计文档标
22、准化,提高了软件的可理解性和可维护性,而开发成本却降低了。但是使用SD方法也有一些问题,第一是大型系统的结构图很复杂,其典型尺寸约为20英尺(6.09 6 m)长、l0英尺(3.048 m)高,包含了成百上千个模块,所以绘制、修改并维持其正确性既化人工又很困难;第二是SD方法的一些设计技巧虽然概念上是自然的,但是没有严格的定义,所以实际使用并非容易,对经验不足的人尤其如此,例如块间联系、块内联系的类型、作用范围控制范围等问题备人可以有不同解释,难以客观地进行评价。l0.3 概要设计工具概要设计工具AIDES系统系统第十章软件工具和环境这些问题带来的后果是开发人员将设计看成是额外的负担,于是往往
23、仅绘制一个极粗糙的结构图后就急于去编程,想在编程中再来完成设计,这就难以保证产品的质量;又由于设计员难以了解整个系统的结构,往往只是“改进”他自己的子系统,这样使整个系统的设计质量遭受损失。所以随着SD方法的推广,开发支持SD方法的自动工具势在必行。第十章软件工具和环境 美国Hughes飞机公司80年代初在VAX 11780机上开发了AIDES(Automated Interactive Design and Evaluation System)系统。AIDES一方面是一个典型的信息处理系统,它具有一些常规的功能,如交互式编辑、报告产生、数据库管理等;另一方面,它又是一个“计算机辅助设计”系统
24、,因为它具有设计文档编写、结构图自动图形布局、设计标准强制、设计配置控制、设计复杂性度量和可测试性度量等性能。AIDES可以辅助设计人员用SD方法以交互方式对软件系统作模块分解,系统的反馈信息基本是图形的,图10.3是AIDES的示意图。第十章软件工具和环境 图 10.3第十章软件工具和环境AIDES包括两个部分:结构图图示系统(SCG。)和设计质量度量系统(DQM)。结构图图示系统SCG(Structure Cha,rt Graphics System)具有下列功能:1)交互式结构图编辑:操作员只要发出一条命令“建立一个模块”,系统就会自动问模 块的名字和调用的模块等,然后在文档中插入有关信
25、息并修改屏幕上的图形;屏幕上还能。同时显示模块的文字信息(功能、输入和输出等)。第十章软件工具和环境 2)窗口设置:通过窗口用户可以选择观看整张结构图的一部分,窗口还可以伸缩,因此可以粗看整张结构图的形态,也可细看某个局部。3)结构图自动布局:按照某种标准为结构图中各个成分自动定位,使各模块尽可能匀称合理地排列,因此结构图比较美观清晰,便于阅读理解。4)设计文档整理:全部设计文档(包括结构图和模块说明)保存在一个关系型数据库中,需要时可以打印或显示。第十章软件工具和环境 5)查询报告:系统可以回答“有多少个模块调用模块”、“哪些模块使用 数据”等查询。此外,SCG还有配置控制和将几个子树装配成
展开阅读全文