软件系统详细设计

合集下载

软件详细设计说明书例

软件详细设计说明书例

软件详细设计说明书例一、引言在软件开发过程中,详细设计是连接概要设计和编码实现的重要环节。

它为软件的编码提供了具体的指导,包括模块的内部结构、算法、数据结构、接口等方面的详细描述。

本文将以一个简单的学生管理系统为例,展示一份软件详细设计说明书的范例。

二、软件概述(一)软件名称学生管理系统(二)软件功能1、学生信息管理:包括学生基本信息的录入、修改、查询和删除。

2、课程管理:课程信息的添加、修改、查询和删除。

3、成绩管理:学生成绩的录入、查询和统计分析。

三、模块设计(一)学生信息管理模块1、学生信息录入子模块输入:学生的学号、姓名、性别、出生日期、班级等信息。

处理:对输入的信息进行合法性校验,如学号的唯一性检查、出生日期的格式检查等。

将合法的信息保存到数据库中。

输出:提示信息,如“录入成功”或“录入失败,请重新输入”。

2、学生信息修改子模块输入:要修改的学生学号和修改后的信息。

处理:根据学号查询出对应的学生信息,将修改后的信息更新到数据库中。

输出:提示信息,如“修改成功”或“修改失败,请重新输入”。

3、学生信息查询子模块输入:查询条件,如学号、姓名、班级等。

处理:根据查询条件从数据库中检索出符合条件的学生信息。

输出:查询结果,以列表形式展示学生的基本信息。

4、学生信息删除子模块输入:要删除的学生学号。

处理:根据学号从数据库中删除对应的学生信息。

输出:提示信息,如“删除成功”或“删除失败,请重新输入”。

(二)课程管理模块1、课程信息添加子模块输入:课程编号、课程名称、学分、授课教师等信息。

处理:对输入的信息进行合法性校验,如课程编号的唯一性检查。

将合法的信息保存到数据库中。

输出:提示信息,如“添加成功”或“添加失败,请重新输入”。

2、课程信息修改子模块输入:要修改的课程编号和修改后的信息。

处理:根据课程编号查询出对应的课程信息,将修改后的信息更新到数据库中。

输出:提示信息,如“修改成功”或“修改失败,请重新输入”。

软件详细设计文档模板最全面-详细设计文档

软件详细设计文档模板最全面-详细设计文档

软件详细设计文档模板最全面-详细设计文档软件详细设计文档模板最全面详细设计文档一、引言在软件开发过程中,详细设计文档是将软件需求转化为可实现的技术方案的重要环节。

它为后续的编码、测试和维护提供了详细的指导和规范。

本文将为您提供一份全面的软件详细设计文档模板,帮助您更好地组织和记录软件设计的细节。

二、软件概述(一)软件名称软件名称(二)软件功能简要描述软件的主要功能和用途。

(三)运行环境1、操作系统:支持的操作系统,如 Windows、Linux 等2、数据库:使用的数据库,如 MySQL、Oracle 等3、中间件:如 Tomcat、WebLogic 等4、浏览器:支持的浏览器,如 Chrome、Firefox 等三、系统架构设计(一)总体架构描述软件的整体架构,包括前端、后端、数据库等各个模块之间的关系和交互方式。

(二)模块划分将软件划分为不同的模块,并对每个模块的功能进行简要描述。

(三)技术选型1、编程语言:如 Java、Python 等2、框架:如 Spring、Django 等3、前端框架:如 Vue、React 等四、模块详细设计(一)模块 1:模块名称1、功能描述详细描述该模块的具体功能。

2、输入输出明确模块的输入数据格式和输出数据格式。

3、算法设计如果模块涉及复杂的算法,需要对算法进行详细描述。

4、流程设计使用流程图或文字描述模块的处理流程。

5、接口设计描述该模块与其他模块之间的接口,包括接口参数、返回值等。

