实验二 结构化分析与设计

博客班级 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548
学号 3180701324

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

二.实验内容
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
图书管理系统:
用户需求:
1.要有强大的功能,系统包括系统管理、读者管理、编目、流通、统计、查询等功能。
2.有很好的安全性,安全性一般涉及到操作权限控制和数据自动备份两方面。       
3. 要有足够大的辅助编目库,在对图书进行编目也就是信息采集时,通过扫描图书的 ISBN号条码就能得到大多数书的书名、作者、出版社等各种标准信息,编目准确性和效率将会得到极大的提高。       
4. 要具有完善的规则,除了能够设置读者的借阅规则外,还应自动实现一些图书馆界通用的管理规则,例如有在借资料的读者是不能被删除的,有以下情况的读者是不能借阅的:某类书的借阅数已达到最大值、有超期资料、有未缴罚款、被暂停借阅等 
5. 简单易用,系统应具有清楚的操作界面,最简化的操作过程。

系统需求和业务需求:
1.读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注。 
2.书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。 
3.借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借书日期、借书期限、备注。 
4.还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还书日期、还书期限、备注、对超期的情况自动给出提示。可以打印出应归还图书的所有人员名单;也可以选择要打印清单的单位(部门),然后对该单位(部门)的应归还图书人员的借书信息进行打印。 
5.有条件、多条件查询各种信息。 根据借阅人编码,获得该人员的全部借阅信息。 可以获得所有已到期但尚未归还的催还书目信息。 用户可以模糊查询,也可以精确查询。 
6.新生办理借书证、丢失办理结束证、挂失。 
7.系统维护 管理员维护:系统管理员可以创建和删除图书管理员编码及口令。但无权修改图书管理员编码及口令,非系统管理员只可以修改自己的口令。    
部门维护 :当借阅人中有人属于某一部门,系统就不允许用户删除该部门。    
默认还书期限:默认还书期限是以月计,修改并确认后,系统将按照设置填写借阅图书操作中的预期还书日期。

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





数据字典:
<1>数据元素数据字典


<2>数据存储字典



<3>数据流数据字典






<4>数据处理数据字典





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







(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。

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

四.思考题
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
<1>需求说明书
软件需求说明书的编制是为了使用户和软件开发者双方对该软件的运行环境、功能和性能需求的初始规定有一个共同的理解,使之成为整个开发工作的基础,为概要设计提供需求说明。
格式如下所示:

  1. 引言
    1. 编写目的
    2. 背景
    3. 定义
  1. 任务概述
    1. 目标
    2. 用户的特点
    3. 假定和约束
  1. 需求规定
    1. 对功能的规定
    2. 对性能的规定
    (1). 精度
    (2). 时间特性的需求
    (3). 灵活性
    3. 输入输出要求
    4. 数据管理能力要求
    5. 故障处理要求
    6. 其他专门要求
  1. 运行环境规定
    1. 设备
    2. 支持软件
    3. 接口
    4. 控制

<2>概要设计
收集相关资料,确定设计目标,完成系统的架构设计。

<3>详细设计说明书
详细设计(又可称程序设计机)说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)的实际考虑,为程序员编写程序提供依据。如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计机说明书中不重复部分合并编写,文档名称为《软件设计说明书》。

(2)结构化分析方法与面向对象分析方法有无本质上的不同?
答:结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。

(3)对数据流图进行审查有何意义?
答:检查图中是否存在错误或不合理(的部分。

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

posted @ 2020-12-05 11:52  WGT-UP  阅读(240)  评论(0)    收藏  举报