实验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
posted @ 2020-12-08 23:50  WLongwx  阅读(237)  评论(0编辑  收藏  举报