计算机基础 | 软件开发的阶段
|
|
|
|
|---|---|---|
|
需求分析阶段 |
需求获取,需求分析,编写需求规格说明书,需求评审 |
DFD图(数据流图)、数据字典(DD) |
|
概念设计阶段 |
抽象出实体及其关系 |
E-R图(实体-联系图) |
|
逻辑设计阶段 |
将E-R图转换为具体的数据模型(如关系模型) 注:实体与朕系可以表示成关系,关系可以表示成二维表 |
关系模式转换规则 |
|
物理设计阶段 |
设计数据库的存储结构、索引等 |
物理存储结构设计 |
2. 图形化工具详解
(1)DFD图(Data Flow Diagram,数据流图)
- 用途:用于需求分析阶段,描述系统的数据流动和处理过程。
- 组成元素:
-
外部实体(矩形) -
数据流(箭头线) -
加工/处理(圆角矩形或圆形) -
数据存储(开口矩形或双横线) - 特点:不关心内部实现细节,只关注数据如何流动。
示例:银行转账系统中,“客户”→“输入金额”→“系统处理”→“账户更新”
-
数据字典( DD )是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据字典( DD )所定义的对象都包含于数据流图 (DFD 图)中。
(2)E-R图(Entity-Relationship Diagram,实体-联系图)
- 用途:描述现实世界中的实体、属性及它们之间的联系。
- 基本符号:
-
实体:矩形 -
属性:椭圆 -
联系:菱形 -
连接线:表示实体与联系的关系 - 联系类型:
-
1:1(一对一) -
1:n(一对多) -
m:n(多对多) -
总结:实体用矩形,属性用椭圆,联系用菱形
(3)程序流程图(Program Flowchart)
(此图也很经典)-
用途:描述算法执行流程,常用于详细设计阶段。
- 常用符号:
-
开始/结束:椭圆 -
处理步骤:矩形 -
判断条件:菱形 -
流程线(控制流):箭头 - 优点:直观易懂;缺点:容易出现“随意跳转”,不利于结构化编程。
注意:虽然它能表达逻辑,但已逐渐被更规范的工具取代。(例如下面两种)
(4)N-S图( Nassi-Shneiderman 图)
- 用途:结构化程序设计的图形表示方法。
-
注:结构化程序设计方法的主要原则:自顶向下,逐步求精,模块化,限制(而非禁止)使 goto 语句。
-
注;结构化程序设计强调“清晰第一,效率第二,清晰的含义是程序易读性好。
- 特点:
-
使用嵌套矩形框表示程序结构 -
不允许任意跳转 -
支持顺序、选择、循环三种基本结构(GOTO不是一种基本结构) - 应用场景:详细设计阶段
(5)PAD图(Problem Analysis Diagram,问题分析图)
- 用途:也是一种结构化设计工具,用于详细设计阶段。
- 特点:
-
采用树状结构表示程序逻辑 -
每个节点代表一个操作或条件 -
可以自动转化为代码 - 优势:比传统流程图更清晰,支持自顶向下设计。
区别于流程图:PAD图是二维结构图,而普通流程图是有向图
|
|
|
|
|---|---|---|
|
1. 需求分析 |
分析用户需求 |
DFD图、数据字典 |
|
2. 概念设计 |
构建E-R模型 |
E-R图 |
|
3. 逻辑设计 |
将E-R图转为关系模式 |
关系模型 |
|
4. 物理设计 |
设计表结构、索引等 |
SQL语句、存储结构 |
|
|
|
|
|
|---|---|---|---|
|
DFD图 |
描述数据流动 |
需求分析 |
数据流、加工、外部实体 |
|
E-R图 |
描述实体与联系 |
概念设计 |
实体(矩形)、属性(椭圆)、联系(菱形) |
|
程序流程图 |
描述程序逻辑 |
详细设计 |
菱形判断、矩形处理 |
|
N-S图 |
结构化程序设计 |
详细设计 |
嵌套矩形,无GOTO |
|
PAD图 |
问题分析与设计 |
详细设计 |
树状结构,支持自顶向下 |
-
系统总体结构图(框架图)支持软件系统的需求分析阶段 -
软件需求规格说明书(Software Requirement Specification,SRS)是需求分析阶段的最终成果,是软件开发中的重要文档之一。软件需求规格说明书的作用包括:①便于用户、开发人员进行理解和交流。②反映出用户问题的结构,可以作为软件开发工作的基础和依据。③作为确认测试和验收的依据。
-
需求分析阶段的核心是梳理用户需求,明确软件需要实现的功能、非功能要求等。
夜雨聆风
