《软件工程》复习资料
软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。
(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。
(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。
(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。
(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。
(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。
(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。
软件工程自考复习资料-全

软件工程自考复习资料-全第一章绪论一、软件的基本概念1.软件是计算机系统中的程序及其文档。
3.文档一般主要面向管理人员、开发人员、用户、使用维护人员。
4.文档在软件工程中的作用:(1)提高软件开发过程的能见度。
(2)提高开发效率。
(3)某程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇编来实现,不注重程序设计方法。
某程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。
某软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。
6.软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:某软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。
某软件只会退化,不存在磨损和消耗问题。
某成本主要体现在软件的开发和研制上,可进行大量的复制。
某主要靠脑力劳动生产,开发和维护成本高。
7.软件的主要结构和功能是在分析设计阶段决定的。
8.软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。
直接关联到软件的简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。
二、软件危机1.软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。
出现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。
2.软件危机主要体现在:某软件发展速度跟不上硬件的发展和用户需求。
某软件成本和开发进度不能预先预算,用户不满意。
某软件产品质量差,成本高,可靠性没有保证。
某软件可维护性差,产品没有配套文档。
3.软件危机产生原因:(1)软件规模变大,结构更加复杂。
(2)软件开发管理困难。
(3)软件开发技术和工具落后。
(4)软件开发费用增加。
(5)采用落后的个体手工生产方式开发。
4.解决途径:(1)纠正对软件开发的错误观念。
(2)提高软件工程管理水平,重视文档重要性。
(3)使用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开发效率。
软件工程复习资料

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.购买大多数计算机系统所需的硬件比软件更昂贵5火箭发射失败的事例告诉我们A.(2)软件后备系统可以通过复制生成B.(3)软件重用必须重新进行系统论证和系统测试C. 选项(1)和(3)D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是A.软件本身的特点及开发方法。
B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是A.软件质量是在开发过程中逐渐构建起来的。
B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
软件工程复习资料

软件⼯程复习资料软件⼯程第⼀章⼀、什么是软件?软件(Software)是计算机系统中与硬件相互依存的另⼀部分,它是包括程序(Program),数据(Data)及其相关⽂档(Document)的完整集合。
程序是按事先设计的功能和性能要求执⾏的指令序列数据是使程序能正常操纵信息的数据结构⽂档是与程序开发,维护和使⽤有关的图⽂材料⼆、软件危机原因:与软件本⾝的特点有关(难于维护, 逻辑复杂)与软件开发与维护的⽅法不正确有关:软件≠程序急于求成=拔苗助长各⾃为阵⽆⽅法/学现象:1.成本⾼2.计算机软件和硬件费⽤⽐3.软件质量得不到保证4.由于软件质量问题导致失败的软件项⽬⾮常多5.进度难以控制6.维护⾮常困难办法:软件⼯程(学)三、软件⼯程软件⼯程是应⽤计算机科学、数学及管理科学等原理开发软件的⼯程。
它借鉴传统⼯程的原则、⽅法,以提⾼质量,降低成本为⽬的。
开发、运⾏和维护软件的系统⽅法四、软件⼯程三要素软件⼯程⽅法学包含3个要素:⽅法、⼯具和过程。
五、软件⽣命周期六、软件过程模型瀑布模型瀑布模型适合于⽤户需求明确、完整、⽆重⼤变化的软件项⽬开发。
瀑布模型的成功在很⼤程度上是由于它基本上是⼀种⽂档驱动的模型。
“瀑布模型是由⽂档驱动的”这个事实也是它的⼀个主要缺点。
在项⽬开始的时候,⽤户常常难以清楚地给出所有需求;⽤户与开发⼈员对需求理解存在差异。
实际的项⽬很少按照顺序模型进⾏。
⽤户必须有耐⼼,等到系统开发完成。
缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是⾮常困难的,导致“阻塞状态”。
反馈信息慢,开发周期长。
虽然存在不少缺陷,瀑布模型经常被嘲笑为“旧式的”,但是在需求被很好地理解的情况下,仍然是⼀种合理的⽅法。
快速原型模型增量模型增量模型是迭代和演进的过程。
增量模型把软件产品分解成⼀系列的增量构件,在增量开发迭代中逐步加⼊。
每个构件由多个相互作⽤的模块构成,并且能够完成特定的功能。
软件工程复习资料

A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次 B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值 C、条件覆盖:选择测试用例使每个条件都满足 D、条件组合覆盖:将所有的判定条件都组合起来执行 答案: A B
9. 以下()不属于结构化流程图
A、运行程序并分析运行结果 B、桌前检查与代码会审 C、数据流分析图 D、调用图
答案: B C D
15. 下面()属于可复用的软件级别。
A、代码的复用 B、设计结果的复用 C、分析结果的复用 D、测试信息的复用
答案: A B C D
16. 黑盒测试着重测试软件功能,下列测试法中属于黑盒测试技术的有()。
3. 面向对象方法学的出发点和基本原则是什么?
答案: 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世 界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一 致。
3. 软件原型
答案: 软件原型是在软件系统开发过程中,可快速建立的,旨在演示目标系统主要功能的可运行的程序。
4. 继承
答案: 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动 地共享基类中定义的数据和方法的机制。
5. 有穷状态机
答案: 在软件工程领域,有穷状态机可以准确地描述一个系统,它是表达规格说明的一种形式化说明方法。一个有穷状态机包含5 个部分:状态集、输入集、由当前状态和当前输入确定下一个状态的转换函数、初始态和终态集。
A、等价划分法 B、平行运行法 C、边界值分析法 D、错误推测法
软件工程复习资料

软件工程复习题一、选择题,请从四个可选项中选择正确答案。
1、下面哪个选项不是软件工程研究的内容()。
A. 生产无故障的软件B. 精通一门编程语言C. 生产满足用户需求的软件D.生产及时交付的软件2、软件工程的出现是由于 ( )A.软件危机B.计算机硬件技术的发展C.软件社会化的需要 D。
计算机软件技术的发展3、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是( ),最上层是工具层.A.过程层B.方法层 C。
过程层和方法层 D。
系统层4、美国著名软件工程专家B.W。
Boehm于1983年提出了软件工程的()条基本原理. A。
7 B。
5 C.3 D.125、结构化分析方法(SA 法)使用的主要描述工具有()。
A.数据库B.模块结构图 C。
PAD 图 D.分层的DFD 图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、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。
A.5202B.4500C.5100D.471214、系统物理模型用()表示.A.系统流程图 B。
国家开放大学《软件工程》复习资料

《软件工程》复习资料一、选择题1.软件工程的研究内容具有层次化结构,最底层是质量保证层,中问层是(C),最主.层是工具层。
A过程层 B.方法层C.过程层和方法层 D.系统层2.可行性研究的四大要素是(D)。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平巳经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性3.针对需求不确定的软件开发,比较好的模型是(A)。
A.快速原型化模型B.瀑布模型c.软件成熟度模型。
.系统化模型4.下面的哪个选项不是软件工程的宗旨?(D)A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件5.瀑布模型的主要特点是(A)。
A.将开发过程严格地划分为一系列有序活动B.将开发过程分解为阶段c.提供了有效的管理模式D.缺乏灵活性6.软件结构图中没有(D)元素。
A.模块B.调用参数C.返回结果D.判断7.结构化设计方法划分模块的原则是(C)A.模块扇出小于5B.模块扇人小于5c.低搞合,高内聚 D.模块深度小于78.配置视图体现了系统的实现环境,反映系统的(B)。
A.逻辑架构B.物理架构C组成结构 D.体系结构9.角色可以有四种类型:系统的使用者,硬件设备,外部系统和(D)。
A.数据库B.接口C.对象D.时间10.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由(C)实现。
A.场景描述B.活动图和1场景描述C.用例图和场景描述D.交互图和场景描述11.在分析模型内表示协调,}I顶序、事务处理以及控制其他对象的类是(A)。
A.控制类B.组件类C.主函数D.事务类12.而信息隐藏的核心内容是(C)。
A.人把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问13.面向过程的方法最关心的是过程,而过程实施的对象是作为过程(A)传递的。
软件工程复习资料

1.什么是软件工程?他的基本原理是什么?1)软件工程是指导计算机软件开发和维护的工程学科。
采用工程的槪念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
2)用分阶段的生命周期汁划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设讣技术、结果应能淸楚的审査、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。
2.是什么导致了软件工程?主要是软件危机的出现导致了软件工程3.通常我们所见的软件工程模型有哪些?瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。
21.软件危机的现象:1)经费超出预算,项目一再拖延。
02 )不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。
3圄)开发工具落后,手工方式,开发效率低。
2 2 .软件工程的三要素1)"过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质疑开发出软件。
2)"方法”为软件开发提供"如何做”的技术。
它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。
3) "工具"可为过程和方法提供自动的或半自动的支持。
这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。
通过网络环境把这些软件工具集成起来搭建一个能够支持团队开发的平台,称为汁算机辅助软件工程,即CASE。
C ASE集成了软件、硬件和()存放开发过程信息的软件工程数据库,形成了一个软件工程环境。
23.简述软件工程的目标,过程和原则佢)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。
软件工程的目标:降低成本,及时交付髙质量的软件产品。
m实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程进行过程应遵守的原则:原则就是过程中的轨道约朿,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1,什么是软件,软件的性质软件是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。
软件=程序+数据+文档。
软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。
软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。
2,什么是工程化工程化的软件开发方法与早期的程序设计方法的不同点在哪里?将成熟工程领域的方法应用于软件开发。
工程化的方法包括如下四个方面:⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境⑶.具备统一的工程规范⑷.管理和控制3,软件工程研究的内容软件项目的管理软件工程的知识体系包括如下内容过程:软件开发的步骤。
方法:软件开发各步骤所用到的技术。
管理:控制软件开发按照过程和方法顺利完成的技术和措施。
工具:辅助人们贯彻过程和方法,并实施管理1,可行性分析包含哪些内容,它们的含义是什么?答:⑴.经济上可行性:论证系统有没有经济效益或社会效益?多长时间能回收成本?⑵.技术上可行性:实现新系统需要哪些技术,现有技术能否解决,难点?建议采用的技术先进程度怎样?新技术的应用是否存在风险?是否能够找到胜任该系统的熟练的技术人员?等等⑶.操作上可行性:系统的操作方式在用户所在的组织内是否可行,特别是对原有系统扩展会不会引起矛盾。
⑷.法律上可行性:会不会引起侵权、会不会引起其他的社会问题。
2,下列哪些工作中需要估算软件成本?I)软件可行性研究II)软件计划III)软件需求分析IV)软件运行和维护三1,结构化分析方法的三种描述手段数据流图,掌握数据流图中的基本符号,大题要求给出一个需求能够画出多层数据流图数据字典加工说明的三种描述工具是:结构化语言、判定树和判定表来表示2,结构化方法的特点:自顶向下,逐层分解,抽象和分解3,用户需求:•某学校需要开发一套基于Web的研究生招生管理系统,用户需求如下:–考生可以登录系统提交报名信息,报名信息经过格式确认存入数据库;信息提交成功后能够网上在线支付报名费并记录交费信息;交费成功的考生可以打印报名表。
–各院系教务员能够查看和审核考生提交的报名信息,确定信息是否准确有效,最后给出审核是否通过的标志。
教务员还能够打印报名考生清单。
–招生办公室管理员能够查询有效的报名考生信息和打印统计报表;能够生成报名考生数据文件上报到上级单位(教育部)。
题目要求:•请用SA方法对它进行分析,画出分层数据流图。
(只要求数据流图,不要求数据字典和报名信息库加工说明)•顶层数据流图••••四1,面向数据流的软件设计方法,一般将数据流图分成两种类型,一种称为________,另一种称为________。
变换型,事务型-----大题,变换型转换成软件结构图2,简述结构设计的任务?•答:–制定规范–软件结构的设计–数据结构的设计及接口设计–系统性能设计–软件质量的设计–设计文档的编写–设计的审查和复审3,什么叫做耦合,耦合有哪几种类型,几种类型间的耦合强弱关系?4,什么叫做内聚,内聚有哪几种类型,类型间的内聚强弱关系?5,耦合、内聚与模块独立性的关系?(1)内聚是指模块内部各软件元素之间结合的紧密程度(2)耦合是度量一个软件结构中模块与模块之间联系程度强弱的一个指标(3)内聚程度越高模块独立性越强,耦合程度越低模块独立性越强。
六1,继承的概念,理解泛化关系与聚集关系的概念2,UML统一建模语言,用例图什么是UML?•答:UML是Unified Modeling Language统一建模语言的缩写,统一建模语言是软件系统建模的表示工具。
•本题考核UML基本概念。
UML和C语言、Java语言等不同,它不是程序设计语言,而是用面向对象方法对系统进行分析设计的表示工具,类似与数据流图和软件结构图。
--3,简答题:什么是对象?什么是面向对象?•答:•对象是各种客观实体的抽象,是由一组属性和对这组属性进行操作的一组服务结合在一起所构成的独立实体。
•面向对象就是运用对象、类、继承、封装、消息、结构与连接等面向对象的概念对问题进行分析、求解的系统开发技术,七1,详细设计的任务•详细设计工具(程序流程图与盒图【的转换】(简答题),PAD图之间的转化)•了解程序复杂性度量的McCabe方法,了解环域复杂性的概念大题综合题:求一组数的最大数的算法。
请为上述算法画程序流程图,并分别转换成NS图,最后计算算法的环域复杂度。
2,简答题:详细设计的任务包括哪些?3,简答题:程序复杂性度量的方法有哪些?那种方法是利用环域复杂度计算程序复杂性的。
语句行度量方法McCabe方法Halsead方法八1,程序设计语言的三个特性分别是________,________,________。
•答:工程特性,技术特性,心理特性。
理解每种特性的含义,尤其是心理特性。
2,选择程序设计语言的最关键因素是软件项目的应用领域。
九--1,白盒测试技术的基本原理是什么?构造白盒测试的测试用例有哪几种方法?•答:允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
•构造测试用例有逻辑覆盖法和基本路径测试法。
2,黑盒测试黑盒测试技术,不考虑软件内部结构,而是以软件需求规格说明书为根据来设计测试用例的测试技术。
2.1……2.2黑盒测试等价分类法构造测试用例•有一信用卡,其密码号为五位,首位规定A或B,其他4位规定为数字位,请列出二个有效等价密码和四个无效等价密码作为一组测试用例,以便测试密码识别程序。
有效测试用例:①________________,②________________。
无效测试用例:每个无效等价类选一个①________________,②________________,③________________,④________________。
•有效等价类–首位为A或B,A1234–2-5位为数字,B8888•无效等价类–首位非字母,12345–首位字母不是A或B,C5700–2-5位有非数字,A23F4–密码长度不等于5位,B123453,简答题:软件测试的步骤有哪些?其中哪一步是和系统其它元素联合测试,哪一步需要用户参与?•答:单元测试,集成测试,确认测试,系统测试,验收测试•系统测试,验收测试4,黑盒测试技术的基本原理是什么?构造黑盒测试的测试用例有哪几种方法?--5,白盒测试技术属于静态测试还是动态测试?黑盒测试技术属于静态测试还是动态测试?6,软件测试的对象是什么?软件及软件文档配置项7,什么样的测试是一次成功的测试?能找出错误的测试才是成功的测试十1,软件维护的4种类型,理解4种类型的概念2,软件维护的内容非常广泛,可以分为________,________,________和________。
•答:改正性维护,适应性维护,完善性维护,预防性维护•理解每种维护工作需要完成的内容。
3,什么叫做完善性维护?4,因计算机硬件和软件环境的变化而做出的修改软件的过程称为________ 维护?十四1,了解软件过程模型–传统过程模型(瀑布模型、螺旋模型、增量模型)–统一过程模型(RUP)–敏捷过程模型(极限编程)十五1,简答题:什么是软件项目管理,软件项目管理需要完成什么工作。
•答:软件项目管理的定义:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。
软件项目管理完成的主要工作是:风险分析和管理,时间管理(项目进度安排),成本管理,软件项目计划,软件配置管理等。
2,什么是软件配置管理?3,什么是软件度量?软件度量在软件开发中起什么作用?4,项目管理的9大知识领域包括哪些?2.软件工程正确答案:软件工程是研究如何将完善的科学与工程原理,先进高效的管理技术以及完整规范的设计方法应用于经济地开发即可靠,又能在实际计算机上有效运行的软件的一门工程学科。
3.软件生命周期正确答案:软件生命周期是一个软件系统从目标提出、定义、开发、使用和维护,直到最后丢弃的整个过程。
4.模块独立性正确答案:所谓模块独立性是指模块完成它自身规定的功能而与系统中其它的模块保持一定的相对独立。
6.什么是软件危机?危机的主要表现是什么?正确答案:(1)软件危机是指在软件开发和维护中遇到了一系列严重的问题。
(2)表现:a)对软件开发的成本和进度难于估计。
b)软件质量不高,潜在差错的危害。
c)缺乏完整、正确的文档,维护极困难,难于移植以至于不得不重复开发类似的软件。
d)传统手工生产方式使软件生产率低,难以满足社会对软件日益增长的需要。
7.什么是软件开发的工程化?工程化的软件开发方法与早期的程序设计方法的不同点在哪里?正确答案:软件工程学的核心思想是:用工程化的规范方法指导软件的开发、运行及维护工作。
工程化需要包括如下四个方面:⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境⑶.具备统一的工程规范⑷.管理和控制早期的程序开发方法没有统一的指导原则,随意编写程序,强调程序执行效率。
工程化的软件开发方法具有统一的指导原则,规范化的开发软件,强调软件的可理解性,可维护性和可复用性。
8.瀑布模型的主要缺点是什么?原型开发方法有什么好处?正确答案:(1)瀑布模型给出了固定的开发顺序,它的突出缺点是缺乏灵活性。
软件需求往往无法一下子彻底弄清,因此瀑布模型可能导致开发出的不是用户真正需要的软件,或者由于需求不能确定而造成项目后续工作无法开始。
(2)瀑布模型很难适应需求的动态变更,特别是用户对需求处于模糊认识时更为困难。
后期更改需求将付出高昂的代价。
(3)原型方法的好处包括:增进了软件开发人员和用户对系统需求的理解,使比较含糊的软件需求明确化;提供了一种有力的学习手段。
9.需求与设计的主要任务是什么?正确答案:(1)需求的任务:a)对问题的识别和理解——需求获取b)对需求信息的分析和综合——需求规约c)编制“需求规格说明书”d)需求分析的复审(2)设计的任务:a)制定规范。
b)软件结构的设计c)数据结构的设计及接口设计:d)系统性能设计e)软件质量的设计f)设计文档的编写g)设计的审查和复审11.什么是对象,什么是类,对象和类的关系是什么?正确答案:(1)对象是各种客观实体的抽象,是由一组属性和对这组属性进行操作的一组服务结合在一起所构成的独立实体。
它构成了系统概念模型的基本单元。
(2)类是一组具有相同数据结构和相同操作的对象的集合。
类的定义包括一组数据属性和在数据上的一组合法操作。
(3)类中的每个对象都称为该类的一个实例。
12.什么是白盒测试,什么是黑盒测试?正确答案:白盒测试技术是从程序内部结构入手来设计测试用例的测试技术;黑盒测试技术则相反,不考虑软件内部结构,而是以软件需求规格说明书为根据来设计测试用例的测试技术。