概念了解

软件成熟度:对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。

软件生命周期:一个软件产品从开始构思到不再可用的持续时间。

代码重构:在不改变系统行为的前提下,重新调整、优化系统的内部结构。

集成项目管理:对已定义的组织标准软件过程进行剪裁以符合项目的特性,吸收相关软件过程财富,制定集成的项目自定义过程来管理多个项目,并且满足相关利益者的要求,到达平衡。

配置:在技术文档中明确说明最终组成软件产品的功能或物理属性。

过程评估:由接受过培训的一组软件专业人员所进行的评估,用以确定一个组织的当前软件过程状态,确定组织面临的软件过程相关问题的优先级,并获得对于进行软件过程改进的组织一级的支持。

项目风险:潜在的预算、进度、人力(工作人员和组织)、资源、客户及需求等方面的问题以及对软件项目的影响。

质量管理:确定质量方针、目标和职责,并通过质量体系中的质量策划、质量控制、质量保证和质量改进来使其实现的所有管理职能的全部活动。

过程规范:对输入/输出和活动所构成的过程进行明文规定或约定俗成的标准。

软件过程:人们用来开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册)的活动、方法、实践和变革的集合。

剪裁:去掉不合适的流程、方法和规则,增加一些新的内容,形成自定义的、更适合组织自身需要的或当前项目需要的过程。

验证:验证或检验软件是否已正确地实现了产品规格书所定义的系统功能和特性,验证过程提供证据表明,软件相关产品与所有生命周期活动的要求相一致。

项目管理:计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。

基线:经过正式审查并被一致认可的规格说明或产品,作为进一步开发的基础,只有通过正式变更控制程序才能改变。

需求开发:为研发出符合用户需要的产品而进行的需求收集、分析和确定研发内容的活动过程。

需求管理:在整个生命周期中,针对不断变化的客户需求加以收集、处理和跟踪,并建立软件需求的基准线,以作为项目中软件开发活动过程和产品度量和变更管理的基础。

PSP个体软件过程,基于软件过程思想、软件技术和专业方法,帮助软件开发团队中的个体——软件工程师改善其个人能力和素质的组织过程。

TSP团队软件过程,建立在个体软件过程之上,致力于开发高质量的产品,建立、管理和授权项目小组,改善开发团队过程、提高开发团队能力的指导性框架。

简答

TSP原则

(1)在遵循定义好的过程并得到快速反馈时,学习是最重要的。TSP的流程和规范为团队软件工程提供了一套精心设计的、通过审查的和可重复的框架,并提供了快速高效的反馈机制。将产品开发过程被分解成若干个子过程,每个子过程成果得到及时评估,缩短了反馈的周期。

(2)高效团队的协同工作存在一些基本的共性,如具体又一致的目标、良好的工作支撑环境和强有力的指导等。项目的目标就是要高质量和低成本的、按时发布软件产品。

(3)在面临软件开发的实际问题时,讨论、分析并最终得到了有效的解决方案的同时,软件开发人员获益匪浅。如果没有TSP的准确指导,将耗费软件工程师大量的时间来规划实际工作、不断救火等。

CMM中可重复级与已定义级的差异与联系

差异:注意力逐渐从技术问题转向组织体系和管理问题。

可重复级的焦点主要集中在项目过程自身的改进,以便实现受过培训、规范的软件过程,并将在某个项目的成功经验,纳入已文档化的过程,应用到其他项目中去。

已定义级的焦点开始集中在组织上,完成组织过程定义,不仅包括项目计划和实施过程的定义,而且还包括组织管理的过程、培训以及团队协作等的定义。

联系:可重复级是已定义级的基础,因为在处理已定义级上的技术和组织体系问题之前,关注焦点必须放在项目管理过程、改进其过程的行为上。在实现可重复级的过程中,通过将项目管理过程编制成文档,文档化和规范化从而为组织层次上一致性的过程打下了基础,已定义级建立在项目管理的基础之上,建立合适的过程管理方针,在培训和软件质量保证工作的帮助下,对整个软件过程加以定义、集成和文档化,能在全组织范围内使这些过程规范化。

需求变更控制流程

需求变更的时候,要提出变更申请,还要由CCB对提出的申请进行评估,评估之后要做出通过与否的决定。如果CCB确认了提交的变更请求,则将指派某个人对原来的需求进行修改,并对其进行验证,最终才实现该需求的变更

知识传递的有效方法

在组织过程管理中加强人的工作,包括团队文化的建设、员工的教育和培训等。

需求文档、产品规格说明书、设计的技术文档、测试计划和用例等的评审、复审在评审前,不同的团队主动地进行充分讨论和交流。在实际工作中,常常有计划、有意识地安排专门的知识传递活动。

使用统一的语言来描述领域知识、设计模型和程序实现。在引入原型开发方法、迭代开发过程模式后,软件团队人员可以通过软件产品的开发演进的过程不断吸收领域知识,进行知识转换和传递。

还有建立良好的反馈机制、文档管理系统、知识库和论坛等。

软件过程评估目标

评估的最基本目标是为过程改进提供支持,具体目标如下:

