




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程 第3讲需求分析 第3讲需求分析 3 1需求分析的目标与任务3 2需求分析的一般步骤3 3结构化分析描述方法3 4结构化分析方法SA3 5数据建模与分析3 6支持SA的工具 S Designor3 7需求分析规格说明书 3 1需求分析的目标与任务 需求分析的重要性Standish Group对350家公司的8000个软件项目作过一次调查 其中 31 的项目的结局是被取消 引致这些项目失败的原因是 13 1 不完整的产品要求 12 4 缺乏用户的参与 10 6 缺少资源 人力 财力 9 9 不现实的期望 9 3 高层领导支持不足 8 7 产品要求与指标的改变 8 1 没有订计划 7 5 不再需耍该开发中的系统 其中 与产品需求有关的 1 2 4 和6项 占了44 1 这些数据突出地显示了软件产品需求在软件开发中的重要性 需求分析任务准确地定义未来系统的目标 确定为了满足用户的需求系统必须做什么 将需求分析成果以 软件需求规格说明书 SRS 的形式表达出来 需求分析的目标软件需求分析的目标是准确理解用户的要求 进行细致的调查分析 将用户的非形式化的要求转化为完整的需求定义 需求规格说明 需求分析阶段研究的对象是项目的用户要求 要求可能包括 功能要求性能要求运行环境要求数据要求可靠性要求安全保密要求用户界面要求 可移植性需求可复用性需求外部接口要求资源使用要求软件成本消耗与开发进度要求其它非功能性的限制和要求 如法规需求 质量标准 验收标准 可维护性要求等 功能需求 描述系统所预期的功能和服务 包括功能描述 输入和输出 异常等 全面 一致 准确系统能提供适当的文档浏览器供用户在线阅读各类文档 性能需求 应该尽量以可量化 可验证的方式表示 速度 每秒处理的事务数事件响应时间屏幕刷新频率规模 内存需求量最大并发响应量压缩率 可靠性需求 产品在规定的条件下和规定的时间内完成规定功能的能力失败平均时间无效概率平均失效间隔时间 可移植性 可移植性是指与软件可从某一环境转移到另一环境的能力有关的一组属性目标系统 数据库依赖于目标的语句比例 接口需求 如果新系统需要与已存在的系统一起工作 则已存在的系统接口必须被精确的定义 常见的有两种接口 过程接口数据结构 接口需求案例 alipay payto asp INTERFACE URL 需求分析的主要完成者及其相关角色系统分析员用户管理人员软件开发人员 1 需求获取 需求引出 问题识别被开发软件做什么 做到什么程度 2 需求提炼 分析建模主要有2类需求 功能性需求和非功能性需求 3 需求描述 编写文档编写软件需求规格说明书SRS SoftwareRequirementSpecification 无二义性 完整性 可验证性 一致性 可修改性 可跟踪性 非计算机人员能理解 注释编写初步用户手册 验收测试计划 修改软件计划 4 需求验证 需求分析评审 一致性 现实性 完整性 有效性 3 2需求分析的一般步骤 需求获取的复杂性交流障碍用户意见不统一错误的要求提供的信息不完整 不清楚分析人员或客户理解错误需求永远不会稳定 1 需求获取 需求获取的基本方法建立由用户 分析员 领域专家组成的联合分析小组 调查研究 这是获取需求的最主要的方法 分析整理和确认需求 1 需求获取 调查研究的方式按用户的不同层次 分别召开调查会 了解用户对待开发系统的想法和建议 向用户领域专家或在关键岗位上工作的人个别咨询 实地考察 跟踪现场业务流程 查阅与待开发系统有关的资料 使用各种调查工具 如数据流图 系统流程图等 建立原型系统减少分析风险 1 需求获取 自己的经验 1 调研前做好必要的相关背景知识准备 2 拟出一份详细的问题清单可能每天都在改变 3 从业务流程入手 引导客户根据自己的需要进行分析和介绍 4 通过用户获取重要的原始资料 如表单 文件 5 善于聆听 不要强加自己的任何假设 2 分析建模主要目标 1 描述用户的需求 2 建立软件设计的基础 3 定义可用于软件确认测试的依据 2种分析模型结构化分析模型面向对象分析模型 结构化分析模型 面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析具体来说 结构化分析方法就是用抽象模型的概念 按照软件内部数据传递 变换的关系 自顶向下逐层分解 直到找到满足功能要求的所有可实现的软件为止 3 3结构化分析方法 结构化分析模型 3 3 1数据流图DFD DataFlowDiagram 数据流 表示被加工数据及其流向 加工 含编号 把输入数据变换成输出数据 数据存储 保存数据 数据源点或终点 信息生产者 数据源点 和信息消费者 数据终点 数据流图实例例 从用户调查中了解到某高校向学生销售教材的手续是 先由系办公室的张秘书开一购书证明 学生凭证明找教材科的王会计开购书发票 向李出纳员交付书款 然后到书库找赵保管员领书 注意 数据源 数据终点 没有输出 加工 没有输入 加工 数据源 数据终点 数据源 数据存储 数据源 数据存储 数据存储 数据存储 数据流必须起于且 或止于加工 加工至少有一个输入数据流和一个输出数据流 3 3 2E R模型 E R模型不涉及数据世界的数据结构 存取路径 存取效率等问题 它可以转换成数据库中的数据模型 数据分析建模过程包括 概念设计ER模型 EER模型逻辑设计把ER模型 EER模型转换成关系模型 用SQL表示SQL的三种用途DDL数据定义DML数据操纵DCL数据控制物理设计 E R图中表示实体联系的符号如下 例 在教学管理中 一个教师可以教零门 一门或多门课程 每位学生也需要学习几门课程 因此 教学管理中涉及的对象 实体 有学生 教师和课程 进一步 要确定属性 例如 1 学生具有学号 姓名 性别 年龄 专业 其它略 等属性 2 课程具有课程号 课程名 学分 学时数等属性 3 教师具有职工号 姓名 年龄 职称等属性 3 3 3数据词典DD DataDictionary 4类数据 数据项 数据流 数据存储 加工处理精确地 严格地定义并以字典式顺序将它们组织成词条 使得用户 分析员和开发人员有共同的理解 可以使用 可选 重复 可有 可无 等符号描述 数据词典的词条中应包含以下信息 名称 别名或编号 描述 组成 组织结构 类型 长度 取值范围等 何处使用 使用该词条的加工 例发票数据流名 发票别名 无组成 发票 学号 姓名 书号 单价 数量 总价 书费合计何处使用 由 审查并开发票 产生 由 开领书单 接收 例书费合计数据项名 书费合计别名 无类型 flaot取值范围 00 00 99 99 例学号数据项名 学号别名 无组成 学号 8 数字字符 8取值范围 20000001 29999999 数据词典实例 数据存储名 库存记录别名 无简述 存放库存所有可供货物的信息组成 货物名称 编号 生产厂家 单价 库存量组织方式 索引文件 以货物编号为关键字查询要求 要求能够立即查询 例库存记录 加工说明 处理描述加工说明描述了数据加工的输入 实现加工的过程以及产生的输出 加工说明指明了加工的约束和限制 与加工相关的性能要求 以及影响加工的实现方式的设计约束 必须注意 写加工规格说明的主要目的是要表达 做什么 而不是 怎样做 因此不涉及数据结构 算法实现 编程语言等与设计和实现有关的细节 主要的3种描述工具 结构化语言 判定树 判定表 加工说明 PSPEC 的一个模板 处理名称 处理编号 接收的输入 数据流名或编号 数据存储名或编号产生的输出 数据流名或编号 数据存储名或编号处理描述 处理策略 加工逻辑 结构化语言 判定树 表 激发条件 什么条件下执行该处理发生的频度 次 小时 次 天 次 周 次 月问题 数据词典中的类型 长度 取值范围 以及加工说明中的发生频度对于软件设计有何用处 提示 存储设计 数据库 数据结构设计 程序设计 处理名 计算折扣率编号 5 3 4激活条件 收到预订票信息处理逻辑 计算折扣率 如果算法中包含多重嵌套的条件选择时 用判定表能清晰地表达条件组合与动作之间的对应关系 判定表 判定树 3 3 4控制流图 CFD 与控制说明 CSPEC 适合实时系统的分析控制流图用来描述进程之间的控制流并刻画系统的行为特征 与DFD和PSPEC类似和DFD与PSPEC配合使用DFD用来表示加工模型 CFD用来表示控制模型 行为模型 PSPEC会引发CSPEC中描述的状态转换CSPEC中的加工激活信号会作用于数据流图 加工激活信号 CFD和DFD的关系 1 CFD的符号表示 虚线 表示控制流 以区别用实线表示的数据流 短竖线 表示被引用的控制说明 2 CFD的建立 与DFD的关系具有相同的加工 但显示的是控制流而不是数据流 方法在DFD上去掉所有的数据流箭头 在图中加入时间和控制信息 并加上到CSPEC的引用 例 光电管采集DFD 3 控制说明 CSPEC CSPEC与PSPEC的区别CSPEC 仅说明会激活哪些加工 PSPEC 说明某个加工做什么 CSPEC主要描述内容当事件或控制信息被感知时软件如何行动 作为事件发生的结果 哪些加工将被激活 状态迁移图STD的建立 光电管采集的STD 3 4结构化分析过程 为了表达数据处理过程的数据加工情况 需要采用层次结构的数据流图 按照系统的层次结构进行逐步分解 并以分层的数据流图反映这种结构关系 能清楚地表达和容易理解整个系统 SA方法的主要步骤 1 画出顶层DFD 确定系统边界 2 由顶向下按功能逐层分解 根据分析需要画出各层DFD 3 当不再分解时 建立DD并对处理进行描述 4 建立E R EE R 控制流图CFD 控制说明CSPEC和状态迁移图STD等作为补充 5 沿DFD回溯 从最终的输出数据流出发 审查输入 输出的合理性 一致性 完整性 6 修改完善SRS SA方法的应用例子问题描述 教材购销系统 系统从学生接受购书单 经处理后把领书单返回给学生 使学生可凭单到书库领书 对脱销的教材 系统用缺书单的形式通知书库 新书进库后 也由书库将进书通知返回给系统 教材购销系统的顶层数据流图 教材购销系统第二层数据流图 教材购销系统第三层数据流图 销售 的分解 教材购销系统第三层数据流图 采购 的分解 教材购销系统 评审 复审例子评审 复审的意义与作用技术上的管理上的教材购销系统 评审 复审 沿DFD回溯父子图的平衡数据流的个数 名称 前例中顶层 第二层 第三层 加工编号规则层号的体现 前例中顶层 第二层 第三层 数据存储 文件的出现父图 子图 前例中顶层 第二层 第三层 交接面 前例中第二层的F1 F2 第三层的F5 数据守恒数据流名称的变化与组成 数据守恒图示中 如果d i j则父子图平衡 或说数据守恒 实例 第三层DFD 销售 发票 学号 姓名 书号 单价 数量 总价 书费合计有效购书单 学号 姓名 书号 数量 教材存量表 书号 单价 数量 各班学生用书表 系号 专业和班号 年级 书号 数据字典 练习 根据下列需求描述 建立分层的DFD 1 对考生送来的报名单进行检查 2 对合格的报名单编好准考证号后将准考证送给考生 并将汇总后的考生名单送给阅卷站 3 对阅卷站送来的成绩单进行检查 并根据考试中心制定的合格标准审定合格者 4 制作考生通知单 含成绩及合格 不合格标志 送给考生 5 按地区进行成绩分类统计和试题难度分析 产生统计分析表 S Designor5 1是Sybase公司的产品 ProcessAnlyst 辅助分析人员构造数据流图 并自动生成RTF格式的文档 该文档可由WORD访问 DataArchitect 与分析 设计人员交互并可构造概念数据模型 CDM 即E ER图 从而可以自动生成依赖于某种关系库 如Oracle Sybase MSSQLServer等 的物理数据模型 PDM 由此可生成建立数据库的SQL StructuredQueryLanguage 脚本 在CDM和PDM模式下均可自动生成相应的RTF格式的文档 3 6支持SA的工具 S Designor S Designor5 1的ProcessAnlyst界面 S Designor5 1的DataArchitect界面 3 7需求分析规格说明书 需求分析阶段的最后一个工作就是产生需求分析报告 即编写软件需求规格说明书 在美国IEEE830 1998号标准和我国国家标准GB8567 88 计算机软件产品开发文件编制指南 以及GB9385 88 计算机软件需求说明编制指南 中 都提出了关于软件需求规格说明的建议内容 以下给出了一个简化的框架 1引言编写目的 项目背景 定义 专门术语 缩写词 参考资料等 2任务概述目标 运行环境 产品功能 用户特点 一般约束 假设和依据 3数据描述 数据要求数据词典 静态数据 动态数据 包括输入数据和输出数据 内部生成数据 数据约定 数据采集 4功能需求功能划分 功能描述 输入 加工 处理 输出 5性能需求数据精确度 时间特性 如响应时间 更新处理时间 数据转换与传输时间等 等 6运行需求 外部接口需求用户界面 如屏幕格式 报表格式 菜单格式 输入输出的相对时间 功能键的可用性等 硬件接口 软件接口 通信接口 故障处理 7设计约束其他标准的约束 硬件的限制等 8其他需求如数据库 适应性 可使用性 安全保密 可维护性 可移植性等 3 8需求验证 评审 CapersJones提出 分析阶段为防止错误而花费1美元将可以为你修补错误节省3 10美元除分析员之外 用户 需求者 开发部门的管理者 软件设计 实现 测试的人员都应当参加评审工作 一般 评审的结果都包括了一些修改意见 待修改完成后再经评审通过 才
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京创新周活动策划方案(3篇)
- 光纤广播施工方案(3篇)
- 路基验槽施工方案(3篇)
- 江苏eps墙体施工方案(3篇)
- 英语口译考试题库及答案
- 北京市门头沟区2023-2024学年八年级下学期期末考试道德与法制考题及答案
- 北京市门头沟区2023-2024学年八年级上学期期末考试地理试题及答案
- 辛亥革命历史题目及答案
- 家有小白800字7篇
- 有关我喜欢的的动物作文高一的(9篇)
- 《俗世奇人》整本书导读课件
- 餐饮管理安全管理制度
- 传统白酒生产项目商业计划书
- 2025年教师资格证考试综合素质(中学)试题及答案
- 江苏省淮安市2024-2025学年高一下学期期末考试物理试卷(解析版)
- 《基孔肯雅热防控技术指南(2025年版)》解读课件
- 2025年呼伦贝尔市生态环境局所属事业单位引进人才(2人)模拟试卷附答案详解(综合卷)
- 2025年中国建设银行招聘考试(综合知识)历年参考题库含答案详解(5套)
- BMS基础知识培训课件
- 承接战略贴近业务人力资源规划设计到应用
- 2025年广元市专业技术人员公需科目继续教育考试试题及答案
评论
0/150
提交评论