




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题课习题课软件开发成本软件开发成本成本估算成本估算需求分析需求分析数据流图数据流图系统分析系统分析动态模型动态模型结构化设计结构化设计模块独立性模块独立性系统测试系统测试测试用例设计测试用例设计系统运行维护系统运行维护维护性维护性1软件开发成本软件开发成本成本估算成本估算1 1、美国一家公司在美国一家公司在19821982年计划用年计划用FORTRANFORTRAN语言开发一个在语言开发一个在VAX750VAX750计算机上运行的应用程序,估计这个程序的长度为计算机上运行的应用程序,估计这个程序的长度为1000010000条条FORTRANFORTRAN指令。如果平均每天可以开发出指令。如果
2、平均每天可以开发出1010条条FORTRANFORTRAN指令,请问:指令,请问:(1 1)开发这个应用程序将用多少人日?开发这个应用程序将用多少人日?(2 2)假设程序员的月平均工资为假设程序员的月平均工资为40004000美元,每月按美元,每月按2020个工作个工作日计算,这个软件的成本是多少美元?日计算,这个软件的成本是多少美元?(3 3)19821982年年VAX750VAX750计算机硬件价格约为计算机硬件价格约为125000125000美元,在美元,在那一年这个软件的成本在总成本中占多大比例?那一年这个软件的成本在总成本中占多大比例?(4 4)2020年后,一台性能远远优于年后,一
3、台性能远远优于VAX750VAX750的微型计算机的价的微型计算机的价格约为格约为20002000美元,这时软件开发生产率已提高到平均每人每美元,这时软件开发生产率已提高到平均每人每天可以开发出天可以开发出4040条指令,而程序员的月平均工资也已涨到条指令,而程序员的月平均工资也已涨到80008000美元。如果在美元。如果在20022002年开发上述年开发上述FORTRANFORTRAN应用程序的应用程序的成本在总成本中占多大比例?成本在总成本中占多大比例?2解:解:(1 1)开发这个应用程序大约需用开发这个应用程序大约需用10001000个人日。需要指出的是个人日。需要指出的是,上述工作量包
4、括问题定义、可行性研究、需求分析、总体设,上述工作量包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试等各个开发阶段的工作量,而计、详细设计、编码和单元测试等各个开发阶段的工作量,而不仅仅是编写程序所需的工作量。不仅仅是编写程序所需的工作量。(2 2)每月平均工作每月平均工作2020天,故开发这个软件需要用:天,故开发这个软件需要用: 1000/20=50 1000/20=50(人月)人月)每人每月的平均工资为每人每月的平均工资为40004000美元,故这个软件的成本大约为:美元,故这个软件的成本大约为: 50 50* *4000=2000004000=200000(美元)
5、美元)(3 3)软件成本与硬件成本之和为计算机系统总成本。这个软件软件成本与硬件成本之和为计算机系统总成本。这个软件的成本在总成本中所占的比例为:的成本在总成本中所占的比例为: 200000/ 200000/(200000+125000200000+125000)=61.5%=61.5%(4 4)在在20022002年开发这个应用程序所需用的工作量约为:年开发这个应用程序所需用的工作量约为: 10000/ 10000/(4040* *2020)=12.5=12.5(人月)(人月)这个软件的成本大约为:这个软件的成本大约为: 12.5 12.5* *8000=1000008000=100000(
6、美元)(美元)该软件的成本在总成本中所占的比例为:该软件的成本在总成本中所占的比例为: 100000/ 100000/(100000+2000100000+2000)=98%=98%3需求分析需求分析数据流图数据流图41 1、 银行计算机储蓄系统的工作过程大致如下:储银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率及密)、身份证号码、存款类型、存款日期、利率及密码(可选)等信息,并印出存款
7、单给储户;如果是码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,收系统首先核对储户密取款而且存款时留有密码,收系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。息并印出利息清单给储户。请用数据流图描绘本系统的功能,并用实体请用数据流图描绘本系统的功能,并用实体联联系图描绘系统中的数据对象。系图描绘系统中的数据对象。习题习题5解:(解:(1 1)描绘本系统功能的数据流图如下。描绘本系统功能的数据流图如下。1 1记录存记录存款信息款信息2 2打印存打印存款存单款存单3 3核对核对密码密码4 4计算计
8、算利息利息5 5打印利打印利息清单息清单储户储户储户储户D1 存款信息存款信息存款信息存款信息存款信息存款信息利利息息清清单单存款存单存款存单存款单存款单取款单取款单存款信息存款信息存款信息存款信息利息值利息值6(2 2)本问题中的实体及属性本问题中的实体及属性n两类实体:两类实体:n储户和储蓄所。他们之间有储户和储蓄所。他们之间有“存取款存取款”关系。关系。n关系:关系:n一位储户可以在多家储蓄所存取款,一位储户可以在多家储蓄所存取款,n一家储蓄所拥有多位储户,一家储蓄所拥有多位储户,n所以存取款是多对多(所以存取款是多对多(MM:N N)关系。关系。n属性:属性:n储户的属性主要有:姓名、
9、住址、电话号码和身份证号码;储户的属性主要有:姓名、住址、电话号码和身份证号码;n储蓄所的属性主要有:名称、地址和电话号码;储蓄所的属性主要有:名称、地址和电话号码;n联系类型存取款的属性:数额、类型、到期日期、利率和密联系类型存取款的属性:数额、类型、到期日期、利率和密码。码。n计算机储蓄系统中数据对象的实体计算机储蓄系统中数据对象的实体联系图如下。联系图如下。7描绘计算机储蓄系统中数据对象的实体描绘计算机储蓄系统中数据对象的实体联系图联系图住址住址图图 存款信息计算机储蓄系统的实体存款信息计算机储蓄系统的实体联系图联系图储蓄所储蓄所N N姓名姓名地址地址名称名称数额数额类型类型利率利率密码
10、密码电话号码电话号码身份证号码身份证号码到期日期到期日期电话号码电话号码储户储户存取款存取款MM8习题习题2 2、目前住院病人主要由护士护理,这样做不仅需目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。地画出描述本系统功能的数据流图。 医院对患者监护系统的基本要求是随时接收医院对患者监护系统的基本要求是随时接收每个病人的生
11、理信号每个病人的生理信号( (脉搏、体温、血压、心电图脉搏、体温、血压、心电图等等) ),定时记录病人情况以形成患者日志,当某个,定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。以要求系统印出某个指定病人的病情报告。9解解: :(1 1)系统的数据源点、终点、处理功能及存系统的数据源点、终点、处理功能及存储储n源点:源点:n病人:提供生理信号信息;病人:提供生理信号信息;n系统随时接收每个病人的生理信
12、号系统随时接收每个病人的生理信号( (脉搏、体温、血脉搏、体温、血压、心电图等压、心电图等) )n护士:要求病情报告信息;护士:要求病情报告信息;n护士可以要求系统印出某个指定病人的病情报告。护士可以要求系统印出某个指定病人的病情报告。n时钟:提供日期和时间信息的时钟:提供日期和时间信息的“时钟时钟”。n系统应系统应“定时记录病人情况以形成患者日志定时记录病人情况以形成患者日志” 。n终点:终点:n护士:接收警告信息和病情报告。护士:接收警告信息和病情报告。10解解: :(1 1)系统的数据源点、终点、处理功能及存系统的数据源点、终点、处理功能及存储储n处理:处理:n接收信号;接收信号;n分析
13、信号;分析信号;n产生警告信息信息;产生警告信息信息;n定时取样生理信号;定时取样生理信号;n更新日志;更新日志;n产生病情报告。产生病情报告。n存储:存储:n患者安全范围:医生规定的病人的生理信号安全范围;患者安全范围:医生规定的病人的生理信号安全范围;n患者日志:定时记录病人情况以形成患者日志。患者日志:定时记录病人情况以形成患者日志。 11(2 2)系统的基本系统模型系统的基本系统模型护士护士护士护士警告信息警告信息生理信号生理信号患者监患者监护系统护系统病人病人时钟时钟病情报告病情报告日期、时间日期、时间要求报告要求报告图图 患者监护系统的基本系统模型患者监护系统的基本系统模型12(3
14、 3)系统的功能级数据流图系统的功能级数据流图1 1接收接收信号信号3 3产生警产生警告信息告信息4 4定时取样定时取样生理信号生理信号D1 患者安全范围患者安全范围危急病人危急病人信息信息病情报告病情报告警告警告信息信息生理信号生理信号日期日期时间时间定时的定时的生理信号生理信号日志日志数据数据护士护士护士护士病人病人时钟时钟2 2分析分析信号信号5 5更新更新日志日志6 6产生病产生病情报告情报告D1 患者日志患者日志生理信号生理信号要求要求报告报告1314n3 3、北京某高校可用的电话号码有以下几类:北京某高校可用的电话号码有以下几类:n校内电话号码由校内电话号码由4 4位数字组成,第位
15、数字组成,第1 1位数字不是位数字不是0 0;n校外电话又分为本市电话和外地电话两类,拨校外电话需先拨校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0 0,若是本市电话则再接着拨若是本市电话则再接着拨8 8位数字位数字( (第第1 1位不是位不是0)0),若是外地电话则,若是外地电话则拨拨3 3位区码再拨位区码再拨8 8位电话号码位电话号码( (第第1 1位不是位不是0)0)。n请用定义数据的方法,定义上述的电话号码。请用定义数据的方法,定义上述的电话号码。习题(数据管理策略的确定)习题(数据管理策略的确定)n练习(数据元素定义):练习(数据元素定义):n解解1 1:电话号码电话号码=
16、校内电话号码校内电话号码| |校外电话号码校外电话号码 校内电话号码校内电话号码= =非零数字非零数字+3+3位数字位数字 3 3位数字位数字=3=3数字数字33 校外电话号码校外电话号码=本市号码本市号码| |外地号码外地号码 本市号码本市号码= =数字零数字零+8+8位数字位数字 外地号码外地号码= =数字零数字零+3+3位数字位数字+8+8位数字位数字 8 8位数字位数字= =非零数字非零数字+7+7位数字位数字 7 7位数字位数字=7=7数字数字7715n3 3、北京某高校可用的电话号码有以下几类:北京某高校可用的电话号码有以下几类:n校内电话号码由校内电话号码由4 4位数字组成,第位
17、数字组成,第1 1位数字不是位数字不是0 0;n校外电话又分为本市电话和外地电话两类,拨校外电话需先拨校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0 0,若是本市电话则再接着拨若是本市电话则再接着拨8 8位数字位数字( (第第1 1位不是位不是0)0),若是外地电话则,若是外地电话则拨拨3 3位区码再拨位区码再拨8 8位电话号码位电话号码( (第第1 1位不是位不是0)0)。n请用定义数据的方法,定义上述的电话号码。请用定义数据的方法,定义上述的电话号码。习题(数据管理策略的确定)习题(数据管理策略的确定)n练习(数据元素定义):练习(数据元素定义):n解解2 2:电话号码:电话号码
18、=校内电话号码校内电话号码| |校外电话号码校外电话号码 校内电话号码校内电话号码= =非零数字非零数字+3+3位数字位数字 3 3位数字位数字=3=3数字数字33 校外电话号码校外电话号码=0+=0+本市号码本市号码| |外地号码外地号码 本市号码本市号码=8=8位数字位数字 外地号码外地号码=3=3位区码位区码+8+8位数字位数字 3 3位区码位区码=3=3数字数字33 8 8位数字位数字= =非零数字非零数字+7+7位数字位数字 7 7位数字位数字=7=7数字数字77系统分析系统分析动态模型动态模型16习题习题n1 1、办公室复印机的工作过程大致如下:办公室复印机的工作过程大致如下:n未
19、接收到复印命令时处于闲置状态,一旦接收未接收到复印命令时处于闲置状态,一旦接收到复印命令则进入复印状态,完成一个复印命到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到告
20、等待维修人员来排除故障,故障排除后回到闲置状态。闲置状态。n请用状态转换图描绘复印机的行为。请用状态转换图描绘复印机的行为。17解解: :(1 1)分析复印机的状态、事件。分析复印机的状态、事件。n复印机的主要状态:复印机的主要状态:闲置、缺纸、卡纸。闲置、缺纸、卡纸。n引起状态转换的事件:引起状态转换的事件:n复印命令、完成复印命令、发现缺纸、装满纸、复印命令、完成复印命令、发现缺纸、装满纸、发生卡纸故障、排除了卡纸故障。发生卡纸故障、排除了卡纸故障。(2 2)状态转换图状态转换图卡纸卡纸do/do/警告警告发生卡纸故障发生卡纸故障发现缺纸发现缺纸复印命令复印命令完成复印命令完成复印命令复印
21、复印do/do/复印复印闲置闲置缺纸缺纸do/do/警告警告排除了卡纸故障排除了卡纸故障装满纸装满纸18习题习题n假设你在一所职业高中工作,负责该校信假设你在一所职业高中工作,负责该校信息系统的建设与维护。财务科长请你研究息系统的建设与维护。财务科长请你研究用学校拥有的微型计算机生成工资明细表用学校拥有的微型计算机生成工资明细表和各种财务报表的可能性。和各种财务报表的可能性。n请详细描述你用结构化分析方法分析上述请详细描述你用结构化分析方法分析上述问题的过程。问题的过程。19结构化设计结构化设计模块独立性模块独立性20表表1 1 模块接口描述模块接口描述习题习题n1 1、分析图分析图1 1,确
22、定模块之间的耦合类型。,确定模块之间的耦合类型。n图中已给模块之间的接口编了号码,表图中已给模块之间的接口编了号码,表1 1描述了模块间的描述了模块间的接口。接口。接口编号接口编号输入输入输出输出1 1飞机类型飞机类型状态标志状态标志2 2飞机零件清单飞机零件清单3 3功能代码功能代码4 4飞机零件清单飞机零件清单5 5零件编号零件编号零件制造商零件制造商6 6零件编号零件编号零件名称零件名称图图1 1 一个程序的模块互连图一个程序的模块互连图pqrtsu2 21 13 34 45 56 6模块模块p p、t t、u u更新同一更新同一个数据库个数据库21表表1 1 模块接口描述模块接口描述解
23、:分析模块间传递的信息类型解:分析模块间传递的信息类型n传递简单变量:传递简单变量:p p与与q q、r r与与t t、s s与与u u,数据耦合。数据耦合。n传递控制元素:传递控制元素:q q与与r r。控制耦合。控制耦合。n模块间传递功能代码时就传递了控制元素。模块间传递功能代码时就传递了控制元素。n信息不确定:信息不确定:p p与与s s、q q与与s s。数据或特征耦合。数据或特征耦合。n如果如果s s使用或更新使用或更新p p传递的零件清单中的所有元素,数据耦合传递的零件清单中的所有元素,数据耦合n如果如果s s只访问该清单中的部分元素,特征耦合。只访问该清单中的部分元素,特征耦合。
24、接口编号接口编号输入输入输出输出耦合类型耦合类型1 1飞机类型飞机类型状态标志状态标志数据数据2 2飞机零件清单飞机零件清单3 3功能代码功能代码控制控制4 4飞机零件清单飞机零件清单5 5零件编号零件编号零件制造商零件制造商数据数据6 6零件编号零件编号零件名称零件名称数据数据图图1 1 一个程序的模块互连图一个程序的模块互连图pqrtsu2 21 13 34 45 56 6模块模块p p、t t、u u更新同一更新同一个数据库个数据库模块模块p p、t t、u u之间为公共环境耦合之间为公共环境耦合22习题习题n2 2、分析图分析图2 2所示层次图,确定每个模块的内聚类型。所示层次图,确定
25、每个模块的内聚类型。图图2 2 计算多地点日平均温度的程序计算多地点日平均温度的程序计算多个地点的日平均温度功能内聚功能内聚初始化变量sum并打开文件创建新的温度记录存储温度记录关闭文件并打印平均温度读取地点、时间和温度计算特定地点的日平均温度偶然内聚偶然内聚偶然内聚偶然内聚内聚练习23画出下列伪码程序的程序流程图和盒图:画出下列伪码程序的程序流程图和盒图:nSTARTnIF p THENnWHILE q DOn fnEND DOnELSEnBLOCKn gn nnEND BLOCKnEND IFnSTOP详细设计练习n解:(解:(1)程序流程图程序流程图gnfT TF F开始开始停止停止pq
26、 q循环循环WHILEqWHILEq q q循环循环24画出下列伪码程序的程序流程图和盒图:画出下列伪码程序的程序流程图和盒图:nSTARTnIF p THENnWHILE q DOn fnEND DOnELSEnBLOCKn gn nnEND BLOCKnEND IFnSTOP本节练习n解:(解:(2)盒图盒图FpTgqnf25习题习题n1 1、用用3 3种方法计算下图所示流图的环形复杂度。种方法计算下图所示流图的环形复杂度。a ab bc cd de eh hg gf fn解:环形复杂度解:环形复杂度V(G)V(G)n(1 1)V(G)=V(G)=流图中的区域数流图中的区域数5 5n(2
27、2)V(G)=V(G)=流图中边数流图中边数E-E-结点数结点数P+2P+2nE=11E=11,P=8P=8,V(G)=11-8+2=5V(G)=11-8+2=5n(3 3)V(G)=V(G)=判断数判断数+1+1n有有2 2条输出弧的为条输出弧的为1 1个判断;个判断;n有有n n条输出弧的为条输出弧的为n-1n-1个判断;个判断;nV(G)=2V(G)=21+11+1(3-13-1)+1=5+1=526习题习题n1 1、用用3 3种方法计算下图所示流图的环形复杂度。种方法计算下图所示流图的环形复杂度。a ab bc cd de eh hg gf fn解:环形复杂度解:环形复杂度V(G)V(
28、G)n(1 1)V(G)=V(G)=流图中的区域数流图中的区域数5 5n(2 2)V(G)=V(G)=流图中边数流图中边数E-E-结点数结点数P+2P+2nE=11E=11,P=8P=8,V(G)=11-8+2=5V(G)=11-8+2=5n(3 3)V(G)=V(G)=判断数判断数+1+1n有有2 2条输出弧的为条输出弧的为1 1个判断;个判断;n有有n n条输出弧的为条输出弧的为n-1n-1个判断;个判断;nV(G)=2V(G)=21+11+1(3-13-1)+1=5+1=527系统测试系统测试测试用例设计测试用例设计28习题习题1 1、设计下列伪码程序的语句覆盖和路径覆盖测试用例。设计下
29、列伪码程序的语句覆盖和路径覆盖测试用例。STARTSTARTINPUT (A,B,C)INPUT (A,B,C)IF A5IF A5THEN X=10THEN X=10ELSE X=1ELSE X=1END IFEND IFIF B10IF B10THEN Y=20THEN Y=20ELSE Y=2ELSE Y=2END IFEND IFIF C15IF C15THEN Z=30THEN Z=30ELSE Z=3ELSE Z=3END IFEND IFPRINT (X,Y,Z)PRINT (X,Y,Z)STOPSTOPX=10T TF F开始开始停止停止A5A5INPUT A,B,CINPUT
30、 A,B,CX=1Y=20B10B10Y=2Z=30C15C15Z=3PRINT X,Y,ZPRINT X,Y,Z解:程序流程图如图。解:程序流程图如图。29解:解:(1 1)语句覆盖测试用例语句覆盖测试用例使使3 3个判定表达式之值全为假个判定表达式之值全为假输入:输入:A=1A=1,B=1B=1,C=1C=1预期输出:预期输出:X=1X=1,Y=2Y=2,Z=3Z=3使使3 3个判定表达式之值全为真个判定表达式之值全为真输入:输入:A=20A=20,B=40B=40,C=60C=60预期输出:预期输出:X=10X=10,Y=20Y=20,Z=30Z=30X=10T TF F开始开始停止停止
31、A5A5INPUT A,B,CINPUT A,B,CX=1Y=20B10B10Y=2Z=30C15C15Z=3PRINT X,Y,ZPRINT X,Y,Z(2 2)路径覆盖测试用例路径覆盖测试用例程序共有程序共有8 8条可能的执行通路,共需条可能的执行通路,共需8 8组测组测试数据。试数据。3 3个判定表达式之值全为假个判定表达式之值全为假输入:输入:A=1A=1,B=1B=1,C=1C=1预期输出:预期输出:X=1X=1,Y=2Y=2,Z=3Z=33 3个判定表达式之值依次为假、假、真个判定表达式之值依次为假、假、真输入:输入:A=1A=1,B=1B=1,C=60C=60预期输出:预期输出:
32、X=1X=1,Y=2Y=2,Z=30Z=3030解解( (续续) )3 3个判定表达式之值依次为假、真、假个判定表达式之值依次为假、真、假输入:输入:A=1A=1,B=40B=40,C=1C=1预期输出:预期输出:X=1X=1,Y=20Y=20,Z=3Z=33 3个判定表达式之值依次为假、真、真个判定表达式之值依次为假、真、真输入:输入:A=1A=1,B=40B=40,C=60C=60预期输出:预期输出:X=1X=1,Y=20Y=20,Z=30Z=303 3个判定表达式之值依次为真、假、假个判定表达式之值依次为真、假、假输入:输入:A=20A=20,B=1B=1,C=1C=1预期输出:预期输出
33、:X=10X=10,Y=2Y=2,Z=3Z=33 3个判定表达式之值依次为真、假、真个判定表达式之值依次为真、假、真输入:输入:A=20A=20,B=1B=1,C=60C=60预期输出:预期输出:X=10X=10,Y=2Y=2,Z=30Z=303 3个判定表达式之值依次为真、真、假个判定表达式之值依次为真、真、假输入:输入:A=20A=20,B=40B=40,C=1C=1预期输出:预期输出:X=10X=10,Y=20Y=20,Z=3Z=33 3个判定表达式之值全为真个判定表达式之值全为真输入:输入:A=20A=20,B=40B=40,C=60C=60预期输出:预期输出:X=10X=10,Y=2
34、0Y=20,Z=30Z=30X=10T TF F开始开始停止停止A5A5INPUT A,B,CINPUT A,B,CX=1Y=20B10B10Y=2Z=30C15C15Z=3PRINT X,Y,ZPRINT X,Y,Z31习题习题2 2、设计下列伪码程序的分支覆盖和条件组合覆盖测试用例。、设计下列伪码程序的分支覆盖和条件组合覆盖测试用例。STARTSTARTINPUT (A,B,C)INPUT (A,B,C)IF (A0) AND (B0)IF (A0) AND (B0)THEN X=A+BTHEN X=A+BELSE X=A-BELSE X=A-BENDENDIF (CA) OR (DA)
35、OR (D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0 A0,B0 A0,B0 A0,B0A0,B0 A0,B0
36、A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DB CA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0,B0A0,B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0,B0A0,
37、B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0,B0A0,B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0
38、,B0A0,B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: IF (CA)8: OR (DB)8: OR (D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: I
39、F (CA)8: OR (DB)8: OR (D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: IF (CA)8: OR (DB)8: OR (D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: IF (CA)8: OR (DB)8: OR (D
40、B)9: THEN Y=C-D9: THEN Y=C-D10: ELSE Y=C+D10: ELSE Y=C+D11: END11: END12: PRINT (X,Y)12: PRINT (X,Y) STOP STOP解解:有有4 4个步骤:个步骤:2 23 34 45 56 69 98 87 71 1101011111212路径路径3 3:1-2-3-5-6-7-9-11-121-2-3-5-6-7-9-11-12路径路径4 4:1-2-3-4-6-7-8-9-11-121-2-3-4-6-7-8-9-11-12路径路径5 5:1-2-3-4-6-7-8-10-11-1-2-3-4-6-7
41、-8-10-11-1212(4)(4)设计可强制执行基本路径集合中设计可强制执行基本路径集合中每条路径的测试用例每条路径的测试用例路径路径3 3(第第1 1个判定表达式为假,个判定表达式为假,第第2 2个判定表达式为真)个判定表达式为真)输入:输入:A=1,B=0,C=2,D=0(A=1,B=0,C=2,D=0(任意任意) )输出:输出:X=1,Y=2X=1,Y=2路径路径4 4(2 2个判定表达式全为真)个判定表达式全为真)输入:输入:A=1,B=1,C=0,D= -1A=1,B=1,C=0,D= -1输出:输出:X=2,Y=1X=2,Y=1路径路径5 5(第第1 1个判定表达式为真,个判定
42、表达式为真,第第2 2个判定表达式为假)个判定表达式为假)输入:输入:A=1,B=1,C=0,D=2A=1,B=1,C=0,D=2输出:输出:X=2,Y=2X=2,Y=2流图流图42系统运行维护系统运行维护维护性维护性43习题习题1 1、某些软件工程师不同意、某些软件工程师不同意“目前国外许多软件开目前国外许多软件开发组织把发组织把60%60%以上的人办用于维护已有的软件以上的人办用于维护已有的软件”的的说法,他们争论说:说法,他们争论说:“我并没有花费我的我并没有花费我的60%60%的时的时间去改正我所开发的程序中的错误间去改正我所开发的程序中的错误”。请问,你对上述争论有何看法?请问,你对
43、上述争论有何看法?44答:答:n首先,软件维护并非仅仅是改正程序中的错误,它还包括为了首先,软件维护并非仅仅是改正程序中的错误,它还包括为了使软件适应变化了的环境而修改软件的活动,以及为了满足用户使软件适应变化了的环境而修改软件的活动,以及为了满足用户在使用软件的过程中提出的扩充或完善软件的新需求而修改软件在使用软件的过程中提出的扩充或完善软件的新需求而修改软件的活动,甚至包括为了提高软件未来的可维护性或可靠性而主动的活动,甚至包括为了提高软件未来的可维护性或可靠性而主动地修改软件的活动。实际上,为了消除程序中潜藏的错误而进行地修改软件的活动。实际上,为了消除程序中潜藏的错误而进行的改正性维护
44、,仅占全部维护活动的的改正性维护,仅占全部维护活动的1/51/5左右。左右。n其次,其次,“目前国外许多软件开发组织把目前国外许多软件开发组织把60%60%以上的人办用于维以上的人办用于维护已有的软件护已有的软件”指的是指的是软件开发组织内人力分配的整体状况。软件开发组织内人力分配的整体状况。至于具体到软件工程师,则分工各不相同。有些专职负责维护至于具体到软件工程师,则分工各不相同。有些专职负责维护工作,他们的全部工作时间都花费在维护已有软件产品的工作工作,他们的全部工作时间都花费在维护已有软件产品的工作;另一些人专职负责软件开发工作,他们并不花费时间去维护;另一些人专职负责软件开发工作,他们
45、并不花费时间去维护已有的软件产品;还有一些人可能既要从事软件开发工作又要已有的软件产品;还有一些人可能既要从事软件开发工作又要兼管软件维护工作。兼管软件维护工作。n第三,软件维护人员并非只负责维护自己开发的程序,通常,第三,软件维护人员并非只负责维护自己开发的程序,通常,一名维护人员参与多个软件产品的维护工作。一名维护人员参与多个软件产品的维护工作。45习题习题2 2、某些软件公司拟采取下述措施提高他们开发出的软件产品的可、某些软件公司拟采取下述措施提高他们开发出的软件产品的可维护性,请判断哪些措施是正确的,哪些措施不正确。维护性,请判断哪些措施是正确的,哪些措施不正确。(1)(1)在分析用户
46、需求时同时考虑维护问题。在分析用户需求时同时考虑维护问题。(2)(2)测试完程序后,删去程序中的注解以缩短源程序长度。测试完程序后,删去程序中的注解以缩短源程序长度。(3)(3)在软件开发过程中尽量保证各阶段文档的正确性。在软件开发过程中尽量保证各阶段文档的正确性。(4)(4)编码时尽量多用全局变量。编码时尽量多用全局变量。(5)(5)选用时间效率和空间效率尽可能高的算法。选用时间效率和空间效率尽可能高的算法。(6)(6)尽可能利用硬件特点以提高程序效率。尽可能利用硬件特点以提高程序效率。(7)(7)尽可能使用高级语言编写程序。尽可能使用高级语言编写程序。(8)(8)进行总体设计时加强模块间的联系。进行总体设计时加强模块间的联系。(9)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 13《美丽的冬天》第一课时(教学设计)-部编版道德与法治一年级上册
- 9 生活离不开他们 第一课时教学设计-2023-2024学年道德与法治四年级下册统编版
- 病毒性肺炎的护理措施
- 8《不做“小拖拉”》 教学设计-2024-2025学年心理健康(1、2年级)粤教版
- 2 我们的班规我们订(教学设计)-2024-2025学年统编版道德与法治四年级上册
- 三年级英语下册 Module 1 Unit 2 My favourite colour is yellow教学设计2 外研版(三起)
- 一年级下美术教学设计-化妆舞会-人教新课标(2014秋)
- 一年级语文上册 第七单元 课文3 10 大还是小教学设计 新人教版
- 珍爱生命安全出行教育
- 2024-2025学年高中历史 专题3 近代中国思想解放的潮流 3 马克思主义在中国的传播教学设计 人民版必修3
- 2024新教材人教版美术七年级上册1.2表现形式课件
- 2024年度网络安全技术知识产权保密协议合同3篇
- 职业院校“金课”建设方案
- 工业交换机产品培训
- 急性早幼粒细胞白血病M3的护理
- 陵园企业劳动合同样本
- 2024年公务员考试广西(面试)试题及解答参考
- 电动车带牌过户免责协议书
- (完整版)大学英语六级单词表
- DB11T 1200-2015 超长大体积混凝土结构跳仓法技术规程
- 古诗词吟唱进入小学音乐课堂研究
评论
0/150
提交评论