admin 管理员组

文章数量: 1184232

自己复习总结完一轮软件工程后,得出结论,软件工程等于背书,所以把这个分享出来给其他的好兄弟,希望有所帮助。

 目录

第一章 软件工程概述

第二章 软件过程模型

第三章 需求分析

第四章 软件工程设计

第五章 软件生产率和工作量度量

第七章 测试技术(25)

第八章 软件测试策略

第九章 软件维护

第十章 软件项目管理

第一章 软件工程概述

软件的定义 软件=程序+数据+文档

软件的特性:软件是逻辑的,不是物理的

软件的双重作用:软件是一种产品,也是开发其他软件产品的工具

软件危机的定义:在计算机软件开发和维护过程中所遇到的一系列严重问题 特点:周期长、成本高、质量差、维护难

软件危机产生的原因:客观: 软件本身的特点(逻辑思维产物、规模庞大) 主观:不正确的开发方法(忽视需求分析;错误认为软件开发=程序编写;轻视软件维护)

软件工程的目标是在给定的时间和预算内,按照用户的需求,开发易修改、高效、可靠、可维护、适应力强、可移动、可重用的软件。

软件工程的三要素:方法、工具、过程

软件工程的七个原则:使用阶段性生命周期计划的管理

 进行连续的验证

 保证严格的产品控制

 使用现代编程工具/工程实践

 保持清晰的责任分配

 用更好更少的人

 保持过程改进

第二章 软件过程模型

软件质量是软件工程的焦点

软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。

基本软件过程:沟通、计划、建模、构造、部署 过程性质(时间性、并发性、嵌套性、质量性)

软件过程模型也常称为:软件开发模型、软件生存周期模型、软件工程范型

随着认识的深入,需求是不断变化的,需求的理解需要迭代进行,需要管理修改变更

软件工程最核心内容,设计既是“过程”,也是这个过程的“结果”

各个模型的使用场合:

瀑布模型:瀑布模型适用于系统需求明确、技术成熟、工程管理较严格的场合

快速原型模型:构建原型系统让用户试用,获取用户真实需求。

增量模型 :模块化。能在早期向用户提交部分产品和易于维护,软件的体系结构必须是开放的。

螺旋模型:支持需求不明确、特别是大型软件系统的开发,分析风险和排除风险。

传统瀑布模型特点:1.阶段间具有顺序性和依赖性 2.推迟实现的观点 3.每个阶段必须完成规定的文档每个阶段结束前完成文档审查,及早改正错误

瀑布模型的优点:1.简单,过程透明性高,过程可管理性高;2.推迟实现,软件实现前必须进行系统分析和设计工作;3.能够及时发现并纠正软件缺陷,能够达到预期质量要求 瀑布模型的缺点:1.模型灵活性差,不适合需求不明确或准确的场合;2. 模型风险控制能力弱;3.过多的文档增加了工作量,当技术具有不确定性情况下完全以文档来评估项目进度时会产生错误的结论

原型模型优点

 强调用户参与和决策,强化了用户与开发人员的沟通

 可加快需求的确定,能够处理需求的不确定性和风险

 简化了项目管理、缩短了开发时间、降低了风险和开发成本

原型模型缺点

 不适用于开发大型系统

 软件可维护性差

 用户合作要求高,如果合作不好,反而会拖延开发进度

增量模型结合了原型模型的基本要素和迭代的特征,采用了基于时间的线性序列

增量模型特点:在前面增量的基础上开发后面的增量

每个增量的开发可用瀑布或快速原型模型

迭代的思路

增量模型优点

1. 引入增量包概念,不需要提供完整的需求。只要有一个增量包出现,开发就可以进行。

2. 在项目的初始阶段不需要投入太多的人力资源。

3.增量可以有效地管理技术风险,降低系统失败风险。

4. 有利于增加客户信心,提高系统可靠性、可维护性和稳定性。

增量模型缺点

1.增量粒度难以选择:每个增量必须提供一些系统功能,这使得开发者很难根据客户需求给出大小适合的增量。

2. 确定所有的基本业务比较困难。

大型软件项目特点

 需求复杂,无法一开始明确

 开发周期长,需求经常变化

 风险因素多,风险管理要求高

螺旋模型优点

 支持用户需求的动态变化。

 易于用户和开发人员共同理解

 螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力

 螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险

螺旋模型缺点

如果迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间;

使用该模型要求开发队伍水平较高

本文标签: 软件工程 知识点 期末 总复习