1、需求分析需求分析需求需求导致项目失败的罪魁祸首导致项目失败的罪魁祸首l根据Standish Group对23000个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约26%的项目获得成功。l而在于这些高达74%的不成功项目中,有约60%的失败是源于需求问题。l也就是说,有近45%的项目最终因为需求的问题最终导致失败。我们在哪里重重摔了一跤我们在哪里重重摔了一跤l在Standish Group的报告中总结了导致项目失败的最重要的8大原因中,有5个与需求相关:l不完整的需求(13.1%);l缺乏用户的介入(12.4%); l不实际的客户期望(9.9%);l需
2、求和规范的变更(8.7%);l提供了不再需要的(7.5%)缺乏资源(10.6%),没有执行层支持(9.3%),缺少规划(8.1%)项目成功的因素项目成功的因素l用户的参与:15.9%l管理层支持:13.9%l清晰的需求描述(13.0%);l合适的规划(9.6%); l现实的客户期望(8.2%);l较小的里程碑(7.7%);l有才能的员工(7.2%)软件需求曾经让我们如此狼狈软件需求曾经让我们如此狼狈参与各方都以自已角度讲述问题参与各方都以自已角度讲述问题分布式 WebServices 三层对话框 菜单条 DCOMB/S 数据交换财务计算 管理报表 工作流自动库存控制 库存报警业务线索管理 业务
3、经线索跟踪销售月报生成 交易流数据 问题的根源是什么?问题的根源是什么?l用户说的不是他想的:用户说的不是他想的:客户提供(陈述的需求)的需求并不是真实的需求,还需要作进一步的分析,以确定客户的真正需求和期望,接下来需要澄清并重新描述。可以这么说客户在理解基础业务过程和描述自己的需求方面有很大的差异。l需求分析方法有问题:需求分析方法有问题:系统开发人员使用低效的需求分析和项目管理方法。l共同责任强调不足:共同责任强调不足:对客户和提供商在项目成功的共同责任方面强调不够。优秀的团队遇到糟糕的需求优秀的团队遇到糟糕的需求l用户参与不足l用户需求扩展l有歧义的需求l过于抽象的需求l忽略某种用户l不
4、准确的计划l我们应该怎么办?我们应该怎么办?l对“需求”建立正确的认识;l客户和供应商一根绳子上的两个蚂蚱;l和客户一起建立起“共同的目标”;l寻找并使用正确的、有效的需求捕获、描述(建模)、管理方法;l动态、持续地适应需求的变化;需求是什么?需求是什么?业务需求业务需求l业务需求是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求 。l背景描述:XX保险公司希望充分利用日益完善的移动通信技术,在原有的办公系统的基础上进行扩展,使得在外的业务人员能够及时地获得客户、业务相关的动态信息,与此同时,实现企业内部的即时通信。l业务需求/目标 :通过该系统的实施,将人工保费
5、续缴、投保手续办理两项业务运转周期缩短10以上,使企业内部沟通效率大幅改善,以帮助企业运转效率得以提高。 业务目标示例业务目标示例某船厂商业管理系统目标:A1.取代过时的系统A2.集成订单文档及数据库A3.使用经验数据进行报价A4.支持系统化的销售A5.快速捕获成本数据A6.加快发票的制作某医院管理系统目标:B1.降低IT成本人事部门:B2.实现一些任务的自动化B3.消除出错源B4.遵守最后期限B5.减少繁琐工作医院部门:B6.减少加班及工作量不足的情况B7.更快速的勤务规划B8.改进勤务表质量业务需求就是定义系统目标业务需求就是定义系统目标l目标在哪里?业务需求是构建在“项目发起人”的脑子里
6、的,也就是谁提出项目,谁就拥有对“业务需求”的最清晰的理解。l引出宏观的目标:思考企业运作中存在什么问题?这些问题主要是体现在哪些方面?这些问题对企业造成了什么影响?认为可以怎么解决?希望达到什么样的效果?l将大任务分解成为小目标,并且引导客户良好地定义,这也是我们形成“项目子目标描述”的关键基础。l衡量这些目标的合理性与可行性。业务需求就是定义系统目标业务需求就是定义系统目标l形成一个不超过50字的项目目标,并且列出5-9个主要子目标,并且将其制作成一页文档,作为“项目的行动纲领”,还应该得到“项目发起人”的认可。l在此基础上,可以编写“项目的目标和范围文档”(或称项目综述,即POS,内容包
7、括问题/机会、项目目标、项目目的、成功标准、假设/风险/障碍),对于产品而言,我们还可以构建一个从市场角度分析的“愿景”文档。l该部分工作是处于“需求过程”的金字塔尖,多花费一些时间和精力是值得的,也是必要的。 业务需求就是定义系统目标业务需求就是定义系统目标l有了清晰的目标之后,还应该对系统划定范围:用户需求用户需求l用户需求是指描述用户使用产品必须要完成什么任务,怎么完成的需求,通常是在问题定义的基础上进用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度的需求。 l用户有不同类型: 管理型、事务型 信息系统、人 决策层、使用层 常用者、偶用者系统需求系统需求l解释一:系统需求是相
8、关联的硬件、软件系统对待开发系统的相关需求。 l解释二:从系统实现的角度描述的需求。l开发人员(设计及分析人员)在业务需求、用户需求的基础上生成的。功能需求功能需求l功能需求是需求的主体,是需求的本质l功能需求定义了:系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作 l零散(需求项)整理(特性、用例)l敏捷方法:用户故事质量属性质量属性l产品必须具备的属性或品质 l可靠性:成熟性、容错性、易恢复性l易使用性:易理解性、易学习性、易操作性l效率:时间特性、资源特性l可维护性:易分析性、易更改性、稳定性、易测试性l可移植性:适应性、易安装性、一致性、易替换性设计约束设计约束
9、l也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。l例如:必须采用国有自主知识版权的数据库系统l再如:必须运行在UNIX操作系统之下优秀的需求优秀的需求l完整性:完整描述即将交付使用的功能,发现缺少某项信息正确性:经过用户或用户信任的代理人审阅l可行性:在已知能力和约束条件中实现l必要性:每项需求记录的功能都应是用户真正需要的l有优先次序:提供了实现优先级l无歧义:对所有读者只有一种一致的解释l可验证性:可以设计测试方法来检查检查表示例需求错误的代价需求错误的代价需求:需求:1 1设计:设计:5 5编码:编码:1010测试:测试:20-5020-50运行与维护:运行与维护:2002
10、00信息系统立项前的分析方法信息系统立项前的分析方法lG(目标):要确定需要开发某个信息系统之前,应该分析其应该达到的目标:业务性、可度量lP(问题):要达到该目标所需解决的问题!lO(选项):针对这些问题可选的解决方案lA(答案):针对各种Option进行分析、评估,最终确定答案。信息系统立项可行性分析信息系统立项可行性分析l确定目标:信息系统实现前,信息系统实现后l提出解决方案:分析P,给出O,得出Al可行性分析: 效益分析:经济可行性,投资回报 社会可行性 技术可行性信息系统立项时的常见误区信息系统立项时的常见误区l目标:含混不清,过为宏观 Solution: 基于业务需求思考l解决方案
11、:思路过于受限 Solutions: 只想What,别想How 了解、理解IT技术l期望值:脱离现实l发起人、用户、使用者想法不一致 问题分析的四个步骤问题分析的四个步骤l问题分析:理解真实世界中的问题和用户的需求并提出满足这些多方面要的解决方案的过程l在问题定义上达成共识l理解根本原因问题背后的问题l定义解决方案系统的界限l确定加在解决方案上的约束在问题定义上达成共识在问题定义上达成共识l把问题写下来,看每个人是否都同意l采用标准化格式: 问题:描述问题 影响:确定受问题影响的风险承担人 结果:确定问题对风险承担人和商业活动的影响 优点:指出解决方案并列出主要优点理解根本原因理解根本原因问题
12、背后的问题问题背后的问题理解原因后对问题的陈述理解原因后对问题的陈述l问题:不准确的订单l影响:订单操作者、客户、生产者、销售者及客服l结果:增加废品、额外处理成本、客户不满及收益降低l成功的解决方法: 增加输入点订单的准确性 增加销售数据的报告以便进行管理确定涉众和用户确定涉众和用户l系统的用户是谁?l还有哪些人会受系统输出的影响?l系统完成并投入使用后,有谁会对它进行评估?l还有没有其他系统内部或外部用户,他们的需要有没有必要被考虑到?l系统将来由谁维护?l还有其他人吗?定义解决方案系统的界限定义解决方案系统的界限l谁会对系统提供信息?谁会在系统中使用信息?谁会从系统中删除信息?l谁将操作
13、该系统?l谁是系统的维护者?l系统将会在哪儿被使用?l系统从哪儿得到信息?l哪些外部系统要和系统进行交互?确定加在解决方案上的约束确定加在解决方案上的约束l经济约束:预算?l行政约束:存在许可问题?潜在内外部政问题?部门间问题?l技术约束:技术选择有何限制?限制在已有平台或技术上?禁止使用新技术?需要购买软件包?l系统约束:建立在现有系统上?需要维护与原系统的兼容性?必须支付什么操作系统?l环境约束:合法吗?安全性要求?其他标准限制?l进度及资源:进度要求?已有资源?外部劳动力可用否?有无扩展资源?确定加在解决方案上的约束确定加在解决方案上的约束l操作性:销售订单数据必须在数据库中备份一年,因
14、为数据丢失风险太大,需并行运行至少一年的数据l系统及操作系统:应用在服务器上占用不超过200M,因为服务器上存储空间有限l设备预算:必须在已有服务器和主 机上开发l人员预算:固定的人力资源,没有外部资源l技术要求:应用新的面向对象的方法需求开发与管理需求开发与管理需求开发活动需求开发活动需求获取需求获取l应收集什么信息: 问题的描述 要求解决的问题列表(需求) 用户对解系统的行为或结构施加的任何约束l信息来源: 客户(实际的和潜在的) 任何原有解系统(已有系统)及其文档 原有系统用户 / 新系统的潜在用户 应用(问题)领域专家 定义了任何接口系统的特片和行为的文档 相关的技术标准和法规需求获取
15、技术需求获取技术阅读背景资料阅读背景资料头脑风暴头脑风暴讨论分析讨论分析文档考古文档考古面谈(用户访谈)面谈(用户访谈)联合应用设计联合应用设计用户调查用户调查需求剥离需求剥离现场观摩现场观摩任务观察任务观察用例和场景用例和场景需求获取的误区需求获取的误区l缺乏计划性:随意、走过场,预先没计划l缺乏科学性:未从本质入手l捕获对象不明确,甚至造成岐义l过于迷信现有文档l过于迷信“听”到的东西需求捕获的主要障碍需求捕获的主要障碍l大多数情况下,系统相关的人员无法陈述自己的需要l许多用户难以解释所执行的任务,更难解释为什么执行这些任务l相关人员经常指定解决方案而不是需求l相关人员也难以构想出新的工作
16、方法,或者想像出使用提供的方法执行熟悉的任务所能够得到的结果l不同的相关人员可能持有相互矛盾的观点l相关人员经常出于抵制变更而拒绝新系统l需求可能过多过度的需求l需求随着时间而变化需求捕获的各方职责需求捕获的各方职责l用户、顾客和客户:有责任向需求分析师提供他们的工作知识l需求分析师:理解用户所说的关于工作的事情,并将其解释成产品的需求规格说明 观察和学习该项工作,从用户角度来理解它 用户对某项工作的描述必须作为事实来对待,要发现工作的本质,而非表象 发明完成该工作更好的方法 以需求规格说明书和分析模型的方式记录用户在需求捕获过程中的角色用户在需求捕获过程中的角色l作为设计组、专题讨论会的成员
17、,参与设计用户界面l作为知识来源,提供任务、商业过程的当前执行情况l参与集策讨论会,提供构想、确定问题l作为测试用户,在验收时测试系统检查能否正常工作l作为审查者评估用户界面l进行可用性测度,尝试使用新的用户界面执行任务需求心理学需求心理学常见现象常见现象l言过其实心理:说的流程是一种理想化流程,与实际情况严重不符l越俎代疱心理:对非自己处理的流程津津热道,根据自己的理解、想像进行肯定的描述l非正事心理:一直忙于工作,无瑕配合需求调研l抗拒心理:新系统对其利益有损,故意不配合l推卸责任心理:装不知,说没需求需求变化的预期需求变化的预期l流程变化:流程顺序变化,流程细节变化,流程负责人变化,流程
18、输入变化,流程输出变化。l数据变化:数据格式变化、数据规则变化、数据输出变化、数据项变化l业务规则:规则增加、规则减少、规则变化l系统表现形式变化:界面、风格、输入形式、展现方式、访问方法、网络环境系统化地组织需求捕获系统化地组织需求捕获l应该搜集什么信息?应该搜集什么信息?细化地研究流程图,看看是否已经对每个环节、每个步骤都清楚地认识了。我们应该根据自己的理解首先对每个流程的工作进行定义,写出事件流,并且标识出疑问点,这些都将使我们明白“应该收集什么信息”。l从哪搜集这些信息?从哪搜集这些信息?流程涉及到什么部门、岗位,答案就应该从谁身上找。l用什么机制来搜集?用什么机制来搜集?需求捕获技术
19、有多种,重点在于因地制宜地使用不同的机制流程图流程图用户访谈用户访谈l用户访谈用户访谈:最基本、最常见的技术l利:直接有效、形式灵活、交流深入,应该做为主要的需求捕获技术(宽带通信、固有灵活性、各类信息)l弊:占用时间长(特别当客户忙时更显示出其不足)、面窄而容易造成信息的片面性。l要点:首先要有准备:通常包括说明对流程的理解,并征得客户的意见;预先根据流程中的不明确点设计要询问的问题,并将客户的反馈记录下来;应留有一些即兴的空间,根据实际情况应变,以确保信息完善。第二是要有计划性:计划好时间、计划好人员、计划好策略。用户访谈:询问的问题用户访谈:询问的问题l问题类型:待解决的问题、开发解决方
20、案的过程、需求获取本身l需求获取本身的问题: 我的问题看起来相关吗?你的回答正式吗?你的回答正式吗? 你是回答这些问题的最佳人选吗?你是回答这些问题的最佳人选吗? 我问了太多的问题吗? 还有其他什么我该问你的? 你想问我什么? 我还应该见其他什么人? 关于这个项目有什么人我们不需要?用户访谈:主要困难用户访谈:主要困难l缺乏对所需要的人的访问(知道最多的人最忙)l在面谈时记录信息很困难l被访谈人会试图说他们认为你想要听的话l访谈人用诱导性问题提问l束缚关键职员的有关费用l由不同领域知识和行话引起的交流困难l隐蔽的动机和组织政策产生错误信息用户调查:概述用户调查:概述l用户调查:用户调查:调查面
21、最广的技术l利:面广,能够获得更多的人的反馈。这点是对用户访谈技术不足之处的最好补充。l弊:不够深入,容易形而上学。而这点是正是用户访谈技术所能够解决的。l要点:结合用户访谈技术使用,具体来说:先设计问题,制作成为用户调查表,下发填写完后,进行仔细的分组、整理、分析,以获得基础信息,然后再针对这个结果进行小范围的用户访谈,作为补充。用户调查:主要用途用户调查:主要用途l搜索某项假设的统计依据搜索某项假设的统计依据:设计一些封闭的问题,例如“从现有系统中取得客户统计资料的难易程度:非常困难、相当困难、容易、非常容易”l搜索意见、建议搜索意见、建议:询问与用户访谈类似的开放性问题,例如“日常工作中
22、的三个最大问题是什么?”,“你对能够更好地支持日常工作的IT系统有什么建议”。-误解你的问题,你误解他的回答现场观摩:概述现场观摩:概述l现场观摩:现场观摩:最生动的技术l利:百闻不如一见,能够对需求与业务流程建立直观的认识。l弊:消耗时间长,而且由于“被观摩”的微妙心理变化,会使得“观摩”失真。l适用性:要对于复杂流程的更加深入的理解时。l要点:悄悄地进行,明确要强化理解的具体流程环节。现场观摩:常用变体现场观摩:常用变体l任务示范:任务示范:要求用户示范如何执行特定的任务l利:可用于发现异常的、关键性的任务l弊: “示范”失真、耗时l做学徒:做学徒:和用户坐在一起,通过观察、问问题、并在用
23、户指导下完成一些工作来学习l适用性:用户无法详细解释清楚他们在做什么时l“人们正在做一件事时,最能解释他们在做什么,为什么要这么做”l需求分析员可以通过学徒关系试验他的需求和设计思想联合开发:概述联合开发:概述l联合开发:联合开发:最理想的技术l利:客户、开发人员直接的头脑风暴,是击破需求盲点的关键手段。l弊:成本高,如果缺乏控制会变成一次闲扯大会。l要点:需要有一个经验丰富、能够把控大局的主持人。联合开发:优点联合开发:优点l协助建立一支高效的团队,围绕一个目的:项目成功l所有风险承担人都畅所欲言,没人被落下l正如应用项目所必须做的,它促进风险承担人和开发团队之间达成共识l它能够揭露和解决那
24、些妨碍项目上成功的行政问题l能够产生一个在特征级别上的初步系统定义需求开发与需求管理的分界需求开发与需求管理的分界需求基线管理需求基线管理l频繁的需求变更会破坏开发的节奏,使整个项目开发的进度陷入混乱和失控的状态,而且会变成一个“救火队”式的工作,整天都在处理突发事件l将所有现在的、将来的需求进行优先级评估,然后分解成为不同的组,每次迭代都选择其中优先级最高的部分进行开发,然后在迭代完成之前,开发工作不响应变更,这些划入的需求项就是需求基线的组成部分 需求基线管理需求基线管理操作思路操作思路l我们应该在分析的基础上,将需求整合成为用例或功能项,然后对其进行优先级、依赖性进行综合性评估l优先级判
25、断:业务人员确定业务决定,技术人员确定技术决策;“满意度/不满意度”模型l依赖性是指对于某些功能,在实现上有必须的依赖关系,即当某些功能没有实现时,另外的功能无法开始,这就需要对其进行调整需求变更管理需求变更管理l需求变更是一定存在的,而需求变更管理并不是指逃避它,更不是说要避免它,它实际上是希望控制变更 l在基线内的需求不响应变更,为开发人员提供一个安静的工作时间状态 l专门的需求变更管理来对所有的需求变更进行响应,了解需求变更的关键意图、新产生的工作量,从而良好地进行重新计划,以便能够有效地解决其对整个开发带来的麻烦 需求变更管理需求变更管理变更的流程变更的流程l提出变更:正式的方式提交变
26、更是很重要的,合约式的沟通平台 l变更评估:合理性评估,进一步了解其变更的主要原因,认清其是否是因为沟通上的误会与不理解而造成的不必要的变更;工作量评估则是评估其对进度的影响;影响面分析则是评估该变更会对哪些部分工作产生影响,具体地说会对哪些人的工作产生影响l分级响应评估:不影响相关模块开发进度的,可直接响应;影响本模块开发进度但不影响项目总体进度的,可由项目经理协调后直接响应;影响项目进度的,则应该交与客户协商响应方式需求跟踪需求跟踪l需求的跟踪是指对需求的完成情况、变更影响进行系统化的跟踪与处理l“需求是不是已经被实现?”、“需求的变化将需要修改哪些设计元素?会影响谁的工作?对已经完成的部
27、分是否有影响?” 需求管理的参与者需求管理的参与者需求分析师需求分析师l需求分析员是对项目涉众的需求进行收集、分析、记录和验证等职责的主要承担者,是用户群体与软件开发团队间进行需求沟通的主要渠道l典型活动:定义业务需求、确定项目涉众和用户类别、获取需求、分析需求、为需求建模、编写需求规格说明、主持对需求的验证、引导对需求的优先级划分、管理需求l必备技能:倾听、交谈和提问的技巧,分析、协调、观察、写作、组织、建模、人际交往和创造能力需求分析师需求分析师l必备知识:现代需求管理技术、各种软件开发生命周期、领域知识l需求分析员的来源:用户转为分析员(软件工程知识欠缺)、开发人员转为分析员(领域知识、
28、沟通能力)、主题专家(易按自己的偏好来构建系统) 系统分析系统分析 l1、组织结构和功能业务l2、组织目标和发展战略l3、工艺流程和产品构成l4、数据与数据流程l5、业务流程与工作模式l6、管理方式和具体业务进行方法l7、决策方式和决策过程l8、可用资源和限制条件l9、现存问题和改进意见 组织结构指的是一个组织(部门、企业、车间、科室等)以及这些组成部分之间的隶属关系或管理与被管理的关系。通常可用组织结构图来表示。厂长计划调度组计划科生产部财务部供销科计划组统计组统计组外协组成本组会计组出纳组供应组销售组仓 库组织结构图 为了实现系统的目标,系统必须具有各种功能。 如何理解 功能 所谓功能,指
29、的是完成某项工作的能力。可以用功能层次图来描述从系统目标到各项功能的层次关系。 销售系统的管理功能图 业务流程应顺着原系统信息流动的过程逐步地进行,内容包括:各环节的处理业务、信息来源、处理方法、计算方法、信息流经去向、提供信息的时间和形态(报告、单据、屏幕显示等)。 管理业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合流理向。 1.车间填写领料单到仓库领料,库长根据用料计划审批领料单,车间填写领料单到仓库领料,库长根据用料计划审批领料单,未批准的领料单退回车间。未批准的领料单退回车间。2.库工收到已批准的领料单后,首
30、先查阅库存账,若有货,则通库工收到已批准的领料单后,首先查阅库存账,若有货,则通知车间前来领取所需物料,并登记用料流水账,否则将通知采知车间前来领取所需物料,并登记用料流水账,否则将通知采购人员缺货。购人员缺货。3.采购人员根据缺货通知,查阅订货合同单,若已订货,则向供采购人员根据缺货通知,查阅订货合同单,若已订货,则向供货单位发出催货请求,否则就临时申请补货。货单位发出催货请求,否则就临时申请补货。4.供货单位发出货物后,立即向订货单位发出提货通知。供货单位发出货物后,立即向订货单位发出提货通知。5.采购人员收到提货通知单后,就可办理入库手续。采购人员收到提货通知单后,就可办理入库手续。6.
31、库工验收入库,并通知车间领料。库工验收入库,并通知车间领料。7.仓库库工还要依据库存账和用料流水账定期生成库存的报表,仓库库工还要依据库存账和用料流水账定期生成库存的报表,呈送有关部门。呈送有关部门。计划处银行技改处各部门各单位局领导上级领导投资总规划更新改造贷款规模开会讨论报表审批综合平衡(讨论)批准下达各单位各部门正式计划计划各单位上报表计划处各部门各单位技改处银行各部门各单位存档 为了用计算机进行信息管理,还必须进一步舍去物质要素,收集有关资料,绘制出原系统的数据流程图,为下一步分析做好准备。p收集原系统全部输入单据、输出报表和数据存储介质(如账本、清单等)。p弄清各环节上的处理方法和计
32、算方法。p在上述各种单据、报表、账本的典型样品上或用附页注明制作单位、报送单位、存放地点、发生频度、发生的高峰时间及发生量等。p并在上述各种单据、报表、账册的典型样品上注明各项数据的类型、长度、取值范围。p现行组织机构p现行各系统或部门的业务流程p各种会议的决议p计算机文件(或数据库)系统的数据组织结构p上级下达的各种文件和各项任务指标p与本单位有关的其它单位的有关信息p其它各种报表、报告、图表 数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。 数据流程图具有抽象性,表现在它完全舍去了具体的物质(如业务流程图中的车间、
33、人员等),只剩下数据的流动、加工处理和存储;数据流程图具有概括性,它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。外 部 实 体处 理 过 程数 据 存 储数 据 流 向l不受系统控制,位于系统边界以外l数据处理的外部来源和去处l为避免交叉,可出现若干次。名称标识功能描述完成者l标识:数字(编号、层次)l功能描述:祈使句(动+名)l逻辑描述l数据存储的地方l,表示流动的方向l名称(名词)l唯一与其他图例都有联系名称 为了使图形清晰,避免流线交叉,同一外部实体可在不同处出现。外部实体要有标记。同一实体在不同处出现,要在右下角打上斜线。外部实体 数据流可以是双向的。数据流上要有文字说明
34、,也可以加符号。数据流 处理块的画法可以有标识、功能描述、实行的部门或程序名。 处 理l数据存储也有标识和名称。l指向数据存储的数据流箭头说明是读出还是写入。l有时可用小三角形来表示搜索关键字。数据存储厂办统计表销售统计用户合同合同登记处理合同数据合同台账合同执行登记销售分配处理库存台账车间入库单入库处理入库数据出库数据查 询查询出库处理发货处理发货通知出 库 单 出 库 单财务科p首先画出顶层(第一层)数据流程图。顶层数据流程图只有一张,它说明了系统的总的处理功能、输入和输出。p下一步是对顶层数据流程图中的“处理”进行分解。 (1)数据流程图是分层次的,绘制时采取自顶向下逐层分解的办法。 (
35、2)数据流程图分多少层次应现实际情况而定,对于一个复杂的大系统,有时可分至七八层之多。为了提高规范化程度,有必要对图中各个元素加以编号。 (3)通常在编号之首冠以字母,用以表示不同的元素,可以用P表示处理,D表示数据流, F表示数据存储, S表示外部实体。例如: P3.1.2表示第三子系统第一层图的第二个处理。 按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图,一边整理绘图,一边核对相应的数据和报表、模型等。如果有问题,则定会在这个绘图和整理过程中暴露出来。由于实际数据处理过程常常比较繁杂,故应该按照系统的观点,自顶向下地分层展开绘制。黑 灰 半
36、透明 透明分层数据流程图IDEF0图用户P1销售处理订货单发货单 (3)与规划中的企业模型相对应p外部项的确定也就是规定了系统与外部环境的分界线 (1)首先确定系统的外部项 (2)高层流程图与中、低层流程图的分工p高层中只画出系统正常运行时的主要输入和输出。p对于错误或例外条件所产生的数据流不在高层中反映。 (4)按从左到右、从上到下的原则进行 (5)反复修改,仔细检查,保证其正确性。p采用“自顶向下”的原则进行p是否有遗漏的数据处理功能p有关数据载体部分是否与业务流程图一致 (1)检查DFD和TFD的一致性 (2)检查DFD的一致性和完整性p检查数据流,确认数据流是否有遗漏或多余p检查数据存
37、储,是否没有被业务过程使用或没有生成它的业务过程(根据C/U矩阵的判别标准来进行)p检查处理功能,所有的处理功能都应有输入数据流或从数据存储中检索数据,也要有输出的数据流或向数据存储中发送数据。第一层数据流程图(环境图)第二层数据流程图第三层数据流程图 是在新系统数据流程图的基础上,进一步定义和描述所有数据的工具,包括对一切动态数据(数据流)和静态数据(数据存贮)的数据结构和相互关系的说明,是数据分析和数据管理的重要工具,是系统设计阶段进行数据库(文件)设计的参考依据。 主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。 数据项又称数据元素,
38、是数据的最小单位。 分析数据特性应从静态和动态两个方面去进行。在数据字典中,仅定义数据的静态特性。1.数据项的名称、编号、别名和简述;2.数据项的长度;3.数据项的取值范围。 数据结构描述某些数据项之间的关系。一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。1.数据结构的名称和编号;2.简述;3.数据结构的组成。 数据流由一个或一组固定的数据项组成。定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。 处理逻辑的定义仅对数据流程图中最底层的处理逻辑加以说明。 数据存储在数据字典中只描述数据的逻辑存储结构,而不涉及
39、它的物理组织。 外部实体定义包括:外部实体编号、名称、简述、及有关数据流的输入和输出。库存量 欠款时间 30天100天 30天100天需求量需求量库存量库存量库存量先按库存发货,进货后再补发先付款,再发货立即发货不发货通知先付欠款 处理方案 这是一张用于查找产品并计算金额的判断树,以说明对不同交易额、不同信誉、不同交易时间的顾客所采取的不同优惠待遇。 判断树比较直观,容易理解,但当条件多时,不容易清楚地表达出整个判别过程。 l 判断表(决策表)可以清晰地表达条件判断表(决策表)可以清晰地表达条件、决策规则和应采取的行动之间的逻辑关系、决策规则和应采取的行动之间的逻辑关系。决策规则号决策规则号1
40、23456条条 件件欠款时间欠款时间3030天天YY N N N N欠款时间欠款时间100100天天N N Y Y N N需求量需求量库存量库存量Y N Y N Y N应采应采取的取的行动行动立即发货立即发货 先按库存量发货先按库存量发货, ,进货后再补进货后再补发发 先付款先付款, ,再发货再发货 不发货不发货 要求先付欠款要求先付欠款 条件语句行动语句条件项行动项l 是一种模仿计算机语言的处理逻辑描述是一种模仿计算机语言的处理逻辑描述方法。它使用了由方法。它使用了由IF、THEN、ELSE等词组成的规范化语言。等词组成的规范化语言。 在原系统详细调查的基础上进行系统分析是提出新系统逻辑模型
41、的重要步骤。这一步骤通过对原有系统的调查和分析,找出原系统业务流程和数据流程的不足,提出优化和改进的方法,给出新系统所要采用的信息处理方案。 根据详细调查对可行性分析报告中提出的系统目标作再次考察,对项目的可行性和必要性进行重新考虑,并根据对系统建设的环境和条件的调查修正系统目标,使系统目标适应组织的管理需求和战略目标。 分析原有系统中存在的问题以对现有业务流程进行重组,产生新的更为合理的业务流程。 业务流程分析过程包括以下内容 :p原有流程的分析p业务流程的优化p确定新的业务流程p新系统的人机界面 与业务流程的改进和优化相对应,数据流程的分析和优化一直是系统分析的重要内容。数据流程分析的内容
42、:p原有数据流程的分析p数据流程的优化p确定新的数据流程p新系统的人机界面 为了实现系统目标,系统必须具备一定的功能。功能就是做某项工作的能力。 目标可看作是系统,第二层的功能可看作是子系统,再下面就是各项更具体的功能。 数据用属性的名和属性的值来描述事物某方面的特征。一个事物的特征可能表现在各个方面,需要用多个属性的名和其相应的值来描述。 指分析数据的类型、数据的长度、取值范围和发生的业务量。静态特性n 固定值属性n 固定个体变动属性n 随机变动属性 动态特性属性名属性的值固定值属性固定个体变动属性随机变动属性 数据存储分析是数据库设计在系统分析阶段要做的工作。 数据存储分析包括以下内容 :
43、p分析用户要求,也就是调查清楚用户希望从MIS中得到哪些有用信息。p然后通过综合抽象,用适当的工具进行描述。 通过调查和分析,将用户需要查询的问题列出清单或给出查询方式示意图。 除明确数据查询要求外,还应对各种输出报表的目的和使用范围进行分析,弄清哪些报表是多余的,或者是不符合实际要求的,系统的处理速度和打印速度是否能满足输出的要求等。 分析各种数据输入的目的和适用范围、数据量的大小以及存在的问题。 新系统的数据流程图是在以上分析过程中逐步完善的。 这是一项需要经过多次反复的、去伪存真的细致工作。为了明确新系统的人机接口,还应在绘成的数据流程图上标明哪些部分由计算机完成,哪些部分由人工完成。
44、数据处理的方式可分为两类: 按一定时间间隔(小时、日、月)把数据积累成批后一次输入计算机进行处理。 特点是费用较低而又可有效地使用计算机。成批处理方式p固定周期的数据处理p需要大量的来自不同方面的数据的综合处理p需要累计一段时间后才能进行的数据处理p没有通信设备而无法采取联机实时处理的情况 面向处理,数据直接从数据源输入中央处理机进行处理,由计算机即时作出回答,将处理结果直接传给用户。 特点是及时,但费用较高。 联机实时处理方式p需要反应迅速的数据处理p负荷易产生波动的数据处理p数据收集费用较高的数据处理网络 如何理解逻辑方案 逻辑方案是新系统开发中要采用的管理模型和信息处理方法。p系统分析阶段的详细调查、系统化分析都是为建立新系统的逻辑方案作准备。p逻辑方案是系统分析阶段的最终成果,也是今后进行系统设计和实施的依据。 新系统的业务流程新系统的数据流程新系统的逻辑结构新系统中数据资源的分布新系统中的管理模型原系统的业务流程的不足及其优化过程、新系统的业务流程、新系统业务流程中的人机界面划分。原数据流程的不合理之处及优化过程、新系统的数据流程、新的数据流程中的人机界面划分。新系统中的子系统划分数据资源如何分布在数据库或主机。确定在某一具体的管理业务中采用的管理模型和处理方法。