课程03软件需求分析.ppt_第1页
课程03软件需求分析.ppt_第2页
课程03软件需求分析.ppt_第3页
课程03软件需求分析.ppt_第4页
课程03软件需求分析.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章软件需求分析 完善的软件需求说明是软件开发项目得以成功的基础 不管设计如何精心或者编码如何巧妙 如果对软件需求不加以明确规定 将会给用户和开发者带来严重后果 在规定软件需求时 软件的开发者和需求者起着同样重要的作用 软件开发者应起到询问 顾问和问题解决者的作用 而软件需求者应设法澄清和重新阐述有关软件的功能和性能的一些模糊的概念 使之成为具体的细节 常用的软件需求分析方法是 结构化分析 structuredanalysis SA 方法 3 1需求分析阶段的任务 需求分析是软件生存周期中计划阶段的最后一个步骤 以软件范围为指南 软件需求分析试图实现如下几个目标 通过揭示信息的流程与结构为软件的开发打下基础 通过确定接口细节 深入描述软件功能 确定设计的约束以及规定软件需求来说明该软件 建立并保持与用户以及软件需求者的联系 以便实现上述两个目标 需求分析阶段的研究对象是软件开发产品的用户需求 这些需求最终要在所开发的软件产品上体现出来 或得到一定程度的满足 这些需求通常包括 功能需求 性能需求 可靠性需求 安全保密需求 成本消耗需求 开发进度需求 资源使用需求 用户接口需求 在研究用户需求的基础上 将可以接受的需求和分析结论编写成软件需求说明书 又称软件规格说明书 作为需求分析阶段的主要工作成果 需求分析阶段的工作主要由软件开发人员承担 工作配合关系示意图 3 2结构化分析方法 结构化分析方法 SA 适用于数据处理类型软件的需求分析 并且已经得到了广泛应用 这一方法除了具有比较简明 易于掌握的优点之外 在进入设计阶段后 还能和结构化设计方法 structureddesign SD 相衔接 从而取得良好的设计效果 3 2 1结构化分析方法的内容 结构化分析方法的基本手段是 分解 和 抽象 这是系统开发技术中控制复杂性的两种通用方法 对于一个复杂的系统 结构化分析方法采用 自顶向下 逐层分解 的方式 即先把分析对象抽象成为一个系统 然后自顶向下地层层分解 使复杂的系统分解成足够简单 能够清楚地被理解和表达的若干子系统 自顶向下 逐层分解示意图 结构化分析方法采用介于形式语言和自然语言之间的描述方式来编写软件文件 并尽量采用图形表示 比较形象 直观 易于理解 避免了冗长 重复 难于阅读和修改等缺点 从而得到具有明显优越性的结构化软件需求说明书 用结构化分析方法获得的软件文件资料主要包括 数据流程图 dataflowdiagram DFD 数据字典一组基本加工 处理逻辑 说明 3 2 2结构化分析方法的步骤 进行系统需求分析的具体步骤如下 获得现行系统的具体模型抽象现行系统的逻辑模型建立目标系统的逻辑模型补充目标系统的逻辑模型 3 3数据流程图 数据流程图又称数据流图 它以图形的方式来表达数据处理系统中信息的变换和传递过程 作为一种描述手段 它可以模拟手工 自动以及两者兼而有之的数据处理过程 3 3 1数据流程图的属性和成分 数据流程图有三个重要属性 可以表示任何一个系统 人工 自动或混合的 中的信息流程 每个圆圈可能需要进一步分解以求得对问题的全面理解 强调的是数据流程而不是控制流程 3 3 1数据流程图的属性和成分 工资处理数据流程图 3 3 1数据流程图的属性和成分 数据流程图中的基本符号有如下几种 数据流 加工 文件 数据源及数据终点 除了上述四种基本成分外 数据流程图还有几种附加成分 例如 星号 表示几股数据流之间 与 的关系 加号 表示 或 的关系 号表示从几股数据流中选取一股 即 互斥 的关系 数据流 3 3 2数据流程图示例 基本系统模型把整个材料核算工作抽象成一个加工 并标上所有的输入数据流和输出数据流 即为材料核算子系统的顶层数据流程图 3 3 2数据流程图示例 顶层数据流程图 3 3 2数据流程图示例 接下来 对材料核算功能 加工 进行分解 一般材料核算包括采购核算 储存核算 发出核算等 据此画出第一层数据流程图 分解后的子图中生出了一些 新 的数据流和文件 它们是顶层数据流程图中 材料核算 内部的数据流和文件 与其外部元素没有联系 3 3 2数据流程图示例 第一层数据流程图 3 3 2数据流程图示例 分别对第一层数据流程图中的几个核算处理 加工 再进行分解 可画出第二层数据流程图 下图所示为对 发出核算 进行功能分解得到的第二层数据流程图 其他如 采购核算 储存核算 等 都可以用同样的方法进行分解 画出相应的数据流程图 3 3 2数据流程图示例 第二层数据流程图 3 3 3数据流程图绘制准则 数据流程图描绘的是信息流 它没有明显的控制说明 不是一个用圆圈表示的程序流程图 在推导数据流时有几个非常简单而有用的准则 第一层数据流程图应当是基本系统模型 应当仔细说明原始的输入 输出文件 所有箭头和圆圈均应加上标注 使用有意义的名称 必须维持信息的连续性 每一次只细化一个圆圈 可以在数据流程图中加上物质流 如在图3 3中 现金 是物质流 3 3 3数据流程图绘制准则 在画分层数据流程图时 要注意 1 加工编号 遵循两条原则 第从加工编号能知道该加工处在哪一层 从加工编号能知道该加工是从父图中哪个加工分解得来的 2 分解程度 包括两个方面 每个加工每次分解成几个子加工比较恰当 分解深度 即分解的层数问题 3 父图和子图的平衡 3 4数据字典 数据字典是结构化分析方法的另一个有力工具 它针对数据流程图中出现的所有数据元素给出逻辑定义 有了数据字典 数据流程图中的数据流 加工和文件都能得到确切的解释 数据字典的条目可以分成四大类 即数据流 文件 数据项和加工条目 这些数据元素的定义通常以定义式的形式给出 根据所考虑问题的大小 一个数据处理系统的数据字典可能有几十 几百甚至几千个定义式 3 4数据字典 通常 在数据字典的定义式中可能出现的符号及含义是 设x和a b都是数据元素 x a bx由a和b构成x a b x由a或b构成x a 数据元素a在x中可出现 也可不出现x a x由0个或多个重复的a构成 3 4 1数据流条目 数据流条目主要说明数据流是由哪些数据项组成的 数据在单位时间内的流量 以及数据的来源 去向等 例如 数据流 银行对账单 条目 3 4 2文件条目 文件条目主要说明文件由哪些数据项组成 以及文件的存储方式和存取频率等 3 4 3数据项条目 数据项条目主要说明数据项类型 长度 取值范围等 例如 数据项 凭证号 条目和数据项 经办人 条目 3 4 4加工条目 加工条目主要说明加工的输入数据 输出数据及加工逻辑等 例如 加工 科目汇总 条目 3 5加工的分析与表达 在逐层画出新系统的数据流程图 建立相应的数据字典后 数据流程图中的每一个加工在数据字典中也都有了定义 然而在数据字典中 不可能也不应该过多地表达每一个加工的详细内容 因此系统的最小功能组成部分就是最底层的数据流程图中的每一个加工 通常把这种加工称做 功能单元 只有系统中的每一个功能单元才应该给出详细的说明 使得用户 系统设计员和程序设计员都了解它的具体逻辑功能 3 5 1加工的表达原则 为了清楚地表达一个加工 应当遵循以下几条规则 对数据流程图的每一个功能单元 都必须有一个 基本说明 基本说明 应该表达这个功能单元对数据流的转换路径 基本说明 应该表达这个功能单元对数据流的转换策略 要指出应该做什么 而不是如何去做 基本说明 应该把冗余度控制在最低限度 要用一组标准的方法书写 基本说明 使它的内容和结构保持简单 扼要 精炼 具有较高的可读性 3 5 2结构化语言 结构化语言是受到结构化程序设计思想的启发而扩展出来的 是一种书写 基本说明 的语言 介于自然语言和高级语言之间 结构化语言使用的词汇主要是祈使句中的动词 在数据字典中定义的名词和某些逻辑表达式中的保留字 3 5 2结构化语言 结构化语言所使用的语句主要有以下4类 简单的祈使语句判断语句循环语句上述3种语句的复合语句 3 5 2结构化语言 以学校录取新生的数据处理问题为例 来看结构化语言的具体用途 假定学校录取新生时主要考虑考生的两个条件 即考分和体格检查结果 首先检验考生的考分 然后按体检的结果 分别进行不同的处理 结构化语言举例 3 5 3判定表 在许多软件应用场合中 需要用一个模块去计算多种条件的复杂组合 并根据这些条件选择适当的动作 判定表把在加工说明中描述的各种动作和条件以表格列出 3 5 3判定表 图3 8判定表的结构 3 5 3判定表 判定表按下列步骤制定 列出与一个具体过程 或模块 有关的全部动作 列出该过程执行期间的所有条件 或做出的判定 找出每个可能发生的条件组合 将各组特定的条件与动作相结合 并消去那些不可能发生的条件组合 规定处理规则 即指出在什么样的一组条件下将采取什么样的动作 3 5 3判定表 现仍以学校录取新生的数据处理问题为例 判定表举例 3 5 4判定树 作为软件开发中系统设计的工具 判定树一直受到人们的重视 判定树可用于表示数据 系统 程序和模块的逻辑 例如 表示系统结构的HIPO图 表示文件结构的Jackson方法 Warnier图等 都属判定树结构 3 5 4判定树 判定树举例 3 6需求分析文件与复审 软件需求分析完成后 这一阶段应交付的文件有 软件需求说明书修改后的项目开发计划初步的用户手册测试计划数据要求说明书 3 6 1GB T8567 1988规定的文件 计算机软件产品开发文件编制指南 规定的需求分析阶段的软件文件主要有 软件需求说明书 数据要求说明书和测试计划 在这一阶段中 还将开始着手用户手册的编写 软件需求说明书数据要求说明书用户手册 3 6 2需求分析的复审 软件需求说明的复审是由软件开发者和用户 需求者共同实施的 由于软件需求说明构成了 开发阶段的基础 因此在进行复审时应当特别小心 必须就数据流 各个界面和功能的完整性 正确性和清晰性仔细进行评价 通过考虑以下几个必须回答的问题 可以很好地了解这种复审的格式 所规定的软件目标和任务与系统的目标和任务相符吗 与所有系统成分的重要接口都已经进行了描述吗 研制项目的信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论