第3章 需求分析_第1页
第3章 需求分析_第2页
第3章 需求分析_第3页
第3章 需求分析_第4页
第3章 需求分析_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1实验课安排:实验课安排:时间:第时间:第6,7,9,11周周五晚上周周五晚上710点点地点:信地点:信软软楼楼305,306软件工程基础软件工程基础第三章第三章 需求分析需求分析2苏苏 生生 博士博士副教授副教授61830683(Tel)信息与软件工程学院信息与软件工程学院电子科技大学电子科技大学本章学习目标本章学习目标3掌握常用的需求掌握常用的需求分析建模方法分析建模方法掌握需求分析的掌握需求分析的主要步骤。主要步骤。理解需求分析的理解需求分析的过程。过程。第第三三章章 需求分析需求分析 需求分析概念与过程需求分析概念与过程 功能建模功能建模 流程建模流程建模 数据建模数据建模4需求分析概

2、念需求分析概念 软件需求分析是软件开发的一个重要阶段。它在可行性研软件需求分析是软件开发的一个重要阶段。它在可行性研究阶段之后、设计阶段之前进行,是关系到软件开发成败究阶段之后、设计阶段之前进行,是关系到软件开发成败的关键步骤,也是整个系统开发的基础。的关键步骤,也是整个系统开发的基础。 需求分析的任务需求分析的任务o 采集用户需求采集用户需求o 确定并描述合理的用户需求确定并描述合理的用户需求o 管理用户需求管理用户需求 56需求分析需求分析过程过程采集用采集用户需求户需求确定并确定并描述合描述合理的用理的用户需求户需求管理用管理用户需求户需求用户用户需求需求采集采集文档文档需求需求规格规格

3、说明说明书书需求需求变更变更文档文档过程过程文档文档需求规格说明书需求规格说明书 确定系统的运行环境要求确定系统的运行环境要求o 硬件环境(网络、服务器等)硬件环境(网络、服务器等)o 软件环境(操作系统、数据库等)软件环境(操作系统、数据库等) 系统的功能性需求系统的功能性需求o 系统需要支持的若干功能点系统需要支持的若干功能点 系统的非功能性需求系统的非功能性需求o 响应时间响应时间o 可靠性可靠性o 安全性安全性o 可扩展性可扩展性 系统接口系统接口78需求规格说明书需求规格说明书需求规格说明书需求规格说明书 确定将飞机订票系统中的以下方面做如下的划分,确定将飞机订票系统中的以下方面做如

4、下的划分,F代表代表“功能性功能性”,NF代表代表“非功能性非功能性”,X代表代表“不应当是需不应当是需求求”。简要的说明功能性或非功能性需求的种类。对于不。简要的说明功能性或非功能性需求的种类。对于不应当是需求的方面,说明其原因。应当是需求的方面,说明其原因。o 如何输入有关航班、乘客及订票信息。如何输入有关航班、乘客及订票信息。F:输入输入o 什么信息要出现在机票和报告中。什么信息要出现在机票和报告中。F:输出输出o 如何计算乘机费用。如何计算乘机费用。 F:计算计算o 什么信息必须存储在旅行社和其他人访问的数据库中。什么信息必须存储在旅行社和其他人访问的数据库中。 F:数据数据存储存储9

5、需求规格说明书需求规格说明书 确定将飞机订票系统中的以下方面做如下的划分,确定将飞机订票系统中的以下方面做如下的划分,F代表代表“功能性功能性”,NF代表代表“非功能性非功能性”,X代表代表“不应当是需不应当是需求求”。简要的说明功能性或非功能性需求的种类。对于不。简要的说明功能性或非功能性需求的种类。对于不应当是需求的方面,说明其原因。应当是需求的方面,说明其原因。o 这个系统应该设计成可以处理旅行常客计划。这个系统应该设计成可以处理旅行常客计划。 NF:增强的容限增强的容限o 这个系统在任何时候都必须是可用的。一周中只允许有这个系统在任何时候都必须是可用的。一周中只允许有2分钟宕机分钟宕机

6、时间。时间。NF:有效性有效性o 必须使用排序算法根据离开时间对航班排序。必须使用排序算法根据离开时间对航班排序。 X:这是一个设计这是一个设计问题问题1011需求分析的重要性需求分析的重要性导致软件交付出现问题的原因统计导致软件交付出现问题的原因统计12修正需求错误的代价修正需求错误的代价需求分析的重要性需求分析的重要性第第三三章章 需求分析需求分析 需求分析概念与过程需求分析概念与过程 功能功能建模建模 流程流程建模建模 数据建模数据建模1314功能功能建模建模 功能功能模型描述系统参与者对系统的功能需求模型描述系统参与者对系统的功能需求 功能功能建模的主要方法是建模的主要方法是UMLUM

