【软件工程】第三章

简介: 【软件工程】第三章

软件需求分析的任务

1、深入描述软件的功能和性能

2、确定软件设计的约束和软件同其他系统元素的接口细节

3、定义软件的其他有效性需求


常用的分析方法


软件需求分析的原则

从现实中分离功能,即描述要“做什么”而不是“怎么实现”

1、需要能够表达和理解问题的信息域和功能域

2、要能以层次化的方式对问题进行分解和不断细化

分解方法:横向分解、纵向分解


需求分析的步骤

结构化分析方法(SA)就是面向数据流自顶向下逐步求精进行需求分析的方法


数据流图(DFD)

数据流图是什么

是描述数据处理过程的工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能

特征是什么

抽象性、概括性、层次性

面向数据流需求分析方法

结构化分析方法,使用数据流图DFD与数据字典DD来描述

(面向数据流问题的需求分析适合于数据处理类型软件的需求描述)

优缺点

1、总体概念强,每一层都明确强调“干什么”,“需要做什么”,“给出什么”

2、可以反映出数据的流向和处理过程

3、由于自顶向下分析,容易及早发现系统各部分的逻辑错误,也容易纠正

4、容易与计算机处理相对照

5、不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到

6、如果没有计算机系统帮助的话,人工绘制太麻烦,工作量较大

数据流图中的主要图形元素

分层数据流图(一般划分3层)

实例说明

计算机教材销售系统

检查和修改数据流图的原则

数据流图上所有图形符号只限于前述四种基本图形元素

数据流图的主图必须包括前述四种基本元素,缺一不可

每个加工至少有一个输入数据流和一个输出数据流

在数据流图中,需要按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系

规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致

用于写加工逻辑说明的工具

结构化英语

判定表

判定树

软件原型分类

探索型、实验型、进化型


常用的动态分析方法

状态迁移图:描述系统的状态,(“〇”)表示可得到的系统状态,(“→”)表示从一种状态向另一种状态的迁移

优点

状态之间的关系能够直观地捕捉到

由于状态迁移图的单纯性,能够机械地分析许多情况,可以很容易地建立分析工具

时序图

Petri图:简称PNG,位置(“〇”)、转移(“?”),图中的有向边表示对转移的输入,或由转移的输出


相关文章
|
11月前
|
人工智能 小程序 计算机视觉
AI不只有大模型,小模型也蕴含着大生产力
近年来,AI大模型蓬勃发展,从ChatGPT掀起全球热潮,到国内“百模大战”爆发,再到DeepSeek打破算力壁垒,AI技术不断刷新认知。然而,在大模型备受关注的同时,许多小而精的细分模型却被忽视。这些轻量级模型无需依赖强大算力,可运行于手机、手持设备等边缘终端,广泛应用于物体识别、条码扫描、人体骨骼检测等领域。例如,通过人体识别模型衍生出的运动与姿态识别能力,已在AI体育、康复训练、线上赛事等场景中展现出巨大潜力,大幅提升了相关领域的效率与应用范围。本文将带您深入了解这些高效的小模型及其实际价值。
|
存储 算法 架构师
阿里面试:PS+PO、CMS、G1、ZGC区别在哪?什么是卡表、记忆集、联合表?问懵了,尼恩来一个 图解+秒懂+史上最全的答案
阿里面试:PS+PO、CMS、G1、ZGC区别在哪?什么是卡表、记忆集、联合表?问懵了,尼恩来一个 图解+秒懂+史上最全的答案
|
机器学习/深度学习 数据挖掘
探索深度学习在生物信息学中的应用
【6月更文挑战第5天】深度学习在生物信息学中广泛应用于基因序列分析、蛋白质结构预测和疾病诊断,利用CNN、LSTM、GNN等模型提升研究准确性。最新成果包括在单细胞测序数据分析和药物发现中的应用。未来趋势将聚焦多组学数据整合、提高模型可解释性和加强跨领域合作,深度学习将持续推动生物信息学领域的发展。
|
存储 缓存 前端开发
PWA 如何实现离线功能
PWA(渐进式Web应用)通过Service Worker技术实现离线功能。Service Worker作为浏览器和网络之间的代理,可以缓存网页资源,在用户离线时提供缓存内容,确保应用正常运行。
|
云安全 负载均衡 安全
CC攻击和DDoS攻击
【8月更文挑战第17天】
1236 4
|
存储 程序员 数据处理
【软件设计师】程序猿需掌握的技能——数据流图
【软件设计师】程序猿需掌握的技能——数据流图
|
缓存 自然语言处理 JavaScript
Thinkphp6安装
Thinkphp6安装
353 0
|
存储 API 网络安全
Python 下载的 11 种姿势,一种比一种高级!
Python 下载的 11 种姿势,一种比一种高级!
428 0
文字游戏模拟器(是龙与地下城的简化版)
文字游戏模拟器(是龙与地下城的简化版)
416 0
|
自然语言处理 数据处理
【软工】数据流图
【软工】数据流图
568 0