(二)模块 2:模块名称五、数据库设计(一)数据库选型说明选择的数据库管理系统及原因。

(二)数据库表设计1、列出所有数据库表的名称和用途。

2、对每个表的字段进行详细描述,包括字段名、数据类型、长度、是否允许为空、约束条件等。

(三)数据库关系设计描述表与表之间的关联关系,如一对一、一对多、多对多等。

(四)存储过程设计如果有存储过程,需要对其功能、输入输出参数和执行逻辑进行详细描述。

软件系统详细设计方案

软件系统详细设计方案

软件系统详细设计方案软件系统详细设计方案是在软件系统概要设计的基础上,对具体实现细节进行进一步详细的规划和设计,包括系统的模块划分、模块的功能描述、模块之间的交互设计、数据库设计、数据流程设计等。

本系统主要包括四个模块:用户管理模块、产品管理模块、订单管理模块和数据统计模块。

1. 用户管理模块:该模块实现用户的注册、登录、个人信息管理等功能。

其中,用户注册时需要输入用户名、密码、邮箱等信息,系统需要对用户输入进行合法性验证。

用户登录时需要输入用户名和密码,系统需要验证用户的登录信息,并根据权限设置用户的访问权限。

用户可以管理自己的个人信息,包括修改用户名、密码和邮箱等。

2. 产品管理模块:该模块实现对产品的增删改查功能。

管理员可以添加新的产品信息,包括产品名称、价格、库存等信息。

管理员还可以修改和删除已有的产品信息。

用户可以通过关键字搜索产品信息,并可以根据价格对产品排序。

3. 订单管理模块:该模块实现订单的生成、查看和取消功能。

用户可以将产品添加到购物车中,生成订单。

订单生成时需要用户确认订单信息,并输入收货地址等相关信息。

用户可以查看自己的订单信息,并可以取消未发货的订单。

4. 数据统计模块:该模块主要用于对系统中的数据进行统计和分析。

管理员可以查看产品的销售情况,包括某段时间内的销售量、销售额等。

管理员还可以查看用户的购买情况,包括某段时间内的用户注册量、下单量等。

数据库设计方面,可以使用关系型数据库,如MySQL。

数据库中可以定义用户表、产品表和订单表。

用户表包括用户名、密码、邮箱等字段,产品表包括产品名称、价格、库存等字段,订单表包括订单号、用户ID、产品ID、订单状态等字段。

数据流程设计方面,可以使用流程图表示系统的各模块之间的交互过程。

例如,用户登录流程包括用户输入用户名和密码、系统对用户输入进行验证、系统根据权限设置用户访问权限等步骤。

总结:本系统的详细设计方案主要包括系统模块划分、模块功能描述、模块之间的交互设计、数据库设计和数据流程设计。

软件工程第六章 详细设计

软件工程第六章 详细设计

软件工程第六章详细设计软件工程第六章详细设计6.1 概述本章节旨在对软件系统的详细设计进行介绍。

详细设计将在系统的高层设计基础上,进一步细化系统结构、模块划分以及相互关系,并定义系统中各个组件的详细功能和接口。

6.2 系统结构设计系统结构设计主要包括以下内容:- 系统总体架构:描述系统整体的结构和组成部分,包括各个模块和它们的关系。

- 模块划分:根据系统需求,将系统划分为若干个模块,并定义各个模块的职责和功能。

- 模块关系:描述各个模块之间的依赖关系和通信方式,包括模块之间的接口和数据流。

6.3 模块设计模块设计是详细设计的核心内容,主要包括以下内容:- 模块接口:定义模块的输入和输出接口,包括参数和数据格式。

- 模块内部实现:描述模块内部的算法、数据结构以及运行流程。

- 模块测试方法和策略:定义对模块进行单元测试的方法和策略。

6.3.1 模块A设计本节详细介绍模块A的设计。

- 模块接口:模块A接收来自模块B的数据输入,处理后输出结果给模块C。

