软件工程第一章——软件工程学概述

软件危机

计算机开发维护过程中的一系列问题。
在这里插入图片描述

典型表现

1.对成本和进度的估计不准确。
2.已完成的软件不符合需求。
3.质量问题。
4.软件难以维护。
5.缺乏文档。
6.软件成本上升。
7.软件开发生产率提高比不上需求的提高。

原因

1.软件本身的特点。软件本身缺乏可见性,在软件运行之前难以衡量软件质量和开发进度。
2.开发和维护方法不当。

消除

1.对计算机软件有一个完整的认识,软件=程序+数据+文档。其中程序是完成指定功能的指令序列,数据是适当处理信息的数据结构,文档是开发,使用,维护的图文资料。
2.合作,是各类人员完成的,协同配合的工程项目。
3.推广开发软件的成功技术和方法。
4.使用更好的软件开发辅助工具。
总之,既要有技术措施(方法+工具),又要有组织管理措施。

软件工程

在这里插入图片描述

定义

把规范,可独联的途径用于软件开发、运行、维护。把工程应用于软件,探索应用与软件的方法,包含技术和管理两方面。

基本原理

1.用分阶段的生命周期计划严格控制。
2.坚持进行阶段评审。
3.实行严格的产品控制。
4.采用现代化程序设计技术。
5.能清楚的审查结果。
6.开发小组人员应该少而精。
7.不断改建软件工程的实践。

软件工程方法学

软件在整个软件生命周期的过程中使用的技术方法称为软件工程方法学,也称为泛型。

三要素

工具,方法,过程

分类

传统方法学,面向对象方法学

软件生命周期(重要)

软件从提出到最终被淘汰的这个存在期。
在这里插入图片描述

软件定义

问题定义

可行性分析

需求分析

软件开发

具体设计和实现一个软件

总体设计

详细设计

编码和单元测试

综合测试

运行维护

对运行过程中出现的错误加以修正。
环境改变时修改软件以适应新环境。
有新要求时改进软件满足新要求。
维护阶段本质是压缩了的定义和开发过程。

软件过程(重要)

为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
通过生命周期模型/过程模型来描述软件过程。

瀑布模型

在这里插入图片描述
前一阶段的输出是下一阶段的输入,线性关系。
在这里插入图片描述

快速原型模型

在这里插入图片描述
第一步是快速建立满足用户主要需求的原型,用户实践后提出反馈,开发人员根据意见修改原型。是不带反馈环的(不是不带反馈),线性的。

增量模型

在这里插入图片描述
将部分或全部阶段有整体开发转化成增量开发。

增量模型与前两者的区别

前两个是一次把一个满足所有用户需求的产品提交给客户。增量模型是分批,逐步向用户提交产品,一个产品分解为多个增量构建,开发者以构件为单位向用户提交。第一个构件和每一个新构件的加入,产品都是可以测试的。

优点

并行开发多个构件。

缺点

构件集成成本高,甚至最后无法集成。

螺旋模型

每个阶段前加了风险评估的快速原型模型。
在这里插入图片描述
在这里插入图片描述

喷泉模型

在这里插入图片描述
过程迭代,无缝的特征。

Rational过程

在这里插入图片描述

敏捷编程与极限编程

在这里插入图片描述
请添加图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星辰的野望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值