zoukankan      html  css  js  c++  java
  • 实验二 结构化分析与设计

    名称
    内容
    博客班级 班级链接
    作业要求 作业链接
    学号 3180701104

    一.实验目的

    (1)掌握结构化的需求分析方法;

    (2)掌握分层数据流图的绘制、数据字典和加工说明的编制;

    (3)掌握数据流图映射为软件结构图的方法;

    (4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;

    (5)掌握测试的基本方法。

    二.实验内容

    (1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;

    (2)绘制系统的分层数据流图,并给出数据字典;

    (3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;

    (4)为关键模块进行详细设计,如绘制关键模块的流程图;

    (5)实现系统部分功能并测试。

    【实例1】机票预订系统

    参考:

    (1)携程网

    (2)去哪儿

    为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行

    时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出

    机票给顾客。

    【实例2】教材订购系统

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

    书单,教师或学生即可去书库领书。

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

    行人员。

    【实例3】图书管理系统

    参考:安徽工程大学图书馆

    三.实验步骤

    (1)复习结构化的分析与设计方法的主要过程;

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

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

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

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

    【实例1】机票预订系统

    系统的分层数据流图




    数据字典






    系统软件结构图


    【实例2】教材订购系统

    系统的分层数据流图




    数据字典

    系统软件结构图



    【实例3】图书管理系统

    系统的分层数据流图

    数据字典

    系统软件结构图

    四.实验思考题

    (1)简述需求说明书,概要设计,详细设计说明书的主要内容。

    ①需求分析:产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。

    用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。

    ②概要设计:产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且

    需要指出关键技术难点等。

    ③详细设计:产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完

    成,然后在集成,是具体的实现细节。理论上要求可以照此编码。

    (2)结构化分析方法与面向对象分析方法有无本质上的不同?
      结构化系统分析方法是采用自顶向下,由外到内,逐层分解'的思想对复杂的系统进行分解化简,从而有效地控

    制了系统分析每一步的难度 ,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。

      而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运肘象属性和方法等来操作和处理业务数据

    和逻辑的系统分析方法。

      两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的

    逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统

    的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可

    以用面向对象软件系统的方法。

    (3)对数据流图进行审查有何意义?

    检查图中是否存在错误或不合理(不理想)的部分

      确保两大特性

    一致性:分层DFD中不存在矛盾和冲突。

    完整性:是否有遗漏的数据流、加工等

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

      一篇会议纪包含以下内容:标题、会议概述、主要议题、会议内容和后续工作,下面以用word做会议纪要的形式。

    先概括性的说明会议的主要议题,用尽量简短的语言概括会议主题。可增加解释性语句。根据会议流程,记录与会

    者的主要观点以及在讨论后各方达成了什么共识,制定了什么方案等等。建议给会议内容分类、分点的记录,让读

    者更直观的了解会议内容。

    五.个人小结

    psp表格

    psp 任务内容 计划需要完成的时间(min 实际完成需要的时间(min)
    Planning 计划 120 180
    Estimate 估计这个任务需要多少时间,并规划大致工作步骤 100 150
    Development 开发 20 15
    Analysis 需求分析(包括学习新技术) 30 30
    Design Spec 生成设计文档 30 40
    Design Review 设计复审 5 10
    Coding Standard 代码规范 20 15
    Design 具体设计 20 10
    Coding 具体编码 100 120
    Code Review 代码复审 10 15
    Test 测试(自我测试,修改代码,提交修改) 10 10
    Reporting 报告 10 10
    Test Report 测试报告 5 10
    Size Measurement 计算工作量 5 5
    Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 15 20
  • 相关阅读:
    浅析Vue3相关基础知识:Vue3应用配置、重写的vmodel、emits 选项、getCurrentInstance()获取实例、采用mitt实现全局通讯、vuerouter的新特性
    Vue3结合TS项目开发实践:Composition API的风格理念、关注点分离、如何组织TS进行项目开发(采用声明文件来管理接口及所需类型/目录结构推荐)
    TypeScript类型守卫、联合类型、交叉类型
    Android开发历程_14(广播机制)
    OpenGL_Qt学习笔记之_03(平面图形的着色和旋转)
    OpenGL_Qt学习笔记之_06(纹理滤波、光照和色彩融合)
    Qt学习之路_12(简易数据管理系统)
    特征点检测学习_2(surf算法)
    Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
    PCA算法学习_1(OpenCV中PCA实现人脸降维)
  • 原文地址:https://www.cnblogs.com/youseing/p/14094995.html
Copyright © 2011-2022 走看看