《软件工程》作业解答
思考:假设要求你开发一个软件,其功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4.一旦实现并测试完之后,该产品将被抛弃.你打算用哪种软件生命周期模型?请说明你作出选择的理由.
这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求,也无须用原型来验证设计方案.此外,一旦实现并测试完后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发.
思考:假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本的开发.由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布.你打算采用哪种软件生命周期模型?为什么?
应选有助于加快产品开发进度的模型:增量模型.
旧版本相当于一个原型,通过收集用户对旧版本的反映较易确定对新版本的需求,没必要建立原型系统来分析用户需求;本公司的软件工程师对字处理软件有丰富的开发经验,开发不具有太
大风险;该软件受到广大用户的喜爱,今后可能还要更新版本,应该把软件的体系结构设计成开放式的,便于改进和扩充.
P54,5:北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,1位数字不是0,校外电话又可分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(1位不是0),若是外地电话则拨3位区码,再拨8位电话号码(1位不是0).请用数据字典中定义数据的方法定义上述电话号码.
电话号码=[校内电话号码|校外电话号码]
校内电话号码=非零数字+3位数字
校外电话号码=[本市号码|外地号码]
本市号码=08位数字
外地号码=03位数字+8位数字
非零数字=[1|2|3|4|5|6|7|8|9]   
3位数字=3{数字}3 
8位数字=非零数字+7位数字
7位数字=7{数字}7   
数字=[0|1|2|3|4|5|6|7|8|9]
可用电话号码=[校内电话号码|校外电话号码]
校内电话号码=非零数字+3{数字}3
非零数字=[1|2|3|4|5|6|7|8|9]
数字=[0|1|2|3|4|5|6|7|8|9]
校外电话号码=0+[本市号码|外地号码]
本市号码=非零数字+7{数字}7
外地号码=3{数字}3+非零数字+ 7{数字}7
P53,2银行储蓄系统数据流图
医院病房监护系统
患者监护系统的基本数据流图              患者监护系统的功能级数据流图
复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行
复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来消除故障,故障排除后回到闲置状态.用状态转换图描绘复印机的行为.
复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”,引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”.
用状态转换图描述复印机的行为如下:
3.画出下列伪码程序的程序流程图和盒图.
等价的程序流程图是:
    START
P1313.等价的盒图是:
    IF  p  THEN
        WHILE  q  DO
              f
        END DO
    ELSE
        BLOCK         
            g
            n
        END BLOCK
    END IF
    STOP
2.下图给出的程序流程图代表一个非结构化的程序,请问:
(1)为什么说它是非结构化的?  (2)设计一个与它等价的结构化程序.
P1414(2)等价的结构化程序是:
  不添加flag标志变量
画出如下PAD图所对应的程序流图和盒图.
1.根据伪码程序画出相应的程序流程图、N-S.
START
A
  DO WHILE P
  B
画出while语句的流程图
  ENDWHILE
C
D
STOP
2.根据伪码程序画出程序流程图、盒图(N-S图).
TART
a
IF x1 THENb
END REPEAT
ELSE
BLOCK
c
d
END BLOCK
END IF
STOP
设计下列伪码程序的语句覆盖和判定覆盖测试用例
      START
      INPUT (A, B, C)
      IF A>5
  THEN X=10
  ELSE X=1
END IF
IF B>10
  THEN Y=20
  ELSE Y=2
END IF
IF C>15
  THEN Z=30
  ELSE Z=3
END IF
PRINT(X, Y, Z)
STOP
使用基本路径测试方法,设计测试下列伪码程序的测试用例.
1:  START
    INPUT (A,B,C,D)
2:  IF(A>0)
3:    AND(B>0)
4:  THEN X=A+B
5:  ELSE X=A-B
6:  END
7:  IF(C>A)
8:    OR(D<B)
9:  THEN Y=C-D
10:  ELSE Y=C+D
11:  END 
12:  PRINT(X,Y)
STOP
P187 8对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h,经过两个月测试后,总共改正了25个错误,MTTF=15h.
1.根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间τ的关系曲线.在画这条曲线时做了什么假设?
(1)假设在程序的平均无故障时间MTTF和测试时间τ之间存在线性关系,即MTTF=a+bτ
由题意知:τ=1时,MTTF=10 ;
τ=2时,MTTF=15
      a+b=10            a=5
        a+2b=15            b=5
MTTFτ之间有下列关系:MTTF=5+5τ
(2)为使MTTF=100h100=5+5τ  τ=19
即需要进行19个月的集成测试。
由题意可列方程组
解得ET=45K=33.3
当集成测试结束时,
解得EC(19)=42
当集成测试结束时,总共改正了42个错误,还有
45-42=3个错误潜伏在程序中.
2.为做到MTTF=100h,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?
在测试一个长度为24000条指令的程序时,第一个月由甲乙两名测试员各自独立测试这个程序,经一个月后,甲发现并改正了20个错误,使MTTF达到10h,同时,乙发现24个错误,其中6个甲也发现了.以后由甲一个人继续测试.:(1)刚开始测试时程序中总共有多少个潜藏的错误?
(2)为使MTTF达到60h,必须再改正多少个错误?还需用多少测试时间?
解:(1)由分别测试法得刚开始测试时程序中潜藏的错误总数为
(2)
                        K=40
                               
EC=70
即为使MTTF达到60h,必须再改正70-20=50个错误。
(3)画出MTTF与集成测试时间τ之间的函数关系曲线.
等价类划分
  某城市电话号码组成规则是:地区码+前缀+后缀;地区码:空白或者3位数字;前缀:0或者1开头的3位数字;后缀:4位数字.
某程序接受符合以上条件的电话号码,拒绝所有不符合规定的号码.对该程序使用等价类划分法设计测试用例.
第一步:划分等价类,建立输入等价类表并编号(见表4.1).
第二步:设计测试用例.见表4.2.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。