- 模块内部实现:模块A内部使用算法X对输入数据进行处理,然后将结果输出给模块C。

- 模块测试方法和策略:对模块A进行单元测试时,使用测试用例集合Y进行测试。

6.3.2 模块B设计本节详细介绍模块B的设计。

- 模块接口:模块B接收来自模块D的数据输入,处理后输出结果给模块A。

- 模块内部实现:模块B内部使用算法Z对输入数据进行处理,然后将结果输出给模块A。

- 模块测试方法和策略:对模块B进行单元测试时,使用测试用例集合Z进行测试。

6.3.3 模块C设计本节详细介绍模块C的设计。

- 模块接口:模块C接收来自模块A的数据输入。

- 模块内部实现:模块C内部对输入数据进行处理,并输出结果。

6.4 数据库设计如果系统涉及数据库,本节详细介绍数据库的设计。

- 数据库结构:描述数据库的表、字段以及它们之间的关系。

- 数据库访问接口:定义系统访问数据库的接口和方法。

6.5 接口设计本节详细介绍系统与外部系统或用户的接口设计。

软件系统详细设计文档

软件系统详细设计文档

软件系统详细设计文档软件系统详细设计文档是一份用于指导软件开发人员进行编码和实施工作的文档。

它包含了系统的架构设计、模块设计、数据流设计等详细信息,是软件开发过程中必不可少的一环。

以下是一个可能的软件系统详细设计文档的结构和内容,内容的详细程度可以根据实际情况进行调整。

1.引言-文档目的:简要介绍文档的目的和重要性。

-文档范围:明确文档所覆盖的软件系统的范围和要求。

2.系统概述-系统目标:概述软件系统所解决的问题和目标。

-系统架构:描述整个系统的架构,包括各个模块之间的关系、数据流图等。

3.模块设计-模块划分:将整个系统划分为若干个模块,每个模块负责特定的功能。

-模块功能:对每个模块进行详细描述,包括输入、输出、算法流程等。

-模块接口:描述模块与其他模块之间的接口和通信方式。

4.数据流设计-数据流图:绘制数据流图,展示数据在系统中的流动过程。

-数据结构:描述系统中使用的各种数据结构,包括类、表、文件等。

-数据处理:对数据的处理过程进行描述,包括输入验证、数据转换等。

5.用户界面设计-界面布局:设计用户界面的布局和组件的摆放位置。

-功能描述:详细描述每个界面上的功能和操作逻辑。

-用户交互:描述用户与界面之间的交互方式,包括输入和输出的格式要求。

6.系统性能设计-系统性能要求:列举系统的性能指标和要求,如响应时间、并发处理能力等。

-性能优化:描述为了满足性能要求所进行的系统设计和优化手段。

7.安全性设计-安全考虑:描述系统在设计过程中考虑的安全因素,如用户认证、权限控制等。

-安全措施:介绍系统中采取的安全措施,如数据加密、防止代码注入等。

8.测试设计-测试策略:描述系统的测试策略和方法。

-测试用例设计:列举系统各个功能的测试用例。

9.部署设计-系统部署:描述系统的部署方式和环境要求。

-系统维护:介绍系统的维护和升级策略。

10.总结-总结设计文档的主要内容和目标。

以上是一个可能的软件系统详细设计文档的结构和内容,具体的设计文档可以根据实际项目的需求进行调整。

软件详细设计说明书 例

软件详细设计说明书 例

软件详细设计说明书例软件详细设计说明书一、引言本文档旨在详细描述软件的设计方案和实现细节,提供给开发人员和其他相关人员作为参考和指导。

本软件详细设计说明书主要包括软件系统的总体架构、各个模块的设计细节和算法等内容。

二、总体架构设计1. 系统概述本软件是一个xxx系统,旨在实现xxx功能。

系统分为xxx模块、xxx模块和xxx模块三个主要模块。

