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