7、L用例用例图图 建模过程建模过程o 确定系统的参与者(用户角色)确定系统的参与者(用户角色)o 每个参与者要求的功能每个参与者要求的功能o 功能之间的关系功能之间的关系15案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 为防止和(或)识别住宅中各种不希望出现的情况提供保为防止和(或)识别住宅中各种不希望出现的情况提供保护,如非法入侵、火宅、漏水、一氧化碳浓度超标等。该护,如非法入侵、火宅、漏水、一氧化碳浓度超标等。该功能使用无线传感器监控每种情况,户主可以编程控制,功能使用无线传感器监控每种情况,户主可以编程控制,并且在发现情况时自动电话联系监控部门并且在发现情况

8、时自动电话联系监控部门 涉及的对象:一个控制面板、若干烟感器、若干门窗传感涉及的对象:一个控制面板、若干烟感器、若干门窗传感器、若干动态检测器、一个报警器、一个计算机、一个电器、若干动态检测器、一个报警器、一个计算机、一个电话、若干号码等话、若干号码等 涉及的服务:配置系统、设置报警器、监测传感器、电话涉及的服务:配置系统、设置报警器、监测传感器、电话拨号、控制面板编程器等拨号、控制面板编程器等16案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 控制面板是一个安装在墙上的装置,尺寸大概控制面板是一个安装在墙上的装置,尺寸大概9x5英寸;英寸;控制面板与传感器、计算

9、机之间无线连接;通过一个控制面板与传感器、计算机之间无线连接;通过一个12键键的键盘与用户交互,通过一个的键盘与用户交互,通过一个3x3的的LCD彩色显示器为用彩色显示器为用户提供反馈信息;软件将提供交互提示、回显以及类似功户提供反馈信息;软件将提供交互提示、回显以及类似功能能17案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 第一步:第一步:确定系统的参与者确定系统的参与者o 房主(用户)房主(用户)o 配置管理人员配置管理人员18案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 第二步:第二步:每个参与者要求的功能(下面以房主为例)

10、每个参与者要求的功能(下面以房主为例)o 身份识别身份识别o 查询安全区的状态查询安全区的状态o 查询传感器的状态查询传感器的状态o 报警报警o 激活或关闭安全系统激活或关闭安全系统o 通过因特网访问系统通过因特网访问系统19用例图表达用例图表达20UML用用例图例图UML用例图用例图(User Case Diagram)从系统的使用者的角度所理解的系从系统的使用者的角度所理解的系统的总体功能统的总体功能参与者(参与者(User):表示用例的使用者在与这些用例交互时所扮演的角):表示用例的使用者在与这些用例交互时所扮演的角色,可以是人、硬件设备或一个系统,作为外部用户与系统发生交互色,可以是人

11、、硬件设备或一个系统,作为外部用户与系统发生交互用例用例(Case):系统外部:系统外部可见可见的系统功能单元的系统功能单元事物事物名称名称解释解释UML表示表示参与者(Actor)在系统外部与系统直接交互的人或事物(如另一个计算机系统或一些可运行的进程)。我们需要注意的是:1.参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。2.参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。3.在后面的顺序图等中出现的“

12、参与者”,与此概念相同,但具体指代的含义,视具体情况而定。用例(Use Case)系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达 。创建新用例,确认候选用例和划分用例范围的优秀法则-“WAVE”测试用用例图中的事物及解释例图中的事物及解释关系解释图参与者与用例之间的关系关联表示参与者与用例之间的交互,通信途径。(关联有时候也用带箭头的实线来表示,这样的表示能够显示地表明发起用例的是参与者。)用例之间的关系包含箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,如果缺少包含用例,基用例就不完

13、整;包含用例必须被执行,不需要满足某种条件;其执行并不会改变基用例的行为。 include扩展箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。参与者之间的关系泛化发出箭头的事物“is a”箭头指向的事物。泛化关系是一般和特殊关系,发出箭头的一方代表特殊的一方,箭头指向的一方代表一般一方。特殊一方继承了一般方的特性并增加了新的特性。extend用用例图例图中中的关系的关系及及解释解释实例1 参与者之间的泛化关系 参与者:经理,安全主管,保安 用例:管理人事

