




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程树上有十只鸟,开枪打死一只,还剩几只?”第3章需求分析2“是无声手枪或别的无声的枪吗?”“不是。”“枪声有多大?”“80-100分贝。”“那就是说会震的耳朵疼?”“是。”“在这个城市里打鸟犯不犯法?”“不犯。。。”“您确定那只鸟真的被打死啦?”“确定。。。”“OK,树上的鸟里有没有聋子?”“没有。。。”“有没有关在笼子里的?”“没有。。。”2024/5/16第3章需求分析3“边上还有没有其他的树,树上还有没有其他鸟?”“没有。。。”“有没有残疾的或饿的飞不动的鸟?”“没有。。。”“算不算怀孕肚子里的小鸟?”“不算。。。”“打鸟的人眼有没有花?保证是十只?”“没有花,就十只。。。”“有没有傻的不怕死的?”“都怕死。。。”“会不会一枪打死两只?”“不会。。。”“所有的鸟都可以自由活动吗?”“完全可以。。。”2024/5/16第3章需求分析4“OK,如果您的回答没有骗人,打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。”2024/5/16第3章需求分析5为了开发出真正满足用户需求的软件产品,必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键。传统软件工程方法学采用结构化分析(StructuredAnalysis,SA)技术完成需求分析工作。2024/5/16第3章需求分析6需求分析是发现、求精、建模、规格说明和复审的过程。从宏观角度调查、分析用户所面临的问题——准确地了解用户当前的情况和需要解决的问题。反复求精、多次细化——充分理解用户需求,得出对目标系统的完整、准确和具体的要求。2024/5/16第3章需求分析7第3章需求分析2024/5/16为了更好理解问题,常常采用建立模型的方法。模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。模型由一组图形符号和组织这些符号的规则组成。结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。8写出准确的软件需求规格说明。对需求分析的结果(分析模型和规格说明)严格审查。2024/5/16第3章需求分析9第3章需求分析2024/5/16在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不可少的作用。用户与开发者之间需要尽可能多的通信、沟通。避免出现误解、遗漏、二义性。10用户开发者分析师2024/5/16第3章需求分析11第3章需求分析2024/5/16结构化分析方法准则:必须理解和表示问题的信息域——建立数据模型。必须定义软件应完成的功能——建立功能模型。必须表示作为外部事件结果的软件行为——建立行为模型。必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。分析过程应该从要素信息移向实现细节。12第3章需求分析2024/5/163.1需求分析的任务3.2与用户沟通获取需求的方法3.3分析建模与规格说明3.4实体—联系图3.5数据规范化3.6状态转换图3.7其他图形工具3.8验证软件需求3.9小结13确定对系统的综合要求功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能提出的要求2024/5/163.1需求分析的任务14分析系统的数据要求任何软件系统本质上都是信息处理系统建立数据模型(E-R图)数据字典层次方框图Warnier图2024/5/163.1需求分析的任务15系统的逻辑模型数据流图、E-R图、状态转换图、数据字典、算法描述修正系统的开发计划2024/5/163.1需求分析的任务16软件需求分析总是从两方或多方之间的通信开始。用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。这样就产生了相互通信的需求。从开始通信到真正相互理解的道路通常是充满坎坷的。良好的通信技术有助于加快理解的过程。2024/5/163.2与用户沟通获取需求的方法17访谈(或称为会谈)是最早开始运用的获取用户需求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。用例分析访谈简易应用规格说明技术软件原型正式非正式2024/5/163.2.1访谈182024/5/163.2.1访谈非正式访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不满意。19两种基本形式——正式访谈和非正式访谈。正式访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。3.2.1访谈2024/5/16当需要调查大量人员的意见时,向被调查的人员分发调查表是一个十分有效的做法。在对用户进行访谈的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户运用目标系统解决某个具体问题的方法和结果进行分析。某种程度演示目标系统的行为,使客户便于理解,便于挖掘需求。使用户积极配合20数据决定了需要的处理和算法,是需求分析的出发点。结构化分析方法——面向数据流的自顶向下的逐步求精进行需求分析的方法。高层数据流图从输出端回溯并逐步细节化2024/5/163.2.2面向数据流自顶向下求精21图3.1面向数据流自顶向下求精过程2024/5/163.2.2面向数据流自顶向下求精223.2.3简易的应用规格说明技术2024/5/16提倡用户与开发者密切合作,共同标识问题,提出解决方案的要素,商讨不同的方法并指定基本的需求。简易的应用规格说明技术已经成为信息系统界使用的主流技术。简易应用规格说明方法基本准则:232024/5/16在中立地点举行由开发者和用户双方出席的会议制定准备会议和参加会议的规则。提出一个议事日程,这个日程应该足够正式,以便能够涵盖所有要点;同时这个日程又应该足够非正式,以便鼓励自由思维。由一个“协调人”来主持会议。使用一种“定义机制”(例如,工作表、图表等)。目标是标识问题、提出解决方案要素、商讨不同的方法以及在有利于实现目标的氛围中指定初步的需求。243.2.3简易的应用规格说明技术3.2.4快速建立软件原型2024/5/16软件原型——最准确、最有效、最强大的需求分析技术。演示目标程序的主要功能。要点——应该实现用户看得见的功能(例如屏幕显示或打印报表),省略目标系统的“隐含”功能(例如修改文件)。253.2.4快速建立软件原型2024/5/16特性1“快速”。目的:尽快向用户提供一个可在计算机上运行的目标系统的模型功能:使用户和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。特性2“容易修改”。如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更好地满足用户的需求。重复“修改—试用—反馈”的过程,直至用户满意,如果修改耗时过多,势必延误软件开发时间。26构建原型的方法和工具第四代技术(4GT)数据库查询和报表语言、程序和应用系统生成器可重用的软件构件使用一组已有的软件构件来装配原型。形式化规格说明和原型环境Z语言等数据结构(或数据库)软件体系结构构件(程序)过程构件(模块)2024/5/163.2.4快速建立软件原型273.3.1分析建模结构化分析实质上是一种创建模型的活动。通过需求分析而建立的模型必须达到三个基本目标:描述用户的需求。为软件设计工作奠定基础。定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收该产品。2024/5/163.3分析建模与规格说明28数据字典数据流图E-R图状态转换图处理规格控制规格说明数据对描象述说明在结构化分析过程中,导出的分析模型的形式2024/5/16293.3.2软件需求规格说明2024/5/16软件需求规格说明——分析阶段的最终成果。软件需求规格说明的框架。见《软件需求规格说明书框架.doc》自然语言:容易书写、容易理解形式化方法:无歧义、明确30数据模型包含三种相互关联的信息:数据对象描述数据对象属性数据对象彼此间相互连接的关系2024/5/163.4实体—联系图31数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物,因此,仅有单个值的事物(例如宽度)不是数据对象。数据对象:只封装了数据,区别于面向对象中的“类”或“对象”。2024/5/163.4.1数据对象323.4.2属性2024/5/16属性定义了数据对象的性质。应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。333.4.3联系2024/5/16数据对象彼此之间相互连接的方式称为关系(联系)。一对一联系(1∶1)一对多联系(1∶N)多对多联系(M∶N)联系也可能有属性。343.4.4实体—联系图的符号必须理解和表示问题的信息域2024/5/16使用实体—关系图来建立数据模型,满足第一条分析准则。把实体—关系图简称为ER图,用ER图描绘的数据模型也可以称为ER模型。ER图中包含实体(即数据对象)、关系和属性三种基本成分。矩形框——实体连接相关实体的菱形框——关系椭圆形或圆角矩形表示实体(或关系)的属性用无向边把实体(或关系)与其属性连接起来。35某校教学管理ER图2024/5/1636学生和课程之间的E-R模型学生和课程之间的多对多联系E-R模型;将多对多联系转换为一对多联系E-R模型选课mn学号专业年级课名课号学时学生姓名课程学分(a)1n学号专业课名课号学时学号课号n1姓名课程学生年级学分(b)选课2024/5/1637建立系统实体模型的步骤:对系统的数据域和功能域进行分析,确定系统中所涉及的实体。确定系统中各实体之间的关系。确定各实体及联系的属性。2024/5/163.4实体—联系图38例如,在工资计算系统中,单位对职工的工作情况进行考勤,根据出勤结果、基本工资档案、奖金及扣款计算职工的实发工资。工资系统中所涉及的实体就包括职工、出勤、奖励和扣款。2024/5/163.4实体—联系图393.4实体—联系图2024/5/16确定系统中各实体之间的关系。一名职工一个月只有一条出勤记录,因此职工和出勤两个实体之间是一对一的关系;一名职工在一个月中对应着多项扣款,如水电费、缺勤扣款、个人所得税等,因此职工和扣款之间是一对多的关系;同理,一名职工在一个月中可以获得多项奖励,因此职工和奖金之间也是一对多的关系。确定各实体及联系的属性。例如,职工实体具有职工号、性别、职称、年龄、部门、基本工资等属性。40工资计算系统的E-R模型2024/5/1641请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目提供零件,并且根据需要向供应商订购零件。2024/5/16思考题422024/5/16思考题答案43某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加"教务人员"?试说明理由。2024/5/16思考题44不应该增加“教务人员”。因为教务人员只是系统的一个使用者,系统不处理其属性信息。2024/5/16思考题答案45第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构第二范式满足第一范式的条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)第三范式符合第二范式条件,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)2024/5/163.5数据规范化46状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。作为特定事件的结果,系统将做哪些动作。状态图提供了建模机制,满足第3条分析准则。必须表示作为外部事件结果的软件行为——建立行为模型2024/5/163.6状态转换图47状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态。初态、终态、中间状态既可以表示系统循环运行过程,也可以表示系统单程生命期2024/5/163.6.1状态483.6.2事件2024/5/16事件是在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。简而言之,事件就是引起系统状态转换的控制信息。49状态图中使用的主要符号:初态:实心圆(只有一个)终态:同心圆(0到多个)中间状态:圆角矩形名称、状态变量的名字和值、活动表状态转换:箭头2024/5/163.6.3符号50事件名/动作表达式事件说明[守卫条件]/动作表达式2024/5/16状态图中使用的主要符号512024/5/163.6.4状态转换图示例52复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。试用状态转换图描绘复印机的行为。2024/5/16思考题532024/5/16思考题答案54某信息系统的用户注册及使用系统过程如下:用户登录系统,填写注册信息;在注册过程中可以关闭注册页面取消注册过程;系统自动判断注册信息是否正确,如不正确予以提示并要求用户修改;用户填写完信息之后,提交信息,待系统管理员审核;审核结果分为通过或者不通过;信息尚未审核之前,或者审核通过之后,用户都可修改自己的注册信息,重新等待管理员审核;审核之后的客户可以使用系统,如果使用过程中出现非法操作,管理员可以冻结该用户一段时间;冻结期结束之后根据用户表现,决定继续冻结还是取消冻结。2024/5/16思考题552024/5/16思考题答案563.7.1层次方框图用树形结构的一系列多层次的矩形框描述数据的层次结构。顶层是一个单独的矩形框,代表完整的数据结构下面的各层矩形框代表这个数据的子集最底层代表组成这个数据的实际数据元素2024/5/163.7其他图形工具573.7.1层次方框图2024/5/163.7其他图形工具583.7.2Warnier图也用树形结构描述信息可以表明信息的逻辑组织是否重复出现是否有条件出现2024/5/163.7其他图形工具592024/5/163.7其他图形工具603.7.3IPO图IPO图是输入、处理、输出图的简称左边框中列出有关的输入中间框中列出主要的处理右边框中列出产生的输出处理的顺序暗示了执行的顺序箭头指出数据通信的情况3.7其他图形工具613.7.3IPO图2024/5/163.7其他图形工具623.8.1验证需求的方面一致性:任何一条需求不能与其他需求相互矛盾完整性:包含用户需要的每一个功能或性能实现性:硬件、软件技术都可以实现。有效性:确实能够解决用户面对的问题。3.8验证软件需求633.8.2验证需求的方法1、验证需求的一致性自然语言书写:人工技术审查大规模项目时比较困难形式化描述:软件工具3.8验证软件需求642、验证需求的现实性开发经验、仿真或性能模拟技术3、验证需求的完整性和有效性用户验证原型3.8验证软件需求653.8.3用于需求分析的软件工具工具要求(1)必须有形式化的语法(2)使用这个软件工具能够导出详细的文档(3)必须提供规格说明书中的不一致性和冗余性的手段(4)使用这个软件工具之后,应该能够改进通信状况3.8验证软件需求663.8.3用于需求分析的软件工具工具举例RSL(需求陈述语言)PSL/PSA(问题陈述语言/问题陈述分析程序)系统3.8验证软件需求671问题陈述某校财务科长要求系统分析员研究一下用学校自己的微型计算机生成工资明细表和各种财务报表的可能性。问题定义可行性研究需求分析结构化分析实例68预期将获得的经济效益能超过开发这个系统的成本么?用户面临的问题究竟是什么?该校一直为人工计算工资,工作量大。项目预期规模目前计算工资所花费的成本新系统的开发成本运行费用2024/5/162问题定义69目前,每个月由两名会计用半个月时间计算工资和编制报表,一名会计每个月的工资和岗位津贴共约2000元,因此,每年为此项工作花费的人工费约2.4万元。绝大多数单位希望3年内收回投资,因此,投资7.2万元是投资额度的上限值。这些数字能够使用户对项目规模有一个大概的了解。2024/5/162问题定义70输出:关于系统规模和目标的报告书2024/5/162问题定义71目标:用最小的代价尽快确定问题是否能解。步骤:澄清系统规模和目标研究现有系统2024/5/163可行性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校实验室安全基础
- 护肤品新品课件
- 2024年CFA考试新变化试题及答案
- 山东省诸城第一中学春考部2024-2025学年高三上学期10月月考数学试题(原卷版)
- 英语 第四册(五年制高职)5课件 Unit5 Quality Assurance
- 武威一中2024-2025学年下学期高一年级开学检测地理试卷
- 太阳花绘画课件
- 江西省抚州市2024-2025学年高一上学期期末地理试题
- 2024年特许金融分析师考试重难点及答案
- 反复练习的重要性:CFA试题及答案
- 高中数学思想方法导引
- 医用制氧机行业可行性研究报告
- 明亚保险经纪人考试题库答案
- 初中语文作业设计研究
- 水工金属压力钢管焊接工艺规程
- 古代美洲文明:2阿兹特克
- 生物多样性生物多样性的价值
- 2022年《旅游经济学》题库及答案(共8套)
- 2015-2022年北京电子科技职业学院高职单招语文/数学/英语笔试参考题库含答案解析
- 高中音乐(必修)《音乐鉴赏》 (人音版)《家国情怀的民族乐派》格林卡与穆索尔斯基《荒山之夜》
- 《有效小组合作的22个案例》读书笔记思维导图PPT模板下载
评论
0/150
提交评论