实验二 结构化分析与设计
实验二 结构化分析与设计
作业信息
博客班级 | 博客班级链接 |
---|---|
作业要求 | 作业要求链接 |
作业目标 | 掌握Visio的使用方法并会绘制各种流程图 |
学号 | 3180701129 |
一、实验目的
(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】图书管理系统
三、实验步骤
(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块
四、实验内容
图书管理系统
(1)结构化的分析与设计方法的主要过程;
分析方法:
1、分析基础:总体规划说明书
2、分析每个业务过程的详细流程
3、分析每个主题数据库的数据结构
4、建立分析模型:系统业务流程图、详细的数据流图、数据字典
5、结构化系统分析结果:系统分析说明书
设计方法:
1、确定主要的信息流
2、找出能代表输入和输出间最基本变化的过程
3、重画数据流图并把输入放在左边,输出放在右边
4、初步建立一个结构图草图
5、加入其他模块实现以下功能:数据输入、数据处理、数据输出
6、使用结构化的语言或决策树添加模块间逻辑
(2)系统存在的用户角色、工作流;
用户角色:管理员、读者、供应商人员
工作流:借书单、购书单、对图书信息的查询、对读者信息的查询、对数据进行审核与维护
(3)分层数据流图;
1、系统顶层DFD图
2、系统第一层DFD图
3、查询书籍流程图
4、借阅书籍流程图
5、归还书籍流程图
6、管理读者流程图
7、管理图书流程图
8、采购图书流程图
(4)数据字典;
五、思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
答:
1、需求说明书
它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。
2、概要设计
概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。
3、详细设计
详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
答:
结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。
面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。
(3)对数据流图进行审查有何意义?
答:检查数据流图的正确性,以及是否有遗漏,确保最终的一致性和完整性。
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 15 | 13 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 10 | 10 |
Development | 开发 | 180 | 200 |
Analysis | 需求分析(包括学习新技术) | 15 | 10 |
Design Spec | 生成设计文档 | 20 | 20 |
Design Review | 设计复审 | 10 | 8 |
Coding Standard | 代码规范 | 15 | 13 |
Design | 具体设计 | 15 | 15 |
Coding | 具体编码 | 20 | 30 |
Code Review | 代码复审 | 10 | 7 |
Test | 测试(自我测试,修改代码,提交修改) | 10 | 10 |
Reporting | 报告 | 20 | 30 |
Test Report | 测试报告 | 15 | 13 |
Size Measurement | 计算工作量 | 20 | 15 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 15 | 15 |