软件过程与软件管理课程复习题
软工复习题--答案(论述题有答案版)(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 解释你熟悉的几种软件开发过程模型,并论述其优缺点?
软件工程复习题与答案
二、填空题1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。
3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。
5.数据流图(DFD)一般可分为变换型和__事务性_____两类。
6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。
7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。
8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。
9.状态图反映了_事件与状态____的关系。
10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。
11.组成软件的两个部分是:____程序和文档________。
14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。
15.Jackson方法是一种面向___数据结构_____的开发方法。
16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。
17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。
18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。
19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。
22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。
23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。
24.数据流图描绘数据在系统中___流动和处理___的过程。
25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。
软件工程试卷及答案
软件工程试卷及答案篇一:《软件工程》复习题及答案软件工程复习题第一部份(第 1~6 章)一、选择题: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.下列有关软件工程的标准,属于国际标准的是(C)A.GBB.ANSIC.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)中的各个成份的具体含义的。
软件工程复习题及参考答案
软件⼯程复习题及参考答案软件⼯程复习题及参考答案The manuscript was revised on the evening of 2021《软件⼯程》课程复习资料⼀、单项选择题:1.下⾯哪些UML图描述系统⾏为[ ]A.⽤例图B.类图C.对象图2.属于概要设计活动的是[ ]A.软件结构设计B.数据结构设计C.算法设计3.属⾏为型设计模式的是[ ]A.组合模式B.⼯⼚⽅法模式C.观察者模式4.下列说法正确的是[ ]是软件开发⽅法是系统描述语⾔是软件开发过程5.根据程序流程图划分的模块通常是[ ]A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的⽐较个数是m,则其 McCabe环形复杂度为[ ]+1A.软件开发⽅法B.软件开发组织管理制度C.软件开发合同8.软件测试的⽬的是[ ]A.证明软件⽆错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是[ ]A.软件体系结构B.模块细节C.软件性能10.软件项⽬开发计划的内容有[ ]A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的是[ ]A.泛化关系B.聚合关系C.依赖关系12.软件过程能⼒成熟度模型CMM⽤以评价[ ]A.软件过程能⼒B.组织能⼒C.学习能⼒13.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为[ ]A.完善性维护B.改正性维护C.适应性维护14.对项⽬软件⽽⾔,软件功能需求信息主要由谁提供B.软件开发⼈员C.软件项⽬管理⼈员图反映不出[ ]A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是⼀种什么开发过程模型[ ]A.⾃顶向上B.由外⾄内C.增量式17.系统流程图描述[ ]A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括[ ]A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是[ ]A.瀑布模型模型 C.原型模型图中描述系统结构的是[ ]A.组件图B.顺序图C.状态图21.⾯向对象⽅法是⼀种什么软件开发⽅法[ ]A.层次化22.不可以⽤来衡量软件可维护性的是[ ]A.可靠性B.可⽤性C.可⾏性23.系统分析员在需求分析最后负责编写[ ]A.⽤户⼿册B.概要设计说明书C.可⾏性研究报告24.为了提⾼软件的可靠性、可维护性等⽽对软件的修改称为[ ]A.改正性维护B.适应性维护C.预防性维护25.在结构化⽅法中,为使需求改变对软件影响较⼩,应该使软件结构[ ]A.与问题结构对应B.与问题结构独⽴C.与⽤户界⾯对应26.单元测试的计划应该在什么阶段完成[ ]A.需求分析B.概要设计C.详细设计27.下列属⾯向对象软件开发⽅法的是[ ]⽅法⽅法⽅法28.强调信息隐藏的软件⼯程设计⽅法是[ ]⽅法⽅法 SD ⽅法29.描述系统动态⾏为的模型是[ ]C.状态图30.考虑输⼊条件组合的测试⽤例设计⽅法是[ ]A.等价分类法B.语句覆盖法C.因果图法31.下列能减少⽀援性维护活动的是[ ]A.利⽤软件包B.进⾏配置管理C.对⽤户进⾏适当培训32.只⽀持单重继承的程序设计语⾔是[ ]++图的顶层图是[ ]图图图34.在UML的⽤例图中,扩展关系是⼀种[ ]A.泛化关系B.依赖关系C.关联关系35.独⽴测试⼩组开始介⼊测试是在[ ]A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的⽅法是[ ]A.基于经验模型的估计B.⾃底向上估计C.⾃顶向下估计37.在IDEF1X图中,如果⼦实体与⽗实体存在联系,则⼦实体将继承⽗实体的B.主关键字属性C.⾮主关键字属性38.结构化分析⽅法使⽤的⼯具是[ ]A.数据流图B.类图C.软件结构图39.⽩盒测试设计⽤例的⽅法是[ ]A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是[ ]A.可维护性好B.可⽤性好C.满⾜⽤户功能需求41.瀑布模型是⼀种[ ]A.演化模型B.顺序模型C.增量模型42.模块的独⽴程度可以由什么定性标准度量[ ]A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有[ ]A.继承B.多态C.封闭44.⾯向数据结构的设计⽅法有45.与UML配合最好的软件开发⽅法是[ ]⽅法 Yourdon⽅法⽅法⼆、填空题:1.统⼀建模语⾔UML提供了两种描述整体/部分关系的⽅法,分别是和。
软件工程导论复习题及答案详解
第一章一、名称解释1.软件2.文档3.软件工程4.软件生存周期5.软件工程过程6.软件生存周期模型7.软件开发方法8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与________。
2.程序设计时代的生产方式是________。
3.软件工程涉及到几个学科,它是一门_____学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是________模型。
6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、_______、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和_______两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的________。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种________,使用相应的工具来进行。
三、选择题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.1/2B.1/3C.1/4D.2/37.软件开发中大约要付出( )%的工作量进行测试和排错。
A.20B.30C.40D.508.准确地解决“软件系统必须做什么”是( )阶段的任务。
A.可行性研究B.需求分析C.详细设计D.编码9.软件生存周期中最长的是( )阶段。
A.需求分析B.概要设计C.测试D.维护四、简答题1.软件产品的特性是什么?2.软件生产有几个阶段?各有何特征?3.什么是软件危机?产生的原因是什么?4.软件工程的性质、目标和内容是什么?5.软件工程面临的问题是什么?6.软件工程过程有哪些过程?7.软件生存周期有哪几个阶段?8.软件生存周期模型有哪些主要模型?9.有哪些主要软件开发方法?参考答案二填空题1.软件 2.个体手工劳动3.综合性交叉 4.相同5.瀑布 6.对象7.结构化设计8.软件开发技术9.软件10.开发方法三、选择题1.B 2.D 3.A 4.C5.A 6.B 7.C 8.B 9.D第二章一、名称解释1.可行性研究2.技术可行性3.经济可行性4.社会可行性5.货币时间价值6.投资回收期7.纯收入8.系统流程图二、填空题1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定________。
软件工程复习题-ans
新建试卷20181220095245一、单选题(共56题,56分)1、UML中描述类与类之间关系的图是()。
A、用例图B、类图C、包图D、顺序图2、下列不是面向对象方法优点的是()。
A、与人类习惯的思维方法一致B、稳定性好C、可重用性好D、不用维护3、UML中,包图是一种()。
A、集合B、数据结构C、分组机制D、对系统的动态描述4、软件可分为系统软件、支撑软件、应用软件等,这是根据()来划分的。
A、软件的工作方式B、软件的规模C、软件的功能D、软件的制造过程5、下面的()说法是正确的.A、软件危机在20世纪70年代末期全面爆发B、当前先进的软件工程方法已经解决了软件危机的问题C、软件危机是指在计算机软件开发和维护过程中遇到的一系列严重问题D、软件危机是指在软件产品中存在一系列的质量问题6、UML中表示对象之间交互的图为( ).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、Rational RoseC、操作系统D、ERP系统13、以下是图书管理系统的相关类,属于边界类的是 ( )A、图书类B、读者类C、身份验证类D、借书操作界面类14、 OMT 方法是由下面哪位科学家提出的()A、BoochB、RumbaughC、CoadD、Jacobson15、面向对象分析过程中获取用户需求不正确的是()。
软件项目管理案例教程复习题
软件项目管理案例教程复习题第一章一、填空题1.敏捷模型包括(4)个核心价值,对应(12)个敏捷原则。
2.项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。
二、判断题1、搬家属于项目。
(√)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。
(×)3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。
(√)4、项目具有临时性的特征。
(√)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。
(×)6、项目开发过程中可以无限制地使用资源。
(×)7、相比传统开发的预测性过程,敏捷开发属于自适应过程(√)三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A.项目是以目标为导向的,日常运作是通过效率和有效性体现的。
B.项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。
C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。
D.项目是一次性的,日常运作是重复性的。
2、以下都是日常运作和项目的共同之处,除了(D)A.由人来做B.受限于有限的资源C.需要规划、执行和控制D.都是重复性工作3、下面选项中不是A.招聘管理PMBOK的知识域的是(A)B.质量管理C.范围管理D.风险管理4、下列选项中属于项目的是(C)A.上课 B.社区保安 C.野餐活动D.每天的卫生保洁5、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成6、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
A.过程 B.项目 C.项目群 D.组合7、下面选项中不是《敏捷宣言》中的内容的是(C)A.个体和交互胜过过程和工具B.可以工作的软件胜过面面俱到的文档C.敏捷开发过程是自适应的过程D.响应变化胜过遵循计划8、下列活动中不是项目的是(C)A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统9、下列选项中不是项目的特征的是(C)A.项目具有明确的目标B.项目具有限定的周期C.项目可以重复进行D.项目对资源成本具有约束性四、问答题1、项目管理知识体系( PMBOK)包括哪10个知识领域?答:项目集成管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理、项目干系人管理2、请简述项目管理的5个过程组及其关系。
软件资格考试软件过程能力评估师(基础知识、应用技术)合卷(中级)试卷与参考答案
软件资格考试软件过程能力评估师(基础知识、应用技术)合卷(中级)复习试卷(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、软件过程能力评估师(基础知识)考察的知识点包括哪些方面?2、软件过程改进的常用方法有哪些?3、软件过程能力成熟度模型(CMM)的哪个级别强调对软件过程进行量化的管理,并基于量化的度量来持续改进软件过程?A. CMM1:初始级B. CMM2:可重复级C. CMM3:已定义级D. CMM4:已管理级4、在软件开发生命周期中,哪个阶段通常不涉及详细的代码编写?A. 需求分析B. 系统设计C. 编码实现D. 测试验证5、软件过程能力成熟度模型(CMM)的五个成熟级中,哪个级别代表了组织已建立了一套定型的软件开发和维护过程?6、在软件开发生命周期中,需求分析阶段的主要任务是?7、软件过程能力成熟度模型(CMM)的哪个级别重点关注软件项目的管理和监督?A. CMM1:初始级B. CMM2:可重复级C. CMM3:已定义级D. CMM4:量化管理级8、敏捷软件开发方法中,哪个原则强调“尽可能早地、持续地对软件进行交付,并欢迎需求变更?”A. 可用性原则B. 可靠性原则C. 客户合作原则D. 迭代原则9、在软件过程中,以下哪项不是软件质量保证的主要活动?A. 规划质量保证活动B. 编写和审查测试用例C. 进行代码审查D. 编写需求规格说明书 10、在软件项目估算中,以下哪项不是常用的估算技术?A. 类别估算B. 定量估算C. 定性估算D. 故障注入测试11、在软件过程能力成熟度模型(CMM)中,第几个级别标志着组织已经建立了有效的过程管理机制?A. CMM Level 1:初始级B. CMM Level 2:可重复级C. CMM Level 3:已定义级D. CMM Level 4:量化管理级12、软件过程改进的目的是什么?A. 减少软件成本B. 提高软件质量C. 提高软件开发效率D. 以上都是13、在软件过程能力评估中,以下哪项不是影响软件过程成熟度的关键因素?A. 软件过程定义B. 软件过程改进C. 软件过程培训D. 项目管理14、在CMMI模型中,哪一级别代表了组织的软件过程能力从“过程适应性”向“过程优化”的转变?A. 初级级B. 管理级C. 定义级D. 管理级15、在软件开发生命周期中,以下哪个阶段是确定软件需求、功能规格和设计方案的阶段?A. 需求分析阶段B. 设计阶段C. 编码阶段D. 测试阶段16、软件过程能力成熟度模型(CMM)中,第5级(优化级)的关键过程区域(KPA)是哪个?A. 项目监控B. 需求管理C. 基础设施D. 组织级过程管理17、在软件过程能力成熟度模型(CMM)中,第几级被称为“管理级”?A. 1级B. 2级C. 3级D. 4级18、以下哪个术语描述了在软件开发过程中,通过定期检查和改进来确保软件质量的活动?A. 质量保证(QA)B. 软件测试(ST)C. 持续集成(CI)D. 持续改进(CI)19、软件过程能力成熟度模型(CMM)的五个成熟级中,哪个级别表示软件过程和产品质量被组织的管理和控制所确保?A. 初级(Initial)B. 管理级(Managed)C. 定义级(Defined)D. 精益级(Quantitatively Managed) 20、以下哪个术语描述了软件开发生命周期(SDLC)中,需求、设计、实现、测试和维护等各个阶段的活动?A. 软件过程B. 软件生命周期C. 软件开发生命周期模型D. 软件开发活动集21、软件过程能力成熟度模型(CMM)中,哪一级别代表组织已建立了一套有效的过程管理体系?22、在软件开发生命周期中,哪个阶段是确定项目范围、需求和目标的阶段?23、以下哪种模型不属于增量模型?A. 瀑布模型B. 迭代增量模型C. 敏捷开发模型D. 快速原型模型24、在软件测试中,下面哪个术语描述的是测试单个模块的功能而不关心其他模块?A. 集成测试B. 单元测试C. 系统测试D. 回归测试25、题干:在软件过程能力成熟度模型(CMM)中,哪个级别代表了软件组织已经建立了有效的软件过程管理?选项:A. CMM Level 1:初始级B. CMM Level 2:可重复级C. CMM Level 3:已定义级D. CMM Level 4:量化管理级26、题干:在软件开发生命周期(SDLC)中,哪个阶段通常负责对项目需求进行详细分析,并制定项目计划和资源分配?选项:A. 需求分析阶段B. 设计阶段C. 实施阶段D. 测试阶段27、下列哪一项不是CMMI模型中的过程域?A. 需求开发B. 过程和产品质量保证C. 项目风险管理D. 员工绩效管理28、在软件开发生命周期中,哪个阶段主要负责定义系统的功能和性能要求?A. 概念阶段B. 设计阶段C. 实现阶段D. 测试阶段29、在软件过程能力成熟度模型(CMM)中,第几个成熟度等级开始考虑软件过程改进的度量?A. 第1级B. 第2级C. 第3级D. 第4级 30、以下哪项不是软件开发生命周期(SDLC)的典型阶段?A. 需求分析B. 设计C. 编码D. 测试E. 发布和维护31、下列选项中哪一个不是软件生命周期模型?A. 瀑布模型B. 增量模型C. 迭代模型D. 测试模型32、在软件项目管理中,成本估算通常不依赖于以下哪一项?A. 项目规模B. 开发人员的经验水平C. 当前天气状况D. 使用的技术工具33、题干:在软件过程能力成熟度模型(CMM)中,哪个级别的组织已经建立并实施了正式的过程,这些过程对产品质量有显著影响?A)CMM Level 1:初始级B)CMM Level 2:可重复级C)CMM Level 3:已定义级D)CMM Level 4:量化管理级34、题干:以下哪项不是软件开发生命周期(SDLC)的典型阶段?A)需求分析B)系统设计C)编码实现D)项目策划35、下列关于软件生命周期模型的说法,哪一项是错误的?A. 瀑布模型按照阶段顺序线性进行,每个阶段在开始时都需要前一个阶段的文档。
软件工程 简答题复习题(带答案)
第一章1,与计算机硬件相比,计算机软件有哪些特点?软件得特点如下。
1)无法直接观察计算机软件得物理形态,只能通过观察它得实际运行情况来了解它得功能、特性与质量等。
2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目得管理过程中,渗透了大量得脑力劳动。
3)不存在像硬件一样得磨损与老化现象,但存在着缺陷维护与技术更新得问题。
4)软件得开发与运行必须依赖于特定得计算机系统环境。
5)具有可复用性。
3,什么就是软件危机?什么原因导致了软件危机?软件危机得现象如下。
1)经费超出预算,项目一再拖延。
2)不重视需求,开发得软件不能满足用户得要求,项目成功率低。
3)没有规范得软件工程方法,软件可维护性差、软件质量差、可靠性差。
4)开发工具落后,手工方式,开发效率低。
所有导致软件危机得原因,都与软件本身得产品特点相关。
1)软件就是一个复杂得逻辑产品。
如果没有解决复杂问题得有效方法,以及软件产品得结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。
2)软件产品不能实现大规模复用,这导致了软硬件生产效率得不同。
3)软件生产就是脑力劳动,它瞧不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。
4)软件成本主要就是由研发成本构成;而硬件得生产成本主要就是材料与制造成本,分摊得研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。
5,请简述软件工程研究得内容。
软件工程研究得内容包括软件开发方法、软件开发模型、软件支持过程与软件管理过程。
软件开发方法得内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
常用得软件开发模型有瀑布模型、迭代模型、增量模型与原型模型等。
软件支持过程由所支持得CASE工具组成,常用得CASE工具有PowerDesigner与Rational Rose等。
7,请简述软件工程得目标、过程与原则。
软件工程期末复习题
软件⼯程期末复习题⼀、填空题1、在软件开发过程中要产⽣⼤量的信息,要进⾏⼤量的修改,能协调软件开发,并使混乱减到最低程度。
2、结构化语⾔是介于⾃然语⾔和之间的⼀种半形式语⾔。
3、在学校中,⼀个学⽣可以选修多门课程,⼀门课程可以由多个学⽣选修,那么学⽣和课程之间是关系。
4、⼀个模块的直接上级模块的个数称为模块的。
5、从⼯程管理的⾓度看,软件设计可分为概要设计和两⼤步骤。
6、设计任何⼀个⼈机界⾯⼀般必须考虑、⽤户求助机制、错误信息处理和命令⽅式四个⽅⾯。
7、耦合的强弱取决于的复杂性、进⼊或调⽤模块的位置以及通过界⾯传送数据的多少等。
8、⼀般将⽅法、和过程称为软件⼯程的三要素。
9、形式化说明技术主要包括:有穷状态机、PETRI⽹和。
10、软件过程模型主要有:瀑布模型、快速圆形模型、增量模型、螺旋模型和。
1、软件结构是以为基础⽽组成的⼀种控制层次结构。
2、从原理上讲,软件⼯程⽅法都由建模语⾔和建模过程组成,UML属于语⾔。
3、⼀个模块拥有的直属下级模块的个数称为模块的。
4、从⼯程管理的⾓度看,软件设计可分为概要设计和两⼤步骤。
5、为了便于对照检查,测试⽤例应由输⼊数据和预期的___两部分组成。
6、根据基本机制可将程序设计语⾔分为:过程式程序设计语⾔、函数式程序设计语⾔、逻辑程序设计语⾔和程序设计语⾔四类。
7、软件元素包括程序代码、设计⽂档、、设计过程、需求分析⽂档甚⾄领域知识。
8、与⽤户沟通获取需求的⽅法包括:、⾯向数据流⾃顶向下求精、简易的应⽤规格说明技术、快速建⽴软件原型等⽅法。
9、软件过程模型主要有:瀑布模型、快速原型模型、增量模型、螺旋模型和。
10、⾯向对象的测试策略主要包括⾯向对象的单元测试、和⾯向对象的确认测试。
1.计算机软件不仅仅是程序,还应该有⼀套____________________________________。
2.在E-R图中,数据对象实体⽤长⽅形、关系⽤___________表⽰、属性⽤椭圆表⽰。
软件工程复习题
软件工程课程复习题一、单选题1、软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2、检查软件产品是否符合需求定义的过程称为(D)。
A.集成测试B.确认测试C.验证测试D.验收测试3、黑盒测试是从(C )观点出发的测试,白盒测试是从(A )观点出发的测试。
A.开发人员B.管理人员C.用户4、可行性研究要进行一次(D)需求分析。
A.深入的B.详尽的C.彻底的D.简化的、压缩了的5、回归测试是( A )中最常用的方法。
A.校正性维护B.适应性维护C.完善性维护D.预防性维护6、与选择编程语言无关的因素是( C ) 。
A.软件开发的方法B.软件执行的环境C.程序设计风格 D. 软件开发人员的知识7、面向对象程序设计将数据与( A )放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作B.信息C.数据隐藏D.数据抽象8、软件生存周期的( D )工作和软件可维护性有密切的关系。
A.编码阶段B.设计阶段C.测试阶段 D. 每个阶段9、好的软件结构应该是( C ) 。
A.高耦合,高内聚B.高耦合,低内聚C.低耦合,高内聚 D. 低耦合,低内聚10、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是(A)A.探索型模型 B.演化型模型 C.实验型模型 D.提交型模型11、软件结构图的形态特征能反映程序重用率的是(C)A.深度 B.宽度C.扇入 D.扇出12、需求分析最终结果是产生(B)A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告13、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( C )。
A.总体B.细节C.抽象D.分解14.可行性研究要进行一次需求分析。
答案为:DA.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 B 。
山东大学-软件过程与管理复习重点整理
PDCA:Plan-Do-Check-Action计划-执行-检查-行动/戴明环 MSG:管理层指导组 SEPG:软件工程过程组 WBS:工作分解结构(以可交付成果为导向的对满足项目目标和开 发交付产物的项目相关工作进行的分解) SPI:软件过程改进
4. PROBE估算产品规模的基本流程
5. 相关性和显著性描述什么 相关性——描述的是两组变化的数据之间相互关联的程度。 显著性——描述的是两组数据的相关关系出现的偶然程度,显著性 越小越好。 6. 应用PROBE方法估算规模时,A,B,C,D四类方法的数据要
求是什么
7. 质量指标的含义和计算 ① Yield指标:用来度量每个阶段在消除缺陷方面的效率
TSP:团队软件过程(能够提供:①一个已经定义的团队构建过程 ②一个团队作业框架③一个有效的管理环境)
RUP:统一过程(6条开发经验“最佳实践”:迭代式开发、管理需 求、使用基于构件的体系结构、可视化建模、验证软件质量、控制软件 变更)
XP:极限编程(是敏捷过程中最负盛名的一个,有效实践有:重 构、使用隐喻、TDD、验收测试、结对编程)
(1)理论上,A/FR的值越大,往往意味着越高的质量。 (2)过高的A/FR往往意味着做了过多的评审,反而会导致开 发效率的下降。 (3)在PSP中A/FR的期望值就是2.0 ③ PQI:用以度量PSP过程的整体质量
=设计质量*设计评审质量*代码评审质量*代码质量*程序质 量
设计质量:设计的时间应该大于编码的时间 设计评审质量:设计评审的时间应该大于设计时间的50% 代码评审质量:代码评审时间应该大于编码时间的50% 代码质量:代码的编译缺陷密度应当小于10个/千行 程序质量:代码单元测试缺陷密度应当小于5个/千行 ④ Review Rate 评审速度:用以指导软件工程师开展有效评审的指标
软件过程与软件管理课程复习题(答案)
软件过程与软件管理课程复习题一.解释相关概念或术语1.软件过程:软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程。
软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、软件管理、软件支持等7大类的软件活动。
2.软件过程工程:为建造软件过程所进行的一系列工程化活动。
软件过程工程的基本活动包括过程定义、过程例化、过程模拟、过程运作。
3.软件配置管理:SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
4.CMM中的关键过程域:每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。
这些过程域就称为该成熟度等级的关键过程域。
5.CMM中的关键实践:是指关键过程域种的一些主要实践活动。
每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。
一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。
6.CMM中的SEPG:软件工程过程组(Software Engineering Process Group)由专家组成,统领CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
DP/RUP:USDP(Unified Software Development Process,统一软件开发过程)是一种基于构件的,用况和风险驱动的,以构架为中心,迭代和增量式的开发过程。
软件项目管理期末复习题集与参考答案解析
软件项⽬管理期末复习题集与参考答案解析软件项⽬管理期末复习题及参考答案⼀、单项选择题(1)赶⼯⼀个任务时,你应该关注(C )A. 尽可能多的任务B. ⾮关键任务C. 加速执⾏关键路径上的任务D. 通过成本最低化加速执⾏任务(2)下列哪个不是项⽬管理计划的⼀部分?(C)A. ⾥程碑图⽰B. 进度C. 数据库设计D. 风险清单(3)对⼀个任务进⾏进度估算时,A是乐观者,估计是6天完成,B是悲观者,估计是24天完成,C是有经验者认为最有可能是12天完成,那么这个任务的历时估算是介于10天到16天的概率是()E1=(O+4M+P)/6 δ1=(P-O)/6A. 50%B. 68.3%C. 70%D. 99.7%(4)关于浮动,下⾯除了哪个之外都是不正确的?(b )A. 每个任务都有浮动B. 只有复杂的项⽬有浮动C. 浮动是在不增加项⽬成本的条件下,⼀个活动可以延迟的时间量D. 浮动(时间)是在不影响项⽬完成时间的前提下,⼀个活动可以延迟的时间量(5)关于⽹络图,下⾯哪个是不正确的?(D )A. ⽹络图可⽤于安排计划B. ⽹络图展⽰任务之间的逻辑关系C. ⽹络图可⽤于跟踪项⽬D. ⽹络图可⽤于详细的时间管理(6)需求分析是回答系统必须( a )的问题A. 做什么B. 怎么做C. 何时做D. 为谁做(7)为了有效地管理项⽬,应该将⼯作分解为更⼩的部分,以下各项中,哪⼀项不能说明任务应该分解到什么程度?(A )A. 可以在80⼩时内完成B. 不能再进⼀步进⾏逻辑细分了C. 可由⼀个⼈完成D. 可以进⾏实际估算(8)下⾯哪个不是需求管理的过程(D )A. 需求设计B. 需求获取C. 需求分析D. 需求变更(9)(a )是⽤系统的功能数量来测量其规模,与实现产品所使⽤的语⾔和技术没有关系的。
A. 功能点B. 对象点C. 代码⾏D. ⽤例点(10)如果你是某项⽬的项⽬经理,你已经估算出每个单元的成本是¥129。
这个项⽬⼀共有1200单元,你采⽤什么估算⽅法?(b )A. ⾃下⽽上估算法B. 类⽐估算法C. 专家估算法D. 参数估算法(11)风险的三个属性是(c)A. 风险发⽣的时间、地点、负责⼈B. 风险事件、时间、影响C. 风险事件、概率、影响D. 风险数量、风险影响程度、概率(12)“质量成本”是⼀个项⽬管理概念,它说明了下列哪项成本(a )A. 额外需求的成本B. 需求变更的成本C. 确保符合需求的成本D. 固定成本(13)在风险分析过程中,确定已经识别的⼀个风险事件是⽆法避免的,也是不能减轻的,也不能投保,这是⼀个关键的风险事件,⼀旦发⽣可能造成项⽬的失败,项⽬经理最佳的选择是(C )A. 降低风险的级别,项⽬团队将找到⼀个克服故障的⽅法B. 特别关注,加强管理该风险事件和所有的相关事件C. 让风险评估⼩组继续分析该风险事件,直到降低预期影响D. 忽略风险评估,因为不管赋予什么值,都只是⼀个估算。
软件工程复习题库带答案完整版
软件工程复习题库带答案完整版1、白盒测试法是通过分析程序的内部逻辑来设计测试用例的。
2、风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果。
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。
4、等价分类法的关键是划分等价类。
5、下列不属于黑盒测试的技术是程序段或语句的功能。
6、为了提高模块的独立性,模块之间最好是数据耦合。
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。
8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。
9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。
11、软件危机的主要原因是软件本身特点与开发方法。
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。
13、软件工程管理是对软件项目的开发管理。
具体地说,就是对整个软件生存期的一切活动进行管理。
14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。
A.白盒测试B.黑盒测试C.灰盒测试D.集成测试15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。
因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。
16、有形性与可控性不是软件的特征。
软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。
17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。
18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。
软件工程复习题与答案
二、填空题1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。
3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__聚性_____。
5.数据流图(DFD)一般可分为变换型和__事务性_____两类。
6.软件维护的容包括校正性维护、适应性维护、__完善性维护__和预防性维护。
7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。
8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。
9.状态图反映了_事件与状态____的关系。
10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。
11.组成软件的两个部分是:____程序和文档________。
14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。
15.Jackson方法是一种面向___数据结构_____的开发方法。
16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。
17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。
18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。
19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。
22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。
23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。
24.数据流图描绘数据在系统中___流动和处理___的过程。
25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。
ERP复习题(带答案)
1.订货点法可以有效地解决库存管理中“何时需要物料”的问题。
错误订货点法解决的是何时订物料的问题理由:当“何时需要物料”问题解决以后,“何时订货”的问题电就迎刃而解了。
订货点法通过触发订货点来确定订货时间,再通过提前期来确定需求日期,其实是本末倒置的2.MRP是安排相关需求物料的生产计划的一种方法。
正确Mps 独立需求3.MRPII仍是ERP的主要组成部分。
正确理由:ERP在MRPII基础上提出是面向供应链的,扩展了管理范围4.修改MPS计划可以改变工作中心的负荷。
正确修改Mrp也能改变负荷5.采购订单是企业采购管理业务产生的内部文件,不具有法律效力。
错误理由:订单算作简易合同,具有法律效力采购申请单是内部文件6.在MRP中,用货币形式说明了执行企业“物料计划”带来的效益,实现物料信息同资金信息集成。
错误理由:实现集成的是MRPII(制造资源计划)7.ERP成功实施的三个关键因素是人、设备、流程。
错误理由:三因素:客户管理层、优秀的实施队伍、成熟的ERP软件三因素:(人、产品、流程)8.销售报价单是销售业务必须具有的单据. 错误理由:直销不需要报价单可以有可无9.层次码是指某个物料在所有产品结构树中所处的最低层数。
错误底层码:是指某个物料在所有产品结构树中所处的最低层数。
10.安全库存指为应付需求和订货周期的多变性而设置的超过平均需求的库存。
正确11.一种物料可以有多个物料编码。
错误12.工作中心是指企业的所有设备。
错误13.调拨管理是指物料在同一仓库的不同库位之间的调整。
错误14.企业资源包括企业的硬件资源和软件资源。
正确15. ERP打破了MRPII只局限于传统制造业的格局,其功能已延伸到其它各行各业。
正确16.MRP的维护方式有再生式和不变式。
错误17.MRP的目标是在需要的时间提供需要种类和需要数量的物料。
正确18. 累计提前期包括设计提前期、加工提前期、装配提前期.错误理由:采购、加工、装配。
软件工程复习题及答案完整
软件⼯程复习题及答案完整⼀、选择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),它引起⼈员通信困难、开发费⽤超⽀、开发时间超时等问题。
B ⼈为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了⽤户使⽤产品必须要完成的任务,可以在⽤例模型或⽅案脚本中予以说明。
A 业务需求B 功能需求C ⾮功能需求D ⽤户需求17、原型化⽅法是⽤户和软件开发⼈员之间进⾏的⼀种交互过程,适⽤于(A)系统。
软件工程复习题
第一章1软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
2软件文档是以人们可读的形式出现的技术数据和信息。
3软件工程是指导计算机软件开发和维护的工程学科;软件工程采用工程的概念、原理、技术和方法来开发与维护软件;软件工程的目标是实现软件的优质高产;软件工程的目的是在规定的时间、规定开发费用内,开发满足用户需求的、搞质量的软件产品。
4软件工程方法学有三个要素:方法、工具、过程。
5软件工程管理的目的是按预定的时间和费用,成功地生产软件产品。
6软件工程管理的内容包括软件费用管理、人员组织、工程计划管理、软件配置管理。
7软件工程的七条基本原理①用分阶段的生存周期计划进行严格的管理②坚持进行阶段评审③实行严格的产品控制④采用现在程序设计技术⑤软件工程结果应能清楚的审查⑥开发小组的人员应少而精⑦承认不断改进软件工程实践的必要性8软件生命周期一般由软件计划、软件开发和软件运行维护三个时期组成。
软件计划时期分为问题定义、可行性研究和需求分析三个阶段。
软件开发走起可分为软件设计、软件实现、和综合测试三个阶段。
总体来说,软件开发模型包括传统的瀑布模型和后来兴起的快速原型模块两类。
具体可分为瀑布模型、快速原型模型、增量模型、喷泉模型、螺旋模型和统一模型。
9通常结构化方法可使用瀑布模型、增量模型和螺旋模型进行开发;面向对象方法可采用快速原型、增量模型、喷泉模型和统一过程进行开发。
第二章1明确系统的目标、规模、基本要求,并对现有系统进行分析,明确开发新系统的必要性。
2要从技术方面、经济方面和社会因素方面写出可行性研究报告。
3需求分析阶段要确定目标系统的具体要求:1确定系统的运行环境要求;2系统的性能要求;3系统功能4系统功能4数据模型用实体—关系图来描述实体之间的关系。
功能模型用数据流图来描述其作用如下:1描述数据在系统中移动时如何变换;2描述变换数据流的功能和子功能,行为模块可用转台转换图来描绘系统的各种行为模式和不同状态见的转换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件过程与软件管理课程复习题(一)解释相关概念或术语1)软件工程●是指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、方法和技术,进行软件的开发和维护,并与经过时间证明正确的管理方法与措施相结合,以较少的代价获取高质量的软件。
●The IEEE Computer Society:是(1) 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。
(2) 对(1)中所述方法的研究。
2)软件过程●软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程●根据IEEE对软件过程概念的解释,软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、软件管理、软件支持等7大类的软件活动●ISO12207分别将这些活动归结为基本过程、支持过程和组织过程等3大类3)软件过程工程为建造软件过程所进行的一系列工程化活动,包含如下基本活动:过程定义、过程例化、过程模拟、过程运作。
现代软件工程=软件项目工程+软件过程工程,这标志着软件过程的时代的到来。
4)软件配置管理SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
5)CMMCMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。
它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
6)CMM中的关键过程域每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。
这些过程域就称为该成熟度等级的关键过程域。
●确定了实现一个成熟度级别所必须解决的问题●处于级别3的机构,必须解决级别2和级别3的所有关键过程域中的问题●每个关键过程域都确定了一套相应的活动,完成了这些活动,就达到了被认为是对改进过程非常重要的一组目标●目标说明了每个关键过程域的范围、界限和意义●对于满足关键过程域的机构,一个关键过程域的所有目标都必须实现●每个关键过程域的目标总结了它的关键实践7)CMM中的关键实践是指关键过程域种的一些主要实践活动。
每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。
一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。
●描述了对关键过程域的有效实施和制度化起重要作用的基础设施和活动。
●每个关键过程域最终由关键实践所组成,通过实现这些关键实践来达到关键过程域的目标。
●关键实践描述要做“什么”,但没有强行规定应当“怎样”完成目标。
●关键实践的下面描述更为详细的各实践。
8)CMM中的SEPG软件工程过程组(Software Engineering Process Group)由专家组成,统领CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
这是来源于CMM3的一个名词,是指执行组织,为不断改进软件过程管理能力而组建的专门性组织,其职责包括:●制定规程:组织制定软件过程管理规程●推广规程:在组织内部推广已制定软件过程管理规程●监督实施:对组织内部软件过程管理规程执行情况的监督●过程能力提高:对组织内部软件过程管理能力进行评估,制定计划提高组织软件过程管理能力,实施软件过程管理能力改进计划SEPG的工作性质和职责是监督、管理、指导项目的过程,对项目过程、文档的规范性及过程、文档的适用性负责,不对项目的具体结果负责。
SEPG成员一般不作为项目组的成员,但是,可以为项目的过程管理、规范执行提供协助。
9)PSP个体软件过程(Personal Software Process,PSP)是一个过程描述、测度和方法的结构化集合,能够帮助软件工程师改善其个人性能。
它提供了表格、脚本和标准,以帮助软件工程师估算和计划其工作。
它显示了如何定义过程及如何测量其质量和生产率。
10)TSPTSP(Team Software Process,团队软件过程/群组软件过程)是为开发软件产品的开发团队提供指导,TSP的早期实践侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。
TSP被设计为满足2~20人规模的开发团队,大型的多团队过程的TSP被设计为大约最多为150人左右的规模。
●TSP是一个小组软件过程框架●TSP指导你通过小组软件工程的每一个步骤●TSP向你表明该如何在一个小组协同工作环境中工作●TSP教会你如何规划和管理一个小组项目●TSP教会你如何为小组成员分配不同的角色●TSP为小组提高生产力确立了一个过程11)USDP/RUPUSDP(Unified Software Development Process,统一软件开发过程)是一种基于构件的,用况和风险驱动的,以构架为中心,迭代和增量式的开发过程。
分为初始、细化、构造、移交四个阶段。
RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。
RUP和类似的产品——例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
●RUP是Rational Unified Process,是一个商业产品,比USDP专业,特别是它提供的一套工具来实现(Rational Enterprize Suite)。
USDP的抽象程度比RUP大得多,是Jacobson等人在学术界的成果。
12)SWEBOK2004年6月,美国IEEE协会和ACM的联合网站上公布了软件工程知识体(SWEBOK)2004版全文,这标志着SWEBOK项目的工作告一段落,软件工程作为一门学科,为取得对其核心的知识体系的共识,已经达到了一个重要的里程碑。
SWEBOK指南开宗明义提出五个目的:(1)促进软件工程业界统一看法;(2)划定学科边界,澄清软件工程的学科地位;(3)刻画软件工程的学科内容;(4)提出访问SWEBOK的论题(知识点);(5)为个人认证、申请执照、课程体系制定提供基础。
SWEBOK把整个体系分解为10个知识域(Knowledge Area):知识域(子知识域/知识点)软件需求 7/28软件设计 6/25软件构造 3/14软件测试 5/16软件维护 4/15软件配置管理 6/17软件工程管理 6/24软件工程过程 4/16软件工程工具与方法 2/12软件质量 3/11每个知识域又分若干子域,每个子域分为若干论题(Topic),我国学界称之为知识点,每个知识点还可以再分为下层,或下下层的子知识点。
SWEBOK只给出知识域确切的概念和准确的定义,即内涵定义。
从知识域到子域到知识点,要完全理解知识域的含义还要靠它的外延,即各种参考文献,13)SCM(Software Configuration Management):又称软件形态管理、或软件建构管理,简称软件形管(SCM)。
界定软件的成项目,对每个项目的变更进行管控(版本控制),并维护不同项目之间的版本关联,以使软件在开发过程中任一时间的内容都可以被追溯,包括某几个具有重要意义的数个组合,例如某一次交付给客户的软件内容。
(二)简要回答下列问题1)PSP和TSP中质检过失比(A/FR)是一个重要的质量度量参数。
请简要说明A/FR分别小于1和大于2时对过程的意义。
质检/过失比:质检质量成本/过失质量成本,用来测量在第一次编译前花在查找缺陷上的时间的相对值。
可用复查时间/(编译+测试)时间来计算。
能很好地指示测试中发现缺陷的可能性。
当A/FR<1时,程序测试一般会发现很多错误;当A/FR>2时,过程产生无缺陷的可能性更大。
A/FR的值对于小的独立的产品通常比2.0要大; A/FR的值对于相对大的产品等于1.0较为合适。
例如,如果有实际总开发时间=262min,实际代码复查时间=29min,则质检成本=100*29/262=11.07%如果有实际编译时间=5min,实际测试时间=10min,则过失成本=100*(5+10)/262=5.73%。
此时, A/FR= 11.07/ 5.73=1.93。
可用复查时间/(编译+测试)时间来计算。
2)TSP中的SUMQ的作用。
项目管理者根据质量计划,通过SUMQ质量总结表协助团队成员跟踪绩效。
SUMQ包括主要比率、无缺陷比率PDF、缺陷数/页、缺陷数/KLOC、缺陷比率、开发时间比率、质检过失比A/FR、复核比率、检查比率、缺陷引入比率、缺陷除去比率、阶段成品率、过程成品率。
它提供了对质量问题的估计方法、深入分析设计和代码复核质量的方法,以及对整个过程的评估方法,使软件开发人员对质量问题更加敏感和小心,以便开发出高质量的软件产品。
在TSP中,质量计划(SUMQ)的制订与计划小结(SUMP)的制订相辅相成,缺一不可。
计划小结的制订又需要参考产品规模摘要(SUMS)和任务计划(TASK),而任务计划又与进度计划(SCHEDULE)密切相关。
除此而外,质量计划的制订还需要参考质量标准(QUAL)的要求。
质量计划与进度计划之间的内在联系下图所示。
在团队成员订出质量计划SUMQ后,质量经理就要依据该计划,协助团队成员追踪绩效。
对于系统的每个部分,质量经理要在每个阶段追踪这些数据,以了解测量值是否落于质量计划所设定的范围内。
如果没有,质量经理要在每周的定期会议中,将这些问题提出来,并向团队提出改善建议。
3)在软件配置管理系统中检入与检出是基本功能。
请解释该功能的作用。
检入就是将软件配置项从用户的工作环境存入到软件配置库的过程;检出就是将软件配置项从软件配置库中取出的过程。