[工学]52软件开发文档xcz第五章软件需求文档.ppt_第1页
[工学]52软件开发文档xcz第五章软件需求文档.ppt_第2页
[工学]52软件开发文档xcz第五章软件需求文档.ppt_第3页
[工学]52软件开发文档xcz第五章软件需求文档.ppt_第4页
[工学]52软件开发文档xcz第五章软件需求文档.ppt_第5页
已阅读5页,还剩159页未读 继续免费阅读

下载本文档

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

文档简介

第五章 软件开发文档,主要内容,5.1 可行性研究报告 5.2 软件需求文档 5.3 概要设计文档 5.4 详细设计文档,软件需求说明书、数据要求说明书,软件需求分析的文档,软件需求说明书主要以数据流图为核心,对软件的功能进行详细的描述;数据要求说明书包括对基本的数据元素的属性、数据概念信息结构以及数据加工动作的描述;此外还有对软件的性能、运行环境、系统级上的输入/输出数据格式等,即构成对软件及其数据的完整描述信息。,5.2软件需求文档,5.2.1软件需求文档特点 5.2.2软件需求文档的内容 5.2.3软件需求文档的编写要求 5.2.4软件需求文档的表达方法 5.2.5软件需求文档的注释 5.2.6软件需求文档的表达重点 5.2.7需求表达中常见的问题 5.2.8软件需求说明书写作,5.2.1软件需求文档特点,无歧义性 完整性 可验证性 一致性 可修改性 可追踪性 运行和维护阶段的可使用性,无歧义性,2. 完整性,3.可验证性,4.一致性,5.可修改性,6.可追踪性,7.运行和维护阶段的可使用性,5.2.2软件需求文档的内容,1.任务概述 2.功能规定 3.性能规定 4.输入输出要求 5.数据管理能力要求 6.故障处理要求 7.其他专门要求 8.对软件运行环境的规定,5.2.3软件需求文档编制策略,1. SRS应由开发者和客户双方联合起草,客户通常对软件设计和开发过程了解较少,而不能写出可用的SRS; 开发者通常对于客户的问题和意图了解较少,从而不可能写出一个令人满意的系统需求。,2. 逐步对SRS进行改进,客户需求的变化 市场需求的变化 系统变化 工作环境的变化 需求中原有的Bug 需求的不充分 误解,关于需求变更案例,“Glennn,你的开发工作进展如何? 在一次需求状态会议上,化学品跟踪系统的项目经理Dava问道。 “远没有我原来计划的那么顺利,”Glenn承认道,“我正在为Sharon添加一个新的目录查询功能,所花的时间比我预计的时间多多了” Dava感到困惑不解,“我怎么记不得在最近的变更控制委员会召开的会议上讨论过新的目录查询功能,Sharon是通过变更控制提交的这一请求吗?,“不是,她是直接找到我提出这个建议”,Glenn说道,“我本应该要求她通过正式渠道提交这个变更请求,但是这个变更似乎很简单,所以我当时就答应她了。后来才发现其实并不那么简单,每次我以为任务已经完成时,我发现自己在另一文件中漏掉了一个变更,所以我必须进行修正,重新构建组件,并再次进行测试。我原以为只需要花费6个时,但是到目前为止几乎已经花了4天的时间,这就是我为什么没有按进度完成其它任务的原因,我知道自己耽误了进度,现在我是应该继续完成这一查询功能呢,还是重新恢复到以前的工作状态。”,大多数开发人员都遇到过这样的情况:表面很简单的一个变更,结果却比预想的复杂得多。有时,开发人员没有或者是不能对已提议的变更所需的费用和其他由此而衍生的结果做出切合实际的估计,而且,当开发人员私下里同意添加用户请求的新功能时,会通过非正式的途径来提出需要变更,而没有得到相应涉众的批准,这种变更是造成项目混乱,进度拖延和质量问题的常见原因,在多站点开发项目和外包开发项目中尤为明显。,初始需求,变更的需求,对问题的 初始理解,对问题的 新理解,时间,Communication with customers 与用户共同确定需求,作为合同附件, 签字生效 合同中含有对需求变更的条款 采用原型方法开发,或螺旋模型开发 项目计划中适当留有余地(时间进度、人力投入、 费用等) 严格实施变更控制,减少变更的策略:,3. SRS的编写工具,SRS常用最常用的方法是用自然语言来描述。尽管自然语言是丰富多彩,但不易精确,用形式化方法较好,在SRS中是否是使用形式化方法要依据下列因素: 程序规模和复杂性 客户合同是否要求使用 SRS是否是一个合同工具或仅仅是一个内部文档 SRS文档是否成为设计文档的根据,3. SRS的编写工具,没有什么工具是好还是坏的问题,问题是关键是如何使用它们,无论是什么工具也只是一个辅助工具,而不是生成工具。 工具的选取要求是自己(本组)熟悉的工具,不能是一件最新时髦工具而自己对它了解很少,结果大部分时间化在学习工具上,而不是使用它为你工作。 工具最好是普通流行的,因为要考虑交流的问题。,5.2.4需求文档的表达方法,SRS文档中的 每一个“需求”是对软件产品基本功能和性能的一个陈述。 其表达的方法有: 输入、输出说明 典型例子 规范化模型表达:数学模型、功能模型、计时模型等。,1、输入、输出说明,通过描述输入输出序列来描述一个软件产品所要求的特性。如描述: 软件产品(如报表系统)的输出; 软件产品需要着重描述输入、输出特性; 软件产品中间状态。,2、典型例子,用典型例子来说明要求的特性 : 0101 010101010101 01 010101,要列出全部输入与输出序列是不可能的,然而用典型的序列 可以清楚理解系统特性。,3.规范化模型表达,(1)面向数据流的设计方法: 数据流程图 数据字典 (2)面向对象技术(OOT): 用例图,面向数据流的设计方法,数据流程图 数据字典,复习数据流图,数据流图中的主要图形元素,数据流图:,描述银行取款过程的数据流图,验证从银行账卡上读入的数据与取款单(存折)是否一致,将用户存折与银行帐卡与操作时间更新,数据流与数据加工之间的关系,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,分层数据流图,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据 底层流图是指其加工不需再做分解的数据流图,它处在最底层 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,结构化分析方法步骤示例 商店业务处理系统,暂存订单,并检查商店有没有商品,没有向供应商订购,现时暂存用户订单。,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能 数据流图绘制步骤 首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。 然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,第一层数据流图,第一层数据流图,商品有此库存,第一层数据流图,商品无此库存,第一层数据流图,从供应商采购好物品,加细每一个加工框销售细化,加细每一个加工框销售细化,加细每一个加工框销售细化,1,2,3,4,5,6,7,8,9,7,10,商品有此库存,加细每一个加工框销售细化,1,2,3,4,12,6,7,14,11,10,13,9,8,5,15,不能满足的订货,采购细化,采购的原因是因为没有满足订货需求,采购细化,采购的原因是因为没有满足订货需求,1,2,9,4,7,3,5,8,10,11,13,12,6,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素 数据流图的主图必须包括前述四种基本元素,缺一不可 数据流图的主图上的数据流必须封闭在外部实体之间 每个加工至少有一个输入数据流和一个输出数据流,在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系 规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡 可以在数据流图中加入物质流,帮助用户理解数据流图,图上每个元素都必须有名字 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节,以集中精力于主要数据流,可行性研究与需求分析的关系:,需求分析的基本任务是回答“系统必须做什么?”这个问题。 即确定系统必须要完成的功能,对目标系统提出完整、准确、清晰、具体的要求。,5.2软件需求文档,5.2.1软件需求文档特点 5.2.2软件需求文档的内容 5.2.3软件需求文档的编写要求 5.2.4软件需求文档的表达方法 5.2.5软件需求文档的注释 5.2.6软件需求文档的表达重点 5.2.7需求表达中常见的问题 5.2.8软件需求说明书写作,数据字典,数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。 在结构化分析的过程中,可以通过名字,方便地查阅数据的定义,同时可按各种要求,随时列出各种表,以满足分析员需要。还可以按描述内容来查询数据的名字。通过检查各个阶段的加工的逻辑功能,还可以实现和检查在数据与程序之间的一致性和完整性。在以后的设计与实现阶段,以至于到维护阶段,都需要参考数据字典进行设计、修改与查询。,数据字典的内容,数据字典的内容 数据项 数据结构 数据流 数据存储 处理过程 数据项是数据的最小组成单位 若干个数据项可以组成一个数据结构 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。, 数据项,数据项是不可再分的数据单位 对数据项的描述 数据项描述数据项名,数据项含义说明, 别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系 取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件, 数据结构,数据结构反映了数据之间的组合关系。 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。 对数据结构的描述 数据结构描述数据结构名,含义说明, 组成:数据项或数据结构,数据字典:,符 号 含 义 举 例 被定义为 与 x = ab .,. 或 .|. 或 x = a,b,x = a|b . 或 m.n 重复 x = a, x = 3a8 (.) 可选 x = (a) “.” 基本数据元素 x = “a” 连结符 x = 19,数据结构的描述,数据结构,存折格式,数据结构:,存折户名所号帐号开户日性质(印密)1存取行50 户名2字母24 所号“001”“999” 帐号“00000001”“99999999” 开户日年月日 性质“1”“6” 注:“1”表示普通户,“5”表示工资户等 印密“0” 注:印密在存折上不显示 存取行日期(摘要)支出存入余额操作复核,若干个数据项组成和数据结构组成, 数据流,数据流是数据结构在系统内传输的路径。 对数据流的描述 数据流描述数据流名,说明,数据流来源, 数据流去向,组成:数据结构,平均流量,高峰期流量 数据流来源是说明该数据流来自哪个过程 数据流去向是说明该数据流将到哪个过程去 平均流量是指在单位时间(每天、每周、每月等)里的传输次数 高峰期流量则是指在高峰时期的数据流量, 数据存储,数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。 对数据存储的描述 数据存储描述数据存储名,说明,编号, 流入的数据流 ,流出的数据流 , 组成:数据结构,数据量,存取方式 流入的数据流:指出数据来源 流出的数据流:指出数据去向 数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息 存取方法:批处理 / 联机处理;检索 / 更新;顺序检索 / 随机检索, 处理过程,处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息 处理过程说明性信息的描述 处理过程描述处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明,处理过程(续),简要说明:主要说明该处理过程的功能及处理要求 功能:该处理过程用来做什么 处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间要求等 处理要求是后面物理设计的输入及性能评价的标准,处理过程(续),例:学生学籍管理子系统的数据字典。 数据项,以“学号”为例: 数据项: 学号 含义说明:唯一标识每个学生 别名: 学生编号 类型: 字符型 长度: 8 取值范围:00000000至99999999 取值含义:前两位标别该学生所在年级, 后六位按顺序编号 与其他数据项的逻辑关系:,处理过程(续),数据结构 以“学生”为例 “学生”是该系统中的一个核心数据结构: 数据结构: 学生 含义说明: 是学籍管理子系统的主体数据结 构,定义了一个学生的有关信息 组成: 学号,姓名,性别,年龄, 所在系,年级,处理过程(续),数据流“体检结果”可如下描述: 数据流: 体检结果 说明: 学生参加体格检查的最终结果 数据流来源:体检 数据流去向:批准 组成: 平均流量: 高峰期流量:,处理过程(续),数据存储“学生登记表”可如下描述: 数据存储: 学生登记表 说明: 记录学生的基本情况 流入数据流: 流出数据流: 组成: 数据量: 每年3000张 存取方式: 随机存取,处理过程(续),处理过程“分配宿舍”可如下描述: 处理过程:分配宿舍 说明: 为所有新生分配学生宿舍 输入: 学生,宿舍, 输出: 宿舍安排 处理: 在新生报到后,为所有新生分配学 生宿舍。要求同一间宿舍只能安排 同一性别的学生,同一个学生只能 安排在一个宿舍中。每个学生的居 住面积不小于3平方米。安排新生 宿舍其处理时间应不超过15分钟。,数据库的设计和对数据库中数据处理的设计紧密结合起来,面向对象技术(OOT),用例,用例,一、概述 二、参与者(Actor) 三、用例(Use Case) 四、用例图建模技术,用例法,用例源于面向对象的开发方法,然而,采用其他开发方法的项目也可以使用用例,因为用户不在乎你如何开发软件。用例是目前广泛使用的统一软件开发过程(该过程使用UML统一建模语言)的核心。 用例转变了需求开发的角度,传统的需求获取方式是询问用户他们需要用系统做什么,而现在则讨论用户需要实现什么,用例法的目标是描述用户需要通过系统执行的所有工作。,画好用例图(Use Case Diagrams)是由软件需求到最终实现的第一步,在UML中用例图用于对系统、子系统或类的行为的可视化,以便使系统的用户更容易理解这些元素的用途,也便利了软件开发人员最终实现这些元素。 UML中的用例图描述了一组用例、参与者以及它们之间的关系。用例图包括以下3方面内容。 (1)用例(Use Case) (2)参与者(Actor) (3)依赖、泛化以及关联关系,一、用例图概述,二、参与者(Actor),参与者(Actor)是系统外部的一个实体(可以是任何的事物或人),它以某种方式参与了用例的执行过程。参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。参与者由他们参与用例时所担当的角色来代表。 在图形上,参与者用人形图符表示。,三、用例(Use Case),用例是一个叙述型的文档,用来描述一个参与者(Actor)使用系统完成某个事件时的事情发生顺序。用例是系统的使用过程。更确切的说,用例不是需求或者功能的规格说明,但用例也展示和体现出了其所描述的过程中的需求情况。 图形上用例用一个椭圆来表示,用例的名字可以书写在椭圆的内部或下方。,识别用例 识别用例最好的办法就是从分析系统的参与者开始,考虑每个参与者是怎样使用系统。使用这种策略的过程中可能会找出一个新的参与者,这对完善整个系统建模很有帮助。 在识别用例的过程中,通过以下的几个问题可以帮助识别用例: (1)特定参与者希望系统提供什么功能? (2)系统是否存储和检索信息?如果是,这个行为由哪个参与者触发? (3)当系统改变状态时,通知参与者吗? (4)存在影响系统的外部事件吗? (5)是哪个参与者通知系统这些事件?,用例与事件流 用例分析是处于系统的需求分析阶段,这个阶段应该尽量的避免去考虑系统实现的细节问题。也就是说,用例描述的是一个系统做什么,而不是怎么做。 可以通过一个清晰的,易被用户理解的时间流来说明一个用例的行为。这个事件流包括用例何时开始和结束,用例何时和参与者交互,什么对象被交互以及该行为的基本流和可选流。,1用例名:启动业务流程用例 1.1简要说明 前台受理新业务后,即发生该用例。启动一个新的业务流程实例。 1.2事件流 1.2.1基本流 1、用户端请求业务流程 2、系统接收客户端发送的流程启动消息。 3、系统构造起动流程实例的消息 4、系统起动业务流程 5、系统获得流程信息 6、保存流程信息 7、系统发送流程启动成功消息给用户 1.2.2 备选流 1.2.2.1流程启动失败 1、基本流中第4步业务流程启动失败 2、系统构造流程启动失败消息 3、系统给用户发送流程启动失败消息 1.3特殊需求 无 1.4前置条件 无 1.5后置条件 此用例结束系统可以读取相应业务流程配置文件启动装配件。 1.6扩展点 无,例:,5.2.5软件需求文档的注释,注释应注意的问题: (1)稳定性 (2)必要性等级,(3)注意事项,5.2.6软件需求文档的表达重点,(1)功能:所设计的软件要做什么 (2)性能:是指软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等 (3)限制:在效果、实现的语言、数据库的完整性、资源限制、操作环境等方面所要求的标准 (4)属性:可移植性、正确性、可维护性及安全性等方面的考虑因素 (5)外部接口:与人、硬件、其他软件和其他硬件的相互关系,5.2.7、应避免的问题,1. 在SRS中嵌入了设计 在SRS中嵌入设计说明,会过多地约束软件设计,并且人为地把具有潜在危险的需求放入SRS中,同时可能需要大量的资源(可能占整个产品开发成本的10%-20%以上)。 (1) SRS主要描述在什么数据上、完成什么功能、在什么地方、产生什么结果。通常不指定如下的设计项目: 把软件划分成若干模块; 给每一个模块分配功能; 描述模块间的信息流程或者控制流程; 选择数据结构。,(2)把设计完全同SRS隔离开来始终是不现实的。安全和保密方面的周密考虑可能增加一些直接反映设计约束的需求,如: 在一些分散的模块中保持某些功能 允许在程序的某些区域之间进行有限的通信 计算临界的检查和 (3)通常应考虑到,若要为软件选择高层次的设计,就可能需要大量的资源(开发成本10%-20%), 原因如下: 在SRS中描述了设计。这意味着,有可能将一个潜在的不适当的设计作为一个需求进行描述。 采用模型设计描述需求,这种模型设计只用于辅助描述需求,而不使之成为实际设计,2. 在SRS中嵌入项目要求 SRS应当是描写一个软件产品,而不是描述生产软件产品的过程。项目要求表达客户和开发者之间对于软件生产方面合同性事宜的理解,因此不应当包括在SRS中,项目需求在另外的文件中描述。在SRS中提供的只是关于软件产品本身的需求。,5.2.8软件需求说明书写作 GB8567-1988 计算机软件开发文件编写指南,机票预定系统 银河侦探游戏软件(Galaxy Sleuth),1引言 11编写目的 说明编写这份软件需求说明书的目的,指出预期的读者。,例: 本文档将对银河侦探游戏软件开发需求进行描述,本文档的读者是项目策划、设计与评审人员,12背景 说明: a待开发的软件系统的名称; b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; C该软件系统同其他系统或其他机构的基本的相互来往关系。,例:机 开发软件名称:机票预订系统。 项目任务提出者:中国民航及中国国际旅游开发公司。 项目开发者:浙江大学IMK开发小组。 用户:中国民航及中国国际旅游开发公司。 实现软件单位:中国国际旅游开发公司及浙江大学 项目与其他软件,系统的关系: 本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C+为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle 8的为开发软件的数据库服务程序。,13定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。,例:银 Galaxy Sleuth:银河侦探,14参考资料 列出用得着的参考资料,如: a本项目的经核准的计划任务书或合同、上级机关的批文; b属于本项目的其他已发表的文件; c本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。,2任务概述 21目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。,例:银 该软件是一个基于策略与线索的逻辑游戏,程序采用客户/服务器结构,能使用聊天等功能。游戏者(player)可以在因特网上远程对弈,其中每个客户端支持一个游戏界面,游戏还能提供展示以住操作的历史窗口,能基于时空的追踪以及逻辑推理。 软件开发的目标是利用Java开发简单的网络游戏。该系统运行的平台是JAVA2,22用户的特点 列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束 3假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等,。,例:银 用户特点: 用户不需要任何技术背景,但应能看懂在线游戏规则。用户也无须具备网络方面的知识,只需知道如何给出IP地址。 假定和约束: 本软件的开发期限:3个月,3.需求规定 (重要部分) 3.1对功能的规定 用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。,例:机采用面向数据流方法,机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。 根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。,下面分析各个子系统的功能需求: 1客户端子系统: 在客户端系统的功能实现上,可以分为以下几个部分: 1旅客信息的输入和统计 旅行社把旅客要求订票的信息由专人负责输入。这部分功能是客户端子系统的基本部分,这个功能是以后各个部分的基础。系统要求做到即能够从其它子系统中共享一部分信息,又有方便的操作界面工手工输入旅客信息。这部分要求对输入的数据进行简单的统计,供航空公司进行查询和宏观调控。 2旅客信息的存储: 将旅客的信息存储到旅行社的客户端系统中,以备以后的取票确认以及查询。,3机票信息的传递及接收: 将旅客所须的机票信息由旅行社客户端由网络传到航空公司的服务器上,并 且接受航空公司返回的航班信息,然后存储起来。 4取票通知及帐单的生成和打印: 把已存储的从航空公司返回的航班机票信息打印出来,并且生成帐单打印出来一起交给旅客。 印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。 5机票销售情况的核算 这一功能是在上一功能的基础上,对机票销售额进行单项核算,得到该旅行社的销售情况并把核算结果作为企业报表输出。,2服务器端的功能要求: 通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现航班查询,机票生成,销售统计,综合信息查询等子系统。以计算机成本核算为中心,实现销售业务的计算机自动化,为航空公司降低成本、提高销售额、经营决策提供及时精确的依据。 在客户端系统的功能实现上,可以分为以下几个部分: 1接收由旅行社客户端发回的所需机票信息: 通过网络接收机票信息并存入到服务器的数据库中。 2生成航班信息: 根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息(价格,时间,等级),分配所需的机票数并在数据库中做出已售出的标记。,3传递航班信息到客户端(旅行社): 把得到的航班信息通过网络传递到旅行社。 4接收旅行社的反馈信息: 对旅行社的反馈信息进行分析,把已经售出的机票进行统计,对被旅客所退掉的机票要进行数据库的恢复。 5印出机票给已经订票的旅客: 根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。 6销售额的分析和管理 这一步骤的功能要求包括对销售的机票进行分析,这一工作是在前面的基础上,以计算机为工具,对机票预定系统的功能和目标进行扩充。它以财务管理学为理论基础,以辅助决策为目标,以机票销售数据为中心,广泛采用统计学、运筹学的分析方法,对销售信息进行深层加工,建立反映不同航班需求的模型,提供管理上所需的各种辅助决策信息和财务信息。这一要求是机票预定系统的最高目标,将通过系统运行后获得的大量销售历史数据基础上,实现这一目标。,3.需求规定 (重要部分) 3.1对功能的规定 用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。,例:银采用面向对象方法,游戏者通过旋转一个转盘来随机选择移动步数,从而决定到达不同的星球。游戏的目的是在星际旅行时收集一系列有关嫌疑犯的线索。当游戏者穿越太空时,他们可以以对嫌疑犯进行假设的形式来询问其他游戏者,其他游戏者用他们的证据来推翻或认可假设。嫌疑犯的假设被通报给所有游戏者,如果一个游戏者可以推翻这个假设,则这条情报给询问的游戏者,其他游戏者也被告知有人否定了这条假设,但不会被告知具体是哪条证据否定了该假设。如果假设不能被否定,则所有的游戏都被告知这一事实。在收集到一定的线索后,游戏者可能可以推断出嫌疑犯和其作案环境。第一个完成这个任务的游戏都将赢得这声游戏的胜利,如果一个游戏者得出错误的结论,则他就输掉了这声游戏。,用例图,用例1 功能名称:创建游戏 主执行者:游戏者 范围:galaxy sleuth 级别:用户目标级 功能描述:游戏者成功开启应用程序,界面上可以选择Creat game, Jion game, Credits, Instructions和Exit.当游戏者按下Creat Game则系统允许游戏者选择游戏设置,并且选择一个嫌疑犯。 前提条件:已启动Galaxy系统,进入游戏界面 主成功场景: (1)游戏者进入“创建游戏”界面 (2)游戏者输入其用户名 (3)游戏系统接受,进入Suspect Selected界面 (4)选择嫌疑犯 (5)游戏系统拉胀 (6)用例接受,3.2对性能的规定 3.2.1精度 说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。 322时间特性要求 说明对于该软件的时间特性要求,如对: a响应时间; b更新处理时间; c数据的转换和传送时间; d解题时间; 等的要求。 3.23灵活性 说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如: a操作方式上的变化; b运行环境的变化; c同其他软件的接口的变化; d精度和有效时限的变化; e.计划的变化或改进。,(1)精度 本软件对数据的精度没有特殊要求 (2)时间特性要求 等待服务器连接时间不能超过15秒 (3)灵活性 本软件采用可视化界面,用户通过单击界面上的相关按钮就可完成可项操作。,例:银河,3.3输人输出要求 解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。,例:银河,例:机票预定系统,3.4数据管理能力要求 (没有不必填写) 说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。 35故障处理要求(没有不必填写) 列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。 36其他专门要求(没有不必填写) 如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。,4运行环境规定 C41设备 列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括: a处理器型号及内存容量; b外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量; c输入及输出设备的型号和数量,联机或脱机; d数据通信设备的型号和数量; e功能键及其他专用硬件 42支持软件 列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。 43 接口 说明该软件同其他软件之间的接口、数据通信协议等。 C44控制 说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。,1、设备 硬件最低要求:CPU PII以上的PC服务器,内存32MB以上,硬盘15MB以上 2、支持软件 操作系统:Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003等能安装LAN 或Java 2的操作系统 3、接口 见设计部分,例:银,机票预定系统中的各个子系统的硬件和软件的配置如下: 1服务器端子系统的运行要求: 系统软件: Window NT Server 数据库管理系统:SQL Server 硬件要求:Pentium III 450以上, 258M RAM, 14G HD 2.客户端子系统的运行要求: 系统软件: Window NT Workstation 数据库管理系统:SQL Server 硬件要求:Pentium 133以上, 32M RAM, 4.3G HD,例:机票,2.3 基于UML的用例模型实验,2.3.1 用例图(visio) 2.3.2活动图(visio) 2.3.3 使用Visio绘制用例模型(visio) 2.3.4 使用Rational Rose绘制用例模型 2.4 基于UML的状态模型实验 2.4.1 状态图 2.4.2 使用Visio绘制状态模型 2.4.3 使用Rational Rose绘制状态模型,2.3 基于UML的用例模型实验,2.3.1 用例图(visio) 2.3.2活动图(visio) 2.3.3 使用Visio绘制用例模型(visio) 2.3.4 使用Rational Rose绘制用例模型 2.4 基于UML的状态模型实验 2.4.1 状态图 2.4.2 使用Visio绘制状态模型 2.4.3 使用Rational Rose绘制状态模型,2.3.4 使用Rational Rose 绘制用例模型,1Rational Rose的使用 2新建用例图 3建立用例中的角色 4.建立用例 5. 建立角色和用例、用例和用例之间的联系 6.建立子用例图,2.3.4 使用Rational Rose 绘制用例模型,1Rational Rose的使用 Rational Rose的启动:选择“开始”“程序”Rational Software Rational Rose Enterprise Edition,2.3.4 使用Rational Rose 绘制用例模型,Rational Rose启动对话框,2.3.4 使用Rational Rose 绘制用例模型,Rational Rose 主界面,Document窗口,Diagram窗口,Browser窗口,2.3.4 使用Rational Rose 绘制用例模型,Rational Rose的保存 类似于其他应用程序。Rational Rose的保存可以通过菜单或者工具栏来实现。,2.3.4 使用Rational Rose 绘制用例模型,Rational Rose模型的发布 可以把Rose建立的模型发布到Web,使得其他人都能浏览模型。 (1)选择菜单ToolsWeb Publisher选项,弹出的窗 口中选择要发布的模型视图和包。,2.3.4 使用Rational Rose 绘制用例模型,(2)在发布对话框中设定细节。 Rational Rose模型发布窗口,2.3.4 使用Rational Rose 绘制用例模型,发布后的文件,2.3.4 使用Rational Rose 绘制用例模型,Rational Rose模型全局选项的设置 全局选项可以选择菜单ToolsOptions,打开Options对话框进行设置,2.3.4 使用Rational Rose 绘制用例模型,全局选项设置对话框,2.3.4 使用Rational Rose 绘制用例模型,1Rational Rose的使用 2新建用例图 3建立用例中的角色 4.建立用例 5. 建立角色和用例、用例和用例之间的联系 6.建立子用例图,2.3.4 使用Rational Rose 绘制用例模型,2新建用例图 在Browser窗口内的树形列表中选中Use Case包并右击,在弹出的快捷菜单中选择New Use Case Diagram选项,2.3.4 使用Rational Rose 绘制用例模型,创建用例图,2.3.4 使用Rational Rose 绘制用例模型,“车辆管理系统用例图”绘制窗口,2.3.4 使用Rational Rose 绘制用例模型,编辑工具栏是可以自己设定的 选择菜单Views Toolbars Configure选项,在tool bars选项上中,选中show diagram toolbars -Use Case,弹出自定义工具栏窗口,2.3.4 使用Rational Rose 绘制用例模型,工具栏的设定 :,2.3.4 使用Rational Rose 绘制用例模型,1Rational Rose的使用 2新建用例图 3建立用例中的角色 4.建立用例 5. 建立角色和用例、用例和用例之间的联系 6.建立子用例图,2.3.4 使用Rational Rose 绘制用例模型,3建立用例中的角色 在工具栏中选中表示角色的图标,然后将鼠标移到用例图绘图区单击,即可建立一个名为NewClass的角色,2.3.4 使用Rational Rose 绘制用例模型,建立角色并为角色命名,2.3.4 使用Rational Rose 绘制用例模型,角色定义对话框,2.3.4 使用Rational Rose 绘制用例模型,角色绘制的最终结果,2.3.4 使用Rational Rose 绘制用例模型,1Rational Rose的使用 2新建用例图 3建立用例中的角色 4.建立用例 5. 建立角色和用例、用例和用例之间的联系 6.建立子用例图,2.3.4 使用Rational Rose 绘制用例模型,4建立用例 在工具栏中选中表示用例的图标,然后将鼠标移到用例图绘制区单击,即可建立一个名为NewUseCase的用例,2.3.4 使用Rational Rose 绘制用例模型,用例定义对话框,2.3.4 使用Rational Rose 绘制用例模型,建立用例的最终结果,2.3.4 使用Rational Rose 绘制用例模型,1Rational Rose的使用 2新建用例图 3建立用例中的角色 4.建立用例 5. 建立角色和用例、用例和用例之间的联系 6.建立子用例图,2.3.4 使用Rational Rose 绘制用例模型,5建立角色和用例、用例和用例之间的联系 系统在工具栏中提供了2种常用的联系,它们是用图标 表示的通信关系和用图标 表示的依赖关系。,2.3.4 使用Rational Rose 绘制用例模型,通信关系定义对话框,2.3.4 使用Rational Rose 绘制用例模型,依赖关系定义对话框,2.3.4 使用Rationa

温馨提示

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

评论

0/150

提交评论