用实例说明需求工程的设计原则和描述方法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《用实例说明需求工程的设计原则和描述方法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 说明 需求 工程 设计 原则 描述 方法 课件
- 资源描述:
-
1、用实例说明需求工程的设计原则和描述方法计算机学院 关皓文 201313273需求的定义用户解决一个问题或达到一个目标所需要的一种状况或能力(主观需求)系统为了满足一种约定、标准、规格说明或其它正式文件而必须满足或拥有的一种状况或能力(客观需求)以上两种状态或能力的文档化表示(需求文档)内容摘要v需求工程概述v需求获取v需求分析、协商与建模v需求规约与验证v需求管理vAlan Davis 把需求工程定义为“直到(但不包括)把软件分解为实际架构构件之前的所有活动”(强调做什么)vHerb Krasner定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进
2、管理 v需求获取:资料收集v需求分析与协商:理解分析整理v系统建模:用模型描述(写下来)v需求规约:完善需求文档并定稿v需求验证:验证确认v需求管理:整体规划及变更管理需求工程的六个阶段 需求获取 v系统分析人员通过与用户的交流,了解业务现状以及对待开发系统的期望确定系统或产品范围的限制性描述与系统或产品有关的人员及特征列表系统的技术环境的描述系统功能的列表及应用于每个需求的领域限制一组描述不同运行条件下的应用场景以及为更好地定义需求而开发的系统原型v需求获取收集的“原始材料”为进行需求分析提供了基础需求分析与协商 v对需求进行分类组织,分析需求之间的关系v检查需求的一致性、重叠和遗漏的情况v
3、根据用户的需要对需求进行排序。v在需求获取阶段,经常出现以下问题:提出的要求超出软件系统可以实现的范围或实现能力不同的用户提出了相互冲突的需求 系统建模 v建模工具的使用在用户和系统分析人员之间建立了统一的语言和理解的桥梁v系统分析人员借助建模技术对获取的需求信息进行分析和表达,排除错误和弥补不足,确保需求文档正确反映用户真实意图v常用的分析和建模方法有面向数据流方法、面向数据结构方法和面向对象的方法需求规约(Specification)v通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求v软件需求规约是分析任务的最终产物v需求规约
4、作为用户和开发者之间的一个协议,在之后的软件工程各个阶段发挥重要作用需求验证 v需求开发阶段工作的复查手段v对功能的正确性、完整性和清晰性,以及其它需求给予评价v为保证软件需求定义的质量,评审应以专门指定的人员负责(应该是需求分析人员之外的其他人员),并按规程严格进行 v在实际的开发过程中,获取、分析、建模、编写规约和验证这些需求开发活动不会是线性地、顺序地完成。实际上,这些活动是交叉的、递增的和反复的。需求管理 v一种获取、组织并记录系统需求的系统化方案:对所有需求工程相关活动的规划和总体控制v需求变更管理:一个使用户与项目团队对不断变更的系统需求达成并保持一致的过程(变更的记录、分析、变更
5、过程管理、追踪等)回顾:需求的各种形式v从高度抽象的系统服务或系统目标到对某一系统功能的精确约束v原始需求客户对软件系统及新的工作方式的期望目标客户单位已经存在的日常工作方式和业务规则系统所属领域固有的法规、标准或惯例等一般目标:更快、更好、更安全v需求文档自然语言描述UML图等图形表示业务规则表格内容摘要v需求工程概述v需求分析、协商与建模v需求规约与验证v需求管理需求获取方法与策略 v1、建立与用户、开发人员、分析人员之间顺畅的通信途径 v2、深入客户方进行访谈与调查 v3、观察用户操作流程 v4、组成各方联合小组v5、使用基于用况(Use Case)的方法访谈与调查的原则 v所提问的问题
6、应该循序渐进v不要限制用户对问题的回答v提问和回答在汇总后应能够反映用户需求的全貌不断汇总-反馈-汇总需求调研实例学生选课系统v第一阶段:了解基本情况请教务处老师介绍背景,如学生总数、课程数量、选课相关的基本制度等v第二阶段:制订访谈计划,深入讨论相关需求除了学生还有哪些相关用户?选课规则(学分、课程人数限制等)、退课规则了解客户对系统的期望:准确、访问速度快需求调研实例学生选课系统v第三阶段:基本了解需求后就一些关键细节通过问卷进行明确在已经了解总体选课人数之后,需要进一步了解通常情况下的选课持续时间、是否按院系逐步开放选课、选课人数的一般分布等与性能设计密切相关推荐关键管理人员使用USB
7、Key设备,经济上是否可以接受内容摘要v需求工程概述v需求获取v需求规约与验证v需求管理需求分析原则 v必须能够表示和理解问题的信息域(数据)v必须能够定义软件将完成的功能v必须能够表示软件的行为(作为外部事件的结果)v必须划分描述数据、功能和行为的模型(分离描述),从而可以分层次地揭示细节v分析过程应该在基本信息基础上不断细化信息域 v信息域:包括信息内容、信息流、以及信息结构信息内容信息内容表示了单个数据和控制对象,目标软件所有处理的信息集合由它们构成v例如,数据对象“工资”是一组重要数据体的组合:领款人的姓名、净付款数、付款总额、扣除额等等 信息流信息流表示了数据和控制在系统中流动时的变
8、化方式,输入对象被变换为中间信息(数据和/或控制),然后进一步被变换为输出v例如用数据流图表示的数据加工处理的全过程信息结构信息结构表示了各种数据和控制项的内部组织(数据之间的关系)v数据或控制项将被组织为n维表还是树形结构?v在结构的语境内,什么信息是和其他信息相关的?v信息包含在单个结构中,还是使用不同的结构?v在某信息结构中的信息如何和在另一个结构中的信息相关?需求描述和分析技术1.问题分解2.抽象3.建模4.多视点整个问题整个问题子问题子问题1 1子问题子问题3 3子问题子问题2 21、问题分解v什么是问题分解降低解决问题的复杂度;获取和分析问题本身所固有的整体-部分关系图书馆系统v读
9、者管理v图书管理v借阅管理2、问题抽象(1/2)v什么是抽象?抓住问题的本质,获取一般和特殊关系问题抽象(2/2)v读者抽象(提取成份)名字性别单位类别照片Email电话3、需求建模(1/2)v什么是需求模型v为什么需要建模需求建模(2/2)v注意不要涉及软件设计和实现细节v需求建模方法面向数据流的结构化分析方法(SA)面向数据结构的分析方法 面向对象的分析方法(OOA)4、多视点分析v什么是多视点分析从多个角度、不同层面上分析和描述用户需求v为什么需要多视点分析 人的认识具有片面性(瞎子摸象)多视点可以帮助我们全面把握用户的需求v多视点分析:例如围绕着超市收银系统v顾客希望?v收银员希望?v
10、经理希望?v系统管理员希望?最终的软件系统是相关方的综合体,各种期望可能存在冲突,需要进一步分析权衡需求协商 v讨论需求冲突,折衷方案 v协商不是简单的逻辑或技术上的争论 v要注意组织和行政方面的因素 不一致的目标 责任的丧失或转移 组织文化 组织管理态度和士气 部门差异 v通常会议是解决冲突最快的方式 v参加者:发现冲突、遗漏或重叠的分析员,以及可以解决发现的问题的项目相关人员 v会议应该讨论那些非正式讨论不能解决的问题 v通常会议分为三个阶段:叙述阶段讨论阶段决策阶段 内容摘要v需求工程概述v需求获取v需求分析、协商与建模v需求管理需求规约的原则-1v从现实中分离功能,即描述要“做什么”而
11、不是“怎样实现”认识模型,而不是设计或实现的模型使用面向处理的规约语言(或称系统定义语言)需求规约的原则-2v规约必须包括系统运行环境v规约必须是可操作的需求规约的原则-3v规约必须允许不完备性并允许扩充v规约必须局部化和松散耦合需求规约 v引言引言:陈述软件目标,在基于计算机的系统语境内进行描述。v信息描述信息描述:给出软件必须解决问题的详细描述,记录信息内容和关系、流和结构。v功能描述功能描述:描述解决问题所需的每个功能。其中包括,为每个功能说明一个处理过程;叙述设计约束;叙述性能特征;用一个或多个图形来形象地表示软件的整体结构和软件功能与其他系统元素间的相互影响。v行为描述行为描述:描述
展开阅读全文