软件需求分析.ppt

上传人:visitstep340 文档编号:389422 上传时间:2018-10-14 格式:PPT 页数:39 大小:202.50KB
下载 相关 举报
软件需求分析.ppt_第1页
第1页 / 共39页
软件需求分析.ppt_第2页
第2页 / 共39页
软件需求分析.ppt_第3页
第3页 / 共39页
软件需求分析.ppt_第4页
第4页 / 共39页
软件需求分析.ppt_第5页
第5页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件需求分析,第三章,第三章 软件需求分析内容和学时,3.1 需求基本概念 3.2 需求获取 3.3 需求分析建模 3.4 软件需求规约及评审 3.5 实例分析,3.1 需求基本概念,概念: 问题的定义 系统的可行性 什么是需求分析 分析的任务和原则,信息工程问题的定义目标是: 定义系统的业务目的和目标 独立能使系统达到业务目的和目标的关键因素 分析技术和平台对这些因素的影响 分析已有系统,并确定其使用范围.,可行性研究的任务 GB 8566-88 计算机软件开发规范中指出:可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性

2、研究报告,制定初步项目开发计划。”,系统的可行性原则: (1)技术可行性 (2)经济可行性 (4)法律可行性 (5)开发方案选择性,概念: 问题的定义 系统的可行性 需求分析特征 分析的任务和原则,需求有下列特征: (1)需求是正确的:我们和顾客复查它们确保被无错表达 (2)需求一致:没有任何冲突或含糊的需求 (3)需求完全:所有可能的状态、状态变化、转入、产品和约束都在某条需求描述了,那么说这个需求集合是完全 (4) 需求是实际的:从技术上系统真的能做顾客所请求做的事,每条需求描述的事物是顾客需要的么 (5) 需求可检验: 能写出测试来验证已被满足了需求。 (6) 需求是可跟踪:每一系统功能

3、都能被跟踪到要求它的需求集合?容易找到处理一个系统特定方面的需求集合?,需求分析划分:面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 (JSD) 面向数据结构的结构化数据系统开发方法 (DSSD) 面向对象的分析方法 (OOA) 等,分析的任务: 准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用 规范的形式准确地表达用户的需求,概念: 问题的定义 系统的可行性 需求分析特征 分析的任务和原则,需求分析步骤: 问题分析 问题评估 方案综合 建模 规约 复审,分析的原则: 系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)” (1)

4、. 必须能够表达和理解问题的数据域和功能域; (2). 按自顶向下、逐层分解方式对问题分解和细化; (3). 给出系统的逻辑模型、物理模型,4.2 需求获取,清楚地理解所要解决的问题 完整地获取用户需求,需求获取: 目的 需求获取方法 需求层次 快速原型技术,需求获取的挑战: (1)对提出的问题空间理解、项目提出的问题来源、涉及环境、现开发的条件、达到的目标、范围 (2)人与人之间的通信 (3)需求的不断变化,需求获取的过程,确定需求开发过程 编写项目目标和范围文档 将用户群分类并归纳各自特点 选择各类用户的产品代表 建立起典型用户的核心队伍 让用户代表确定使用实例 召开应用程序开发联系会议

5、分析用户工作流程 确定质量属性和其它非功能属性 通过检查当前系统的问题报告来进一步完善需求 跨项目重用需求,某出版社系统调查表,需求获取调查举例:,某出版社系统调查表,业务需求(business requirement):反映组织机构或客户对系统、产品高层次的目标要求。 用户需求(user requirement):描述用户使用产品必须要完成的任务。 功能需求(functional requirement):定义开发人员必须实现的软件功能。 非功能需求(no functional requirement):定义了系统工作时的特性,需求获取: 目的 需求获取方法 需求层次 快速原型技术,需求包括

6、的全部内容,功能 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全保密 (10)软件成本消耗与开发进度 (11)质量保证,功能: 系统做什么?系统何时做什么?系统何时及如何修改或升级?,技术性能指标:存储容量限制执行速度、相应时间数据吞吐量,界面需求: 有来自其它系统的输入吗?有到其它系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗?,(3) 环境 (4) 界面 (5) 用户或人的因素,环境:硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等软件:操作系统、网络、数据库、应用程序平台,用户或人的因素: 用户类型

7、?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?用户错误操作系统的可能性?,文档需求需哪些文档?文档针对哪些读者?,数据需求 输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?,资源需求 软件运行时所需的数据、软件。内存空间等资源。软件开发、维护所需的人力、支撑软件、开发设备等。,(6) 文档 (7) 数据 (8) 资源,安全保密要求 需对访问系统或系统信息加以控制吗如何隔离用户之间的数据用户程序如何与其它程序和操作系统隔离系统备份要求需要防备非法侵入,软件成本消耗与开发进度需求 开发有规定的时间表 周计划设定 软硬件投资有无限制 投资经费

