已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程,第3讲 需求分析,第3讲 需求分析,3.1 需求分析的目标与任务 3.2 需求分析的一般步骤 3.3 结构化分析描述方法 3.4 结构化分析方法SA 3.5 数据建模与分析 3.6 支持SA的工具S-Designor 3.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=“/cooperate/gateway.do?“ Class creatAlipayItemURL Public Function creatAlipayItemURL(service,subject,body,out_trade_no,price,quantity,seller_email,show_url,receive_name,receive_address,receive_zip,receive_phone,receive_mobile,buyer_email,discount,logistics_fee_1,logistics_payment_1,logistics_type_1) ,需求分析的主要完成者及其相关角色 系统分析员 用户 管理人员 软件开发人员,(1) 需求获取:需求引出、问题识别 被开发软件做什么、做到什么程度。 (2) 需求提炼:分析建模 主要有2类需求:功能性需求和非功能性需求 (3) 需求描述:编写文档 编写软件需求规格说明书SRS (Software Requirement Specification) 无二义性、完整性、可验证性、一致性、可修改性、可跟踪性、非计算机人员能理解、注释 编写初步用户手册、验收测试计划、修改软件计划 (4) 需求验证:需求分析评审。 一致性、现实性、完整性、有效性,3.2 需求分析的一般步骤,需求获取的复杂性 交流障碍 用户意见不统一 错误的要求 提供的信息不完整、不清楚 分析人员或客户理解错误 需求永远不会稳定,(1)需求获取,需求获取的基本方法 建立由用户、分析员、领域专家组成的联合分析小组。 调查研究。这是获取需求的最主要的方法。 分析整理和确认需求。,(1)需求获取,调查研究的方式 按用户的不同层次,分别召开调查会,了解用户对待开发系统的想法和建议。 向用户领域专家或在关键岗位上工作的人个别咨询。 实地考察,跟踪现场业务流程。 查阅与待开发系统有关的资料。 使用各种调查工具,如数据流图、系统流程图等。 建立原型系统减少分析风险,(1)需求获取,自己的经验 (1)调研前做好必要的相关背景知识准备 (2)拟出一份详细的问题清单 可能每天都在改变。 (3)从业务流程入手,引导客户根据自己的需要进行分析和介绍 (4)通过用户获取重要的原始资料(如表单,文件) (5)善于聆听,不要强加自己的任何假设,(2)分析建模 主要目标: (1)描述用户的需求; (2)建立软件设计的基础; (3)定义可用于软件确认测试的依据。 2种分析模型 结构化分析模型 面向对象分析模型,结构化分析模型,面向数据流进行需求分析的方法 结构化分析方法适合于数据处理类型软件的需求分析 具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。,3.3 结构化分析方法,结构化分析模型,3.3.1数据流图DFD(Data Flow Diagram) 数据流:表示被加工数据及其流向。 加工(含编号):把输入数据变换成输出数据。 数据存储:保存数据。 数据源点或终点:信息生产者(数据源点)和信息消费者(数据终点)。,数据流图实例 例:从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室的张秘书开一购书证明,学生凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。,注意:,数据源,数据终点,没有输出!,加工,没有输入!,加工,数据源,数据终点,数据源,数据存储,数据源,数据存储,数据存储,数据存储,数据流必须 起于且/或 止于加工,加工至少有 一个输入数 据流和一个 输出数据流,3.3.2 E-R模型,E-R模型不涉及数据世界的数据结构、存取路径、存取效率等问题。它可以转换成数据库中的数据模型。,数据分析建模过程包括: 概念设计 ER模型/EER模型 逻辑设计 把ER模型/EER模型转换成关系模型,用SQL表示 SQL的三种用途 DDL数据定义 DML数据操纵 DCL数据控制 物理设计,E-R图中表示实体联系的符号如下:,例: 在教学管理中,一个教师可以教零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体)有学生、教师和课程。,进一步,要确定属性。例如, 1.学生具有学号、姓名、性别、年龄、专业(其它略)等属性; 2.课程具有课程号、课程名、学分、学时数等属性; 3. 教师具有职工号、姓名、年龄、职称等属性;,3.3.3 数据词典DD(Data Dictionary) 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、MS SQLServer等)的物理数据模型(PDM),由此可生成建立数据库的SQL(Structured Query Language)脚本。 在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 数据描述/数据要求 数据词典、静态数据、动态数据(包括输入数据和输出数据)、内部生成数据、数据约定、数据采集。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法院院校合作协议书
- 多功能玩偶背包创新创业项目商业计划书
- 家乡月饼DIY工坊创新创业项目商业计划书
- 操控站智能运维决策支持系统定制创新创业项目商业计划书
- 坚果质量标准创新创业项目商业计划书
- 《妇产科护理学》重点简答题(附答案)
- (四级)公共营养师考试试题及参考答案
- 初中七年级人教版数学上册第一章《有理数》课件
- 2024年成都市金牛区中医医院招聘真题
- 固废填埋场废气处理系统设计方案
- 湖南省长沙市一中集团2025-2026学年七年级上学期11月期中联考英语试题(含解析无听力原文及音频)
- 2025贵州贵安新区产业发展控股集团有限公司招聘30人笔试历年参考题库附带答案详解
- 2025年广东省集体经营性建设用地使用权租赁合同
- 2025年日本驾照必考题库及答案(可下载)
- 2025年福建省产前筛查诊断人员资质考试题库含答案详解
- 库房灯具安装施工方案
- 国企中层竞聘面试题库和答案
- 医疗风险防范知识培训课件
- 《Unit 3 Visit to the farm》(教学设计)-科普版(2024)英语三年级上册
- 宝钢作业长安全培训题库及答案解析
- 家庭暴力保证书模板
评论
0/150
提交评论