软件过程与管理
一、概论
1. 软件工程的三要素。
过程、方法、工具
- 软件过程的定义。
软件过程是用于软件开发及维护的一系列活动、方法及实践
3. 常见的软件过程分类。常见的软件过程。
二、软件质量管理
1. 软件质量的定义。
2.ISO/IEC 9126的结构、ISO/IEC 9126:2001十个一级质量特性、一级特性对应的二级特性(理解)。
3. 朱兰质量管理三部曲。
三、软件项目管理
1. 基本概念:项目;项目管理;项目管理的五大过程组;项目管理的十大知识领域。
2.可行性分析:净现值的优点。
- 识别软件项目的活动:WBS:Work Breakdown Structure工作分解结构。
- 软件工作量估计方法:常见的软件工作量估计方法,记住名称,并理解每个方法。IFPUG功能点方法中信息系统的五大类功能(五种不同类型的构件或功能)?
- 软件项目的进度安排:甘特图、关键路径法、关键链法、PERT技术。(关键路径法必须全面理解掌握,只需要掌握活动节点,活动箭头不需掌握;后两种方法掌握计算步骤)
(1) http://www.doc88.com/p-5763050345476.html
(2) https://wenku.baidu.com/view/6368fe9e51e79b8968022620.html
(3) http://www.cnitpm.com/pm/5933.html
- 软件项目的资源管理:资源定义,资源分配直方图。
资源定义是指在软件项目中确定所需资源的过程。
6. 软件项目的风险管理:风险的定义,风险管理的框架,风险处理的方法。
7. 软件项目的监督和控制:挣值分析。
(1) https://wenku.baidu.com/view/7bcf90280066f5335a81211b.html
(2) https://blog.csdn.net/pmpljp/article/details/19299077
8.软件项目的配置管理:配置管理的任务,配置项。
四、经典的软件过程管理
1. CMM/CMMI :CMM软件过程能力成熟度模型(Capacity Maturity Model)
(1) CMM:出发点,体系结构,关键过程域,关键实践活动。
出发点:认为软件产品质量很大程度上取决于软件开发和维护过程的质量
关键过程域:Key Process Area
(2) CMMI与CMM的区别和联系,CMMI的两种表示方法。
表示方法:阶段式表示法,连续式表示法
- PSP:旨在提供一种由能力成熟度模型(CMM)描述的支持过程改进组织进程的个人规范。
结构,两种日志,评审比测试有效的原因,四个设计模板。
巧记:度计质管循
日志:时间日志,缺陷日志
评审比测试有效的原因:更早地发现错误,成本效益,预防为主,团队协作,持续改进
四个设计模板:
- 软件过程模型:瀑布、原型、增量、螺旋、形式化、组件的优缺点。
瀑布模型:
优点:结构清晰,阶段分明,便于管理和控制;每个阶段都有明确的交付物,易于跟踪和验证。
缺点:缺乏灵活性,一旦进入下一阶段就很难返回上一步;需求变更代价高昂;用户直到项目末期才能看到成品,风险较高。
原型模型:
优点:开发周期短,可以快速向用户提供原型进行反馈;特别适合需求不明确或需要快速迭代的项目。
缺点:可能忽视系统的整体设计和长期维护;在产品性能和质量方面可能存在不足。
增量模型:
优点:允许逐步增加功能模块,可以分步实施和测试;能够在较短时间内发布部分可用的产品。
缺点:若初期架构设计不够完善,后期整合可能会遇到困难;随着增量的增加,系统复杂度和维护成本可能上升。
螺旋模型:
优点:结合了瀑布模型的严格性和原型模型的灵活性;强调风险分析,适合复杂大型项目。
缺点:管理复杂,成本高;每次迭代都需要充分的风险评估和规划。
形式化模型:
优点:通过严格的数学方法和逻辑推理来确保软件的正确性;适用于对安全性和正确性要求极高的系统。
缺点:开发成本高,耗时长;需要专业的知识和技能。
组件模型:
优点:利用现成的组件进行开发,提高开发效率;便于维护和升级。
缺点:依赖于第三方组件的质量和兼容性;可能会受限于现有组件的功能。
- MSF:微软解决方案框架(Microsoft Solution Framework)
六个角色;
过程模型中的五个阶段:构思->计划->开发->稳定->部署
:巧记:构计开稳部
- RUP:统一软件(开发)过程 Rational Unified Process
九个软件过程:6核心+3辅助:商业建模,需求,分析和设计,实现,测试,部署;配置和变更管理,项目管理,环境
四个阶段:初始->细化->构造->交付
六大经验:迭代式开发,管理需求,基于组件的体系结构,可视化建模,验证软件质量,控制软件变更。
五、敏捷软件开发
1. 敏捷宣言。
价值观:个体和互动高于流程和工具;可工作的软件高于详尽的文档;客户合作高于合同谈判;响应变化高于遵循计划。
原则:包括通过早期和持续的软件交付来提升客户满意度,欢迎变更请求,提供工作软件优于综合文档等。
2. 常见的敏捷软件过程,SCRUM和极限编程。
常见的敏捷软件过程:
Scrum:一种用于管理产品开发或工作的高度迭代式敏捷框架。它定义了一系列固定长度的工作周期(通常是两周到一个月),在每个周期结束时产出可交付的产品增量。Scrum强调团队的自我组织和每日站会沟通。
极限编程(XP):一个更注重技术实践的轻量级开发方法,它特别强调技术卓越和客户反馈。XP提倡频繁的发布小版本,以确保软件能够快速适应客户需求的变化,并提高软件质量。
大题一:项目规划题:关键路径一定要带单位;总缓冲期是最晚开始时间减最早开始时间;空闲缓冲期是当前任务的后驱任务的最早开始时间(左上角)减去当前任务的最早结束时间(右上角);干预缓冲期=总缓冲期-空闲缓冲期
大题二:挣值分析题:一定要带单位,约数要保留小数点后两位;一定要写具体公式:
标签:std,CMM,复习,模型,期末,质量,软件,过程,缓冲期 From: https://www.cnblogs.com/xlm926/p/18218928