软件工程——《程序设计语言和编码》b
- 格式:ppt
- 大小:5.58 MB
- 文档页数:75
判断题:1.软件就是程序,编写软件的关键是编写程序。
2.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。
3.需求管理主要是对需求变化的管理,及如何有效控制和适应需求的变化。
4.数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。
5.需求分析的主要方法有SD法、OOA法及HIPO法等。
6.没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。
7.用面向对象方法分析、设计、实现软件,仍属线性的瀑布开发模型。
8.文档是影响软件可维护性的决定因素。
9.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
10. 软件模块之间的耦合性越弱越好。
11. 软件开发小组的组成人员的素质应该好,而人数则不宜过多。
12. 总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。
13. 文档只起备忘录的作用,可以在软件开发完成后再整理生成。
14. 结构化软件开发的方法的工作模型是螺旋模型。
15. 总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。
16. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
1.N 2.Y 3. Y 4.N 5.N 6.Y 7.N 8.Y9.N 10.Y 11.Y 12. Y 13. N 14.N 15.Y 16.Y判断题:1.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。
2.过程描述语言可以用于描述软件的系统结构。
3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。
4.快速原型模型可以有效地适应用户需求的动态变化。
5.在面向对象的需求分析方法中,建立动态模型是最主要的任务。
6.集成测试主要由用户来完成。
7.确认测试计划应该在可行性研究阶段制定8.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
软件工程期末试题(1)一, 判断题(正确的在括号内打上"√",错误的打上"×".每题分,共15分)Warnier方式也是一种面向数据结构的设计方式,其逻辑更严格.(×) PAD图在设置了五种大体控制结构后,还允许递归挪用. (×) 你为了加速软件保护作业的进度,应尽可能增加保护人员的数量.(×) 当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精准表达程序结构的图形表示法.因此,有时也可以将系统结构图看成系统流程图利用.(×)在程序调试时,找犯错误的位置和性质比更正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方式(OOD)也是常见的软件概要设计方式之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以以为是事务流b,软件系统中所有的信息流都可以以为是变换流c,事务分析和变换分析的设计步骤是大体相似的A,a B,b C,c D,b和c进行需求分析可利用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,常常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果大体决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可保护性利用白盒测试方式时,肯定测试数据应按照(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.)(ABCD)可以作为模块.A,子程序B,函数C,进程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于气宇效益方式的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件保护的策略包括(BCD).A,按期检测保护B,更正性保护C,适应性保护D,完善性保护下列属于软件测试进程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,进程内聚,时间内聚,逻辑内聚,偶然内聚:弱2、请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样利用,一样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类品级的不同层次中可以共享(公用)一个行为(方式)的名字,但是不同层次中的每一个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,按照该对象所属于的类动态选用在该类中概念的实现算法.3、重载是指一个类中有多个同名的方式,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的概念与说明,是数据流程图的补充工具.(2分)数据流图和数据字典一路组成系统的逻辑模型,没有数据字典数据流图就不严格, 但是没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每一个元素的精准概念放在一路,才能一路组成系统的规格说明.(3分)5、简述编码风格的重要性.答案:阅读程序是软件开发和保护进程中的一个重要组成部份,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出靠得住而又容易保护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方式的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在组成类的各个部件之间存在各类直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷(2)(开放教育本科)计算机科学与技术专业《软件工程》试题B一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题概念__、可行性研究、__需求分析_、设计编码、_测试_、运行与保护阶段。
《软件工程》练习题及其答案
一、单选题(每题10分,共50分)
1、程序控制一般分为( B )、分支、循环三种基本结构。
A.分块
B.顺序
C.选择
D.循环
2、在解决人工智能上使用最多的有非常强的表处理功能的函数程序设计语言是( D)。
A. Prolog
B.Snobol
C. COBOL
D. Lisp
3、以谓词逻辑为基础的,核心是事实、规划和推理机制的实用逻辑程序设计语言是( C )。
A.Java
B.Lisp
C. Prolog
D.Smalltalk
4、在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的(D)。
A.技巧生
B.保密性
C.一致性
D.可理解性
5、项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是(D)。
A.系统软件
B.数据处理与数据库应用
C.实时处理
D.UNIX操作系统
二、填空题(每空5分,共50分)
1、编码是将详细设计阶段得的处理过程的描述转换为基于某种计算机语言的程序,即源程序代码。
2、近年来,推出了许多面向对象的语言,如 C++ 、 Java 等。
3、提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构与算法,而不是靠编程时对程序语句做调整。
4、效率是一个性能要求,目标在需求分析给出。
5、追求效率建立在不损害程序可读性,或可靠性基础上。
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共20分)1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统( )A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是( )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是( )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是( )A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSD方法不正确的说法是( )A.JSD方法主要用于规模不大的数据处理系统B.JSD方法不明确的划分软件概要设计和详细设计的两个阶段C.JSD方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSD方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是( )A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10."若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1."0,1."0],现从输入的角度考虑一组测试用例:-1."001,-1."0,1."0,1."001。
"设计这组测试用例的方法是( )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11."下列属于维护阶段的文档是( )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12."快速原型模型的主要特点之一是( )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13."因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.教正性维护B.适应性维护C.完善性维护D.预防性维护14."类库这种机制是( )级别的信息共享。
《软件⼯程》期末习题答案【习题】⼀、选择题:1 、1968年北⼤西洋公约组织的计算机科学家召开国际会议,讨论()问题,这次会议上正式使⽤了软件⼯程这个名词。
(A )系统设计(B )软件危机(C )设计模式(D) 软件开发2 、下⾯哪些不属于软件⼯程学的内容是:A 、软件开发⽅法B 、软件环境C 、成本估算D、⼈员配置3 、下⾯哪个途径属于摆脱软件危机的⽅法:()A 、多安排软件⼈员进⾏编程B 、招聘编程⽔平⾼的⼈员C 、采⽤必要的组织管理措施D、提⾼计算机硬件的配置4 下⾯哪个是开发原型系统的⽬的:(A )检验设计⽅案是否正确(B )画出系统的逻辑模型(C )给出系统的最终⽤户界⾯(D)系统是否可⾏5 、在下列⼯具与环境中()属于较早期的CASE。
A. 基于信息⼯程的CASEB.⼈⼯智能CASEC. 集成CASE环境D. 交互编程环境6 、软件复杂性主要体现在()A. 数据的复杂性B. 程序的复杂性C. 控制的复杂性D. 问题的复杂性7 、⽤于设计阶段,考核实现⽅案是否可⾏的是()原型。
A. 探索型B. 演化型C. 实验型D. 增量型8 、具有风险分析的软件⽣存周期模型是()A. 瀑布模型B. 喷泉模型C. 螺旋模型D. 增量模型9 、软件⼯程管理的具体内容不包括对_________管理。
A .开发⼈员B .组织机构C .过程D.设备10、在RUP 开发过程模型的主要特征是_________。
A .迭代和原型B .增量和原型C .迭代和增量D.瀑布和原型11 、软件需求⼯程阶段的⼯作可以划分以下四个⽅⾯:对问题的识别、分析与综合、制定需求规格说明和____。
A. 总结B. 阶段性报告C. 需求分析评审D. 以上答案都不正确12 、各种需求分析⽅法都有它们共同适⽤的_____ 。
A. 说明⽅法B. 描述⽅法C. 准则D. 基本原则13 、软件需求规格说明书的内容不应该包括对____的描述。
A. 主要功能B. 算法的详细过程C. ⽤户界⾯和运⾏环境 D.软件的性能14 、需求分析产⽣的⽂档是____ 。
《软件工程》形成性考核答案第一、二章一、填空题1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。
2. 软件生存周期一般可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运行与维护阶段。
3. 可行性研究的目的是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。
4. 系统流程图是(描绘物理系统)的传统工具。
5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要的一个环节。
二、判断题1. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√)2. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表示。
(√)3. 原型模型适用于嵌入式软件。
(╳)4. 面向对象技术是构件组装模型的基础。
(√)5. 在可行性研究中最难决断和最关键的问题是经济可行性。
(╳)6. 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)7. 自底向上成本估计不是从整体开始,而是从任务单元开始。
(√)三、单项选择题1. 下列哪个阶段不是软件生存期三个阶段中的内容( C )。
A.计划阶段B.开发阶段C.编码阶段D.维护阶段2. 下列关于瀑布模型的描述正确的是( C )。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
四、简答题1. 软件的定义与特点。
参考答案:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
它包括三个方面的内容:⑴程序:在运行时,能提供所希望的功能和性能的指令集。
⑵数据结构:使程序能够正确运行的数据结构。
⑶文档:描述程序研制过程、方法及使用的图文材料。
软件产品具有以下一些特性:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
《软件工程B》课程教学大纲课程代码:1101309161课程名称:软件工程B英文名称:Software Engineering学分:2 总学时:32讲课学时:32 实验学时:0 上机学时:0 课外学时:0适用对象:信息管理与信息系统专业先修课程:程序设计基础,数据结构,数据库管理学生自主学习时数建议:不少于12学时一、课程性质、目的和任务软件工程是一门计算机工程学科,它建立并规范与软件特点相适应的、完善的工程原理技术,以经济地生产高质量的软件产品并有效地维护巳有的软件产品。
本课程是计算机及与计算机科学密切相关专业的本科学生的专业基础课。
通过本课程教学,使学生掌握软件工程的基木概念、系统分析和系统设计的基本技术、程序语言与编码风格、软件测试与软件可靠性、软件维护等的概念与方法。
它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。
二、教学基本要求本课程的基本要求如卜.:通过本课程的学习,了解软件工程的概念和作用,能够养成软件编码的良好习惯,基本了解并掌握大型计算机软件科学的开发方法,传统的结构化的程序设计方法、面向对象技术的开发方法,相关的管理技术以及软件的评价标准。
三、教学内容第一单元绪论1、教学内容(1)介绍软件的基本概念、软件危机、软件工程学的范畴;(2)传统软件工程和面向对象软件工程以及软件工程的应用;(3)学习软件工程的意义;(4)面向对象软件工程和传统软件工程的比较'2、重点和难点(1)重点:软件生产和硬件生产的比较(2)难点:软件危机第二单元软件开发模型1、教学内容(1)瀑布模型、快速原型模型;(2)面向对象过程模型;(3)基于形式化方法的软件开发模型;2、重点和难点(1)重点:各种软件开发模型的内容(2)难点:不同开发模型的特点比较第三单元软件开发阶段1、教学内容(1)需求分析;(2)概要分析;(3)详细分析;(4)编码实现;(5)测试阶段;2、重点和难点(1)重点:各种阶段的工作重点(2)难点:各种分析设计理念第四单元面向对象的开发方法1、教学内容(1)对象,类的概念;(2)对象技术三大特征:继承、封装、多态2、重点和难点(1)重点:对象和类(2)难点:理解对象与现实的区别和联系第五单元软件工程规划1、教学内容(1)工程化软件的思想和意义;(2)工程化的手段2、重点和难点(1)重点:理解工程化,以及和其它工程领域的区别(2)难点:软件团队的合作和分工四、实践环节设计本课程的实践安排由任课教师组织学生在课内、课外进行,可以结合学生接触过的开发环境自由选取开发环境。