软件工程复习
软件工程复习(数据流图与ER图)
通不过时出纳员告知的"检查出的问题"、通过检验后的"取款信息"、" 付款通知"、付给储户的"现款"以及日历提供的"提款时间信息"
2
例1:数据流E1 帐卡检验出的问题 Nhomakorabea1
检验
E2 存折
储户
存折 现款
存折 取款单
3
付款
取款信息
2
登录
付款通知
日历
3
例2:数据流
• (10)请根据下列需求,画出“教育基金会的捐助 资金管理系统”的最终数据流程图。
• 现需研制一个“教育基金会的捐助资金管理系统”。 请用数据流图的方法进行分析和建模,要求如下:
例5 E-R图
• 某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果 如下:
• (1)邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码, 且系统中的用户名不可重复。
• (2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个 邮件地址 (如userl@)。
• ⑴由捐助者向基金会提出捐助请求,经身份确认后 被接受,对捐助人进行登记并授予捐助证书,捐款 存入银行。
• ⑵由教育单位提出用款申请,在进行相应的合法性 校验和核对相应的捐款储备后做出支出。
• ⑶每月给基金会的理事会一份财政状况报表,列出 本月的收入、支出情况和资金余额。
软件工程复习资料
软件工程复习题一一、选择题,请从四个可选项中选择正确答案。
1.以下哪一项不是软件危机的表现形式()A.成本高B.生产率低C.技术发展快D.质量得不到保证2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
()A.演化模型B.喷泉模型C.原型模型D.螺旋模型3.可行性研究的目的不包括()A.分析开发系统的必要性B.确定系统建模的方案C.分析系统风险D.确定是否值得开发系统4.可行性分析研究的费用大约是项目总经费的()。
A.2%B.8%C.20%D.50%5.在E-R 模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、联系6.软件需求分析产生一个重要文档是()。
A.软件维护说明书B.需求规格说明书C.可行性报告D.初步用户手册7.内聚程度较低的是()。
A.通信内聚B.过程内聚C.顺序内聚D.时间内聚8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()A.把软件划分成模块 B确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码9.UML 语言支持的建模方式不包括有()。
A.静态建模B.动态建模C.模块化建模D.功能建模10.以下哪一项不是面向对象的特征。
()A.多态性B.继承性C.封装性D.过程调用11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()A.软件危机B.软件工程C.程序设计革命D.结构化程序设计12.瀑布模型的关键不足在于()A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审13.可行性研究的四大要素是()。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性14.经济可行性研究的主要内容包括()A.开发过程B.开发工具C.风险分析D. 效益分析15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。
软件工程复习题库带答案完整版
软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。
A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程复习
一、单选题1、下面不属于软件工程的3个要素的是(D)。
A、工具B、过程C、方法D、环境2、软件复杂性度量的参数,不包括( D )A、规模B、难度C、智能度D、成本3、在软件开发的各种资源中,(D )是最重要的资源。
A、开发工具B、方法C、硬件环境D、人员4、软件开发的结构化生命周期方法将软件生命周期划分成(A)。
A、计划阶段、开发阶段、运行阶段。
B、计划阶段、编程阶段、测试阶段。
C、总体设计、详细设计、编程调试。
D、需求分析、功能定义、系统设计。
5、瀑布模型的关键不足在于(B)A、过于简单B、不能适应需求的动态变更C、过于灵活D、各个阶段需要进行评审6、软件可行性研究一般不考虑(D )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题8、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A)系统。
A、需求不确定的B、需求确定的C、管理信息D、决策支持10、需求分析最终结果是产生( B )A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告11、需求分析阶段的主要任务是(A)。
A、确定软件系统的功能B、确定软件开发方法C、确定软件开发费D、确定软件开发工具12、单元测试的测试用例主要根据(D )的结果来设计。
A、需求分析B、源程序C、概要设计D、详细设计13、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程 B、软件工具 C、质量保证 D、软件工程16、(A )意味着一个操作在不同的类中可以有不同的实现方式。
A、多态性B、多继承C、类的可复用D、信息隐蔽18、时序图反映对象之间发送消息的时间顺序,它与(D )是同构的。
A、用例图B、类图C、活动图D、协作图19、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( C )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
软件工程复习题及答案(完整)
一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件.对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。
错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。
错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。
错6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。
错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。
对10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B).A 关键实践B 关键过程域C 软件过程能力D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。
A 需求不确定的B 需求确定的C 管理信息D 决策支持18、(A)意味着一个操作在不同的类中可以有不同的实现方式.A 多态性B 多继承C 类的可复用D 信息隐蔽19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。
软件工程复习
一、软件开发生命周期模型1.Code-and-fix life-cycle model:遗憾的是,许多产品都是使用"边做边改"模型来开发的。
在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改.在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。
在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。
这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于:(1)缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改;(2)忽略需求环节,给软件开发带来很大的风险;(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。
2.Waterfall life-cycle model:1970年WinSTon Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。
当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。
但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
软件工程复习资料
软件⼯程复习资料软件⼯程第⼀章⼀、什么是软件?软件(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.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生
2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
3.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
32.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上。
A.配置项B.程序C.基线D.过程
33.在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
A、1%B、20%C、8%D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》
《软件工程》复习题
《软件工程》复习题一、填空题1、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和_______ 。
2、按数据流的类型,结构化设计方法有两种设计策略,它们是变换型设计和___________。
3、风险管理包括了________、_______、____________和风险监控四个活动。
4、数据流图和数据字典共同构成了系统的_______模型,是需求规格说明书的主要组成部分.5、软件是包括程序,____及其___的完整集合。
6、为了便于对照检查,测试用例应由输入数据和预期的两部分组成。
7、可移植性指的是___________________________。
8、一般而言,单独测试某一模块时,要为它设计驱动模块和模块,它们的作用是分别模拟被测试模块的和。
9、G.J.Myers提出:软件测试是为了发现___________而执行程序的过程。
10、软件可行性研究从__________、__________、社会可行性三个方面分析研究每种解决方案的可行性。
11、数据流图用图形符号表示、、及外部实体。
12、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关系。
13、类具有操作,它是对象的抽象。
14、标志一个模块内各个元素彼此结合的紧密程度。
15软件总体设计时应该遵循模块化、抽象、、局部化和模块独立等6条基本原理。
16、为了便于对照检查,测试用例应由输入数据和预期的两部分组成。
17、将数据流图映射为程序结构时, 所用映射方法涉及信息流的类型。
其信息流分为和两种类型。
18、软件由程序、、组成。
19、软件工程方法分两类:方法和对象方法。
20、单元测试过程应为测试模块开发一个和(或)若干个。
21、一个模块拥有的直属下级模块的个数称为,一个模块的直接上级模块的个数称为。
22、维护阶段是软件生存周期中花费精力和费用______的阶段。
23、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为。
软件工程复习资料
1.什么是软件工程?他的基本原理是什么?1)软件工程是指导计算机软件开发和维护的工程学科。
采用工程的槪念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
2)用分阶段的生命周期汁划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设讣技术、结果应能淸楚的审査、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。
2.是什么导致了软件工程?主要是软件危机的出现导致了软件工程3.通常我们所见的软件工程模型有哪些?瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。
21.软件危机的现象:1)经费超出预算,项目一再拖延。
02 )不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。
3圄)开发工具落后,手工方式,开发效率低。
2 2 .软件工程的三要素1)"过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质疑开发出软件。
2)"方法”为软件开发提供"如何做”的技术。
它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。
3) "工具"可为过程和方法提供自动的或半自动的支持。
这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。
通过网络环境把这些软件工具集成起来搭建一个能够支持团队开发的平台,称为汁算机辅助软件工程,即CASE。
C ASE集成了软件、硬件和()存放开发过程信息的软件工程数据库,形成了一个软件工程环境。
23.简述软件工程的目标,过程和原则佢)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。
软件工程的目标:降低成本,及时交付髙质量的软件产品。
m实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程进行过程应遵守的原则:原则就是过程中的轨道约朿,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。
软件工程复习资料-完整版
一、选择题:1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。
A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。
软件工程复习资料
1、下列哪一模型是软件的基础模型快速原型 C.增量模型 D.螺旋模型2、划分软件生存周期的阶段时所应遵循的基本原则是各阶段的任务在时间上连续C.各阶段的任务尽可能相关性D.各阶段的任务在时间上相对独立3、下列哪个办法不属于解决软件危机的途径之一A.采用软件工程的解决途径B.研制新一代智能计算机C.采用面向对象的软件设计方法4、下列哪个不属于软件工程的内涵之一开发既可靠又能有效运行的软件C.应用完善的科学与工程原理D.经济地开发软件5.造成大型软件开发困难的根本原因在于A.开发人员缺乏足够的开发经验B.项目开发进度不合理对软件开发的资金投入不足6.软件会逐渐退化而不会磨损,其原因在于A.软件备件很难订购C.软件错误在经常使用之后会逐渐增加D.软件通常暴露在恶劣的环境下7.下面说法正确的是B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功D.购买大多数计算机系统所需的硬件比软件更昂贵8.Ariane 5 火箭发射失败的事例告诉我们A. ( 2 )软件后备系统可以通过复制生成B. ( 3 )软件重用必须重新进行系统论证和系统测试D. ( 1 )系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
11、可行性研究主要包括哪几项?B.技术可行性、经济可行性和道德可行性C.技术可行性、法律可行性和操作可行性D.技术可行性、操作可行性和法律可行性12、成本/效益分析的目的是帮助 ( )正确地作出是否投资于这项开发工程的决定。
A.系统分析员项目经理 D.软件开发人员13、在进行成本/效益分析的时候,需要考虑( )14、数据流图和数据字典共同定义了新系统的逻辑模型。
软件工程复习(有解析)
一、选择题1.在下列工具与环境中( C )属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个( D )模型。
A.静态单变量 B.动态单变量 C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,( C )属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( D )A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括( B )A.效率B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合 B.隐藏C.封装 D.抽象7.软件调试技术包括( B )A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试8.瀑布模型的存在问题是( B )A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求9.软件测试方法中的静态测试方法之一为( A )A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析10.软件生命周期中所花费用最多的阶段是( D )A.详细设计 B.软件编码 C.软件测试D.软件维护11.第一个体现结构化编程思想的程序设计语言是( B )A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是( B )A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有( A )A.PAD (问题分析图) B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的( C )A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解( A )A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是( D )A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF图反映系统( D )A.怎么做 B.对谁做 C.何时做D.做什么18.经济可行性研究的范围包括( C )A.资源有效性 B.管理制度C.效益分析 D.开发风险19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
软件工程复习知识要点
1 软件和软件工程概念软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。
2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。
程序的最小单位是类。
3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。
5.什么是软件工程?(课后题)软件工程是指导计算机软件开发和维护的工程学科。
接受工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
6.可以用功能性、牢靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。
功能性是指软件所实现的功能达到它的设计规范和满意用户需求的程度。
可移植性是指软件从某一环境转移到另一环境时所作努力得程度。
7.软件生存期由软件定义、软件开发和运行维护三个时期组成。
开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。
开发过程中的典型文档包括:项目支配、软件测试支配、软件设计说明书、用户手册。
8.需求分析的基本任务?(1)建立分析模型,了解系统的各种需求微小环节。
(2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试支配和初步的系统用户手册,并提交管理机构进行分析评审。
2 软件工程方法和工具1.面对对象方法的动身点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类相识问题和解决问题的方法和过程,从而使描述问题的问题空间和其解空间在结构上尽可能一样。
2.形式化方法的主要特点是:(课后题)(1) 软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(2) 设计、实现和单元测试等开发过程由一个变换开发过程代替。
通过一系列变换将形式的规格说明细化成为程序。
3.面对对象 = 对象 + 类 + 继承 + 消息通信。
软件工程复习题
软件工程复习题一、单选题(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. 软件测试是为了()而执行程序的过程。
A .纠正错误 B. 发现错误 C. 避免错误 D. 证明正确12. 在结构化分析方法中,()表达系统内部数据运动的图形化技术。
A .数据字典 B. 实体关系图 C.数据流图 D. 状态转换图13. 软件工程的基本要素包括方法、工具和()。
软件工程复习资料
一.概述1.什么是软件?什么是软件工程?--软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
软件具有不可见性,是抽象的、形式化和逻辑化的。
--软件会逐渐退化而不会磨损的原因是不断地变更使组件接口之间引起错误。
--软件工程要素:过程、方法、工具。
--软件工程的基本目标是开发高质量的软件。
2.现代软件工程师关注的问题开发过程中遇到的各种困扰。
3.软件生存周期模型--软件生存期由软件定义、软件开发和运行维护3个时期组成,每个时期又可划分若干阶段,即可行性研究、需求分析、概要设计、详细设计、编码、测试、使用与维护。
--软件生存周期模型包括瀑布模型、原型模型、增量模型、螺旋模型。
4.软件开发的各种模型(瀑布、快速原型等)的特点--瀑布模型:1)阶段间具有顺序性和依赖性。
2)推迟实现的观点。
3)质量保证的观点。
瀑布模型适用于需求被清晰定义的情况。
--快速原型模型:适用于客户需求难以清楚定义的情况。
--增量模型:适用于一种需要快速构造可运行程序的方法。
--螺旋模型:螺旋模型是瀑布模型、原型模型的有机结合,同时增加了风险分析。
螺旋模型只适合于大规模的软件项目。
--喷泉模型:喷泉模型是典型的面向对象生命周期模型。
二.需求分析1.需求分析的目的--需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
需求分析是软件工程中的一个关键过程。
--需求分析中开发人员从用户那里了解软件做什么。
--可行性研究要进行一次“简化的、压缩的”需求分析。
2.主要任务--获取并理解用户的需求是软件工程师所面对的最困难的任务之一--发现和分析问题,并分析问题的原因/结果关系;与用户进行各种方式的交流,并使用调查研究方法收集信息;按照三个成分观察问题的不同侧面,即数据、过程、接口;将获取的需求文档化,形式有用例、决策表、需求表等。
3.功能性需求和非功能性需求--功能性需求:系统需要提供的服务或功能:如图书检索;系统对特定输入的处理方式:如对非法输入的提示;系统在特定环境下的行为:如长时间无操作时的屏保。
《软件工程》复习题
软件工程单项选择题1. 哪个活动可在可行性分析阶段进行?A.编码B.测试C.设计D.制订市场营销计划2. 在数据流程图中,有名字及方向的成分是()。
A.控制流B.信息流C.数据流D.信号流3. 以下各图中不是UML使用的图是()。
A.数据流程图B.用例图C.类图D.顺序图4. 下图中,类的关系是()。
A.依赖B.关联C.聚集D.泛化5. 甘特图是一种()。
A.UML模型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. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A.软件工程B.软件周期C.软件危机D.软件产生12. 程序的三种基本控制结构的共同特点是()A.只能用来描述简单程序B.不能嵌套使用C.单入口,单出口D.仅用于自动控制系统13. 数据字典是用来定义_________中的各个成份的具体含义的。
()A.流程图B.功能结构图C.系统结构图D.数据流图14. 为了使软件具有清晰结构和良好的风格,下面关于程序设计风格的叙述不可取的有( )A. 尽量不要进行浮点数的相等比较B. 应当有适量的注释C. 尽可能对代码优化D. 使用有意义的标识符15. 使用白盒技术设计测试用例的方法包括()A.边界值分析B.循环测试C.等价类划分D.回归测试16. 下列模块聚中,聚性最强的是()。
软件工程复习题(带答案)
软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单选填空简答思考题
1、传统的软件瀑布生命模型包括哪六个方面?
需求、分析、设计、实现、交付后维护、退役
2、传统瀑布生命模型的中交付后维护包括哪三种?
改正性维护、适应性维护、完善性维护
3、现代维护和传统维护的观点有何不同?
1)传统维护的观点是先开发后维护。
2 )现代维护的观点是无论是在软件安装前还是安装后,只要发生改正错误或需求变化时都是对软件的维护。
4、传统范型开发一个软件时常要进行哪三类计划活动?
1 )、在项目的开始,对管理需求和分析阶段进行初步计划;
2)、一旦明确知道了将要开发什么,就制定出软件项目管理计划(SPMP);
3)、在整个项目过程中,管理者需要监督SPMP的执行情况,并且注意是否有偏离计划的情况发生。
5、维护占总成本的比例关系90年代后是多少?答:75%
6、简单描述一下以下生命模型的各自特点:编码及修补模型,快速原型开发,敏捷过程,同步稳定。
7、交付产品7个月后在使用时发现了一个错误,纠正这个错误需要花费16700USD。
规格说明文档中的模糊语
句导致了这个错误。
估计一下,如果在分析阶段纠正了该错误需要花费多少?
3: 200或3:68
8、统一过程有哪五个基本工作流?各自的定义及基本步骤?需求流:目标是让开发组织确定客户的需求
1)、对应用领域获得一个基本的了解
2)、商业建模
3)、确定客户的需求并从客户的角度找出存在的限制条件
4)、决定概念探究的目标
分析流:目标是分析和提取需求,以获得正确开发一个软件产品和易于维护他它所必需的需求。
1)、需要来年各个独立的工作流:需求流和分析流
2)、建立软件产品的规格说明文档
3)、当客户批准了规格说明之后要进行详细计划和评估即开始软件项目管理计划设计流:目标是细化分析流的制品,直到材料处于程序员可实现的形式
1)、模块化分解
2)、为每个模块选择响应的算法和数据结构
3)、在面向对象设计中,设计小组必需详细记录他们所做的每个设计决定实现流:目标是用选择的实现语言实现目标软件产品(就是编写程序)
1)、把要实现的的模块的详细设计交给多个程序员完成
2)、各个模块的集成
测试流:目标是真正目标是寻找bug
1)、每个软件人员对开或维护的每个软件制品进行测试或再测试
2)、一旦软件人员确信一个制品是正确的,就将他交给软件质量保证小组进行独立测试
9、项目管理计划包括哪些内容?
1)、要做的工作2)、做这个工作所用的资源3)、为此付出的金钱
10、传统的设计内容包括哪两部分?
1 )、规格说明文档2)、非形式化规格说明
11、从统一过程的概念来讲,其递增分为哪四个阶段?各个阶段交付的内容有哪些?
开始阶段:目标是决定是否值得去开发目标软件产品
细化阶段:目标是细化最初的需求,细化体系结构,监视风险和细化他们的属性,细化商业案例,以及生成软件项目管理计划(对傻瓜一阶段工作的细化)
构建阶段:目标是产生软甲产品的第一个可工作版本即测试版
转换阶段:目标是确保客户的需求切实得到满足
12、什麽是CMMI ?
能力成熟度模型集成
13、软件的成熟度模型分为哪几个级别?
初始级、可重复级、定义级、可管理级最优级
14、民主小组编程的优点主要有哪些?
由于积极地去寻找错误,因而代码的质量最高,特别适用于解决难的问题。
15、传统的主程序员队伍有哪些人组成?
主程序员、编程秘书、备编程员、程序员
16、同步稳定开发小组有哪些特征?
鼓励创造性,确保大量开发者为共同目标工作
17、敏捷过程小组的优点体现在哪几个方面?
程序员不测试自己的代码,如果一个程序员离开不会有损失经验欠缺的程序员可以向其他人学习,代码具有小组所有权。
18、什麽是PCMM ?
人员能力成熟度模型
19、软件工程师需要哪两种类型的工具?分别是哪些?
1)、分析工具 2 )、软件(CASE)工具
20、软件的五种主要的基本度量是哪几个?
规模、成本、持续时间、工作量、质量
21、CASE工具的作用是什麽?
计算机辅助软件工程CASE :是借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,其目的是为了加快系统开发的过程,提高所开发系统的质量(网上答案)
22、有哪两种基本类型的测试?
基于执行的测试和基于非执行的测试
23、SQA小组的职责包括哪些?
包括及建立确保符合这些标准的监督过程开发各种软件必须遵循的标准,简单的说就是保证软件过程的质量,从而确保软件产品的质量
24、评审有哪两类?
走审和查审
25、有哪两种方式实施走审?
1 )、参加者驱动2)、文档驱动
26、测试的内容通常包括哪些?
实用性、可靠性、健壮性、性能
27、通常与软件开发有关的成本有两种?答:内部成本和外部成本
28、成本估算技术有哪三种主要方法?
1 )、用类推法进行专家判决2)、自底向上的方法3)、算法成本估算模型
29、软件的代码制品有哪三种形式?
30、学会下面题目的计算方法:
9.2你是Bronkhorstspruit Software Developers公司的软件工程师,一年前,你的经理宣布你的下一个产品
将包含9个文件,49个数据流和92个过程:
(1)使用FFP度量确定它的规模。