软件工程实验二
一.实验目的
(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
二.实验内容
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。
三.实验步骤
(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
1.角色的确定
①客户使用ATM系统进行现金交易;
②银行有关人员更改ATM的设置,放置现金维护机器等;
③信用系统作为外部的角色参与整个交易的过程。
ATM作为一个独立的系统,与客户、银行人员和信用系统这3个角色产生交互,最终确定以下角色:客户;银行职员;信用系统。
2.用例是由角色驱动:
①与客户相关的用例:客户转账;客户查询余额;客户存钱;客户通过信用系统付款;客户取钱;客户修改密码。
②与银行人员相关的用例:银行人员改变密码;银行人员维护ATM硬件;银行人员为ATM添加现金。
③与信用系统相关的用例:信用启动来自客户的付款。
3.建立系统用例图
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
1.数据流图
2.数据字典
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
1.功能结构图
2.模块的流程图
登录:
取款:
转账:
存钱
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
答:
1.需求说明书也称为软件规格说明。该说明书对所开发软件的功能、性能、用户 界面及运行环境等做出详细的说明。
它是用户与开发人员双方对软件需求取得共同理 解基础上达成的协议,也是实施开发工作的基础。
2.概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,
包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结
构设计和出错处理设计等,为程序的详细设计提供基础。
3.详细设计(又可称程序设计机)说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)的
实际考虑,为程序员编写程序提供依据。如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计机
说明书中不重复部分合并编写,文档名称为《软件设计说明书》。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?>
1:
结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分
析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。而面向对象的分析方法则是通
过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业
务数据和逻辑的系统分析方法。
2.
两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结
构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和
封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。
(3)对数据流图进行审查有何意义?
检查图中是否存在错误或不合理(不理想)的部分确保两大特性
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等。
(4)给出一次完整的会议讨论纪要,包括议题,最终结果
1.会议讨论纪要
2.psp表格
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 120 | 8 |
Development | 开发 | 100 | 150 |
Analysis | 需求分析(包括学习新技术) | 10 | 10 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 | 5 | 10 |
Coding Standard | 代码规范 | 5 | 10 |
Design | 具体设计 | 20 | 40 |
Coding | 具体编码 | 120 | 180 |
Code Review | 代码复审 | 5 | 7 |
Test | 测试(自我测试,修改代码,提交修改) | 10 | 15 |
Reporting | 报告 | 20 | 60 |
Test Report | 测试报告 | 5 | 5 |
Size Measurement | 计算工作量 | 5 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 15 |