软件工程答案(1)
软工复习题--答案(论述题有答案版)(1)
4 学生住宿服务系统帮助学生在就学的城市内找以所需的住房,系统对出租的房屋信息、房 主信息、需要租房的学生信息以及学生和房主的会面住处进行管理和维护。
房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识(ID)和密码;房屋信息 包括房屋地址、类型(单间/套间)、适合住宿的人数、房租、房主的 ID 以及现在是否可以 出租(例如由于装修原因,需等到装修后才可出租或者房屋已被租出)。每当房房屋信息发 生变化时,房主须通知系统,系统将更新房到文件以便学生能够获得准确的可租用房屋信息, 房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。房 主可随时更新房屋的各种属性。
}
画出该程序段的控制流图(3 分);说明该程序有几条独立路径(3 分);并设计测试数据, 实现对此程序的分支覆盖(6 分)。
V(G) = 11 - 9 + 2 =4 类似第三题那样设计
2 阅读以下 C 语言代码,并回答相关问题
void DoWork(int x,int y,int z)
{
int k=0,j=0;
变换模型是基于形式化规格说明语言及程序变换的软件开发模型 。其软件过程是需求定 义、形式化规格说明、软件原型、原型评审、程序变换,其中前四个是一个反复的迭代过 程。目前形式化开发方法在理论、实践和人员培训方面距工程应用尚有一段距离。
10 请解释你理解的面向对象方法的主要特征,这些特征在构建软件时如何体现的?
8 请解释项目计划的 5W2H 原则。
Why 为什么;what 要做什么;when 什么时候做;who 由谁负责;where 机构组织位于何 处;how 如何完成技术和管理工作;how much 投入多少资源。
9 解释你熟悉的几种软件开发过程模型,并论述其优缺点?
大工14秋《软件工程》在线作业1满分答案
B.加工条目、数据流、数据项条目、文件
C.数据流分量、数据流、数据存储、处理
D.加工条目、数据流分量、数据池、文件
?
正确答案:C
9.软件工程三要素是()。
A.方法、技术、C语言
B.方法、工具、过程
C.方法、对象、类
D.方法、过程、模型
?
正确答案:B
10.软件危机的主要表现是()。
A.螺旋模型
B.瀑布模型
C.增量模型
D.喷泉模型
?
正确答案:A
4.软件开发方法的主要工作模型有()。
A.快速原型模型
B.增量模型
C.瀑布模型
D.以上都对
?
正确答案:D
5.软件可行性研究实质上是要进行一次()系统分析和设计过程。
A.简化、压缩的
B.详细的
C.复杂的
D.深入的
?
正确答案:A
6.需求分析的基本任务是()。
A.对软件开发成本和进度的估计往往不够准确
B.有的软件产品存在质量问题
C.有的软件没有适当的文档资料
D.以上都对
?
正确答:对象、类、继承和用消息通信。()
A.错误
B.正确
?
正确答案:B
2.在进行了可行性分析后,由于需求分析就只需要解决目标系统的设计方案,因此需求分析是可以完全忽略的。()
大工14秋《软件工程》在线作业1
一,单选题
1.一个项目是否开发,从经济上来说是否可行,归根结底是取决于()。
A.成本估算、效益分析
B.项目计划
C.工程管理
D.工程网络图
?
正确答案:A
2.软件工程的概念是哪年提出的()。
软件工程习题及解答1
软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
南昌大学软件工程试卷(1) 答案
5、面向对象方法的基本概念。
附件是《软件工程》的一份试卷,供参考。
7.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要d
A.消除错误B.检测错误C.避开错误D.容错
8.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫d
A.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析
9.原型化方法是一种_____a_型的设计过程。
3、(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制产品设计(结构、工艺)及产品组装月计划。
数据流图是业务分析用的,主要在分析阶段,经过变换型(事务性)分析可以转换为概要设计,程序流程图和N-S框图一样是用作详细设计的。
数据流图没有控制结构,基本是一种静态结构,没有语法控制。程序流程图是动态的程序状态的描述。
4、Rumbaugh等人提出的对象模型技术(OMT)建立了哪三种模型?每种模型的作用是什么?
2、(_F____)对于包含有多个数组元素的表达式,可引入临时变量以提高运算效率。
3、(___T__)在使用等价类划分生成测试用例时,应选用输出等价类中的边界值作为代表值作为测试数据。
4、(____T_)软件工程标准化可提高软件的生产率。
5、(__T___)假如数据结构中常使用数组、指针等数据类型,则对它们必须采取随机访问,这样势必产生访问上的混乱。
软件工程第一章习题答案
第一章习题1.1什么是计算机软件?软件的特点是什么?答:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件的特点:1.软件是一种逻辑实体而不是有形的系统元件,其开发成本和进度难以准确的估算。
2.软件是被开发的或设计的,没有明显的制作工程,一旦开发成功,只需复制即可,但其维护的工作量大。
3.软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明。
答:软件分为系统软件,支撑软件和应用软件3类。
系统软件居于计算机系统中最靠近硬件的一层其他软件一般都通过系统软件发挥作用。
例如:编译程序,操作系统等。
支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统,网络软件,软件工具,软件开发环境等。
应用软件是特定应用领域专用软件。
例如:工程/科学计算软件,嵌入式软件,产品线软件,Web应用软件,人工智能软件等。
1.3简述软件语言的分类,并举例说明。
答:软件语言是用于书写计算机软件的语言主要包括:需求定义语言,功能性语言,设计性语言,实现性语言和文档语言。
需求定义语言用以书写软件需求定义,软件需求定义是软件功能需求和非功能需求的定义性描述。
软件功能需求刻画“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据预通信规程以及项目管理等。
功能性语言用以书写软件功能规约,软件功能规约是软件功能的严格而完整的陈述。
软件功能规约通常只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法,因此,功能性语言通常又称为功能规约语言。
设计性语言用以书写软件设计规约。
软件设计规约是软件设计的严格而完整的陈述。
一方面,它是软件功能规约的算法性细化,刻画了软件“如何做”的内部算法;另一方面,它又是软件实现的依据从。
软件工程综合习题(1)及答案
软件工程综合习题(1)及答案一、选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A )模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B )。
A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。
A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。
A.需求不确定性高的 B.需求确定的C.管理信息 D.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。
A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。
A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。
A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。
软件工程基础(一)有答案
软件工程基础(一)一、选择题1. 软件工程学的提出起源于软件危机,而其目的应该是最终解决软件的______ 问题。
A.质量保证B.生产危机C.生产工程化D.开发效率答案:C2. 软件生命周期分为几个阶段,需求分析属于______ 阶段的任务。
A.定义B.开发C.维护D.编码答案:A3. 软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指______。
A.结构化方法B.面向对象方法C.二者都对D.二者都不对答案:A4. 软件生命周期一般可以分为3大的阶段,它们分别是______ 。
A.分析、设计和维护B.定义、开发和测试C.分析、编码和测试D.定义、开发和维护答案:D5. 软件工程上常用的表达工具有______ 。
A.图形工具B.表格工具C.语言工具D.以上全是答案:D6. 软件工程环境一般应具有某些特征,下列叙述中______ 不是它必须具备的特征。
A.一组工具的集合B.按方法或模式组合的工具C.提供完善的移植工具D.支持全周期或阶段的工具答案:C7. 结构化分析方法(SA) 是一种______ 。
A.自顶向下逐层分解的分析方法B.自底向上逐层分解的分析方法C.面向对象的分析方法D.以上都不对答案:A8. 自顶向下设计把下列______ 结合起来交叉进行。
A.设计、编码、维护B.设计、编码、测试C.设计、编码、调试D.模块设计、程序设计、算法设计答案:C9. 数据流图是进行软件需求分析常用的工具,其中最基本的图符是:变换、数据流、数据存储和外部实体,其中用______ 图符来代表图中的数据池(数据最终的目的地)。
A.变换B.数据流C.数据存储D.外部实体答案:D10. 由事务型数据流图映射为软件结构的设计首先应设计一个______ ,它有两个功能:接收事务数据,根据事务类型调度相应的处理模块。
A.总控模块B.事务中心C.变换中心D.事务调度答案:B11. 面向数据流的设计方法把______ 映射成软件结构。
软件工程习题与答案1
(1)软件危机的产生,一方面是与软件本身的特点有关,另一方面是由于软件开发和维护的方法不规范、不正确造成的,其根本原因,是与如下几个根本原因有着密切的关系。
(1)忽视了软件开发前期的需求分析。
(2)开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。
(3)忽视测试阶段的工作,提交给用户的软件质量差。
事实上,对于软件来讲,不论(4)轻视软件的维护。
在一个软件漫长的维护期中,必须改正软件使用中发现的每一处存在的错误,给用户一个满意的回答。
软件维护工作是极其复杂艰巨的,需要花费很大的总之,通过以上分析,从技术和管理两个方面入手,引入“软件工程”的概念是必不或缺的。
可行性分析是在明确了问题定义的基础上,对软件项目从技术、经济等方面进行研究和分析,得出项目是否具有可行性结论的过程。
可行性研究的任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决、是否能够解决。
一般来说,可行性研究主要包括经济可行性、技术可行性、法律可行性和运行可行性等几个方面。
(1)经济可行性(2)技术可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
(3)时机可行性:目前,学院的校园网络覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足院校内各学系,各职能部门,各直属单位上网需求,学校良好的网络设施为学院建设“信息化校园”提供了坚实的基础。
(4)管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
规章制度和管理方法为系统的建设提供了制度保障。
(5)法律可行性:分析在系统开发的全部过程中可能出现和涉及的法律问题,如合同、责任、知识产权和专利等问题。
要确保新系统的开发不会引起侵权和其他责任问题。
(6)运行可行性:判断新系统的运行方式是否可行。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。
软件工程习题与答案(第1次)
软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。
2、N-S图中的顺序结构:在PAD图中表示为:PAD图设置五种基本控制结构,并允许递归使用。
3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此之间相互依赖的紧密程度。
内聚衡量一个模块内部各个元素彼此结合的紧密程度。
4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。
二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。
A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。
A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。
A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。
A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。
(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。
(√)3、在软件开发中采用原型系统策略的主要困难是成本问题。
(√)4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。
(√)5、下图表示的是WHILE 型循环。
(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。
(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。
1华工《软件工程》随堂作业答案
B.瀑布模型
C.螺旋模型
D.统一过程
答题: A. B. C. D.(已提交)
参考答案:D
问题解析:
19.(单选题)研究软硬件资源的有效性是进行( )研究的一方面。
A.技术可行性
B.经济可行性
C.社会可行性
D.操作可行性
答题: A. B. C. D.(已提交)
参考答案:A
问题解析:
20.(单选题)制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是()。
A.维护报告B.维护申请C.维护文档D.维护说明
答题: A. B. C. D.(已提交)
参考答案:B
问题解析:
5.(单选题)在需求( )中,开发人员要从用户那里解决的最重要的问题是软件应当做什么。
A.设计B.代码
C.分析D.结构
答题: A. B. C. D.(已提交)
参考答案:C
问题解析:
6.(单选题)在统一过程中是采用用例驱动和架构优先的策略,并采用迭代增量建造方法,使()“逐渐”被开发出来。
A.快速原型
B.瀑布模型
C.喷泉模型
D.螺旋模型
答题: A. B. C. D.(已提交)
参考答案:A
问题解析:
16.(单选题)()是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
A.统一过程
B.瀑布模型
C.喷泉模型
D.螺旋模型
答题: A. B. C. D.(已提交)
参考答案:C
A.问题分析
B.信息域分析
C.结构化程序设计
D.确定逻辑结构
答题: A. B. C. D.(已提交)
参考答案:C
《软件工程》试题及参考答案(第1套)
《软件工程》试题(第1套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.经济可行性研究的范围包括()A.资源有效性 B.管理制度 C.效益分析 D.开发风险2.结构化设计方法在软件开发中用于()。
A、概要设计B、详细设计C、程序设计D、测试用例设计3.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移4.软件测试中,白盒法是通过分析程序的()来设计测试用例的。
A、应用范围B、内部逻辑C、功能D、输入数据5.软件维护费用高的主要原因是()。
A、人员少B、人员多C、生产率低D、生产率高6.软件质量必须在()加以保证。
A、开发之前B、开发之后C、可行性研究过程中D、设计与实现过程中7.确认测试主要涉及的文档是()。
A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序8.模块的内聚性最高的是( )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚9.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( ) A.生存期 B.面向对象设计C.面向对象程序设计 D.面向对象分析10.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。
A.需求不确定性高的 B.需求确定的C.管理信息D.实时11、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。
A 关键实践B 关键过程域C 软件过程能力D 软件过程12、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程13.下列关于瀑布模型的描述正确的是( )。
软件工程第1-2章课后习题参考答案
第一章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
“软件危机”包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的原因(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是知道计算机软件开发和维护的一门工程学科。
武汉大学大二计算机专业软件工程考试试卷及参考答案1
武汉大学软件工程考试试卷及参考答案1一、单项选择题(5’)1.程序设计语言的工程特性之一为()。
A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性答案:A2.下列关于功能性注释不正确的说法是()。
A、功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B、注释用来说明程序段,需要在每一行都要加注释C、可使用空行或缩进,以便很容易区分注释和程序D、修改程序也应修改注释答案:B3.()意味着一个操作在不同的类中可以有不同的实现方式。
A、多态性B、封装C、多重继承D、类的复用答案:A4.黑盒测试在设计测试用例时,主要需要研究()。
A、需求规格说明与概要设计说明B、详细设计说明C、项目开发计划D、概要设计说明与详细设计说明答案:A5.下面关于PDL语言不正确的说法是()。
A、PDL是描述处理过程怎么做B、PDL是只描述加工做什么C、PDL也称为伪码D、PDL的外层语法应符合一般程序设计语言常用的语法规则答案:B6.UML的基本建筑块不包括()。
A、框架B、事物C、关系D、图答案:A7.模块的内聚性最高的是()。
A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚8.经济可行性研究的范围包括()。
A、资源有效性B、管理制度C、效益分析D、开发风险答案:C9.在衡量软件质量时,最重要的标准是()。
A、成本低B、可维护性好C、符合要求D、界面友好答案:C10.软件结构图的形态特征能反映程序重用率的是()。
A、深度B、宽度C、扇入D、扇出答案:C11.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A、结合B、隐藏D、抽象答案:C12.程序设计语言的技术特性不应包括()。
A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性答案:D13.下列哪种做法会导致不利的语句结构()。
A、避免使用ELSE GOTO结构B、对递归定义的数据结构尽量不再使用递归过程C、模块功能尽可能单一化,模块间的耦合能够清晰可见D、利用信息隐蔽,确保每一个模块的独立性答案:B14.()意味着一个操作在不同的类中可以有不同的实现方式。
软件工程考试题一-(3)
软件工程考试题一一、选择题,请从四个可选项中选择正确答案。
(60分,每题3分)1.软件、程序和代码是()。
A. 相同的软件概念B.程序语言写的代码C.计算机代码和数据D. 三个不同的概念2.下面哪个选项不是软件工程研究的内容()。
A. 生产无故障的软件B. 精通一门编程语言C.生产满足用户需求的软件D.生产及时交付的软件3.SW-CMM是一种()规范。
A.编程规范B.软件工作通用模型C.软件设计模型D.软件成熟度模型4.可行性研究实质上是在较高层次上、以较抽象的方式进行()的过程。
A.详细软件设计B.简化需求分析过程C.深入的需求分析D.测试设计5.与传统行业的生产相比较,软件的需求具有()。
A.主观性B.稳定性C.明确性D.客观性6.()反映了系统物理结构。
A.程序流程图B.数据流程图C.网络拓扑图D.系统流程图7.在软件设计中应该保持模块的独立性原则,()反映模块独立性。
A.耦合和内聚B.数据和模块C. 模块内部的凝聚力D.模块之间的耦合8.不管多么完善的软件都可能有潜在的问题,所以设计人员应该为软件进行()设计,当软件遇到异常数据、事件或操作时,软件不至于彻底崩溃。
A.容错性B.有效性C.可靠性D.安全性9.从本质上说,面向对象是“先”确定动作的()“后”执行()。
A.数据结构/主体B.主体/数据结构C.动作/主体D.主体/动作10.UML是一种()语言。
A.程序设计B.面向对象C.交互式建模D.过程描述11.面向对象分析过程中建立的模型有()。
A. 数据模型、功能模型、活动模型B. 对象模型、功能模型、测试模型C. 属性模型、功能模型、对象模型D. 对象模型、功能模型、动态模型12.下面建立功能模型的步骤哪个顺序是正确的()。
A.确定角色/确定用例模型/确定用例B.确定用例/确定用例模型/确定角色C.确定角色/确定用例/确定用例模型D.确定用例模型/确定角色/确定用例13.在图书馆信息管理系统中,已经构造了一个读者类,后来发现图书馆的学生和教师在借书中有不同要求。
软件工程形考任务1参考答案
()是职业软件工程师的必要条件。
A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋选择02根据软件工程的7条基本原理判断下面正确的选项是()。
A.软件错误发现的时机不重要,重要的是错误的严重程度B.软件错误只能通过运行代码才能发现C.软件错误发现的越早改正的成本越低D.需求阶段一般不会引入错误选择03美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。
A.7B. 5C. 3D.12选择04软件、程序和代码是()。
A.相同的软件概念B.程序语言写的代码C.计算机代码和数据D.三个不同的概念选择05软件对硬件和环境有着不同程度的依赖性,这导致了软件()问题。
A.复杂性B.升级和移植C.通用性D.脆弱性选择06软件工程的出现是由于()。
A.软件危机B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展选择07软件工程四个层次由下至上是(),它们的顺序不能互换。
A.质量层、过程层、方法层、工具层B.过程层、方法层、质量层、工具层C.方法层、过程层、质量层、工具层D.方法层、质量层、过程层、工具层软件可行性研究一般不考虑()A.是否有足够的人员和相关的技术来支持系统开发B.是有足够的工具和相关的技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题选择09软件与程序的区别是()。
A.程序价格便宜,软件价格昂贵B.程序是用户自己编写的,而软件是由厂家提供的C.程序是用高级语言编写的,而软件是由机器语言编写的D.软件包括程序、相关数据及其文档,程序是软件的一部分选择10在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。
A.软件危机B.软件工程C.程序设计革命D.结构化程序设计选择11软件工程学科出现的主要原因是()。
A.计算机的发展B.其他工程科学的影响C.软件危机的出现D.程序设计方法学的影响选择12概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
软件工程第四版第1章参考答案
一.基本概念1.软件就是程序吗?如何定义软件?答:人们经过长期实践已经逐步认识到,软件≠程序,程序只是软件的关键要素,普遍接受的观点是:软件=程序+数据+文档。
2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。
从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。
文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。
没有文档的软件维护不但不能延长反而会缩短软件寿命。
文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。
3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。
产生的原因是主客观不相适应。
见书图1-2。
●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。
4.软件工程定义有很多说法,用你自己的理解说明软件工程是干什么的?参考:软件工程是指导计算机进行软件计划、开发和维护的工程学科;软件工程是为解决软件危机而诞生的,解决的途径是:用工程化的理论、方法和技术来管理软件开发过程。
任何产品的工程化就是有计划、有目标、有规范、有文档、有标准。
见1.4节。
软件工程就是指导软件产品的工程化。
5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。
见图1-4。
(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。
过程定义的活动集合及其序列见第2章。
(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。
硕士软件工程重点单项选择和判断题答案(1)
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A. 软件工程B. 软件周期C. 软件危机D. 软件产生2. 研究开发所需要的成本和资源是属于可行性研究中的 ( ) 研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性3. 模块的内聚性最高的是 ( )A. 逻辑内聚B. 时间内聚C. 偶然内聚D. 功能内聚4. 在 SD 方法中全面指导模块划分的最重要的原则是 ( )A. 程序模块化B. 模块高内聚C. 模块低耦合D. 模块独立性5. 软件详细设计主要采用的方法是 ( )A. 模块设计B. 结构化设计C.PDL 语言D. 结构化程序设计6. 黑盒测试在设计测试用例时,主要需要研究 ( )A. 需求规格说明与概要设计说明B. 详细设计说明C. 项目开发计划D. 概要设计说明与详细设计说明7. 下列属于维护阶段的文档是 ( )A. 软件规格说明B. 用户操作手册C. 软件问题报告D. 软件测试分析报告8. 快速原型模型的主要特点之一是 ( )A. 开发完毕才见到产品B. 及早提供全部完整的软件产品C. 开发完毕后才见到工作软件D. 及早提供工作软件9. 为了克服软件危机,人们提出了用 ( ) 的原理来设计软件,这就是软件工程诞生的基础。
A. 数学B. 软件学C. 运筹学D. 工程学10. 可行性研究的目标是 ( ) 。
A. 开发项目B. 项目值得开发否C. 规划项目D. 维护项目11. 分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 ( ) 。
A. 描绘了系统的实现细节B. 表明了被开发系统的范围以及它和周围环境的数据交换关系C. 描绘了系统的抽象D. 描绘了软件实现的作者和绘制的时间12. 软件需求分析应确定的是用户对软件的 ( ) 。
软件工程 3答案(1)
软件工程2005-0001 (题目数量:42 总分:100.0)1.单选题(题目数量:20 总分:40.0)1. 软件质量必须在()加以保证。
A.开发之前B.开发之后C.可行性研究过程中D.分析、设计与实现过程中答案:D2. 结构化设计方法在软件开发中,用于()。
A.测试用例设计B.软件概要设计C.程序设计D.软件详细设计答案:D3. DFD中的每个加工至少需要()。
A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流答案: 一个输入流和一个输出流4. 在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.要让软件做什么B.要给该软件提供哪些信息C.要求软件工作效率怎样D.要让软件具有何种结构答案: 要让软件做什么5. 软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构答案: 全局和局部6. 对一个软件工程来说,占有总工作量的百分比最大的工作是()。
A.需求分析B.软件设计C.编码工作D.测试和维护工作答案: C7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A.软件过程B.软件测试C.软件生存周期D.软件工程答案: 软件工程8. 数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的()。
A.对象B.名字C.符号D.描述答案: D9. 模块独立性是软件模块化所提出的要求,衡量模块独立性的试题是模块的()。
A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法答案:C10. 只有单重继承的类层次结构是()层次结构。
A.网状型B.星型C.树型D.环型答案:C11. 软件是一种()产品。
A.物质B.逻辑C.有形D.消耗答案: 逻辑12. 在构件的可行性分析中,可以从不同的角度对软件进行研究,其中从软件的功能角度考虑可行性是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程第一章作业1.1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。
软件的特点是:A 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确得估算;B 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;C 软件的使用没有硬件那样的机械磨损和老化问题。
1.2 简述软件的分类,并举例说明。
答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。
A 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。
系统软件与具体的应用领域无关。
例如:编译程序、操作系统等。
B 支撑软件:支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境等。
C 应用软件:应用软件是特定应用领域专用的软件。
例如:工程/科学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5 简述软件工程的基本原则。
答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;第二条:采用合适的设计方法;第三条:提供高质量的工程支撑;第四条:重视软件工程的管理。
1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。
答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
C软件设计只要解决待开发软件“怎么做”的问题。
软件设计通常可分为系统设计和详细设计。
系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。
详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。
D编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。
E测试阶段的任务是发现并纠正软件中的错误和缺陷。
测试主要包括单元测试、集成测试、确认测试和系统测试。
F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。
1.9 简述各类软件过程模型的特点。
答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。
A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:接受上一阶段活动的结果作为本阶段活动的输入;依据上一阶段活动的结果实施本阶段应完成的活动;对本阶段的活动进行评审;将本阶段活动的结果作为输出。
B增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。
C原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。
然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。
被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下一轮迭代中对原型进行改进。
在前一个原型需要改进,或者需要扩展其范围的时候,进入下一轮原型的迭代开发。
D螺旋模型将原型模型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点而且还增加了风险分析。
E喷泉模型是一种支持面向对象开发的过程模型。
类及对象是面向对象方法中的基本成分。
在分析阶段,标识类及对象,定义类之间的关系,建立对象-关系模型和对象-行为模型。
在设计阶段,从实现的角度对分析模型进行调整和扩充。
在编码阶段,用面向对象语言实现类及对象,通过消息机制实现对象之间的通信,完成软件的功能。
在面向对象方法中,分析模型和设计模型采用相同的符号表示体系,开发的各个活动没有明显的边界,各个活动经常重复,迭代地交替进行。
F基于构件的开发模型,基于构件的开发是指利用预先包装的构建来构造应用系统。
构件可以是组织内部开发的构建,也可以是商业化的、现存的软件构件。
G形式化方法是建立在严格数学基础上的一种软件开发方法。
软件开发的全过程中,从需求分析、规约、设计、编程、系统集成、测试、文档生成,直至维护等各个阶段,凡是采用严格的数学语言,具有精确的数学语义的方法,都称为形式化方法。
形式化方法用严格的数学语言和语义描述功能和设计规约,通过数学的分析和推导,易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。
通过数学的演算,使得从形式化功能规约到形式化设计规约,以及从形式化设计规约到程序代码转换成为可能。
1.10 敏捷软件开发的特点是什么?答:敏捷软件开发的特点有4个:A个人和交互高于过程和工具;B可运行软件高于详尽的文档;C与客户协作高于合同谈判;D对变更及时做出反应高于遵循计划。
1.12 简述敏捷软件开发的原则。
答:敏捷软件开发必须遵循的12条原则如下;A最优先的是通过尽早地和不断地提交有价值的软件来使客户满意;B欢迎变化的需求,即使该变化出现在开发的后期,为了提升对客户的竞争优势,Agile过程利用变化作为动力;C以几周到几个月为周期,尽快、不断地发布可运行软件;D在整个项目过程中,业务人员和开发人员必须天天一起工作;E以积极向上的员工为中心建立项目组,给予他们所需要的环境和支持,对他们的工作予以充分的信任;F项目组内效率最高、最有效的信息传递方式是面对面的交流;G测量项目进展的首要依据是可运行的软件;H敏捷过程提倡可持续的开发,项目发起者、开发者和用户应能长期保持恒定的速度;I应该时刻关注技术上的精益求精和好的设计,以增强敏捷性;J简单化是必不可少的,这是尽可能减少不必要工作的艺术;K最好的构架、需求和设计出自于自我组织的团队;L团队要定期反思怎样才能更加有效,并据此调整自己的行为。
第2、3章2.1简述系统工程的任务。
答:系统工程是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。
主要任务包括:(1)识别用户要求;(2)系统建模与模拟;(3)成本估算及进度安排;(4)可行性分析;(5)生成系统规格说明。
2.2基于计算机的系统由哪些元素组成?答:组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程。
2.3简述可行性分析的任务。
答:可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。
(1)经济可行性主要进行成本效益分析,从经济角度,确定系统是否值得开发。
包括成本、效益、货币的时间价值、投资回收期和纯收入。
(2)技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。
技术可行性分析通常包括风险分析、资源分析和技术分析。
(3)法律可行性主要研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。
3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。
答:重要性是应用已证实有效的技术、方法进行需求分析,确定客户需求、帮助分析人员理解问题,评估可行性,协商合理的解决方案,无歧视地规约方案,确认规约以及将规约转换到可行性的系统时的管理要求,通过合理的工具和符号系统地描述待开发系统以及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。
因需求分析失败而造成项目失败例子如下:项目名称:邮政资信管理系统项目功能:管理邮政方面业务的监督和管理,提高邮政的服务效率。
失败原因:需求分析不足,需求内容不明确,把握不充分。
3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?答:需求工程具体步骤包括:需求获取、需求分析与协商、系统建模、需求规约、需求验证以及需求管理六个步骤。
(1)需求获取在需求获取阶段系统分析人员通过与用户的交流、对现有系统的观察以及对任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表以及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的原型。
需求获取的工作产品为进行需求分析提供了基础。
(2)需求分析与协商此阶段的任务是对需求进行分类组织,分析每个需求与其他需求的关系以检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序。
(3)系统建模系统建模是为了在用户和系统分析人员之间建立统一的语言和理解的桥梁,系统分析人员借助建模技术对获取的需求信息进行分析,排除错误和弥补不足,确保需求分析文档正确反映用户的真实意图。
(4)需求规约软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
需求规约作为用户和开发者之间的一个协议,在之后的软件工程各个阶段发挥重要作用。
(5)需求验证此阶段的任务是对功能的正确性、完整性和清晰性,以及其他需求给予评价,保证软件需求定义的质量。
(6)需求管理软件需求管理是对需求工程所有相关活动的规划和控制。
换句话说,需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一个使用户与项目团队对不断变更的系统需求达成并保持一致的过程。
3.3一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
答:(1)强烈的责任心和事业心系统分析师由于必须保证分析的准确性,尤其是需求,所以责任更为重大。
一般来说,不应以用户表述不明确,无法得到需求,或者用户需求变化太多太快作为借口,更不能因为下面的研发技术人员技术水平不如自己而责备研发技术人员,同时也需要能够为保证企业利益而说服公司领导做出正确的决策;(2)钻研精神IT行业不同于其他行业,新理念新技术新方法层出不穷,系统分析师需要能够适时适当地引进新理念新技术新方法,为企业提高生产效率,为员工降低劳动强度,为客户提供更具竞争力和更加实用的产品和服务;(3)优秀的协商谈判能力复杂的系统有许多项目相关的人员,他们之间的需求必定会出现冲突,协商的过程就是讨论需求,找出每个人都满意的折衷方案。