实验二 结构化分析与设计
| 博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19 |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11540 |
| 作业目标 | 结构化分析与设计 |
| 学号 | 3190704113 |
一.实验目的
(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
为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行
时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出
机票给顾客。
E-R图:

数据流图:

数据流状态转换图:

字典:







代码:





运行结果:




三.实验步骤
(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
需求说明书:待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;该软件系统同其他系统或其他机构的基本的相互来往关系。
概要设计说明书:待开发软件系统的名称;列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
详细设计说明书:待开发软件系统的名称;本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。
两者的区别在于,当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑根型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。
(3)对数据流图进行审查有何意义?
分层的数据流图要保证一致性和完整性。简单说就是分层不存在矛盾和冲突,完整性指分层保证本身的完整性,不遗漏数据流,加工等元素。为了保证数据流图的一致性和完整性,需要对数据流图进行审查。

浙公网安备 33010602011771号