其中,xxx模块负责xxx功能,xxx 模块负责xxx功能,xxx模块负责xxx功能。

2. 系统设计原则为了保证软件的高性能、可扩展性和易用性,我们在系统设计中遵循以下原则:(1)模块化设计:将系统拆分为多个独立的模块,每个模块之间职责清晰,便于开发和维护。

(2)封装性设计:将每个模块的内部细节进行封装,提供简洁的接口给其他模块使用,减少模块间的耦合。

(3)可配置性设计:通过配置文件或参数的方式,实现软件的可定制性,以满足不同用户的需求。

(4)高性能设计:通过算法优化和资源管理,提高软件的运行效率和响应速度。

三、模块设计1. xxx模块(1)模块介绍:该模块负责xxx功能,主要包括xxx、xxx和xxx功能。

(2)模块接口设计:- 函数1:用于实现xxx功能,输入参数为xxx,输出参数为xxx。

- 函数2:用于实现xxx功能,输入参数为xxx,输出参数为xxx。

2. xxx模块(1)模块介绍:该模块负责xxx功能,主要包括xxx、xxx和xxx功能。

(2)模块接口设计:- 函数1:用于实现xxx功能,输入参数为xxx,输出参数为xxx。

- 函数2:用于实现xxx功能,输入参数为xxx,输出参数为xxx。

3. xxx模块(1)模块介绍:该模块负责xxx功能,主要包括xxx、xxx和xxx功能。

(2)模块接口设计:- 函数1:用于实现xxx功能,输入参数为xxx,输出参数为xxx。

- 函数2:用于实现xxx功能,输入参数为xxx,输出参数为xxx。

四、数据库设计1. 数据库结构设计为了支持软件的正常运行,我们设计了以下数据库表:(1)表1:用于存储xxx信息,包括xxx字段、xxx字段和xxx字段。

系统软件详细设计说明书

系统软件详细设计说明书

系统软件详细设计说明书1. 引言本文档旨在为系统软件的详细设计提供指导,并描述系统软件的架构、各个模块的功能和接口设计。

详细设计是在系统需求分析基础上进行的,通过分析系统需求,将其转化为具体的系统设计。

本文档将详细阐述系统软件的设计方案,为开发团队提供参考和实施依据。

2. 系统架构系统软件采用三层架构,包括表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。

2.1 表示层表示层负责用户与系统的交互,提供用户界面和用户输入的处理。

采用Web应用技术,使用HTML、CSS和JavaScript 进行界面设计和交互操作。

用户界面应简洁友好,符合用户使用习惯。

2.2 业务逻辑层业务逻辑层负责处理业务逻辑,包括数据处理、业务规则、算法等。

主要使用Java语言开发,通过调用数据访问层的接口,访问数据库,并将处理结果返回给表示层。

2.3 数据访问层数据访问层负责数据的存储和访问,通过数据库连接池与数据库进行通信。

主要使用SQL语言进行数据查询、更新和删除操作,确保数据的一致性和完整性。

3. 模块设计系统软件划分为以下几个模块:用户管理、订单管理、商品管理、库存管理和报表统计。

3.1 用户管理模块用户管理模块负责用户的注册、登录和权限控制。

用户可以通过注册功能创建账号,并通过登录功能进行身份验证。

系统根据用户的角色分配相应的权限,确保用户只能访问其有权限的功能。

3.1.1 注册功能注册功能提供用户输入注册信息,并进行新用户的注册。

注册信息包括用户名、密码、邮箱等,系统将验证输入的信息的合法性,并生成用户唯一标识。

3.1.2 登录功能登录功能提供用户输入用户名和密码进行身份验证,验证通过后,系统将生成用户身份令牌,并保存在客户端的Cookie中。

用户在访问其他功能时,系统通过验证令牌来确定用户的身份。

3.1.3 权限控制权限控制功能根据用户的角色分配相应的权限,不同角色具有不同的功能访问权限。

