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