实验二 结构化分析与设计

博客班级 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548
作业目标 学会结构化分析与设计
学号 3180701329

一.实验目的

(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.数据流图

(1)顶层数据流图

(2)第一层数据流图

(3)借书处理数据流图

(4)还书处理数据流图

3.数据字典

(1)数据结构字典




(2)数据流字典







(3)处理逻辑字典




(4)数据存储字典



4.系统功能结构图

5.关键模块流程图

(1)借书处理流程图

(2)还书处理流程图

6.结构化程序设计语言,实现并测试部分功能模块

四.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。

答:(1)软件需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。
(2)概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。
(3)详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。详细设计说明书的内容主要有:编写目的、背景、定义、参考资料、程序系统的组织结构、程序(标识符)设计说明、程序描述、功能、性能、输入项、输出项、算法、流程逻辑、接口、存储分配、注释设计、限制条件、测试计划、尚未解决的问题、程序2(标识符)设计说明

(2)结构化分析方法与面向对象分析方法有无本质上的不同?

答:结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。

(3)对数据流图进行审查有何意义?

答:减少数据流图的错误,使数据流图更加准确。

(4)给出一次完整的会议讨论纪要,包括议题,最终结果。

PSP

psp2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 20 16
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 20 24
Development 开发 200 300
Analysis 需求分析(包括学习新技术) 24 10
Design Spec 生成设计文档 10 10
Design Review 设计复审 10 10
Coding Standard 代码规范 6 4
Design 具体设计 20 24
Coding 具体编码 72 42
Code Review 代码复审 10 14
Test 测试(自我测试,修改代码,提交修改) 20 30
Reporting 报告 18 12
Test Report 测试报告 6 4
Size Measurement 计算工作量 4 2
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 6 6
原文地址:https://www.cnblogs.com/zhangkai1/p/14036239.html