软件工程课程笔记

第一章:软件与软件工程

软件工程三要素是方法、工具、过程。

软件开发模型

软件开发模型又称为软件过程模型。
软件过程模型是对软件开发实际过程的抽象和简化。
目前典型的有瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等。
软件工程课程笔记

  • 瀑布模型
    软件工程课程笔记
    主要思想:
    软件开发过程与软件生命周期一致;
    相领二阶段存在因果关系;
    需要对阶段性产品进行评审

优点:
软件开发过程具有系统性,可控性,客服了软件开发的随意性;
每个阶段都有产出,非常经典的模型

缺点:
项目开始阶段用户很难精确提出产品需求,由于技术进步,用户对系统深入的理解,修改需求十分普遍。每个阶段都依赖于上一阶段,不能应对客户需求变更;
项目开发晚期才能得到程序运行版本,这时修改软件需求和开发的错误代价很大;
采取线性模型组织项目开发经常发生小组成员“堵塞状态”。

  • 增量模型
    增量模型是一个非整体开发的模型。
    先开发核心模块,按照模块一个个开发。
    软件工程课程笔记
    软件工程课程笔记
  • 快速原型
    软件工程课程笔记软件工程课程笔记
  • 螺旋模型
    软件工程课程笔记
    软件工程课程笔记
  • 其他
    软件工程课程笔记

软件开发方法

软件开发方法分为两大类:
①面向过程的开发方法
②面向对象的开发方法

结构化开发方法:
现有软件开发方法中最成熟,应用最广泛的方法,特点是快速、自然和方便。
软件工程课程笔记
面向对象方法
四个要点:对象;类;父类(基类)和子类(派生类);消息
模拟人类习惯的思维方式,使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。
软件工程课程笔记
信息系统开发方法
软件工程课程笔记

第三章:需求分析基础

软件生命周期

软件工程课程笔记
需求工程
没有需求就没有软件。

软件需求的困难:

  1. 应用领域的广泛性;
  2. 非功能性需求建模技术缺乏
  3. 沟通上的困难