实验二 结构化分析与设计
这个作业属于哪个课程 | AHPU-软件工程导论 |
---|---|
这个作业要求在哪里 | 实验二 结构化分析与设计 |
这个作业的目标 | 掌握结构化的需求分析方法,学会用安装Visio并用这个软件画图 |
学号 | 3180701108 |
** |
一. 实验目的
(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
二.实验内容
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。
三.实验步骤
(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
【实例1】机票预订系统
参考:
(1)携程网:https://flights.ctrip.com/international/search/domestic
(2)去哪儿:https://www.qunar.com/?ex_track=auto_4e0d874a
为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行
时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出
机票给顾客
用户角色
一个机票预定系统可能存在用户角色可能有:
用户:预定、购买、退订机票
管理人员:对机票的信息进行管理
数据流图
顶层数据流图
分层数据流图
软件功能图
数据字典
【实例2】教材订购系统
销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领
书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发
行人员。
用户角色
一个教材订购系统可能存在用户角色可能有:
用户:购买教材等
管理人员:对教材的信息进行管理
数据流图
顶层数据流图
1层数据流图
加工子图
软件结构图
1.教材购销系统的最初上层框架设计
2.销售子系统初始SC图
3.采购子系统初始SC图
4.最终SC的上层框架
5.初售动作分支的最终SC图
数据字典
【实例3】图书管理系统
用户角色
一个图书管理系统可能存在用户角色可能有:
用户:购买图书,借阅图书等
管理人员:对图书的信息进行管理
数据流图
总体E-R图
系统结构图
实现并测试部分功能模块
例如:借书功能
四、思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书
软件需求说明书,是指用户要求的基础上,完成可行性分析和投资效益分析,它详细定义了功能需求,设计要求和限制,是分析员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据
②概要设计说明书
概要设计说明书又可称系统设计说明书,是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。
③详细设计说明书
详细设计说明书又可称程序设计说明书。是详细设计阶段的主要成果,也是编码阶段主要参考的文档。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,详细设计阶段的主要参考文档是概要设计说明书。详细设计说明书是整个系统开发的依据,原则上来说,任何一个程序员都能读懂详细设计说明书,能遵照详细设计说明书实现程序。。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化方法主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法;结构化方法的基本特点是表达问题时尽可能使用图形符号,即使非计算机专业人员也也易于理解,设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能,对于相当复杂的系统,SA采用化整为零,逐个击破和从抽象到具体逐层分解的方法。
面对对象的分析分为问题分析和应用分析,问题分析的主要任务是收集并确认用户的需求分析和过程分析,从中抽象出问题的基本概念,属性和操作,然后用泛化,组成和关联结构描述实体间的静态关系。应用分析的主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为,对象之间的消息传递和协同工作的动态信息。
(3)对数据流图进行审查有何意义
数据流图是一种分析工具,全面的描述了系统数据流程,综合地反映出系统中信息的流动、处理和存储情况。它在系统分析中的作用是,它用结构化系统分析方法从数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
确保两大特性:
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
五、PSP表格
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 10 | 10 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 125 | 130 |
Development | 开发 | 40 | 60 |
Analysis | 需求分析(包括学习新技术) | 15 | 20 |
Design Spec | 生成设计文档 | 10 | 15 |
Design Review | 设计复审 | 10 | 15 |
Coding Standard | 代码规范 | 5 | 10 |
Design | 具体设计 | 15 | 20 |
Coding | 具体编码 | 30 | 40 |
Code Review | 代码复审 | 5 | 10 |
Test | 测试(自我测试,修改代码,提交修改) | 10 | 25 |
Reporting | 报告 | 20 | 30 |
Test Report | 测试报告 | 10 | 15 |
Size Measurement | 计算工作量 | 5 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 15 |
六、实验小结
本次实验主要是掌握结构化的需求分析方法,我们也做了几个例题来对这种方法进行了更全面的了解。其中我们再次复习了数据流图,数据字典等知识。