软件系统详细-设计

软件系统详细-设计
END FOR
② WHILE结构 WHILE 条件
循环体S ENDWHILE
③ UNTIL结构 REPEAT
循环体S UNTIL 条件 输入/输出语句
① 输入语句: GET(输入变量表)
② 输出语句:
PUT(输出变量表) 模块调用语句
CALL 模块名(参数)
5 判定表:当算法中包含多重嵌套的条件选择时使 用。表示复杂的条件组合与相应的动作适宜。
从输入文件中各读一条记录 处理居民记录 end 关闭全部文件 停止 产生新文件 end
从上面的例子中可以看出,对于一个输入、输出数据结构之间对应关系清 晰的小规模数据处理问题来说,采用Jackson方法可以很方便地得到系统的 处理过程描述。但当输入、输出数据出现错误或输入、输出数据间没有对 应关系(称为结构冲突)时,上面所介绍的映射规则就无法处理了。
详细设计说明书可以看作是在系统结构设计说明书所确定的系统总体结构的基础
上,对其中各个模块实现过程的进一步描述和细化。通常,详细设计说明书中应主 要包括以下几方面的内容:
(1) 引言:用于说明编写本说明书的目的、背景,定义所用到的术语和缩略语, 以及列出文档中所引用的参考资料等。
(2) 总体设计:用于给出软件系统的体系结构图。
(6)PDL描述与程序结构相似,故PDL语言便于将详细设计的结果转换为源程序。 PDL的缺点是不如图形描述形象直观,因此常常将PDL描述与一种图形描述结合起
来使用。
PDL语言的主要定义语句及基本控制结构的表达如下所示: 定义语句
(1) 数据定义: DECLARE 属性变量名,… 属性包括:整型、实型、双精度型、字符型、指针、数组及结构等类型。
《软件工程》
软件的系统设计—详细设计 陈巧丽
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

