实验2:结构化分析与设计
博客班级 | 软件工程 |
---|---|
实验要求 | 作业要求 |
实验目标 | 掌握结构化的需求分析方法 |
学号 | 3180701219 |
目录
1.实验目的
2.实验内容
3.实验步骤
4.思考题
实验小结
一.实验目的
(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
二.实验内容
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。
【实例1】机票预订系统
参考:
(1)携程网
(2)去哪儿
为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行
时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出
机票给顾客
【实例2】教材订购系统
销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领
书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发
行人员。
【实例3】图书管理系统
参考:图书管理系统
三.实验步骤
(1)复习结构化的分析与设计方法的主要过程;
1.结构化分析方法步骤
- 分析当前的情况,做出反映当前物理模型的DFD;
- 推导出等价的逻辑模型的DFD;
- 设计新的逻辑系统,生成数据字典和基元描述;
- 建立人机接口,提出可供选择的目标系统物理模型的DFD;
- 确定各种方案的成本和风险等级,据此对各种方案进行分析;
- 选择一种方案;
- 建立完整的需求规约。
2.结构设计化方法步骤
- 评审和细化数据流图;
- 确定数据流图的类型;
- 把数据流图映射到软件模块结构,设计出模块结构的上层;
- 基于数据流图逐步分解高层模块,设计中下层模块;
- 对模块结构进行优化,得到更为合理的软件结构;
- 描述模块接口。
(2)讨论系统存在的用户角色、工作流等;
1.用户角色
- 用户:可以对自身信息(例如密码等信息)进行修改,并有对账户金额进行操作的权限
- 管理员:可以对用户信息进行管理
2.工作流
- 系统提示插入银行卡
- 用户插入银行卡后,系统提示用户输入密码
- 用户输入自己的密码
- 系统检查用户密码是否正确
- 若密码匹配,则进入系统选择界面
- 用户选择所需要的功能选项
- 用户进行相关操作后,系统检查该操作的合法性
- 若操作合法,则该操作顺利完成;否则,系统反馈提示相关错误信息
(3).对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
<1>数据流图
①顶层数据流图
②第一层数据流图
③第二层数据流图
④总数据流图
<2>数据字典
(1)数据项
(2)数据结构
(3)数据流
(4).对应数据流图,设计系统的功能结构图,关键模块的流程图
系统功能结构图
四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
- 需求分析:产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。
用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。
- 概要设计:产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且
需要指出关键技术难点等。
- 详细设计:产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完
成,然后在集成,是具体的实现细节。理论上要求可以照此编码。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
- 结构化方法:对系统功能建模, 基于功能分解设计系统结 构,从内部功能上模拟客观世界.
- 面向对象方法:从行为的角度进行建模, 基于行为分析 法认定对象及它们之间的关系,从内部结构上模拟客观世界,它采用了新概念、新方法、新的 表示形式,有助于软件开发人员加深对系统的理解,给软件开发带来很大益处.
- 但在实际应用中,开发的大型软件系统通常是混合型系统,即需要处理实时信息、又需要数据库的支持, 同时还涉及大量的事务性操作请求,在这种情况下,在选用面向对象方法的同时在局部处理 上可以结合使用结构化方法.
(3)对数据流图进行审查有何意义?
- 检查图中是否存在错误或不合理(不理想)的部分确保两大特性
- 一致性:分层DFD中不存在矛盾和冲突。
- 完整性:是否有遗漏的数据流、加工等
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
个人小结
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 10 | 20 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 5 | 12 |
Development | 开发 | 120 | 300 |
Analysis | 需求分析(包括学习新技术) | 10 | 10 |
Design Spec | 生成设计文档 | 10 | 20 |
Design Review | 设计复审 | 10 | 20 |
Coding Standard | 代码规范 | 10 | 10 |
Design | 具体设计 | 20 | 30 |
Coding | 具体编码 | 30 | 20 |
Code Review | 代码复审 | 20 | 30 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 30 |
Reporting | 报告 | 10 | 20 |
Test Report | 测试报告 | 10 | 15 |
Size Measurement | 计算工作量 | 20 | 20 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 20 |