版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、下面是一组漫画这组漫画形象地刻画了一个事实获取完整正确的需求是一项十分困难的工作3.1 需求分析的任务 3.1.1 需求的概念 需求(需求(requirements) Jones 定义为用户所需要的软件必须达定义为用户所需要的软件必须达到的目标和能力。到的目标和能力。Lethbridge定义为需求是关于系统将要定义为需求是关于系统将要完成什么工作的一段描述,他们必须经过完成什么工作的一段描述,他们必须经过所有相关人员的认可,其目的是彻底的解所有相关人员的认可,其目的是彻底的解决用户的问题。决用户的问题。 需求是一段描述需求是一段描述:意思是每个需求是相意思是每个需求是相对短小简明的一段信息,表
2、现为一个事实。它可对短小简明的一段信息,表现为一个事实。它可以是一段话或用各种图表示。一组需求的集合成以是一段话或用各种图表示。一组需求的集合成为需求文档。为需求文档。 关于系统将要完成什么工作关于系统将要完成什么工作:需求描述了需求描述了系统应当完成的任务,不描述系统将如何实现。系统应当完成的任务,不描述系统将如何实现。 必须经过所有相关人员的认可必须经过所有相关人员的认可:意指需求意指需求必须经过评审,才能成为正式的需求。必须经过评审,才能成为正式的需求。 其目的是彻底的解决用户的问题其目的是彻底的解决用户的问题。有助于解有助于解决用户的问题,该需求才有存在的价值。决用户的问题,该需求才有
3、存在的价值。 1. 功能需求功能需求这方面的需求指定系统必须提供的服务。通过需求这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。分析应该划分出系统必须完成的所有功能。2. 性能需求性能需求性能需求指定系统必须满足的定时约束或容量约束性能需求指定系统必须满足的定时约束或容量约束,通常包括速度,通常包括速度(响应时间响应时间)、信息量速率、主存容、信息量速率、主存容量、磁盘容量、安全性等方面的需求量、磁盘容量、安全性等方面的需求。 3.1.2 需求的内容3. 可靠性和可用性需求可靠性和可用性需求可靠性需求定量地指定系统的可靠性。可靠性需求定量地指定系统的可靠性。4
4、. 出错处理需求出错处理需求这类需求说明系统对环境错误应该怎样响应这类需求说明系统对环境错误应该怎样响应5. 接口需求接口需求接口需求描述应用系统与它的环境通信的格接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求件接口需求;软件接口需求;通信接口需求6. 约束约束设计约束或实现约束描述在设计或实现应用设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。常见的约束有:系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使精度;工具和语言约束;设计约束;应该使用的
5、标准;应该使用的硬件平台。用的标准;应该使用的硬件平台。7. 逆向需求逆向需求逆向需求说明软件系统不应该做什么。逆向需求说明软件系统不应该做什么。8. 将来可能提出的要求将来可能提出的要求应该明确地列出那些虽然不属于当前系统开应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的发范畴,但是据分析将来很可能会提出来的要求。要求。分析系统的数据要求,这是软件需求分析的分析系统的数据要求,这是软件需求分析的一个重要任务。分析系统的数据要求通常采一个重要任务。分析系统的数据要求通常采用建立数据模型的方法用建立数据模型的方法(1)结构化语言(2)图形化表示(3)数学描述(形式化描
6、述)3.1.3 需求的描述方法3.1.4需求分析的过程F1、对问题的识别和理解需求获取是一个调查研究的过程分析人员需要具有较高的技能F2、对需求信息的分析和综合需求规约充分理解需求,包括功能、性能和数据需求采用需求分析方法F3、编制“需求规格说明书”需求规格说明书使用的语言书写要求F4、需求分析的复审(1)个别访谈和召集会议)个别访谈和召集会议 (2)观察用户工作流程)观察用户工作流程 (3)利用原型)利用原型 (4)使用实例(用例):用例把系统分)使用实例(用例):用例把系统分成一组逻辑的、互相联系很少的部分,每成一组逻辑的、互相联系很少的部分,每一部分都描述了系统运行的某种方式。因一部分都
7、描述了系统运行的某种方式。因此容易理解每个用例达到的功能。此容易理解每个用例达到的功能。 快速原型就是快速建立起来的旨在演示快速原型就是快速建立起来的旨在演示目标系统主要功能的目标系统主要功能的可运行的程序可运行的程序。构建原型的要点,它应该实现用户构建原型的要点,它应该实现用户看得看得见见的功能的功能(例如,屏幕显示或打印报表例如,屏幕显示或打印报表),省,省略目标系统的略目标系统的“隐含隐含”功能功能(例如,修改文件例如,修改文件)。3.2.3 快速建立软件原型快速原型应该具备的第一个特性是快速原型应该具备的第一个特性是“快快速速”。快速原型的目的是尽快向用户提。快速原型的目的是尽快向用户
8、提供一个可在计算机上运行的供一个可在计算机上运行的目标系统目标系统的的模型,以便使用户和开发者在目标系统模型,以便使用户和开发者在目标系统应该应该“做什么做什么”这个问题上尽可能快地这个问题上尽可能快地达成达成共识共识。快速原型应该具备的第二个特性是快速原型应该具备的第二个特性是“容容易修改易修改”。在实际开发软件产品时,原。在实际开发软件产品时,原型的型的“修改修改试用试用反馈反馈”过程可能重过程可能重复多遍,如果修改耗时过多,势必延误复多遍,如果修改耗时过多,势必延误软件开发时间。软件开发时间。所谓所谓模型模型,就是为了理解事物而,就是为了理解事物而对事物做出的一种对事物做出的一种抽象抽象
9、,是对事,是对事物的一种无歧义的书面描述。通物的一种无歧义的书面描述。通常,模型由常,模型由一组图形符号一组图形符号和组织和组织这些符号的这些符号的规则组成。规则组成。 软件开发过程实际是:人通过抽象、归纳把客软件开发过程实际是:人通过抽象、归纳把客观系统观系统变换变换到软件系统,并保证软件系统的解到软件系统,并保证软件系统的解等价等价客观系统的解。客观系统的解。客观系统客观系统客观系统的解客观系统的解软件系统软件系统软件系统的解软件系统的解变换变换解的等价解的等价二、模型的二、模型的描述方法描述方法三、三、模型的作用模型的作用为系统的维护提供文档为系统的维护提供文档 3.3.2需求分析的过程
10、需求分析的过程学学生生学学生生购购书书申申请请购购书书单单领领书书单单书书107107张张教务科教务科206206王王会计室会计室206206李李出纳员出纳员赵赵教材科教材科交交款款单单现现金金学学生生学学生生购购书书申申请请购购书书单单交交款款单单领领书书单单书书审查审查有效性有效性开交款单开交款单开领开领书单书单发书发书学学生生购书单购书单交款单交款单领书单领书单审查并审查并开交款单开交款单开领开领书单书单无效书单无效书单学学生生3.4 需求分析建模方法3.4.1分析建模方法分析建模方法 分析建模是使用文本分析建模是使用文本 和图表形式的组合,以和图表形式的组合,以相对容易理解和能直接评审
11、正确性、完整性相对容易理解和能直接评审正确性、完整性和一致性的方式来描述数据、功能和行为的和一致性的方式来描述数据、功能和行为的需求。需求。 q结构化分析结构化分析SA(传统建模方法传统建模方法)q面向对象分析面向对象分析(OOA) OOAOODOOP 数据字典数据字典:包含了软件生产或使用的所有数据对象描述的中心存储库。 实体关系图(实体关系图(ERD):描述数据对象间的关系,每个对象的属性由“数据对象描述”来描述。 数据流图(数据流图(DFD)用于两个目的: 指明数据在系统中移动时如何被变换; 反映对数据流进行变换的功能(和子功能); 在DFD中出现的每个功能的描述包含在“加工规约”中。
12、状态转换图(状态转换图(STD):指明作为外部事件的结果系统将如何动作,有哪些行为。软件控制方面的附加信息包含在“控制规约”中。3.4.2 结构化分析方法 (Structured Analisys, SA) 图 数据流图的分解 3、三三. .数据字典数据字典( (DD,DataDictionary)DataDictionary) DD DD是对数据流图中所有定义的数据是对数据流图中所有定义的数据元素、数据结构、数据文件、数据流等元素、数据结构、数据文件、数据流等进行进行严密而精确严密而精确的一个有组织的列表的一个有组织的列表, ,以及以及精确的、严格精确的、严格的定义,使得用户和的定义,使得用
13、户和系统分析员对于输入、输出、存储成分系统分析员对于输入、输出、存储成分和中间计算有共同的理解和中间计算有共同的理解 1、数据词典的构造准则 . .数据流图中出现的名字都应编制一个数据条目。而且数据流图中出现的名字都应编制一个数据条目。而且只能有一个条目,不能重复定义。只能有一个条目,不能重复定义。 . .应按自底向上的方式对数据进行定义,先定义数据元应按自底向上的方式对数据进行定义,先定义数据元素,后定义数据结构,再定义数据流或数据文件。素,后定义数据结构,再定义数据流或数据文件。数据文件数据流数据结构数据元素(项)数据组成的层次关系1、数据词典的构造准则(续). .定义时所用的词汇都应是有
14、明确的含义,定义时所用的词汇都应是有明确的含义,只能有一种理解。只能有一种理解。. .条目应有序编排。条目应有序编排。2、数据元素定义举例例1日期 名字:日期 = (年、月、日) 说明:年 = (19902010) 月 = (112) 日 = (131) 例2账号 名字:账号 说明:(0000099999) 例3婚姻状况 名字:婚姻状况 说明:M = 已婚S = 未婚D = 离婚F从以上例子可以看出,说明信息就是给出数据元素的取值范围或内容。F数据元素的说明信息除了主要说明以上内容外,还应考虑包含:别名、数据元素长度、相关的数据元素和数据结构、编辑方面的要求等。数据元素条目的书写格式(3种).
15、一般书写格式:.数据元素卡:用卡片的形式记载每个元素的相关性质。.数据元素表:数据元素名: 类型: 长度: 取值范围: 相关的数据元素及数据结构: 其它:3、数据结构描述所需要的符号符号集 = :由构成+ :与(顺序结构). | . :或(选择结构). :重复(循环结构)(.) :可选的数据 *.*:限定的注释例:发票的描述方式如下发票 = 客户名称 +(支票号)+ 编号+商品名称+规格+单位+数量+单价+金额3 + 合计 + 开票单位 + 开票人 例:例:F1:F1:航班信息文件航班信息文件 航空公司名称航班号航空公司名称航班号起点终点日期起点终点日期 起飞时间降落时间起飞时间降落时间 航空
16、公司名称航空公司名称22字母字母44 航班号航班号33十进制数字十进制数字33 字母字母“A A”“Z Z”十进制数字十进制数字“0 0”“9 9”起点终点起点终点11汉字汉字1010 起飞时间降落时间时分起飞时间降落时间时分 时时“0000”“2323” 分分“0000”“5959” 日期年月日日期年月日 年年20002000200120012002200220042004 月月“0101”“1212” 日日“0101”“3131” 重复项:重复项:起点终点起点终点11汉字汉字1010 航空公司名称航空公司名称22字母字母44 航班号航班号33十进制数字十进制数字33 组合项:组合项:日期年
17、月日日期年月日 起飞时间降落时间时分起飞时间降落时间时分选择项:选择项:年年20002000200120012002200220042004原数据项:原数据项:字母字母“A A”“Z Z” 十进制数字十进制数字“0 0”“9 9” 时时“0000”“2323” 分分“0000”“5959” 月月“0101”“1212” 日日“0101”“3131” 4、数据流条目的描述F实际上,数据流是“流动”的数据结构,或者说数据流由数据结构组成,对它的定义应当包含以下内容:数据流包含的数据结构数据流来自何处数据流源数据流的去处数据流目标每个数据结构的流通量(可以省略)简要说明该数据流的产生原因和后果(可以
18、省略)F数据流条目的书写格式如下:数据流名: 别名:组成结构: 流量: 来源: 去向: 例:数据流条目举例例1:数据流名:银行对账单 别名:对账单组成结构:月+日+银行支票号+余额 流量:2张/天,每张约40笔数据 来源:开户银行 去向:资金管理组例2: 名称:领料单 内容:职工到仓库领料时填写的单据组成结构:零件编号+零件名称+数量100+领料人+车间主任+领料时间 5、数据文件条目的描述F数据文件是保存数据结构的载体。数据文件条目的定义主要说明文件由哪些数据项(可以是数据元素,也可以是数据结构)组成、存储方式和存取频率等。F数据文件条目的书写格式如下:数据文件名: 别名: 组成: 存储方式
19、: 存储频率: 数据文件名:现金日记帐 别名:现金日记帐 组成:月+日+摘要+收入+支出+结存 存储方式:顺序 存储频率:0笔/天 例如:“现金日记帐”条目 6、数据词典的使用F在结构化分析的过程中,可以通过名字,方便地查阅数据的定义;同时可按各种要求,随时列出各种表,以满足分析员的要求。还可以按描述内容(或定义)来查询数据的名字。通过检查各个加工的逻辑功能,可以实现和检查在数据与程序之间的一致性和完整性。F在以后的设计和实现阶段以至于到维护阶段,都要参考数据词典进行设计、修改和查询。四、加工说明F在数据流图中,每一个加工框中只是简单地赋予了一个加工名,这显然不能表述加工的全部内容。一个软件系
20、统的功能就是由这些加工的协同配合才得以实现的。因此,需求分析中必须对每一个加工进行说明。四、加工说明v不必为一套DFD图的所有加工都定义加工条目。但必须为每个基本加工提供一个条目。(即最底层的DFD图的加工说明)、v也也可在DD中只定义说明每个加工的组成(每个处理分解成多少基本加工),而在基本加工 中详细描述它的处理逻辑.F 1、加工说明的规则 F数据流图中的每一个基本加工,必须有一个加工说明。F加工说明应当描述这个加工需要获得的输入数据流和产生的输出数据流F加工说明主要描述的是这个加工对数据流的处理策略,不应该设计如何用计算机技术实现这个策略的方法。(也就是说,要指出加工应该做什么,而不是如
21、何去做)F加工说明应当采用结构化或图示化的方式表达,以使它的内容和结构保持简单、扼要、精练和具有较高的可读性。小说明小说明(加工逻辑说明的另一种形式加工逻辑说明的另一种形式)描述的内容:描述的内容:(1) (1) 处理逻辑处理逻辑 描述基本加工如何把输入数据流变化描述基本加工如何把输入数据流变化为输出数据流的加工原则,不涉及具为输出数据流的加工原则,不涉及具体处理方法。体处理方法。(2) (2) 执行条件执行条件(3) (3) 输入输入(4) (4) 输出输出(3) (3) 优先级优先级(4) (4) 执行频率执行频率(5) (5) 出错处理对策出错处理对策 加工逻辑名加工逻辑名: :登记报名
22、单登记报名单 编号:编号:1.01.0 激活条件:收到报名单激活条件:收到报名单 加工逻辑加工逻辑:1.1 1.1 检查报名单检查报名单 + 1.2 + 1.2 编准考证号编准考证号 + 1.3 + 1.3 登记考生登记考生 执行频率:执行频率:20002000次次/ /日日小说明举例小说明举例加工名加工名: : 分类采购分类采购(CG111MD)(CG111MD)编号编号: 1.1.1: 1.1.1加工激活条件加工激活条件: : 收到图书采购员分类收到图书采购员分类 采购操作命令采购操作命令加工逻辑加工逻辑: (1) 1.1.1.1 : (1) 1.1.1.1 预定图书预定图书 (2) 1.
23、1.1.2 (2) 1.1.1.2 外采图书外采图书 (3) 1.1.1.3 (3) 1.1.1.3 赠送图书赠送图书 执行频率执行频率: : 随时随时 五、描述加工逻辑的工具:五、描述加工逻辑的工具: 结构化语言结构化语言 判定表判定表判定树判定树1、结构化语言、结构化语言 介于自然语言和形式语言介于自然语言和形式语言之间的语言之间的语言结构化语言的特点:结构化语言的特点:无确定语法无确定语法可分层、嵌套可分层、嵌套处理名处理名: :核实订票处理核实订票处理(MHGP3200MD)(MHGP3200MD)编号编号: 3.2: 3.2激活条件激活条件: :收到取订票信息收到取订票信息处理逻辑处
24、理逻辑:1:1读订票旅客信息文件读订票旅客信息文件 2 2搜索此文件中是否有与输入信息搜索此文件中是否有与输入信息 中姓名及身份证号相符的项中姓名及身份证号相符的项 IFIF 有有 THENTHEN 判断其余项是否与文件中判断其余项是否与文件中 信息相符信息相符 IFIF 是是 THENTHEN 输出已订票信息输出已订票信息 ELSEELSE 输出未订票信息输出未订票信息 ELSEELSE 输出未订票信息输出未订票信息执行频率执行频率: : 实时实时2、判定表、判定表(决策表决策表)描述多条件、多目标动作的形式化工具描述多条件、多目标动作的形式化工具判定表举例判定表举例 ( (计算机票折扣率计
25、算机票折扣率) )旅游时间旅游时间订订 票票 量量折折 扣扣 量量7 79 9,1212月月20202020 20 20 20 20 15% 15% 5% 5% 20% 20% 30% 30%条件类别条件类别四种条件组合四种条件组合操作操作条件组合下操作的执行条件组合下操作的执行1 16,10,116,10,11月月处理名处理名: :计算折扣率计算折扣率(MHGP534MD)(MHGP534MD)编号编号: 5.3.4: 5.3.4激活条件激活条件: :收到预订票信息收到预订票信息处理逻辑处理逻辑: :计算折扣率计算折扣率执行频率执行频率: : 实时实时旅游时间旅游时间订订 票票 量量折折 扣
26、扣 量量7 79 9,1212月月1 16,10,116,10,11月月20202020 20 20 20 20 15% 15% 5% 5% 20% 20% 30% 30%3、判定树、判定树(Decision 决策树决策树) 条件条件1 1 条件条件2 2 结果结果计计 7 79,9, 订票量订票量2020: : 15%15%算算 1212月月 订票量订票量2020: : 5%5%折折扣扣 1 16,6, 订票量订票量2020: : 30%30%量量 10,1110,11月月 订票量订票量2020: : 5%5%数据模型中包含数据模型中包含3种相互关联的信息种相互关联的信息即即数据对象数据对象
27、、数据对象的、数据对象的属性属性及数及数据对象彼此间相互连接的据对象彼此间相互连接的关系关系。3.5 实体-联系图数据对象数据对象也叫也叫实体实体(Entity):数据对象可以是:数据对象可以是外部实体即产生或使用信息的任何事物外部实体即产生或使用信息的任何事物、行、行为、事件、角色、单位、地点或结构。总之为、事件、角色、单位、地点或结构。总之,可以由一组属性来定义的实体都可以被认,可以由一组属性来定义的实体都可以被认为是数据对象为是数据对象事物事物(例如,报表例如,报表)、行为、行为(例如,打电话例如,打电话)、事件、事件(例如,响警例如,响警报报)、角色、角色(例如,教师、学生例如,教师、
28、学生)、单位、单位(例如,会计科例如,会计科)、地点、地点(例如,仓库例如,仓库)或结构或结构(例如,文件例如,文件)等。等。一、数据对象数据对象彼此间是有数据对象彼此间是有关联关联的,例如,教的,例如,教师师“教教”课程,学生课程,学生“学学”课程,教或课程,教或学的关系表示教师和课程或学生和课程学的关系表示教师和课程或学生和课程之间的一种特定的连接。之间的一种特定的连接。属性属性(Attribute):实体所具有的某一特:实体所具有的某一特性,一个实体可由若干个属性来刻画性,一个实体可由若干个属性来刻画。必须把一个或多个属性定义为必须把一个或多个属性定义为“标识符标识符”,也就是说,当我们
29、希望找到数据对象,也就是说,当我们希望找到数据对象的一个实例时,用标识符属性作为的一个实例时,用标识符属性作为“关关键字键字”(通常简称为通常简称为“键键”)。二、属性数据对象彼此之间相互连接的方式称为联系数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下,也称为关系。联系可分为以下3种类型:种类型:(1) 一对一联系一对一联系(1 1)例如,一个部门有一个经理,而每个经理只例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一在一个部门任职,则部门与经理的联系是一对一的。对一的。(2) 一对多联系一对多联系(1 N)例如,某校教师与课程之间存在一对多的联
30、例如,某校教师与课程之间存在一对多的联系系“教教”,即每位教师可以教多门课程,但,即每位教师可以教多门课程,但是每门课程只能由一位教师来教是每门课程只能由一位教师来教三、联系(3) 多对多联系多对多联系(M N)例如,图表示学生与课程间的联系例如,图表示学生与课程间的联系(“学学”)是是多对多的,即一个学生可以学多门课程,而多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。每门课程可以有多个学生来学。实体实体-联系图简称为联系图简称为ER图,把图,把ER图描绘的数图描绘的数据模型称为据模型称为ER模型。模型。ER图中包含了实体图中包含了实体(即数据对象即数据对象)、关系和属、关
31、系和属性等性等3种基本成分,通常用矩形框代表实体种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体圆形或圆角矩形表示实体(或关系或关系)的属性,的属性,并用直线把实体并用直线把实体(或关系或关系)与其属性连接起来与其属性连接起来。四、实体-联系图的符号某校教学管理ER图某校教学管理ER图层次方框图用树形结构的一系列多层次的矩层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结是一个单独的矩形框,它代表完整的数据结构,
32、下面的各层矩形框代表这个数据的子集构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际,最底层的各个框代表组成这个数据的实际数据元素数据元素(不能再分割的元素不能再分割的元素)。3.6 其他图形工具 一、层次方框图图3.5 层次方框图的一个例子例如,描绘一家计算机公司全部产品的层次方框例如,描绘一家计算机公司全部产品的层次方框(HC)图。图。表示信息层次结构的另外一种图形工具。但表示信息层次结构的另外一种图形工具。但是这种图形工具比层次方框图提供了更丰富是这种图形工具比层次方框图提供了更丰富的描绘手段。的描绘手段。二、Warnier图图3.6 Warnier图的一个例子
33、IPO图是输入、处理、输出图的简称,它是图是输入、处理、输出图的简称,它是美国美国IBM公司发展完善起来的一种图形工具公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。和输出数据之间的关系。三、IPO图IPO图使用的基本符号既少又简单。它图使用的基本符号既少又简单。它的基本形式是在左边的框中列出有关的的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行。处理框中列出处
34、理的次序暗示了执行的顺序,的顺序,图3.7 IPO图的一个例子图图3.8 改进的IPO图的形式 销售管理系统的HIPO图3.7 系统行为描述系统行为描述 采用动态分析方法,直观地采用动态分析方法,直观地分析系统的动作。分析系统的动作。 最常用的动态分析方法:最常用的动态分析方法: 状态迁移图状态迁移图 时序图时序图 状态状态转换图转换图状态迁移图状态迁移图时序图时序图状态转换图状态转换图 状态模型是一种描述系统对内部或者外部事件响应的行为状态模型是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态和事件,以及事件引发系统在状态间的模型。它描述系统状态和事件,以及事件引发系统在状态间的
35、转换。转换。 状态模型一般采用状态模型一般采用状态转换状态转换图(状态图)图(状态图)标记方法。标记方法。 状态图提供了状态图提供了行为建模行为建模机制。机制。 状态图描述了系统中某些复杂对象的状态变化,主要有状态图描述了系统中某些复杂对象的状态变化,主要有状状态态、变迁变迁和和事件事件三种描述。三种描述。 状状 态态1状状 态态2事件事件/触发行为触发行为41图3.3 状态图中使用的主要符号(1)状态 状态是任何可以被观察到的系统行为模式,一个状态代表系统的状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。一种行为模式。 状态规定了系统对事件的响应方式。状态规定了系统对事
36、件的响应方式。 系统对事件的响应可以是做一个(或一系列)动作,也可以只是系统对事件的响应可以是做一个(或一系列)动作,也可以只是改变系统本身的状态,还可以既改变状态又做动作。改变系统本身的状态,还可以既改变状态又做动作。 状态图中定义的状态有:初态、终态和中间状态;状态图中定义的状态有:初态、终态和中间状态; 在一张状态图中只能有一个初态,而终态可以有若干个在一张状态图中只能有一个初态,而终态可以有若干个。(2)事件)事件 事件是引起系统做动作或转换状态的控制信息事件是引起系统做动作或转换状态的控制信息42 为了具体说明怎样用状态图建立系统的行为模型,下面举一个例子。图3.4(见书57页)是人
37、们非常熟悉的电话系统的状态图。 图中表明,没有人打电话时电话处于闲置状态;有人拿起听筒则进入拨号音状态,到达这个状态后,电话的行为是响起拨号音并计时;这时如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态;。例子图图3.4 3.4 电话系统状态图电话系统状态图需求分析阶段的工作结果是开发软件系需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软统的重要基础,大量统计数字表明,软件系统中件系统中15%的错误起源于错误的需求的错误起源于错误的需求。为了提高软件质量,确保软件开发成。为了提高软件质量,确保软
38、件开发成功,降低软件开发成本,一旦对目标系功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这统提出一组要求之后,必须严格验证这些需求的正确性。些需求的正确性。3.8 验证软件需求需求分析示例教材购销管理系统学生学生教材购销教材购销管理系统管理系统书书 库库保管员保管员1. 教材购销管理系统的顶层DFD学生学生书书 库库保管员保管员2. 第二层DFD图教材购销系统购书单领书单缺书单进书通知购书单领书单1销 售2采购进书通知F2: 缺书登记表F1: 教材存量表缺书单进书通知需求分析示例教材购销管理系统1.1 审 查有效性1.2 开发票有效 购书单1.3 领书并 开领书单发票1.4
39、 登记缺书1.5 补售教材F2: 缺书登记表学生学生无效书单领书单领书单F3: 各班学生用书表F4: 售书登记表 补售书单 暂缺书单采购3. 第三层DFD图销售子系统F1: 教材存量表进书通知需求分析示例教材购销管理系统2.3 修改教材库存和待购量2.1 按 书 号 汇总缺书F2: 缺书登记表销售子系统书库保管员F1: 教材存量表进书通知3. 第三层DFD图采购子系统2.2 按出版社 统计缺书F5: 待购教材表F6: 教材一览表进书通知教材购销管理系统 系统流程图需求分析示例教材购销管理系统数据字典(Data Directory-DD)领书单 = 学院+专业+班级+学号+姓名+书号+书名+数量
40、+日期有效购书单 = 领书单发票= 学号+姓名+书号+书名+单价+数量+总价+书费合计教材存量表 = 书号+单价+数量暂缺书单 = 学号+姓名+ 书号+数量补售书单 = 学号+姓名+ 书号+数量书 号书 名数 量书 号书 名数 量学院: 专业: 班级: 学号: 姓名:武汉科技大学教材科领书单 20 年 月 日书号书名单价数量金额备注 学号: 姓名: 发 票为为DFDDFD中的中的“审查并开发票审查并开发票”加工点写加工说明加工点写加工说明 学生1 审查并开发票购书单2 开领书单学生发票领书单无效书单各班学生用书表教材存量表把学生学号和姓名写到发票上把学生学号和姓名写到发票上按购书单上学生的年级
41、和系、专业与班号按购书单上学生的年级和系、专业与班号 检索检索“各班学生用书表各班学生用书表”文件,获得该生当年的书单文件,获得该生当年的书单 对对 购书单上的每一书号购书单上的每一书号 如果如果 书单上无此书号书单上无此书号 则则 把书号写到出错通知单上把书号写到出错通知单上 否则否则 按书号检索按书号检索 “ “教材存量表教材存量表”文件,文件, 从而获得该书的单价与库存量从而获得该书的单价与库存量 如果如果 库存量库存量 购书单的数量大于库存量)购书单的数量大于库存量) 则则 将书号写到出错通知单上将书号写到出错通知单上 否则否则 将书号、单价、数量、总价等项写入到发票上;将书号、单价、数量、总价等项写入到发票上; 更新存书量,并写回更新存书量,并写回“教材存量表教材存量表” ” 文件;文件; 累计书费合计累计书费合计 把书费合计写到发票上把书费合计写到发票上对每张购书单对每张购书单3-1 为什么要进行需求分析为什么要进行需求分析?通常对软件系统有哪些通常对软件系统有哪些需求需求?3-2 怎样与用户有效地沟通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欢乐暑假小学生安全第一
- 2022五四青年节学习心得体会10篇
- 非遗文化传承守护非物质文化遗产
- 农村集体土地租赁合同范本
- 创建年度工作计划四篇
- 小学生寒假日记8篇
- 感恩母校的演讲稿集锦15篇
- 学生《零容忍》观后感范本8篇
- 档案安全管理
- 金融销售年度计划
- 期末测试卷(一)2024-2025学年 人教版PEP英语五年级上册(含答案含听力原文无听力音频)
- 2023-2024学年广东省深圳市南山区八年级(上)期末英语试卷
- 2024广西专业技术人员继续教育公需科目参考答案(100分)
- 2024年上海市中考语文备考之150个文言实词刷题表格及答案
- 2024年汉口银行股份有限公司招聘笔试冲刺题(带答案解析)
- 2024年日历表(空白)(一月一张-可编辑做工作日历)
- 广东省中山市2023-2024学年四年级上学期期末数学试卷
- 金属屋面工程质量验收标准
- 唐山三友氯碱有限责任公司聚合釜冷凝器高压水清洗方案
- 弹性金属塑料瓦的认识
- 物业维修管家巡查记录表
评论
0/150
提交评论