1. 作业信息
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业要求 |
学号 | 3180701307 |
2.实验目的
(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
3.实验内容
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。
4.实验步骤
参考机票预订系统做出分析:
(1)复习结构化的分析与设计方法的主要过程;
结构化分析与设计方法:
①分析当前的情况,做出反映当前物理模型的 DFD;
②推导出等价的逻辑模型的 DFD;
③设计新的逻辑系统,生成数据字典和基元描述;
④建立人机接口,提出可供选择的目标系统物理模型的 DFD;
⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;
⑥选择一种方案;
⑦建立完整的需求规约。
(2)讨论系统存在的用户角色、工作流等;
用户角色:旅行社旅客
工作流:
①查询
②订票
③取票
④退票
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
分层数据流图:
软件结构图:
数据字典:
①订票信息:
定义:订票信息=旅客个人信息+选定航班信息+座次信息
来源:旅客
②机票信息:
定义:机票信息=出发地+目的地+航班号+未出售座位数量+时间
来源:机票信息
③取票信息:
定义:取票信息=旅客个人信息+航班号+座次信息+时间+登机口信息+出发地+目的地
来源:旅客机票文件
④退票信息:
定义:退票信息=旅客个人信息+航班号+座次信息+时间+登机口信息+出发地+目的地
来源:旅客机票文件
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
5.实验思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
1、需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限
制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据
2、概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模
块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
3、详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,
本文件可以不单独编写,有关 内容合并入概要设计说明书。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化分析方法注重于步骤,先分析出解决问题所需要的步骤,然后一步一步的去解决。而面向对象分析法则是将系统分为多个不同的对象,它们之间各种独立又相互牵引,每个
对象负责实现自己的功能,然后相互之间进行信息传递,方法调用等来支撑起整个系统。综上:结构化是面向过程的方法,本质上不同于面向对象分析方法。
(3)对数据流图进行审查有何意义?
检查图中是否存在错误或不合理(不理想)的部分确保两大特性
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等。
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
6.实验总结,完成实验报告
加深了面向过程分析法和面向对象分析法的分析步骤和主要区别,对题目的分析能力和绘制数据流图能力增强。
(psp表格)
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 315 | 470 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 15 | 30 |
Development | 开发 | 10 | 20 |
Analysis | 需求分析(包括学习新技术) | 30 | 50 |
Design Spec | 生成设计文档 | 20 | 20 |
Design Review | 设计复审 | 10 | 15 |
Coding Standard | 代码规范 | 10 | 10 |
Design | 具体设计 | 30 | 60 |
Coding | 具体编码 | 60 | 120 |
Code Review | 代码复审 | 30 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 40 | 60 |
Reporting | 报告 | 10 | 20 |
Test Report | 测试报告 | 10 | 15 |
Size Measurement | 计算工作量 | 20 | 20 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 20 | 30 |