软件设计师考试 | 第十二章 软件系统分析与设计 | 结构化分析与设计

结构化分析将数据和处理(加工)作为分析对象,数据的分析结果表示了现实世界中实体的属性及其之间的相互关系,而处理的分析结果则展现了系统对数据的加工和转换。

面向数据流建模是将系统建模成输入-处理-输出的模型,即流入软件的数据对象,经由处理的转换,最后以结果数据对象的形式流出软件。

下面通过一个案例来说明如何应用结构化分析、总体设计与详细设计技术。

(一)需求说明

需求说明

(二)结构化分析

结构化分析的最终结果是得到系统的数据流图、数据字典和加工说明。

1. 界定系统的边界

购入新书、读者借书、读者还书和图书注销将来都是由图书管理员来操作系统,因此 图书管理员 将是系统的外部实体之一。
当读者借书超期时,系统会给读者一个罚款单信息,那么认为 图书管理系统系统时钟 都是系统的外部实体。

2. 画出第0层图

根据外部实体,得出系统不完整的第0层数据流图,如下图所示:

不完整的第0层数据流图

在不完整的第0层数据流图上分析外部实体与系统间的数据流,因为 管理员 的两大工作任务是 分析管理任务查询任务 ,因此管理员会向系统输入 管理请求 信息与 查询请求 信息,根据输入的管理请求,系统将会对一些存储文件进行修改;对查询请求,系统则会给出读者、图书与借阅的统计信息。

系统时钟 主要是为图书管理系统 提供系统时间

将不完整的0层图补充数据流可得完整的0层图,如下图所示:

第0层数据流图

3. 对0层图进一步细化

得到完整的第0层图后,再对数据流图中的图书管理系统进一步细化。

根据需求得知,系统主要分为 管理任务查询任务 ,因此可以将其细化为两个大的处理,如下图所示:

第1层数据流图

对管理进行进一步细化,管理处理分为 ** 购书** 、借书还书清理 4项任务,因此将管理分解为4个处理,另外需要一个单独的处理根据管理请求的类型进行请求分派。细化后的数据流图如下图所示:

处理2的第2层数据流图

同样地,可以对处理1也进行细化,细化完成后,对得到的数据流图进行转化,从而形成系统的总体设计。


(三)总体设计

总体设计是给出数据流图中的各个处理转换为模块后模块与模块之间的调用关系,后续需要根据总体设计给出模块的详细设计。

通过采用事务型的变换方式对数据流图进行变换,得到系统的总体结构。如下图所示:


系统总体结构图

(四)详细设计

以借书为例,采用程序流程图的形式描述借书模块的详细设计。

分析借书的输入是读者信息和借书信息,需要读者信息的读者借书证号,借书信息给出了读者已经借阅了多少本书,如果读者借阅的书籍数目尚未超出系统的限制,则允许继续借书,并把新的借书信息写入借书文件;否则,拒绝借书。

该模块的详细流程图如下图所示:


借书模块流程图

完成每一个模块的详细设计,即可将详细设计转换成程序代码,从而实现整个管理系统。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容