《第二讲需求的基础理论课件.ppt》由会员分享,可在线阅读,更多相关《第二讲需求的基础理论课件.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二讲需求的基础理论第1页,此课件共63页哦主要内容需求的涵义需求的类型需求工程的路线优秀需求的特性常见的需求错误第2页,此课件共63页哦软件加强型系统软件加强型系统中的软件泛指由计算机技术支持的互相联系着的一组人类活动组成的系统与物理设备相关与人类社会的活动相关软件加强型系统比如:游戏软件与物理设备、用户ERP系统与组织运作过程1.需求的涵义对象第3页,此课件共63页哦1.需求的涵义需求的定义(1)用户为了解决问题或达到某些目标所需要的条件或能力;(2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;(3)对(1)或(2)中的一个条件或一种能力的一种文
2、档化表述。第4页,此课件共63页哦1.需求的涵义问题域与解系统(1)软件系统与外部环境第5页,此课件共63页哦1.需求的涵义问题域与解系统当现实的状况与人们期望的状况产生差距时,就产生了问题。要解决问题,就需要改变现实当中某些实体的状态或改变实体状态变化的演进顺序,使其达到期望的状态或演进顺序。这些实体和状态构成了问题解决的基本范围,称为该问题的问题域(Problem Domain)软件系统通过影响问题域,能够帮助人们解决问题,称为解系统 第6页,此课件共63页哦1.需求的涵义共享现象软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分的具有模拟特性。换句
3、话说,软件系统当中含有问题域某些部分的模型(或模拟),常见的模型包括数据模型、对象模型、处理模型等。问题域中的某些信息能够和模型中的信息建立映射关系 这些通过映射建立的共同知识,就是问题域和解系统之间的共享现象 第7页,此课件共63页哦1.需求的涵义需求需求是用户对问题域当中的实体状态或事件的期望描述 R2.2.3-1:一旦书籍被借出,则在归还之前,它不能被再次借阅。R2.2.3-2:在归还的书超过30天的归还期限时,归还后应该进行超期处罚。直接需求间接需求第8页,此课件共63页哦1.需求的涵义规格说明规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征主要包括两个部分(如图
4、23(b)):(1)对共享现象(模型)的描述;(2)系统对共享现象所施加的操作的描述。也可以看作是一种需求完全针对系统行为发出的期望一种理想的、完全不需要进行任何额外努力即可以转换为系统行为的需求。第9页,此课件共63页哦1.需求的涵义问题域特性 问题域自治的规律性称为问题域特性包括结构特性和行为特性等 问题域特性的重要性要想解决问题,它就需要了解问题域特性,将解决方案和问题域特性结合起来 要防止解系统的引入在问题域当中引发未预见的连锁反应 需要关注的问题域特性间接特性 约束和假设 第10页,此课件共63页哦1.需求的涵义从问题域、需求和规格说明的关系看需求工程 描述明确的问题域特性E;定义良
5、好的系统行为S;预期的需求R需求工程的目的就是根据E,构建S,使得 需求工程的困难之处:(1)不存在描述明确的E;(2)不存在确定的针对S的评估标准R;(3)是一个创造性的过程。需求工程的主要工作 需求开发,确定 R 研究问题背景,描述问题域特性E 构建解系统,描述解系统行为S,使得 RSE,RSE,SRE,第11页,此课件共63页哦主要内容需求的涵义需求的类型分类方式功能需求性能需求质量属性对外接口约束需求工程的路线优秀需求的特性常见的需求错误第12页,此课件共63页哦2.1 需求的分类方式(1)功能需求(Functional Requirement):和系统主要工作相关的需求,即在不考虑物
6、理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。性能需求(Performance Requirement):系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。质量属性(Quality Attribute):系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。对外接口(External Interface):系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。约束 进行系统构造时需要遵守的约束,例如编程语言、硬件设施等 第13页,
7、此课件共63页哦2.1 需求的分类方式(2)系统需求(System Requirement)硬件需求(Hardware Requirement)软件需求(Software Requirement)其他需求 第14页,此课件共63页哦2.1三类问题和三种需求变化方式S类型程序(可说明的)问题能够被形式地和完全地陈述出来接受:按照这个规格说明,这个程序是正确的吗?这种软件不会进化对规格说明的改变定义一个新的问题,因而是新的程序P类型程序(问题求解)现实世界问题的不精确陈述接受:对这个问题来说,这个程序是一个可接受的解决方案吗?这种软件很可能要连续地进化因为这个方案是决不会完美的,并且是能够被改进的
8、因为现实世界要变化,所以这个程序也要变化E类型程序(被嵌入的)一个变成它建模的世界的一部分的系统接受:完全依赖于观点和判断这个软件是固有的进化的软件和世界的变化相互影响第15页,此课件共63页哦2.1三类问题和三种需求变化方式第16页,此课件共63页哦2.2 功能需求层次性第17页,此课件共63页哦2.2 功能需求业务需求系统建立的战略出发点,表现为高层次的目标(Objective),它描述了组织为什么要开发系统 为了满足用户的业务需求,需求工程师需要描述系统高层次的解决方案,定义系统应该具备的特性(Feature)参与各方必须要对高层次的解决方案达成一致,以建立一个共同的前景(Vision)
9、特性说明了系统为用户提供的各项功能,它限定了系统的范围(Scope)第18页,此课件共63页哦2.2 功能需求用户需求执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么直接用户间接用户 对所有的用户需求,都应该有充分的问题域知识作为背景支持 特性模糊、不清晰 多特性混杂 多逻辑混杂 第19页,此课件共63页哦2.2 功能需求系统需求用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求 系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么 将用户需求转化为系统需求的过程是一个复杂的过程首先需要分析问题领
10、域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型;然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。该过程就是需求工程当中最为重要的需求分析活动,又称建模与分析活动。第20页,此课件共63页哦2.2 功能需求从功能需求的层次性看需求开发业务需求指导需求获取业务需求用户需求转化用户需求为系统需求系统需求图25、不同抽象层次需求之间的联系第21页,此课件共63页哦2.3 性能需求 速度(Speed),系统的响应时间,例如PR2.3.3-1。PR2.3.3-1:所有的用户查询都必须在10秒内完成。容量(Capaci
11、ty),系统所能存储的数据量,例如PR2.3.3-2。PR2.3.3-2:系统应该能够存储至少10万条销售记录。吞吐量(Throughput),系统在连续的时间内完成的事务数量,例如PR2.3.3-3。PR2.3.3-3:解释器每分钟应该至少解析5000条没有错误的语句。负载(Load),系统可以承载的并发工作量,例如PR2.3.3-4。PR2.3.3-4:系统应该允许200个用户同时进行正常的工作。实时性(Time-Critical),严格的实时要求,例如PR2.3.3-5。PR2.3.3-5:监测到病人异常后,监控器必须在0.5秒内发出警报。第22页,此课件共63页哦2.4质量属性系统为了
12、满足规定的及隐含的所有要求而需要具备的要素称为质量 质量属性是为了度量质量要素而选用的特征 质量模型就是能够为质量需求的描述和评价提供工作基础的特征集及特征之间的联系 质量属性的重要性 对设计的影响很大 对越复杂的系统越为重要 Robert19901:真实的现实系统中,在决定系统的成功或失败的因素中,满足非功能属性往往被满足功能性需求更为重要。第23页,此课件共63页哦2.4质量属性ISO/IEC 9126 第24页,此课件共63页哦2.4质量属性 ISO/IEC 9126特征子特征简要描述功能性精确性软件准确依照规定条款程度,规定确定了权利、协议的结果或者协议的效果依从性软件符合法定的相关标
13、准、协定、规则或其他类似规定的程度互操作性软件和指定系统进行交互的能力安全性软件阻止对其程序和数据进行未授权访问的能力,未授权的访问可能是有意,也可能是无意的适合性指定任务的相应功能是否存以及功能的适合程度第25页,此课件共63页哦2.4质量属性 ISO/IEC 9126可靠性成熟性因软件缺陷而导致的故障频率程度容错性软件在故障或者外界违反其指定接口的情况下维持其指定性能水平的能力可恢复性软件在故障后重建其性能水平、恢复其受影响数据的能力、时间和精力依从性同上第26页,此课件共63页哦2.4质量属性 ISO/IEC 9126易用性可理解性用户认可软件的逻辑概念和其适用性需要花费的精力可学习性用
14、户为了学会使用软件需要花费的精力可操作性用户执行软件操作和控制软件操作需要花费的精力吸引性软件吸引用户的能力依从性同上第27页,此课件共63页哦2.4质量属性 ISO/IEC 9126效率时间行为执行功能时的响应时间、处理时间和吞吐速度资源行为执行功能时使用资源的数量和时间依从性同上第28页,此课件共63页哦2.4质量属性 ISO/IEC 9126可维护性可分析性诊断软件中的缺陷、故障的原因或者识别待修改部分需要花费的精力可改变性进行功能修改、缺陷剔除或者应付环境改变需要花费的精力稳定性因修改导致未预料结果的风险程度可测试性确认已修改软件需要花费的精力依从性同上第29页,此课件共63页哦2.4
15、质量属性 ISO/IEC 9126可移植性适应性不需采用额外的活动或手段就能适应不同指定环境的能力可安装性在指定的环境中安装软件需要花费的精力共存性在公共环境中同分享公共资源的其他独立软件共存的能力可替换性在另一个指定软件的环境下,替换该指定软件的能力和需要花费的精力依从性同上第30页,此课件共63页哦2.4质量属性质量属性的开发用户并不能明确地提出他们对产品质量的期望并不了解软件系统的开发过程,也就无从判断哪些质量属性会在怎样的程度上给设计带来多大的影响,也无法将他们对软件系统的质量要求细化成一组组的可量化的质量属性需求工程师质量属性大都是和功能需求联系在一起的,因此需要对照软件的质量属性检
16、查每一项功能需求,尽力去判断质量属性存在的可能性 形容词和副词通常意味着质量属性的存在 对于一些不和任何功能需求相联系的全局性质量属性,需求工程师要在碰到特定的实例时意识到它们的存在 第31页,此课件共63页哦2.5对外接口 解系统和其他系统之间的软硬件接口 接口的用途接口的输入输出数据格式命令格式异常处理要求用户界面 利用专门的人机交互设计文档记录 第32页,此课件共63页哦2.6约束 总体上限制了开发人员设计和构建系统时的选择范围 系统开发及运行的环境。包括目标机器、操作系统、网络环境、编程语言、数据库管理系统等。问题域内的相关标准。包括法律法规、行业协定、企业规章等。商业规则。用户在任务
17、执行中的一些潜在规则也会限制开发人员设计和构建系统的选择范围 第33页,此课件共63页哦主要内容需求的涵义需求的类型需求工程的路线优秀需求的特性常见的需求错误第34页,此课件共63页哦3.需求工程的路线问题分析和背景分析发现问题比发现需求要简单的多 进行背景分析,以更好的理解用户的问题 问题分析 明确问题。定义业务需求。制定解决方案。确定系统特性。第35页,此课件共63页哦3.需求工程的路线需求获取 根据项目范围,确定问题域的范围确定需求获取的源头 确定获取的主题和内容 选择需求获取的方法 围绕获取的内容,运用需求获取的方法,从源头获取需求 对获取过程中出现的分歧和问题,在项目前景的指导下进行
18、解决 经过需求获取过程,可以得到获取的文档资料,其中以获取笔录为主 第36页,此课件共63页哦3.需求工程的路线需求分析 建立一个综合考虑了问题域特性和需求的系统模型根据系统模型将用户需求转化为系统需求 文档化和验证产生规格说明 进行验证 第37页,此课件共63页哦主要内容需求的涵义需求的类型需求工程的路线优秀需求的特性常见的需求错误第38页,此课件共63页哦4.优秀需求的特性完整性完整性 不需要做更多的扩展就可以充分的说明用户所需要的系统功能。每一个需求的描述都应该包含开发人员设计和实现这项功能需要的所有信息R2.5-1:系统应该允许被扩展。(更好)R2.5-2:系统的调度算法应该允许被扩展
19、。第39页,此课件共63页哦4.优秀需求的特性正确性正确性 真实的反映用户的意图 必须请需求的提出者予以确认 精确性精确性 描述仅包含必要的信息 简洁、清晰(不好)R2.5-3:在实现之后,系统的调度算法应该允许被扩展。第40页,此课件共63页哦4.优秀需求的特性可行性可行性 由开发人员进行检查 需要进行一定的分析和研究,而不是单纯的凭借经验和直觉 必要的时候要通过开发原型来加以验证 必要性必要性 满足用户的业务需求所必需的 第41页,此课件共63页哦4.优秀需求的特性无歧义无歧义 每一项需求都应该有而且只能有一种解释 定义一个可以共同理解的词汇表(Glossary)可验证可验证 通过分析、检
20、查、模拟或者测试等方法能够判断需求是否被满足 不可验证的需求往往是因为描述模糊或者过于抽象,所以在进行需求的描述时要让需求具体化小心形容词和副词的使用避免程度词的使用第42页,此课件共63页哦主要内容需求的涵义需求的类型需求工程的路线优秀需求的特性常见的需求错误第43页,此课件共63页哦5.常见的需求定义错误需求并没有反映用户的真实需要 用户在表达自己的需要时,可能会在潜意识下进行一定的加工 发现问题背后的问题 在人际交流当中,信息会发生自然的衰减,甚至扭曲 检查和确认 第44页,此课件共63页哦5.常见的需求定义错误模糊和歧义的需求无意中写出模糊和歧义的需求定义往往是因为选词造句不当 为项目
21、中重要的词汇建立一个公共的可共同理解的词汇表 有意产生的模糊和歧义的需求定义往往是为了应付对需求持有不同立场的用户 在项目前景的指导下,促进用户之间的协商解决 第45页,此课件共63页哦5.常见的需求定义错误明显的信息遗漏 明显的信息遗漏,其主要原因在于项目的范围定义不当 加强对业务需求的处理不明显的信息遗漏,往往是因为相关信息难以发现 该类问题是最难以解决的问题,只能靠需求工程师的经验来加以避免 第46页,此课件共63页哦5.常见的需求定义错误不必要的需求 其一是用户将之作为和开发人员谈判的筹码 谈判技巧 其二是用户在交流当中,用户总是倾向于表达各种各样的需要 根据业务需求进行用户需求的过滤
22、和选择 其三是需求开发人员“画蛇添足”保持以用户为中心不切实际的期望用户并不掌握关于软件系统构建的相关技术知识,所以用户可能会提出一些已有软件技术无法实现的期望 软件开发者提供可行性、成本等足够的技术参考信息,帮助用户对其进行取舍和调整 第47页,此课件共63页哦5.常见的需求定义错误第48页,此课件共63页哦需求工程的示例技术标书研究型描述第49页,此课件共63页哦实例分析(系统A招标书)请说出下列需求的类型,是否存在问题?1、实现各部门的公文流转无纸化、文档一体化、业务管理的规范化、自动化和网络化;2、实现工作流程合理化、高效化,决策支持科学化、准确化;3、统一办公流程、规范公文格式,加强
23、信息交流和共享,提高工作效率。第50页,此课件共63页哦实例分析(系统A 招标书)请说出下列需求的类型,是否存在问题?先进性:先进性:软件系统采用三层B/S 系统结构,以“界面表示层逻辑处理层数据访问层”分层设计实现。采用国际上先进成熟的、厂商广泛支持的计算机技术、网络技术与软件技术对系统进行规划,保证系统整体架构在未来几年内都处于国际领先的地位。安全性:安全性:软件系统具有较高的安全要求,系统必须具备充分的安全措施,包括具备严格的权限控制机制和完备的日志记录,以确保信息安全。可靠性:可靠性:保证系统核心功能可以724小时连续运行;规范性:规范性:系统必须遵循国家有关法律法规要求,符合国家有关
24、标准要求以及关于信息系统建设的各项标准和规范。第51页,此课件共63页哦实例分析(系统A 招标书)请说出下列需求的类型,是否存在问题?收文管理应包括:来文登记、拟办、领导审批、办理、归档、查询统计等功能。附件支持WORD、PDF、EXCEL、HTML 等文档类型格式;需提供方便、灵活、直观的文件批示处理;对收文的处理全过程进行自动化管理、跟踪和记录;在收文处理的过程中,支持电子印章、电子签名或手写批注等功能。来文登记:来文登记:完成来文登记功能。登记来文基本信息(来文编号、来文标题、主题词、来文单位、来文时间),还要对原文进行扫描处理,引入到公文库中。并可完成收文办文单打印功能。完成后启动收文
25、流转流程。拟办:拟办:查看公文的基本信息,原文内容。签录拟办意见,发送给领导审批。领导审批:领导审批:查看公文的基本信息,原文内容。签录批示意见,确定主办部门、协办部门。办理:办理:办理人根据领导批示办理,记录办理情况。归档:归档:对办理完结的来文归档,将来文信息、拟办意见、领导批示、办理情况等信息及来文扫描件发送到档案管理系统,档案科确认接收的文件,才属于己归档文件。查询统计:查询统计:提供按来文编号、来文标题、主题词、来文单位、来文时间等查询统计功能,要求查询统计结果可以打印。第52页,此课件共63页哦实例分析(系统A 招标书)请说出下列需求的类型,是否存在问题?编程应遵循如下原则:唯一性
26、:每个实体及其属性必须有唯一的代码来确切地定义。可扩充性:考虑到系统以后的发展,编号要留有余地。当增加新的实体时,可以直接在原代码的基础上加以扩充,扩充后不会引起代码体系的混乱,这样就避免了重新设计代码系统的麻烦。通用性:凡国家、行业、地方对编码有统一标准和规定的,应尽量使用标准代码,代码适用范围越广越好。没有标准代码的,投标方设计的代码也应该统一,如代码长度与格式的统一。便于记忆和识别:代码不但要具有一定的逻辑定义,也要尽量考虑用户的使用习惯,使代码便于记忆和识别,做到简单明了简短性:在满足需要的前提下,代码要尽可能短。编程人员必须对所有代码进行严格自测。第53页,此课件共63页哦实例分析(
27、系统A 招标书)请说出下列需求的类型,是否存在问题?验收投标方需提供以下文档:软件需求分析报告软件总体设计报告软件操作手册软件配置手册软件试运行报告应用软件介质第54页,此课件共63页哦实例分析(系统A 招标书)请说出下列需求的类型,是否存在问题?培训要求投标人必须提供相应的应用软件技术和系统操作等方面的培训。投标人须在文件中提出全面、详细的培训课程以及时间表交给业主,并在合同签定后征得业主同意后实施。投标人应提供面向系统管理员的应用软件系统结构、日常维护等方面的培训。对于所有培训,投标人必须派出具有相应专业资格和实际工作经验的人员进行培训。投标人须提供详细的培训计划。以上培训内容的培训费用均
28、包含在投标报价内,项目采购人不再另行支付第55页,此课件共63页哦实例分析(系统B需求规格说明)请说出下列需求的类型,是否存在问题?2.1.2.1.开发意图开发意图1.减少人力成本2.提高办公效率3.成本统计、查询4.历史信息查询5.支持WEB 操作第56页,此课件共63页哦实例分析(系统B 需求规格说明)请说出下列需求的类型,是否存在问题?2.3.2.3.产品功能产品功能2.3.1.2.3.1.人员管理人员管理对本公司的人力资源进行管理。提供功能:新员工信息录入、信息修改(晋升、部门调动、休假、婚姻状况变更)、离职人员归档。注)该操作需要具有人员管理权限的人才可以进行。2.3.2.2.3.2
29、.业务管理业务管理对本公司的业务进行管理。提供功能:新业务录入、现有业务变更(计划提前或延后、合同金额或付款方式变更、业务内容变更)、已完成的业务归档。注)该操作需要具有业务管理权限的人才可以进行。第57页,此课件共63页哦实例分析(系统B 需求规格说明)请说出下列需求的类型,是否存在问题?2.4.1.2.4.1.扩展性扩展性要求结构设计良好,二次开发成本要求低于本次开发成本30%能够简单的进行多语言版本改造。2.4.2.2.4.2.灵活性灵活性支持主流浏览器:IE7,8,FireFox2.0,Google 浏览器。2.4.3.2.4.3.精度精度金额相关:小数点后保留2 位有效数字;时间相关
30、:精确到秒;传输过程中的精度:小数点后保留5 位有效数字。2.4.4.2.4.4.响应要求响应要求用户登陆:=0.5 秒页面跳转:=2 秒2.4.5.2.4.5.安全性安全性系统管理员(admin)负责系统维护;根据公司体制指定各部门负责人,并赋予相应的操作权限;所有信息保存在MySQL 数据库中;用户密码采用密文形式保存第58页,此课件共63页哦实例分析(系统B 需求规格说明)请说出下列需求的类型,是否存在问题?第59页,此课件共63页哦实例分析(系统B 需求规格说明)请说出下列需求的类型,是否存在问题?3.3.2.3.3.2.人员信息变更人员信息变更目的:修改员工信息。功能:提供员工信息修
31、改界面,并将修改后的信息保存进MySQL 数据库。步骤:1.在界面上修改员工信息。2.操作者权限检查。3.操作成功,返回人员管理界面;操作失败,提示错误信息。流程图:第60页,此课件共63页哦实例分析(系统C)请说出下列需求的类型,是否存在问题?4.1 4.1 业务现状与分析业务现状与分析单一客户经理渠道从“绿色通道”变成制约集团发展的瓶颈其他营销服务界面缺乏有效识别集团客户的工具目前公司缺少一套贯穿全省各级公司和各部门的统一业务调度系统来协助跨部门工作各节点缺乏受理标准时限规范,内部资源调度无法快速响应,客户经理在面对客户时无法进行服务时限承诺,降低了集团业务的客户满意业务支撑平台不断增多,
32、且均需要分散维护,服务质量难以保障第61页,此课件共63页哦实例分析(系统C)分策经理审批分策经理审批分策经理信息分策经理信息员工工号登陆后自动显示员工姓名根据工号系统自动显示姓名审批信息审批信息是否需要审批是/否审批意见输入行业部经理审批行业部经理审批行业部经理信息行业部经理信息员工工号登陆后自动显示员工姓名根据工号系统自动显示姓名审批信息审批信息是否需要审批是/否审批意见输入产品部经理审批产品部经理审批产品部经理信息产品部经理信息员工工号登陆后自动显示员工姓名根据工号系统自动显示姓名审批信息审批信息是否需要审批是/否审批意见输入分策部经理审批分策部经理审批分策部经理信息分策部经理信息员工工号登陆后自动显示员工姓名根据工号系统自动显示姓名审批信息审批信息是否需要审批是/否审批意见输入请说出下列需求的类型,是否存在问题?第62页,此课件共63页哦本章小结需求是人们对现实世界问题解决的期望解系统通过共享知识和问题域进行互动,从而解决现实世界中的问题具体的需求包括功能需求、性能需求、质量属性、对外接口和约束需求工程活动是依据需求的内涵与外延逐步展开的书写的需求应该具有优秀的特性,尤其要避免出现常见的错误第63页,此课件共63页哦