实验二 结构化分析与设计(visio)
一、作业信息
| 博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18 |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548 |
| 学号 | 3180701310 |
一.实验目的
(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】图书管理系统
三.实验步骤
1、复习结构化的分析与设计方法的主要过程;
结构化分析方法步骤
(1)分析当前的情况,做出反映当前物理模型的DFD;
(2)推导出等价的逻辑模型的DFD;
(3)设计新的逻辑系统,生成数据字典和基元描述;
(4)建立人机接口,提出可供选择的目标系统物理模型的DFD;
(5)确定各种方案的成本和风险等级,据此对各种方案进行分析;
(6)选择一种方案;
(7)建立完整的需求规约。
结构设计化方法步骤
(1)评审和细化数据流图;
(2)确定数据流图的类型;
(3)把数据流图映射到软件模块结构,设计出模块结构的上层;
(4)基于数据流图逐步分解高层模块,设计中下层模块;
(5)对模块结构进行优化,得到更为合理的软件结构;
(6)描述模块接口。
2、讨论系统存在的用户角色、工作流等;
用户角色:教师或学生,教材发行人员,书库采购人员
工作流:购书单,领书单,审核信息,缺书通知,不合格的购书单,进书通知,缺书单
需求分析:
用户需求:本系统应该能添加新的教材订单,系统能通知采购人员采购图书,系统能给采购人员需要采购的图书的信息,系统还应该告诉教材发行人员有哪些图书新订购了。
业务需求:系统可以增加新的购书单,系统能删除购书单,系统能查询和输入领书单,系统能处理订书单,系统能查询库存和进书单
功能需求:该系统应该主要具有三个方面的功能:订购管理,采购管理和销售管理。同时订购管理中的功能主要有订购教材,查询订书单,删除订书单,查询领书单,订购教材。采购管理系统
主要功能包括:查询缺书单,输入进书单。销售管理主要功能为:查询库存,查询进书单,处理订购单,输入销售信息。
3、对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
数据流图
顶层数据流图

一层数据流图

二层销售系统数据流图

数据字典
库存表={书号+书名+数量+单价}
缺书登记表={登记日期+需求信息}
缺书信息=[学生信息|教师信息]+{书号+缺书数量+备注}
进书通知=进书日期+书号+书名+数量
购书单=单号+[学生信息|教师信息]+{书号+书名+购书数量+备注}
数据流:
缺书通知:

缺书单

购书通知

购书单

领书通知

领书单

4、对应数据流图,设计系统的功能结构图,关键模块的流程图;
教材购销系统的最初上层框架设计

销售子系统初始 SC 图

采购子系统初始 SC 图

最终 SC 的上层框架

初售动作分支的最终 SC 图

四.思考题
1、简述需求说明书,概要设计,详细设计说明书的主要内容。
(1)需求说明书:
需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和
质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据;
(2)概要设计说明书:
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能
分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础;
(3)详细设计说明书:
详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不
单独编写,有关内容合并入概要设计说明书。
2、结构化分析方法与面向对象分析方法有无本质上的不同?
结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。
3、对数据流图进行审查有何意义?
检查图中是否存在错误或不合理(不理想)的部分确保两大特性
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等
4、给出一次完整的会议讨论纪要,包括议题,最终结果。
(psp表格)
| psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
|---|---|---|---|
| Planning | 计划 | 100 | 130 |
| Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 400 | 500 |
| Development | 开发 | 120 | 148 |
| Analysis | 需求分析(包括学习新技术) | 50 | 80 |
| Design Spec | 生成设计文档 | 20 | 20 |
| Design Review | 设计复审 | 15 | 10 |
| Coding Standard | 代码规范 | 10 | 10 |
| Design | 具体设计 | 200 | 220 |
| Coding | 具体编码 | 40 | 45 |
| Code Review | 代码复审 | 9 | 10 |
| Test | 测试(自我测试,修改代码,提交修改) | 40 | 45 |
| Reporting | 报告 | 10 | 20 |
| Test Report | 测试报告 | 5 | 5 |
| Size Measurement | 计算工作量 | 10 | 10 |
| Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 10 |

浙公网安备 33010602011771号