软件需求分析和建模.ppt
《软件需求分析和建模.ppt》由会员分享,可在线阅读,更多相关《软件需求分析和建模.ppt(142页珍藏版)》请在三一办公上搜索。
1、软件需求分析与建模,软件工程方法与实践,主要问题,什么是软件需求?软件需求分析有哪些过程?如何启动分析过程?什么是面向数据的建模?什么是面向数据流的建模?什么是非形式化建模、半形式化建模和形式化建模?什么是统一建模语言(UML)?什么是用例建模?什么是领域模型?,软件需求分析过程,软件需求分析过程,什么是软件需求?软件需求分析有哪些过程?如何启动分析过程?需求规格文档有哪些内容?需求分析有哪些技术?,一般把需求定义为“(正在构建的)系统必须符合的条件或具备的功能或能力”。电气和电子工程师学会使用的定义与此类似。著名的需求工程设计师 Merlin Dorfman 和 Richard H.Thay
2、er 提出了一个包容且更为精练的定义,它特指软件方面-但不仅仅限于软件:1、软件需求可定义为:用户需解决某一问题或达到某一目标所需的软件功能。2、系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。,1 什么是软件需求,需求工程基本任务,需求工程,需求管理,需求开发,需求获取,需求分析,需求规格说明,需求验证,变更管理,需求分析的基本任务,需求分析的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。并在在需求分析阶段结束之前,由系统分析员写出软件需求规格说明书,以书面形式准确地描述软件需求。需
3、求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。,需求分析模型,系统实现模型,目标系统,当前系统,物理模型,逻辑模型,逻辑模型,物理模型,模型化,抽象化,实例化,具体化,理解需求,表达需求,导出,做什么,怎么做,需求分析的主要工作,系统流程图或高层DFD图,DFD图、STD图、E-R图、用例图、类图、顺序图等,目标系统,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,逻辑模型 物理模型(本质模型、概念模型)(实施模型、技术模型),描述重要的业务功能,无论系统是
4、如何实施的。,现行系统,需求分析模型,软件需求曾经让我们如此狼狈,软件开发的问题分类,1、需求规格说明4、软件和测试2、管理客户需求5、项目管理3、建档6、编码问题的重要性依次降低,ESPITI(欧洲软件过程改进培训倡议)所作的一个调查,3800个被调查者认为,软件开发的主要问题、次要问题和不是问题的问题如图。一半以上的人认为,软件的二个最大问题是:1、需求规格说明2、管理客户需求相对而言,编码不是问题,需求错误的代价,“需求开发可能是软件开发中最困难、最关键、最易出错以及最需要沟通的方面”,需求变化,合理范围内的变化:用户不了解自己的需求需求本身易变,市场、技术、竞争因素不合理的变化:需求文
5、档质量不高需求分析技能、技术和管理上的缺陷需求变化的原因:未受控制的需求变更遗漏需求用户交流不够需求规约质量差低效的需求分析,谨记一点,需求是经常变动的,只有先做好需求的分析,了解业务以后的发展趋势,做好具有拓展性的系统设计,才会给系统更大的扩展空间,从而在需求发生变化的时候可以更从容的修改。,需求分析的重要性,需求的重要性:需求是产品的根源,需求工作的优劣对产品影响最大。是系统开发的基础,质量和成败的关键 国内软件业的痼疾:人们并不清楚究竟该做什么,但却一直忙碌不停地开发。需求分析是通过问题识别、分析与综合、制订规格说明和评审等阶段,达到为系统设计提供依据的目标。因此,需求分析过程包括:确定
6、对系统的综合要求分析系统的数据要求抽象出并确立目标系统的逻辑模型编写需求规格说明书,需求分析就是为了实现系统需求,并使最后交付成果与需求所要求的目标不产生:含糊性、不完整性、不可检验性、不一致性、不可追踪性和不可用性。需求分析面向下阶段系统概要设计需求分析采用自己的特定方法,达到相应的阶段要求采用的方法是尽量地让用户和开发团队都能理解并认同系统目标和范围界定的方法业务/系统模型、用例和USE CASE图需求分析阶段的目标是用计算机的(而不再是用户)眼光和语言,分解需求、定义需求。但是,这个眼光不是程序设计员的眼光,是系统分析师的眼光经过需求处理后,达到需求规范要求分析的方法是一套“建模”技术,
7、需求分析的成果,软件需求的分类,功能需求:描述系统预期提供的功能或服务对系统应提供的服务如何对输入做出反应系统在特定条件下的行为非功能需求:指那些不直接与系统具体功能相关的一类需求产品需求机构需求外部需求领域需求:源于系统的应用领域需求,功能需求,软件系统的功能需求描述可以有许多方式:文字描述图表表示功能需求可以以不同的详细程度反复编写和细化功能需求描述应该完整而且一致和准确完整性意味着用户所需的所有的服务应该全部给出描述一致性意味着需求描述不能前后矛盾准确性是指需求不能出现模糊和二义性的地方,功能需求描述:出卷系统,教师能够根据自己的要求手动或自动出一份试卷;教师可以修改试卷中不合适的题目,
8、并能自动生成各种样式的试卷;教师可以对试题中的题目进行更新。,非功能需求,非功能需求主要与系统的总体特征相关,是一些限制性要求,是对实际使用环境所做的要求性能要求可靠性要求安全性要求可用性要求移植性要求非功能需求关心的是系统整体特征而不是个别的系统的特征,比功能需求对系统更关键。非功能需求却很难检验非功能需求与功能需求有时会发生冲突,它们之间存在着相互作用关系,非功能需求举例,一个POS系统所需的存储因为成本原因有所限制,而商品的描述和价目表的信息量很大。如果采用远程服务器,提供商品描述和价目表信息,那必然需要网络通信,而这需要网络技术。当POS机数量多时必然引起服务器处理瓶颈问题。,领域需求
9、,领域需求反映应用领域的基本问题,直接影响到系统的可用性。例如:图书馆系统的功能需求基于标准用户界面将一些文档输出到本地打印机或网络打印机上,但因为版权限制,这些文档打印之后应立即删除。,领域需求示例:短信系统,如果短信经过终端无线模块发送之前必须经过短消息协议标准编码才能发送出去。要对短信编码,必须要对由ESTI制订的SMS规范有所了解技术实现(含编码方式)GSM 03.38、GSM 03.40SMS的DTE-DCE接口标准(AT命令集):GSM 07.05三种方式来发送和接收SMS信息:Block ModeText Mode:纯文本方式,可使用不同的字符集,也可用于发送中文短消息,主要用于
10、欧美地区。PDU Mode:PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式,2 需求分析过程,需求分析过程主要是理解客户需要什么、分析要求、评价可行性、协商合理的方案、无歧义地详细说明方案、确认规格说明、管理需求以至将这些需求转化为可行系统过程包括:初步沟通导出需求分析和精化可行性研究协商与沟通规格说明需求验证变更管理,2.1 初步沟通,业务领域的共利益者(如业务管理人员,市场营销人员,产品管理人员)定义业务用例确定市场的范围初略地可行性分析确定项目范围的工作说明,2.2 导出需求,导出需求应理解问题:范围问题:系统的边界,是客户和开发者共同关心的部分理解问题:确
11、定业务需求、需求冲突、说明有歧义和不可测试的需求易变问题:分清需求稳定部分和易变部分收集活动:识别真正的客户/用户正确理解客户的需求耐心听取客户意见和思考尽量使用符合客户语言习惯的表达,2.3 分析和精化,开发一个精确的技术模型,用以说明软件的功能、特征和约束。精化是一个分析建模动作,由一系列建模和求精任务构成定义了问题的信息域,功能域和行为域,2.4 可行性研究,可行性研究的目的是确定用最小的代价,在尽可能短的时间内确定问题是否能够解决可行性研究的输入是系统的一个框架描述和高层逻辑模型输出是一份需求开发评价报告,对需求工程和系统开发是否值得做的具体建议和意见三个问题:系统是否符合机构的总体要
12、求?系统是否可以在现有的技术条件、预算和时间限制内完成?系统能否把已存在的其他系统集成?,可行性研究的任务,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解决。一般来说,至少应该从下述四个方面去研究每种解法的可行性:技术可行性:使用现有的技术能实现这个系统吗?经济可行性:这个系统的经济效益能超过它的开发成本吗?操作可行性:系统的操作方式在这个用户组织内行得通吗?时间可行性:能在预定时间内完成吗?可行性研究最根本的任务是对以后的行动方针提出建议。,2.5 协商与沟通,调节冲突和问题需求排序识别和分析与每项需求
13、相关的风险、开发工作量、成本和交付时间,2.6 软件需求规格,一个规格说明可以是一份写好的文档、一套图形化的模型、一个形式化的数学模型、一组使用场景、一个原型或以上各项的任意组合。软件需求规格(SRS,Software Requirement Specification)是需求分析任务的最终“产品”,它是客户、管理者、分析工程师、测试工程师、维护工程师交流的标准和依据。软件需求规格描述了系统的数据、功能、行为、性能需求、设计约束、验收标准、以及其他与需求相关的信息。分为:用户需求和系统需求,用户需求描述示例,2.1 处理销售:完成一次销售过程。2.1.1 基本流程:(1)顾客携带所购商品或服务
14、到收银台通过POS机付款;(2)收银员开始一次新的销售交易;(3)收银员输入商品条码;(4)系统逐条记录销售的商品,并显示该商品的描述、价格和累计额;重复(3)(4),直到输入结束;(5)系统显示总额;(6)收银员告知顾客总额,并请求付款;(7)顾客付款,系统处理支付;(8)系统记录完整的销售信息,并将销售金和支持信息发送到外部的帐务系统和库存系统;(9)系统打印票据;(10)顾客携带商品和票据离开。2.1.2 扩展流程:.,系统需求,系统需求是比用户需求更详细的需求描述,是系统实现的基本依据系统需求描述可能包括许多不同的模型,如对象模型和数据流模型,软件需求各组成部分之间的关系,软件需求规格
15、说明的原则,从现实中分离功能,即描述要“做什么”而不是“怎样实现”采用一定的规格说明语言如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中规格说明应该包括系统运行环境规格说明应该是一个认识模型规格说明应该容许不完备性并允许扩充,需求规格文档标准,1 引言 1.1 编写目的 1.2 项目背景(单位和与其他系统的关系)1.3 定义(专门术语和缩写词)2 任务概述 2.1 目标 2.2 运行环境 2.3 条件限制3 数据描述 3.1 静态数据 3.2 动态数据 3.3 数据库描述 3.4 数据字典 3.5 数据采集,4 功能需求 4.1 功能划分 4.2 功能描述5
16、性能需求 5.1 数据精确度 5.2 时间特性 5.3 适应性6 运行需求 5.1 用户界面 5.2 硬件接口 5.3 软件接口 5.4 故障处理7 其他需求(检测或验收标准、可用性、可维护性、可移植性、安全保密性),2.7 需求验证,需求验证是软件需求阶段的一个重要环节,未经验证的需求给项目成功带来较大的需求风险需求验证对需求文档和制品进行质量评估,确保需求说明准确、完整包括以下内容:正确性一致性完整性可行性必要性可检验性需求的可跟踪性最后签字,需求变更的原因多种多样,但管理变更,应确立以下原则:(1)认识到变更是不可避免的,为变更指定计划;(2)确定需求基线;(3)建立控制变更的唯一渠道(
17、4)使用变更控制系统来控制变更过程;(5)分层次地管理变更。,2.8 需求变更管理,需求变更管理,需求变更管理是组织、控制和文档化需求的系统方法建立基线以便在客户和开发人员之间建筑一个约定需求管理从标识开始,建立跟踪表需求跟踪表可以跟踪需求的特征、来源、依赖、子系统和接口等关系,通用跟踪表,3 启动分析过程,确定共利益者:直接或间接从正在开发的系统中获益的人。例如,POS机系统中的共利益者有:收银员,售货员,顾客,公司,经理,支付授权服务,帐务系统和库存系统等识别视点:从不同的视角看待该系统。比如,收银员关心准确、快速生成一次销售,且没有支付错误;售货员关注销售提成协同工作:共利益者之间的协作
18、首次提问:集中于客户和其他共利益、整体目标、收益等,4 非形式化需求分析技术,会谈:正式会谈:提出一些可自由回答的问题非正式会谈:提出一些事先准备好的议题情景分析:需求分析从对场景的评论中得到信息,然后再将其以形式化方式表示出来。使用调查表制定调查表分析建立原型界面执行过程,场景分析,分析员与项目相关人员共同识别出情景,并捕获这些情景的细节。把细节加入到一个纲要的需求描述中时,情景特别有用情景是对交互实例片断的描述,每个情景可能包含一个或多个交互,它们能在不同的细节层次上提供不同类型的情景信息情景开始于一个框架,在导出过程中,细节被逐渐增加,直到产生交互的一个完整的描述,情景,一个情景可能包括
19、如下内容:在情景开始部分有一个系统状态描述;一个关于标准事件流的描述;一个关于哪儿会出错,以及如何处理错误的描述;有关其他可能在同一时间进行的活动的信息;在情景完成后系统状态的描述,5 实例分析5.1 出卷系统,用户:教师:关注如何出一份合理的试卷,并能根据样式打印与输出。学生:关注如何通过生成一些模拟试题,并在线学习和检查学习结果。题库维护人员:关注试题的添加、更新和删除等工作。视点:教师关注自动出卷、手工出卷、试卷编辑和试卷输出。学生关注随时抽卷、联系试卷和评价分析。题库维护人员关注试题管理。,出卷系统的功能需求,自动出卷:系统根据教师的要求自动生成一份合理的试卷。手动出卷:教师手动从候选
20、的试题中挑选题目。随机抽卷:系统随机抽取试题生产一份试卷。在线练习:学生可以在线做练习和查看答案。在线评价:系统在线评价学生练习的情况。试题管理:管理人员维护题库中的试题。试卷编辑:更新试题。试卷输出:根据某个样式输出试卷。,5.2 POS机系统,收银员:能够准确、快速地输入,而且没有支付错误,因为如果少收货款,将从其薪水众扣除。售货员:自动更新销售提成。顾客:希望以最小代价完成购买活动并得到快速服务。便捷、清晰地看到所输入的商品项目和价格。得到购买凭证,以便退货。公司:希望准确地记录交易,满足顾客要求。确保记录了支付授权服务的支付票据。有一定的容错性。能够自动、快速地更新记帐和库存信息。经理
21、:能够快速执行超控操作,并易于更正收银员的不当操作。支持授权服务:依据正确的通信格式进行授权服务。库存系统:正确的方式更新库存信息。记账系统:能够准确地记录每次销售支付信息。,POS机系统主要功能需求,处理销售:收银员完成一次销售记录,并出具票据和更新库存系统和帐务系统。处理支付:完成一次销售对应的支付,包括现金支付,信用卡支付和支票支付。处理退货:根据顾客请求完成商品退货处理。办理会员卡:注册、注销和更新会员记录。,5.3 图书馆系统,图书馆系统的共利益者与视点有:图书流通管理:负责图书借还工作。用户:希望快速得到借书,还书服务,能够续借、预约图书,以及查询个人和图书信息。编目管理员:负责图
22、书的管理、用户管理和处理罚金等。,图书馆系统的主要功能需求,图书借出:管理员完成一次借书过程。图书归还:管理员完成一次还书过程。图书预约:用户查询要借的图书,若不能借,可预约该图书。图书续借:用户可以将图书的归还日期延长一段时间。图书管理:添加新书。更新图书馆信息,销毁图书。用户管理:注册新用户,更新用户信息,注销用户。处理罚金:用户缴纳罚金吼,系统将罚金数额清零。,5.4 短信系统,本系统共利益者和视点有:收发人员:负责发送短信给用户或接受用户的短信。用户管理:添加用户,更新用户信息,删除用户。本系统主要功能需求有:短信发送:填写发送内容,选择发送用户,并指明是否要回执,然后发送短信。(通过
23、无线终端或短信网关)短信接收:从无线终端或短信网关读取短信内容,并显示查看。用户管理:添加新用户,更新用户信息,删除用户。,5.5 ATM系统,银行客户:接受系统服务;银行的代表:银行间自动柜员机有互惠协议;支行管理者:从该系统中获得管理信息;支行柜台职员:负责系统日常运转和处理客户意见;数据库管理者:负责系统和客户数据库集成;银行信息安全管理者:负责保证系统信息安全;银行市场开发部:将该系统视为银行市场开拓手段;硬件和软件工程师:负责硬件和软件维护及升级。,ATM系统主要功能需求,存款:从ATM机上存钱到指定账户上。取款:从指定账户上取一定数量的货币。转账:从一个账户取出一定数量的货币,然后
24、转存到另一个账号上。查询余额:察看指定账户的余额。修改密码:修改账户密码。,总结需求分析流程,需求分析通信途径,系统分析(详细业务调查),1、原则:1)自顶向下;2)用户参与;3)工程化;4)全面与重点相结合;5)友善的工作方式。,2、调查范围 1)组织机构与功能业务;2)数据和数据流程;3)业务流程;4)决策方式及过程;5)可用资源与限制条件 6)现存问题及改进。,3、调查方法 1)召开调查会;2)访问;3)发调查表;4)参加业务实践。,某出版社系统调查表,组织结构与功能分析,组织结构图是一张反映组织内部之间隶属关系的树状结构图。组织业务关系图,业务流程分析,需求:组织的某些部分不能完整地反
25、映该部分所包含的所有业务,所以要改变随着生产的发展,生产规模的扩大和管理水平的提高,组织的某些部分业务范围越来越大,功能也越来越细,由原来单一的业务派生出许多业务。这些业务在同一组织中由不同的业务人员分管,其工作性质已经逐步有了变化。这些变化将引起组织本身的变化,裂变出一个新的、专业化的组织,由它来完成某一类特定的业务功能。以功能为准绳来设计和考虑系统,系统将会对组织结构的变化有一定的独立性。以业务功能分析为基础,获得一张业务功能表所以:系统必须以业务为中心,业务功能与组织结构保持相对的独立性从组织结构直接转变为系统功能结构是初级系统分析师的第二个常犯的错误,业务功能图,销售系统管理,销售计划
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 建模
链接地址:https://www.31ppt.com/p-6441993.html