2020 软件工程复习 -概述、软件过程、问题定义

2020 软件工程 -概述、软件过程、问题定义

1.软件的定义
软件=程序+数据+文档
程序是按事先设计的功能和性能要求执行的指令序列。(程序=算法+数据结构)
数据是指程序初始化数据、测试数据、以及研发数据、维护数据等。
文档是与程序开发、维护和使用有关的图文材料。
2.软件的特点
软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
软件是被开发或设计的,而不是传统意义上的被制造。
软件不会磨损。
虽然软件产业正在向基于构件的组装前进,大多数软件仍然是定制。
3.软件的本质特性
软件具有复杂度、一致性、可变性和不可见性等固有的内在特性。
4.软件危机
指在软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:开发成本高,周期长,质量差,满足不了市场需求
产生软件危机的原因:软件本身的特点;生产管理方式;软件开发的不同阶段的变化所需修改的代价是不同的。
消除软件危机的途径:从管理和技术(方法和工具)两方面解决软件危机。
5.软件工程
软件工程是为了经济地获得能在实际机器上高效运行的可靠软件,而确立一系列工程原理(方法)。
软件工程是一项建模活动,通过抽象找到事物的重要特征而忽略非本质的细节,从不同侧面建立系统模型,有效地简化和处理复杂性。 软件工程是一项解决问题的工程活动,它不仅限于算法设计,还要通过试验、设计复用、系统评估等手段找到一个客户可接受的方案。 软件工程是一项受软件工程原理指导的活动,软件工程师需要捕捉和理解一个系统的基本原理模型,并根据评价标准提出合理的开发决策。
6.软件工程三个方面
在这里插入图片描述
第二章 软件过程、问题定义
1.软件生命周期
软件产品从考虑其概念开始到交付使用,直至最终退役为止的整个过程。
在这里插入图片描述
问题定义:弄清“要解决的问题是什么?
可行性分析:可行性研究报告
需求分析:需求规格说明书
设计:详细设计说明书
编码:Write Code、单元测试
测试:测试报告
维护:软件维护
2.软件过程模型
对软件开发全部过程的抽象;
是对软件全部开发过程中所涉及的活动(或者任务)、以及活动之间的关系的抽象;
过程、活动和任务的结构框架。
(1)传统软件过程模型
瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型
瀑布模型:生命周期的各项活动自上而下,相互衔接呈线性图状,如同瀑布流水,逐级下落,各个活动之间具有顺序性和依赖性、强调了每一阶段的严格性,强调推迟实现
在这里插入图片描述
原型模型:准确地确定用户需求

在这里插入图片描述
增量模型:先总体分析设计,开发时采用增量方式
完全的增量式分析、设计与开发,加快了形成产品的速度,但增加了不同构件不能组装一起的风险
在这里插入图片描述
在这里插入图片描述
螺旋模型:增加了风险分析过程的快速原型模型、强调版本和版本升级
在这里插入图片描述
喷泉模型:软件开发过程自下而上周期的各阶段是相互重叠和多次反复的(迭代性),就像水喷上去又可以落下来,类似一个喷泉。各个开发阶段没有特定的次序要求(无间隙性),并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏
在这里插入图片描述
(2)现代软件过程模型
基于构件的开发模型、统一过程模型、敏捷开发
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值