软件工程考点总结(一)

第一章 软件工程概述

1. 软件生命周期

软件有一个孕育,诞生,成长,成熟,衰亡的生存过程。这个过程为计算机软件的生存期。
软件生命周期分为三个阶段:

  1. 计划时期
    • 问题定义(问题是什么)
    • 可行性研究(有可行的解)
  2. 开发时期
    • 需求分析 (功能)
    • 概要设计 (如何解决问题)
    • 详细设计 (怎样实现)
    • 编码和测试阶段
  3. 运行时期
    • 主要是在运行中完成各类维护

2. 软件生存期模型

软件生存期模型是跨越整个生存期的系统开发,运作和维护所实施的全部过程、活动和任务的结构框架

(1) 瀑布模型

特点:

  • 阶段间具有顺序性和依赖性
  • 推迟实现的观点
  • 质量保证的观点
(2)(快速)原型模型

特点:

  • 快速建立一个能反映用户需求的原型系统
  • 快速原型模型不带反馈环,产品开发基本上是线性顺序进行的
(3)增量模型

特点:

  • 与瀑布模型和原型模型不同(目标在一次就把一个满足是所有需求的产品提交给用户),分批逐步向用户提交产品
  • 逐步增加产品功能可以使用户有充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户带来的冲击
(4) 螺旋模型

特点:

  • 使用原型及其他方法来尽量降低风险,在每个阶段之前都增加了风险分析过程的快速原型模型
  • 适用于内部开发的大规模软件项目中
  • 是风险驱动的(是优点也是弱点)

比较

模型优点缺点
瀑布模型文档驱动系统可能不满足需求
原型模型关注满足需求系统设计差,难于维护
增量模型及时反馈,易于维护需要开放式结构,设计差
螺旋模型风险驱动风险分析人员需要经验和训练
面向对象模型工具丰富,自动化程度高对开发人员要求较高

3. 软件危机

  • 软件超出预算,落后于进度表,不可靠
  • 在计算机软件的开发和维护过程中所遇到的一系列严重问题
(1)软件危机的表现
  1. 软件开发和维护费用急剧上升
  2. 不重视文档资料
  3. 软件产品的质量不可靠
  4. 软件产品成本高于硬件产品
  5. 供需失配
(2)软件危机的原因
  • 与软件本身的特点有关
  • 与软件开发和维护的方法不正确
    1. 忽视软件开发前期的需求分析
    2. 开发过程中没有统一、规范方法的指导
    3. 文档资料不全
    4. 忽视人与人的交流
    5. 忽视测试工作,提交给用户的软件质量差
    6. 忽视软件的维护

4. 软件工程的概念

基本思想是在软件开发过程中应用工程化原则,解决软件的整体质量低,最后期限和费用没有保证等问题

第二章 可行性研究

1. 可行性研究的任务

了解客户的要求及现实环境,论证软件项目的可行性,编写可行性研究报告,指定初步项目开发计划

  • 技术可行性
    研究内容:
    对待开发项目的功能,性能和限制条件进行分析,确定在现有的资源条件下,项目能否实现,开发风险有多大
    考虑的问题:
    1. 开发风险
    2. 资源可用性
    3. 技术
  • 经济可行性
    研究内容:
    对项目的开发成本和预期收益进行评估,确定该项目是否值得去投资开发
    研究范围
    1. 成本–效益分析
    2. 公司长期的经营策略
    3. 开发所需要的成本和资源
    4. 潜在的市场前景
      考虑的问题:
    5. 开发成本的估算
    6. 开发效益的估算
    7. 运行成本的估算
    8. 运行效益的估算
  • 社会可行性
    研究内容:
    1. 开发项目是否存在违反法律
    2. 开发项目在用户组织内是否行得通
    3. 现有的管理体制,人员素养和操作方式是否可行
      同时可分为
  1. 操作可行性
  2. 法律可行性

2. 成本/效益分析

从经济指标对新系统的投资/获益情况进行评估,以便从经济角度判断该系统是否值得投资。

  1. 货币的时间价值
    采用利率的形式表示货币的时间价值
    货币的时间价值
  • i 为年利率
  • p 表示为存入的钱
  • n 表示年份
  1. 投资回收期
    积累的经济效益==最初投资所需要的时间
  2. 纯收入
    在整个软件的生存期内系统的累计经济效益与投资的差

3. 系统流程图举例

系统流程图

4. 例题:

例题

5. 数据字典

关于数据流程图中出现的所有名字(数据流,处理,数据存储)的定义的集合
组成:

  1. 数据流条目
  2. 数据存储条目
  3. 处理条目
    用途:
  • 作为分析阶段的工具,与数据流图共同来完整的描述一个系统。(数据流图只是描述了系统的逻辑模型,但是没有给出数据及各个加工处理过程的具体含义,数据字典相当于是有益的补充)
  • 开发数据库的基础

组成:
名字,别名,描述,定义,位置

6. 数据流图考题

数据流图基本框架:
在这里插入图片描述

例题:
在这里插入图片描述

1. 顶层

在这里插入图片描述

2. 中间层

在这里插入图片描述

3. 底层

在这里插入图片描述

7. 数据字典考题

在这里插入图片描述
写出这个发票的数据流条目:
在这里插入图片描述

在这里插入图片描述

第三章 需求分析

1. 用户需求分类

  1. 功能性需求:定义了系统做什么
  2. 非功能性需求:定义了系统工作时的特性

2. 用户需求的内容

在这里插入图片描述

3. 教学ER图

教学ER图

4. 加工条目

加工类条目及数据处理描述(或称为小说明),描述实现加工的策略而不是加工的细节。
注意:
小说明:可认为是DD的组成部分,也可以在DD中定义只说明每个加工的组成(比如每个处理分解成多少个处理),而在小说明中详细描述它的处理逻辑。
对于基本处理过程给出加工逻辑,也包括一些与加工有关的信息,如执行条件,优先级,出错处理等
加工逻辑描述工具(重点)

  1. 结构化语言
    介于自然语言和形式语言之间
    特点:
    无确定语法,可分层,嵌套,各层有内外层之分等特点
  2. 判定表描述
  3. 判定输描述

例题:
在这里插入图片描述
在这里插入图片描述

5. IPO 图

IPO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值