需求工程与过程分析课件

上传人:494895****12427 文档编号:252431210 上传时间:2024-11-15 格式:PPT 页数:47 大小:1.01MB
返回 下载 相关 举报
需求工程与过程分析课件_第1页
第1页 / 共47页
需求工程与过程分析课件_第2页
第2页 / 共47页
需求工程与过程分析课件_第3页
第3页 / 共47页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Slide Title,Body Text,Second Level,Third Level,Fourth Level,Fifth Level,Slide Title,Body Text,Second Level,Third Level,Fourth Level,Fifth Level,第二章 软件需求工程及其过程,2.1,需求工程概述,2.2,软件需求与产品生命周期,本章结构,2.3,软件需求工程的过程,2.4,需求工程的角色系统分析员,第二章 软件需求工程及其过程2.1 需求工程概述2.2 软件,1,2.1 需求工程概述,需求工程是软件工程的核心组成部分,是指应用有效的技术、方法进行需求分析,确定客户需求,帮助分析和设计人员理解问题,并定义目标系统的一门,学科,。,它把整个软件需求工程研究领域划分为,需求开发,和,需求管理,两部分。,2.1 需求工程概述 需求工程是软件工程的核心组,2,2.1 需求工程概述,2.1 需求工程概述,3,需求,开发,活动内容,获取每个,用户类,的需求。,确定产品所期望的,用户类,。,了解实际用户任务和目标以及这些任务所支持的业务需求。,分析源于用户的信息,以区别用户任务需求、功能需求、业务规则、质量属性。,将系统级的需求分为几个子系统,并将需求中的一部份分配给软件组件。,例,了解相关质量属性的重要性。,商讨实施优先级的划分。,例,将所收集的用户需求编写成规格说明和模型。,评审需求规格说明,确保对用户需求达到共同的理解与认识。,例,需求开发活动内容获取每个用户类的需求。,4,用户类,用户是可分不同类型的,举例如下:,DZ在各种论坛的地位是有目共睹的,特别是BT下载论坛和娱乐论坛,而且用户的需求是不同的,因此,建议开发不同功能的Discuz!4.0版本,适应不同用户需求。建议开发:1、,标准版,,适合一般用户和可以自己添加修改插件等用户。2、,娱乐版,,适合电影、游戏、休闲等论坛和下载论坛,可以集成更多的娱乐插件。3、,插件版,,适合对Discuz!不熟悉,不能自己修改添加插件、喜欢全功能的用户。,也可以把2、3合并。,用户类用户是可分不同类型的,举例如下:DZ在各种论坛的地位是,5,需求的变化和改动,笑话一则:,距离史记载,没有一个软件的需求改动少于三次。唯一只改动需求两次的客户是个死人。这个可怜的家伙还是在运送第三次需求的路上被车子撞死的。,(cline 1995),问题是:如何来管理好需求呢?,需求管理主要包括:,建立基线、需求跟踪、变更控制,等几个方面。,需求的变化和改动笑话一则:,6,需求,管理,活动内容,定义需求基线(迅速制定需求文档的主体)。,评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它。,使当前的项目计划与需求一致。,估计变更需求所产生影响并在此基础上协商新的承诺(约定)。,让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。,在整个项目过程中,跟踪需求状态及其变更情况。,需求管理活动内容定义需求基线(迅速制定需求文档的主体)。,7,需求开发与需求管理之间的界限图,需求开发与需求管理之间的界限图,8,2.2 软件需求与产品生命周期,软件产品经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后逐渐消亡。这样一个过程,叫,软件生命周期模型,。,2.2 软件需求与产品生命周期 软件产品经历需求、分析、,9,软件生命周期模型,一.瀑布模型(线性模型),二.RAD(快速应用开发)模型,三.螺旋模型,四.RUP(Rational United Process),五.如何根据需求选择生命周期模型,软件生命周期模型一.瀑布模型(线性模型),10,软件生命周期模型,瀑布模型规定了各项软件工程活动,包括:制定开发计划,进行,需求分析和说明,,软件设计,程序编码,测试及运行维护,并且规定了它们自上而下,相互衔接的固定顺序,如同,瀑布流水,,逐级下落。它是软工中基本模型。,一.瀑布模型(线性模型),软件生命周期模型 瀑布模型规定了各项软件工程活动,,11,软件生命周期模型,瀑布模型图,软件生命周期模型瀑布模型图,12,软件生命周期模型,传统瀑布模型开发软件的特点,阶段间具有顺序性和依赖性,推迟实现的观点,每个阶段必须完成规定的文档和成果,每个阶段结束前完成文档审查,尽早改正错误,软件生命周期模型传统瀑布模型开发软件的特点阶段间具有顺序性和,13,软件生命周期模型,快速应用开发模型强调极短的开发周期,是线性顺序模型的一个“,高速,”变种,通过使用基于构件的建造方法赢得了快速开发。如果,需求,理解得很好且约束了项目范围,它的过程使得队伍在很短时间内创建出“功能完善的系统”。,二.RAD(快速应用开发)模型,软件生命周期模型 快速应用开发模型强调极短的开发周,14,软件生存周期模型,一.,需求计划,采用联合需求计划技术来收集需求信息,以结构化方式(,自顶向下、逐步求精、模块化设计,)讨论现有业务问题。,二.,用户描述,采用,联合应用设计,来管理用户的参与,开发团队快速捕捉系统,非技术设计阶段,的用户信息。,三.,构建,包括详细设计、创建(编码和测试)以及在某时间内发布给客户。,四.,结束,用户验收测试、系统安装和用户培训。,RAD模型的阶段,软件生存周期模型一.需求计划 采用联合需求计划技术来收集,15,软件生存周期模型,RAD(快速应用开发)模型图,60-90天,需求计划,用户描述,构建,结束,开发工作量,软件生存周期模型RAD(快速应用开发)模型图60-90天需求,16,RAD使用模型的条件,系统可基于构件开发和可缩放。,用户能参与到整个生命周期中。,项目开发周期短。,项目团队熟悉应用领域,能熟练使用开发工具。,举例:某集团公司的OA系统,烟草公司的资金结算系统等等。,RAD使用模型的条件系统可基于构件开发和可缩放。,17,软件生存周期模型,三.,螺旋模型,对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型加入了风险分析。,螺旋模型沿着螺线旋转,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即:,1.,制定方案,确定软件目标,选定实施方案,弄清项目开,发的限制条件。,2.,风险分析,分析所选方案,考虑如何识别和消除风险,3.,实施工程,实施软件开发,4.,评估,评价开发工作,提出修正建议和相应计划,沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。,软件生存周期模型三.螺旋模型 对于复杂的大型软件,,18,软件生命周期模型,螺旋模型图,评估,举例:某集团公司的ERP系统建设,软件生命周期模型螺旋模型图 评估举例:,19,RUP简介,Rational Unified Process(简称RUP)是一套软件工程过程,它又是,文档化,的软件工程产品,由Rational公司开发、维护并销售。,RUP又是一套软件工程方法的框架,各个组织可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改,以制定出合乎需要的软件工程过程。,RUP简介 Rational Unified Proc,20,RUP简介,RUP吸收了多种开发模型的优点,具有很好的可操作性和实用性、从它一推出市场,凭借Rational在业界的领导地位、以及与统一建模语言(Unified Model Language,以下简称UML)的良好集成、多种CASE工具的支持、不断的升级与维护,迅速得到业界广泛的认同,越来越多的组织(如IBM、Microsoft、Sun)以它作为软件开发模型框架。,RUP简介 RUP吸收了多种开发模型的优点,具有很好的可,21,RUP简介,RUP二维开发模型,RUP可以用二维坐标来描述。横轴通过,时间,组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期、阶段、迭代和里程碑;,纵轴以,内容,来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动、产物、工作者和工作流。,RUP简介 RUP二维开发模型RUP可以用二维坐标来描述,22,RUP简介,RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:,初始阶段、细化阶段、构造阶段和交付阶段。,每个阶段结束于一个主要的里程碑;每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。,RUP开发过程中的各个阶段和里程碑,RUP简介 RUP中的软件生命周期在时间上被分解为四,23,RUP简介,RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。,RUP的迭代开发模式图,RUP简介 RUP中的每个阶段可以进一步分解为迭代。一,24,RUP简介,1.开发复用。减少开发人员的工作量,保证软件质量,2.可降低风险,3.,对需求进行有效管理,4.可视化建模(使用ROSE工具),5.使用组件体系结构,使软件体系架构更具弹性,6.贯穿整个开发周期的质量核查,7.对软件开发的变更控制,RUP的特点,RUP简介 1.开发复用。减少开发人员的工作量,保证软件质量,25,选择生命周期模型的总结,需求情况,瀑布 模型,螺旋模型,RAD,迭代模型,需求容易定义或明确吗?,是,否,是,否,能在早期确定需求吗?,是,否,是,是,周期中需求经常变化吗?,否,是,是,是,基于需求特点选择生命周期模型,选择生命周期模型的总结 需求情况 瀑布,26,需求工程过程被认为是建立软件系统最重要的方面之一,在项目中,它涵盖了与需求相关的所有活动。,需求的开发过程,Pressman的需求工程过程,Boehm的需求工程过程,2.3 需求开发过程,需求工程过程被认为是建立软件系统最重要的方面之一,在项目中,,27,2.3.1 需求开发过程(1),需求开发是一个迭代的过程,2.3.1 需求开发过程(1)需求开发是一个迭代的,28,2.3.1 需求开发过程(2),需求开发过程框架,2.3.1 需求开发过程(2)需求开发过程框架,29,Pressman的需求工程过程,需求获取,需求分析,需求规格说明,系统建模,需求确认,需求管理,使用在怎样的需求环境中?,Pressman的需求工程过程需求获取需求分析需求规格说明系,30,Boehm的需求工程过程,确定重要的涉众,确定满足涉众要求的条件,确定2中的冲突因素,协商满足各方面要求的高层协议,列出互相满足要求的选项,研究折中选项,预期管理,将协议融入SRS和计划中,重复1-8,直到完全开发完成,面临和解决新的风险项目,1,2,3,4,5,6,7,8,9,10,使用在哪些场合或项目中?,Boehm的需求工程过程确定重要的涉众确定满足涉众要求的条件,31,需求工程的方法,需求工程方法分成四类:,1.,面向过程,,注重输入输出,如传统的结构化分析。,2.,面向数据,,强调数据结构,如E-R模型,DD描述。,3.,面向控制,,强调同步、并发,如DFD图。,4.,面向对象,,它建立在对象间的交互基础上,对对象模型、动态模型和功能模型三个方面对问题进行描述,如以UML为基础的Rose的建模工具。,需求工程的方法需求工程方法分成四类:,32,结构化分析,结构化分析,33,需求工程与过程分析课件,34,即使没有明确指定,软件项目组中也会有某个人会担当需求分析员的角色。,企业的IS组织中,行使这一职责的专家被称为,业务分析员。,对需求分析员的不同称谓还包括,系统分析员,、,需求工程师,、,需求经理,,也有简称,分析员,的。,2.4 需求工程的角色系统分析员,即使没有明确指定,软件项目组中也会有某个人会担当需求分析员的,35,2.4.1,需求分析员的职责与要求,需求分析员是对项目涉众的需求进行收集、分析、记录和验证等职责的主要承担者。,如图所示,需求分析员是用户
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!