什么是软件需求是软件用户认为其所使用的软件应具备的功能和性能,软件需求是指软件系统必须满足的所有功能、性质和限制软件需求的分类:目标需求,业务需求,功能需求,性能需求,约束和限制需求规格说明:完整性、正确性、可行性、必要性、划分优先级、无二义性、可验证性软件工程是指:用工程方法开发和维护软件过程和有关技术。软件工程基本内容:软件开发过程、软件开发和维护的方法与技术、软件开发和维护工具的系统、质量评价和质量保证软件开发过程模型瀑布式模型、快速原型模型、渐增式模型、螺旋式模型、面向对象开发模型软件生命周期:需求分析和定义、设计、编码、测试、维护需求工程是指应用过程化方法、技术和规格来开发和管理软件的需求需求工程的目标:获取高质量的软件需求。需求工程的任务:获取、分析和表达软件的需求。需求工程的任务: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可重用性需求获取的过程:确定需求开发计划,建立项目目标和范围,确定调查对象,实地收集需求信息,确定非功能需求确定需求开发计划:确定需求开发的实施步骤,给出收集需求活动的具体安排和进度确定需求开发目标和范围:根据项目目标把项目相关人员定位到一个共r