软件需求分析与总体设计课件_第1页
软件需求分析与总体设计课件_第2页
软件需求分析与总体设计课件_第3页
软件需求分析与总体设计课件_第4页
软件需求分析与总体设计课件_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件需求分析与总体设计讲座教师:殷锋博士西南民族大学图书馆副馆长西南民族大学计算机科学与技术学院教授(原副院长)软件需求分析与总体设计讲座教师:殷锋博士1需求工程概述2需求分析及其任务3获取需求的方法4需求分析与软件设计的关系5规格说明的工具(实体-联系图、数据规范化、状态转换图、其它图形工具)6验证软件需求软件需求分析1需求工程概述软件需求分析

1需求工程概述

需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。需求工程的活动:需求获取需求建模形成需求规格(规约)需求验证需求管理1需求工程概述需求工程是指应用已证实有效的技需求工程的层次分解示意图

需求工程

需求活动

需求管理

问题获取分析编写规格说明

验证需求工程的层次分解示意图需求工程需求活动需求管理2需求分析及其任务

准确地定义未来系统的目标,确定为了满足用户的需求,系统必须要做的工作和应完成的功能。然后以《需求规格说明书》的形式准确、规范地表达用户的需求。2需求分析及其任务需求分析的步骤需求获取需求提炼:分析建模(通过数学建模、有穷状态机、Z语言、Petri网等形式或半形式化方法导出软件的逻辑模型)需求描述:编写《需求规格说明书》需求验证需求分析的步骤需求获取软件需求分析的几个阶段问题分析问题评估和方案综合建模规约复审注意:软件“系统分析员”的主要工作焦点是“做什么(what)”,不是“怎样做(how)”。软件需求分析的几个阶段问题分析(1)确定对系统的综合要求功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能的需求(2)

分析系统的数据要求(3)

导出系统的逻辑模型(4)修正系统开发计划软件需求分析的重要内容(1)确定对系统的综合要求软件需求分析的重要内容3需求获取需求获取的目的

清楚地理解所要解决的问题完整地获取用户需求3需求获取需求获取的目的需求获取面临的挑战:(1)问题空间理解;(2)人与人之间的通信与交流困难;(3)需求随着时间的不断变化。需求获取面临的挑战:(1)问题空间理解;需求获取的方法访谈面向数据流自顶向下求精简易的应用规格说明书快速建立软件原型需求获取的方法访谈某出版社系统调查表编号提出问题1您在哪个部门工作?2出版业务流程是什么?3您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?某出版社系统调查表编号提出问题1您在哪个部门工作?2出版业务某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的需求所要获取的内容

(1)用户需求分类

1)功能性需求:

定义系统需要做什么(描述系统必须支持的功能和过程);

2)非功能性需求(技术需求):

定义系统工作时的特性(描述操作环境和性能目标)。需求所要获取的内容(1)用户需求分类两类需求应包括的具体内容1)功能2)性能3)环境4)界面5)用户或人的因素6)文档7)数据8)资源9)安全保密10)软件成本消耗与开发进度11)质量保证两类需求应包括的具体内容1)功能1)功能需求

系统做什么?系统何时做什么?系统何时及如何修改或升级?1)功能需求系统做什么?2)性能需求

软件开发的技术性指标例如:存储容量限制执行速度、相应时间吞吐量2)性能需求软件开发的技术性指标3)环境需求

硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等软件:操作系统网络数据库3)环境需求硬件设备:机型、外设、接口、4)界面需求

有来自其它系统的输入吗?到自其它系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗?4)界面需求有来自其它系统的输入吗?5)用户或人的因素

用户类型?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?用户错误操作系统的可能性?5)用户或人的因素用户类型?6)文档需求

需哪些文档?文档针对哪些读者?6)文档需求需哪些文档?7)数据需求

输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?7)数据需求输入、输出数据的格式?8)资源需求

软件运行时所需的数据、软件。内存空间等资源。软件开发、维护所需的人力、支撑软件、开发设备等。8)资源需求软件运行时所需的数据、软件。9)安全保密要求

需对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统隔离?系统备份要求?9)安全保密要求需对访问系统或系统信息加以控10)软件成本消耗与开发进度需求开发有规定的时间表吗?软硬件投资有无限制?10)软件成本消耗与开发进度需求开发有规定的时间表吗?11)质量保证

