单选填空简答思考题。
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你是公司的软件工程师,一年前,你的经理宣布你的下一个产品将包含9个文件,49个数据流和92个过程:(1)使用ffp度量确定它的规模。
2)对于公司来说,等式(9-2)中的常数d确定为1003美元,ffp度量**的成本估算是什么?
3)该产品最近以132800美元的成本完成,那么你的开发小组的生产率是多少?
9.2(1)产品规模:s=fi+fl+pr=9+49+92=150(2)成本估算:c=d*s=1003*150=150450
3)生产率:(150450-132800)/132800=0.117
9.3目标产品有7个简单的输入,2个一般的输入和10个复杂的输入,有56个一般的输出,8个简单的查询,12个一般的主文件和17个复杂的接口,请确定未经调整的功能点。(ufp)
答:对功能点数求和,产生未经调整的功能点数the sum gives ufp (unadjusted function points)ufp= 7×3 + 2×4 + 10×6 + 56×5 + 8×3 + 12×10 + 17×10 = 683level of complexitycomponent********eragecomplexinput item346output item457inquiry346master file71015interface5710
31、学会下面题目的计算方法:
9.4如果习题9.3中产品的总影响度为49,请确定功能点数。
功能点数fp = ufp×tcf = 683×1.14 = 779 (tcf = 0.65 + 0.01di)
9.6你负责开发一个有67-kdsi的嵌入式产品,除了数据库规模非常高,以及软件工具的使用非常低以外,其他都是额定的,请问如果使用中间cocomo,估算的工作量以人月计算机将是多少?答:
一般计算公式如下:工作量=ax(规模)b
其中a,b是常数,分别取决于建造产品的模式是何种类型。
分别为a=3.2 and b=1.05是简单模型的常数,而a=2.8 and b=1.2是嵌入(或复杂)模型的常数。
nominal effort = 2.86712= 435 person-months
技术因子相乘:product of multipliers is1.00 (nominal)1.
16 (database size)1.10 (use of software tools) =1.28estimated effort is then
额定工作量nominal effortproduct of multipliers = 4351.28 = 557 person-months9.7你负责开发一个有33-kdsi的有组织模式的产品,除了产品pi具有特别高的复杂度,以及产品p2具有特别低的复杂度以外,两个产品在每个方面都是额定的。
为开发产品,你可以支配两个小组。小组a具有非常高的分析能力、应用经验和编程能力、小组a还具有很高的虚拟机经验和编程语言经验,而小组b在这5个属性的级别都非常低。
1)如果小组a开发产品p1,小组b开发p2,总的工作量是多少(以人/月为单位)?(2)如果小组b开发产品p1,小组a开发产品p2,总的工作量是多少(以人月为单位)?(3)前面的两种人员分配中哪一个更合理?
中间cocomo的**支持你的直觉吗?
1)额定工作量:3.2×43105= 126人月。
a组的工作因子:0.71*0.
82*0.70*0.95*1.
65*0.90=0.5775b组的工作因子:
1.46*1.29*1.
42*1.21*1.14*0.
70=2.583
a组做p1产品:估算量=因子量*额定工作量=126*1.65*0.
35=73人月b组做p2产品:估算量=因子量*额定工作量=126*0.70*3.
69=325人月。
总工作量=398人月。
2)b组做p1产品:估算量=因子量*额定工作量=126*1.65*3.
69=767人月a组做p2产品:估算量=因子量*额定工作量=126*0.70*0.
35=31人月总工作量=798人月。
3)第一个小题的分配比较合理。cocomo的**支持我的直觉。
32、完成需求流的基本步骤有哪些?1)、对应用领域获得一个基本的了解。
2)、商业建模3)、确定客户的需求并从客户的角度找出存在的限制条件4)、决定概念**的目标。
33、用例的定义?
用例是软件产品的外部用户(行动者)和软件产品自身的交互的建模。34、分析流阶段的类有哪三种?各自的定义?
实体类:为长期存在的信息建模的类。
边界类:为软件产品和它的操作者之间的交互性建模的类控制类:为复杂的计算和算法建模的类。
35、实体类的抽取由哪三个迭代和递增的渐进步骤完成?
功能建模、实体类建模、动态建模。
36、通常在分析流期间有哪些软件制品?
37、面向操作设计的两个实用的传统技术是哪两个呢?分别简述它?
数据流分析:是一项得到具有高内聚模块的传统设计技术,可以和多数规格说明技术一同使用,一旦有了它,软件设计就有了关于产品的输入和输出的精确和完整的信息。
事务分析:从产品用户的观点来看的一个操作,比如说“处理一个请求”或“打印一份今天的订单列表”,数据流分析不适合处理事务类产品,因为事务处理类产品必须完成一些相关的操作,他们大概相似但细节上不同。
38、使用输入和输出的最高抽象点将产品分解为哪三个模块?
输入模块、转换模块、输出模块。
39、培养良好的编程实践,包括哪些好习惯?
1)、使用一致和有意义的变量名2)、自文档**的问题3)、使用参数。
4)、为增加可读性的**编排5)、潜逃的if语句。
40、实现流的主要目标是什麽?
目标是用选择的实现语言实现目标软件产品(就是编写程序)
软件工程复习
软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...
软件工程 复习
1.概念 软件危机是指在计算机软件开发 使用与维护过程中遇到的一系列严重问题。2.为什么会产生软件危机?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致使软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。3.软件危机的表现 经费预算经常突破...
软件工程复习
软件工程复习题。一 选择题,请从四个可选项中选择正确答案。1 下面哪个选项不是软件工程研究的内容 a.生产无故障的软件 b.精通一门编程语言。c.生产满足用户需求的软件 d.生产及时交付的软件。2 软件工程的出现是由于 a.软件危机 b.计算机硬件技术的发展 c.软件社会化的需要 d.计算机软件技术...