软件过程与软件管理课程复习题
软工复习题--答案(论述题有答案版)(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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 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)在软件配置管理系统中检入与检出是基本功能。
请解释该功能的作用。
检入就是将软件配置项从用户的工作环境存入到软件配置库的过程;检出就是将软件配置项从软件配置库中取出的过程。