博客班级 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548
作业目标 流程图的绘制
学号 3180701114

一.实验目的

(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)简述需求说明书,概要设计,详细设计说明书的主要内容。
答:1.需求分析:产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。2.概要设计:产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。
3.详细设计:产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。理论上要求可以照此编码。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
答:结构化分析方法是先创建总体结构模型 之后逐渐填充完善目标的方法;面向对象分析方法是先确认每小部分的过程模型 最终整合完善目标的方法。
(3)对数据流图进行审查有何意义?
答:在审查过程中可以知道数据来自哪里和去往哪里,可以有效地知道数据流图是否绘制正确,同时,在之后的软件设计过程中提供理论保障。
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
一篇会议纪包含以下内容:
标题:飞机订票功能系统具体功能。
会议概述:在机票订票过程中我们要确定一共需要多少的功能选项,完成它们需要哪些步骤。
主要议题:飞行订票系统的各种功能何如实现以及如何完善这些功能对操作方产生最大便利。
会议内容飞行订票系统包括订票、退票、付款,退款、取票查询票数等工作,下面以用word做会议纪要的形式。
根据会议流程,记录与会者的主要观点以及在讨论后各方达成了什么共识,制定了什么方案等等。建议给会议内容分类、分点的记录,让读者更直观的了解会议内容。

psp表格

psp2.1 任务内容 计划需要完成的时间(min 实际完成需要的时间(min)
Planning 计划 300 360
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 360 360
Development 开发 20 15
Analysis 需求分析(包括学习新技术) 30 30
Design Spec 生成设计文档 40 30
Design Review 设计复审 30 30
Coding Standard 代码规范 20 15
Design 具体设计 20 10
Coding 具体编码 100 120
Code Review 代码复审 10 20
Test 测试(自我测试,修改代码,提交修改) 10 15
Reporting 报告 20 20
Test Report 测试报告 20 15
Size Measurement 计算工作量 20 10
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 20 20