一.实验目的(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
二.实验内容(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。
【实例1】机票预订系统
参考:
为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行
机票给顾客
【实例2】教材订购系统
销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领
书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发
行人员。
【实例3】图书管理系统
三.实验步骤(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
教材订购系统1.用户角色一个教材订购系统可能存在用户角色可能有
学生/教师:学生/教师提供购书单教材管理人员:根据学生/教师提供的购书单,对所需要的教材进行购买2.工作流
3.分层数据流图顶层图
教材订购系统一层图
加工1的子图
加工2的子图
4.数据字典数据项
5.软件结构图将系统的分层数据流图映射为软件结构图,绘制软件结构图
四.思考题(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
需求说明书也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。
其格式如下:
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
面向过程分析与面向对象分析是两种思路完全不同的分析方法
面向过程分析方法,就是说我们先考虑问题大的方面,然后再从外面到里面去深入这个问题的细节部分,一步一步去解决问题。
就比如说就像一棵树一样,我们先从根开始,就是问题大的方面,然后我们再深入各个枝干,就是深入问题的细节部分,然后逐步解决问题。
面向对象分析方法,以对象为主分析问题,我们把问题看作由几个对象组成。
比如我们设计一个网上买书的系统,这个时候简单的来说消费者,书店就是对象。就比如说买书这个例子,如果是面向过程的分析思路,则一开始是用户选择书籍,然后下单,商家收到订单,然后通知仓库发货,用户收到书籍。而面向对象则是分为消费者与商家两大对象,消费者具有购书,下单等功能,而商家具有收订单,通知仓库发货等功能。一个是就像运动员跑步一样完成整个流程,而一个是分为几组对象,然后他们之间进行交互进而解决问题。
(3)对数据流图进行审查有何意义?
检查图中是否存在错误或不合理(不理想)的部分
确保两大特性
两大特性:一致性:分层DFD中不存在矛盾和冲突。完整性:是否有遗漏的数据流、加工等