《软件工程》复习题参考答案 下载本文

内容发布更新时间 : 2024/5/16 3:51:35星期一 下面是文章的全部内容请认真阅读。

《软件工程》习题参考答案

第一章

1﹑什么是软件危机?产生原因是什么? 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因:

⑴ 软件规模越来越大,结构越来越复杂。 ⑵ 软件开发管理困难而复杂。 ⑶ 软件包开发费用不断增加。 ⑷ 软件开发技术落后。

⑸ 生产方式落后,仍采用手工方式。 ⑹ 开发工具落后,生产率提高缓慢。

2﹑什么是软件工程?它目标和内容是什么?

软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:研究内容包括开发技术和开发管理两个方面。 开发技术主要研究:软件开发方法,开发过程,开发工具和环境。 开发管理主要研究:软件管理学,软件经济学,软件心理学。

3﹑软件工程面临的问题是什么?

软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

4﹑什么是软件生存周期?它有哪几个活动?

软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

5﹑什么是软件生存周期模型?有哪些主要模型? 生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。

主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

第二章

1.可行性研究的任务是什么? 可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,

经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。 主要从三个方面考虑:

⑴.技术可行性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;

⑵.经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。

⑶.社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。

2.项目开发计划有哪些内容?

⑴.项目概述:说明项目的各项主要工作;说明软件的功能﹑性能;为完成项目应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。

⑵.实施计划:说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。

⑶.人员组织及分工:所需人员类型﹑数量﹑组成结构。 ⑷.交付期限:最后完工日期。

第三章

⒈什么是需求分析?需求分析阶段的基本任务是什么?

需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。 基本任务:

⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。

⑵分析与综合,导出软件的逻辑模型

⑶编写文档:包括编写\需求规格说明书\初步用户使用手册\确认测试计划\修改完善软件开发计划\

⒉什么是结构分析方法?该方法使用什么描述工具?

结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。

⒊结构化分析方法通过哪些步骤来实现?

⑴了解当前系统的工作流程,获得当前系统的物理模型。 ⑵抽象出当前系统的逻辑模型。 ⑶建立目标系统的逻辑模型。 ⑷作进一步补充和优化。 ⒋什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

数据流图(DFD):以图形的方式描述数据在系统中流动和处理的过程。只反映

系统必须完成的逻辑功能,是一种功能模型。

5什么是数据字典?其作用是什么?共有哪些条目? 数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。

具体条目内容及举例如下: 数据流条目

数据流名称:订单 别名:无

简述:顾客订货时填写的项目 来源:顾客

去向:加工1\检验订单\

数据流量:1000份/每周(单位时间内的传输次数)

组成:编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量

数据存储条目

数据存储名称:库存记录 别名:无

简述:存放库存所有可供货物的信息

组成:货物名称+编号+生产厂家+单价+库存量 组织方式:索引文件,以货物编号为关键字 查询要求:要求能立即查询 数据条目

数据项名称:货物编号

别名:G-No,G-num,Goods-No 简述:本公司所有货物的编号 类型:字符串 长度:10

取值范围及含义: 第一位:进口/国产 第2-4位:类别 第5-7位:规格

第8-10位:品名编号

加工条目

加工名:查阅库存 编号:1﹒2

激发条件:接收到合格订单时 优先级:普通

输入:合格合格订单

输出:可供货订单,缺货订单 加工逻辑:根据库存记录

IF 订单项目数量<该项目库存量临界值 THEN 可供货处理

ELSE 此订单缺货,登录,待进货后再处理 ENDIF

6描述加工逻辑有哪些工具?

加工逻辑的描述:一般用结构化语言,判定表,判定树

结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层

⑴外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。 ①顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列

②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。 ③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。 ⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其 动词含义要具体,尽量不使用形容词和副词来修饰。

例:加工逻辑描述为,如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身C类保险。附此之外的其他申请者都适用于A类保险。

7简述SA方法的优缺点。

SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化工具表达需求,简明,易读,也易于使用。但也存在一些弱点,表现如下: ⑴SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。

⑵SA方法使用DFD在分析与描述\数据要求\方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。 ⑶DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。 ⑷SA方法要与形式化方法结合起来,才能更精确地描述软件需求。 ⑸要借助需求分析工具,提高需求分析的质量及效率。

8.某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。请用DFD,IDEF0描绘该功能的需求,并建立相应数据字典。