详细设计说明书可以看作是在系统结构设计说明书所确定
的系统总体结构的基础上,对其中各个模块实现过程的进一步
描述和细化。通常,详细设计说明书中应主要包括以下几方面
的内容:
(1) 引言:用于说明编写本说明书的目的、背景,定义所 用到的术语和缩略语,以及列出文档中所引用的参考资料等。
(2) 总体设计:用于给出软件系统的体系结构图。
开始
找到了吗? Y
显示错误
在工资档案中读一条记录 是文件结束位置吗? 计算工资各项基本数据之和并存入pay num=当前职工号 在奖金表中查职工号与num相同的记录 T 找到了吗? F 计算各项奖金总和并存入bonus 显示 错误 应发工资=pay+bonus 读下一条记录
计算各项奖金总和并存入bonus 应发工资=pay+bonus
这三种基本结构就可以实现任何单入口单出口的程序。但为了使用方便, 还允许有DO_UNTIL和DO_CASE两种控制结构。有时为了提前从循环 中跳出,还允许有BREAK结构。我们称只允许使用三种基本结构的为
经 典 的 结 构 化 程 序 设 计 ; 除 三 种 基 本 结 构 外 , 还 可 用 DO_UNTIL 和
2). N-S图 N-S图又称为盒图,它是为了保证结构化程序设计而由 Nassi和Shneiderman共同提出的一种图形工具。在N-S图中, 所有的程序结构均使用矩形框表示,它可以清晰地表达结构中 的嵌套及模块的层次关系。N-S图中,基本控制结构的表示符 号如图3.2.11所示。 由于N-S图中没有流程线,不可能随意转移控制,因而表
《软件工程》
软件的系统设计—详细设计
陈巧丽
3.2 详细设计
详细设计(又称过程设计)是对概要设计阶段建立的模型(即 每个组成模块)再进行详细定义和说明。包括定义每一模块的 详细功能、输入数据、使用文件及使用方式,确定输出内容及 格式,模块实现的详细算法,每一模块的程序构成等。 详细设计的任务具体主要有如下五点。 (1) 确定每个模块的具体算法。 (2) 确定每个模块的内部数据结构及数据库的物理结构。
(c)
(d)
(e)
图3.2.10‘ 程序流程图中的基本符号 (a) 一般处理框;(b) 输入/输出框;(c) 判断框;(d) 流程线;(e) 起止框
程序流程图的主要优点在于对程序的控制流程描述直观、清晰,使 用灵活,便于阅读和掌握,因此在20世纪40年代末到70年代初被普遍采 用。但随着程序设计方法的发展,程序流程图的许多缺点逐渐暴露出来,
这些缺点主要体现在以下方面:
(1) 程序流程图中可以随心所欲地使用流程线,容易造成程序控制 结构的混乱,与结构化程序设计的思想相违背。
(2) 程序流程图难以描述逐步求精的过程,容易导致程序员过早考
虑程序的控制流程,而忽略程序全局结构的设计。 (3) 程序流程图难以表示系统中的数据结构。 为此,人们宁可选择其他一些更有利于结构化设计的表达工具, N- S图和PAD图就是其中的两种图形工具。
用Jackson图描绘这些数据结构。
图3.2.15 Jackson图示例
第二步 找出输入数据结构和输出数据结构的对应关系(即有直 接因果关系 )的数据单元。
图3.2.16 输入和输出对应关系示例图
达出的程序结构必然符合结构化程序设计的思想,有利于培养
软件设计人员的良好设计风格。但当所描述的程序嵌套层次较 多时,不仅影响可读性而且不易修改。
S1 S2 (a)
T S1
IF条件
CASE条件 F S2 值1 值2 … 值n CASE n 部分
CASE 1CASE 2 … 部分 部分 (c)
(b) while循环条件 while -do部分 do -until部分
读下一条记录
结束
(a)
(b)
结束
(a)
在工资档案中读一条记录 当文件没有读完时 计算应发工资 num=当前职工号 def 检索个人奖金 找到了吗? 读下一条记录 在奖金表中查找职工号与num相同的记录 T F 检索个人奖金
(b)
计算应发工资 显示错误信息
计算各项奖金之和并存入bonus def 计算应发工资 计算工资基本数据项之和并存入pay 应发工资=pay+bonus
(c)
4). PDL语言
PDL (Process Design Language)语言即过程设计语言, 是一种用于描述程序算法和定义数据结构的伪代码。PDL语言 的构成与用于描述加工的结构化语言相似,是一种兼有自然 语言和结构化程序设计语言语法的“混合型”语言。
PDL语言与结构化语言的主要区别在于:由于PDL语言表达的
A until条件 (e) (f)
(d)
图3.2.11 N-S图中基本控制结构的表示符号 (a) 顺序结构;(b) 分支结构;(c) 多分支CASE结构; (b) (d) while-do结构;(e) do-until结构;(f) 调用模块A
3). PAD图 PAD(Problem Analysis Diagram,问题分析图)是继程序流 程图和N-S图后,由日立公司在20世纪70年代提出的又一种用 于详细设计的图形表达工具。它只能用于结构化程序的描述。 PAD图采用了易于使用的树型结构图形符号,既利于清晰地表达 程序结构,又利于修改。PAD图中所经常使用的基本符号如图
结构化程序设计的基本思路,是把一个复杂的问题分阶段进行,每个阶 段处理的问题都在人们容易理解和处理的范围内,这也正是前面介绍的 结构化方法的主体思想。结构程序设计是釆用“自顶向下,逐步细化” 的设计方法和单入口单出口的控制结构。结构程序设计使用三种基本控 制结构:顺序、选择、循环。流程图如3.2.9。

