《软件工程》(二)软件定义

软件生命周期(3个时期)

1.软件定义:问题定义阶段——>可行性研究阶段——>需求分析阶段

2.软件开发:总体设计阶段——>详细设计阶段——>编码和单元测试阶段——>综合测试阶段

3.运行维护:改正性维护、适应性维护、完善性维护、预防性维护

一、可行性研究

1.目的:最小代价、最短时间、确定问题是否能够解决

2.实质:压缩、简化的系统分析和设计的过程

3.包括:技术、经济、操作、法律可行性、开发方案的选择性研究

技术可行性:研发、技术、资源、工具

经济可行性:成本、效益

操作可行性:操作方式、用户

法律可行性:侵权、版权、责任

4.根本任务:对以后的行动方针提出建议

5.成本:预期总成本的5%-10%

6.过程

7.系统流程图

描绘物理系统的每个部件,包括程序、文档、数据库、人工过程等,表达了数据在各部件之间的流动情况

分层:从抽象到具体

8.成本/效益分析

一般假设生命周期为5年

开发成本+运行费用+经济效益

开发成本:主要为人力消耗

运行费用:操作费用(操作员人数、时间、消耗物资)+维护费用

效益:使用新系统增加的收入和节省的运行费用

二、需求分析

需求提取(对问题的识别)——>需求分析与协商(分析与综合)——>编写需求分析文档——>需求确认(需求分析评审)

1.需求

1.1 需求的本质:在问题空间和求解空间中间架设桥梁

1.2 分为

功能需求:系统应该做什么

非功能需求:设定约束。肺功能需求必须依附于功能需求而存在。

1.3 需求的特征

正确性、一致性、完整性、现实性、实用性、可检验性、可回溯性

1.4 需求文档

两种需求文档:需求定义和需求规约

2需求分析

状态转换图:

数据流图:

2.1 结构化分析

传统结构化分析工具:数据流图、数据词典、Warnier图、结构化英语、判定表与判定树(表示加工内部逻辑结构)、IPO图

核心:数据字典

实体关系图(ERD):数据对象之间的关系(数据建模)

数据流图(DFD):描述数据在系统中传送或变换、以及如何对数据进行变换的功能(功能建模)

状态变迁图(STD):系统对外部事件如何响应和动作(行为建模)

方法:自顶向下逐层分解

2.2 DFD数据流图

DFD是系统逻辑功能的图形表示,不包括具体实现,只是一个逻辑模型。

2.2.1

数据流图=数据的源点/终点+加工/处理+数据存储(文件)+数据流

源点和终点:系统之外的实体,帮助理解系统接口

加工/变换:对数据进行处理的单元。表达方式有结构化语言(结构化英语)、判定表、判定树。每个加工必须至少有一个输入和输出数据流

数据流:由一组数据项组成、动态。可以源点——>加工/加工——>终点,加工——>加工,加工——>数据存储/数据存储——>加工(不能从数据源点到数据存储/数据存储到终点)

数据存储/文件:暂时存储数据,静态

(数据流和数据存储支持了数据的抽象,将数据视为系统中的实体,不关注数据的具体内容)

2.2.2命名

先为数据流命名,再为与之关联的加工命名

2.2.3层次结构

1.画图

首先建立顶层数据流图(基本系统模型):只含有一个代表目标软件系统整体处理功能的转换

(外部实体——>软件系统——>外部实体)

画系统内部(系统功能性数据流图):一个加工分解成多个子加工(处理)

画处理的内部:把每个处理看作一个小系统

2.父图与子图平衡:子图与父图的输入输出流必须一致

3.分解:一个加工的分解子加工控制在7+2以内,尽量减少分解层次

2.3数据字典

2.3.1

是对数据流图中包含的所有元素定义的集合.

数据流中每个数据流和数据存储必须在字典中予以定义,简单加工可以写在数据字典里,复杂加工需要用到判定表等。

数据词典与数据流图共同构成系统的逻辑模型

2.3.2

数据元素是数据处理中的最小单位,不可再分

2.3.3

数据文件是数据结构保存的地方

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值