乐于分享
好东西不私藏

计算机基础 | 软件开发的阶段

计算机基础 | 软件开发的阶段

1. 软件开发过程中的阶段划分
阶段
主要任务
常用工具

需求分析阶段

需求获取,需求分析,编写需求规格说明书,需求评审

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图是二维结构图,而普通流程图是有向图

3. 数据库设计流程总结
步骤
内容
工具

1. 需求分析

分析用户需求

DFD图、数据字典

2. 概念设计

构建E-R模型

E-R图

3. 逻辑设计

将E-R图转为关系模式

关系模型

4. 物理设计

设计表结构、索引等

SQL语句、存储结构

4. 各类图的区别对比表
图形
用途
所属阶段
核心特征

DFD图

描述数据流动

需求分析

数据流、加工、外部实体

E-R图

描述实体与联系

概念设计

实体(矩形)、属性(椭圆)、联系(菱形)

程序流程图

描述程序逻辑

详细设计

菱形判断、矩形处理

N-S图

结构化程序设计

详细设计

嵌套矩形,无GOTO

PAD图

问题分析与设计

详细设计

树状结构,支持自顶向下

  • 系统总体结构图(框架图)支持软件系统的需求分析阶段
  • 软件需求规格说明书(Software Requirement Specification,SRS)是需求分析阶段的最终成果,是软件开发中的重要文档之一。软件需求规格说明书的作用包括:①便于用户、开发人员进行理解和交流。②反映出用户问题的结构,可以作为软件开发工作的基础和依据。③作为确认测试和验收的依据

  • 需求分析阶段的核心是梳理用户需求,明确软件需要实现的功能、非功能要求等。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 计算机基础 | 软件开发的阶段

评论 抢沙发

8 + 9 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