实验二:结构化分析与设计

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11540
这个作业的目标
(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
学号 3190704213

二.实验内容

(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)系统部分功能测试








三.思考题

1、简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书
需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据

②概要设计说明书
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。

③详细设计说明书
详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关 内容合并入概要设计说明书。

2、结构化分析方法与面向对象分析方法有无本质上的不同?
①.结构化方法遵循的基本原则
结构化方法的基本思想就是将待解决的问题看作一个系统从而用系统科学的思想方法来分析和解决问题结构化方法遵循以下基本原则
(1)抽象原则
抽象原则是一切系统科学方法都必须遵循的基本原则它注重把握系统的本质内容而忽略与系统当前目标无关的内容它是一种基本的认知过程和思维方式
(2)分解原则
分解原则是结构化方法中最基本的原则它是一种先总体后局部的思想原则在构造信息系统模型时它采用自顶向下分层解决的方法
(3)模块化原则
模块化是结构化方法最基本的分解原则的具体应用它主要出现在结构化设计阶段中其目标是将系统分解成具有特定功能的若干模块从而完成系统指定的各项功能
②.面向对象模型遵循的基本原则
面向对象模型遵循的基本原则有:抽象、封装、模块化以及层次原则等
(1)抽象
抽象是处理现实世界复杂性的最基本方式在OO方法中它强调一个对象和其他对象相区别的本质特性对于一个给定的域确定合理的抽象集是面向对象建模的关键问题之一
(2)封装
封装是对抽象元素的划分过程抽象由结构和行为组成封装用来分离抽象的原始接口和它的执行
封装也称为信息隐藏Information Hiding它将一个对象的外部特征和内部的执行细节分割开来并将后者对其他对象隐藏起来
(3)模块化
模块化是已经被分为一系列聚集的和耦合的模块的系统特性对于一个给定的问题确定正确的模块集几乎与确定正确的抽象集一样困难通常每个模块应该足够简单以便能够被完整地理解
(4)层次
抽象集通常形成一个层次,层次是对抽象的归类和排序。在复杂的现实世界中有两种非常重要的层次一个是类型层次另一个是结构性层次 。确定抽象的层次是基于对象的继承,它有助于在对象的继承中发现抽象间的关系,搞清问题的所在理解问题的本质
③.结构化方法的核心问题
模型问题是结构化方法的核心问题建立模型简称建模是为了更好地理解我们要模拟的现实世界建模通常是从系统的需求分析开始在结构化方法中就是使用SA方法构建系统的环境模型然后使用SD方法确定系统的行为和功能模型最后使用SP方法进行系统的设计并确定用户的现实模型
④.面向对象方法的核心问题
面向对象方法与结构化方法一样其核心问题也是模型问题面向对象模型主要由OOA模型OOD模型组成其中OOA主要属于学科抽象形态方面的内容OOD主要属于学科设计形态方面的内容
⑤.结构化系统分析方法的特点
(1)面向用户,用户自始至终参与系统的分析工作;
(2)强调调查工作的重要性;
(3)对管理业务中的各种数据进行分解;
(4)采用了层次分解的系统思想;
(5)用图形工具来分析和构建新方案。
¨结构化分析的图表工具主要由数据流程图、数据字典和数据处理说明组成。
⑥.面向对象系统分析方法的特点
(1) 强调系统开发的整体性和全局性
(2) 侧重于数据转换的过程而不是数据本身
(3) 系统的开发周期长
(4) 封装性
对象的概念突破了传统数据与操作分离的模式。对象作为独立存在的实体,将自由数据和操作封闭在一起,使自身的状态、行为局部化。
(5) 继承性
继承是面向对象特有的,亦是最有力的机制。通过类继承可以弥补由封装对象而带来的诸如数据或操作冗余的问题,通过继承支持重用,实现软件资源共享、演化以及增强扩充。
(6) 多态性
同一消息发送至不同类或对象可引起不同的操作,使软件开发设计更便利,编码更灵活。
(7) 易维护性
面向对象的抽象封装使对象信息隐藏在局部。当对象进行修改,或对象自身产生错误的时候,由此带来的影响仅仅局限在对象内部而不会波及其他对象乃至整个系统环境,这极大方便了软件设计、构造和运行过程中的检错、修改。

简单地说结构化分析方法主要用来分析系统的功能,依据系统内部的逻辑关系将复杂的系统分解为易于理解和分析的子系统,是一种直接根据数据流划分功能层次的分析方法,而面向对象分析方法则是根据获得的需求信息从中抽象出类与对象并分析他们之间的静态关系,再结合实际问题,确定对象的动态行为以及对象间的信息传递,以此建立需求模型。结构化的分析方法较为传统,主要适用于数据处理,其主要以非专业人士也易于理解的图形符号来表示系统的基本功能;若遇到大型复杂的系统则根据其系统内部的逻辑关系将其划分为简单易懂的子系统,然后根据具体的实际情况确定系统内部的数据流以及交换关系,并用数据流图表示出来,以此更好的理解整个系统。

3、对数据流图进行审查有何意义?
面向对象的方法将对象作为实体,对其操作的函数对其依赖性很强,也就是对象更重要,例如C++语言,而结构化方法更关注的是程序自己的运行状态,以及函数的执行效率,例如C语言。

4、给出一次完整的会议讨论纪要,包括议题,最终结果。
这次实验是小组作业,组员分别有吴山茶、张燕妮和我,我们在2020年11.26日C座501软件工程导论实验课上讨论了本次实验的选题,经过各种讨论和分析,大家一致决定做“教材征订管理系统”,确定了选题,我们开始分配工作,分工合作,吴山茶同学和我负责需求分析,各种数据流图以及结构图的绘制,张燕妮同学负责具体编码,然后三人一起进行系统的测试。

posted @ 2020-12-08 23:19  De_er  阅读(497)  评论(0)    收藏  举报