8、到位,质量保证 系统的可靠性要求系统必须监测和隔离错误规定系统平均出错时间出错后,重启系统允许的时间系统变化如何反映到设计中维护是否包括对系统的改进系统的可移植性,(9) 安全保密 (10)软件成本消耗与开发进度 (11)质量保证,需求获取: 目的 需求获取方法 需求层次 快速原型技术,建造/修改原型,用户测试 运行原,听取用户意见,快速原型范型,原型的作用: 问题:开发初期很难确定用户需求规格 解决:用户与开发者之间的鸿沟以原型(软件产品的样品)为共同语言,实现用户与开发者双向沟通。,原型特点: 是一个可实际工作的系统;没有固定的生存期,结局可能是用后立即被抛弃,或可能成为最终系统;可服务于

9、不同的目的, 从需求分析到最终产品都可做原型;建立必须快,便宜;是包含修改、评价在内的完整重复过程,快速原型开发模型与构造过程:,1. 快速分析或修改;2. 原型实现;3. 原型运行与评估;,运用原型化方法的软件开发过程,快速原型方法的提出使得传统的软件生存期在思想方法上受到了影响。如果只是在局部运用原型化方法,如将原型开发过程用于软件生存期的某一个阶段内,那么传统软件生存期依然不变,只是阶段内部的软件定义或开发活动采用了新的方法。但若原型开发过程代替代了传统生存期中的多个阶段,则软件开发过程就成为一种新的形式,原型模型,3.3 需求分析建模,需求分析建模 需求分析的步骤 需求分析模型 数据建

10、模 功能建模和信息流 行为建模,概念: 为确认软件需求,要用不同的视觉去检查它们,分析建模用三个“维”表示:步骤、产品、保障措施。,步骤:数据、功能和行为需求使用一系列不同的图表格式来建模。数据:定义数据对象、属性和关系。功能:指明数据在系统内变换。行为:描述事件的影响。 产品:数数据对象描述,实体-关系图、数据流图、状态变迁图、加工规约和控制规约 保障措施:分析建模的产品必需评审、以考查其正确性、完整性和一致性,需求分析的步骤,当前 系统,目标 系统,物理 模型,逻辑 模型,逻辑 模型,物理 模型,模型化,抽象化,具体化,实例化,怎 么 做,做 什 么,当前 系统,目标 系统,需 求 定 义

11、,对象 系统,模型 系统,分解、抽象(映射),模型应用,模型构造的过程,模型:是对对象系统的形式化的特征的抽象,概括性或近似地表示;形式化语言、数学语言、图形等;构造模型的过程是一个抽象、分析的过程。,需求分析建模 需求分析的步骤 需求分析模型 数据建模 功能建模和信息流 行为建模,分析获取应遵循基本原则: 分解抽象投影,例: 开发一个CAD软件的三层抽象,抽象层次. 用问题所处环境术语来描述这个软件: 该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件

12、实现。,抽象层次. 任务需求的描述。 CAD SOFTWARE TASKS user interaction task; 2-D drawing creation task;graphics display task; drawing file management task; end. 在这个抽象层次上,未给出“怎样做”的信息,不能直接实现,抽象层次. 程序过程表示。以2-D (二维)绘图生成任务为例: PROCEDURE:2-D drawing creation REPEAT UNTIL (drawing creation task terminates) DO WHILE (digiti

13、zer interaction occurs)digitizer interface task; DETERMINE drawing request CASE; line: line drawing task; rectangle:rectangle drawing task; circle: circle drawing task; ,(2) 数据抽象 在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。 例如,在CAD软件中,定义一个叫做drawing的数据对象。可将drawing规定为一个抽象数据类型,定义它的内部细节为:,TYPE drawing IS STRUCTUREDEF

14、IND number IS STRING LENGTH(12); geometry DEFIND notes IS STRING LENGTH(256); BOM DEFINDEND drawing TYPE;,逻辑模型与物理模型的比较,现 行 系 统,目 标 系 统,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括规约,技术,管理)。,逻辑模型 物理模型 (本质模型、概念模型) (实施模型、技术模型),描述重要的业务功能,不讨论该系统是如何实施的过程。,需求分析过程举例:,学 生,(1) 通过对现实环境的调查, 获

15、当前系统的具体模型(物理模型),教务科 107刘,会计 206王,出纳员 206李,教材 303赵,学 生,购 书 申 请,购书 单,发 票,书领 单,书,学生购买教材的具体模型,(2) 去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型,学生购买教材的逻辑模型,学 生,学 生,购 书 申 请,书购 单,发 票,领 书 单,书,审查 有效性,开发票,开领 书单,发书,(3) 分析当前系统与目标系统的差别,建立目标系统的逻辑模型,计算机售书系统的逻辑模型,学 生,学 生,审查并 开发票,开领 书单,购书单,发票,领书单,无效书单,(4) 对目标系统进行完善和补充,写出完整需求说明 (5) 对需

