




已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GIS软件的需求分析 第三讲 2 内容 需求分析的重要性需求分析的困难性需求工程需求分析过程概念模型和规范化图形工具需求验证原型技术 3 需求分析 需求分析是软件定义时期的最后一个阶段回答 系统必须做什么 的问题 4 需求分析的重要性 真的很重要吗 例 Ourreal timeexampleisbasedontheembeddedsoftwareintheAriane 5 aspacerocketbelongingtotheEuropeanSpaceAgency ESA OnJune4 1996 onitsmaidenflight theAriane 5waslaunchedandperformedperfectlyforapproximately40seconds Then itbegantoveeroffcourse AtthedirectionofanArianegroundcontroller therocketwasdestroyedbyremotecontrol Thedestructionoftheuninsuredrocketwasalossnotonlyoftherocketitself butalsoofthefoursatellitesitcontained thetotalcostofthedisasterwas 500million Newsbyteshomepage1996 Lionsetal 1996 5 需求分析的重要性 Thereason therewasnodiscussionintherequirementsdocumentsofthewaysinwhichtheAriane 5trajectorywouldbedifferentfromAriane 4 统计资料 In1994 theStandishGroupsurveyedover350companiesabouttheirover8000softwareprojectstofindouthowwelltheywerefaring Theresultsaresobering Thirty onepercentofthesoftwareprojectswerecanceledbeforetheywerecompleted Moreover inlargecompanies only9 oftheprojectsweredeliveredontimeandcostwhattheywerebudgeted and16 metthosecriteriainsmallcompanies Standish1994 6 需求分析的重要性 7 需求分析的重要性 5点事实软件生命周期中 一个错误发现得越晚 修复错误的费用越高 8 需求分析的重要性 许多错误是潜伏的 并且在错误产生后很长一段时间才被检查出来在需求过程中会产生很多错误DeMarco在一份研究报告中指出 被检查出来的错误的56 产生的根源可以追溯到需求阶段 AIRMICS所进行的一项调查发现 在一份美国军方大型管理信息系统的需求现格说明书 SRS 中存在着500多个错误 当然这仅仅是一个软件项目中的一次调查 在需求阶段 代表性的错误为疏忽 不一致和二义性美国海军研究实验室从20世纪70年代起就对软件开发技术不断地进行研究 他们对海军A 7E 它机上的 宅行操作程序进行实地测试 以验证许多新设想的可行性 得出的研究数据表明 A 7E项目中77 的需求错误特点是不明确 疏忽 不一致和二义性 按错误类型对这些错误分布进行分析的结果是 49 不正确的事实 31 疏忽 l3 不一致 5 二义性 9 需求分析的重要性 需求错误是可以被检查出来的 10 需求分析的重要性 在需求过程中会产生很多错误 事实3和4 许多错误并没有在早期被发现 事实2 这样的错误是能够在产生的初期被检查出来的 事实5 如果没有及时检查出来这些错误 软件费用会直线上升 事实1 11 需求管理的困难性 12 需求工程 需求是什么 需求就是以一种清晰 简洁 一致且无二义性的方式 对一个待开发系统中各个有意义方面的陈述的一个集合 需求工程一般指应用已证实有效的原理 方法 通过合适的工具和记号 系统地描述出待开发系统及其行为特征和相关约束 通常是一些过程的集合 需求获取 需求引出 需求分析和编写软件规格说明书 SRS 及验证 包括鉴定和证实 13 需求工程涉及人员 14 软件需求 功能需求性能需求环境需求可靠性需求安全保密要求用户界面需求 资源使用需求成本消耗需求开发进度需求预先估计以后系统可能达到的目标 15 需求分析与程序设计的不同 16 需求分析现状 误解交流障碍缺乏共同语言 完整性 问题需求永远不会稳定用户意见不统一错误要求认识混淆 17 需求分析的任务 可行性分析阶段已经粗略了解了用户的需求 甚至已经提出了一些可行的方案 但是 可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的方案 因此许多细节被忽略 在系统开发前 还需要进一步确定 18 需求分析的任务 FinalstageofDefinitionphase 仍然回答 What 而不是 How 但更细致 精确 合同的拟定 19 需求分析的任务 完整准确清晰具体 20 需求分析的任务 21 需求分析的任务 1 确定要求 功能要求 functionalrequirements 系统必须做什么 性能要求 performancerequirements 做得怎样 例 responsetime memory back upmemory security 运行要求 operationalrequirements 运行环境 软硬件配置等 未来可能的扩充要求 possibleevolution 如3维虚拟现实的效果等等 22 需求分析的任务 2分析数据 建立概念模型 conceptualmodels E RDiagram 形象描绘数据结构 DataHierarchy WarnierDiagram IPO 数据结构规范化 Normalization 3 导出逻辑模型 DFD DD IPO 4 修正计划 重估成本 进度等 23 需求分析的任务 样机试用 C D G 5 开发原型系统 Prototyping 24 分析过程 软件系统本质上是信息处理系统 任何信息处理系统的基本功能都是把输入数据转变成需要的输出信息数据是分析的出发点 在可行性分析阶段许多实际的数据元素被忽略了 需求分析阶段将定义这些数据元素结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法 25 分析过程 1 沿DFD回溯 1 DFD的输出端是系统的最终目的 2 向回确定每个数据元素的来源 3 为了得到某个数据元素需要用到数据流图中目前还没有的数据元素 或者得出某个数据元素需要用的算法尚不清楚 可加细DFD及DD 并将相关算法记录在IPO图中 26 分析过程 2 用户复查数据字典准确完整吗 算法正确吗 有没有遗漏必要的处理或数据元素 某些数据元素是从哪里来的 构成一个循环 认识螺旋式上升 27 分析过程 3 细化DFD 加细前后的I O须相同 分解到须考虑具体实现的代码时即可仃止 28 分析过程 4 修正计划5 文档 需求规格说明书 29 需求分析规格说明书 30 需求分析规格说明书 系统规格说明 系统概貌 功能要求 性能要求 运行要求 可能增加的要求 DFD IPO 数据要求 DD Hierarchy或WarnierDiagram 用户系统描述 初步用户手册 从用户的观点考虑系统 系统功能 性能 使用与步骤等 修正的开发计划 成本估计 资源使用计划 进度计划 31 需求分析规格说明书 从现实中分离功能 即描述要 做什么 而不是 怎样实现 要求使用面向处理的规格说明语言 或称系统定义语言 如果被开发软件只是一个大系统中的一个元素 那么整个大系统也包括在规格说明的描述之中规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合 32 分析过程 节选自目前我国的一些实际系统中的功能性需求的说明方式 根据详细的系统调研和需求分析 系统的功能必须满足以下需求 1 编制计划 计划工程拨款管理 工程批复管理 工程进度统计 2 工程项目管理 3 计划拨款 征费收缴信息及其他收拨款信息查询统计 4 路产管理 违章建筑管理 工程材料管理 超限运输管理 5 养征信息查询管理 收费站信息管理 6 文档管理 会议管理 合同管理 驾驶员外勤管理 常用管理 7 养护信息管理 公路维护预警 8 路况信息管理 交通量信息管理 科研项目信息管理 33 需求表达 需求说明语句保持语句和段落的简短采用主动语态的表达方式编写具有正确的语法和标点的完整句子使用的术语应该和词汇表中定义的一致需求陈述应该具有一致的式样 例如 系统必须 或者 用户必须 并紧跟一个行为动作和可观察的结果 例如 仓库管理子系统必须现实一张在所请求的仓库中有存货的药品名单 34 需求表达 为了减少不确定性 避免采用模糊的 主观的术语 例如 用户友好 容易 简单 迅速 有效 支持 许多 最新技术 优越的 可接受的和健壮的 避免使用比较性的词汇 例如 提高 最大化 最小化和最佳化 定量地说明所需要提高的程度或者说清一些参数可接受的最大值和最小值 35 需求表达 产品必须在固定的时间间隔内提供状态消息 并且每次时间间隔不得小于60秒 后台任务管理器应该在用户界面的指定区域显示状态消息在后台任务进程启动之后 消息必须每隔60 10 秒更新一次 并且保持连续的可见性 如果正在正常处理后台任务进程 那么后台任务管理器必须显示后台任务进程已完成的百分比当完成后台任务时 后台任务管理器必须显示一个 已完成 的消息 如果后台任务中止执行 那么后台任务管理器必须显示一个出错信息 36 需求表达 产品必须在显示和隐藏非打印字符之间进行瞬间切换 用户在编辑文档时 通过激活特定的触发机制 可以在显示和隐藏所有HTML标记之间进行切换 37 需求表达 分析程序应该能生成HTML标记出错的报告 这样就可以使HTML的初学者使用它来迅速排错 在HTML分析程序完全分析完一个文件后 该分析程序必须生成一个出错报告 这个报告中包含了在分析文件中所发生错误的HTML所在的行号以及文本内容 还包含了对每个错误的描述 如果分析过程中未发生任何错误 就不必生成任何错误报告 38 分析过程 第六步审查和复审以上六步构成一个循环 39 需求分析过程 40 数据库基本概念 1 在软件系统中需要处理的数据是现实世界中存在的事物及其联系的反映 人们通常将与数据处理有关的的领域分为三个世界 现实世界现实世界是存在于人们头脑之外的客观世界 现实世界中的事物可分成对象和性质两大类 对象可以是人 是物 还可以是实际的东西或概念的东西 例如 大学 城市等 对象还可以指事物与事物间的联系 性质则是指事物的性质或特征 41 数据库基本概念 2 信息世界信息世界也叫做观念世界 是现实世界在人们头脑中的反映 客观世界中的事物在信息世界中叫做实体 反映事物之间联系的叫做实体模型 实体是由若干属性的属性值组成 属性是实体某一方面的特征 相应于事物的性质 例如 一个学生实体是如下的一个5元组 950836 袁星 男 20 计算机应用 5元组中每一元素是学生的某一属性的属性值 他们对应的属性集合是 这些属性集合表征了 学生 实体的类型 叫做实体型 同一类型的实体的集合叫做实体集 42 数据库基本概念 3 数据世界数据世界则是信息世界中信息的数据化 现实世界中的事物及其联系在数据世界中用数据模型描述 描述每一实体的数据称为记录 描述属性的数据叫做数据项或字段 与实体集相对应的称为文件 例如 学生文件就由多个记录组成 这些记录放在一起构成一个二维表 表中每一横排叫做一个记录或元组 每一纵列叫做一个属性 43 数据库基本概念 4 记录由数据项组成 正如实体由若干属性的属性值组成一样 一般数据项沿用属性名 用做属性名时表示观念信息 用做数据项名时表示数据信息 每个数据项包括两个特征 即数据类型和数据长度 若干同类型的记录构成文件 为了对文件中的记录有效组织和存取 通常指定一个数据项进行区别 这个数据项叫做关键字 44 数据库分析及工具 E R方法 E R方法 Entity RelationshipApproach 和实体模型 使用E R图 可定义一个实体模型 实体模型是现实世界的纯表示 它不涉及数据世界的数据结构 存取路径 存取效率等问题 因此 它可以转换成数据库中的数据模型 E R 实体 联系 方法可以进行数据库逻辑设计E R图三要素 实体 实体属性 实体间的联系 在E R图中 每个方框表示实体型或属性 方框之间的菱形表示实体之间的联系 45 数据库分析及工具 E R方法 E R图例 46 数据库分析及工具 E R方法 在E R图中 每个方框表示实体型或属性 方框之间的连线表示实体之间 或实体与属性之间的联系 出现在连线上的短竖线可以看成是 1 而圆圈隐含表示 0 例如 在教学管理中 一个教师可以教授零门 一门或多门课程 每位学生也需要学习几门课程 因此 教学管理中涉及的对象 实体型 有学生 教师和课程 用E R图描述它们之间的联系 得下图 其中 学生与课程是多对多的联系 而教师与课程的联系是零 一对多 47 数据库分析及工具 E R方法 进一步 要确定属性 例如 学生具有学号 姓名 性别 年龄 专业 其它略 等属性 课程具有课程号 课程名 学分 学时数等属性 教师具有职工号 姓名 年龄 职称等属性 此外 学生通过学号 分数与课程发生联系 如此可得教学实体模型 48 数据库分析及工具 E R模型向关系模型的转化 E R模型是对现实世界的真实抽象 是直接面向现实世界的 因此 它只能转化为面向应用的关系模型才能进入软件设计阶段 例 有三个实体型 即课程 学生和教师 用三个关系保存它们的信息 学生 学号 姓名 性别 年龄 专业 籍贯 教师 职工号 姓名 年龄 职称 工资级别 工资 课程 课程号 课程名 学分 学时 课程类型 49 数据库分析及工具 E R模型向关系模型的转化 为表示实体型之间的联系 又建立两个关系 选课 学号 课程号 听课出勤率 作业完成率 分数 教课 职工号 课程号 这五个关系 组成了数据库的模型 在每个关系中 属性名下加下划线 指明关键字 并规定关键字能唯一地标识一个元组 50 数据库分析及工具 数据结构的规范化 为了便于数据库的设计 常常要对直接从E R模型转换过来的关系模型结构做一些简化 其中最常见的一种方法就是规范化技术 将数据的逻辑结构归结为满足一定条件的二维表 又称关系 形式 对于非规范化的关系 必须将它规范化 即利用更单纯 更规则的关系来代替原来的关系 51 数据库分析及工具 数据库分析过程 52 概念模型和规范化 软件系统开发过程中必须考虑两方面的问题 数据 及对数据的 处理 为了把用户的数据要求清晰明确地表达出来 系统分析员通常建立一个概念性的数据模型 也称为信息模型 概念性数据模型是一种面向问题的数据模型 是按照用户的观点来对数据和信息建模 53 概念模型和规范化 最常用的表示概念性数据模型的方法 是实体联系方法 Entity RelationshipApproach ER图描述现实世界中的实体 而不涉及这些实体在系统中的实现方法 54 概念模型和规范化 实体是客观世界中存在的且可相互区分的事务 实体可以是人也可以是物 可以是具体的事物也可以是抽象概念 例如 职工 学生 课程 教师等都是实体 55 概念模型和规范化 客观世界中的事物彼此间往往是有联系的 例如 教师与课程间存在 教 这种联系 56 概念模型和规范化 属性是实体或联系所具有的性质 通常一个实体由若干个属性来刻画 例如 学生 实体有学号 姓名 性别 系 年级 57 概念模型和规范化 例 58 概念模型和规范化 2 范式 NormalForms 消除数据冗余的程度IBME F Godd 1970 例 Keyword 可唯一地标识一个元组的属性 59 概念模型和规范化 范式级别越高 存储同样数据就要分解成更多张表 因此 存储自身 的过程也就越复杂随着范式级别的提高 数据的存储结构与基于问题域的结构间的匹配程度也随之下降 因此 在需求变化时数据的稳定性较差范式级别的提高则需要访问的表增多 性能 速度 将下降 60 概念模型和规范化 1 NF 所有属性都是原子值 即不出现 表中有表 61 概念模型和规范化 2 NF 在1 NF基础上 每个non key word都由整个keyword决定 而非依赖于keyword的一部分 62 概念模型和规范化 3 NF 在2 NF基础上 non key word之间无从属关系 63 图形工具 1 层次方框图 Hierarchy 描绘数据的结构例 ARoomhierarchybasedonaninteriordesigner sperspective 64 图形工具 2 WarnierDiagram 65 图形工具 3 IPO图 Input Process Output 简要的算法描述 1 校验主记录2 校验事务记录3 更新主记录 旧的主文件事务文件 有效的主记录有效的事务记录更新后的主文件 66 改进的IPO图 67 需求验证 方法 人工审查 初步用户手册 Prototyping 使用软件工具 完整性 一致性 68 需求验证 例1 SoftwareRequirementsEngineeringMethodology SREM TRWCorporation 1977 SREM RequirementsStatementLanguage RSL RequirementsEngineeringValidationSystem REVS 69 自动化工具 近年来已经开发出一些需求分析工具 它们提供一组程序 帮助分析员制定需求规格说明 以自动化为主的工具给分析员提供另一种可供选择的方案 软件需求能够用一种规格说明语言来描述 这种语言把关键字指示符与自然语言 例如英语 描述结合起来 规格说明语言被送进一个处理机 它产生出一份需求规格说明 更为重要的是 它同时还产生出一组有关规格说明的一致性和组织的诊断报告 在过去的10年间 已经提出过一些用于制订需求规格说明的自动化工具 70 自动化工具 71 自动化工具 软件需求工程方法学 SREM 和问题陈述语言 问题陈述分析器 PSL PSA 是有代表性的自动化工具 此外 一些基于知识或形式化方法都需要有自动工具来支持 才能有较好实用价值 72 自动化工具 软件需求工程方法学 SREM SREM是一种自动化的需求分析工具 它用一种需求陈述语言 RSL 来描述 元素 属性 关系和结构 元素 按照SREM的术语 包括一组用来制定需求规格说明的对象和概念 各对象之间的关系规定为RSL的一部分 而属性则用来描述或说明元素 结构用来说明信息流程 这些RSL基本成分与叙述性信息一起构成需求规格说明的细节 73 自动化工具 问题陈述语言与问题陈述分析 PSL PSAPSL PSA是1968年由D Teichroew在密执安大学 UniversityofMichigan 提出的 它是为ISDOS项目而开发的 又是一个称之为计算机辅助设计与规格说明分析工具 computer aideddesignandspecificationanalysis CADSAT 的更大的系统的部分 PSL PSA给分析员提供的功能包括 一般信息系统的描述 不论其应用领域如何 建立一个包含用于信息系统的描述符的数据库 描述符的添加 删除和修改 提供格式化的文档资料和关于规格说明的各种报告 74 自动化工具 1 问题陈述语言 theproblemstatementlanguage PSL PSL是一种用来描述信息系统的语言 PSL模型的结构由表达以下内容的描述符构成 系统信息流 系统结构 数据结构 数据的导出 系统的规模和容量 系统的动态特性 系统的性质以及项目的管理等 2 问题陈述分析 theproblemstatementanalyzer PSA PSA能够对由PSL描述的问题进行分析 使用者对系统建立了一个完整的PSL描述后 就调用问题陈述分析器 PSA 对其进行分析 PSA将产生一系列报告 其中包括修改规格说明数据的所有记录 以各种格式介绍数据库信息的参考报告 提供研制项目管理信息的小结报告和评价该数据库文件的分析报告等 75 自动化工具 基于知识的途径软件开发是一种高级智能活动 极富创造性 是知识密集型产业 需要使用有关领域的大量知识 因此 引入人工智能技术 构造基于知识的软件工具或软件工程环境是十分必要的 随着知识工程的进步 目前在软件开发过程中使用人工智能在技术上已成为可能 引入人工智能的原理和技术 把演进型原型的思想进一步提高和细化 可以得出如图所示的扩展的自动程序设计范型 这是一个把用受限自然语言描述的初步需求逐步演进成最终的源程序的自动程序设计系统的概念模型 是由美国南加州大学信息科学研究所首先提出来的 76 原型化方法 在开发初期 要想得到一个完整准确的规格说明不是一件容易的事 特别是对一些大型的软件项目 用户往往对系统只有一个模糊的想法 很难完全准确地表达对系统的全面要求 软件开发者对于所要解决的应用问题认识更是模糊不清随着开发工作向前推进 用户可能会产生新的要求 或因环境变化 要求系统也能随之变化 开发者又可能在设计与实现的过程中遇到些没有预料到的实际困难 需要以改变需求来解脱困境 因此规格说明难以完善 需求的变更 以及通信中的模糊和误解 都会成为软件开发顺利推进的障碍 为了解决这些问题 逐渐形成了软件系统的快速原型的概念 77 软件原型的分类 在软件开发中 原型是软件的一个早期可运行的版本 它反映最终系统的部分重要特性 探索型 目的是要弄清对目标系统的要求 确定所希望的特性 并探讨多种方案的可行性 实验型 这种原型用于大规模开发和实现之前 考核方案是否合适 规格说明是否可靠 进化型 这种原型的目的不在于改进规格说明 而是将系统建造得易于变化 在改进原型的过程中 逐步将原型进化成最终系统 78 建立快速原型好处 增进软件者和用户对系统服务需求的理解 使比较含糊的具有不确定性的软件需求 主要是功能 明确化 软件原型化方法提供了一种有力的学习手段 使用原型化方法 可以容易地确定系统的性能 确认各项主要系统服务的可应用性 确认系统设计的可行性 确认系统作为产品的结果 软件原型的最终版本 有的可以原封不动地成为产品 有的略加修改就可以成为最终系统的一个组成部分 这样有利于建成最终系统 79 可执行规格说明基于脚本 scenario 的设计自动程序设计专用语言可复用 reusable 的软件简化假设 原型开发技术 80 可执行规格说明 可执行规格说明是用于需求规格说明的一种自动化技术 使用这种方法 人们可以直接观察他们用语言规定的任何系统性行为 包括代数规格说明有限状态模型可执行的数据流图 81 1 代数规格说明 代数规格说明使用集合 定义于这些集合上的函数和定义于这些函数上的方程来描述对象 规格说明的操作语义用这些方程表示 举例 定义一个无界的栈及其操作NEW STACK StackPUSH Stack Element StackPOP Stack Element Undefined POP NEW STACK UndefinedPOP PUSH stk elem elem其中 前三行定义了操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州安顺市紫云县太阳雨工业开发管理服务有限责任公司招聘水电工人员1人笔试历年参考题库附带答案详解
- 2025福建莆田市数字集团有限公司选聘11名专业人才拟聘用笔试历年参考题库附带答案详解
- 2025广东社会科学大学招聘事业编制工作人员2人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年福州产发园区运营管理有限公司招聘3人模拟试卷及参考答案详解一套
- 2025南平市延平区人民检察院驾驶员招聘考前自测高频考点模拟试题附答案详解(完整版)
- 2025湖南郴州资兴市公开招聘医疗卫生类专业技术人员28人考前自测高频考点模拟试题及答案详解(典优)
- 2025辽宁大连金普新区卫生系统招聘事业编制工作人员164人考前自测高频考点模拟试题附答案详解
- 2025年广元市贵商村镇银行科技人才招聘模拟试卷及答案详解(易错题)
- 2025广西体育运动学校公开招聘编外聘用人员4人模拟试卷及参考答案详解
- 2025江西上饶市信州区投资控股集团有限公司第一次招聘6人模拟试卷及一套答案详解
- 山体滑坡事故应急处理模版课件
- 体检中心投诉处理流程
- 银行解冻申请书
- 基于学科核心素养下的教学设计
- 人教版英语七年级(全册)单词表
- 全心衰竭的治疗与护理
- 扩张型心肌病治疗及护理
- 2002版干部履历表(贵州省)
- DL∕T 1396-2014 水电建设项目文件收集与档案整 理规范
- 行路难课件8省公开课一等奖新名师比赛一等奖课件
- 防欺凌隐患排查和矛盾化解记录表
评论
0/150
提交评论