软件工程习题解答
第一章 概述
3.什么是软件危机?其产生的原因是什么?
软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:
a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。 d. 开发的软件可靠性差。
软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:
a.软件的规模越来越大,结构越来越复杂。b.软件开发管理困难而复杂。
c.软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
4.什么是软件工程?它的目标和内容是什么?
软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:
a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能;
d.开发的软件易于移植; e.需要较低的维护费用;
f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高;
软件工程的内容:
1) 软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。
2) 软件开发管理:软件管理学、软件经济学、软件心理学。
6.什么是软件生存周期?它有哪几个活动?
软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.
7.什么是软件生存周期模型?有哪些主要模型?
软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)
软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等
第三章 需求分析
1.什么是需求分析?需求分析阶段的基本任务是什么?
需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
需求分析阶段的基本任务是:
(1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.
(2) 分析与综合,导出软件的逻辑模型. (3) 编写文档
4.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?
数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。
作 用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.
基本符号有四种:
→,箭头,表示数据流; ○,圆或椭圆,表示加工; =,双杠,表示数据存储;□,方框,表示数据的源点或终点.
5.画数据流图应该注意什么事项?
画数据流图注意事项:
a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.
b.画数据流而不是控制流. c.一般不画物质流.
d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.
e.编号. f.父图与子图的平衡. g.局部数据存储.h.提高数据流图的易理解性.
7.描述加工逻辑有哪些工具?
a,结构化语言b,判定表c.判定树
10.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD和IDEF0描绘该功能的需求,并建立相应的数据字典。
(1)数据流条目:
数据流名称:存款单
别 名:无
简 述:储户存款时填写的项目
来 源:储户
去 向:记帐
数据 流 量:未知
组 成:姓名+住址+存款类型+存款日期+利率
数据流名称:取款单
别 名:无
简 述:储户取款时填写的项目
来 源:储户
去 向:统计
数据 流 量:未知
组 成:姓名+住址+取款类型+取款日期+利率
数据流名称:清单
别 名:无
简 述:储户取款后得到的项目
来 源:记录
去 向:储户
数据 流 量:未知
组 成:姓名+住址+取款类型+取款日期+利率+余额
(2)数据存储条目:
数据存储名称:账单
软件工程专业课程别 名:无
简 述:存放储户信息及其账目
组 成:姓名+住址+余额+存款类型+最后修改日期+利率
组 织 方 式:未知
查 询 要 求:能立即查询
(3)数据项条目:
未知
(4)加工条目:
加工 名:分类检查
编 号:无
激发条件:接收到存/取款单
优 先 级:优先
输 入:存/取款单
输 出:存/取款单
加工逻辑:IF 存款单 THEN 把存款单输出到统计
ELSE
把取款单输出到统计
ENDIF
加工 名:统计
编 号:无
激发条件:取款单
优 先 级:无
输 入:取款单
输 出:清单
加工逻辑:根据账单检查此储户是否存在,不存在输出错误{
IF 取款数<余额 THEN 余额=余额-取款数
输出清单到储户,输出现金到储户
ELSE
输出错误清单到储户
ENDIF
}
加工 名:记录
编 号:无
激发条件:存款单
优 先 级:无
输 入:存款单
输 出:存款单
加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{
余额=余额+存款数
输出存款单到储户
}
11.某图书管理系统工程有以下功能:(1)借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).
(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作处理。否则,修改库存目录与借书文件。(3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。
12.某厂对部分职工重新分配工作的政策是:年龄在伙岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
(1)结构化语言: 根据职工年龄和文化程序:
REPEAT
If 年龄<=20
If 初中文化 Then 脱产学习 endif
else if 高中文化 Then 电工 endif
endif
If 20<年龄<40
If 中学文化
If 男性 Then 钳工
Else
车工
Endif
else if 大学文化 Then 技术员endif
endif
endif
If 年龄>=40
If 中学文化 Then 材料员
else if 大学文化 Then 技术员endif
endif
endif
Until 没有剩余未分配员工
判定表
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
年龄 | C | C | D | D | D | D | D | E | E | E | |
文化 | G | H | H | G | G | H | I | G | H | I | |
性别 | -- | -- | M | M | F | F | -- | -- | -- | -- | |
脱产学习 | √ | ||||||||||
电工 | √ | ||||||||||
钳工 | √ | √ | |||||||||
车工 | √ | √ | |||||||||
技术员 | √ | √ | |||||||||
材料员 | √ | √ | |||||||||
条件取值表
条件名 | 取值 | 符号 | 取值数 |
年龄 | <=20 | C | M1=3 |
>20,<40 | D | ||
>=40 | E | ||
文化程度 | 中学 | G | M2=3 |
高中 | H | ||
大学 | I | ||
性别 | 男 | M | M3=2 |
女 | F | ||
附加题:1、自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFD图,并写出数据词典中的数据流条目。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论