系统的可靠性要求?系统必须监测和隔离错误吗?规定系统平均出错时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?维护是否包括对系统的改进?系统的可移植性?11)质量保证系统的可靠性要求?分析方法与方案综合分析员从数据流向数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理。依据功能需求、性能需求运行环境需求等,剔除其不合理的部分,增加其需要部分。最终合成系统的解决方案,给出目标系统的详细逻辑模型。常用的分析方法有SA、JSD、OOA分析方法与方案综合分析员从数据流向数据结构出发,逐步细化所有4需求分析与软件设计的关系需求分析:系统需要做什么

(对问题的调查与描述)软件设计:系统如何做

(逻辑解决方案)当前的需求使我们考虑选择某种设计选项选择设计选项可能引发新的需求需求分析与软件设计的界限:存在、模糊、迭代4需求分析与软件设计的关系需求分析:系统需要做什么软件设计需求的类型需求类型软件需求设计约束功能性需求非功能性需求父需求子需求1子需求2子需求3例:父需求:系统安全性使用行业标准子需求1:数据安全性采用事务日志镜象方法。子需求2:数据保密性根据身份等级分配相应数据库存取权限子需求3:……需求的类型需求类型软件需求设计约束功能性需求非功能性需求父需需求分析的过程(1)通过对现实环境的调查,

获得当前系统的物理模型

学生学生购书申请购书单发票领书单书信北107张教务科信北206王会计室信北206李出纳员(二实南)赵教材科学生购买教材的实际处理流程—当前系统物理模型需求分析的过程(1)通过对现实环境的调查,学学购购书(2)

去掉具体模型中的非本质因素,

抽取现实系统的实质,抽象出当前系统的逻辑模型。

学生购买教材的逻辑模型学生学生购书申请购书单发票领书单书审查有效性开发票开领书单发书需求分析的过程(2)去掉具体模型中的非本质因素,学生购买教材的逻辑模型学需求分析的过程(3)分析当前系统与目标系统的差别,

建立目标系统的逻辑模型

计算机教材管理系统的逻辑模型学生购书单发票领书单审查并开发票开领书单无效书单学生需求分析的过程(3)分析当前系统与目标系统的差别,计算机教需求分析过程示意(4)对目标系统的逻辑模型进行改进与优化(5)需求分析的验证

需求分析过程示意(4)对目标系统的逻辑模型进行改进与优化需求分析的步骤当前系统目标系统物理模型逻辑模型逻辑模型物理模型模型化抽象化具体化实例化怎么做做什么当前系统目标系统需求定义需求分析的步骤当前目标物理逻辑逻辑物理模型化抽象化具体化实例

逻辑模型和物理模型

模型是对对象系统的形式化的特征抽象,概括性或近似地表示;

构造模型的过程是一个抽象、分析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程逻辑模型和物理模型对象模型抽象(映射)模型应用模型

逻辑模型物理模型

(本质模型、概念模型)

(实施模型、技术模型)现行系统目标系统描述重要的业务功能,无论系统是如何实施的。描述现实系统是如何在物理上实现的。描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。描述新系统是如何实施的(包括技术)。逻辑模型物理模型现目描述重要的业务3.1需求分析的任务3.2与用户沟通获取需求的方法3.3分析建模与规格说明3.4实体-联系图3.5数据规范化3.6状态转换图3.7其它图形工具3.8验证软件需求3.1需求分析的任务(1)实体-联系图数据模型工具数据对象属性联系实体-联系图的符号5规格说明工具(1)实体-联系图数据模型工具5规格说明工具图3.2某校教学管理ER图软件需求分析与总体设计课件为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。通常用“范式(normalforms)”定义消除数据冗余的程度。第一范式(1NF)数据冗余程度最大,第五范式(5NF)数据冗余程度最小。(1)第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。(2)第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。(3)第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)。(2)

数据规范化为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过(3)状态转换图1状态:可被观察到的系统的行为模式2事件:引起系统动作或(和)状态转换的控制信息3符号:4例子:下页(3)状态转换图1状态:可被观察到的系统的行为模式图

状态图中使用的主要符号软件需求分析与总体设计课件1)UML面向对象的分析与设计(OOA&D)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。

其它图形工具1)UML面向对象的分析与设计(OOA&D)方法的发展在8面向对象技术和UML的发展过程可用下图来表示,标准建模语言的出现是其重要成果。在美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。面向对象技术和UML的发展过程可用下图来表示,标准建模语言的软件需求分析与总体设计课件作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

