您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第3章 软件需求分析与建模
第2章软件工程过程模型2020/1/231结束返回瀑布模型(waterfallmodel)定义部分开发部分维护部分制定计划需求分析软件设计程序编写软件测试运行/维护图2.7瀑布模型引言2020/1/232结束返回第3章软件需求分析与建模3.1需求分析3.2数据建模3.3功能建模3.4行为建模3.6结构化需求分析的若干技术3.5数据字典3.7验证软件需求第3章软件需求分析与建模2020/1/233结束返回【难点、重点】本章的学习重点在于理解软件需求的概念和重要性,熟悉需求开发和需求管理的基本思想和主要活动,掌握结构化的分析方法;难点是怎样在实际的软件项目中灵活运用这些思想和方法。第3章软件需求分析与建模2020/1/234结束返回【学习目的】本章介绍需求分析的意义、概念和方法,了解结构化分析方法和需求管理的关键活动;要求学会运用实体关系图、数据流图和状态控制图进行结构化分析建模,能够编写软件需求规格说明书。第3章软件工程过程模型2020/1/235结束返回软件需求分析的目的待开发项目的可行性分析的基础上建立目标系统的逻辑模型需求分析输入输出图3.1需求分析的目的第3章软件需求分析与建模2020/1/236结束返回3.1软件需求分析3.1.1需求分析的任务3.1.2需求分析的步骤3.1.3需求分析的原则第3章软件需求分析与建模2020/1/237结束返回3.1软件需求分析3.1.1需求分析的任务(1)需求分析的主要任务设计阶段的依据需求分析阶段软件规格说明书生成、提交作为就是要通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求,见图1.11。理解需求图3.2(1)软件定义时期软件定义部分又可划分为问题定义、可行性研究和需求分析三个阶段。软件定义时期需求分析可行性研究问题定义系统分析报告可行性分析报告初步项目计划需求规格说明书1.3软件生存期(softwarelifecycle)要解决的问题是什么是否有可行的解决办法目标系统必须做什么图1.11第1章软件工程引论任务任务任务撰写撰写撰写进入下一时期第3章软件需求分析与建模2020/1/239结束返回3.1.1需求分析的任务由于需求分析研究的对象是用户对开发项目的要求,在实现这一阶段任务时必须要注意两个问题。(2)需求分析研究的对象需求分析员软件设计人员用户交流的难题留下隐患系统模型花时搞清需求建好模型图3.3问题一问题二第4章软件需求分析与建模2020/1/2310结束返回图3.4需求分析类型(3)系统的需求分类业务需求反映了组织机构或客户对系统或产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。主要说明了待开发系统在功能上实际应做些什么,是用户最主要的需求。通常包括系统的输入、系统能完成的功能、系统的输出及其他反应。非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。主要包括:过程需求(如交付需求、实现方法需求等)产品需求(如可靠性需求、可移植性需求、安全保密性需求)外部需求(如法规需求、费用需求等)等。第3章软件需求分析与建模2020/1/2311结束返回3.1软件需求分析3.1.2需求分析的步骤需求获取需求分析需求建模编写需求文档需求验证第3章软件需求分析与建模2020/1/2312结束返回3.1.2需求分析的步骤需求分析阶段的工作,大致可分为如下几个步骤进行:阅读描述系统需求的用户文档;对相关软件、技术的市场调查;对管理部门、用户的访问咨询;对工作现场的实际考察等。(1)获取用户的需求软件开发人员只有通过认真细致的调查研究,才能获得进行系统分析的原始资料。需求信息的获取可来源于:第3章软件需求分析与建模2020/1/2313结束返回3.1.2需求分析的步骤(2)需求分析对于获取的原始需求,软件开发人员需要根据掌握的专业知识,运用抽象的逻辑思维,找出需求间的内在联系和矛盾,去除需求中不合理和非本质的部分,确定软件系统的真正需求。(3)需求建模对于确定的系统需求,软件开发人员要通过现有的需求分析方法及工具对其进行清晰、准确的描述,建立无二义性的、完整的系统逻辑模型。第3章软件需求分析与建模2020/1/2314结束返回3.1.2需求分析的步骤(4)书写需求说明书需求阶段应提交的主要文档包括需求规格说明书、初步的用户手册和修正后的开发计划。其中,需求规格说明书是对分析阶段主要成果的综合描述,是该阶段最重要的技术文档。第3章软件需求分析与建模2020/1/2315结束返回3.1.2需求分析的步骤(5)需求复审为了保证软件开发的质量,对需求分析阶段的工作要按照严格的规范进行复审,从不同的技术角度对该阶段工作做出综合性的评价。复审即要有用户参加,也要有管理部门和软件开发人员参加。第3章软件需求分析与建模2020/1/2316结束返回3.1软件需求分析3.1.3需求分析的原则目前存在着许多需求分析的方法,虽然各种方法都有其独特的描述方法,但不论采用何种方法,需求分析都必须遵循以下基本原则:(1)能够表达和理解问题的数据域和功能域所有软件开发的最终目的都是为了解决数据处理的问题,数据处理的本质就是将一种形式的数据转换成另一种形式的数据。需求分析阶段必须明确系统中应具备的每一个加工、加工的处理对象和由加工所引起的数据形式的变化。第3章软件需求分析与建模2020/1/2317结束返回3.1.3需求分析的原则(2)分解为了便于问题的解决和实现,在需求分析过程中需要对于原本复杂的问题按照某种合适的方式进行分解(对功能域和数据域均可)。使系统的理解和实现变得较为容易。第3章软件需求分析与建模2020/1/2318结束返回(3)能够给出系统的逻辑表示和物理表示系统需求的逻辑表示用于指明系统所要达到的功能要求和需要处理的数据,不涉及实现的细节。系统需求的物理表示用于指明处理功能和数据结构的实际表现形式,通常由系统中的设备决定。3.1.3需求分析的原则第3章软件需求分析与建模2020/1/2319结束返回3.1软件需求分析3.1.4需求分析的方法结构化分析(SA)面向对象分析(OOA)实体关系图数据流图状态转换图数据建模功能建模动态建模分析建模方法进行进行进行结构化分析(SA,StructureAnalysis)面向对象分析(OOA,ObjectOrientedAnalysis)图3.5需求分析方法第3章软件需求分析与建模2020/1/2320结束返回3.1软件需求分析3.1.5需求分析模型需求分析产生的模型使人们可以更好地理解将要建造的系统,它有助于系统分析员理解系统的信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性的重要依据,奠定了软件设计的基础。第3章软件需求分析与建模2020/1/2321结束返回3.1软件需求分析3.1.5需求分析模型结构化分析导出的分析模型包括数据模型、功能模型和行为模型。该模型以“数据字典”为核心,描述了软件使用的所有数据对象,围绕这个核心的是“实体关系图”、“数据流图”和“状态转换图”。具体形式如下图所示:第3章软件需求分析与建模2020/1/2322结束返回3.1软件需求分析3.1.5需求分析模型图3.6需求分析模型实体关系图(ER,EntityRelation):数据建模的基础,描述数据对象及其关系;数据流图(DFD,DataFlowDiagram):功能建模的基础,描述数据怎样转换以及转换的功能;状态转换图(ST,StatusTranformtion)行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。;第3章软件需求分析与建模2020/1/2323结束返回3.2数据建摸3.2.1实体关系图3.2.2方框层次图3.2.3Warnier图第3章软件需求分析与建模2020/1/2324结束返回3.2数据建摸(1)数据模型包括三种基本元素:数据对象属性关系它们对理解问题的信息域提供了基础。3.2.1实体关系图数据对象表示具有不同属性的事物,ER用带有标记的矩形来表示。关系表示数据对象之间的相互连接,ER用直线连接相关联的数据对象,并在直线上用带标记的菱形框来表示关系。属性也称性质,指数据对象某一方面的特征,ER用带有标记的椭圆来表示。第3章软件需求分析与建模2020/1/2325结束返回3.2数据建摸3.2.1实体关系图属性(2)ER图中的基本符号连接图3.7ER图的符号第3章软件需求分析与建模2020/1/2326结束返回3.2.1实体关系图两个数据对象之间有以下三种关联,ER在数据对象之间的连线上用数字或字母表示:一对一(1:1):对象A的一个实例只能关联到对象B的一个实例,对象B的一个实例也只能关联到对象A的一个实例.对象A对象B丈夫妻子关系夫妻1111图3.8一对一关系第3章软件需求分析与建模2020/1/2327结束返回3.2.1实体关系图一对多(1:N):对象A的一个实例可以关联到对象B的一个或多个实例,而对象B的一个实例只能关联到对象A的一个实例,如一个母亲可以有多个孩子,而一个孩子只能有一个母亲。对象A对象B母亲孩子关系母子1n1n图3.9一对多关系第3章软件需求分析与建模2020/1/2328结束返回3.2.1实体关系图多对多(M:N):对象A的一个实例可以关联到对象B的一个或多个实例,同时对象B的一个实例也可以关联到对象A的一个或多个实例,如一个叔叔可以有多个侄子,一个侄子也可以有多个叔叔。对象A对象B叔叔侄子关系叔侄mnmn图3.10多对多关系第3章软件需求分析与建模2020/1/2329结束返回选课mn学号专业年级课名课号学时1n学号专业课名课号学时学号课号n1姓名课程学生姓名课程学分学生年级选课单学分(a)(b)学生选课ER图图3.11第3章软件需求分析与建模2020/1/2330结束返回序号职工号奖项金额奖金序号职工号扣项金额扣款n奖励1n扣款1职工1考勤1出勤性别职工号年龄职称基本工资部门出勤时数请假时数旷工时数职工号工资计算系统ER图图3.12第3章软件需求分析与建模2020/1/2331结束返回3.2数据建摸3.2.2方框层次图层次方框图也是数据建模的图形工具层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构。树型结构顶端的矩形框只有一个,用于代表完整的数据结构。下面各层的矩形框是对完整数据结构的逐步分解和细化得到的数据子集;底层的矩形框代表组成该数据结构的基本元素,是数据的最小单位,不可再分割。第3章软件需求分析与建模2020/1/2332结束返回3.2数据建摸3.2.2方框层次图层次方框图非常适合描述自顶向下的需求分析方法中数据的层次关系。系统分析员可以从对顶层信息的分类开始,沿着层次图中的每条路径逐步细化,直到确定了数据结构的全部细节为止。第3章软件需求分析与建模2020/1/2333结束返回3.2数据建摸3.2.2方框层次图例如,某单位职工的实发工资由应发工资和扣款两部分组成,每部分又可进一步细分。如应发工资又可分为基本工资和奖金;基本工资又可分为国家工资、津贴、补贴;奖金也可分为出勤奖和业绩奖;津贴和补贴还可以再进一步地细分。实发工资的层次方框图如下图所示。第3章软件需求分析与建模2020/1/2334结束返回实发工资国家津贴职务津贴交通补贴部门补贴其他补贴补贴津贴国家工资基本工资出勤奖业绩奖奖金应发工资扣款缺勤扣款水电扣款个人所得税扣款图3.13职工工资的层次方框图第3章软件需求分析与建模2020/1/2335结束返回3.2数据建摸3.2.3Warnier图Warnier图是法国科学家Warnier提出的另一种描述数据层次结构的图形工具。与层次方框图类似,Warnier图也采用了树型结构表示数据,但与层次方框图相比,Warnier图对数据的描绘手段更加丰富。第3章软件需求分析与建模2020/1/2336结束返回3.2.3Warnier
本文标题:第3章 软件需求分析与建模
链接地址:https://www.777doc.com/doc-3244295 .html