软件工程 专业课考研#1软件工程学概述

一 软件工程学概述

软件危机:在软件开发和维护中出现的一系列问题。

典型表现:

  • 对软件开发的进度和成本的估计常常很不准确
  • 用户对"已完成"的软件产品不满意
  • 产品质量往往达不到要求
  • 软件难维护
  • 没有适当文档
  • 软件成本在总成本所占的比例逐年上升
  • 开发生产率不能满足需求

产生软件危机的原因:

  • 客观 -缺乏可见性;规模大
  • 主观 -软件开发人员的糊涂观念;没有理解客户需求;请示软件维护

消除软件危机的途径:

  1. 对软件的正确认识(软件是数据,程序和文档的集合);
  2. 充分吸取和借鉴欠人行之有效的原理经验技术和方法;研究更有效的技术和方法

软件工程概念:指导软件开发和维护的一门工程学科。

软件工程有哪些特性:

  1. 关注大型程序的构造;
  2. 软件工程的中心课题是控制复杂性;
  3. 软件经常变化;
  4. 开发软件的效率非常重要;
  5. 开发人员和谐合作是成功关键;软件必须有效的支持其用户

软件工程的基本原理:

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

软件生命周期:

  • 软件定义:问题定义,可行性研究,需求分析
  • 软件开发:总体设计,详细设计,编码,单元测试和综合测试
  • 软件维护: 维护

各种开发模型以及其优缺点:

​ 瀑布模型:

  • 优点:强迫采用规范的技术方法;严格规定每个阶段提交文档;每个阶段结束前必须进行严格的技术审查和复审。
  • 缺点:软件产品交付前 用户只能通过文档了解产品,可能导致不符合需求

在这里插入图片描述

​ 快速原型模型:

  • 优点:通常能满足用户的真实需求;加速软件开发过程,节约软件开发成本。
  • 缺点:开发者常常需要实现的折中.

在这里插入图片描述

​ 增量模型:

  • 优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能,从而使用户有较充裕的时间学习和适应产品。
  • 缺点:软件工程师必须要有较高的技术水平;开发者和用户纠缠在一起

在这里插入图片描述

​ 螺旋模型:

  • 优点:有利于已有软件的重用;有助于把软件质量作为软件开发的一个重要目标;减少了过多或过少测试所带来的风险;软件维护和软件开发没有本质区别
  • 缺点:要求软件开发人员具有丰富的风险评估知识和经验

在这里插入图片描述

​ 喷泉模型:面向对象生命周期模型,充分体现了软件开发过程迭代和平滑过渡的特性
在这里插入图片描述

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值