第3章软件需求分析与建模PPT格式课件下载.ppt
《第3章软件需求分析与建模PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《第3章软件需求分析与建模PPT格式课件下载.ppt(108页珍藏版)》请在冰豆网上搜索。
确定对系统的综合需求,提出系统的逻辑模型,修正系统开发计划,快速建立软件原型。
通过对用户进行访谈和调研,获取和确定用户需求,并将需求分为功能需求、非功能需求两类需求。
(1)
(1)功能性需求功能性需求:
定义了系统做什么(描述系统必须支持的功能和过程)
(2)
(2)非功能性需求(技术需求)非功能性需求(技术需求):
定义了系统工作时的特性(描述操作环境和性能目标,如:
响应时间、平均无故障工作时间、自动恢复时间等)。
52022/10/27第3章软件需求分析与建模软件工程教研室项目案例:
基于本体知识库的循环经项目案例:
基于本体知识库的循环经济系统决策技术研究的功能需求济系统决策技术研究的功能需求n数据输入及编辑q项目经济和技术指标的输入、添加、修改和删除功能n查询及监测q以行政级别、经济类型和经济名称、图形斑块等为单位的查询和分析比较;
n评价及决策q经济状况评价、环境状况评价、综合效益评价、质量评价等n系统维护q数据库管理、网页管理、目录管理、用户管理、事件监视等62022/10/27第3章软件需求分析与建模软件工程教研室两类需求包括的主要需求内容举例
(1)功能:
系统的工作内容、系统何时做、系统如何修改与升级;
(2)性能:
存储容量限制、执行速度、响应时间、吞吐量(3)环境:
机型、外设、接口、地点、分布、操作系统、网络、数据库;
(4)界面:
有和其它系统的输入与输出、界面风格要求;
(5)用户或人的因素:
理解/使用系统的难度、错误操作的可能性;
(6)文档:
文档类型和种类、使用对象;
(7)数据:
输入/输出数据的格式、数据的准确性和精度、数据量、数据需保持的时间;
72022/10/27第3章软件需求分析与建模软件工程教研室(8)(8)资源:
软件运行时所需的数据、软件、内存空间等,软件资源:
软件运行时所需的数据、软件、内存空间等,软件开发、维护所需的人力、支撑软件、开发设备等。
开发、维护所需的人力、支撑软件、开发设备等。
(9)(9)安全保密:
对访问系统或系统信息的控制、隔离用户之间安全保密:
对访问系统或系统信息的控制、隔离用户之间的数据、用户程序与其它程序间的处理、系统隔离与系统的数据、用户程序与其它程序间的处理、系统隔离与系统备份要求;
备份要求;
(10)(10)软件成本消耗与开发进度:
开发的时间规定、软硬件投资软件成本消耗与开发进度:
开发的时间规定、软硬件投资有无限制;
有无限制;
(11)(11)质量保证:
系统的可靠性要求、系统是否要监测和隔离错质量保证:
系统的可靠性要求、系统是否要监测和隔离错误、规定系统平均出错时间、出错后重启系统允许的时间、误、规定系统平均出错时间、出错后重启系统允许的时间、维护是否包括对系统的改进、系统的可移植性。
维护是否包括对系统的改进、系统的可移植性。
(12)(12)各种计划、单据和报表的处理:
计划单据和报表都是信息各种计划、单据和报表的处理:
计划单据和报表都是信息的载体,实质上是进一步落实现行系统的数据收集、整理、的载体,实质上是进一步落实现行系统的数据收集、整理、输入、存储、处理、输出等各个环节,从而得到完整的信输入、存储、处理、输出等各个环节,从而得到完整的信息流程。
息流程。
82022/10/27第3章软件需求分析与建模软件工程教研室需求分析的原则:
1、详细了解用户的业务及目标,充分理解用户对功能和质量的要求。
2、运用合适的方法、模型和工具,正确的、完整的、清晰的表示可理解的问题信息域、定义软件将完成的功能和软件的主要行为。
3、能够对问题进行分解和不断细化,建立问题的层次结构。
作为一个整体来看,可能很大、很复杂、很难理解。
但可以通过把问题以某种方式分解为几个较易理解的部分,并确定各部分间的接口,从而实现整体功能。
4、尽量重用已有的软件组件,以便开发人员能够降低新系统的开发成本和节省时间。
5、准确、规范、详细地编写需求分析文档和认真细致地评审需求分析文档。
92022/10/27第3章软件需求分析与建模软件工程教研室3.1.2获取需求的方法获取需求的方法需求获取可能是软件开发中最需要与用户交流的方面。
进行需求分析要脚踏实地地围绕两个核心问题来开展:
应该了解什么?
通过什么方式去了解?
这两个问题也就是:
目标、方法、处理三个部分。
1、目标用书面的方式记录和归整用户的需求报告。
(1)首先调查组织机构情况包括了解该组织的部门组成情况,各部门的职能等,为分析信息流程做准备。
(2)然后调查各部门的业务活动情况包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。
102022/10/27第3章软件需求分析与建模软件工程教研室(3)协助用户明确对系统的各种要求)协助用户明确对系统的各种要求包括信息要求、功能要求、处理要求、安全性要求、包括信息要求、功能要求、处理要求、安全性要求、完整性要求。
完整性要求。
(4)确定系统的边界)确定系统的边界确定哪些功能由计算机完成或将来准备让计算机完确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。
由计算机完成的功能就成,哪些活动由人工完成。
由计算机完成的功能就是新系统应该实现的功能是新系统应该实现的功能。
112022/10/27第3章软件需求分析与建模软件工程教研室2、获取需求的方法、获取需求的方法
(1)跟班作业)跟班作业通过亲身参加业务工作来了解业务活动的情况。
这种方法通过亲身参加业务工作来了解业务活动的情况。
这种方法可以比较准确地理解用户的需求,但比较耗费时间。
可以比较准确地理解用户的需求,但比较耗费时间。
(2)开调查会)开调查会通过与用户座谈来了解业务活动情况及用户需求。
座谈时,通过与用户座谈来了解业务活动情况及用户需求。
座谈时,参加者之间可以相互启发。
参加者之间可以相互启发。
(3)请专人介绍和咨询)请专人介绍和咨询对某些调查中的问题,可以找专人询问。
对某些调查中的问题,可以找专人询问。
122022/10/27第3章软件需求分析与建模软件工程教研室(4)设计调查表请用户填写)设计调查表请用户填写如果调查表设计得合理,这种方法是很有效,也很易于如果调查表设计得合理,这种方法是很有效,也很易于为用户接受的。
为用户接受的。
(5)查阅档案记录)查阅档案记录即查阅与原系统有关的数据记录,包括原始单据、账簿、即查阅与原系统有关的数据记录,包括原始单据、账簿、报表等。
报表等。
3、处理、处理通过调查了解了用户需求后,还需要进一步分析和表达通过调查了解了用户需求后,还需要进一步分析和表达用户的需求,并建立快速原型,以便于进行技术评审。
用户的需求,并建立快速原型,以便于进行技术评审。
132022/10/27第3章软件需求分析与建模软件工程教研室3.1.3需求分析的模型和方法需求分析的模型和方法提出目标系统的数据模型、功能模型和行为模型是需提出目标系统的数据模型、功能模型和行为模型是需求分析的核心任务。
求分析的核心任务。
所谓模型就是系统的一种书面描述,通过抽象、概括所谓模型就是系统的一种书面描述,通过抽象、概括和一般化,把研究的对象或问题转化为本质相同的另一对象和一般化,把研究的对象或问题转化为本质相同的另一对象或问题,以便解决的方法。
模型不一定必须用某种数学公式或问题,以便解决的方法。
模型不一定必须用某种数学公式表示,可以是图形,甚至可以是文字叙述。
表示,可以是图形,甚至可以是文字叙述。
142022/10/27第3章软件需求分析与建模软件工程教研室1、逻辑模型需求分析是将现实世界的问题映射到信息世界,因此,在这一映射过程中涉物理模型、概念模型和逻辑模型。
(1)物理模型是对现实世界客观表示,描述的是对象系统“如何做”、“如何实现”系统的物理过程。
当它用于表示逻辑模型的一个实例时,主要用于软件系统操作层次的描述。
常用的建模工具有系统流程图等。
(2)概念模型是是现实世界到信息世界的第一层本质抽象,即它是物理模型的映射,是对象系统的整体概括描述,主要用于软件系统宏观层次的描述。
(3)逻辑模型是概念模型的延伸和细化,在技术规范中表示概念之间的逻辑次序,描述的是对象系统要“做什么”,或者说具有哪些功能,主要用于软件系统方法层次的描述。
逻辑模型包含数据模型、行为模型和功能模型。
152022/10/27第3章软件需求分析与建模软件工程教研室逻辑模型(本质模型、概念模型)物理模型(实施模型、技术模型)现行系统描述重要的业务功能,不考虑系统是如何实施的。
描述现实系统是如何在物理上实现的。
目标系统描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。
描述新系统是如何实施的(包括技术)。
需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。
162022/10/27第3章软件需求分析与建模软件工程教研室数据模型描述对象系统的本质属性及其关系。
常用的建模工具有实体-联系图等。
功能模型描述对象系统所能实现的所有功能。
而不考虑每个功能实现的次序。
常用的建模工具有数据流图、IDEF0等。
行为模型描述对象系统为实现某项功能而发生的动态行为。
常用的建模工具有控制流图、状态转换图等。
172022/10/27第3章软件需求分析与建模软件工程教研室2、需求分析方法需求分析方法由对软件问题的信息域和功能域的系统分析过程及其表示方法组成;
大多数的需求分析方法是由信息驱动的信息域具有三种属性:
信息流、信息内容和信息结构。
常用的分析方法有:
1)面向数据流的结构化分析方法(SA)2)面向对象的分析方法(OOA)182022/10/27第3章软件需求分析与建模软件工程教研室3.1.4需求分析的主要过程需求分析的主要过程需求分析过程主要有以下5个步骤构成(见图3-1)。
192022/10/27第3章软件需求分析与建模软件工程教研室需求分析过程示意
(1)通过对现实环境的调查,获得当前系统的物理模型学生学生购书申请购书单发票领书单书107张教务科206王会计室206李出纳员303赵教材科学生购买教材的物理模型202022/10/27第3章软件需求分析与建模软件工程教研室
(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型学生学生购书申请购书单发票领书单书审查有效性开发票开领书单发书学生购买教材的逻辑模型学生购买教材的逻辑模型212022/10/27第3章软件需求分析与建模软件工程教研室(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型计算机售书系统的逻辑模型学生学生购书单发票领书单审查并开发票开领书单无效书单222022/10/27第3章软件需求分析与建模软件工程教研室系统分析运行/维护转换补充详细设计初步设计系统分析基本业务基本需求满意否?
构造原型使用原型修改、扩充YN分析阶段的原型化生命周期分析阶段的原型化生命周期232022/10/27第3章软件需求分析与建模软件工程教研室Y确定基本信息需求基本需求估计成本确定数据开发初始原型初始原型使用原型系统并澄清需求用户和设计者是否满意是否放弃运行的原型运行原型修正和改进原型运行原型改进的原型把原