大三下学习进度日总结01
今日总结:
代码量 | 200行 |
---|---|
博客量 | 一篇 |
所学时间 | 8小时左右 |
了解到的知识点 | 软件过程与管理概述,背单词等 |
- 软件工程是1.将系统性的、规范化的、可定量的方法应用于软件开发、运行和维护,即工程化应用到软件上2.对1中所述方法的研究
- 软件工程以关注软件质量为目标,包括过程、方法和工具三个要素。
- 过程:支持软件生命周期的所有活动
- 方法:为软件开发过程提供“如何做”的技术
- 工具:为软件开发方法提供自动的或半自动的软件支撑环境
- 本课程研究软件开发中的过程与其管理方法
- 软件产品目标的三要素:时间、质量、成本
- 软件危机:上世纪60年代以来,传统的生产方式无法满足规模日益增大的软件开发,导致大量软件项目无法按要求的时间、成本或质量完成。
- 软件过程管理的意义
-
软件工程:用工程化的思想来管理软件开发
-
软件过程管理是软件工程的方法之一
-
软件过程管理的思想:产品的质量取决于过程的质量,采用规范化的软件开发过程
-
- 软件过程是用于软件开发及维护的一系列活动、方法及实践
- 软件过程的分类
-
工程过程是软件系统、产品的定义、设计、实现以及维护的过程。
- 开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。
- 运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程。
- 维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役
-
软件的管理过程
- 项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。
- 主要关注:时间和成本
- 质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注。
- 主要关注:质量
- 风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制
- 子合同商管理过程,选择合格的子合同商并对其进行管理的过程
- 项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。
-
软件组织过程
- 业务规划过程是为组织与项目成员提供对愿景的描述以及企业文化的介绍,从而使项目成员能更有效地工作
- 定义过程是建立一个可重复使用的过程定义库,从而对其他过程等提供指导、约束和支持
- 改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程。
- 人力资源和培训过程,为项目或其他组织过程提供培训合格的人员所需的活动。
- 基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程。
-
客户—供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等5个子过程。
-
软件过程管理:借鉴传统行业的管理方法对软件开发中的过程进行管理
-
\(CMM\)是软件过程能力成熟度模型\((Capacity\,\,Maturity\,\,Model,CMM)\)的简称,\(CMM\)描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制,如何向软件工程和管理的优秀文化演变等方面的指导
- \(CMMI\)全称是\(Capability\,\,Maturity\,\,Model\,\,Integration\),即软件能力成熟度模型集成,是\(CMM\)的改进
- \(CMMI\)有阶段式和连续式两种表示方式
-
个人软件过程\((Personal\,\,Software\,\,Process,PSP)\)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程
-
\(PSP\)是一个包括软件开发表格、指南和规程的结构化框架
-
\(RUP\,\,6\)大经验
- 迭代式开发
- 管理需求
- 使用基于构件的体系结构
- 可视化建模
- 验证软件质量
- 控制软件变更
-
敏捷过程
- 敏捷:轻巧、机敏、迅捷、灵活、活力、高效...
- 敏捷开发是一种面临迅速变化的需求快速开发软件的方法
- 敏捷过程很容易适应变化并迅速做出自我调整,在保证质量的前提下,做到文档、度量适度
- 适用于各类软件企业
-
极限编程:极限编程\((XP)\)是一种全新而快捷的软件开发方法。\((XP)\)团队使用现场客户、特殊计划方法和持续测试来提供快速的反馈和全面的交流。这可以帮助团队最大化地发挥他们的价值。