软件项目管理复习提纲.doc_第1页
软件项目管理复习提纲.doc_第2页
软件项目管理复习提纲.doc_第3页
软件项目管理复习提纲.doc_第4页
软件项目管理复习提纲.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件项目管理复习提纲填空(30分)简答(40分)计算题(10分)论述题(20分)第1章 软件项目管理导论1、软件项目管理是对整个软件项目生命周期实施的项目管理,软件项目不仅仅是软件开发项目。2、项目就是在既定资源和要求的约束下,为了创造某一独特的产品或服务,由个人或组织机构所做的一次性工作任务。项目具有的特征:目标性独特性-每一个项目都是唯一的临时性 明确的开始和结束制约性不确定性特定委托人-项目结果的需求者结果的不可逆转性-不管结果如何,项目结束,结果确定3、以下哪些是项目呢? 上课野餐活动集体婚礼社区保安开发微软的操作系统每天的卫生保洁神舟飞船计划建造大楼解决某个研究课题、开发软件4、 项目管理就是指把各种系统,方法和人员结合在一起,在规定的时间,预算和质量目标范围内完成项目的各项工作。5、 项目管理的知识领域 项目范围管理项目时间管理项目成本管理项目质量管理项目人力资源管理项目沟通管理项目风险管理项目合同管理项目综合管理6、 软件项目分类: (1)通用软件产品开发项目-系统软件windows,开发平台.Net,嵌入式软件,cad软件 (2)定制软件系统开发项目 (3)软件实施项目-在成熟产品基础上二次开发,如ERP (4)软件服务项目-免费维护期后的服务7、 CMM模型:能力成熟度模型CMM(Capability Maturity Model)8、 CMM模型的5个等级及各自的含义特征 CMM将软件机构软件过程的成熟度分为5级:初始级,可重复级,已定义级,已管理级,优化级。 (1)初始级:软件过程是未加定义的随意过程,项目的执行时随意甚至是混乱的。(随意过程) (2)可重复级:第二级的焦点集中在软件管理过程上。一个可管理的过程是一个可重复的过程,可重复的过程才能逐渐改进和成熟。(管理过程可重复) (3)已定义级:该级别要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。(有企业的工程化标准,不能随意修剪) (4)已管理级:所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的最终产品)需要有明确地度量指标。(过程有度量方式) (5)优化级:该级别的目标是达到一个持续改善的境界。所谓持续改善是指可以根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。(根据反馈改善过程)第2章 组织平台1、 组织:一个公司的组织三要素包括其结构、政策和文化,这些因素可能在急剧变换的经济危机中成为机能障碍。2、 CMM中的关键工作组及相关角色的职责(大概知道) (1)软件工程组Software Engineering Group (2) 软件相关组Software Related Group(3)软件工程过程组Software Engineering Process Group(4)系统工程组System Engineering Group(5)软件测试组Software Test Group(6)软件质量保证组Software Quality Assurance Group(7)软件配置管理组Software Configuration Management Group(8)培训组Training GroupCMM中的工作组中的角色及职责 (1)系统分析员 开发域专家 职责:对当前系统建模并产生关于将来系统的信息。 (2)体系结构员 一个综合性角色,系统设计的主要角色,系统集成的主要角色 职责:在需求分析阶段:从系统的角度统一用例和对象模型,解决分析过程中的分歧。体系结构员是交叉功能体系结构小组的领导者。 (3)体系结构联络员 体系结构小组的成员,子系统小组的代表 职责:为其所在小组传递信息、处理接口变化。在系统设计阶段,集中负责子系统服务;在编码阶段,负责API的一致性。 (4)核心设计者 职责:在启动对象设计前开发出编程指导原则和约定。对许多约定来说,实际约定不如所有设计人员和开发人员承诺使用约定更重要。核心设计者还负责保持SDD和RAD的一致性。 (5)对象设计者 职责:定义并具体化由他们实现的类的接口规格说明或子系统。 (6)程序员 职责:将对象模型转化为源代码。这包括实现每个对象的属性和方法,集成所有的对象使之成为一个单独的系统。修改错误,进行现场调试等。 (7)测试工程师 职责:发现系统错误并记录。 (8)实施人员 职责:现场环境测试,系统安装,客户培训,问题跟踪,客户协调等。 (9)文档编辑者 职责:负责文档的低层次综合。如文档的整体格式与索引。技术文档编写者负责整理ODD的最终版本,确保文档从结构和内容的角度都是一致的。他们还检查是否遵循指导原则和规范。文档编辑者还负责编辑、修改产品功能说明书、使用手册等。 (10)项目经理 职责:组织协调相关人员进行需求分析、设计、编码、测试与修改、系统实施、客户协调等。负责计划、人员管理,负责跟踪、监控项目执行情况,组织项目会议,修改项目计划等,根据项目计划、质量计划组织、审核项目质量,确保按计划完成目标。第3章 软件项目立项1、立项的目标:说服组织的决策者同意启动一个项目或继续进行项目的下一个阶段。立项阶段的最终交付项是立项报告。立项报告是一份描述项目可行性的正式文档,是立项评审和决策的依据。2、立项分为定制软件和通用软件立项之别。产品立项比定制立项复杂的多3、从商业竞争的角度考虑软件产品可分为: (1)高技术产品,进入门槛和附加值高 (2)短线产品,技术含量不高,但需要快速占领市场 (3)行业业务系统,对行业精通,行业市场运作能力 (4)规模产品,SAP,oracle等4、对产品的内涵进行战略管理才是产品定义、产品立项、产品计划的核心。产品的五个层次是: (1)完成客户的核心需求 (2)实现辅助核心需求,形成 一般产品 (3)期望产品,在一般产品基础上,满足客户更高期望 (4)附加产品。在期望产品上锦上添花 (5)潜在产品,满足客户潜在需求5、 产品定位战略所考虑的因素: (1)重要性,能提供高价值的利益 (2)独特性,与众不同,简单、便宜。 (3)优越性,ipad (4)沟通性 (5)先发制人 (6)价格的可支付性 (7)盈利性6、软件项目合同主要是技术合同;技术合同一般包括主合同和合同附件。第五章 软件估算1、软件项目估算是以准确的调查资料和项目可用资源信息为依据,对估算对象的规模、工作量、进度和成本和缺陷进行预测。是对非零可能性的未来的预测。它是项目计划的依据。2、估算收敛图P88 功能资源功能资源项目的演变项目的演变产品规模产品规模功能趋于与可用的资源相匹配资源趋于与想得到的功能相匹配3、项目的演变(两种策略)P89大多数软件项目在开始时,期望的功能与可用的资源之间不匹配,但随着项目的进展,功能或资源(或两者)必定要互相匹配 4、估算内容 内容:(1)产品规模估算(代码行或功能点) (2)工作量估算(人月) (3)进度估算(日历月份) (4)成本估算(人力和软硬件成本,学习、培训、风险和维护成本) (5)缺陷数估算,缺陷数影响工作量和进度估算5、 FP功能点估算法(计算)6、 COCOMO估算法(计算)7、 COCOMO(COnstuctive COst mode)模型:结构性成本模型 COCOMO模型分为基本、中级模型和详细模型8、 COCOMO适合的软件项目(1)组织型(Organic):相对较小,简单项目,工作人员理解好,经验丰富,硬件相关性小。如多数应用软件,编译程序,老操作系统(2)嵌入型(Embadded):项目紧密联系硬件、软件、操作。对接口,数据结构,算法要求较高,规模任意。如航天指挥系统(3)半独立型:介于两者间9、 COCOMO模型参量DSI(原指令条数-Size)定义为代码或卡片形式的源代码。若一行由两个语句,算作一条指令,包括作业控制语句,格式语句,不包括注释语句。1KDSI=1024DSIMM(度量单位为人月-Effort)表示开发工作量,定义:1MM=19人日=152人时=1/12人年TDEV(度量单位为月)表示开发进度,他由工作量决定。10、 基本COCOMO公式类型工作量 进度 组织MM=2.4(KDSI)1.05TDEV=2.5(MM)0.38半独立MM=3.0(KDSI)1.12 TDEV=2.5(MM)0.32 嵌入MM=3.6(KDSI)1.20 TDEV=2.5(MM)0.32 11、 例:一个规模为10KDSI的商用微机远程通信嵌入软件,使用中间COCOMO模型进行软件 成本估算。则: 程序名义工作量 MM=2.8*(10)1.20=44.38(MM)程序实际工作量MM=44.38* f1 * f2 * f3 * f15=44.38*1.17=51.5(MM)开发所用的时间TDEV=2.5*(51.5)0.32=8.9(月)如果分析员与程序员的工资都按每月6000美元计算,则该项目的开发人员的工资总额为51.5*6000=309000(美元)第7章 软件配置管理1、软件配置管理包括标识在给定时间点上软件的配置,系统地控制对配置的更改,并维护在整个软件生命周期中配置的完整性和可跟踪性。2、软件配置管理的功能 (1)配置项识别(确认),是前提和基础 (2)版本控制,基本功能 (3)变更控制 (4)配置状态统计 (5)配置审核 (6)构造管理,综合不同版本配置项构建不同版本产品 (7)过程管理3、 实施SCM的主要活动(软件配置管理SCM) (1)制定SCM计划 (2)软件配置标识与维护管理 (3)软件配置控制与变更管理 (4)版本管理 (5)软件配置状态发布 (6)配置审计 (7)软件构件与发布管理4、 基线:指已经过正式评审和认可的标准,作为以后进一步开发的基础,并且只有通过正式的更改控制规程才能进行更改的规程说明或产品。基线是由管理人员或顾客正式检查并同意的配置项版本。5、 配置管理工具P139 (1)RCS,免费,不支持分支管理 (2)CVS,免费,并发版本管理,是对RCS的扩展 (3)VSS,支持版本、变更管理和并行开发 (4)Harvest (5)ClearCase(Together) (6)Hansky Firefly第8章 软件质量管理1、软件质量定义 ISO9001的定义:客户要求的一种产品或服务所具备的所有特性。 ANSI/IEEE定义:软件产品满足规定的和隐含的需求的有关特征或特性集合。2、 软件质量的要素 (1)软件的运行特征(最基本的):正确性,可靠性,有效性,完整性,可用性 (2)软件修正的能力:可维护性,灵活性,可测试性 (3)软件转移特征(对新环境的适应程度):可移植性,可重用性,可互操作性3、SQA(软件质量保证)组织结构有三类及各自的区别(P156) : 职能结构(没有独立的SQA部门)、 矩阵结构(有独立的SQA部门) 、 柔性结构(两者结合) 4、 软件质量控制定义: 监控软件开发过程与结果,确保软件可以满足在设计中明白交代出来的要求和没明确指出的需求。也就是在软件开发过程的若干关键点上进行软件项目跟踪和监控。5、 质量控制方法(前3个) 缺陷追踪:IBM是最早发现质量和软件进度关系的公司。他们发现具有最少缺陷的产品也就是具有最短开发时间的产品。源代码追踪:缺陷追踪是记录和追踪有关缺陷从发现到解决过程的工作。源代码追踪是利用开发工具的调试器,一行行追踪代码的执行情况。这项工作主要是由程序员来做。技术检查:技术检查是由技术专家或开发人员来检查别人完成的工作。测试Pareto分析6希格玛方法第9章 软件质量1、 软件度量的根本目的是为了项目管理的需要,利用度量来改进软件过程。2、需要注意的两个问题: 1)度量结果是定量描述,不是定性描述 2)与估算是提前预测不同,度量是对实时或事后状态的收集与分析,用于对历史进行评估。第10章 风险管理1、风险(词典定义):可能失去东西或受到伤害。 软件开发的滑铁卢罗伯特.格拉斯: 遇到危险、遭受伤害、经受损失,或者是招致伤害或损失。 ( 两层含义:一种风险是不可抗力,一种是失误、自己招致的)2、 风险管理是软件项目管理的第二大关键问题。3、软件项目风险:软件开发过程中及软件产品本身可能造成的伤害或损失。它是介于确定性和不确定性之间的状态。 包含两个特征:1)不确定性;2)损失。 分为三类:1)已知风险,如技术创新;2)可预测风险,如人员调整;3)不可预测风险4、 引起风险的因素 (1)商业环境风险 (2)企业环境风险 (3)软件项目风险5、风险管理过程分为两大类:风险分析、风险控制风险管理风险分析风险控制风险识别风险分析风险优先级风险管理计划风险监控风险控制 6、 风险识别的步骤(了解) (1)收集资料 (2)估计项目风险形势 (3)识别风险第12章 人力资源管理与团队建设1、人力资源管理关键要素 (1)合理的薪酬,最重要、最易使用的激励方法 (2)有事做,有愿意做、有挑战的事情做 (3)职业发展 (4)激励-2、人性的三类基本需求-欲望,情感,知识第13章 软件知识产权管理1、 我国现有条例学习 著作权法 计算机软件保护条例 计算机软件著作权登记办法2、 计算机软件的特点 复制容易 复制品的质量稳定 复制成本低廉 传播容易 开发者对于他人复制很难控制 * 商品化软件的研发难度和研发成本都很高,擅自复制、擅自应用他人研发的软件是无偿占用软件研发者劳动成果的行为*。3. 开源软件和自由软件的特征 自由软件是指使用者对该软件的使用具有以下四种自由: (1)可以自由运用该软件,无论是什么目的 (2)可以自由学习该程序怎样工作,并使之适应被许可人的需求。其前提是可以自由读取源代码。 (3)可以自由重新分发拷贝以便帮助被许可人的邻友。 (4)可以自由改善该程序,并发布给公众,让整个社会得利。其前提是可以自由读取源代码。开发源代码软件(open source software),简称开源软件。开源软件和自由软件的区别在于许可证对权利义务的规定程度上。自由软件的许可证不允许被许可人将本许可证许可的源代码的修改版本、演绎版本以其他的许可证方式再许可或者保留起来不许可,只能按此许可证实施再许可。开源软件的许可证则允许以其他许可证的方式实施再许可。第14章 软件安全1. 软件安全是指:采取工程的方法使得软件在敌对攻击的情况下仍能够继续正常工作。即采用系统化、规范化、和数量化的方法来指导构建安全的软件2. McGraw博士提出了软件安全工程化的三个支柱(1)风险管理:一种贯穿软件开发的生命周期的战略性方法;(2)软件安全切入点:在软件开发生命周期中保障软件安全的一套最佳实际操作方法。这一套 最佳实践方法包括:代码审核,体系结构风险分析,渗透测试,基于风险的安全测试,滥用案例,安全需求和安全操作。(3)安全知识3、缺陷的定义从产品内部看,软件缺陷是软件产品开发或维护过程中所存在地错误、毛病等各种问题。从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。4、漏洞的定义系统设计、实现和操作管理中存在的缺陷和弱点,能被利用而违背系统的安全策略。是缺陷不一定是漏洞,漏洞一定是缺陷。5、 软件缺陷的严重性级别可以分为四类 :(1)致命的:造成系统和应用程序崩溃、死机、系统悬挂,数据丢失、主要功能完成丧失等。(2)严重的:功能或特性没有实现,主要功能丧失、导致严重的问题,或致命的错误声明。(3)一般的:不影响系统的级别使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,操作时间长等。(4)轻微的:对功能几乎没有影响,产品及属性仍可使用。6、根据漏洞出现的阶段,软件安全漏洞可分为两大类:设计漏洞和实现漏洞。7、栈溢出漏洞: 其产生的原因是输入数据时,由于没有进行边界检查,导致输入的数据的数量超过了堆栈预留的存储空间,最终覆盖了堆栈中的返回地址,如果覆盖返回地址的是一个攻击程序的地址,则导致去执行这个恶意程序。栈溢出的主要危害是能够修改邻接变量和返回地址。8、 SQL注入(SQL Injection)漏洞是Web系统特有的一类漏洞,源于PHP、ASP等脚本语言对用户输入数据的错误解析。 9、恶意软件的定义 恶意软件 ,统称其行为损害系统用户和系统所有者利益的软件,是故意在计算机系统上执行恶意任务的恶意代码的集合。10、恶意软件的分类 恶意软件大致分为两类,该分类是从主机依赖的角度进行的分类,即依赖主机程序的恶意软件和独立主机的恶意软件。前者不能独立于应用程序或系统程序,即存在宿主文件,必须依赖宿主的运行而启动;后者是能在操作系统上运行的、独立的程序。11、三种主要的恶意软件及其区别 (1)病毒 (virus)如果恶意代码将其自身的副本添加到文件、文档或磁盘驱动器的启动扇区来进行复制,则被认为是病毒。病毒代码的明显特征是自行复制。病毒通常会将其包含的负载(如木马)放置在一个本地计算机上,然后执行一个或多个恶意操作(如删除用户数据)。另外,仅进行复制而不具有负载的病毒仍然是恶意软件,因为该病毒自身在复制时可能会损坏数据、消耗系统资源并占用网络带宽。(2)蠕虫 (worm)如果代码在没有携带者(宿主文件)的情况下复制,则被是认为是蠕虫。蠕虫试图将自己复制到宿主计算机上,然后利用此计算机的通信信道进行复制。病毒寻找文件以进行感染,但蠕虫仅尝试复制其自身。(3)木马 (Trojan)木马与病毒或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论