软件工程复习 第一章 概述 软件定义 软件危机 软件三要素

1.1软件

1.1.1软件的概念

软件=程序(可执行部分)+文档(不可执行部分)+数据

程序:按事先设计的功能和性能需求执行的指令序列
数据:是程序能正常操纵信息的数据结构
文档:与程序开发、维护和使用有关的图文材料

1.1.2软件的特点

1.软件是开发的或者是工程化的,并不是通过制造的
2.软件是简单的拷贝
3.软件会经历多次修改
4.软件的开发环境会影响最终的产品质量
5.软件开发时间和工作量难以估计
6.软件测试非常困难
7.软件不会磨损以及老化,但会退化和废弃
8.软件需要维护,维护可能会产生新的问题
6.软件开发进度几乎没有客观衡量标准(但是并不代表没有衡量标准)

1.1.3软件的双重作用

1.软件本身是一种产品
2.软件可以作为开发其他产品的工具

1.1.4软件的分类

1.根据软件的功能:
a.系统软件
b.支撑软件
c.应用软件

2.根据软件的服务对象:
a.项目软件
b.产品软件

1.1.5其他

软件发展速度块的原因:
1.计算需求(适应新的计算环境)
2.业务需求(实现新的业务)
3.嵌入需求(扩展软件,满足系统交互)
4.架构需求(适应新的网络环境)

1.2软件危机

1.2.1软件危机的概念

在计算机软件的开发和维护过程中所遇到的一系列严重问题。
例如:1.项目超出预算 2.项目超过计划完成时间 3.软件运行效率很低 4.软件质量差 5.软件通常不符合要求 6.项目难以管理并且代码难以维护 7.软件不能交付

1.2.2软件危机的产生原因

(1)软件自身特点(客观原因):
a、软件是逻辑部件,缺乏可预见性
b、软件维护困难
c、软件越来越庞大复杂,需要分工协作
(2)软件开发方法不正确(主观原因):
a、需求分析不充分或者存在错误
b、开发的过程不规范
c、不注重文档工作,软件难以维护
d、缺少软件评测手段

1.2.2消除软件危机的途径

1.软件工程的方法
2.对计算机软件有一个正确的认识:程序!=软件
3.软件开发不是个体的任务而是团队的合作
4.推广新的方法和工具

1.3软件工程

1.3.1软件工程的定义

(1)应用系统的、规范的、可度量的方法来开发,运行和维护软件,即把工程应用到软件

1.3.2软件工程的目标

在给定的时间和预算内,按照用户的需求,开发易修改、高效、可靠、可维护、适应力强、可移动、可重用的软件。

1.3.3软件工程的三要素

方法、工具、过程
方法:是完成软件开发的各项任务的技术方法,为软件开发提供“如何做”的技术。
工具:为运用方法而提供的自动的或半自动的软件工程的支撑环境。
过程:是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤,如何将软件工程方法与软件工具相结合,合理、及时地进行软件开发。
在这里插入图片描述

1.3.4软件工程的发展过程

第一代:传统软件工程(结构化方法学六十年代末-七十年代)将软件工程纳入工程化的轨道。
第二代:对象工程(面向对象方法学八十年代中期-九十年代)面向对象的分析与设计。
第三代:过程工程(八十年代中期开始)提高软件生产率,保证软件质量的关键,“软件过程”是软件开发和维护中的管理和支持能力,形成软件过程工程。
第四代:构建工程(九十年代起)可复用构件

1.3.5软件工程的七原则

1.使用阶段性生命周期计划的管理
2.进行连续的验证
3.保证严格的产品控制
4.使用现代编程工具/工程实践
5.保持清晰的责任分配
6.保证更少但更精的开发人员
7.保持过程改进

1.3.6软件工程VS计算机科学

在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值