| 博客班级 | AHPU软件工程 |
| 作业要求 | 实验二 结构化分析与设计 |
| 作业目标 | 了解相关知识与内容 |
| 学号 | 3180110234 |
一.实验目的
(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/
三.实验步骤
ATM管理系统
(1)用户角色
一个ATM银行管理系统可能存在用户角色可能有:
用户:对自己账号内金额进行操作
管理人员:对用户的信息进行管理
(2)工作流
①系统提示插入银行卡
②用户插入银行卡有,系统提示用户输入密码
③客户输入密码
④系统检测密码是否正确
⑤如果密码正确,则提示用户选择操作
(3)数据流图
顶层图
![](https://img2020.cnblogs.com/blog/2201197/202012/2201197-20201205115100955-1705821875.png)
ATM分层图
总数据流图
(4)数据字典
(5)结构功能图
系统结构图
各部分功能图
(6)流程图
四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书
软件需求说明书,是指用户要求的基础上,完成可行性分析和投资效益分析,它详细定义了功能需求,设计要求和限制,是分析员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据
②概要设计说明书
概要设计说明书又可称系统设计说明书,是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。
③详细设计说明书
详细设计说明书又可称程序设计说明书。是详细设计阶段的主要成果,也是编码阶段主要参考的文档。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,详细设计阶段的主要参考文档是概要设计说明书。详细设计说明书是整个系统开发的依据,原则上来说,任何一个程序员都能读懂详细设计说明书,能遵照详细设计说明书实现程序。。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化方法主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法;结构化方法的基本特点是表达问题时尽可能使用图形符号,即使非计算机专业人员也也易于理解,设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能,对于相当复杂的系统,SA采用化整为零,逐个击破和从抽象到具体逐层分解的方法。
面对对象的分析分为问题分析和应用分析,问题分析的主要任务是收集并确认用户的需求分析和过程分析,从中抽象出问题的基本概念,属性和操作,然后用泛化,组成和关联结构描述实体间的静态关系。应用分析的主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为,对象之间的消息传递和协同工作的动态信息。
(3)对数据流图进行审查有何意义
数据流图是一种分析工具,全面的描述了系统数据流程,综合地反映出系统中信息的流动、处理和存储情况。它在系统分析中的作用是,它用结构化系统分析方法从数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
确保两大特性:
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。