一.实验目的

(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

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

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

机票给顾客

三.实验步骤

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

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

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

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

(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
数据流图:

关键模块图:

数据字典:

名称 旅客信息
描述 记录旅客的信息
定义 旅客信息=姓名+性别+工作单位+身份证号+联系方式
位置 输入到便携app
名称 旅客订票信息
描述 旅客所填写航班信息和自己的个人信息
定义 订票信息=旅客姓名+旅客性别+旅客身份证号+航班号+机票类型+票价
位置 输入到便携app
名称 取票通知
描述 旅客领取机票的凭证
定义 取票通知=旅客姓名+取票时间
位置 输出到便携app
名称 取票信息
描述 给予旅客取票通知单
定义 取票清单=票价+机票类型+航班号+座位号+旅客姓名+身份证号+登机口+起飞时间+着陆时间+出发点+目的地
位置 输出到打印机

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
  需求说明书是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础而编制的,其主
要包括了细化到适当层次的数据流图、数据字典和黑盒形式的算法描述等内容;概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软
件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人
机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算
机无关;详细设计说明书的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的“蓝图”。除了保证软件的可靠性之外,使
将来编写的程序可读性好、易于理解、易于测试、易于修改和维护,是详细设计阶段最重要的目标。

(2)结构化分析方法与面向对象分析方法有无本质上的不同?
  结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一
步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。而面向对象的分析方法则是通过将数据和逻辑结构抽象成为
对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,
结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测
和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件
系统的方法。

(3)对数据流图进行审查有何意义?
1、便于用户表达功能需求和数据需求及其联系;
2、便于两类人员共同理解现行系统和规划系统的框架;
3、清晰表达数据流的情况;
4、有利于系统建模

posted on 2020-12-07 19:35  顺逆破凡  阅读(129)  评论(0编辑  收藏  举报