(1)基于过程改进目标,确定适当的评估方式和评估范围。

(2)能采用正确的评估模型和方法,被评估的过程剪裁得当,降低评估成本和对正常工作的影响。

(3)能充分和各个层面、各个方面的人员沟通,获得全面的、第一手数据,确保可靠的、准确的评估结果。

(4)评估的结果被应用于过程改进、或有助于第三方组织对本组织的认可。

软件产品工程从传统产业获得的启示

(1)每一个构件的接口统一,事先有明确定义。

(2)产品集成的过程是循序渐进的过程管理。

(3)分工明确。

(4)每一个环节都得到严格的质量控制。

论述【结合实际项目经验】

软件过程的作用

软件过程概念。

有效的软件过程可以提高组织的生产能力:

■理解软件开发的基本原则,可以帮我们做出明智的决定;

■可以标准化你的工作,提高软件的可重用性和Team间的协作;

■我们所采用的这种机制本身是不断提高的,我们可以跟上潮流,使自己不断接收新的、最好的软件开发经验;

有效的软件过程可以改善我们对软件的维护:

■有效地定义如何管理需求变更,在未来的版本中恰当分配变更部分,使之平滑过渡;

■首先在具体操作和相关支持中定义如何平滑地改造软件,并且这种具体操作和支持是可实施的;不可实施的软件过程将很快被束之高阁;

敏捷开发【大型项目】、MSF【优缺点】、软件过程

敏捷开发【大型项目】

敏捷过程模型弱化针对未来需求的设计而注重当前系统的简化,依赖重构来适应需求的变化;而且从用例开始,强调与用户的实时沟通、用户的参与,树立测试驱动开发理念、增强测试实施的力度,建立一个拥抱需求变化、灵活的软件过程。

极限编程(XP)强调适应需求的不断变化、沟通、简化设计、迅速反馈等特点,适合规模小、进度紧、需求变化大、质量要求严的项目。

不适合下列情况。

(1)中大型的项目。

(2)重构会导致大量开销的应用。

(3)需要很长的编译或者测试周期的系统。

(4)不容易进行测试的应用。

(5)团队人员异地分布的项目。

1.敏捷建模的原则

(1)主张简单、轻装前进。

(2)拥抱变化,这种变化是不断递增的。

(3)可持续性。

(4)项目投资产生最大的效益或回报。

(5)有目的地建模。

(6)多种模型。

(7)高质量地工作、快速反馈。

(8)软件是项目的主要目标,文档是次要的。

2.极限编程

极限编程XP是敏捷方法的代表,强调软件发布版本小、周期短、速度快,其核心是迭代。在XP中,强调需求来自用户案例。将详细设计直接融人编程之中。

3.测试驱动开发:在编码开始之前将测试用例/脚本写好。

  1. 敏捷过程最佳实践的层次结构

编程:简单设计、测试、重构、编码标准

团队实践:代码集体所有权、持续集成、隐喻、编码标准、每周40小时工作制、结对编程、小型发布

过程:现场客户、测试、计划博弈、小型发布

XP不需要事先进行详细的架构设计,而是依据可参照和比较的类和设计模式,通过系统隐喻来描述系统如何运作、以何种方式将新的功能加人到系统中去,在迭代周期中不断的细化架构。但对于大型系统,系统架构设计是至关重要的,从这一点也可以看出,XP只适合中小型的系统。

任何大系统、大组织都是由小系统、小团队组成的,所以应该也可以把敏捷方法运用到大项目的子系统、子模块的开发中。

MSF【优缺点】

微软的解决方案框架是一种成熟的、系统的软件项目规划、构建和部署的指导体系,以产品愿景为导向,强调里程碑的设置和管理,工作重点放在项目的风险管理、程序管理和团队成员职责上。通过一步一步地达到预先设定的目标,从而使整个软件过程变得可控。同时及时的发现项目中潜在的危险,便于风险的管理。它把软件过程分为几个阶段以后,可以针对某一阶段中存在的问题进行定位、分析和解决

MSF 过程模型把瀑布模型基于里程碑规划的优势与螺旋模型不断增加的、迭代的项目交付内容的长处融合在一起,将软件开发的周期分为5个阶段-预想、计划、开发、稳定和部署,并形成不断螺旋式上升的规划、开发和部署的软件过程。

MSF团队模型中有6种基本角色:程序管理、开发、测试、发布管理、用户体验、产品经理。MSF团队模型的核心是技术项目必须符合各种利益相关人的需求。

MSF过程模型的特点

(1)目标驱动而非任务驱动。

(2)外部可见的里程碑。

(3)应提交项的变更管理。

(4)递进的版本发布策略。

(5)风险驱动的进度管理。

(6)项目组集体参与管理产品质量。

代码复审-程序员定期向其他人讲解自己源程序的活动。采用统一的版本管理服务器管理项目源程序,每个人的程序必须经另外一个程序员检查后才能登记。坚持每日构建软件包、实现持续集成。

微软的解决方案框架具有不支持很多其他开发平台的特性,有自己的软件开发过程元模型,而不是使用软件开发的行业标准。

软件过程

