作业信息
博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548 |
作业目标 | 结构化分析与设计 |
学号 | 3180701201 |
一.实验目的 |
(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/
三.实验步骤
(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
三、图书管理系统
1.顶层图
2.一层数据流图
3.加工1的子图
4.加工2的子图
5.数据字典
数据元素
数据元素条目
数据元素名称:用户密码
别名:userpass
长度:16
描述:用户登录系统的密码
有关的数据结构:User
数据元素条目
数据元素名称:图书分类编号
别名:Bookindex
类型:数值型
长度:10
描述:图书分类的编号
数据元素条目
数据元素名称:读者编号
别名: Readerindex
类型:数值型
长度: 10
描述:区分读者的唯一标识
数据元素条目
数据元素名称:图书名称
别名: BookName
类型:文本型
长度: 50
描述:图书的名称
2)数据流条目
数据流条目
数据流名称:添加读者
简述:进入读者管理可进行添加
数据来源:读者资料
数据流向:读者信息表
包含的数据结构:数据流条目
数据流名称:查询结果
简述:从图书信息表中检索信息
数据来源:图书信息表
数据流向。查询结果
包含的数据结构:数据流条目
数据流名称:查询读者信息
简述:读者登录后可进行查询
数据来源:读者信息查询窗口
数据流向:读者信息查询窗口
包含的数据结构:
数据流条目
数据流名称:按条件查找
简述:读者按类别或作者查找的结果
数据来源:读者信息查询条件窗口
数据流向:读者信息查询条件窗口
包含的数据结构:
数据流条目
数据流名称:管理员登录
简述:管理员对图书进行管理
数据来源:管理员表
数据流向:管理员表
包含的数据结构:
数据流条目
数据流名称:显示图书
简述,由条件将齐类数据显来
数据来源:图书信息表
数据流向:浏览图书
包含的数据结构:
数据流条目
数据流名称:修改读者信息
简述:输入须修改的信息
数据来源,读者信息表
数据流向:读者信息修改界面
包含的数据结构:
数据流条目
数据流名称:读者信息
简述:读者都能对它进行维护
数据来源:读者信息表
数据流向:读者信息维护
包含的数据结构:
数据流条目
数据流名称:添加图书
简述:新购图书的添加
数据来源:图书信息表
数据流向:图书信息表
包含的数据结构:
数据流条目
数据流名称:修改图书信息
简述:图书更新
数据来源:图书信息表
数据流向:图书信息表
包含的数据结构:
3)处理过程描述
处理功能条目
名称:查询图书
输入数据:按图书编号、书目名称、作者等来查询
输出数据:图书
处理逻辑:(1)支持模湖查询编号、书目名称、书目作者
(2)对查询的图书可进行修改删除等
处理功能条目
名称:添加用户
输入数据:用户ID,用户密码,用户名称。
输出数据:是否添加成功
处理逻辑:(1)用户名称是否不同
(3)用户密码是否包含非法字符
处理功能条目
名称:添加图书
输入数据:图书编号,图书名称,作者,在库数量,单价,图书分类,图书简介。
输出数据:是否添加成功
处理逻辑: (1)是否有漏填
(2)数据要求是否匹配
(3)信息是否填写完整
(4)数据存储
数据存储条目
数据存储名称:图书信息表
说明:存储图书基本信息
结构:图书编号,图书名称,图书分类,出版社,入库时间,入库数量,图书状态,在库数量,图书简介。
关键字:图书编号
相关处理:查询,修改,添加,删除。
数据存储条目
数据存储名称:管理员信息表
说明:存储管理员信息
结构:管理员编号,管理员姓名,管理员密码。
关键字:管理员编号
4)外部实体条目
外部实体条目
名称:图书
说明:图书情况
输出数据流:图书借阅信息表
输入数据流:图书借阅信息
外部实体条目
名称:管理员
说明:读者信息情况
输出数据流:读者信息表
输入数据流:管理员 读者信息
外部实体条目
名称:读者
说明:读者借阅情况
输出数据流:读者借阅信息单
输入数据流:读者 借阅信息
6.教材购销系统的最初上层框架设计:
7.销售子系统初始SC图:
8.采购子系统初始SC图:
9.最终SC的上层框架:
10.初售动作分支的最初SC图:
四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容
需求说明书
软件需求说明书,又称为软件规格说明书,是分析员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。软件需求说明主要包括引言、任务概述、需求规定、运行环境规定和附录等内容。
概要设计说明书
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
详细设计说明书
详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化系统分析方法是采用自顶向下,由外到内,逐层分解'的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度 ,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术;而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运肘象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。
两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。
(3)对数据流图进行审查有何意义?
它在系统分析中的作用是,它用结构化系统分析方法从数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
确保两大特性:一致性(分层DFD中不存在矛盾和冲突)、完整性:(是否有遗漏的数据流、加工等)
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
一篇会议纪包含以下内容:标题、会议概述、主要议题、会议内容和后续工作,下面以用word做会议纪要的形式。先概括性的说明会议的主要议题,用尽量简短的语言概括会议主题,可增加解释性语句。根据会议流程,记录与会者的主要观点以及在讨论后各方达成了什么共识,制定了什么方案等等。建议给会议内容分类、分点的记录,让读者更直观的了解会议内容。
五.个人小结
1)psp耗时表
psp3.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 300 | 250 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 50 | 55 |
Development | 开发 | 10 | 5 |
Analysis | 需求分析(包括学习新技术) | 50 | 62 |
Design Spec | 生成设计文档 | 10 | 8 |
Design Review | 设计复审 | 5 | 5 |
Coding Standard | 代码规范 | 15 | 30 |
Design | 具体设计 | 20 | 50 |
Coding | 具体编码 | 30 | 50 |
Code Review | 代码复审 | 60 | 70 |
Test | 测试(自我测试,修改代码,提交修改) | 40 | 45 |
Reporting | 报告 | 20 | 15 |
Test Report | 测试报告 | 15 | 20 |
Size Measurement | 计算工作量 | 25 | 30 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 30 | 35 |