结构化分析与设计

博客編輯 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548
作业目标 实验内容:
1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求
2)绘制系统的分层数据流图,并给出数据字典;
3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
4)为关键模块进行详细设计,如绘制关键模块的流程图;
5)实现系统部分功能并测试。
学号 3180701234

一、实验目的

(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)复习结构化的分析与设计方法的主要过程;

1.1结构化方法概述

结构化方法是一种传统的软件开发方法, 它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想:把- -个复 杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。

该方法的特点如下:

●成功率较高, 发展较为成熟:

简单、易掌握,适应于瀑布模型:

特别适合于数据处理领域中的应用,对规模大的项目,特别复杂的应用不太适应。●难于解决软件重用问题, 难于适应需求的变化

1.2结构化分析方法

结构化分析方法是以自顶向下,逐步求精为基点,以- -系列经过实践的考验被认为是正确的原理和技术为支撑,以数据流图,数据字典,结构化语言,判定表,判定树等图形表达为主要手段,强调开发方法的结构合理性和系统的结构合理性的软件分析方法。

结构化分析的步骤如下:

①分析当前的情况,做出反映当前物理模型的DFD;.

②推导出等价的逻辑模型的DFD;

③设计新的逻辑系统,生成数据字典和基元描述;

④建立人机接口,提出可供选择的目标系统物理模型的DFD;

⑤确定各种方案的成本和风险等级,据此对各种方案进行分析:

⑥选择- -种方案:

⑦建立完整的需求规约。

1.3结构化设计方法

结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方

结构化设计方法给出一-组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。SD方法尤其适用于变换型结构和事务型结构的目标系统。在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。

结构化设计的步骤如下:

①评审和细化数据流图;

②确定数据流图的类型:

③把数据流图映射到软件模块结构,设计出模块结构的上层:

④基于数据流图逐步分解高层模块,设计中下层模块;

⑤对模块结构进行优化,得到更为合理的软件结构:

1.4结构化程序设计

结构化程序设计( structured programming) 是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra
在1965年提出的,是软件发展的-一个重要的里程碑。它的主要观点是采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构
构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。结构化程序设计主要强调的是程序的易读性。

(2)讨论系统存在的用户角色、工作流等;

该系统可细化为两个子系统:销售系统和采购系统

销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教

师或学生即可去书库领书。

采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员:- - 旦新书入库后,即发进书通知给教材发行人员,

以上的功能要求在计算机上实现。

(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;

库存表= {书号+书铭+数量+单价}

缺书登记表= {登记日期+需求信息}

缺书信息=[学生信息|教师信息]+{书号+缺书数量+备注}

进书通知=进书日期+书号+书名+数量

购书单=单号+[学生信息教师信息]+{书号+书名+购书数量+备注}




(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;

软件结构图:

结构图定义:以模块为基础、以模块间的调用为关联所构成的图称模块结构图,简称结构图。结构图次的方法来描述系统每部分的功能和子功能,展示计算机程序模块间的联系。

学校教材订购系统:





(5)选择对应的结构化程序设计语言,实现并测试部分功能模块

四.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书
 软件需求说明书,是指用户要求的基础上,完成可行性分析和投资效益分析,它详细定义了功能需求,设计要求和限制,是分析员在需求分析阶段需要
完成的文档,是软件需求分析的最终结果。为着手进行设计工作的基础和依据,系统开发完成以后, 为产品的验收提供了依据
②概要设计说明书

概要设计说明书又可称系统设计说明书,是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、

数据结构设计和出错处理设计等,为详细设计奠定基础。
③详细设计说明书

详细设计说明书又可称程序设计说明书。是详细设计阶段的主要成果,也是编码阶段主要参考的文档。编制目的是说明一个软件系统各个层次中的每一
个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,详细设计阶段的主要参考文档是概要设计说明书。详细设计说明书是
整个系统开发的依据,原则上来说,任何一个程序员都能读懂详细设计说明书,能遵照详细设计说
明书实现程序。。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化方法主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法;结构化方法的基本特点是表达问题时尽可能使用图形符号,即使非计
算机专业人员也也易于理解,设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能,对于相当复杂的系统,SA采用化整为
零,逐个击破和从抽象到具体逐层分解的方法。
面对对象的分析分为问题分析和应用分析,问题分析的主要任务是收集并确认用户的需求分析和过程分析,从中抽象出问题的基本概念,属性和操作,然后用泛化,
组成和关联结构描述实体间的静态关系。应用分析的主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为,对象之间的消息传递和协同工作的动态信息。
(3)对数据流图进行审查有何意义
数据流图是一种分析工具,全面的描述了系统数据流程,综合地反映出系统中信息的流动、处理和存储情况。它在系统分析中的作用是,它用结构化系统分析方法从
数据传递和加工角度出发,用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
确保两大特性:
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等

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

posted on 2020-12-08 21:52  卑微的小小灿  阅读(896)  评论(0)    收藏  举报

导航