【软件工程】第一章

目录

 

什么是软件

软件的特点

软件的分类

软件工程过程

软件的生存期

软件分析

软件设计

软件测试

生命周期模型

软件工程的定义

软件工程三要素

软件工程的基本目标

软件工程的原理


什么是软件

1、软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据以及其相关文档的完整集合

2、按事先设计的功能和性能要求执行的指令序列

3、数据是使程序能正常操纵信息的数据结构


软件的特点

1是一种逻辑实体,不是具体的物理实体,所以具有抽象性

2在运行和使用过程中,没有硬件那样的机械磨损和老化问题

3一般情况下会受到计算机系统的限制,有着不同程度的依赖性


软件的分类

系统软件

  • 操作系统
  • 通信处理程序
  • 设备驱动程序
  • 数据库管理系统

服务对象

  • 项目软件
    • 只接受某个客户的委托,开发机构在合同的约束下开发软件
  • 产品软件
    • 开发完一个产品直接推向市场,为众多的用户使用的软件

使用频度

  • 一次
    • 针对某一个问题
  • 频繁
    • 形成一个产品

失效影响

  • 高可靠性
    • 重要部门
  • 一般可靠性
    • 项目软件

软件工程过程

规格说明P(plan): 根据用户的需求按照计算机的术语描述出来

软件开发D(do): 设计、调试

软件确认C(check): 用户使用

软件演进A(advancement):维护

特点:易理解性、可见性、可支持性、可接受性、可靠性、健壮性、可维护性、速度


软件的生存期

特别注意:这个软件被废弃不是说不能用了,而是说它被新的软件所代替了


软件分析

可行性分析

需求分析

软件需求说明书


软件设计

  1. 概要设计——把各项需求转换成软件的体系结构
  2. 详细设计——某块与某块之间的数据结构

软件测试

  • 单元测试
    • 查找各模块在功能和结构上存在的问题并加以纠正
  • 组装测试
    • 将已测试过的模块按一定顺序组装起来

生命周期模型

<瀑布型>

image.png

1、思想

从制作时间上按工序把问题化简,将功能实现与制作分开便于分工协作

2、优点

奠定了软件工程方法的基础

流水依赖,便于分工协作

推迟物理实现,易于修改文档,有复审质量保证

3、不足

与用户见面晚,成功率低,一般为25%

4、适用范围

适用与系统要求明确的系统和各种应用软件的开发均可使用

<快速原型模型>(Rapid Prototyping Model)

image.png

<渐增模型>(Incremental Model)

1、思想

允许从部分需求出发,先建立一个不全面的系统通过测试这个系统,进一步使系统扩充和完善

2、优点

问题可以很好的并且立即修改,很好的满足用户的需求

3、使用范围

适用与那些知识型软件系统的开发

4、特点

从整体结构上不如瀑布型清晰,软件的文档也不如瀑布型划分严格

周期长,成本高,与用户见面快,开发效率高

image.png

<螺旋模型>

四部分组成:制定计划、风险分析、实施工程、客户评估

image.png

<喷泉模型>

image.png


软件工程的定义

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

IEEE:软件工程是开发、运行、维护和修复软件的系统方法


软件工程三要素

方法、工具、过程


软件工程的基本目标

较低的开发成本、达到要求的软件功能、取得较好的软件性能、开发的软件易于移植

需要较低的维护费用、可以按时完成开发工作,及时交付使用


软件工程的原理

分解、独立性、一致性、确定性

猜你喜欢

转载自blog.csdn.net/weixin_45490023/article/details/115029994