《软件需求分析第三章.ppt》由会员分享,可在线阅读,更多相关《软件需求分析第三章.ppt(40页珍藏版)》请在三一办公上搜索。
1、2023/8/4,第三章 结构化分析,(Structured Analysis,SA),第二篇 传统方法学,软件需要“做什么”?如何描述“做什么”?即:需求分析的基本概念、任务、原则和方法是什么?,本章要解决的问题:,2023/8/4,需求分析是对问题进一步发现、求精、建模、规格说明和复审的过程。,需求分析的任务,准确地定义未来系统的目标,确定为了满足用户的需求,系统必须“做什么”。用 规范的形式准确地描述用户的需求。做什么(what)怎么做(how),2023/8/4,任务:,描述软件的功能和性能确定软件设计的约束、软件同其它系统元素的接口细节定义软件的其它有效性需求,如何完成任务?,建模,
2、2023/8/4,抽象(映射),模型应用,模型构造的过程:是一个抽象、分析的过程。,问题:什么是模型?逻辑模型和物理模型的区别是什么?,模型 为了理解事物而对事物做出的一种抽象。是对对象系统的形式化特征的抽象、概括性或近似地表示。表示方法:用形式化语言:数学语言、图形等;,对象系统,模型系统,2023/8/4,模型转换过程,2023/8/4,示例,学生购买教材系统模型转换:,购书申请,购书单,发票,领书单,书,通过对现实环境的调查,获得当前系统的物理模型,2023/8/4,示例,去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型,购书申请,购书单,发票,领书单,当前系统逻辑模型,书,2023
3、/8/4,示例,分析当前系统与目标系统的差别,建立目标系统的逻辑模型,计算机售书系统的逻辑模型,2023/8/4,现行系统,目标系统,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,逻辑模型 物理模型(本质模型、概念模型)(实施模型、技术模型),描述重要的业务功能,不管系统是如何实施的。,2023/8/4,结构化分析是一种建模的活动,必须理解和表示问题的信息域,根据这条准则应该建立数据模型;必须定义软件应完成的功能,这条准则要求建立功能模型;必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型;必须
4、对描述信息、功能和行为的模型进行分解,用层次的方式展示细节;分析过程应该从要素信息移向实现细节;,准则:,2023/8/4,3.2 与用户通信技术(需求获取),如何从用户得到完整且正确的需求?,2023/8/4,存在的问题:,专业差距人与人之间的通信方式需求的不断变化,2023/8/4,需求获取方法建立分析所需要的通信途径,以保证能顺利地对问题进行分析。,通信途径:访谈、调查、情景分析,在中立地点举行由开发者和用户双方出席的会议 制定准备会议和参加会议的规则 提出一个议事日程 由“协调人”主持会议 使用一种“定义机制”目标是标识问题、提出解决方案要素,商讨不同方法以及在有利于实现目标的氛围中指
5、定初步需求,2023/8/4,某图书馆系统调查表,2023/8/4,快速地构建和修改原型的方法:,第四代技术可重用的软件构件形式化规格说明和原型环境,3.2.3软件原型,2023/8/4,3.3 分析建模与规格说明,分析建模软件需求规格说明,2023/8/4,分析模型的结构,数据字典(DD):描述数据对象E-R图:描述数据对象之间的关系数据流图(DFD):描述数据变换和变换数据流的功能状态转换图(STD)描述系统的各种行为模式及其转换方式:系统如何动作,2023/8/4,软件需求规格说明的原则,从现实中分离功能,即描述要“做什么”而不是“怎样实现”要求使用面向处理的规格说明语言(或称系统定义语
6、言)如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中,2023/8/4,规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合,2023/8/4,3.4实体-关系图(Entity-Relation Diagram),数据模型包含的三种相互关联的信息:数据对象数据属性数据对象之间的关系 ERD(实体-关系)图是数据建模的基础,简单明了地表达了三种相互关联的信息。,2023/8/4,教师,学生,课程,职称,性别,姓名,职工号,学,教,姓名,性别,学号,系,年级,成绩,课程号,课名,
7、学时,学分,教学ER图,学分,2023/8/4,基于计算机的系统,信息流模型,信息变换,2023/8/4,3.5 数据流图,流向(从加工出发或流向加工)数据组成数据流名字,表示数据和数据流向三个重要属性:,2023/8/4,数据流图中的主要图形元素,2023/8/4,数据流图符号,2023/8/4,例:旅行社订飞机票系统的DFD图:,2023/8/4,描述招生录取过程的DFD图:,2023/8/4,招生录取过程的DFD图:,2023/8/4,分层数据流图,2023/8/4,注意:用名词,不要使用意义不明确的名词尽量使用现实系统已有的名字,命名困难时要考虑数据流划分是否恰当。不要把控制流作为数据
8、流,2023/8/4,举例:以下是错误的表示!,加工至少有一个输入流和一个输出流,无输入,无输出,数据流必须起于或止于加工,2023/8/4,DFD与程序流程图的区别:,程序流程图用于表示程序的过程设计;DFD用作描述软件的逻辑功能,不能表示程序的控制结构。DFD只考虑软件“干什么”不必问“怎样干”,2023/8/4,DFD图中各元素的作用和命名方法:,数据存储:分层数据流图中,数据存储一般局限在某一层或某几层;命名方法与数据流相似。,加工:顶层的加工名就是软件项目的名字;最好使用动宾词组,也可用主谓词组;不要使用意义不明确的动词。,2023/8/4,3.6 状态转换图,问题:,如何选择事件?
9、如何描述系统的行为模型?即:状态变迁图(STD)?(参看教材P38),2023/8/4,4、数据字典(Data Dictionary),DFD仅仅是一种流模型,其符号本身并不能充分地描述软件的需求。数据字典用于精确地定义系统中每一个数据对象和控制信息的特性。数据字典与数据流图配合,能清楚地表达数据处理的要求,使用户和分析员对系统中每一个环节的输入、输出和存储有共同的理解。数据字典是描述数据信息的集合。,2023/8/4,数据字典完成以下任务:词条描述;数据结构描述;加工逻辑说明。,数据字典包含以下信息:所有元素的名称:(数据流、数据项、加工和数据存储)别名使用位置和作用内容描述补充信息(数据类
10、型、预设值、限制等),2023/8/4,描述内容所使用的符号 操作符 含义描述 等价于(定义为)和(连接两个分量).或(选择结构).重复(循环结构)(.)任选 m.n 界域 注释符,2023/8/4,例如:电话系统中的数据字典 电话号码=当地分机号|外地号码 当地分机=2001|2002|2999 外地号码=9+当地号码|长途号码 长途号码=(1)+区号+当地号码 前缀=795|799|874|877 访问的号码=*任意四位串号码*,只可访问4个分支交换机,2023/8/4,限制重复次数说明,2023/8/4,数据字典的实现:人工方法 自动方法(利用字典管理程序)(CASE结构化分析与设计工具);,数据字典的定义方法找出所有数据元素(数据流、数据项、加工和数据存储)对数据项分类作结构定义规定特性和限制排序(按DFD层次、按字母、汉字顺序),