实验二 结构化分析与设计

实验二:结构化分析与设计


博客班级 AHPU软件工程
作业要求 实验二 结构化分析与设计
作业目标 掌握结构化分析和设计
学号 3180701118

一.实验目的

(1)掌握结构化的需求分析方法;

(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;

(3)掌握数据流图映射为软件结构图的方法;

(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;

(5)掌握测试的基本方法。

二.实验内容

(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;

(2)绘制系统的分层数据流图,并给出数据字典;

(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;

(4)为关键模块进行详细设计,如绘制关键模块的流程图;

(5)实现系统部分功能并测试。

【实例1】机票预订系统

参考:

(1)携程网:https://flights.ctrip.com/international/search/domestic

(2)去哪儿:https://www.qunar.com/?ex_track=auto_4e0d874a

为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行

时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出

机票给顾客

【实例2】教材订购系统

销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领

书单,教师或学生即可去书库领书。

采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发

行人员。

【实例3】图书管理系统

参考:http://lib.ahpu.edu.cn/

三.实验步骤

1.复习结构化的分析与设计方法的主要过程;

(1)结构化分析方法

结构化分析方法是以自顶向下,逐步求精为基点,以一系列经过实践的考验被认为是正确的原理和技术为支撑,以数据流图,数据字典,结构化语言,判定表,判定树等图形表达为主要手段,强调开发方法的结构合理性和系统的结构合理性的软件分析方法。结构化分析的步骤如下:
分析当前的情况,做出反映当前物理模型的 DFD
推导出等价的逻辑模型的 DFD
设计新的逻辑系统,生成数据字典和基元描述
建立人机接口,提出可供选择的目标系统物理模型的 DFD
确定各种方案的成本和风险等级,据此对各种方案进行分析
选择一种方案;
建立完整的需求规约。

(2)结构化设计方法

结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学。
结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。SD 方法尤其适用于变换型结构和事务型结构的目标系统。在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。结构化设计的步骤如下:
评审和细化数据流图
确定数据流图的类型
把数据流图映射到软件模块结构,设计出模块结构的上层
基于数据流图逐步分解高层模块,设计中下层模块
对模块结构进行优化,得到更为合理的软件结构
描述模块接口

2.讨论系统存在的用户角色、工作流等;

用户角色

一个人事档案管理系统可能有的用户角色:
用户,相关部门

工作流

对数据进行审核、维护
修改更新人事数据、查询人事数据
汇总、统计和查询数据
查询打印表格

3.对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;

数据流图

人事档案管理大致处理过程:

人事档案管理系统流程图:

人事档案管理系统数据流图:

对“处理数据”的细化:

对“维护数据”的细化:

对“利用数据”的细化:

人事档案管理数据流图:

数据字典

(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;

功能结构图:

系统账户管理软件结构:

系统数据管理软件账户:

人事档案管理系统细化的软件结构:

人事档案管理系统的完整软件结构:

四.思考题

1.简述需求说明书,概要设计,详细设计说明书的主要内容。
答:
(1)需求说明书
软件需求说明书,又称为软件规格说明书,是分析员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。软件需求说明主要包括引言、任务概述、需求规定、运行环境规定和附录等内容。
(2)概要设计说明书
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
(3)详细设计说明书
 详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,详细设计阶段的主要参考文档是概要设计说明书。详细设计说明书是整个系统开发的依据,原则上来说,任何一个程序员都能读懂详细设计说明书,能遵照详细设计说明书实现程序。

2.结构化分析方法与面向对象分析方法有无本质上的不同?
答:
(1)结构化分析方法:
结构化方法主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法;结构化方法的基本特点是表达问题时尽可能使用图形符号,即使非计算机专业人员也也易于理解,设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能,对于相当复杂的系统,SA采用化整为零,逐个击破和从抽象到具体逐层分解的方法。
(2)面向对象方法:
面对对象的分析分为问题分析和应用分析,问题分析的主要任务是收集并确认用户的需求分析和过程分析,从中抽象出问题的基本概念,属性和操作,然后用泛化,组成和关联结构描述实体间的静态关系。应用分析的主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为,对象之间的消息传递和协同工作的动态信息。

3.对数据流图进行审查有何意义?
答:数据流图是一种分析工具,全面的描述了系统数据流程,综合地反映出系统中信息的流动、处理和存储情况。它在系统分析中的作用是,它用结构化系统分析方法从数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
确保两大特性:
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等

4.给出一次完整的会议讨论纪要,包括议题,最终结果。
议题:如何根据例题,画出相应的数据流图和数据字典。
最终结果:
数据流图的设计方法 :
第一步,画子系统的输入输出
把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
第二步,画子系统的内部
把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。
第三步,画加工的内部
把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。于是可以象画0层图一样画出每个小系统的加工的DFD图。
第四步,画子加工的分解图
对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的(即不可再分解)。至此,得到了一套分层数据流图。
第五步,对数据流图和加工编号
数据字典:
(1)描述数据库系统的所有对象,如属性、实体、记录类型、数据项、 用户标识、口令、物理文件名及其位置、文件组织方法等;
(2)描述数据库系统各种对象之间的交叉联系,如哪个用户使用哪个子模式,哪个记录分配在哪个区域,存贮在哪个物理设备上;
(3)登记所有对象在不同场合、不同视图中的名称对照表;
(4)描述模式、子模式和物理模式的改动情况。

个人小结

这次实验让我学会了怎么画数据流图、数据字典和结构功能图。画这些图的前提都是对题目一定要进行详细的了解,将他们进行分块描述整理最后再进行整合。我还学会了很多的相关知识,例如::数据流图是一种分析工具,全面的描述了系统数据流程,综合地反映出系统中信息的流动、处理和存储情况。它在系统分析中的作用是,它用结构化系统分析方法从数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。我相信这些知识在今后的学习中一定有着很大的用途。

posted @ 2020-12-06 20:16  李世媛  阅读(295)  评论(0编辑  收藏  举报