语句序列Sn
ENDIF
② 多分支IF结构 IF条件1
③ CASE结构 CASE 表达式 OF
语句序列S1
ELSEIF条件2 语句序列S2 … ELSE
CASE 取值1
语句序列S1
CASE取值2
语句序列S2 …
语句序列Sn
ENDIF
CASE 语句序列Sn ENDCASE
(3) 循环结构:
① FOR结构 FOR循环变量=初值 TO 终 值 循环体S END FOR ② WHILE结构
5.19所示。
S1 条件 S2
T F
S1
C ASE 值1 值2
S1 S2

值n Sn (a) (b) (c) S1 W HILE条件 S UNTIL条件 S S S2
(d)
(e)
(f)
图5.19 PAD中基本符号 (a)顺序结构;(b) 分支结构;(c) 多分支CASE结构; (d) 当型循环;(e);直到型循环;(f) 对s的细化
DO_CASE的为扩展的结构程序设计;若再加上BREAK则称为修正的结 构程序设计。
2. 详细设计可采用的工具
1). (传统的)程序流程图 程序流程图是最早出现且使用较为广泛的算法表达工具之 一,能够有效地描述问题求解过程中的程序逻辑结构。程序流 程图中经常使用的基本符号如图5.17所示。
(a)
(b)

Sn

S2
PAD图具有的主要优点如下:
(1) 使用PAD图描述的程序结构层次清晰,逻辑结构关系直
观、易读、易记、易修改。 (2) PAD图为多种常用高级语言提供了相应的图形符号,
每种控制语句都与一个专门的图形符号相对应,易于PAD图向高 级语言源程序转换。
(3) 支持自顶向下、逐步求精的设计过程。
6)判定树:比判定表直观。 例3-1
详细设计的原则
为了能够使模块的逻辑描述清晰准确,在详细设计阶段应 遵循下列原则。 (1) 将保证程序的清晰度放在首位。 (2) 设计过程中应采用逐步细化的实现方法。 (3) 选择适当的表达工具。
详细设计说明书 详细设计说明书是详细设计阶段最重要的技术文档。与系 统结构设计说明书相比,前者侧重于软件结构的规定,后者则 侧重于对模块实现具体细节的描述。
这三种基本结构在Jackson图中的表示符号如图3.2.14所示。
A
A
A
B
C (a)
D

C° (b)

B* (c)
图5.23 三种基本结构在Jackson图中的表示符号 (a) 顺序结构;(b) 选择结构;(c);循环结构
顺序结构:数据由一个或多个数据元素组成,每个元素按 确定次序出现一次。 选择结构:数据包含两个或多个数据元素,每次使用这个 数据时按一定条件从这些元素中选一个。
(3) 模块描述:依次对各个模块进行详细的描述,主要包 括模块的功能和性能,实现模块功能的算法,模块的输入及输 出,模块接口的详细信息等。
3.2.3 面向数据结构的程序设计方法(Jackson方法)
前面我们是根据数据流来确定软件结构的,釆用的是面向 数据流的设计方法,下面学习一种面向数据结构的设计方法— —Jackson程序设计方法。 Jackson方法(面向数据结构的设 计方法)的最终目标是得出对程序处理过程的描述,使用 Jackson方法,首先要分析确定数据结构,并用Jackson图描绘 数据结构。 1.改进的Jackson图 Jackson图由方框、连线及有特殊含义的一些标记组成。 尽管由于数据结构种类繁多,但其数据元素之间的联系只有顺 序、选择和循环三种,因此逻辑数据结构的类型也只有这三种。
重复结构:数据根据使用时的条件由一个数据元素出现零
次或多次构成。
2. Jackson方法(结合P60例3-2) 由五个步骤组成:
第一步 第二步 第三步 第四步 第五步 数据结构表示 找出输入数据结构和输出数据结构的对应关系 确定程序结构图 列出并分配所有操作和条件 用伪码表示程序
第一步 数据结构表示。分析并确定输入数据和输出数据的逻辑结构,并
③ UNTIL结构
相关文档
最新文档