(1)UML语义描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

(2)UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。作为一种建模语言,UML的定义包括UML语义和UML表示法两标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:

·第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。

·第二类是静态图(Staticdiagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。标准建模语言UML的重要内容可以由下列五类图(共9种图形)来

·第三类是行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。

·第四类是交互图(Interactivediagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

·第五类是实现图(Implementationdiagram)。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。·第三类是行为图(Behaviordiagra需求建模实例:某金融贸易系统用例图(UML)风险分析交易估计进行交易进行交易接待员酒店系统财务系统需求建模实例:某金融贸易系统用例图(UML)风险分析交易估计需求建模实例:用例图举例(UML)签定一份保险单客户保险销售人员销售统计客户统计需求建模实例:用例图举例(UML)签定一份客户保险销销售统计

需求建模实例:描述客房状态的状态图取消预定入住已预订空闲占用维修维修完成退房换房入住换房?事件创建需求建模实例:描述客房状态的状态图取消预定入住已预订空闲占图

层次方框图的一个例子2)层次方框图(SC图)2)层次方框图(SC图)图Warnier图的一个例子3)Warnier图3)Warnier图图IPO图的一个例子图4)IPO图4)IPO图图3.8改进的IPO图的形式软件需求分析与总体设计课件3.1需求分析的任务3.2与用户沟通获取需求的方法3.3分析建模与规格说明3.4实体-联系图3.5数据规范化3.6状态转换图3.7其它图形工具3.8验证软件需求3.1需求分析的任务6验证软件需求

(1)

从哪些方面验证软件需求的正确性1)一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。2)完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。3)现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。4)有效性:必须证明需求是正确有效的,确实能解决用户面对的问题6验证软件需求

(1)从哪些方面验证软件需求的正确性1)(2)验证软件需求的方法1.验证需求的一致性2.验证需求的现实性3.验证需求的完整性和有效性(2)验证软件需求的方法1.验证需求的一致性OMT方法的特点:

开发重点在分析阶段强调数据结构而不是功能形式化描述能力强开发步骤的衔接良好重复性的开发过程OMT方法的特点:开发重点在分析阶段系统分析报告

新系统逻辑方案的建立是:对业务流程分析整理的结果对数据和数据流分析整理的结果子系统划分的结果在具体业务处理中应建立的管理模型和管理方法对新系统相配套的管理制度和运行体制建立的建议最后写出系统分析报告系统分析报告新系统逻辑方案的建立是:系统分析报告格式

一:引言部分(名称,开发目标,主要功能,开发背景等)二:现行系统概况

A.现行系统现状详细调查说明:包括组织机构图,系统目标、功能一览表、业务流程图、业务流量以及存在的薄弱环节,数据,主要算法等。

B.现行系统分析:用户需求及主要存在的问题等。三:新系统逻辑方案

1:新系统目标(要求具体);

2:新系统逻辑模型(数据流程图、数据字典、实体关系图

)3:新系统功能分析(改进,补充,优越之处);

4:新系统在各个处理环节上采用的管理方法、模型;

