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


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

  • 相关阅读:
    发短信集合类-阿里云短信涉及类
    第四方 fast快捷支付封装
    佰米支付封装
    支付宝支付封装【修改至2021.01.11】
    关于支付
    tp5下的文件上传与下载类
    发送短信集合类
    文件中设置开启访问权限
    SpringBoot注解分析
    HashMap底层实现原理及面试问题
  • 原文地址:https://www.cnblogs.com/xinxinwuwu/p/14036219.html
Copyright © 2020-2023  润新知