软工上机题.docx
- 文档编号:29828386
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:15
- 大小:327.82KB
软工上机题.docx
《软工上机题.docx》由会员分享,可在线阅读,更多相关《软工上机题.docx(15页珍藏版)》请在冰豆网上搜索。
软工上机题
一、将下面给出的DFD转换为初始的模块结构图。
其中,虚线表示输入部分、变换部分和输出部分之间的界面。
1、
解:
转化后的初始模块结构图如下所示:
2、
解:
转化后的初始模块结构图如下所示:
3、
解:
转化后的初始模块结构图如下所示:
二、应用题
1、将下面的伪码转换为PAD图和N-S图。
begin
S1;
ifx>5thenS2
elseS3;
whiley<0doS4;
S5;
ifu>0thenbegin
S6;
whilek>5doS7;
end;
S8;
end.
解:
上述伪码对应的PAD图如下所示:
对应的N-S图如下所示:
2、将下面的伪码转换为PAD图和N-S图。
begin
S1;
ifm>0thenbegin
S2;
DoS3untilm<=0;
end
elsebegin
S4;
Ifn>3thenS5
ElseS6;
End;
whiley<0doS7;
S8;
whileu>0dobegin
S9;
Ifw>0thenS10
elseS11;
end;
S12;
end.
解:
上述伪码对应的PAD图如下所示:
对应的N-S图如下所示:
3、把下面的程序流程图转换为伪码、PAD图和N-S图。
解:
该程序流程图中包含非结构化的GOTO语句,在转换为结构化的伪码和PAD图、N-S图时需要进行处理。
转换的伪码如下:
begin
S1;
ifx<=5thenS2
i:
=1;
whilei<3dobegin
S3;
i:
=i+1;
end;
ify<0thenS4
elseS5;
end.
转换的PAD图如下所示:
转换的N-S图如下所示:
4、针对以下的程序伪码,给出该程序的控制流程图,并设计实现分支覆盖所需要的测试用例(表达用例的方法是任意的)。
Begin
输入一元二次方程的系数A,B,C;
为根变量赋初值;
IF平方项的系数A=0且一次项系数B<>0
THENBEGINRoot1:
=-C/B;输出“A=0”;
Root2:
=-C/B
END;
IF平方项的系数A<>0且一次项系数B=0
THENBEGIN
IF(-C/A)>=0
THENBEGINRoot1:
=SQR(-C/A);输出“B=0”;
Root2:
=-SQR(-C/A)
END
END;
IF平方项的系数A<>0且一次项系数B<>0
THENBEGIN
IF(B2-4AC)>=0
THENBEGINRoot1:
=(-B+SQR(B2-4AC))/2A;
Root2:
=(-B-SQR(B2-4AC))/2A
END
ELSE输出“此方程无实根”;
end
输出root1和root2的值
END.
解:
首先设定上述伪码中各过程块的编号,设定如下:
Begin
输入一元二次方程的系数A,B,C;
为根变量赋初值;
IF平方项的系数A=0且一次项系数B<>0
THENBEGINRoot1:
=-C/B;输出“A=0”;
Root2:
=-C/B
END;
IF平方项的系数A<>0且一次项系数B=0
THENBEGIN
IF(-C/A)>=0
THENBEGINRoot1:
=SQR(-C/A);输出“B=0”;
Root2:
=-SQR(-C/A)
END
END;
IF平方项的系数A<>0且一次项系数B<>0
THENBEGIN
IF(B2-4AC)>=0
THENBEGINRoot1:
=(-B+SQR(B2-4AC))/2A;
Root2:
=(-B-SQR(B2-4AC))/2A
END
ELSE输出“此方程无实根”;
输出root1和root2的值
END.
控制流程图如下所示:
为实现分支覆盖所需测试用例如下(用三元组表示A、B、C的取值)
(0,0,1)(0,1,2)(2,0,2)(2,0,-2)(1,2,1)(1,1,1)
三、建模题
1、针对以下给出的问题陈述:
(1)用结构化分析方法建立该系统的顶层和0层DFD图,并给出相关的数据字典;
(2)用面向对象方法,标识该系统中的类,并给出类的基本属性和操作。
问题陈述如下:
在要建立的某商场简化的管理信息系统中,
(1)库房管理员负责
1)输入、修改、删除入/出库商品信息(品名,编号,生产厂家,数量,单价,入/出库日期),
2)打印库房商品库存清单(品名,编号,库存量,库存金额);
(2)销售员负责
1)登入商品销售信息(品名,编号,销售量,单价),
2)输入、修改、删除入/出前台的商品信息(品名,编号,生产厂家,数量,单价,入/出库日期),
3)打印前台商品库存清单(品名,编号,库存量,库存金额);
(3)部门经理随机查询或打印统计报表
1)日、月销售金额,
2)日、月库存情况(品名,编号,库存量,库存金额),
3)日、月前台库存情况(品名,编号,库存量,库存金额),
4)打印年销售金额统计表、年库存误差统计表。
解:
(1)顶层DFD如下图所示:
0层DFD图如下所示:
数据字典如下(仅以数据流条目为例,不包括文件条目):
管理要求1=[输入入/出库商品信息|修改入/出库商品信息|删除入/出库商品信息]
管理要求2=[登入商品销售信息|输入入/出前台的商品信息|修改入/出前台的商品信息|删除入/出前台的商品信息]
查询要求=[查询日、月销售金额|查询日、月库存情况|查询日、月前台库存情况]
商品信息=品名+编号+生产厂家+数量+单价+入/出库日期
库房库存清单=品名+编号+库存量+库存金额
商品销售信息=品名+编号+销售量+单价
前台库存清单=品名+编号+库存量+库存金额
统计报表=[日、月销售金额|日、月库存情况|日、月前台库存情况]
日、月库存情况=品名+编号+库存量+库存金额
日、月前台库存情况=品名+编号+库存量+库存金额
金额、误差统计表=[年销售金额统计表|年库存误差统计表
……
(2)该系统中的类标识如下(供参考,答案不唯一)
2、针对以下给出的问题陈述:
1)用结构化分析方法建立该系统的顶层和0层DFD图,并给出相关的数据字典;
2)用面向对象方法,标识该系统中的类,并给出类的基本属性和操作。
问题陈述如下:
在要建立的简化学籍管理系统中:
管理员A:
负责录入在籍学生的基本信息(姓名,学号,年级,入学时间);
管理员B:
负责录入在籍学生的各科成绩及奖罚情况(时间、类型);
管理员C:
负责统计毕业年级每一学生的所修学分,列出那些没有修满学分的学生(姓名,学号,学分),并在日常工作中,根据学校有关规定查询这一系统,对那些应受到开除处分的同学提出开除学籍的报告。
解:
(1)该系统的顶层DFD如下所示:
该系统的0层DFD图如下所示:
数据字典如下(仅以数据流条目为例,不包括文件条目):
管理要求=[录入学生成绩|录入奖罚情况]
学生基本信息=姓名+学号+年级+入学时间
奖罚情况=时间+类型
学生名单=姓名+学号+学分
……
(2)该系统中的类标识如下(供参考,答案不唯一)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机