是软件用户认为其所使用的软件应具备的功能和性能,软件需求是指软件系统必须满足的所有功能、性质和限制
软件需求的分类:目标需求,业务需求,功能需求,性能需求,约束和限制
需求规格说明:完整性、正确性、可行性、必要性、划分优先级、无二义性、可验证性 软件工程是指:用工程方法开发和维护软件过程和有关技术。
软件工程基本内容:软件开发过程、软件开发和维护的方法与技术、软件开发和维护工具的系统、质量评价和质量保证 软件开发过程模型
瀑布式模型、快速原型模型、渐增式模型、螺旋式模型、面向对象开发模型 软件生命周期:需求分析和定义、设计、编码、测试、维护
需求工程是指应用过程化方法、技术和规格来开发和管理软件的需求 需求工程的目标:获取高质量的软件需求。
需求工程的任务:获取、分析和表达软件的需求。
需求工程的任务:1确定待开发的软件系统的用户类,并获取他们的需求信息2分析用户的需求信息,并按软件需求的类型对这些需求信息进行分类,同时过滤掉不是需求的信息3根据软件需求的信息建立软件系统的逻辑模型或需求模型,并确定非功能需求和约束条件和限制
需求工程对软件开发的影响
1需求是制定项目计划的基础2需求工程所产生的最终产物(需求规格说明)是软件设计和软件实现的基础3需求规格说明是测试工作和用户验收软件的依据4软件规格说明是软件维护工作的依据。 需求工程面临的困难
需求获取与需求分析的困难性,需求描述语言和规范化的困难性,需求验证的困难性,需求管理的困难性
需求工程的目标:给出待开发或待完善的软件系统的一个清晰地、完整的、无二义性的和精确的描述,并最终产生高质量的软件需求规格说明书 需求工程阶段:需求开发阶段和需求管理阶段
需求开发阶段:1用户的意图分析2需求规范化 细分为:需求获取,需求分析,需求描述,需求验证
软件需求获取阶段的任务:获取用户的需求信息。 需求信息的分类:1目标需求2用例说明3业务规则4功能需求5性能需求6外部接口需求7限制8数据定义9解决方案 非功能需求:1可靠性2可扩充性3安全性4互操作性5健壮性6易使用性7可维护性8可可移植性9可重用性
需求获取的过程:确定需求开发计划,建立项目目标和范围,确定调查对象,实地收集需求信息,确定非功能需求
确定需求开发计划:确定需求开发的实施步骤,给出收集需求活动的具体安排和进度
确定需求开发目标和范围:根据项目目标把项目相关人员定位到一个共同的和明确的方向上,并决定软件系统的范围
确定范围的好处:可以判断用户所提出的需求信息是否对项目合适,有些用户需求信息可能是建议,但可能有价值
确定调查对象:明确地确定来自不同层次的需求来源和用户,并进行分类 软件需求分为三个层次:目标需求,业务需求,功能及非功能需求
实地收集需求信息:到现场实地调查和与用户交流,收集和理解用户需求信息 实地调查的步骤1向掌握全局的负责人调查2向部门负责人调查3向业务人员调查 软化需求来源:1直接和间接使用软件系统的用户2系统需求规格说明3市场调查和用户问卷调查4已开发的和待开发的同类软件系统的描述和文档5对人工系统中存在的问题的报告和增强要求6观察正在工作的用户7用户工作内容的分析
需求分析:建立系统关联图,分析需求可行性,构建用户接口原型,明确需求的优先级,需求建模,建立数据字典, 建立系统关联图:界定收集需求信息的范围提高需求获取的效率,把项目相关人员定位到一个共同的、明确的方向上 分析需求得可行性:在允许的成本和性能要求以及系统范围内,分析每项需求得以实施的可能性
构建用户接口模型:对于软件开发人员或用户不能明确化得需求可以建立相应的用户接口原型然后评估该原型 明确需求的优先级:帮助项目相关人员判断系统的核心需求,并有助于项目开发人员集中于重点问题的交流和协商
需求建模:导出目标系统的逻辑模型,以明确目标系统“做什么”的问题 SA结构化分析方法
特点:1表达问题时尽可能使用图形符号的方式,即使非计算机专业的人员也易于理解2设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能 基本思想:按照由抽象到具体、逐层分解的方法,确定软件系统内部的数据流、变换的关系,并用数据流图表示。
描述手段:1一套分层的数据流图2一本词典3其他补充材料 数据字典:定义目标中使用的所有数据元素和结构的含义、类型、数量值、格式和度量单位、精度及允许取值范围的共享数据仓库。
数据字典的作用:确保软件开发人员使用同一的数据定义,可提高需求分析,设计,实现和维护过程中的可跟踪性。
需求建模方法和技术(描述性模型、归约性模型、探测性模型) 数据流图:数据流、加工、文件、源点和终点
数据字典:数据流(数据流名,标识符,组成) 汇总后的数据项(数据项名、类型、值、位数)
面向对象的需求分析:1问题分析2应用分析3面向对象设计 面向对象的需求建模方法
关键是从获取需求信息中识别出问题域中的类和对象,并分析它们之间的关系,最终建立起简洁、精确和易理解的需求模型。 OMT方法 基本思想:是将面向对象的分析过程视为一个模型的构建过程,即整理获取的需求信息并逐步分析和建立需求模型的过程
3个模型:描述系统静态数据结构的对象模型,描述系统控制结构的动态模型,描述系统功能的功能模型。
OMT方法覆盖了分析、设计和实现三个阶段,并划分为问题分析、系统设计、对象设计和实现四个步骤。
状态转换图、序列图、
需求规格说明:是整个需求工程活动的最终输出,并以文档的形式给出在需求获取和需求定义分析阶段所获得的所有用户需求和需求建模
需求规格说明书内容
1目的、文档约定、预期的读者和阅读建议、产品范围、参考文献2(综合描述)产品前景、产品功能、用户类和特征、运行环境、设计和实现的限制、假设和依赖3(外部接口需求)用户界面、硬件接口、软件接口、通信接口4(系统特性)说明和优先级、激励/响应序列、功能需求5(其他非功能需求)性能需求、安全实施需求、安全性需求、软件质量属性、业务规则、用户文档 需求规格说明的作用
1需求规格说明是软件设计和实现的基础2需求规格说明是测试和用户验收软件系统的重要依据4需求规格说明能为软件维护提供重要的信息 需求验证:检验需求规格说明 目的和任务:软件需求规格说明是否正确描述了目标系统的行为和特征,从其他来源中得到软件需求,需求是完整的和高质量的,所有人对需求的看法是一致的,需求为进一步的软件开发和测试提供了足够的基础
需求验证的内容和方法:一致性,完整性,现实性,有效性 需求评审:非正式评审,正式评审 审查人员的确定和分工
审查过程:筹备、准备、审查会议、修改、重审
需求测试:除了评审方式之外。还可对需求规格说明进行模拟测试 对于每一个需求通过设计一个或多个可能的测试用例,使这些用例能用于检查系统是否满足 需求管理的任务:有效的管理软件系统的需求规格说明及相应文档,评估需求变更带来的潜在影响及可能的成本费用,跟踪软件需求的状态,管理需求规格说明书的版本等
需求管理:1控制对基准需求规格说明的变动2保持项目计划于需求一致3控制单个需求的更改和需求规格说明文档的更改4管理需求和需求间的联系以及需求与设计和实现等方面的依赖关系5跟踪需求的更改状态,控制多个需求同时更改的复杂性 需求变更控制
1控制项目范围的扩展2变更控制策略3变更控制的步骤(1变更控制的启动、确定角色与责任3影响分析和评估4实施变更5验证6变更控制的结束) 面向软件行为和视点的需求建模和检测方法
它是一种可用于建立复杂的软件系统需求建模的方法 基本原理:为获得复杂系统的高质量和可信需求模型,需要根据不同的用户视点建立系统的需求模型
基本概念:1视点:一个观察者根据其关注点和某个问题域而提出的需求信息的集合构成一个视点2视点模板:是视点信息的存放形式,并由一些信息槽构成3视点关系:视点间关系是指两个视点之间在问题域或者需求信息方面的联系(重叠关系、顺序关系、无关系) 行为分类:目标行为、功能行为、复合行为、原子行为
基本步骤:1划分问题域2标识视点3描述需求4建立场景5建立行为模型6建立异类需求模型7检测所有视点8修改需求及行为模型9检测软件系统的部分特性
视点管理:问题域管理、视点生存过程管理、视点关系表管理、术语表及行为表管理、用户管理、日志管理
因篇幅问题不能全部显示,请点此查看更多更全内容