实验二 结构化分析与设计


博客班级 AHPU软件工程
作业要求 实验二 结构化分析与设计
作业目标 了解相关知识与内容
学号 3180701209

一.实验目的

(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)数据流图

顶层图

实验二 结构化分析与设计

ATM分层图

实验二 结构化分析与设计

总数据流图

实验二 结构化分析与设计

(4)数据字典

实验二 结构化分析与设计
实验二 结构化分析与设计
实验二 结构化分析与设计
实验二 结构化分析与设计

(5)结构功能图

系统结构图

实验二 结构化分析与设计

各部分功能图

实验二 结构化分析与设计

实验二 结构化分析与设计

实验二 结构化分析与设计

实验二 结构化分析与设计

实验二 结构化分析与设计

(6)流程图

实验二 结构化分析与设计

四.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书
软件需求说明书,是指用户要求的基础上,完成可行性分析和投资效益分析,它详细定义了功能需求,设计要求和限制,是分析员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据
②概要设计说明书
  概要设计说明书又可称系统设计说明书,是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。
③详细设计说明书
  详细设计说明书又可称程序设计说明书。是详细设计阶段的主要成果,也是编码阶段主要参考的文档。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,详细设计阶段的主要参考文档是概要设计说明书。详细设计说明书是整个系统开发的依据,原则上来说,任何一个程序员都能读懂详细设计说明书,能遵照详细设计说明书实现程序。。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化方法主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法;结构化方法的基本特点是表达问题时尽可能使用图形符号,即使非计算机专业人员也也易于理解,设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能,对于相当复杂的系统,SA采用化整为零,逐个击破和从抽象到具体逐层分解的方法。
面对对象的分析分为问题分析和应用分析,问题分析的主要任务是收集并确认用户的需求分析和过程分析,从中抽象出问题的基本概念,属性和操作,然后用泛化,组成和关联结构描述实体间的静态关系。应用分析的主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为,对象之间的消息传递和协同工作的动态信息。
(3)对数据流图进行审查有何意义
数据流图是一种分析工具,全面的描述了系统数据流程,综合地反映出系统中信息的流动、处理和存储情况。它在系统分析中的作用是,它用结构化系统分析方法从数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
确保两大特性:
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等

(4)给出一次完整的会议讨论纪要,包括议题,最终结果。

五.psp表格

psp2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 100 80
Development 开发 200 250
Analysis 需求分析(包括学习新技术) 20 40
Design Spec 生成设计文档 30 50
Design Review 设计复审 5 10
Coding Standard 代码规范 3 5
Design 具体设计 10 12
Coding 具体编码 80 90
Code Review 代码复审 60 70
Test 测试(自我测试,修改代码,提交修改) 10 15
Reporting 报告 9 6
Test Report 测试报告 3 2
Size Measurement 计算工作量 3 2
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 5 3