软件工程复习
软件工程复习(数据流图与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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 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度量确定它的规模。