软件工程知识梳理0-概述

学好软件工程就必须理解软件工程到底是干什么的,为什么需要软件工程,以及怎么干的!只有理解了软件工程的本质,才能更好的理解软件工程中各种工程手段和方法的目的。

个人开发模式 ---> 小作坊开发模式 ---> 软件工程开发模式

Why?为什么引入软件工程

What?软件工程是什么

How?软件工程具体要做什么

名词解释:

软件:计算机程序和相关文档。

软件分类:系统软件、支撑软件、应用软件。

软件危机:落后的软件生产方式无法满足快速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

软件危机表现:质量差,可靠性难以保证;成本难以控制,很少有在预算内完成;开发进度难以把握;可维护性差

软件工程:是一个工程学科,涵盖了软件生产的各个方面,从初始的构想到运行和维护。

软件过程:软件工程中所使用的系统化方法,是实现软件产品开发的活动序列。

软件过程活动:软件规格说明、软件开发、软件确认、软件演化

软件工程是生产软件的系统化的方法,它需要考虑现实成本、进度、可靠性等问题,以及软件客户和开发者的需要。所使用的特定的方法、工具和技术取决于开发软件的组织、软件的类型以及开发过程中所涉及的人。

软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。

通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。它包含3个要素:方法、工具和过程。

知识点:

  1. 1968年西德召开的国际会议上正式提出并使用"软件工程"这个术语。
  2. 软件工程7条基本原理:
  1. 用分阶段的生命周期计划严格管理

  2. 坚持进行阶段评审

  3. 实现严格的产品控制

  4. 采用用现代程序设计技术

  5. 结果应能清楚地审查

  6. 开发小组的人员应该少而精

  7. 承认不断改进软件工程实践的必要性

  8. 传统方法学

  9. 面向对象方法学

  1. 软件生命周期:由软件定义、软件开发和软件维护(或运行维护)3个时期。

  2. 软件定义:确定软件开发工程必须完成的总目标,确定工程的可行性

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

  4. 问题定义:明确要解决的问题是什么

  5. 可行性研究:

  6. 需求分析

  7. 总体设计

  8. 详细设计

  9. 编码和单元测试

  10. 综合测试

  11. 软件维护

  12. 软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。什么人(who)在什么时候(when)做什么事(what)以及怎么做(how)以实现某一个特定的具体目标。

  13. 常见软件生命周期模型:

瀑布模型

快速原型模型/演化模型/迭代模型

增量模型

螺旋模型

喷泉模型

RUP模型(Rational统一过程)

敏捷过程与极限编程(XP)

微软过程

相关推荐
rolt2 天前
长得像用例图的类图-《软件方法》8.2.3.4
软件工程·uml·面向对象
阿萨姆.3572 天前
结对编程 --- 软件工程
java·软件工程·结对编程
写代码的橘子n2 天前
软件工程笔记一
笔记·软件工程
思茂信息3 天前
CST汽车天线仿真(双向混合求解)
javascript·人工智能·5g·汽车·ar·软件工程
幸运超级加倍~3 天前
软件设计师-上午题-12、13 软件工程(11分)
笔记·软件工程
晓北斗NorSnow3 天前
在软件工程开发中,瀑布式开发和螺旋式开发的优缺点比较
软件工程
zk计科小牛马4 天前
软件工程(软考高频)
软件工程
蜗牛学苑_武汉4 天前
浏览器中的事件循环
前端·javascript·chrome·ajax·软件工程·html5
诗和远方ya6 天前
c# 值类型
开发语言·c#·软件工程·visual studio
张瑞东6 天前
系统架构设计师-未来信息综合技术(2)
系统架构·软件工程