




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程2025/1/312第3章需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。传统的软件工程方法学采用结构化分析(StructuredAnalysis,SA)技术完成需求分析工作。2025/1/3133.1需求分析的任务3.2与用户沟通获取需求的方法3.3分析建模与规格说明3.4实体—联系图3.5数据规范化3.6状态转换图3.7其它图形工具3.8验证软件需求3.9小结2025/1/314概述需求分析是发现、求精、建模、规格说明和复审的过程。为发现真正的需求,首先应该从宏观角度调查、分析用户所面临的问题,即需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。分析员对用户提出的初步要求应该反复求精多次细化,才能充分理解用户的需求,得出对目标系统的完整、准确和具体的要求。
2025/1/315为了更好理解问题,常常采用建立模型的方法。模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。模型由一组图形符号和组织这些符号的规则组成。结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。除了用分析模型表示软件需求之外,还要写出准确的软件需求规格说明。模型既是软件设计的基础,也是编写软件规格说明的基础。2025/1/316在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不可少的作用。用户与开发者之间需要通信、沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。不仅在整个需求分析过程中应该采用行之有效的通信技术,集中精力过细工作,对需求分析的结果(分析模型和规格说明)必须严格审查。2025/1/317尽管目前存在许多不同的结构化分析方法,但是,所有这些分析方法都遵守下述准则。必须理解和表示问题的信息域,根据这条准则应该建立数据模型。必须定义软件应完成的功能,这条准则要求建立功能模型。必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型。必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。分析过程应该从要素信息移向实现细节。
业务
技术逻辑
物理要素
细节2025/1/3183.1需求分析的任务系统的综合要求功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能提出的要求2025/1/319需求分析的任务(2)系统的数据要求任何软件系统本质上都是信息处理系统建立数据模型(E-R图)数据字典层次方框图Warnier图2025/1/3110需求分析的任务(3)系统的逻辑模型数据流图、E-R图、状态转换图、数据字典、算法描述修正系统的开发计划2025/1/31113.2与用户沟通获取需求的方法软件需求分析总是从两方或多方之间的通信开始。用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。这样就产生了相互通信的需求。从开始通信到真正相互理解的道路通常是充满坎坷的。良好的通信技术有助于加快理解的过程。访谈访谈(或称为会谈)是最早开始运用的获取(不是分析)用户需求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。
用户不懂技术;开发者不懂业务;沟通需要桥梁。2025/1/3112(简单)用例分析访谈简易应用规格说明技术(头脑风暴)原型化正式非正式(休闲聊天、面对面)领域分析、了解背景、学习术语观察领域专家领域书籍现有软件及其文档其它任何材料,如网站等2025/1/3113访谈有两种基本形式,分别是正式的和非正式的访谈。在正式的访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。在非正式的访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不满意。2025/1/3114访谈当需要调查大量人员的意见时,向被调查的人员分发调查表是一个十分有效的做法。在对用户进行访谈的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户运用目标系统解决某个具体问题的方法和结果进行分析。2025/1/3115面向数据流自顶向下求精数据决定了需要的处理和算法,是需求分析的出发点。结构化分析方法——面向数据流的自顶向下的逐步求精进行需求分析的方法。高层数据流图从输出端回溯并逐步细节化2025/1/3116面向数据流自顶向下求精面向数据流自顶向下求精过程2025/1/3117提倡用户与开发者密切合作,共同标识问题,提出解决方案的要素,商讨不同的方法并指定基本的需求。简易的应用规格说明技术已经成为信息系统界使用的主流技术。
简易应用规格说明方法基本准则:简易的应用规格说明技术2025/1/3118简易的应用规格说明技术在中立地点举行由开发者和用户双方出席的会议。制定准备会议和参加会议的规则。提出一个议事日程,这个日程应该足够正式,以便能够涵盖所有要点;同时这个日程又应该足够非正式,以便鼓励自由思维。由一个“协调人”来主持会议。使用一种“定义机制”(例如,工作表、图表等)。目标是标识问题、提出解决方案要素、商讨不同的方法以及在有利于实现目标的氛围中指定初步的需求。2025/1/3119快速建立软件原型构建原型的要点是,它应该实现用户看得见的功能(例如屏幕显示或打印报表),省略目标系统的“隐含”功能(例如修改文件)。快速原型应该具备的第一个特性是“快速”。快速原型的目的是尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。2025/1/3120快速建立原型(2)快速原型应该具备的第二个特性是“容易修改”。如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更好地满足用户的需求。在实际开发软件产品时,“修改—试用—反馈”的过程可能重复多遍,如果修改耗时过多,势必延误软件开发时间。2025/1/3121快速建立原型(3)构建原型的方法和工具第四代技术(4GL)报表工具、界面工具可重用的软件构件软件体系构件(Framework)、模块、数据结构形式化规格说明和原型环境Metatools,Z语言等2025/1/31223.3分析建模与规格说明分析建模结构化分析实质是一种创建模型的活动。通过需求分析而建立的模型必须达到下述的三个基本目标。描述用户的需求。为软件设计工作奠定基础。定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收该产品。2025/1/3123分析模型的结构数据字典数据流图E-R图状态转换图处理规格控制规格说明数据对描象述说明2025/1/3124软件需求规格说明软件需求规格说明——分析阶段的最终成果。软件需求规格说明的框架。见《3软件需求规格说明书框架.doc》自然语言:容易书写、容易理解形式化方法:无歧义、明确2025/1/31253.4实体—联系图数据模型包含三种相互关联的信息:数据对象、描述数据对象属性及数据对象彼此间相互连接的关系。数据对象数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物,因此,仅有单个值的事物(例如宽度)不是数据对象。2025/1/3126数据对象属性属性定义了数据对象的性质。应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。关系数据对象彼此之间相互连接的方式称为关系(联系)。一对一联系(1∶1)一对多联系(1∶N)多对多联系(M∶N)联系也可能有属性。2025/1/3127ER模型表示方法ER图中包含实体(即数据对象)、关系和属性三种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用无向边把实体(或关系)与其属性连接起来。例如,某学校教学管理的ER图。2025/1/3128某校教学管理ER图2025/1/3129学生和课程之间的E-R模型学生和课程之间的多对多联系E-R模型;(b)将多对多联系转换为一对多联系E-R模型选课mn学号专业年级课名课号学时1n学号专业课名课号学时学号课号n1姓名课程学生姓名课程学分学生年级选课学分(a)(b)2025/1/3130ER图的建立对系统的数据域和功能域进行分析,确定系统中所涉及的实体。例如,在工资计算系统中,单位对职工的工作情况进行考勤,根据出勤结果、基本工资档案、奖金及扣款计算职工的实发工资。因此,工资系统中所涉及的实体就包括职工、出勤、奖励和扣款。2025/1/3131ER图的建立(2)确定系统中各实体之间的关系。如工资计算系统中,一名职工一个月只有一条出勤记录,因此职工和出勤两个实体之间是一对一的关系;一名职工在一个月中对应着多项扣款,如水电费、缺勤扣款、个人所得税等,因此职工和扣款之间是一对多的关系;同理,一名职工在一个月中可以获得多项奖励,因此职工和奖金之间也是一对多的关系。确定各实体及联系的属性。例如,工资计算系统的职工实体具有职工号、性别、职称、年龄、部门、基本工资等属性。2025/1/3132工资计算系统的E-R模型2025/1/31333.5数据规范化第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构第二范式满足第一范式的条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)第三范式符合第二范式条件,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)2025/1/31343.6状态转换图状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。在状态图中用圆形框或椭圆框表示状态,通常在框内标上状态名。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态。通常,在表示状态的框内用关键字do(后接冒号)标明进入该状态时系统的行为(即所做的动作)。2025/1/3135状态转换图(2)事件是在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。简而言之,事件就是引起系统状态转换的控制信息。在状态图中,从一个状态到另一个状态的转换用箭头线表示,箭头表明转换方向,箭头线上标上事件名。必要时可在事件名后面加一个方括号,括号内写上状态转换的条件。也就是说,仅当方括号内所列出的条件为真时,该事件的发生才引起箭头所示的状态转换.2025/1/31362025/1/3137电话系统的状态图号码验证[无效号码]号码验证[有效号码]2025/1/31383.7其他图形工具Warnier图2025/1/3139其他图形工具(2)IPO图IPO图是输入、处理、输出图的简称左边框中列出有关的输入中间框中列出主要的处理右边框中列出产生的输出处理的顺序暗示了执行的顺序箭头指出数据通信的情况2025/1/3140其他图形工具(3)IPO图2025/1/31413.8验证软件需求验证需求的方面一致性:任何一条需求不能与其他需求相互矛盾完整性:包含用户需要的每一个功能或性能实现性:硬件、软件技术都可以实现。有效性:确实能够解决用户面对的问题。2025/1/3142验证软件需求(2)验证需求的方法1验证需求的一致性自然语言书写:人工技术审查大规模项目时比较困难形式化描述:软件工具2025/1/3143验证软件需求(3)验证需求的方法2验证需求的现实性开发经验、仿真或性能模拟技术3验证需求的完整性和有效性用户验证原型2025/1/3144验证软件需求(4)用于需求分析的软件工具工具要求(1)必须有形式化的语法(2)使用这个软件工具能够导出详细的文档(3)必须提供规格说明书中的不一致性和冗余性的手段(4)使用这个软件工具之后,应该能够改进通信状况2025/1/3145验证软件需求(5)用于需求分析的软件工具工具举例RSL(需求陈述语言)PSL/PSA(问题陈述语言/问题陈述分析程序)2025/1/3146结构化分析实例1问题陈述用学校自己的微型计算机生成工资明细表和各种财务报表。问题定义可行性研究需求分析2025/1/31472问题定义预期将获得的经济效益能超过开发这个系统的成本么?用户面临的问题究竟是什么?该校一直为人工计算工资,工作量大。项目预期规模目前计算工资所花费的成本新系统的开发成本运行费用输出:关于系统规模和目标的报告书2025/1/31483可行性研究目标:用最小的代价尽快确定问题是否能够解决。步骤:澄清系统规模和目标研究现有系统导出高层逻辑模型进一步确定系统规模和目标导出供选择的解法推荐最佳方案草拟开发计划写出文档提交审查2025/1/3149教师职工课时表任务表审核数据审核后的数据排序专用表格计算课时费计算岗位津贴计算工资总额计算个人所得税计算住房公积金计算保险费计算实发工资工资表银行工资表工资明细表教师职工编制报表报表更新分类表分类帐会计现有的工资支付系统2025/1/3150D1事务数据教师职工1收集数据2审核数据3加工事务数据D4报表5更新分类帐D3工资明细表D2工资表会计银行4分发工资明细表职工教师定时假设处理运行频率1每月一次2每月一次3每月一次4每月一次5每月一次工资支付系统的数据流图2025/1/31514需求分析更精确的数据流图需求分析过程:沿数据流图回溯写出文档初稿定义逻辑系统细化数据流图书写正式文档技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康宝宝安全教育
- 培训行业商业计划书
- 2025的租赁合同模板
- 心理治疗方法比较试题及答案
- 助理医师职业培训试题及答案
- 关注医疗健康的健康管理师试题及答案
- 2024年架构考试中团队沟通的重要性试题及答案
- 2024年医学基础知识感知能力试题及答案
- 心理咨询师考试的案例分析题攻略试题及答案
- 心理咨询师考试案例分析实战的试题及答案
- (高清版)TDT 1013-2013 土地整治项目验收规程
- 三字经全文(带拼音及诵读指导)精编版课件
- 井控培训知识课件
- 技术合同认定登记培训课件
- 双减背景下小学语文作业的有效设计课件
- 十二讲船舶制冷装置课件
- 第12课送你一个书签
- 耳内镜微创外科技术PPT通用课件[通用]
- 宁夏华夏特钢有限公司年产40万吨石膏制酸项目环境影响评价报告书
- 第5章有色金属的焊接
- (高清版)JGJ 145-2013 混凝土结构后锚固技术规程
评论
0/150
提交评论