版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1实验课安排:时间:第6,7,9,11周周五晚上7~10点地点:信软楼305,306软件工程基础第三章需求分析2苏生博士·副教授61830683(Tel)susheng@信息与软件工程学院电子科技大学本章学习目标3123掌握常用的需求分析建模方法掌握需求分析的主要步骤。理解需求分析的过程。第三章需求分析需求分析概念与过程功能建模流程建模数据建模4需求分析概念软件需求分析是软件开发的一个重要阶段。它在可行性研究阶段之后、设计阶段之前进行,是关系到软件开发成败的关键步骤,也是整个系统开发的基础。需求分析的任务采集用户需求确定并描述合理的用户需求管理用户需求56需求分析过程采集用户需求确定并描述合理的用户需求管理用户需求用户需求采集文档需求规格说明书需求变更文档过程文档需求规格说明书确定系统的运行环境要求硬件环境(网络、服务器等)软件环境(操作系统、数据库等)系统的功能性需求系统需要支持的若干功能点系统的非功能性需求响应时间可靠性安全性可扩展性系统接口78需求规格说明书需求规格说明书确定将飞机订票系统中的以下方面做如下的划分,F代表“功能性”,NF代表“非功能性”,X代表“不应当是需求”。简要的说明功能性或非功能性需求的种类。对于不应当是需求的方面,说明其原因。如何输入有关航班、乘客及订票信息。F:输入什么信息要出现在机票和报告中。F:输出如何计算乘机费用。F:计算什么信息必须存储在旅行社和其他人访问的数据库中。F:数据存储9需求规格说明书确定将飞机订票系统中的以下方面做如下的划分,F代表“功能性”,NF代表“非功能性”,X代表“不应当是需求”。简要的说明功能性或非功能性需求的种类。对于不应当是需求的方面,说明其原因。这个系统应该设计成可以处理旅行常客计划。
NF:增强的容限这个系统在任何时候都必须是可用的。一周中只允许有2分钟宕机时间。NF:有效性必须使用排序算法根据离开时间对航班排序。
X:这是一个设计问题1011需求分析的重要性导致软件交付出现问题的原因统计12修正需求错误的代价需求分析的重要性第三章需求分析需求分析概念与过程功能建模流程建模数据建模1314功能建模功能模型描述系统参与者对系统的功能需求功能建模的主要方法是UML用例图建模过程确定系统的参与者(用户角色)每个参与者要求的功能功能之间的关系15案例:SafeHome住宅安全监控产品为防止和(或)识别住宅中各种不希望出现的情况提供保护,如非法入侵、火宅、漏水、一氧化碳浓度超标等。该功能使用无线传感器监控每种情况,户主可以编程控制,并且在发现情况时自动电话联系监控部门涉及的对象:一个控制面板、若干烟感器、若干门窗传感器、若干动态检测器、一个报警器、一个计算机、一个电话、若干号码等涉及的服务:配置系统、设置报警器、监测传感器、电话拨号、控制面板编程器等16案例:SafeHome住宅安全监控产品控制面板是一个安装在墙上的装置,尺寸大概9x5英寸;控制面板与传感器、计算机之间无线连接;通过一个12键的键盘与用户交互,通过一个3x3的LCD彩色显示器为用户提供反馈信息;软件将提供交互提示、回显以及类似功能17案例:SafeHome住宅安全监控产品第一步:确定系统的参与者房主(用户)配置管理人员18案例:SafeHome住宅安全监控产品第二步:每个参与者要求的功能(下面以房主为例)身份识别查询安全区的状态查询传感器的状态报警激活或关闭安全系统通过因特网访问系统19用例图表达20UML用例图UML用例图(UserCaseDiagram)从系统的使用者的角度所理解的系统的总体功能参与者(User):表示用例的使用者在与这些用例交互时所扮演的角色,可以是人、硬件设备或一个系统,作为外部用户与系统发生交互用例(Case):系统外部可见的系统功能单元事物名称解释UML表示参与者(Actor)在系统外部与系统直接交互的人或事物(如另一个计算机系统或一些可运行的进程)。我们需要注意的是:1.参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。2.参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。3.在后面的顺序图等中出现的“参与者”,与此概念相同,但具体指代的含义,视具体情况而定。用例(UseCase)系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。创建新用例,确认候选用例和划分用例范围的优秀法则----“WAVE”测试用例图中的事物及解释UML用例图关系解释图参与者与用例之间的关系关联表示参与者与用例之间的交互,通信途径。(关联有时候也用带箭头的实线来表示,这样的表示能够显示地表明发起用例的是参与者。)用例之间的关系包含箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,如果缺少包含用例,基用例就不完整;包含用例必须被执行,不需要满足某种条件;其执行并不会改变基用例的行为。
《include》扩展箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。参与者之间的关系泛化发出箭头的事物“isa”箭头指向的事物。泛化关系是一般和特殊关系,发出箭头的一方代表特殊的一方,箭头指向的一方代表一般一方。特殊一方继承了一般方的特性并增加了新的特性。《extend》UML用例图用例图中的关系及解释实例1参与者之间的泛化关系
参与者:经理,安全主管,保安
用例:管理人事,批准预算,批准安全证书,监视周边在参与者之间不存在泛化关系的情况下,各个参与者参与用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。例子UML用例图实例2用例之间扩展和包含关系
用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。例子UML用例图实例3.航空售票的用例图参与者(actor):clerk,监督员,信用卡服务商,信息亭用例(usecase):Buytickets,BuySubscription,Makecharges,Surveysales参与者Clerk参与(或称发起)Buytickets和BuySubscription两个用例(关联关系)。这两个用例的事件流都包含Makecharges用例(包含关系)。系统由:Buytickets,BuySubscription,Makecharges,Surveysales组成。该系统主要包含:Buytickets,BuySubscription,Makecharges,Surveysales这几个功能。该系统主要面向的用户(参与者):clerk,监督员,信用卡服务商,信息亭。UML用例图26案例:SafeHome住宅安全监控产品第三步:功能之间的关系?第三章需求分析需求分析概念与过程功能建模流程建模数据建模2728案例:SafeHome住宅安全监控产品通过互联网访问摄像头监视主要参与者:房主情景目标:从任何远程地点通过互联网查看遍布房间的摄像头输出前提条件:必须完整配置系统;必须获得正确的用户身份证和密码触发:房主在远离家的时候决定查看房屋内部场景:房主登录SafeHome产品网站房主输入用户身份信息和密码系统显示所有主要功能按钮房主从主要功能按钮中选择“监视”房主选择“选择摄像头”系统显示房间平面图房主从房屋的平面图中选择摄像头图标房主选择“视图”按钮系统显示一个有摄像头号确定的视图窗口并每秒一帧视频输出29案例:SafeHome住宅安全监控产品通过互联网访问摄像头监视异常身份证号或密码不匹配;查看用例“确认身份证号和密码”没有为该系统配置监视功能-系统显示错误信息;查看用例“配置监视功能”房主选择“查看所有摄像头的缩略视图快照”;查看用例“查看所有摄像头的缩略视图快照”平面设计图不可用或未配置-显示错误消息;查看用例“配置平面设计图”遇到报警条件;查看用例“配到报警条件”优先级:必须在基础功能只有实现中等优先级何时可用:第三个增量使用频率:中等使用方式:互联网访问次要参与者:系统管理员,摄像头30案例:SafeHome住宅安全监控产品通过互联网访问摄像头监视功能的活动图31案例:SafeHome住宅安全监控产品通过互联网访问摄像头监视功能的泳道图描述系统的动态行为。包含活动状态(ActionState),活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态。活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;否则,状态图更容易描述。类似于传统意义上的流程图。活动图主要用于:业务建模时,用于详述业务用例,描述一项业务的执行过程;设计时,描述操作的流程。UML活动图活动图事物活动(ActionState)动作的执行起点(InitialState)活动图的开始终点(FinalState)活动图的终点对象流(ObjectFlowState)活动之间的交换的信息发送信号(signalSending)活动过程中发送事件,触发另一活动流程接收信号(SignalReceipt)活动过程中接收事件,接收到信号的活动流程开始执行泳道(SwimLane)活动的负责者UML活动图活动图关系迁移(transition)活动的完成与新活动的开始分支(junctionpoint)根据条件,控制执行方向分叉(fork)以下的活动可并发执行结合(join)以上的并发活动再此结合UML活动图带泳道的活动图本例为一个按活动职责(带泳道)组织的处理订单用例的活动图(模型中的活动按职责组织)。活动被按职责分配到用线分开的不同区域(泳道)UML活动图2023/12/21用来描述系统逻辑功能模型的一种图形工具-是一种功能模型。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。DFD数据流图DFD(DataFlowDiagram)2023/12/21储户检验付款登录存折帐卡取款信息办理取款手续的DFD图检验不合格现款付款信息取款单存折2023/12/211、数据流图中的主要图形元素------转换数据流的处理过程
----
可以是数据库文件或任何形式的数据组织。箭头向内则表示写入文件或查询文件,箭头向外则表示从文件中读取数据或得到查询结果数据转换外部实体------位于软件系统边界之外的信息生产者或消费者数据流------在转换之间有向流动的数据项或数据集合数据存储文件2023/12/21----
系统逻辑模型数据的加工或变换输入输出软件系统外部实体外部实体……外部实体外部实体……输入数据流输入数据流输出数据流输出数据流2023/12/21----学生购买教材的逻辑模型
审查并开发票学生发票购书单各班学生用书表教材存量表无效书单开领书单领书单学生外部实体数据的加工2023/12/212、数据流图中的其它图形元素ABC------有A则B或者C,或者两者都有*ABC+ABC------有A则B与C,或者两者同时有------有A则B或C,但不会同时有B与C2023/12/21-----标识多个数据流与加工之间关系的符号------当A或B有一个存在就有CABC*ABC------只有当A与B都存在,则有C2023/12/213、分层的数据流图F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n
层第n+1
层第n+2
层2023/12/21人工销售教材系统流程图学生开购书证明购书证明开购书发票发票收书费领书单发书学生举例2023/12/21学生教材购销系统购书单领书单缺书单进书通知进书通知保管员1销售购书单领书单学生缺书单进书通知2采购保管员第1
层第2
层教材存量表F1缺书登记表F2外部实体外部实体2023/12/21教材销售子系统无效书单购书单1.3登记并开领书单1.2开发票1.1审查有效性1.4登记缺书1.5补售教材采购学生学生进书通知有效书单发票领书单暂缺书单1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员第2
层补售书单第3层教材存量表F1缺书登记表F2
F1书号单价数量各班用书表F3售书登记表F4外部项2023/12/211销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员采购子系统
第2层第3
层缺书单2.3修改教材库存和待购量销售进书通知进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F22023/12/21.便于实现.便于使用---采用逐步细化的扩展方法,可避免一次引入过多的细节,有利于控制问题的复杂度;
---用一组图代替一张总图,方便用户及
软件开发人员阅读。4、分层DFD图的优点2023/12/21.注意父图和子图的平衡5、画分层DFD的指导原则发票1.3开领书单领书单(a)父图1.3.1学生领书单1.3.21.3.3教材(a)子图.区分局部文件和局部外部项.掌握分解的速度一般来说,每一个加工每次可分为2-4个子加工,最多不得超过7个。.遵守加工编号规则顶层加工不编号。第二层的加工编号为1,2,3,…,n号。第三层编号为1.1,1.2,1.3…n.1,n.2…等号,依此类推。2023/12/211销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员采购子系统
第2层第3
层缺书单2.3修改教材库存和待购量销售进书通知进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F2局部外部项局部文件第三章需求分析需求分析概念与过程功能建模流程建模数据建模532023/12/21数据字典
----DD(DataDictionary)数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。DD数据字典2023/12/211、数据字典的定义数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。(1)数据流条目的描述
数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并开发票发票购书单
2023/12/21(2)数据存储条目的描述
数据文件名:简述:存放的是什么数据。输入数据:输出数据:数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:
…
…审查并开发票学生发票购书单各班学生用书表教材存量表2023/12/21数据项名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构(3)
数据项条目的描述
年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金额=“00000000.01”..“999999999.99”……2023/12/21加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:取值范围:相关的数据元素及数据结构
…
…(4)
加工逻辑条目的描述
1.3审查并开发票学生发票购书单各班学生用书表教材存量表2023/12/21名称:外部实体名简要描述:什么外部实体有关数据流:数目:(5)外部实体条目描述
1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员2023/12/212、数据字典定义符号符号含义例子
=被定义为+与[]x=a+b,则表示x
由a和
b
组成x=[a,b],则表示x
由a或由
b
组成{}或重复x={a},则表示x
由0个或多个a组成()可选
表示在两个*
之间的内容为词条的注释m{}n重复x=3{a}8,则表示x中至少出现3次a,最多出现8次*…*注释符x=(a),则表示a在x中出现,也可不出现2023/12/21日期年月日摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日:性质:印密:-------存折格式2023/12/21日期(年月日)摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日:性质:印密:存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}20户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”印密=“0”存取行=日期+(摘要)+支出+存入+余额+操作+复核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金额金额=“00000000.01”..“999999999.99”……2023/12/21对象对象就是一个包含数据以及与这些数据有关的操作的集合。每个实体都是对象。对象数据操作代码基于类的数据建模2023/12/21类是一组具有相同数据结构和相同操作的对象集合。类的定义包括一组数据属性和在数据上的一组合法操作。类定义可视为一个具有类似特性与共同行为的对象摸板,可用来产生对象。可以说,类是对象的抽象,而对象是类的具体实例。基于类的数据建模2023/12/21继承是在一个已存有的类的基础上建立一个新的类。并将已存在的类称为--基类或父类;新建立的类称为—派生类或子类。继承基类派生类基于类的数据建模对象继承了类所有属性------从类到对象的继承costdimensionweightlocationcolor类:furniturecostdimensionweightlocationcolor对象:chair对象、类、继承
基于类的数据建模2023/12/21
对象继承类的所有属性和操作costdimensionweightlocationcolor类:furnitureBuySellWeightmovecostdimensi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度铲车租赁及保养维护合同范本2篇
- 二零二五版影视作品独家发行及宣传推广合同3篇
- 标题5:2025版智能交通系统建设承包合同范本3篇
- 二零二五年矿山资产转让与矿山安全生产监督合同3篇
- 浙江省购房合同2025年度7月1日起实施修订2篇
- 二零二五年度水电安装与施工监理兼职合同2篇
- 二零二五版钣金展柜环保认证与绿色产品采购合同3篇
- 二零二五版单位间融资保证借款合同3篇
- 二零二五年钢筋原材料市场风险管理合同2篇
- 二零二五版个性化家庭货物配送服务合同范本3篇
- 河南省郑州外国语高中-【高二】【上期中】【把握现在 蓄力高三】家长会【课件】
- 天津市武清区2024-2025学年八年级(上)期末物理试卷(含解析)
- 2025年中煤电力有限公司招聘笔试参考题库含答案解析
- 企业内部控制与财务风险防范
- 高端民用航空复材智能制造交付中心项目环评资料环境影响
- 建设项目施工现场春节放假期间的安全管理方案
- 胃潴留护理查房
- 污水处理厂运营方案计划
- 山东省高等学校精品课程
- 三菱张力控制器LE-40MTA-E说明书
- 生活垃圾填埋场污染控制标准
评论
0/150
提交评论