5:与新系统相配套的管理制度和运行体制的建立;四:下阶段工程进度计划系统分析报告格式一:引言部分(名称,开发目标,主要功能,软件需求说明书(SRS)

(SoftwareRequirementSpecification)

需求分析阶段要完成的文档。

SRS的作用:开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础测试验收目标系统的依据软件需求说明书(SRS)(SoftwareReS

R

S

1引言1.1编写目的1.2背景1.3定义1.4参考资料2任务概述2.1目标2.2用户的特点2.3假定盒约束3需求规定3.1对功能的规定3.2对性能的规定3.3输入输出要求3.4数据管理能力要求3.5故障处理要求3.6其他专门要求(GB9385-88)4运行环境规定4.1设备4.2支持软件4.3接口4.4控制S

R

S

1引言(GB9385-88)4运行环境规软件需求分析与总体设计讲座教师:殷锋博士西南民族大学图书馆副馆长西南民族大学计算机科学与技术学院教授(原副院长)软件需求分析与总体设计讲座教师:殷锋博士1需求工程概述2需求分析及其任务3获取需求的方法4需求分析与软件设计的关系5规格说明的工具(实体-联系图、数据规范化、状态转换图、其它图形工具)6验证软件需求软件需求分析1需求工程概述软件需求分析

1需求工程概述

需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。需求工程的活动:需求获取需求建模形成需求规格(规约)需求验证需求管理1需求工程概述需求工程是指应用已证实有效的技需求工程的层次分解示意图

需求工程

需求活动

需求管理

问题获取分析编写规格说明

验证需求工程的层次分解示意图需求工程需求活动需求管理2需求分析及其任务

准确地定义未来系统的目标,确定为了满足用户的需求,系统必须要做的工作和应完成的功能。然后以《需求规格说明书》的形式准确、规范地表达用户的需求。2需求分析及其任务需求分析的步骤需求获取需求提炼:分析建模(通过数学建模、有穷状态机、Z语言、Petri网等形式或半形式化方法导出软件的逻辑模型)需求描述:编写《需求规格说明书》需求验证需求分析的步骤需求获取软件需求分析的几个阶段问题分析问题评估和方案综合建模规约复审注意:软件“系统分析员”的主要工作焦点是“做什么(what)”,不是“怎样做(how)”。软件需求分析的几个阶段问题分析(1)确定对系统的综合要求功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能的需求(2)

分析系统的数据要求(3)

导出系统的逻辑模型(4)修正系统开发计划软件需求分析的重要内容(1)确定对系统的综合要求软件需求分析的重要内容3需求获取需求获取的目的

清楚地理解所要解决的问题完整地获取用户需求3需求获取需求获取的目的需求获取面临的挑战:(1)问题空间理解;(2)人与人之间的通信与交流困难;(3)需求随着时间的不断变化。需求获取面临的挑战:(1)问题空间理解;需求获取的方法访谈面向数据流自顶向下求精简易的应用规格说明书快速建立软件原型需求获取的方法访谈某出版社系统调查表编号提出问题1您在哪个部门工作?2出版业务流程是什么?3您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?某出版社系统调查表编号提出问题1您在哪个部门工作?2出版业务某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的需求所要获取的内容

(1)用户需求分类

1)功能性需求:

定义系统需要做什么(描述系统必须支持的功能和过程);

2)非功能性需求(技术需求):

定义系统工作时的特性(描述操作环境和性能目标)。需求所要获取的内容(1)用户需求分类两类需求应包括的具体内容1)功能2)性能3)环境4)界面5)用户或人的因素6)文档7)数据8)资源9)安全保密10)软件成本消耗与开发进度11)质量保证两类需求应包括的具体内容1)功能1)功能需求

系统做什么?系统何时做什么?系统何时及如何修改或升级?1)功能需求系统做什么?2)性能需求

软件开发的技术性指标例如:存储容量限制执行速度、相应时间吞吐量2)性能需求软件开发的技术性指标3)环境需求

硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等软件:操作系统网络数据库3)环境需求硬件设备:机型、外设、接口、4)界面需求

有来自其它系统的输入吗?到自其它系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗?4)界面需求有来自其它系统的输入吗?5)用户或人的因素

用户类型?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?用户错误操作系统的可能性?5)用户或人的因素用户类型?6)文档需求

需哪些文档?文档针对哪些读者?6)文档需求需哪些文档?7)数据需求

输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?7)数据需求输入、输出数据的格式?8)资源需求

软件运行时所需的数据、软件。内存空间等资源。软件开发、维护所需的人力、支撑软件、开发设备等。8)资源需求软件运行时所需的数据、软件。9)安全保密要求

需对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统隔离?系统备份要求?9)安全保密要求需对访问系统或系统信息加以控10)软件成本消耗与开发进度需求开发有规定的时间表吗?软硬件投资有无限制?10)软件成本消耗与开发进度需求开发有规定的时间表吗?11)质量保证

系统的可靠性要求?系统必须监测和隔离错误吗?规定系统平均出错时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?维护是否包括对系统的改进?系统的可移植性?11)质量保证系统的可靠性要求?分析方法与方案综合分析员从数据流向数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理。依据功能需求、性能需求运行环境需求等,剔除其不合理的部分,增加其需要部分。最终合成系统的解决方案,给出目标系统的详细逻辑模型。常用的分析方法有SA、JSD、OOA分析方法与方案综合分析员从数据流向数据结构出发,逐步细化所有4需求分析与软件设计的关系需求分析:系统需要做什么

(对问题的调查与描述)软件设计:系统如何做