14、,批准预算,批准安全证书,监视周边 在参与者之间不存在泛化关系的情况下,各个参与者参与 用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。 例子例子实例2 用例之间扩展和包含关系 用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。

15、吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。 例子例子实例3. 航空售票的用例图参与者(actor):clerk,监督员,信用卡服务商,信息亭用例(use case): Buy tickets, Buy Subscription, Make charges, Survey sales参与者Clerk参与(或称发起)Buy tickets和Buy Subscription 两个用例(关联关系)。这两个用例的事件流都包含Make charges用例(包含关系)。系统由:Buy tickets, Buy Subscription, Make charges, Survey sales组成

16、。该系统主要包含:Buy tickets, Buy Subscription, Make charges, Survey sales这几个功能。该系统主要面向的用户(参与者):clerk,监督员,信用卡服务商,信息亭。 信息亭 Clerk Buy tickets Buy Subscription 信用卡服务商 Make charges 监督员 Survey sales 参与者 用例 Box Office 系统 关系 26案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 第第三三步:步:功能之间的关系功能之间的关系第第三三章章 需求分析需求分析 需求分析概念与过程需求

17、分析概念与过程 功能建模功能建模 流程建模流程建模 数据建模数据建模2728案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 通过互联网访问摄像头监视通过互联网访问摄像头监视o 主要参与者:房主主要参与者:房主o 情景目标:从任何远程地点通过互联网查看遍布房间的摄像头输出情景目标:从任何远程地点通过互联网查看遍布房间的摄像头输出o 前提条件:必须完整配置系统;必须获得正确的用户身份证和密码前提条件:必须完整配置系统;必须获得正确的用户身份证和密码o 触发:房主在远离家的时候决定查看房屋内部触发:房主在远离家的时候决定查看房屋内部o 场景:场景: 房主登录房主登录Sa

18、feHome产品网站产品网站 房主输入用户身份信息和密码房主输入用户身份信息和密码 系统显示所有主要功能按钮系统显示所有主要功能按钮 房主从主要功能按钮中选择房主从主要功能按钮中选择“监视监视” 房主选择房主选择“选择摄像头选择摄像头” 系统显示房间平面图系统显示房间平面图 房主从房屋的平面图中选择摄像头图标房主从房屋的平面图中选择摄像头图标 房主选择房主选择“视图视图”按钮按钮 系统显示一个有摄像头号确定的视图窗口并每秒一帧视频输出系统显示一个有摄像头号确定的视图窗口并每秒一帧视频输出29案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品 通过互联网访问摄像头监视通

19、过互联网访问摄像头监视o 异常异常 身份证身份证号或密码不匹配;查看用例号或密码不匹配;查看用例“确认身份证号和密码确认身份证号和密码” 没有为该系统配置监视功能系统显示错误信息;查看没有为该系统配置监视功能系统显示错误信息;查看用例用例“配置监视功能配置监视功能” 房主选择房主选择“查看所有摄像头的缩略视图快照查看所有摄像头的缩略视图快照”;查看用例;查看用例“查看所有摄像头查看所有摄像头的缩略视图快照的缩略视图快照” 平面设计图不可用或未配置显示错误消息;查看用例平面设计图不可用或未配置显示错误消息;查看用例“配置平面设计图配置平面设计图” 遇到报警条件;查看用例遇到报警条件;查看用例“配

20、到报警条件配到报警条件”o 优先级:必须在基础功能只有实现中等优先级优先级:必须在基础功能只有实现中等优先级o 何时可用:第三个增量何时可用:第三个增量o 使用频率:中等使用频率:中等o 使用方式:互联网访问使用方式:互联网访问o 次要参与者:系统管理员,摄像头次要参与者:系统管理员,摄像头30案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品通通过过互互联联网网访访问问摄摄像像头头监监视视功功能能的的活活动动图图31案例:案例:SafeHomeSafeHome住宅安全监控产品住宅安全监控产品通通过过互互联联网网访访问问摄摄像像头头监监视视功功能能的的泳泳道道图图 描

21、述描述系统的动态行为。系统的动态行为。 包含包含活动状态活动状态(ActionState),活动状态是指业务用例的一个执,活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态。行步骤或一个操作,不是普通对象的状态。 活动图活动图适合描述在没有外部事件触发的情况下的系统内部的适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;否则,状态图更容易描述逻辑执行过程;否则,状态图更容易描述。 类似于类似于传统意义上的流程图。传统意义上的流程图。 活动图活动图主要用于主要用于:业务:业务建模时建模时,用于详述业务用例用于详述业务用例,描述一描述一项业务的执行过程项业务的执行过程;设计

