第3章 软件需求分析.ppt
《第3章 软件需求分析.ppt》由会员分享,可在线阅读,更多相关《第3章 软件需求分析.ppt(111页珍藏版)》请在沃文网上搜索。
1、 第第3 3章章 软件需求分析软件需求分析3.1关于软件需求关于软件需求3.2需求分析过程需求分析过程3.3非形式化分析技术非形式化分析技术3.4结构化分析建模结构化分析建模3.5面向对象分析建模面向对象分析建模3.13.1关于软件需求关于软件需求软件需求的三个层次软件需求的三个层次业务需求:反映组织机构或客户对系统、产品高层次的目标要求。这些目标将在项目视图与范围文档中予以说明。用户需求:描述用户使用产品必须要完成的任务,在示例文档或方案脚本中说明。功能需求:定义开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。非功能需求:不直接与系统具体功能相关的一类需求。3.13.
2、1关于软件需求关于软件需求3.1.1功能需求功能需求功能需求描述系统预期提供的功能或服务,包括对系统应提供的服务、如何对输入做出反应,以及对系统在特定条件下的行为的描述。在某些情况下,功能需求可能还需明确声明系统不应该做什么。功能需求取决于开发的软件类型、软件未来的用户及开发的系统类型。系统功能需求描述应该具有:完整性、一致性和准确性。要做到需求描述满足以上3点几乎是不可能的。3.1.23.1.2非功能需求非功能需求非功能需求是指那些不直接与系统具体功能相关的一类需求,主要与系统的总体特征相关,是一些限制性要求。也是对实际使用环境所做的要求,如性能要求、可靠性要求和安全性要求等。非功能需求关心
3、的是系统整体特征,而不是系统的个别特征,因此比功能需求对系统更关键。一个功能需求没有满足时可能会降低系统的功能,而一个非功能系统需求没有满足可能使整个系统无法使用。非功能需求源于用户的限制。非功能需求很难检验。非功能需求与功能需求有时会发生冲突。例:例:POS系统。系统。POS系统即销售时点信息系统,是指通过自动读取设备(如收银机)在销售商品时直接读取商品销售信息(如商品名、单价、销售数量、销售时间、销售店铺、购买顾客等),并通过通讯网络和计算机系统传送至有关部门进行分析加工以提高经营效率的系统。POS系统最早应用于零售业,以后逐渐扩展至其他如金融、旅馆等服务行业,利用POS系统的范围也从企业
4、内部扩展到整个供应链。POS(Pointofsale)“销售点”是一种多功能终端,把它安装在信用卡的特约商户和受理网点中与计算机联成网络,就能实现电子资金自动转帐,它具有支持消费、预授权、余额查询和转帐等功能,使用起来安全、快捷、可靠。8383页的问答题页的问答题4 4请分析POS机系统中共利益者共利益者之间的功能有哪些冲突的地方?共利益者:付款方、收款方、银行、网络服务商。功能需求:付款方:转账、消费等。收款方:购买pos机设备,缴纳手续费。银行:利用服务器实现转账、销售等,收取交易费。网络服务商:保障交易顺利进行。冲突点:付款方刷卡与收款方缴纳手续费冲突、pos机存储容量与价格冲突、pos
5、机存储容量与网络流量冲突、pos机数量与银行服务器处理速度和银行收益冲突47页描述。共利益者:CMMI中术语,Stakeholder。指的是受到某种负责产生输入的方式影响的群体或个人。共利益者可能包括项目经理、供方、顾客以及其他人。“相关的共利益者”:用于指某个计划中要求执行某类活动或接受某类信息的群体或个人。3.1.33.1.3业务需求业务需求业务需求:对已存在的功能预期的约束或者是需要实现的一个特别的计算,统称反映应用领域的基本问题。3.1.33.1.3业务需求业务需求【案例3.1】基于终端的短信系统在短信系统中,短信必须经过短消息协议标准编码才能经过终端无线模块发送出去。如果要对短信编码
6、,必须要对ESTI制订的SMS规范有所了解。与本书讨论的短消息收发有关的规范主要包括GSM03.38、GSM03.40和GSM07.05,前两项着重描述SMS的技术实现(含编码方式);最后一项则规定了SMS的DTE-DCE接口标准(AT命令集)。发送和接收SMS信息共有3种方式,包括BlockMode、TextMode和PDUMode。BlockMode目前很少用;TextMode是纯文本方式,可使用不同的字符集,也可用于发送中文短消息。但国内手机基本不支持,主要用于欧美地区;PDUMode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。PDU串表面上是一串ASCII码,由数字和
7、字母组成。它们是8位字节的十六进制数,或者BCD码十进制数。PDU串不仅包含可显示的消息本身,还包含很多其他信息,如SMS服务中心号码、目标号码、回复号码、编码方式和服务时间等。发送和接收的PDU串的结构是不完全相同的。例如,发送SMSC号码是+8613800220500,对方号码是13851872528,消息内容是“Hello!”。3.1.33.1.3业务需求业务需求从手机发出的PDU串可以是:0891683108200205F011000D91683158812725F800000006C8329BFD0E01对照规范,发送短信每个编码段的解释如表3-1所示。分段含义说明08SMSC地址信
8、息的长度共8个八位字节(包括91)91SMSC地址格式(TON/NPI)用国际格式号码(在前面加“+”)683108200205F0SMSC地址8613800220500,补“F”凑成偶数11基本参数(TP-MTI/VFP)发送,TP-VP用相对格式00消息基准值(TP-MR)00D目标地址数字个数共13个十进制数(不包括91和“F”)91目标地址格式(TON/NPI)用国际格式号码(在前面加“+”)683158812725F8目标地址(TP-DA)8613851872528,补“F”凑成偶数个字节00协议标志(TP-PID)是普通GSM类型,点到点方式00用户信息编码方式(TP-DCS)7b
9、it编码00有效期(TP-VP)5分钟06用户信息长度(TP-UDL)实际长度6字节C8329BFD0E01用户信息(TP-UD)“Hello!”3.1.33.1.3业务需求业务需求例如,接收SMSC号码是+8613800220500,对方号码是13851872528,消息内容是“你好!”,手机接收到的PDU串可以是:0891683108200505F0840D91683158812764F8000830302180635480064F60597D0021对照规范,接收短信每个编码段的解释如表3-2所示。分段含义说明08地址信息的长度共8个八位字节(包括91)91SMSC地址格式(TON/NP
10、I)用国际格式号码(在前面加“+”)683108200205F0SMSC地址8613800220500,补“F”凑成偶数个字节84基本参数(TP-MTI/MMS/RP)接收,无更多消息,有回复地址0D回复地址数字个数共13个十进制数(不包括91和“F”)91回复地址格式(TON/NPI)用国际格式号码(在前面加“+”)683158812725F8回复地址(TP-RA)8613851872528,补“F”凑成偶数00协议标志(TP-PID)普通GSM类型,点到点方式08用户信息编码方式(TP-DCS)UCS2编码30302180635480时间戳(TP-SCTS)2003-3-1208:36:4
11、5+8时区06用户信息长度(TP-UDL)实际长度为6字节4F60597D0021用户信息(TP-UD)“你好!”3.1.33.1.3业务需求业务需求若基本参数的最高位(TP-RP)为0,则不包含用做回复地址的3个段,从互联网上发出的短消息常常是这种情形。注意号码和时间的表示方法不是按正常顺序排序的,而且将奇数个字节补“F”凑成偶数个字节。在PDUMode中,可以采用3种编码方式对发送的内容进行编码,它们是7bit、8bit和UCS2编码。7bit编码用于发送普通的ASCII字符,它将一串7bit的字符(最高位为0)编码成8bit的数据,每8个字符可“压缩”成7个;8bit编码通常用于发送数据
12、消息,如图片和铃声等;而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节。3.1.33.1.3业务需求业务需求下面以一个具体的例子说明7bit编码的过程,本例对短信“Hello!”进行编码,解释如表3-3所示。3.23.2需求分析过程需求分析过程1沟通沟通为进一步的交流和合作建立基本的协商准备。2导出需求导出需求确定业务需求和需求冲突,分清稳定需求和易变需求。(1)识别真正的客户。(2)正确理解客户的需求。(3)耐心听取客户意见和思考。(4)尽量使用符合客户语言习惯的表达。3分析和精化分析和精化形成一个分析模型,定义问题的信息域、功能域和行为域。4
13、可行性研究可行性研究目的是用最小的代价,在尽可能短的时间内确定问题是否能够解决。主要回答三个问题:系统是否符合机构的总体要求;系统是否可以在现有的技术条件、预算和时间限制内完成;系统能否把已存在的其他系统集成。3.23.2需求分析过程需求分析过程5协商协商调节需求的冲突。6.编写需求规格说明编写需求规格说明我国GB856D1988国家标准给出了需求规格文档SRS的内容框架,如表3-4所示。该文档包括系统的用户需求和详细的系统需求描述。7需求验证需求验证对需求文档和模型进行质量评估。8需求管理需求管理利用需求跟踪表管理需求的变更。3.33.3非形式化分析技术非形式化分析技术3.3.1会谈会谈在需
14、求分析的最初阶段,需求分析员要与客户组成员碰头协商,决定目标产品中需要什么信息。通常由客户决定最初的会谈,随后的会谈可在前次会谈过程中决定、会谈工作要持续到需求分析员确信所有来自客户和产品未来使用者的信息都已完全明确了为止。会谈有两种形式,即正式会谈和非正式会谈。3.3.23.3.2场景分析场景分析场景开始于一个框架,在导出过程中细节被逐渐增加,直到产生交互的完整的描述。在绝大多数情况下,一个场景可能包括如下几个内容。(1)在场景开始部分有一个系统状态描述。(2)一个关于标准事件流的描述。(3)一个关于哪里会出错,以及如何处理错误的描述。(4)有关其他可能在同一时间进行的活动的信息。(5)在场
15、景完成后系统状态的描述。3.3.33.3.3调查表调查表获取需求的一种有效地方法是向客户组织的大量相关人员发放调查表。调查表可以通过与客户会谈的方式制定。【案例3.2】ATM机“取款”场景描述参与者:银行客户场景如下。(1)插卡。(2)验卡。(3)输入密码。(4)验证密码。(5)选择业务(取款)。(6)输入取款金额(1000元)。(7)处理取款。(8)取走现金。(9)打印凭条。(10)退卡。问答题问答题6.试描述图书馆系统中还书的一个常规场景。7.试描述银行客户从ATM上存一笔钱的场景。3.43.4结构化分析建模结构化分析建模3.4.1结构化需求分析结构化需求分析结构化分析(Structure
16、dAnalysis,SA)方法是20世纪70年代由E.Yourdon等人倡导的一种适用于大型数据处理系统并面向数据流的需求分析方法,结构化需求分析方法一般采用以下一些指导性原则。(1)理解问题:人们通常急于求成,甚至在问题未被很好地理解前,就产生了一个解决错误问题的软件。(2)开发模型,使用户能够了解将如何进行人机交互(推荐使用原型技术)。(3)记录每个需求的起源和原因,从而能有效地保证需求的可追踪性和可回溯性。(4)使用多个需求分析视图,建立数据、功能和行为模型。为软件工程师提供不同的视图,将减小忽略某些东西的可能性,并增加识别不一致性的可能性。(5)为需求赋予优先级,优先开发重要的功能,提
17、高开发生产效率。(6)删除含糊性:需求常使用自然语言描述,存在含糊的可能,可以通过复审发现这些问题。3.4.23.4.2结构化分析模型结构化分析模型结构化分析模型必须分别达到以下几个主要目标:描述客户需要、建立软件设计基础、定义在软件完成后可以确认的一组需求。结构化分析模型的三个层次:内层:数据字典(DD),所有数据对象的描述。中间层:DFD、ERD、STD。外出:描述。对中间层模型内容的描述。3.4.23.4.2结构化分析模型结构化分析模型分析模型结构的中间层有如下3种视图。(1)数据流图(DataFlowDiagram,DFD)服务于两个目的,一是指明数据在系统中移动时如何被变换;二是描述
18、对数据流进行变换的功能和子功能。数据流图提供了附加信息,它们可以用于信息域的分析,并作为功能建模的基础。集中了数据的流动和数据转换功能,而不关心数据结构的细节。(2)实体-关系图(Entity-RelationshipDiagram,E-RD)描述数据对象间的关系,是用于进行数据建模活动的记号。它关心的是寻找系统中的数据及其之间的关系,不关心系统的细节。(3)状态转换图(StateTransitionDiagram,STD)指明了作为外部事件结果的系统行为,用于表示系统的各种行为模式,以及在状态间转换的方式,是行为建模的基础。分析建模通常开始于数据建模,定义系统内处理的所有数据实体、实体间关系
19、及其相关信息。定义系统处理的逻辑模型采用实体关系模型ERD。实体:是现实世界中存在且可相互区分的事物。只封装数据,没有操作。圆角矩形表示。属性:定义实体的性能。可以用来描述实例,引用实体。用矩形表示。关系:实体间的联系。菱形表示,关系的基数有3类:一对一、一对多和多对多。3.4.33.4.3面向数据的建模方法面向数据的建模方法【案例3.3】图书馆管理系统实体关系模型根据图书馆系统的问题描述,可得到的实体包括图书、借书者、管理员、借书目录、预约记录和书目。图书馆系统部分ERD如图3-1所示。3.4.33.4.3面向数据的建模方法面向数据的建模方法【案例3.4】POS机系统根据POS机系统的问题描
20、述,给出的实体有销售、支付、商品、商品描述等,它们的ERD如图3-2所示。练习:1.请使用visio软件绘制案例3.3和3.4中的ERD模型。2.某学校考务系统中,一个考场在期末考试中可以安排多场考试,考场实体有属性:考场编号,容纳考生数,考区实体有属性:考区号、考区名(如本部、南区、西区),某一时间某一考场只能安排一门课程的考试,考试期间有监考老师监考和正处级领导巡考,一个考场至少要有2名监考老师,一个考区至少要有两名正处级领导巡考,某一时间内一个监考老师只能监一个考次的考试,某一时间内一名正处级领导只能在一个考区进行巡考,监考老师实体的属性为:教师号、姓名、年龄、性别、所在部门。请画出该考
21、务系统的ER图。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法1数据流图(数据流图(DFD)数据流图中的处理或转换在最终生成的程序中将是若干程序功能模型。数据流图有4种基本符号,如图3-3所示。矩形(或立方体)表示数据源点或终点,圆角矩形(或圆形)代表变换数据的处理,开口矩形(或两条平行线)代表数据存储,箭头表示数据流。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法1数据流图数据流图数据处理的形式:3.4.43.4.4面向数据流的建模方法面向数据流的建模方法1数据流图数据流图数据存储是处于静止状态的数据,数据流是处于活动中的数据。数据源点有时会和终点相同,若只用一个
22、符合代表数据的源点和终点,则至少将有两个箭头与这个符号相连。通常数据流图中忽略出错处理、打开或关闭文件之类的内务处理。数据流图的基本要点是描绘“做什么”,而不考虑“怎么做”,通常要忽略出错处理,也不包括内部处理。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法1数据流图数据流图数据流图的层次结构数据流图的层次结构对于大型系统,往往采用自顶向下逐层分解的方法,用分层数据流图表示所有数据流和加工。对任何一个数据流图来说,它的上层图为父图,在它的下一层的图为子图。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法1数据流图数据流图数据流图的层次结构3.4.43.4.4面向数据流
23、的建模方法面向数据流的建模方法1数据流图数据流图画数据流图的基本原则画数据流图的基本原则自顶向下逐层细化完善求精 具体步骤具体步骤:(1)绘顶层数据流图。找出对整个系统而言的输入、输出数据,确定外部实体,它们决定了系统与外界的接口。(2)为数据流命名,为加工命名。(3)检查核对。(4)核对无误后,进行分解,画处理的内部。在(在(2)至()至(4)步之间反复迭代,直到处理无法进一步分解为止。)步之间反复迭代,直到处理无法进一步分解为止。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法【案例3.5】订货系统数据流图设一个工厂采购部每天需要一张订货报表,订货的零件数据有零件编号、名称、数
24、量、价格和供应者等。零件的入库、出库事务通过计算机终端输入给订货系统。当某零件的库存数少于给定的库存量临界值时,就应该再次订货。(1)数据流分析。数据源点:仓管员(负责入库或出库事务给订货系统)。数据终点:采购员(接收每天的订货报表)。数据流:事务,订货。数据存储:订货信息,库存清单。处理:处理事务,产生报表。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法(2)绘制基本系统模型。一个系统的本质就是将输入转换成输出,任何系统的基本模型都由若干数据源点/终点和一个代表系统对数据加工变换基本功能的处理组成。图3-4所示为订货系统基本模型的数据流图。3.4.43.4.4面向数据流的建模方
25、法面向数据流的建模方法(3)第1步求精。基本系统模型的数据流图非常抽象,因此需要把基本功能细化,描绘出系统的主要功能。订货系统细化后的数据流图如图3-5所示,可分为“处理事务”和“产生报表”两个主要功能;同时增加了“库存清单”和“订货信息”两个数据存储,并对应出现了“事务”、“库存信息”、“订货信息”和“订货报表”4个数据流。3.4.43.4.4面向数据流的建模方法面向数据流的建模方法(4)第2步求精。对描绘系统主要功能的数据流图进一步细化,订货系统第2步求精的数据流图如图3-6所示。数据流图示例数据流图示例借书系统的顶层数据流图数据流图示例数据流图示例书店借书系统的第一次分解后的数据流图数据
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 软件需求分析 软件 需求 分析
