软件工程实验二—结构化分析与设计

摘要:
1、 实验的目的是掌握结构化需求分析方法;掌握分层数据流图的绘制、数据字典的编写和处理说明;掌握数据流图到软件结构图的映射方法;掌握需求规范和设计规范。
AHPU-软件工程导论-计算机18级班级链接
作业要求作业链接
作业目标1.掌握结构化的需求分析方法
2.掌握分层数据流图的绘制、数据字典和加工说明的编制
3.掌握数据流图映射为软件结构图的方法
4.掌握需求说明书和设计说明书的主要内容,学习软件需求说明书和设计说明书的编写
5.掌握测试的基本方法。

一.实验目的

(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. 分析当前情况,做出反映当前物理模型的DFD
2. 推导出等价的逻辑模型的DFD
3. 设计新的逻辑系统,生成数据字典和基元描述
4. 建立人机接口,提出可供选择的目标系统物理模型的DFD
5. 确定个方案的成本和风险等级,根据此对各种方案进行分析
6. 选择一种方案并建立完整的需求规约
③结构化设计方法:结构化设计方法是以自顶向下,逐步求精,模块化为基
点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为
准则的设计软件的数据架构和模块架构的方法学。
④结构化设计步骤:
1. 评审和细化数据流图
2. 确定数据流图的类型
3. 把数据流图映射到软件模块结构,设计出模块结构的上层
4. 基于数据流图逐步分解高层模块,设计中下层模块
5. 对模块结构进行优化,得到更为合理的软件结构
6. 描述模块接口

(2)讨论系统存在的用户角色、工作流等;
以教材订购系统为例:
①用户角色可以有学生、教师、书库管理员
②工作流有:
* 对学生或老师提供的购书单进行审查
* 打印有效的购书单和发票交给学生教师并登记缺书单提交
给书库管理员
* 书库管理员收到进书通知以及缺书单,并根据此采购书籍
* 学生教师根据拿到的发票和领书单领书

(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
数据流图:
顶层图
一层图
流程一细分
流程二细分

数据字典:
1.数据项
①姓名 本校学生/教师/书库管理员的名字
②学号 学生的学号
③工号 教师或书库管理员的工号

2.数据结构
①学生={姓名+学号+所属院系}
②教师={姓名+工号+所属院系}
③书库管理员={姓名+工号}

3.数据流
①购书单={学生/教师,教材订购系统}
②领书单={教材订购系统,学生/教师}

4.数据存储
①F1 库存表 存储校内剩余的教材类别及数量
②F2 缺书登记表 存储学生或教师提供的缺书信息

5.处理过程
①订购 将学生或教师提供的缺书信息登记并审核,将有效信息提交给书库管理员
②采购 将书库管理员提供的进书信息登记并审核

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

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

四.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书的内容应包含如下几部分内容:
1.概述开发软件的目的、意义、背景以及用户的特点和约束
2.软件的功能说明、性能说明、输入输出要求、数据管理要求以及故障处理要求
3.要有数据流图、数据字典和接口说明等数据描述
4.要说明软件运行所需的硬件设备、系统软件和工具
5.说明软件开发在成本、进度、设计和实现方面的限制

  ②概要设计书的内容应包含如下几部分内容:
  1.编写该概要设计书的目的,指出预期读者
  2.说明要设计的软件的名称,列出此项目的提出者、开发者、目标用户以及运行该软件的计算站
  3.列出本设计书中用到的专业术语的定义以及外文词组的意思和本文件参考的相关资料
  4.要说明本软件系统主要的输入输出项目、处理的功能性能要求、对运行环境的要求以及基本设计概念和处理流程
  5.要说明本系统的系统元素的划分,简要给出每个系统元素的功能,分层次地给出各系统元素之间的管理关系
  6.要说明本软件系统在工作过程中不得不需要的人工处理过程以及尚未解决而要在软件完成之前必须解决的问题
  7.要分别说明用户接口、外部接口、内部接口
  8.给出系统在不同外界环境下各种不同的运行模块组合以及运行控制和时间
  9.给出软件系统所使用的数据结构及其相关内容和它们的物理结构要点以及与程序的关系
  10.说明软件系统可能出错或故障时,系统输出信息的形式、含义和处理方法

  ③详细设计说明书的内容应包含如下几部分内容:
  1.该详细设计说明书的编写目的和预期读者
  2.该软件系统的名称以及该项目的提出者、开发者、预期用户和运行该软件的计算站
  3.列出本设计书中用到的专业术语的定义和外文的注释以及该设计书的参考资料
  4.列出本软件系统中每个程序的名称和内容,如简要描述、功能、性能、输入输出项
  5.详细说明本软件某个模块所选用的算法,具体计算公式、计算步骤、流程逻辑、、接口等
  6.本软件运行中受到的限制条件
  7.说明对该软件进行单体测试的计划
  8.尚未解决的问题

(2)结构化分析方法与面向对象分析方法有无本质上的不同?
没有,他们本质上都是先对问题进行抽象化

(3)对数据流图进行审查有何意义?
分层数据流图要保持上下的一致性以及完整性,对其进行审查就是保证两两分层之间以及整体中不会出现矛盾与冲突,不遗漏数据结构、数据流、数据存储等元素

免责声明:文章转载自《软件工程实验二—结构化分析与设计》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringBoot整合WebServicesqlServer:convert()函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息       Linux:ubuntu 16.04.3 amd64 查看NetCore支持的Linux系统       NetCore不是支持Linux的所有系统,只支持部分,所以在Linux上安装NetCore之前要查看系...

win2012基础服务

目录 1 防火墙 2 远程连接 win同时只能单用户登录 rdesktop&mstsc 单用户多连接 3 系统准备工具sysprep封装系统-安全策略 4 cmd常用命令 5 文件共享 samba协议 基于smb右键共享 服务器管理器smb/nfs 6 AD域 2012r2安装AD域 新建组和用户 win7加入域 域用户凭据...

成为全栈工程师需要学习哪些知识?

全栈工程师,也叫全端工程师,英文Full Stack developer。是指掌握多种技能,并能利用多种技能独立完成产品的人。那么要成为全栈工程师你需要掌握哪些技能呢? 1.产品设计      ai(作为一款非常好的图片处理工具)      coredraw(平面设计软件) 2.界面设计      ui      ps 3.前端开发移动优先       i...

Android studio初见及结构分析

经过千辛万苦之后,终于安装上了Android studio1.5,下面就来看一下AS的界面,了解一下工程结构,为以后的App开发做准备。 下图即为用于测试的App结构: 如上图所见,App结构包括两个子目录,包括app和Gradle Scripts两个子目录,首先对这两个子目录分别进行介绍: app目录中又包含三个子目录,其中 1、mainfests包含...

express 配置 https 服务 ( 以阿里云服务器为例), 探索一周终于搞定

首先最重要的是 你要明白 https接口的接收或者发送 的形式 是  https://域名:端口号   而不是 https://ip:端口号   一,首先,去阿里云注册免费ssl证书   1,在搜索框中输入关键字证书,点击SSL证书   2,点击购买证书   3,选择免费型,点击购买 4,点击支付  5,点击确认支付 6,支付成功后进入证书控制...

关于谷歌不然安装除商店之外的拓展应用解决

1.下载chrome.adm  (下载链接:链接:https://pan.baidu.com/s/1zRD4MNQDjHdKVqf4QkL_3A 密码:svg8) 2.打开运行命令(Win+R) 输入gpedit.msc  打开本地策略编辑器 3.右击管理模板,选择添加模板,然后点击添加把chrome.adm加入,然后关闭 4.依次打开一下文件夹,点击扩...