软件过程的自定义体系在软件过程剪裁之前,要做出软件过程模式的选择。基于某个特定的软件过程模式,不仅要进行过程剪裁,而且要做出调整,和另一种模式进行组合,吸收各自的优点,形成一个适合自身组织特点的过程模式和过程规范。

过程选择的原则

(1)任何过程的成熟度都应该以最终交付产品/服务的质量和投入产出比为最高评判标准。

(2)根据自己的特色来选择软件过程。

(3)选用一个现成的软件过程,而不是自己开发。

(4)以往合适的过程未必就适合现在的情况。

(5)不要花费大量的时间来编写描述过程的文档。

【软件过程管理】课程知识点梳理及习题相关推荐

  1. 【人机交互】课程知识点梳理及习题

    目录 1 人机交互绪论 2 感知和认知基础 3 人机交互设备 4 交互技术 5 界面设计 6 人机交互界面表示模型与实现 7 Web界面设计 1 人机交互绪论 1.人机交互:关于设计.评价和实现供人们 ...

  2. 《Linux系统管理与应用》课程知识点整理+书后习题全文解答(Linux知识点大纲)

    目录 第一章:Linux操作系统概述 知识点整理部分 课后习题与参考答案 第二章:Linux系统的环境搭建 知识点整理部分 课后习题与参考答案 第三章:Linux操作基础 知识点整理部分 课后习题与参 ...

  3. 计算机安全课程知识点总结(目标:成为系统安全架构师)

    简单介绍一下,这是中科大2020年春季信息学院<计算机安全>课程的课程知识点总结.授课教师:程绍银.部分图片来源于ppt. 掌握要求:掌握>知道>了解 目录 第一部分:介绍 绪 ...

  4. ap计算机科学课程内容,AP计算机科学课程补习有哪些知识点梳理?

    计算机作为当前最被看好的一大专业领域,很多同学们在AP课程学习期间会选修AP计算机科学课程补习这门课来帮助自己打好知识基础.那么AP计算机科学课程补习有哪些知识点梳理?今天学通国际教育老师为大家介绍. ...

  5. 【数据库E-R图知识点和相关习题(复试真题)】

    文章目录 数据库E-R图知识点和相关习题 E-R图的前置知识 习题 工厂物资管理系统(例题) 防疫管理系统(2021) 社区隔离人员管理系统(2020A) 在线教学管理系统(2020B) 餐厅管理系统 ...

  6. SQL重要知识点梳理!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚 ...

  7. 【数据分析】数据分析基础:SQL重要知识点梳理!

    作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚,数据库都忘的差不多了,与其临时抱佛脚,不如我们把MySQL的知识点梳理一遍,心中有知识点,面试不慌. 数据库的话我只对MySQ ...

  8. 嵌入式全栈工程师_我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)...

    不好意思久等了 这篇文章让小伙伴们久等了. 一年多以来,关于嵌入式开发学习路线.规划.看什么书等问题,被问得没有一百,也有大几十次了.但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思 ...

  9. 网络安全基础课程知识点(1)

    网络安全基础课程知识点(1) 一.OIS七层模型图 1.应用层 通过人机交互来实现各种服务,用户接口,应用程序(文件传输,电子邮件,文件服务,虚拟终端). 所需设备:网关. 由抽象语言→ 编码 2.表 ...

最新文章

  1. .net framework 注册到IIS上
  2. excel 运算符在php里不起作用,目标单元格引用无效是什么意思
  3. PyQt5之QColor学习
  4. 嵌入式linux 分区挂载,嵌入式linux系统的开发——文件系统的分区和挂载
  5. 使用Apache Camel发布/订阅模式
  6. 黑苹果sd卡认不出来_天生一对:新入苹果M1笔记本,DOCKCASE拓展坞弥补缺憾
  7. Python文档阅读笔记-PyAutoGUI基本使用
  8. drf版本控制 和django缓存,跨域问题,
  9. python基础 数据类型
  10. 超英文邮件50%!Flink 中文邮件列表必须有姓名
  11. cs231n学习笔记-激活函数-BN-参数优化
  12. FinalData使用方法
  13. 第三章 平稳时间序列模型
  14. 酒店服务机器人或被用于长期偷窥旅客
  15. java中怎么读取txt文件_Java读取TXT文件
  16. 华为交换机重置Console口密码
  17. 利用python绘制科赫雪花
  18. 利用css修改图标颜色
  19. 我们到底能从《别逗了,费曼先生》中学到什么?
  20. ATUO CAD 如何延伸线段?

热门文章

  1. Open-set Adversarial Defense with Clean-Adversarial Mutual Learning
  2. 关于偶的专业-信息工程
  3. nacos整合springmvc:解决使用@Value或@NacosValue无法从nacos配置中心动态获取最新配置数据问题
  4. 辽宁计算机考研学校二本,二本院校逆袭985到底有多难?
  5. 推拿师考证需要什么条件
  6. 小米手机升级后便签内容没了如何找回
  7. Java实现上传图片到阿里云对象存储OSS
  8. Android | 音乐播放器(版本4)
  9. Android 进阶笔记,包含常用的技术框架、博客社区、书籍等。
  10. 7.Markdown图片