实验二 结构化分析与设计

博客班级 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11540
学号 3190704229

一.实验目的
(1)掌握结构化分析的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。

二.实验内容
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。

三.实验步骤
(1)复习结构化的分析与设计的主要流程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块。

流程图




四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化分析方法:
结构化分析方法可能存在的风险在于:在得到问题本质性的描述之前,不断分解出的结论和需要处理的信息越来越多、越来越复杂,使得“只见树木不见森林”的风险大大增加。
结构化分析方法运用得好,要求系统分析员具有一种“俯视全局”的能力,能够透过问题的表象直接把握到问题本质。
当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到简洁、高效率的逻辑模型。结构化方法对复杂问题的帮助有限。但结构化方法有助于使用面向分析方法的系统分析员确认系统初的高阶模型。
面向对象方法:
提供了一种方便的、可持续观测和扩展系统的机制。面向对象抽象出的对象是健壮的、可控制和容易维护的。
总是试图抽象出更公用的类,因此对系统分析员抽象事物和把我初分析方向的要求很高。常常难以控制抽象对象的层次、粒度,甚至抽象出与问题本质面目全非的对象模型。掌握难度高于结构化分析方法。
通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,但发生错误时,定位故障的代价大。尤其时继承的深度很大时。
对于需求变化频繁的系统,得到一个高度可复用的面向对象软件系统设计是很困那的事情。
结论:两种方法不是对立的,没有谁先进谁过时之说,可在项目中结合使用。恰当的运用方法解决问题才是根本性的问题。在运用时应关注运用方法的成本和价值。
(3)对数据流图进行审查有何意义?
数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的;数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;数据流图适合于宏观地分析一个组织业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。因此,对数据流图进行审查是非常有必要的。
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
一、标题:结构化分析与设计实验
二、会议概述:会议主题:结构化分析与设计实验的选题,分工,实施方案。
三、会议内容:1.确定一个参照的系统——ATM自动取款机
2.具体分工:所有人一起进行了选题的结构化需求分析,随后大致平均分配了数据流图、流程图等的绘制和系统的实现与测试

posted @ 2020-12-08 23:45  等风`  阅读(125)  评论(0编辑  收藏  举报