软件工程串讲答案Word格式文档下载.docx
《软件工程串讲答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程串讲答案Word格式文档下载.docx(90页珍藏版)》请在冰豆网上搜索。
是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
9.软件工具:
是支持软件开发人员的开发和维护活动而使用的软件。
10.瀑布模型:
是将软件生存周期各个活动规定为自上向下,按照线性顺序连接的若干阶段的模型。
三、简答题
1.软件产品的特性是什么?
答:
软件产品具有以下独特的特性:
(1)软件是一种逻辑产品,它与物质产品有很大的区别。
(2)软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发研制完成后,通过复制就产生了大量软件产品。
(3)软件产品不存在磨损、消耗问题。
(4)其生产的成本主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的。
(5)软件费用不断增加,软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本非常高。
2.软件生产有几个阶段?
各有何特征?
软件生产经过了三个阶段:
即程序设计时代,程序系统时代,软件工程时代。
(1)程序设计时代:
生产方式是个体手工劳动,使用的工具是机器语言,汇编语言。
(2)程序系统时代:
生产方式是作坊式的小集团合作生产,生产工具是高级语言,开发方法仍旧靠个人技巧,但开始提出结构化方法。
(3)软件工程时代:
生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.软件危机产生的原因是什么?
(1)软件危机产生的原因:
软件的规模越来越大,结构越来越复杂;
(2)软件开发管理困难而复杂;
(3)软件开发费用不断增加;
软件开发技术落后;
(4)生产方式落后;
(5)开发工具落后,生产提高缓慢。
4.软件工程的性质、目标和内容是什么?
性质:
软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学、数学等领域。
目标:
付出较低的开发成本;
达到要求的软件功能;
取得较好的软件性能;
开发的软件易于移植;
需要较低的维护费用;
能按时完成开发任务,及时交付使用;
开发的软件可靠性高。
内容:
软件工程研究的主要内容是软件开发技术和软件开发管理两方面。
在软件开发技术中,主要研究软件开发方法、软件开发过程、软件开发工具和环境。
在软件开发管理中,主要是研究软件管理学、软件经济学、软件心理学等。
5.软件工程面临的问题是什么?
面临的问题包括:
软件费用、软件可靠性、软件维护、软件生产率和软件重用等。
6.简述软件工程过程的含义、目的以及包含的子过程。
软件工程过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
目的是利用这些过程来获取、供应、开发、操作和维护软件所用的基本的、一致的要求。
软件工程过程包括七个过程:
获取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程。
7.软件生存周期有哪几个阶段?
每个阶段的提交文档是什么?
通常,软件生存周期包括:
(1)可行性分析和项目开发计划:
:
提交项目开发计划和可行性分析报告;
(2)需求分析:
提交软件需求规格说明书;
(3)概要设计:
概要设计说明书;
(4)详细设计:
提交详细设计说明书;
(5)编码:
提交源程序代码;
(6)测试:
提交测试分析报告(7)维护:
程序维护手册。
8.软件生存周期模型有哪些主要模型?
主要模型有:
瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。
9.何谓软件开发方法?
请列举四种主要方法。
软件开发方法:
软件开发方法主要有:
结构化方法、Jackson方法、维也纳开发方法(VDM)和面向对象的开发方法。
▓历年考题
全国2010年1月自考软件工程试题
1.软件生存周期中,准确地确定软件系统必须做什么的阶段是( B )P6
A.可行性分析和项目开发计划B.需求分析
C.概要设计D.详细设计
2.把瀑布模型和专家系统结合在一起的软件生存周期模型是( B )P9
A.增量模型B.基于知识的模型
C.螺旋模型D.喷泉模型
31.软件工程过程:
P5
36.简述软件工程面临的问题。
P4
全国2009年10月自考软件工程试题
1.软件危机产生的时期是(D)P2
A.“程序设计时代”初期B.“程序设计时代”末期
C.“程序系统时代”初期D.“程序系统时代”末期
21.螺旋模型是将两种软件生存周期模型结合起来,加入了风险分析,这两种模型是指瀑布模型和__增量模型___。
31.软件开发方法P10
36.简述软件产品的特性。
P1
全国2009年1月自考软件工程试题
1.以下不属于软件特点的是(B)P1
A.软件是一种逻辑产品B.软件产品存在磨损问题
C.软件的生产主要是研制D.软件费用不断增加
2.以下属于形式化开发方法的是(C)P10
A.结构化开发方法B.Jackson开发方法C.维也纳开发方法D.面向对象开发方法
21.软件工程研究的主要内容是软件开发技术和__软件开发管理___两个方面。
31.软件生存周期模型:
P8
36.简述软件危机产生的原因。
P3
全国2008年10月自考软件工程试题
1.“软件工程的概念是为解决软件危机而提出的”这句话的意思是(D)
A.强调软件工程成功解决了软件危机的问题
B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理
C.说明软件工程这门学科的形成是软件发展的需要
D.说明软件工程的概念,即:
工程的原则、思想、方法可解决当时软件开发和维护存在的问题
2.瀑布模型的主要特点是(A)
A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段
C.提供了有效的管理模式D.缺乏灵活性
全国2008年1月自考软件工程试题
1.在软件生存周期中,时间最长的阶段是(D )。
A.需求分析B.详细设计C.编码D.维护
2.以下最适合于面向对象的软件开发的软件生存周期模型是(D )。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型
19.瀑布模型本质是一种(B )。
A.顺序迭代模型B.线性顺序模型C.线性迭代模型D.非线性模型
21.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。
P11
27.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代__。
P2
31.软件开发方法:
P10
全国2007年10月自考软件工程试题
1.以下哪一项不是软件危机的表现( B )P2
A.开发的软件可维护性差B.软件极易被盗版
C.经费预算经常被突破D.开发的软件不能满足用户需求
2.以下哪个软件生存周期模型是一种风险驱动的模型( C )
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型
21.组成软件的两个部分是:
__计算机程序及说明程序的各种文档____。
23.为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了___软件工程__的概念
25.Jackson方法是一种面向__数据结构__的开发方法。
36.简述软件工程过程的含义、目的以及包含的子过程。
全国2007年1月自考软件工程试题
l.以下哪一项不是软件产品所具有的特性(C)
A.软件是逻辑产品
B.软件产品不会用坏,不存在磨损、消耗问题
C.随着技术的提高,软件开发的费用不断降低
D.软件产品的成本主要体现在软件的开发与研制上
2.“确定软件系统必须做什么”是哪个阶段的任务(B)
A.可行性分析和项目开发计划B.需求分析C.概要设计D.详细设计
31.软件生存周期:
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和__软件工程__时代。
31.软件开发方法:
36.简述软件工程研究的内容和它所面临的主要问题。
全国2006年10月自考软件工程试题
18.以用户需求为动力,以对象作为驱动的模型是( C )
A.瀑布模型B.基于知识的模型C.喷泉模型D.增量模型
20.在软件生存期的各个阶段中跨越时间最长的阶段是( D )
A.需求分析阶段B.设计阶段C.测试阶段D.维护阶段
30.在软件生产中,___软件工程过程__的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
35.瀑布模型:
全国2006年1月自考软件工程试题
19.为了克服软件危机,人们首先想到要用以下哪种方法来开发软件?
(C)P3
A.模块化B.结构化C.工程化D.形式化
20.以下哪一项是面向数据结构的软件开发方法?
(D)
A.IDEF方法B.结构化方法C.VDM方法D.JACKSON方法
30.计算机辅助软件工具简单地定义为软件开发自动化,通常简称为__CASE__。
39.软件生存周期有哪几个活动?
其中需求分析阶段的主要任务是什么?
P6
【其它】
31.软件生存周期模型P8
20.具有风险分析的软件生存周期模型是(C)
A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型
16.螺旋模型是一种将瀑布模型和_________结合起来的软件开发模型。
( A )
A.增量模型B.专家系统C.喷泉模型D.变换模型
20.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )
A.软件危机B.软件工程C.程序设计革命D.结构化程序设计
30.软件生存周期是指一个软件从提出开发要求开始直到____该软件报废__为止的整个时期。
30.软件生存周期模型是描述软件开发过程中_各种活动如何执行_的模型。
20.在软件生产的( C ),使用的工具主要是机器语言和汇编语言。
A.程序系统时代B.软件工程时代C.程序设计时代D.人工智能时代
19.瀑布模型是一种什么模型?
( B )
A.风险驱动模型B.线性开发模型C.增量模型D.迭代模型
30.软件工程的主要思想是在软件生产中用__工程化方法__代替传统手工方法。
P3
第2章软件可行性研究与项目开发计划
1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定(项目值得开发否)。
2.可行性研究在进行简要需求分析和设计时,要在高层次上以(较抽象形式)进行。
3.系统流程图用图形符号表示系统中各个元素,表达了系统中各个元素之间的(信息流动)。
4.软件工程有两种效益,它们是无形效益和有形效益。
5.若年利率为i,不计复利,n年后能收入F元的现在价值P=F/(1+n×
i)。
6.纯收入是软件生存周期内两项值之差,这两项是(经济效益与投资)。
7.项目开发计划是一种(管理性)文档。
8.可行性研究具体步骤的最后一步是(编写可行性报告)。
1.可行性研究实质上是进行一次简化、压缩了的(需求分析和设计)。
2.可行性研究的三个方面是技术可行性、社会可行性和经济可行性。
3.可行性研究的第一个具体步骤是确定项目的规格和目标。
5.可行性研究中描述系统高层物理模型的工具是系统流程图。
2.技术可行性要研究的问题之一是(技术风险问题)。
3.纯收入是累计效益现在值与投资之(差)。
1.可行性研究:
是用最小的代价,在尽可能短的时间内,确定项目值得开发否,包括技术可行性、经济可行性、社会可行性的研究。
2.技术可行性:
对要开发的项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
3.经济可行性:
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
4.社会可行性:
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
5.货币时间价值:
通常用利率表示货币的时间价值。
设年利率为i,现存入P元,n年后可得钱数为F,若不计复利则F=P×
(1+n×
i),F就是P元在n年后得价值。
6.投资回收期:
投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
7.纯收入:
在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。
8.系统流程图:
系统流程图是描绘物理系统的传统工具,它用图形符号来表示系统中的各个元素,它表达了系统中各个元素之间的信息流动的情况。
1.可行性研究的目的和任务是什么?
可行性研究的目的是用最小的代价,在尽可能短的时间内,确定项目值得开发否。
可行性研究的任务是对系统进行一次概要分析研究在尽可能短的时间里明确系统的目标和规模、约束、限制。
然后分析人员进行简要的需求分析,抽象出该项目的逻辑结构、建立逻辑模型,提出几种方案对它们进行可行性分析。
包括技术可行性,经济可行性、社会可行性。
2.可行性研究有哪些步骤?
确定项目规模和目标、研究当前的系统、建立新系统的高层逻辑模型、导出和评价各种方案、推荐可行方案、编写可行性研究报告。
3.成本—效益分析可用那些指标度量?
投资回收期、纯收入、货币的时间价值。
4.可行性研究报告的主要内容?
引言、可行性研究前提、对现有系统的分析、所建议系统的技术可行性分析、所建议系统的经济可行性分析、所建议系统的社会因素可行性分析、其它方案、结论意见。
5.怎样计算投资回收期和纯收入?
6.项目开发计划有哪些主要内容?
项目概述、实施计划、人员分组及分工、交付期限。
3.以下不属于项目开发计划主要内容的是( C )
A.实施计划B.交付期限
C.测试用例D.人员组织及分工
37.简述可行性研究报告包含的主要内容。
P16
22.在软件项目的经济可行性分析中,所谓投资回收期指的是:
使开发项目累计的经济效益等于_最初的投资费用_所需的时间。
22.软件可行性研究从技术可行性、_经济可行性_、社会可行性三个方面分析研究每种解决方案的可行性。
19.在制定项目开发计划文档时,不包含的内容是(C)
A.项目概述B.实施计划C.测试计划D.交付期限
21.可行性研究从技术可行性、经济可行性、_社会可行性_三方面进行分析。
36.简述可行性研究的目的和任务。
P14
5.系统流程图中符号的名称是(A)。
A.联机存储B.处理C.磁盘D.文档
6.系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括( A )
A.技术可行性、经济可行性、社会可行性B.经济可行性、安全可行性、操作可行性
C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性
22.项目开发计划的主要内容包括项目概述、__实施计划__、人员组织及分工、交付期限。
22.可行性研究从以下三个方面研究每种解决方法的可行性:
经济可行性、社会可行性和_技术可行性_。
32.软件项目的纯收入:
P20
18.经济可行性研究的范围包括(C)
A.资源有效性B.管理制度C.效益分析D.开发风险
19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(A)的回答。
A.确定B.行或不行C.正确D.无二义
30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+n*i)。
19.可行性分析研究的目的是(B)
A.争取项目B.项目值得开发否C.开发项目D.规划项目
30.若年利率为i,现存入P元,不计复利,n年后可得钱数为F=P*(1+n*i)。
19.设年利率为i,现存入p元,不计复利,n年后可得钱数为( A )
A.p﹡(1+i﹡n)B.p﹡(i+1)nC.p﹡(1+i)﹡nD.p﹡(i+n)
29.投资回收期就是使累计的经济效益等于___最初投资费用__所需的时间。
19.设年利率为i,若不计复利,n年后可得钱数为F,则这些钱现在的价值是( C )
A.F*(1+i*n)B.(1+n*i)/FC.F/(1+n*i)D.F/(1+ni)
29.成本效益分析的目的是从___经济__角度评价开发一个新的软件项目是否可行。
第3章软件需求分析
第3章例题分析与解答
1.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
2.结构化分析的基本思想是采用自顶向下逐步分解的方法,能有效地控制系统开发的复杂性。
3.当数据流图中某个加工的一组动作存在着多个复杂组合的判断时,其加工逻辑使用判定表或判定树描述较好。
4.在IDEF0图中,连在方框上的箭头有四种类型,它们分别是输入、输出、控制、机制。
5.为了较完整地描述用户对系统的需求,DFD应与数据库中的ER图结合起来。
6.需求分析最终结果是产生需求规格说明书。
7.需求分析中,开发人员要从用户那里解决的最重要的问题是要让软件做什么。
8.DFD中的每个加工至少有一个输入流和一个输出流。
9.数据字典中的条目包括数据流、数据项、数据存储、基本加工。
10.IDEF0图能够反映出系统做什么、.谁来做以及什么情况下做。
12.数据流图中有四种符号元素,它们是数据流、数据存储、加工、数据源点或终点。
13.IDEF0是建立系统功能模型的有效方法,在IDEF0图中,表示系统功能的图形称为活动图形。
14.用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树。
15.结构化语言是介于自然语言和形式语言之间的一种半形式语言。
16.在IDEF0方法中,被标志为A—0的图称为系统的内外关系图。
17.SA方法用DFD描述系统的功能
18.一个局部数据存储只有当它作为某些加工的数据接口或某个加工的特定输入/输出时,就把它画出来。
19.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流必须一致。
20.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型
21.SA方法的基本思想是自顶向下逐步分解
22.初步用户手册在需求分析阶段编写。
1.需求分析:
开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。
2.当前系统:
指目前正在运行的系统,可能是需要改进的正在计算机上运行的软件系统,也可能是人工的处理系统。
3.目标系统:
指待开发的新系统。
4.SA:
是面向数据流进行需求分析的方法。
也是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出满足功能要求的软件模型
5.DFD:
数据流图,简称DFD(DataFlowDiagram),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
6.数据字典:
就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
三、简答题
1.什么是需求分析?
该阶段的基本任务是什么?
需求分析是开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。
基本任务是:
a.问题识别
(1)功能需求:
明确所开发的软件必须具备什么样的功能。
(2)性能需求:
明确待开发的软件的技术性能指标。
(3)环境需求:
明确软件运行时所需要的软、硬件的要求。
(4)用户界面需求:
明确人机交互方式、输入输出数据格式。
b.分析与综合,导出软件的逻辑模型
分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。
用图文结合的形式,建立起新系统的逻辑模型。
c.编写文档
(1)编写“需求规格说明书”:
把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。
(2)编写初步用户使用手册:
着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。
(3)编写确认测试计划:
作为今后确认和验收的依据。
(4)修改完善软件开发计划。
在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。
2.数据流图与数据字典的作用是什么?
画数据流图应注意什么?
数据流图描述系统由哪几部分组成,各部分之间有什么联系等等。