22、;设计时时,描述操作的流程。描述操作的流程。UML活动图活动图活动图活动图事物事物活动 (ActionState)动作的执行起点 (InitialState)活动图的开始终点(FinalState) 活动图的终点对象流(ObjectFlowState)活动之间的交换的信息发送信号(signalSending)活动过程中发送事件,触发另一活动流程接收信号(SignalReceipt)活动过程中接收事件,接收到信号的活动流程开始执行泳道(SwimLane)活动的负责者UML活动图活动图活动图活动图关系关系迁移(transition)活动的完成与新活动的开始分支(junction point)根据条

23、件,控制执行方向分叉(fork)以下的活动可并发执行结合(join)以上的并发活动再此结合UML活动图活动图带带泳道的活动图泳道的活动图本本例为一个按活动职责例为一个按活动职责(带泳道带泳道)组织的处理订单用例的活动图组织的处理订单用例的活动图(模型中的活动按职责组织模型中的活动按职责组织)。活动被按职责分配到用线分开的。活动被按职责分配到用线分开的不同区域不同区域(泳道泳道)UML活动图活动图2022-5-31用来用来描述系统描述系统逻辑功能模型逻辑功能模型的一种图形的一种图形工具工具是一种功能模型。是一种功能模型。数据流图数据流图从数据传递和加工的角度,以图形的从数据传递和加工的角度,以图

24、形的方式刻画方式刻画数据流从输入到输出的移动变换过程。数据流从输入到输出的移动变换过程。 DFD数据流图数据流图DFD(Data Flow Diagram)2022-5-312022-5-312022-5-31-系统系统逻辑逻辑模型模型2022-5-312022-5-312022-5-312022-5-312022-5-312022-5-31外部实体外部实体2022-5-31 F1书号书号单价单价数量数量2022-5-312022-5-31 - - DFD 2022-5-31DFD 2022-5-31第第三三章章 需求分析需求分析 需求分析概念与过程需求分析概念与过程 功能建模功能建模 流程建

25、模流程建模 数据建模数据建模532022-5-31数据字典数据字典 - - DD(Data Dictionary) 数据字典的任务是数据字典的任务是: : 对于数据流图中出现的所有被对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。每一个图形元素的名字都有一个确切的解释。DD数据字典数据字典2022-5-312022-5-312022-5-312022-5-312022-5-312022-5-312022-5-312022-5-312022-5-31对象 对象就是一个包含数据以及与这

26、些数据有关的操作的集合。每个实体都是对象。 对象数 据操作代码基于类的数据建模基于类的数据建模2022-5-31类 是一组具有相同数据结构和相同操作的对象集合。类的定义包括一组数据属性和在数据上的一组合法操作。类定义可视为一个具有类似特性与共同行为的对象摸板,可用来产生对象。 可以说,类是对象的抽象,而对象是类的具体实例。 基于类的数据建模基于类的数据建模2022-5-31继承 是在一个已存有的类的基础上建立一个新的类。并将已存在的类称为-基类或父类;新建立的类称为派生类或子类。继承基 类派 生 类基于类的数据建模基于类的数据建模对象继承了类所有属性- 从类到对象的继承costdimensio

27、nweightlocationcolor类: furniturecostdimensionweightlocationcolor对象: chair 对象、类、继承 基于类的数据建模基于类的数据建模2022-5-31 对象 继承类的所有属性和操作costdimensionweightlocationcolor类: furnitureBuySellWeightmovecostdimensionweightlocationcolor对象: TableBuySellWeightmovecostdimensionweightlocationcolor对象: chairBuySellWeightmove2

28、022-5-31- 面向对象类的表示模式 类名: 操作: :属性: :基于类的数据建模基于类的数据建模2022-5-31识别对象1、标识潜在对象 找出通过分析过程中的所有名词或名词短语并合并同义词。除去有动作含义的名词,使它们将被描述为对象的操作。 标识规则如下:(1)、外部实体(2)、事物(3)、位置(7)、聚焦对象(5)、事件(6)、角色(4)、组织机构基于类的数据建模基于类的数据建模2022-5-31潜在对象理由用户传感器控制面板系统(SafeHome System)传感器编号密码电话号码传感器事件警报器角色或外部实体外部实体外部实体事物传感器属性事物事物事件外部实体例如:基于类的数据建模基于类的数据建模2022-5-312、筛选对象 筛选对象规则如下:(1)、具有记忆自身状态的能力(2)、有意义的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论