(精品)软件工程—第3章软件需要分析—lyh

上传人:沈*** 文档编号:247372111 上传时间:2024-10-18 格式:PPT 页数:236 大小:1.54MB
返回 下载 相关 举报
(精品)软件工程—第3章软件需要分析—lyh_第1页
第1页 / 共236页
(精品)软件工程—第3章软件需要分析—lyh_第2页
第2页 / 共236页
(精品)软件工程—第3章软件需要分析—lyh_第3页
第3页 / 共236页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第三章 软件需求分析,为什么要进行需求分析?,目的:对开发者进行指导,开发人员对用户的要求理解,用户理解开发人员,测试部门有理可依,原因:信息收集不全,功能不明确,需求文档不完善,开发者急于求成,教学内容,3.1,需求分析的任务和步骤,3.2,需求获取的常用方法,3.3,分析建模,3.4,软件需求说明,3.5,结构化分析方法,3.6,面向对象分析方法,教学目的及要求,深刻理解需求分析阶段的概念和任务;,熟练掌握数据流图;,了解面向过程分析方法和面向对象的分析方法。,1.,需求分析的任务:,准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用,规范的形式准确地表达用户的需求。,让用户和开发者共同明确将要开发的是一个什么样的系统(做什么:,What,)。具体而言,两个任务:,建立分析模型,编写需求说明(,P30-P31,),3,.1,需求分析的任务和步骤,需求分析的任务,就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的,“,做什么,”,的问题。,需求分析的任务,对象,系统,模型,系统,抽象(映射),模型应用,模型构造的过程,逻辑模型和物理模型,模型是对对象系统的形式化的特征抽象,概括性或近似地表示;形式化语言、数学语言、图形等构造模型的过程是一个抽象、分析的过程。,逻辑模型和物理模型,逻辑模型,(,本质模型、概念模型,),物理模型,(,实施模型、技术模型,),现行系统,描述重要的业务功能,无论系统是如何实施的,描述现实系统是如何在物理上实现的。,目标系统,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,2.,需求分析的步骤,需求获取,需求提炼:分析建模,需求描述:编写,需求验证,3.1,需求分析的任务和步骤,需求分析过程示意,学,生,购,书,申,请,购,书,单,发,票,领,书,单,书,107,刘,教务科,206,王,会计室,206,李,出纳员,303,赵,教材,学生购买教材的具体模型,(1),通过对现实环境的调查,获当前系统的具体模型,(,物理模型,),学,生,需求分析过程示意,(2),去掉具体模型中的非本质因素,,抽象,出当前系统的逻辑模型,学生购买教材的逻辑模型,学,生,学,生,购,书,申,请,购,书,单,发,票,领,书,单,书,审查,有效性,开发票,开领,书单,发书,需求分析过程示意,(3),分析当前系统与目标系统的差别,建立目标系统的逻辑模型。,计算机售书系统的逻辑模型,学,生,学,生,购书单,发票,领书单,审查并,开发票,开领,书单,无效书单,需求分析过程示意,(4),对目标系统进行完善和补充,并写出完整的需求说明;,(5),对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。,3.2,需求获取的常用方法,1.,需求获取的目的,清楚地理解所要解决的问题,完整地获取用户需求,2.,需求获取面临的挑战,问题的复杂性和对问题空间理解的不完,备性与不一致性,交流障碍,需求易变性,3.2,需求获取的常用方法,3.,需求获取的常用方法(,P34-P35,),建立联合分析小组,客户访谈,问题分析与确认,3.2,需求获取的常用方法,建立联合分析小组,1,)联合分析小组的人员主要包括:用户、领域专家、系统分析员,2,)通过联合分析小组的工作,可以极大地方便系统开发人员和用户之间的沟通。,3.,需求获取的常用方法,客户访谈,在与用户接触之前,先要进行充分的准备,:,注意:在与用户交流时,应遵循循序渐进、逐步逼近的原则,,切不可急于求成否则欲速则不达。,3.,需求获取的常用方法,首先,必须对问题的背景和问题所在系统的环境有全面的了解;,其次,尽可能了解将要会谈用户的个性特点及任务状况;,第三,事先准备一些问题。,问题分析与确认,不能期望用户在一两次交谈中,就会对目标软件的要求阐述清楚,也不能限制用户在回答问题过程中的自由发挥。,在每次访谈之后,要及时进行整理,分析用户提供的信息,去掉错误的、无关的部分,整理有用的内容,以便在下一次与用户见面时由用户确认;同时,准备下一次访谈时的进一步更细节的问题。如此循环,一般需要,2-5,个来回。,3.,需求获取的常用方法,举例:某出版社系统调查表,编号,提出问题,1,您在,哪个部门工作?,2,出版业务流程是什么?,3,您,每日都处理那些文件、数据、报表?,4,工作中手工处理特别麻烦的事情是什么?,5,工作中手工处理什么问题解决不了?影响效率的问题有哪些?,6,您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?,举例:某出版社系统调查表,编号,提出问题,7,您的部门需要成本核算和统计的内容有哪些?,8,您的部门采用计算机管理工作情况如何?,9,如何改进业务流程使之更合理?,10,哪些问题是目前传统手工方法根本无法解决的?,11,出版社计算机管理信息系统需要解决什么问题?,软件需求分析的通信途径,需求分析流程,4.,需求获取的内容,(1),功能性需求,:,定义了系统做什么(描述系统必须支持的功能和过程),(2),非功能性需求(技术需求),:,定义了系统工作时的特性(描述操作环境和性能目标),用户需求分类,两类需求包括的内容,(1),功能,(2),性能,(3),环境,(4),界面,(5),用户或人的因素,(6),文档,(7),数据,(8),资源,(9),安全保密,(10),软件成本消耗与开发进度,(11),质量保证,4.,需求获取的内容,(1),功能需求,系统做什么?,系统何时做什么?,系统何时及如何修改或升级?,(2),性能需求,软件开发的技术性指标,例如:,存储容量限制,执行速度、相应时间,吞吐量,(3),环境需求,硬件设备:机型、外设、接口、地 点、分布、温度、湿度、磁场干扰等,软件:操作系统,网络,数据库,(4),界面需求,有来自其它系统的输入吗?,到自其它系统的输出吗?,对数据格式有规定吗?,对数据存储介质有规定吗?,需求包括的内容,(5),用户或人的因素,用户类型?,各种用户熟练程度?,需受何种训练?,用户理解、使用系统的难度?,用户错误操作系统的可能性?,(6),文档需求,需哪些文档?,文档针对哪些读者?,(7),数据需求,输入、输出数据的格式?,接收、发送数据的频率?,数据的准确性和精度?,数据流量?,数据需保持的时间?,(8),资源需求,软件运行时所需的数据、软件、内存空间等资源。,软件开发、维护所需的人力、支撑软件、开发设备等。,需求包括的内容,(9),安全保密要求,需对访问系统或系统信息加以控制吗?,如何隔离用户之间的数据?,用户程序如何与其它程序和操作系统隔离?,系统备份要求?,(10),软件成本消耗与开发进度需求,开发有规定的时间表吗?,软硬件投资有无限制?,(11),质量保证,系统的可靠性要求?,系统必须监测和隔离错误吗?,规定系统平均出错时间?,出错后,重启系统允许的时间?,系统变化如何反映到设计中?,维护是否包括对系统的改进?,系统的可移植性?,需求包括的内容,原型,(,原型指“快速软件原型,”,),是一个可实地,运行,的模型,有正式产品的主要特征,但不是全部特征。,软件原型是软件系统的最初版本,以最少的费用,最短的时间开发出的、以反映最后软件的主要特征的系统。,5.,快速原型法在需求分析中的应用,原型开发指的是建立一个系统的早期版本的演习,(practice),,,它不必反映最终产品的所有性能,而只要反映感兴趣的一些方面。,原型的定义,原型的作用,问题:开发初期很难确定用户需求规格解决:用户与开发者之间的鸿沟以原型,(,软件产品的样品,),为共同语言,实现用户与开发者双向沟通。,原型的特性,是一个可实际工作的系统;,没有固定的生存期,结局可能是用后立即被抛弃,或可能成为最终系统,;,可服务于不同的目的,从需求分析到最终产品都可做原型,;,建立必须快,便宜,;,是包含修改、评价在内的完整重复过程,需求分析和定义规格说明,作为软件设计的一种工具,作为一种解决不确定性的工具,作为一种实验工具,系统开发同时,作为同步培训工具,作为开发方法,利用原型演化为最终系统,作为软件维护的辅助工具,原型化开发的应用领域,原型开发的步骤,(1),利用各种分析技术和方法,生成一个建华的需求规格说明。,(2),对需求规格说明进行必要的检查和修改后,确定原型的软件结构、用户界面和数据结构等。,(3),在现有的工具和环境的帮助下快速生成可运行的软件原型并进行测试、改进;,(4),将原型提交给用户评估并征求用户的修改意见;,(5),重复上述过程,直到原型得到用户的认可。,原型化的开发环境,(1),试验性原型,原型用来确认对需求的理解是否正确,应在与实际产品环境相近的环境上开发原型。,(2),试用性原型,原型用来帮助用户在试用中使自己的模糊的需求明确起来确,可在与实际产品环境完全 无关的环境上开发运行。,仅对屏幕的原型化,使用购买的软件系统作为初始模型,可行性分析中的原型,子系统原型化,原型化策略,功能原型开发,用户界面原型开发,原型开发技术,原型化工具,面向应用的第四代语言,(4GL),Delphi,VB,PowerBuilder,Visual C+,等,原型法效果,保证产品有较好的可维护性,改善用户与开发人员的信息交流和思想沟通,给用户修改的机会,减少或消灭下游返工的可能,改进了瀑布模型的弊病,原型系统可作为培训环境,有利于用户培训和开发同步。,开发成本降低,周期缩短。,原型法局限性,需工具支持,否则开发工作量大;,只能缩短用户与软件需求定义间的距离,并不能消灭这个距离;,考虑你的项目是否适合用原型法来开发时,有几个因素是要权衡的。,Boehm,Gray,和,Seewaldt(1984),研究了项目是否适合用原型来开发的问题。他们发现用原型法开发项目,可以少花费,45%,的努力,还可以减少,40%,的代码。而且,开发出的产品的速度和效率与用传统方法开发出的差不多。,是否要选择原型法?,由于开发一个原型需要花费一定的人力、物力、财力和时间,而且用于确定需求的原型在完成使命后一般就被丢弃。因此,是否使用快速原型法必须考虑软件系统的特点、可用的开发技术和工具等方面。,Andriole,提出的一下,6,个问题,可用来帮助判断是否要选择原型法。,需求已经建立,并且可以预见是相当稳定吗?(肯定回答,不采用原型法),软件开发人员和用户已经理解了目标软件的应用领域吗?,问题是否可被模型化?,用户能否清楚地确定基本的系统需求?,有任何需求是含糊的吗?,已知的需求中存在矛盾吗?,(以上,5,个问题肯定回答,用原型法),3.3,分析建模,两种分析模型,结构化分析模型,面向对象分析模型,计算机世界,现实世界,结,构,化,开,发,方,法,结构化,分析,结构化,设计,结构化,编程,OOA,OOD,OOP,面,向,对,象,开,发,方,法,结构化分析模型的组成结构,数据流图,(,DFD,),E-R,图,状态变迁图,(,STD,图,),加,工,说,明,控制说明,数,据,对,象,说,明,数据字典,(,DD,),结构化分析模型的组成结构,模型的核心是,DD,(,Data Dictionary,数据字典),它是系统所涉及的各种数据对象的总和。,从,DD,出发可构建,3,种图:,E-R,图,(,Entity-Relation Diagram,,实体,-,关系图)用于描述数据对象间的关系,他代表软件的数据模型,在实体,-,关系图中出现的每个数据对象的属性均可用数据对象说明来描述;,DFD,图,(,Data Flow Diagram,,数据流图),其主要作用是指明系统中数据是如何流动和变换的,以及描述是数据流进行变换的功能,在,DFD,图中出现的每个功能的描述则写在(,PSPEC,)中,它们一起构成功能模型;,STD,(,Status Transfer,Diaram,,状态,-,变迁图),用于指明系统在外部时间的作用下将会如何动作,表明了系
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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