软件工程知识梳理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)

微软过程

相关推荐
IDRSolutions_CN8 小时前
PDF 转 HTML5 —— HTML5 填充图形不支持 Even-Odd 奇偶规则?(第二部分)
java·经验分享·pdf·软件工程·团队开发
杨过姑父12 小时前
部署开源版禅道,修改apache端口无效解决
bug·apache·软件工程·issue
张较瘦_21 小时前
[论文阅读] 人工智能+软件工程 | 结对编程中的知识转移新图景
人工智能·软件工程·结对编程
workflower1 天前
以光量子为例,详解量子获取方式
数据仓库·人工智能·软件工程·需求分析·量子计算·软件需求
碳学长2 天前
软件工程:如何在项目中把软件做好
软件工程
碳学长2 天前
软件工程:如何做好软件产品
软件工程
Scabbards_2 天前
CPT304 Software Engineering II 题型收集
软件工程
PXM的算法星球2 天前
【软件工程】可行性研究
软件工程
奇妙之二进制2 天前
低内聚高耦合的衡量指标
软件工程·架构设计
奇妙之二进制3 天前
软件功能模块归属论证方法
软件工程·架构设计