1 / 28
文档名称:

软件工程总结.docx

格式:docx   大小:42KB   页数:28页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程总结.docx

上传人:s0012230 2018/5/31 文件大小:42 KB

下载得到文件列表

软件工程总结.docx

文档介绍

文档介绍:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
软件危机是指:在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1993年IEEE更全面更具体的定义:“软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。”
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程的本质特性: 软件工程关注大型程序的构造;
软件工程的中心课题是控制复杂性;
软件经常变化;
开发软件的效率非常重要;
和谐地合作是开发软件的关键;
软件必须有效地支持它的用户;
软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。(*)
软件工程的基本原理:
用分阶段的生命周期计划严格管理
坚持进行阶段评审。
一大部分错误是在编码之前造成的
错误发现与改正的越晚,所需付出的代价也越高
c) 实行严格的产品控制:实****基准配置管理(变动控制)
d) 采用现代化程序设计技术
e) 结果应能清楚地审查
f) 开发小组的人员应该少而精
开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素
g) 承认不断改进软件工程实践的必要性
软件工程方法学
软件工程包括技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科
三要素:方法,工具,过程
传统方法学(生命周期方法学或结构化范型)。采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的应用。没有既面向数据又面向行为的结构化技术
面向对象方法学。把数据和行为看成是同等重要的是一种以数据为主线,把数据和对数据的操作紧密的结合起来的方法。面向对象=类+对象+继承+通信
软件工程涉及的人员分为三种角色:客户,开发者,用户
软件生命周期:由软件定义,软件开发,软件维护组成
软件定义:问题定义,可行性研究,需求分析
软件开发:总体设计,详细设计,编码和单元测试,综合测试
软件维护:一次压缩和简化了的软件定义和开发过程
适应性维护。修改软件以适应环境的变化
改正性维护。诊断和改正使用过程发现的软件错误
完善性维护。根据用户的需要改进或扩充软件使它更完善
预防性维护。修改软件,为将来的维护活动预先做准备
软件生命周期:(软件过程)是为了获得高质量软件所需要完成但我一系列任务的框架,它规定了完成各项任务的工作步骤。
瀑布模型(线性模型或传统生命周期模型)
本质是一次性通过
是文档驱动模型(瀑布模型成功的很大因素)
阶段间具有顺序性和依赖性
推迟实现的观点
质量保证的观点
适用于规模较大,需求明确,或很少变更的项目
V模型
瀑布模型的改进,强调测试活动与分析和设计之间的关联
是活动驱动模型
是把瀑布模型中一些隐含的迭代过程明确出来
使抽象等级的概念更明显
和瀑布模型一样,都是对软件开发过程过分简单理想化的抽象
对需求变化的适应性差
快速原型模型
是一个可以实际运行的模型,是最终产品的子集
保证用户的真实需求得到满足
不带反馈环
软件产品的开发基本上线性进行的
有助于需求的定义和确认,获知用户的真正需求
增量模型
短时间内向用户提交可完成不部分工作的产品
适用于人员配备不充裕,不能再软件项目期限之前实现一个完全版本的情况
有计划的管理技术风险
使问题修正易用进行
可以针对不同领域开发不同版本
可以提前开始培训,提前开拓市场
螺旋模型
基本思想:通过使用原型或其他手段降低风险
理解为在每个阶段都增加了风险分析的快速原型模型
是对瀑布模型的发展
主要适用于内部开发的大规模软件项目
是风险驱动的
进度:制定计划,风险分析,实施工程,客户评估
喷泉模型
体现了面向对象软件开发过程迭代和无缝的特性
是典型的面向对象的软件过程模型
为避免使用喷泉模型开发软件开发过程过于无序,应该把一个线性过程(快速原型模型)作为总目标
经常对开发活动进行迭代或求精
软件工程模式:是软件过程中生命周期,人员,方法,产品四大要素相关联的有机整体
Rational统一过程
RUP开发经验(最佳实践)六条:23页
静态结构:9个核心工作流,前6个为核心过程工作流,后三个为核心支持工作流
动态结构:四个阶段
初始阶段:建立用例和确定项目的范围---生命周期目标里程碑
精华阶段:建立稳定的架构---生命周期架构里程碑
构建阶段:---初始可操作性能里程碑