《《软件工程需求》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程需求》PPT课件.ppt(60页珍藏版)》请在金锄头文库上搜索。
1、第2章 软件需求工程2.1软件需求的基本概念2.2需求工程过程2.3软件需求获取技术2.4需求分析与建模2.5案例分析12.1软件需求的基本概念这一节讨论如下问题这一节讨论如下问题:1) 需求概述 2) 在系统环境下定义软件 3) 软件需求的任务 4) 功能需求与非功能需求 2 软件需求作为软件生命周期的第一个阶段,其重软件需求作为软件生命周期的第一个阶段,其重软件需求作为软件生命周期的第一个阶段,其重软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到要性越来越突出,到要性越来越突出,到要性越来越突出,到2020世纪世纪世纪世纪8080年代中期,逐步形成了年代中期,逐步形成了年代中期
2、,逐步形成了年代中期,逐步形成了软件工程的子领域软件工程的子领域软件工程的子领域软件工程的子领域需求工程。需求工程。需求工程。需求工程。 90 90年代后,需求工程成为软件界研究的重点之一。年代后,需求工程成为软件界研究的重点之一。年代后,需求工程成为软件界研究的重点之一。年代后,需求工程成为软件界研究的重点之一。从从从从19931993年起,每两年举办一次需求工程国际研讨会年起,每两年举办一次需求工程国际研讨会年起,每两年举办一次需求工程国际研讨会年起,每两年举办一次需求工程国际研讨会(ISREISRE),),),),19941994年起,每两年举办一次需求工程国际年起,每两年举办一次需求工
3、程国际年起,每两年举办一次需求工程国际年起,每两年举办一次需求工程国际会议(会议(会议(会议(ICREICRE)。)。)。)。一些关于需求工程的工作小组相继成一些关于需求工程的工作小组相继成一些关于需求工程的工作小组相继成一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。立,使需求工程的研究得到了迅速进展。立,使需求工程的研究得到了迅速进展。立,使需求工程的研究得到了迅速进展。1) 需求概述3 对对系系统统应应该该提提供供的的服服务务和和所所受受到到的的约约束束进进行行理理解、分析、建立文档、检验的过程解、分析、建立文档、检验的过程需求工程需求工程(1).(1).什么是软件需
4、求工程?什么是软件需求工程?(2).(2).软件需求工程的任务是什么?软件需求工程的任务是什么?(3).(3).需求工程过程需求工程过程(4).(4).软件需求分析方法软件需求分析方法4什么是需求工程?什么是需求工程?教学管理系统:教学管理系统:教学管理系统:教学管理系统:描述:开发一个教学管理系统,目的要减少手工描述:开发一个教学管理系统,目的要减少手工描述:开发一个教学管理系统,目的要减少手工描述:开发一个教学管理系统,目的要减少手工操作、减少教学干事往主楼来回的跑、减少学生操作、减少教学干事往主楼来回的跑、减少学生操作、减少教学干事往主楼来回的跑、减少学生操作、减少教学干事往主楼来回的跑
5、、减少学生办任何事情都要到教学办公室。同时,还要方便办任何事情都要到教学办公室。同时,还要方便办任何事情都要到教学办公室。同时,还要方便办任何事情都要到教学办公室。同时,还要方便教师上网登成绩、发通知、同学的注册信息的完教师上网登成绩、发通知、同学的注册信息的完教师上网登成绩、发通知、同学的注册信息的完教师上网登成绩、发通知、同学的注册信息的完整性、有效性。整性、有效性。整性、有效性。整性、有效性。5软件需求的重要性软件需求的重要性 软件需求无疑是当前软件工程中的关键问题,软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件没有需求就没有软件没有需求就没有软件没有需求就没有软件。 美国于
6、美国于1995年开始对全国范围内的年开始对全国范围内的8000个软件项目个软件项目进行跟踪调查。进行跟踪调查。 分析失败的原因发现,分析失败的原因发现,与需求过程相关的原因占了与需求过程相关的原因占了45%,而其中,而其中缺乏最终用户的缺乏最终用户的缺乏最终用户的缺乏最终用户的参与以及不完整的需求又是两参与以及不完整的需求又是两参与以及不完整的需求又是两参与以及不完整的需求又是两大首要原因,大首要原因,大首要原因,大首要原因,各占各占13%和和12%。 未完成未完成完成未实施完成未实施完成完成完成完成6 第二章第二章 软件需求工程软件需求工程 2.1 软件需求的基本概念软件需求的基本概念可行性
7、研究的任务可行性研究的任务 可行性研究实质上是要进行一次大大压缩简化了的可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。的方式进行的系统分析和设计的过程。 可行性研究的目的就是用最小的代价在尽可能短的可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。时间内确定问题是否能够解决。7 第二章第二章 软件需求工程软件需求工程 2.1 软件需求的基本概念软件需求的基本概念可行性的四个主要研究方面:可行性的四个主要研究方面:可行性的四个主要研究方面:可行性的
8、四个主要研究方面: 技术可行性研究:当前技术是否可行技术可行性研究:当前技术是否可行技术可行性研究:当前技术是否可行技术可行性研究:当前技术是否可行 经济可行性研究:系统产生的效益是否超过成本经济可行性研究:系统产生的效益是否超过成本经济可行性研究:系统产生的效益是否超过成本经济可行性研究:系统产生的效益是否超过成本 操作可行性研究:系统在用户中是可操作的吗操作可行性研究:系统在用户中是可操作的吗操作可行性研究:系统在用户中是可操作的吗操作可行性研究:系统在用户中是可操作的吗 法律可行性研究:技术、经济、操作可行性都法律可行性研究:技术、经济、操作可行性都法律可行性研究:技术、经济、操作可行性
9、都法律可行性研究:技术、经济、操作可行性都符符符符 合法律规范合法律规范合法律规范合法律规范可行性研究的任务可行性研究的任务8 第二章第二章 软件需求工程软件需求工程 2.1 软件需求的基本概念软件需求的基本概念 了解用户的要求和现实环境,从技术、经济和操作和法律等了解用户的要求和现实环境,从技术、经济和操作和法律等了解用户的要求和现实环境,从技术、经济和操作和法律等了解用户的要求和现实环境,从技术、经济和操作和法律等方面研究并论证软件系统的可行性。方面研究并论证软件系统的可行性。方面研究并论证软件系统的可行性。方面研究并论证软件系统的可行性。 可行性研究任务可行性研究任务虽然可行性研究阶段已
10、虽然可行性研究阶段已虽然可行性研究阶段已虽然可行性研究阶段已经粗略了解用户的需求,经粗略了解用户的需求,经粗略了解用户的需求,经粗略了解用户的需求,甚至还提出了一些可行甚至还提出了一些可行甚至还提出了一些可行甚至还提出了一些可行的方案,但是这些分析的方案,但是这些分析的方案,但是这些分析的方案,但是这些分析的太多细节被忽略。因的太多细节被忽略。因的太多细节被忽略。因的太多细节被忽略。因此为了彻底的了解用户此为了彻底的了解用户此为了彻底的了解用户此为了彻底的了解用户“ “系统到底要做什么系统到底要做什么系统到底要做什么系统到底要做什么” ”,必须进行系统的,必须进行系统的,必须进行系统的,必须进
11、行系统的“ “需需需需求分析求分析求分析求分析” ”。 可行性研究内容可行性研究内容可行性研究内容可行性研究内容 (1). (1). (1). (1). 经济经济经济经济可行性研究可行性研究可行性研究可行性研究 (2). (2). (2). (2). 技术可行性研究技术可行性研究技术可行性研究技术可行性研究 (3). (3). (3). (3). 操作可行性研究操作可行性研究操作可行性研究操作可行性研究 (4). (4). (4). (4). 法律可行性研究法律可行性研究法律可行性研究法律可行性研究 ( ( ( (5). 5). 5). 5). 其它问题的研究其它问题的研究其它问题的研究其它问
12、题的研究9 第二章第二章 软件需求工程软件需求工程 2.1 软件需求的基本概念软件需求的基本概念软件需求的困难软件需求的困难软件需求是软件工程中最复杂的过程之一:软件需求是软件工程中最复杂的过程之一:(1) 应用领域的广泛性应用领域的广泛性,它的实施无疑与各个应用,它的实施无疑与各个应用行业的特征密切相关。行业的特征密切相关。1.(2) 非功能性需求建模技术的缺乏,非功能性需求建模技术的缺乏,及其与功能及其与功能性需求有着错综复杂的联系,大大增加了需求工性需求有着错综复杂的联系,大大增加了需求工程的复杂性。程的复杂性。2.(3) 沟通上的困难,沟通上的困难,由于系统分析员、需求分析由于系统分析
13、员、需求分析员等各方面人员有不同的着眼点和不同的知识背员等各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。景,给需求工程的实施增加了人为的难度。102). 在系统环境下定义软件系统工程关注系统环境下的各个元素系统元素包括:实事、原理、规则、连接逻辑、计划和方法系统工程是分层次的:全局领域视图商业领域视图金融领域视图教育领域视图xxxx领域视图. 实事元素视图 原则元素视图 规则元素视图 逻辑元素视图.详细视图详细视图详细视图详细视图.11产品工程层次业务过程工程层次在系统工程环境下的软件工程分为:业务过程-使业务能有效地使用信息体系产品过程-根据确定的能力映射的工作
14、产品信息全局视图业务域视图软件视图业务域视图硬件视图. 信息系统视图 信息系统视图 功能视图 数据视图详细视图详细视图详细视图详细视图.完整产品视图. 行为视图系统需求分析软件设计实现12信息全局视图业务域视图业务域视图. 信息系统视图 信息系统视图详细视图详细视图.1.全局视图定义具有独立整体业务领域的目标和信息规程 3.信息系统视图建立特定信息系统的基本需求,并映射到软件体系结构和程序构件 4.详细视图构造内部数据结构及相应的技术实现并集成 2.业务域视图在全局视图中,选定具体业务领域的信息实体、功能和交互形式 业务过程工程层次13例如 教育领域大学管理业务大学教务信息系统学科设置课程设置
15、教师设置学生设置.例如 制造企业领域工厂生产业务仓库管理信息系统成品管理原料管理设备管理仪器管理.例如 政务领域政府业务市政管理信息系统商业网点广告管理煤气管网污水管网.业务过程工程层次举例14软件视图硬件视图 功能视图 数据视图详细视图详细视图.完整产品视图. 行为视图产品过程工程层次说明1.完整产品视图信息和控制需求产品功能和行为产品性能设计接口约束2.分配整体产品需求到硬件工程、软件工程、人力工程和数据工程3.对指定的软件,进行行为、功能和数据的建模分析4.对确定的部分,进行体系结构设计、接口设计和构件设计15产品过程工程层次举例例如控制功能产品-CLSS条码阅读器流速脉冲器分流器PC机
16、软件软件数据建模软件行为建模软件功能建模输入功能构件输出功能构件控制功能构件操作界面构件例如监测功能产品-海下声纳监测脉冲发生器PC机软件数据建模软件行为建模软件功能建模采集声波功能构件控制脉冲输出构件延时计算功能构件操作界面构件声波采集器软件16系统分析方法-系统建模系统模型模板 用户界面处理输入处理 处理和控制功能输出处理 维护和测试17系统模型例子-CLSS系统 传送带分类系统请求询问分流命令 格式化报告数据 带速指示器 诊断数据条形码分类站 操作条形码 阅读传送带分类站 中央 主机分类站 操作系统语境图:system context Diagram(SCD)18系统模型例子-CLSS系
17、统精化 数据库存取子系统分流命令 脉冲触点输入条形码分类站 操作条形码 阅读子系统 传感器 数据获得 子系统 分流控制站 中央 通信 驱动诊断子系统分流控制子系统报告格式化子系统条形码解码子系统 通信状态 条码阅读器状态 传感器状态分流状态分流控制状态格式化报告数据条形码数据带速操作请求询问报告,显示部件号分类报告报告请求箱位置CLSS报告分类记录keyBCD状态条形码获得请求系统流图 (System Flow Diagram)19顶层系统流图SFD的结构表示当系统流图用一张图表示不下的时候,采用结构SFD方式BAA的系统流图CB的系统流图C的系统流图20功能需求与非功能需求功能需求是对系统应
18、提供的服务、功能以及系统在特功能需求是对系统应提供的服务、功能以及系统在特定条件下的行为描述。定条件下的行为描述。 例如:图书管理系统,要求以下功能:例如:图书管理系统,要求以下功能: (1) (1) 数据维护数据维护,录入、修改、更新等,录入、修改、更新等 (2) (2) 基本业务功能基本业务功能,读者借、还书籍,预留操作、,读者借、还书籍,预留操作、书籍编目、入库,更新等。书籍编目、入库,更新等。 (3) (3) 数据库管理数据库管理:对书籍借、还及读者信息进行:对书籍借、还及读者信息进行统一管理统一管理 (4) (4) 信息查询信息查询:实现专用、通用、条件等各种信:实现专用、通用、条件
19、等各种信息查询功能。息查询功能。21非功能需求指不之接与系统功能相关的一类需求.主要反映对系统的约束,与系统的总体特性有关。如可靠性、反应时间、存储空间等非功能需求产品需求机构需求外部需求交互需求实现需求标准需求互操作需求道得需求法规需求可靠性需求可用性需求效率需求存储需求可移植性需求安全性需求非功能需求类型22需求分析是一种软件工程活动,该活动定义功能、数据和行为的规约、和其他系统的接口约束。2.2 需求工程过程需求工程的基本活动需求获取需求分析与建模需求规格说明需求有效性验证初步需求说明系统分析模型需求规格说明书确认需求文档需求工程过程23 2.3 软件需求获取技术常用需求获取技术面谈法:
20、面谈前要拟定提纲、谈后认真分析、掌握人际交流的技能。问卷调查法:多项选择问题、分段评分、对回答问题排序。会议讨论:会上确定双方确认原型法:对交流有问题或核心问题作原型面向用例的方法:对一组动作序列的描述24确定需求开发过程确定需求开发过程编写项目目标和范围文档编写项目目标和范围文档将用户群分类并归纳各自特点将用户群分类并归纳各自特点选择各类用户的产品代表选择各类用户的产品代表建立起典型用户的核心队伍建立起典型用户的核心队伍让用户代表确定使用实例让用户代表确定使用实例召开应用程序开发联系会议召开应用程序开发联系会议分析用户工作流程分析用户工作流程确定质量属性和其它非功能属性确定质量属性和其它非功
21、能属性通过检查当前系统的问题报告来进一步完善需求通过检查当前系统的问题报告来进一步完善需求跨项目重用需求跨项目重用需求需求获取的过程举例需求获取的过程举例25某出版社系统调查表编号提出问题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率工作中手工处理什么问题解决不了?影响效率的问题有哪些?的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工您认为提高工作效率,节省工作时间,减
22、轻工作强度可采取哪些办法?作强度可采取哪些办法?需求获取需求获取调查调查举例:举例:某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决哪些问题是目前传统手工方法根本无法解决的?的?11出版社计算机管理信息系统需要解决什么问出版社计算机管理信息系统需要解决什么问题?题?软件需求是系统工程与软件设计之间的桥接软件需求分析的原则1)问题信息域必须被表示和理解2)软件完成
23、的的功能必须被定义3)软件的行为必须被表示 (行为是事件作用后的结果)4)信息、功能和行为必须分开建模5)分析过程应该从粗略到详细需求分析:需求分析解决项目做什么,界定项目范围.不关心如何做2.4 需求分析与建模常用的分析方法论有功能分析法结构化分析法(SA)信息建模法面向对象分析法(OOA)主要介绍SA和OOA28需求分析规约(P214)软件需求规格说明:软件需求分析任务的提交产品需求规格说明需求规格说明: (参考样例)1.引言 1.1编写目的 1.2项目背景 1.3定义 1.4参考资料2.任务概述 2.1目标 2.2运行环境 2.3条件与限制3.数据描述 3.1数据字典(或数据库描述) 3
24、.2数据采集4.功能需求 4.1功能划分 4.2功能描述5.性能描述 5.1数据精确度 5.2时间特性 5.3适应性6.运行需求 6.1用户界面 6.2硬件接口 6.3软件接口 6.4故障处理7.其它需求29方法示意图包括三大部分:1)数据建模2)功能建模3)行为建模结构化分析方法数据字典实体-关系图数据流图功能层次图状态变迁图数据对象描述加工规约控制规约需求建模SA方法的基本思想分解分解分解分解抽象抽象抽象抽象30SA需求分析的步骤需求分析的步骤当前当前系统系统目标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理模型模型模型化模型化抽象化抽象化改进改进建立建立怎怎么么做做
25、做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义数据建模使用工具: 实体 关系图实体数据 对象A实体数据 对象B关系 表示:一对多 表示:一对一 表示:一个或没有对象属性1对象属性2对象属性3.对象属性n对象属性1对象属性2对象属性3.对象属性n32数据流图(DFD)作用: 描述逻辑模型的图形工具,描述逻辑模型的图形工具, 表示数据在系统内的流动和表示数据在系统内的流动和处理处理( (功能细节)情况的表示功能细节)情况的表示图。图。 DFDDFD既提供了功能建模的机既提供了功能建模的机制,也提供了信息流建模机制,也提供了信息流建模机制。制。 功能建模功能建模功能建模和信息流功能建模
26、和信息流 使用工具使用工具:数据流图数据流图 ( Data Flow Diagram, DFD)数据字典数据字典 ( Data Dictionary, DD )判定树判定树 /判定表判定表结构化语言结构化语言三个重要属性三个重要属性: :F流向流向( (从加工出发或流从加工出发或流向加工向加工) )F数据组成数据组成F数据流名字数据流名字DFDDFD图各成分的作用和命名图各成分的作用和命名DFDDFD图是软件工程师可以同时开发信息域和功能域的模型图是软件工程师可以同时开发信息域和功能域的模型, ,因此因此正确使用正确使用DFDDFD中的各元素是保证系统设计的根本中的各元素是保证系统设计的根本创
27、建创建DFDDFD图指南图指南: :第第0 0层的层的DFDDFD图应将软件图应将软件/ /系统描述为一个整体处理项,在图的边系统描述为一个整体处理项,在图的边上画出外部实体。上画出外部实体。应仔细的在第应仔细的在第0 0层标记外部实体对系统的输入和输出数据流层标记外部实体对系统的输入和输出数据流通过隔离要表示在下一层的候选加工通过隔离要表示在下一层的候选加工, ,数据对象和存储而开始精数据对象和存储而开始精划过程,精划过程按分层给加工编号,保正父图与子图加工编划过程,精划过程按分层给加工编号,保正父图与子图加工编号的对应关系。号的对应关系。所有的箭头和处理使用有意义的名称标记所有的箭头和处理
28、使用有意义的名称标记当从一个级到下一级时要维护当从一个级到下一级时要维护“信息流的连续性信息流的连续性”,即一个子,即一个子图必需对应父图的一个加工,两者的输入和输出数据流必需一图必需对应父图的一个加工,两者的输入和输出数据流必需一致,实现父图与子图的平衡。致,实现父图与子图的平衡。一次精化一个处理一次精化一个处理, ,存在一种使存在一种使DFDDFD过份复杂的自然趋势。过份复杂的自然趋势。DFD命名方法和注意事项命名方法和注意事项用名词或名词词组用名词或名词词组 不要使用意义空洞的名词不要使用意义空洞的名词尽量使用现实系统已有名字尽量使用现实系统已有名字, ,当命名出现困难,考虑是当命名出现
29、困难,考虑是否数据流划分不恰当。否数据流划分不恰当。不要把控制流作为数据流不要把控制流作为数据流顶层的加工名就是软件项目的名字顶层的加工名就是软件项目的名字分层数据流图中,数据存储一般局限在某一层或某几分层数据流图中,数据存储一般局限在某一层或某几层层命名方法与数据流相似命名方法与数据流相似 DFD画图注意事项的说明 1) 模型一致性规则: (模型描述语法正确) * 数据流: 加工 加工 数据流 数据流 源 加工 潭 * 流入、流出存储文件的数据流可无名称;加工名、文件名表达要清楚、规范。 2)数据流与加工的关系:)数据流与加工的关系: * 数据流(一个或多个)数据流(一个或多个) 加工加工
30、* 加工(一个或多个)加工(一个或多个) 数据流数据流DFDDFDDFDDFD的层次分解的层次分解的层次分解的层次分解 DFDDFD可以用来表示一个系统或软件在任何层次上的抽象。可以用来表示一个系统或软件在任何层次上的抽象。 较大型软较大型软件系统件系统DFDDFD图可以分成多个层图可以分成多个层( (父图、子图概念父图、子图概念),),可以表示数据流和功可以表示数据流和功能的进一步的细节。能的进一步的细节。在分层使用在分层使用DFDDFD图描述中,重要的一点父图与子图的平衡,即子图必图描述中,重要的一点父图与子图的平衡,即子图必需是父图中的一项处理加工项,编号应有顺序需是父图中的一项处理加工
31、项,编号应有顺序 层次结构的上一层是下一层的抽象,下一层是上一层的求精层次结构的上一层是下一层的抽象,下一层是上一层的求精(1) (1) 先画出顶层先画出顶层DFDDFD。(2)(2)自顶向下画出各层自顶向下画出各层DFDDFD 分解原则:分解原则: 分解后的软件成分有相对独立功能分解后的软件成分有相对独立功能 一次分解不要加入细节过多一次分解不要加入细节过多 由外向里画由外向里画DFDDFD怎怎样样画画DFDDFD使用工具1: 数据流模型图(data flow diagram DFD)外部实体外部实体外部实体外部实体变换1变换3变换2变换4数据存储输入数据中间数据中间数据中间数据输入数据输出
32、数据输出数据输入输出例子:P237变换加工说明:输入:输出:加工:38S S2 21 13 32.32.33.13.13.23.2 顶层顶层顶层顶层0 0 0 0层层层层1 1 1 1层层层层( ( ( (基本系统模型基本系统模型基本系统模型基本系统模型) ) ) )( ( ( (系统的子功能系统的子功能系统的子功能系统的子功能) ) ) )DFDDFDDFDDFD的层次分解图示的层次分解图示的层次分解图示的层次分解图示2.22.22.12.1A1 14 4父图和子图的平衡示图父图和子图的平衡示图2 23 3BFEGCDC3.13.1ED3.33.33.23.2父图父图子图子图o按功能情况定,
33、一般设深度为按功能情况定,一般设深度为3-53-5层层o如超过如超过5 5层最好画分解图,否则不容易对层最好画分解图,否则不容易对系统进行分析,使设计方案出现错误系统进行分析,使设计方案出现错误分解的深度与层次分解的深度与层次数据流模型图可以添加控制流 CFD(P230)变换3变换2变换4数据存储状态信号命令命令输出数据记录数据存储条件信号信号某设备执行动作41功能建模 总功能 一层功能1 一层功能2 一层功能3 二层功能1 二层功能2 三层功能1三层功能2三层功能3三层功能2三层功能1水平分解垂直分解使用工具2: 功能层次图42行为建模使用工具: 状态变迁图(state transition
34、 diagram STD) 系统状态2 事件行为 系统状态1 事件行为 系统状态3 事件行为例子:P23343名称: 别名: 何处使用/如何使用: 内容描述: 补充信息: 数据字典作用: 用以表示数据项和控制项的特性例子:P241数据字典内容和形式:44结构化分析建模步骤对问题陈述做语法分析:1)区分所有动词和名词2)动词作为“变换处理”3)名词作为外部实体、控制对象和数据存储4)画 DFD5)对“变换”做进一步的陈述精化6)重复做 1)到4)步7)适当加入控制线,画 CFD8)用状态变迁图协助分析控制事件,以及系统状态,画 STD9)可以写必要的规约变换加工小说明10)对所有系统的加工数据、
35、产生数据,以及控制事件和转换状态定义数据字典,既明确做出解释。分析问题陈述,划分问题为较小的部分,可采用功能层次图,再采用语境图描述总功能45例:家庭安全系统产品描述 家庭安全系统的市场正以每年40%的比率增长,希望进入该市场,试图建造基于微处理器的家庭安全系统。 该系统将保护和/或识别一系列不希望的“情况”发生,如:非法入室、火灾、水灾或其它。 该产品暂时称为SafeHome,将使用合适的传感器来监测每种情况,可由房主编程,并且当情况被监测到时,自动地给监控机构拨打电话。2.5案例分析46例:家庭安全系统问题陈述 SafeHome软件使得房主能够在安装时配置安全系统、监控所有和安全系统连接的
36、传感器以及通过包含在SafeHome控制面板中的键盘和功能与房主交互。 在安装过程中,SafeHome控制面板被用于编程和配置系统,每个传感器被赋予一个编号和类型,主人密码被编程以启动和关闭系统,而且当传感器事件发生时,输入电话号码自动拨号, 当传感器事件被识别时,软件激活附属于系统上可发声的警报,在一定的时间延时后,软件拨打监控系统服务的电话号码并提供位置信息,报告被监测到的事件性质,电话号码将每隔20秒重拨一次,直至电话接通。 所有和SafeHome的交互,由用户交互子系统管理,该子系统读入通过键盘和功能建提供的输入,在LCD显示屏上显示提示消息和系统状态。键盘交互采用下面的形式:47例2
37、:家庭安全系统控制面板(P206) SAFEHOME01报警检查火情离开驻留紧急旁路准备未就绪装备 电源 关闭 离开 驻留 最大 测试 旁路 立即 编码 警声 准备就绪 123456789*0#惊慌 48SafeHome的语境图从问题陈述,分析SafeHome系统的语境控制面板 传感器SafeHome系统控制面板 显示 警告电话线用户命令 和数据传感器 状态显示信息警告类型电话号49从问题陈述中列出所有的动词,用以分析数据处理所有的动词:使得配置监控连接用于编程配置系统赋予启动关闭系统输入拨号识别激活提供重拨一次管理读入进一步分析动词句子,用以发现“变换加工”:1.用户 配置 系统2.系统 监
38、控 所有连接的传感器3.用户 使用 控制面板4.控制面板 编程 配置系统5.传感器 赋予 编号和类型6.密码被编程用以 启动或关闭 系统7.软件 激活 警报器8.软件 拨打 电话9.电话内容 提供 发生情况的位置10.系统 管理 用户交互子系统 11.用户交互子系统 读入 键盘功能12.用户交互子系统 显示 提示信息和系统状态在LCD上合并相同概念的处理,或者是一个加工手段。如:1、3、4是相同概念的处理,5是9的手段,并构成8的具体操作,同样,11和12也是10的具体操作。最终得到第一层的DFD50SafeHome 第一层DFD控制面板传感器处理用户输入控制面板 显示 警告电话线用户命令 和
39、数据传感器 状态显示信息警告类型电话号信号配置系统监控传感器处理口令激活或失效系统显示信息和状态传感器信息配置信息正确的ID信息配置数据配置数据配置请求启动停止口令激活/失效信息51 监控传感器的精化DFD评定输出配置信息显示格式化产生警告信号读传感器拨打电话传感器状态传感器ID类型,位置传感器信息警告类型警告数据电话号配置数据电话号信号传感器ID类型,位置52SafeHome 第一层CFD控制面板传感器处理用户输入控制面板 显示 警告电话线配置系统监控传感器处理口令激活或失效系统显示信息和状态配置信息闪烁标志启动/停止开关传感器事件警告信号警告状态超时53状态变迁图 读用户输入状态启动/停止
40、开关引发监控系统 监控 系统状态 传感器事件 动作状态 显示用户反馈状态传感器事件引发监控系统传感器事件引发显示信息和状态传感器事件引发监控系统传感器事件引发显示信息和状态闪烁标志引发显示信息和状态显示动作状态引发用户交互超时引发用户交互红线表示,漏掉的系统正常返回54实例实例2:配送中心管理信息系统的顶层配送中心管理信息系统的顶层DFD问题陈述问题陈述:配送中心管理信息系统的功能是从供货商处获得货物清单,配送中心由采购部配送中心管理信息系统的功能是从供货商处获得货物清单,配送中心由采购部给供货商定单,供货商按定单制成送货单表,将货物送到配送中心的库房,给供货商定单,供货商按定单制成送货单表,
41、将货物送到配送中心的库房,库房按入库单入库,进行库存管理。库房按入库单入库,进行库存管理。配送中心通过财务部门按采购部给的定单,商品价目表,库房给的入库单,供配送中心通过财务部门按采购部给的定单,商品价目表,库房给的入库单,供货商的发票给供货商付款。财务要监管库房出库情况货商的发票给供货商付款。财务要监管库房出库情况.库房给出缺货单表给采购部门和配送部门,销售部门给出门店的销售信息,采库房给出缺货单表给采购部门和配送部门,销售部门给出门店的销售信息,采购部门按供货商给的商品价目表,库房给出缺货单表,制定单给供货商购部门按供货商给的商品价目表,库房给出缺货单表,制定单给供货商.配送管理部门按库房
42、的商品编码表建立的定货单信息配送管理部门按库房的商品编码表建立的定货单信息,按定单填出库单到库房出按定单填出库单到库房出货货,由配送管理部门编制由配送管理部门编制”路单路单”,分别给门店送货分别给门店送货.其中:其中:(1).库房管理要完成货物的入库库房管理要完成货物的入库,出库出库,在库管理在库管理.入库要进行入库单的检入库要进行入库单的检查查,入库单的保存入库单的保存,分配入库货物的货位号分配入库货物的货位号,修改在库的库存商品信息修改在库的库存商品信息.(2).对于配送管理对于配送管理,要按定货单表要按定货单表,出货单表制定送货计划出货单表制定送货计划,按门店位置制定配送按门店位置制定配
43、送路线路线,制作配送路单表。送货人员要给回路单执行情况实现路单执行情况的制作配送路单表。送货人员要给回路单执行情况实现路单执行情况的跟踪。跟踪。(3)其他部分暂时不考滤。)其他部分暂时不考滤。按问题陈述设计对应多层按问题陈述设计对应多层DFD图图.55送货单送货单配送中心配送中心管理信息管理信息系系 统统实例实例2:配送中心管理信息系统的顶层配送中心管理信息系统的顶层DFD供应商供应商路单路单门店销售信息门店销售信息连锁连锁门店门店订单订单发票发票订货单订货单货物清单货物清单库存管库存管 理理财务管财务管 理理1 1配送中心管理信息系统的零层配送中心管理信息系统的零层DFD订货单表订货单表供供
44、应应商商D1D1发票发票送货单送货单出库单、入库单出库单、入库单订货单表订货单表D3D3门店门店商品编码商品编码商品编码商品编码2 2商品价商品价 格表格表D4D4订单表订单表D5D5采购管采购管 理理4 4销售管销售管 理理5 5配送管配送管 理理3 3路单路单门店销售门店销售信息信息缺货单表缺货单表D2D2订单订单商品价商品价格记录格记录订单订单正确正确销售预测销售预测信息信息缺货单缺货单缺货单缺货单货货物物清清单单定货单定货单入库入库1.11.1库存管理子系统的库存管理子系统的DFD(第一层)第一层)订货单表订货单表供供应应商商D1D1送货单送货单出货单表出货单表D3D3门门店店出库单出
45、库单库存表库存表D2D2在库在库1.21.2出库出库1.31.3入库单号入库单号库存记录库存记录缺货单表缺货单表D2D2制作路单制作路单3.23.2配送管理子系统的配送管理子系统的DFD(第一层)第一层)订货单表订货单表D1D1路单记录路单记录门店信息表门店信息表D2D2门门店店路单表路单表D3D3路单执行路单执行情况跟踪情况跟踪3.43.4确定配送确定配送 路线路线3.33.3配送计划配送计划门店信息门店信息出货单表出货单表D4D4制定配送制定配送 计划计划3.13.1门店信息门店信息路单路单配送计划配送计划路单路单分配货分配货 位号位号1.1.21.1.2入库子系统的入库子系统的DFD(第二层)第二层)货位文件货位文件DS2DS2订单文件订单文件DS1DS1入库单入库单库存商库存商品文件品文件DS4DS4修改库存商修改库存商品信息品信息1.1.41.1.4记录入记录入 库单库单1.1.31.1.3货位信息货位信息合格商合格商品品检验送检验送 货单货单1.1.11.1.1入库单文件入库单文件DS3DS3货位号货位号货位号货位号新库存新库存信信 息息旧库存信息旧库存信息合格合格商品商品送送货货单单