16、求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。,分析建模分类: 结构化分析( Structured Analisys, SA)面向对象分析(Object-Oriented Analisys,OOA),特点: SA:最初由Douglas Ross提出,由DeMarco推广:是基于数据流技术的分析方法。适用数据处理类软件 OOA:基于对象、对象间消息传第等语言机制的分析方法。当前流行使用的建模方法,后面介绍,数据 字典,数据 流图,E-R图,状态-迁图,加,工,规,约,控制规约,数,据,对 象,描述,结构化分析模型结构,核心方法 : 抽象与分解。用抽象模型概念,强调 逻辑而非物理,

17、按照软件内部数据传递、变换关系,自顶向下逐层分解,直至找到满足功能要求的全部可实现软件。,按照DeMarco的定义,“结构化分析就是使用数据流图(DFD、数据字典(DD)、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”,结构化分析模型的元素 E-R图(ERD):实体-关系图,描述数据对象间的关系. 数据字典(DD):模型核心,包含软件使用或生产的所有数据对象的中心库. 数据流图(DFD) .指明数据在系统中移动时如何被变换;.描述对数据流进行变换的功能(和子功能); DFD中每个功能的描述包含在加工规约(小说明,PSPEC)中。 状态变迁图(STD)指明作为

18、外部事件的结果,系统将如何动作。 STD是行为建模的基础,关于软件控制方面的附加信息包含在“控制规约”(CSPEC)中,数据建模: 数据对象、属性与关系 实体-关系图(ERD),需求分析建模 需求分析的步骤 需求分析模型 数据建模 功能建模和信息流 行为建模,数据对象:是现实世界中实体的数据側面 属性:对数据对象命名、性质和其它数据对象关联的描述,数据对象、属性与关系建立模型的规范化规则: (1)数据对象的任何实例对每个属性必需有且只有一个属性值 (2)属性的原子数据项,不能包含内部数据结构 (3)当数据对象关键属性多于一个,则非关键属性必须表示整个数据对象而不是部分关键属性的特征。 (4)非

19、关键属性必须表示整个对象而不是部分属性的特征,数据可以按相应数据模型进行组织。 E-R图中表示实体联系的符号如下:,E-R方法 ( Entity-Relationship Approach) 和实体模型,实体模型是现实世界的纯表示,它不涉及数据世界的数据结构、存取路径、存取效率等问题。因此,它可以转换成数据库中的数据模型,在E-R图中,每个方框表示实体型或属性,方框之间的连线表示实体之间,或实体与属性之间的联系。出现在连线上的短竖线可以看成是“1”,而圆圈隐含表示“0”。 例如,在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体型)

20、有学生、教师和课程。,用E-R图描述它们之间的联系,得下图。其中,学生与课程是多对多的联系,而教师与课程的联系是零、一对多。,进一步,要确定属性。例如, 学生具有学号、姓名、性别、年龄、专业(其它略)等属性; 课程具有课程号、课程名、学分、学时数等属性; 教师具有职工号、姓名、年龄、职称等属性。 此外,学生通过学号、分数与课程发生联系。如此可得教学实体模型。,教学实体模型,4 功能建模和信息流,基于 计算机 的系统,输入信息,信息流模型,输出信息,外部实体,外部实体,外部实体,输入信息,外部实体,外部实体,输出信息,输出信息,5 针对实时系统的扩展,许多控制软件是依赖于时间,并且越来越多的控制

21、信息作为数据进行处理.由Ward和Mellor开发了针对实时系统的图形表示方法.表示控制流和控制加工.,“连续地”作为加工的输入或输出的数据对象,控制加工,控制或事件的变换者,接受控制和输入,产生控制作为输出.,控制项或事件,取布尔值或离散值,箭头指向数据流的方向.,3 功能建模和信息流,外部实体,加工,数据存储,位于被建模的系统之外的信息生产者或消费者,位于被建模的系统之内的信息变换,箭头指向数据流的方向,数据库,5 针对实时系统的扩展(续),控制存储,控制项的库,被一个或多个使用,加工,同一个加工的多个对等的实例,竖短线是对控制规约的引用,CSPEC描述了系统的行为,定义了事件的后继的加工如何被激活,5 针对实时系统的扩展,汽油涡轮发动机实时监控系统的时间连续的数据流图.,监视和调整温度,温度设置点,监控温度,连续的输入,连续的输出,已校正值,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1