(逻辑解决方案)当前的需求使我们考虑选择某种设计选项选择设计选项可能引发新的需求需求分析与软件设计的界限:存在、模糊、迭代4需求分析与软件设计的关系需求分析:系统需要做什么软件设计需求的类型需求类型软件需求设计约束功能性需求非功能性需求父需求子需求1子需求2子需求3例:父需求:系统安全性使用行业标准子需求1:数据安全性采用事务日志镜象方法。子需求2:数据保密性根据身份等级分配相应数据库存取权限子需求3:……需求的类型需求类型软件需求设计约束功能性需求非功能性需求父需需求分析的过程(1)通过对现实环境的调查,

获得当前系统的物理模型

学生学生购书申请购书单发票领书单书信北107张教务科信北206王会计室信北206李出纳员(二实南)赵教材科学生购买教材的实际处理流程—当前系统物理模型需求分析的过程(1)通过对现实环境的调查,学学购购书(2)

去掉具体模型中的非本质因素,

抽取现实系统的实质,抽象出当前系统的逻辑模型。

学生购买教材的逻辑模型学生学生购书申请购书单发票领书单书审查有效性开发票开领书单发书需求分析的过程(2)去掉具体模型中的非本质因素,学生购买教材的逻辑模型学需求分析的过程(3)分析当前系统与目标系统的差别,

建立目标系统的逻辑模型

计算机教材管理系统的逻辑模型学生购书单发票领书单审查并开发票开领书单无效书单学生需求分析的过程(3)分析当前系统与目标系统的差别,计算机教需求分析过程示意(4)对目标系统的逻辑模型进行改进与优化(5)需求分析的验证

需求分析过程示意(4)对目标系统的逻辑模型进行改进与优化需求分析的步骤当前系统目标系统物理模型逻辑模型逻辑模型物理模型模型化抽象化具体化实例化怎么做做什么当前系统目标系统需求定义需求分析的步骤当前目标物理逻辑逻辑物理模型化抽象化具体化实例

逻辑模型和物理模型

模型是对对象系统的形式化的特征抽象,概括性或近似地表示;

构造模型的过程是一个抽象、分析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程逻辑模型和物理模型对象模型抽象(映射)模型应用模型

逻辑模型物理模型

(本质模型、概念模型)

(实施模型、技术模型)现行系统目标系统描述重要的业务功能,无论系统是如何实施的。描述现实系统是如何在物理上实现的。描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。描述新系统是如何实施的(包括技术)。逻辑模型物理模型现目描述重要的业务3.1需求分析的任务3.2与用户沟通获取需求的方法3.3分析建模与规格说明3.4实体-联系图3.5数据规范化3.6状态转换图3.7其它图形工具3.8验证软件需求3.1需求分析的任务(1)实体-联系图数据模型工具数据对象属性联系实体-联系图的符号5规格说明工具(1)实体-联系图数据模型工具5规格说明工具图3.2某校教学管理ER图软件需求分析与总体设计课件为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。通常用“范式(normalforms)”定义消除数据冗余的程度。第一范式(1NF)数据冗余程度最大,第五范式(5NF)数据冗余程度最小。(1)第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。(2)第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。(3)第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)。(2)

数据规范化为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过(3)状态转换图1状态:可被观察到的系统的行为模式2事件:引起系统动作或(和)状态转换的控制信息3符号:4例子:下页(3)状态转换图1状态:可被观察到的系统的行为模式图

状态图中使用的主要符号软件需求分析与总体设计课件1)UML面向对象的分析与设计(OOA&D)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。

其它图形工具1)UML面向对象的分析与设计(OOA&D)方法的发展在8面向对象技术和UML的发展过程可用下图来表示,标准建模语言的出现是其重要成果。在美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。面向对象技术和UML的发展过程可用下图来表示,标准建模语言的软件需求分析与总体设计课件作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

(1)UML语义描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

(2)UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。作为一种建模语言,UML的定义包括UML语义和UML表示法两标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:

·第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。

·第二类是静态图(Staticdiagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。标准建模语言UML的重要内容可以由下列五类图(共9种图形)来

·第三类是行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。

·第四类是交互图(Interactivediagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

·第五类是实现图(Implementationdiagram)。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。·第三类是行为图(Behaviordiagra需求建模实例:某金融贸易系统用例图(UML)风险分析交易估计进行交易进行交易接待员酒店系统财务系统需求建模实例:某金融贸易系统用例图(UML)风险分析交易估计需求建模实例:用例图举例(UML)签定一份保险单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论