【软工视频总结】概况

来源:互联网 发布:淘宝用户冻结无法登陆 编辑:程序博客网 时间:2024/05/13 23:54

第一章主要是介绍了软件工程的概述,主要分为两部分,解释了什么是软件,什么是软件工程。下边分别总结一下:


软件部分

软件危机

软件危机是指开发和维护中产生的一系列问题。造成危机的其中一个主要原因就是忽视需求分析的重要性,上来就写文档。事实上越早开始写程序,完成它的时间就越长。这就需要我们明确软件的定义

软件定义


- 软件=程序+数据+文档
- 数据=初始化数据+测试数据
- 文档=开发文档+管理文档

软件的发展

程序设计——程序系统——软件工程

软件特点

  • 逻辑实体,不是物理实体,具有抽象性
  • 无明显具体制造过程
  • 无机械磨损,老化问题
  • 对计算机系统有依赖性
  • 至今尚未完全脱离手工艺开发方式
  • 软件本身是复杂的
  • 成本高
  • 软件工作设计社会因素

软件生存期

主要时期有三部分:定义、开发、运行维护

  • 定义
    • 定义问题、可行性分析、需求分析
  • 开发
    • 系统设计:概要、详细
    • 系统实现:代码编写、测试
  • 运行维护

软件过程模型

主要有:瀑布、演化、螺旋、增量、喷泉、变换等


软件工程

软工定义

这里的定义非常多

BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究

FritzBauer:在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

软工基本原理


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

原则

  1. 抽象与自顶向下,逐层分解
  2. 模块化
  3. 信息隐蔽和数据封装
  4. 局部化
  5. 一致性
  6. 完备性
  7. 可验证性

方法学

方法:
- 传统:生命周期方法学或结构化范型
- 面向对象方法学

面向对象4个要点:

1. 把对象作为融合了数据及在数据上的操作行为的统一的软件构件。面向对象是由对象组成的,程序中任何元素都是对象,复杂对象由比较简单的对象组合而成。也就是说,用对象分解取代了传统方法的功能分解。
2. 把所有对象划分成类,每个类都定义了一组数据和一组操作,类是对相同数据和相同操作的一组相类似对象的定义。数据用于表示对象的静态属性,是对象的状态信息,而施加于数据之上的操作用于实现对象的功能分解
3. 按照父类与子类的关系,把相关类组成一个层次结构的系统(类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,这种现象叫继承。
4. 对象彼此仅能能通过发送消息互相联系。对象与传统数据有本质区别,他不是被动的等待外界对他施加操作,相反,他是数据处理的主体,必须向他发消息请求他执行他的某个操作以处理他的数据,而不能从外界直接对他的数据进行处理。也就是说,对象的所有私有信息都被封装在该对象内,不能从外界直接访问。这就是通常所说的封装性

三要素:方法、工具、过程


下边是第一章的思维导图:
这里写图片描述

0 0
原创粉丝点击