软件工程三课件

上传人:仙*** 文档编号:242022031 上传时间:2024-08-10 格式:PPTX 页数:57 大小:1.84MB
返回 下载 相关 举报
软件工程三课件_第1页
第1页 / 共57页
软件工程三课件_第2页
第2页 / 共57页
软件工程三课件_第3页
第3页 / 共57页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版副标题样式,单击此处编辑母版标题样式,单击此处编辑母版副标题样式,*,可编辑,*,单击此处编辑母版标题样式,单击此处编辑母版副标题样式,*,可编辑,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020/9/14,#,第,3,章 需求分析,3.1,需求分析的任务,3.2,与用户沟通获取需求的方法,3.3,分析建模与规格说明,3.4,实体,-,联系图,3.5,数据规范化,3.6,状态转换图,3.7,其他图形工具,3.8,验证软件需求,3.9,小结,1,为什么要进行需求分析,在需求阶段修复一个错误的费用是编码阶段的1/5到1/10,是维护阶段修复费用的1/100到1/200。因此,我们可以认为,设计错误的修复费用要远远高于编码错误的修复费用。,通过,“,分析,”,,理解用户的各种问题,通过,“,规格说明,”,把问题表达出来。要求大家:,(1),掌握,具体的步骤和方法,(2),提高,分析问题和解决问题的能力,(3),熟练,运用一些图形工具,2,基本概念,开发过程的两大阶段,(1)正确地确定问题,(2)为问题寻找合适的解答,目的,澄清用户的各种需求,基本任务,用户和软件人员双方一起来充分理解用户的要求,并把双方共同的理解明确地表达成一份书面文档,软件需求规格说明书。,3,在软件生命期的每个阶段中,分析阶段是面向“问题”的,它主要是对用户的业务活动进行分析,明确在用户的业务环境中,软件系统应该“,做什么,”。,4,需求分析的任务,确定对系统的综合要求,1.,确定系统的功能要求,提出系统必须完成的全部所有功能,2.,确定系统的性能要求,(,1,)系统的响应时间,(,2,)系统需要的存储容量,(,3,)后援存储器容量、系统重新启动,(,4,)系统的安全性和可靠性,3.,确定系统的运行要求,(,1,)支持系统运行的软件环境,(,2,)工具软件和系统软件,(,3,)支持系统运行的硬件环境,(,4,)外存储器、通信接口、输入和输出,4.,确定系统的扩充要求,5,分析系统的数据要求,建立数据模型(层次方框图、,Warnier,图),导出系统的逻辑模型,数据流图,实体 联系图,状态转换图,数据字典,主要的处理算法,修正系统开发计划,6,需求分析的过程,需求分析阶段可分为四个过程:调查研究、分析与综合、书写需求分析的文档和评审。,(1)调查研究,目的:,需求调查的目的是通过各种途径获取用户需求信息产生用户需求说明书,角色与职责:,需求分析员调查、分析用户的需求,客户与最终用户提供必要需求信息,7,(2)分析与综合,从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析它们是否满足功能要求。,(3)书写需求分析文档,软件需求说明书,数据要求说明书,初步的用户手册,修改、完善与确定软件开发实施计划,8,(4)需求分析的评审,系统定义的目标是否与用户的要求一致,系统需求分析阶段提供的文档资料是否齐全,文档中的所有描述是否完整、清晰、准确反应用户要求,与所有其它系统成分的重要接口是否都已经描述,9,主要步骤(过程):,准备调查,调查与记录,分析需求信息,撰写用户需求说明书,需求确认,9,(1)准备调查,需求分析员起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际;,随着调查的深入问题表将不断被细化,确定需求调查的方式,:,与用户交谈,向用户提问,参观用户工作流程,观察用户操作,发调查问卷,与同行、专家交谈,听取他们的意见,分析已存在的同类产品,提取需求,从行业标准与规则中提取需求,etc.,与被调查者取得联系,馔写需求调查计划,9,访谈,访谈有正式访谈和非正式访谈两种形式。,非正式访谈,以一种较自由的形式,交换对问题的看法,主要是了解问题的性质、需要解决的方案、所需的人数和能力,关注客户的目标和收益。,正式访谈,将根据一些事先准备好的议题全面展开讨论,得出结论性的意见。,11,(2)调查和记录,需求分析员按计划执行调查 表1:需求信息表格示例:,9,需求标题,调查方式,调查人,调查对象,时间地点,需求信息记录,在调查需求的同时应进行必要的需求分析,建议采用,“,问答分析法,”,,尽可能确定每个需求的基本要素,如,“,是什么,”“,为什么,”,等,(3),书写用户需求说明书,需求分析员对收集到的所有需求信息进行分析,消除错误,归纳与总结共性的用户需求。然后按指定的文档模板书写用户需求说明书。,调查过程中获取的需求信息,可以作为用户需求说明书的附件,用户需求说明书撰写完毕后,需求分析员应当邀请同行专家和用户一起评审用户需求说明书,尽最大努力使得 用户需求说明书能够正确无误的反映用户的真实意愿。之后才进一步定义产品的需求,产生产品需求规格说明书,9,需求获取的方法,系统分析员建立需求的过程中所遇到的困难,分析员与领域专家交流的过程中,容易产生误解,大型系统有时会有不同的用户群体,他们往往会提出相互矛盾的要求,分析员要寻求令所有用户满意的答案很难,需求永远不会稳定。系统工程环境一旦改变,用户对软件的需求也会改变,而且这种需求往往无法预测。,10,需求分析是指在需求开发的过程中,对所获取的各种需求信息进行分析,消除错误、刻画细节等。确保需求文档能正确反映用户的真实意图。,常见的需求分析方法有问答分析和建模分析两类,问答分析比较适合用户需求调查阶段,而建模分析比较适合产品需求定义阶段,10,问答分析法,自问自答或者,“,研讨,”,问答分析最重要的问题是,“,是什么,”,和,“,为什么,”,每个需求都应当用陈述句说明,“,是什么,”,,如果,“,是什么,”,的内涵不够清晰,则应补充说明,“,不是什么,”,。解释,“,为什么,”,是为了加深读者的理解,其他常见问题:,需求存在二义性吗?,需求上下文存在矛盾吗?,需求完备吗?,需求是必要的吗?,需求是可以实现的吗?,需求是可以验证的吗?,需求的优先级确定吗,?,10,建模分析法,在需求开发过程中,对某些类型的信息,用图形表示要比用文本表示更有效。,需求建模就是指用图形符号来表示、刻画需求。,10,面向数据流自顶向下求精,结构化分析方法,(,SA,),就是面向数据流自顶向下逐步求精进行需求分析的方法。,“结构化分析”(“,Structured Analysis”),是一个简单实用,使用广泛的方法。,它适用于分析大型的数据处理系统,尤其是企事业管理方面的系统,这个方法通常与设计阶段的,结构化设计方法,(,SD,)衔接起来。,14,软件工程技术中,控制复杂性的两个基本手段是,“,分解,”,和,“,抽象,”,。,分解:,把大问题分割成若干个小问题,然后分别解决。,15,对于一个复杂的系统(比如银行管理系统)如何理解和表达它的功能呢?,SA,方法使用了,“,自顶向下逐层分解,”,的方法。,16,“,逐层分解,”,体现了分解和抽象的原则,它使我们不至于一下子陷入细节,而是有控制地逐步地了解更多的细节,这是有助于理解问题的。,无论系统多么复杂,分析工作都可以有计划有步骤、有条不紊地来进行,系统规模再大,分析工作的复杂程度不会随之增大,而只是多分解几层而已,所以,SA,方法有效地控制了复杂性。,18,描述方式,SA,方法采用了介于,形式语言,和,自然语言,之间的描述方式。,用,SA,方法获得的需求说明书由以下几部分组成:,一套分层的数据流图,一本数据字典,一组小说明,补充材料,19,“数据流图”,描述系统的分解,即描述系统由哪些部分组成,每个部分之间有什么样的联系等;,“数据字典”,描述系统中的每一个数据;,“小说明”,详细描述系统中的每一个加工;,“补充材料”,是根据需要对系统的补充。,以上就可以,明确而完整地描述一个系统的功能,20,小说明,SA,方法的基本思想:,将一个大型复杂的系统逐层分解成许多个足够简单的基本加工,然后分别理解每个基本加工,并为每个基本加工详尽地写下,“,小说明,”,,再将所有这些,“,小说明,”,组织起来,就得到了整个系统的说明书,。,23,小说明中应精确地描述用户要求一个加工,“,做什么,”,,这包括加工的,激发条件、加工逻辑、优先级、执行频率、出错处理,等等。其中最基本的部分是,加工逻辑,。,24,注意,对一个加工应描述的是用户要求这个加工,“,做什么,”,,而不是用编程语言来描述具体的加工过程。,25,结构化分析方法步骤,细化数据流图,确定数据定义与加工策略 最低一层数据流图包含了系统全部的数据和加工,,从哪里开始分析呢?,从数据流图的终点开始回溯。因为终点的数据代表系统的输出,其要求是明确的,由这里开始沿数据流图回溯,较易看清每一个数据元素的来源去向,有利于减少错误和遗漏。,2.1 确定输出数据的数据元素;,2.2 沿数据流图回溯寻求每个数据问题的源;在此过程中确定必要的算法和补充必要的数据元素;,随着问题理解的加深,可以划分出更多的数据元素(,DD),和给出更明确的算法(,IPO)。,用户复查,分析员:从数据流图的输入开始,借助数据流图、数据字典、,IPO,图向用户解释如何把输入数据,输出数据,用户:复查验证已知的数据元素,补充未知元素,22,THANK YOU,SUCCESS,2024/8/10,29,可编辑,快速原型法,基本思想:,在很短的时间内建立起一个只包含基本数据库和一些基本功能的原型给用户使用,然后根据用户意见对原型进行修改,直到满意为止。,26,短时间内建立原型,用户满意,修改,完善原型,否,是,完成原型,27,结构化,分析模型的体系结构,数据,字典,实体-,关系,图,数据,流图,加工,规约,数据,对象,描述,状态转换图,控制规约,结构化分析模型的体系结构,28,结构化分析法:主要包括,“,一个中心三个图,”,:,“,数据字典,”,是中心,它包含了软件中所有数据对象的描述。,“,E-R,图,”,是用图形符号来标识数据对象及它们之间的关系,表达用户对数据的需求。,“,数据流图,”,指明数据在系统中流动时如何被变换,“,状态图,”,表示了系统存在的状态及它们之间的变化,24,实体-联系图,实体,“,实体,”,是信息世界中描述客观事物的概念。实体可以是现实世界的人、物、抽象的概念、事物之间的联系等。如一个人,一件物品,一个部门,一种思想等都可以是实体。(实体有,总体,和,个体,之分),2,属性,“,属性,”,是指实体具有的某种特性。属性是对实体的进一步描述。如学生实体可由学号、姓名、年龄、性别、系、年级等属性来刻画。(属性有,属性名,和,属性值,的概念),29,3,联系,现实世界里的事物总是存在着这样或那样的联系,这种联系必然要在信息世界中得到反映。在信息世界中,事物之间的联系可分为两类:一是,实体内部,的联系,如组成实体的各属性之间的关系;另一是,实体之间,的联系,这,里我们主要讨论实体与实体之间的联系,30,系统建模的一个重要方面是定义系统处理的数据的逻辑结构。实体,关系模型描述数据实体、关联以及实体属性。该模型用,实体-关系图,描述现实世界中的实体,而不涉及实体在系统中的实现方法。,实体彼此间的联系分为三类:一对一(1:1)联系,一对多(1:,N,),联系,多对多(,M,:,N,),联系。,31,实体 矩形框,联系 菱形框,属性 椭圆形,符号,37,设,A,B,为两个包含若干个体的总体,其间建立了某种联系,其联系方式可分为三类:一对一联系、一对多联系(包括多对一联系)、多对多联系,。,A,B,32,A,B,1:,n,n:m,A,B,33,一对一联系:,如果对于,A,中的每一个实体,,B,中至多有一个实体与其对应;,B,中的每一个实体也至多对应,A,中的一个实体,则称,A,与,B,是一对一的,记作1:1。比如:,学校,校长,领导,1,1,工厂,厂长,管理,1,1,科室主任,病区,负责,1,1,属性1,属性,n,属性1,属性,n,校名,属性,n,属性1,校址,姓名,职称,属性1,属性,n,属性1,属性,n,属性1,属性,n,属性1,属性,n,34,一对多联系:,如果对于,A,中的一个实体,,B,中有一个以上的实体与之对应;,B,中的每一个实体至多对应,A,中的一个实体,则称,A,与,B,是一对多的,记作1:,n。,比如:,学校,班级,下设,1,n,工厂,车间,有,1,n,病区,医生,拥有,1,n,属性1,属性,n,属性1,属性,n,属性1,属性,n,校名,校址,属性1,属性,n,属性1,属性,n,班名,人数,属性1,属性,n,属性1,属性,n,35,多对多联系(,MN),如果,A,中有实体对应,B,中一个以上实体;,B,中也有实体对应,A,中一个以上实体,则称,A,与,B,为多对多的,记作,m:n。,比如:,学生,课程,选课,m,n,项目,职工,参加,m,n,医生,病人,诊治,m,n,成绩,属性1,属性,n,记录,学号,姓名,属性1,属性,n,属性1,属性,n,课程号,课程名,属性1,属性,n,属性1,属性,n,36,4.如何设计,E-R,图,考察客观事物及其联系,抽象出实体,并一一命名(不能重名),根据需求确定实体的属性,根据属性外在的联系,描述实体间的联系,先作出局部,E-R,图,再综合产生总体,E-R,图。总体,E-R,图不是各局部,E-R,图的简单拼合,而是有可能增加了某些联系,也有可能减少了某些联系,38,4.实例,一个学生管理系统的实体-关系图,【步骤】,(1),考察客观事物及其联系,抽象出实体,并一一命名(不能重名),实体:教师,学生,课程,(2)根据需求确定实体的属性,教师:教工号,姓名,性别,职称,职务,学生:学号,姓名,性别,系,年级,课程:课程号,课名,学时,学分,39,(3)根据属性外在的联系,描述实体间的联系,教,:教师,教,课程,学,:学生,学,课程,(4)画出,E-R,图,40,状态转换图,状态模型是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态和事件,以及事件引发系统在状态间的转换。,状态模型一般采用,状态转换图,(,状态图,)标记方法。,状态图提供了,行为建模,机制。,状态图描述了系统中某些复杂对象的状态变化,主要有,状态,、,变迁,和,事件,三种描述。,状 态1,状 态2,事件/触发行为,41,(1)状态,状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。,状态规定了系统对事件的响应方式。,系统对事件的响应可以是做一个(或一系列)动作,也可以只是改变系统本身的状态,还可以既改变状态又做动作。,状态图中定义的状态有:初态、终态和中间状态;,在一张状态图中只能有一个初态,而终态可以有若干个。,(2)事件,事件是引起系统做动作或转换状态的控制信息,42,状态1,状态变量1,活动表1,状态2,状态变量2,活动表2,事件表达式,初始事件,结束事件,状态变量的名字和值,语法格式:,事件名,(参数表)/动作表达式,Do,entry,exit,状态转换,Entry:,表示进入该状态的动作,Exit:,表示退出本状态的动作,Do:,在本状态下的动作,状态变迁通常是由事件触发的,这时应在状态转换上标出触发转换的事件表达式,如果箭头上没有标明事件,则表示在源状态内部活动完成后自动出发转换,状态的名称,事件表达式,的语法:,事件说明守卫条件/动作表达式,事件说明,的语法:事件名(参数表),守卫条件是一个布尔表达式,动作表达式表示当状态转换开始时执行该表达式,符号,(4)实例,【一】,电话系统状态图,43,其他图形工具,(一)层次方框图,层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。,46,(二),Warnier,图,由法国专家,Warnier,提出,用树形结构描绘信息,表明了信息的逻辑组织结构,47,(三),IPO,图,描述输入数据、处理数据和输出数据,形式:,左边框 输入数据,中间框 主要处理,右边框 输出数据,48,验证软件需求,验证软件需求的正确性,一致性:所有的需求一致,任何一条不能和别的冲突,完整性:应考虑到用户要求的所有功能和性能,现实性:在现有技术的基础上应能实现需求,有效性:能解决用户遇到的问题,验证软件需求的方法,用于需求分析的软件工具,RSL(,需求陈述语言),PSL/PSA(,问题陈述语言/问题陈述分析程序),49,用结构化分析方法分析图书馆系统,【问题描述】,一个图书馆藏有图书和期刊杂志两大类书籍,每种图书/杂志可以有多册。,图书馆可以维护(注册、更新和删除)图书资料。,图书馆管理员负责与借书者打交道。,借书者可以预约目前借不到的书或杂志。,所有人员都可以浏览图书馆的图书信息和各种告示。,系统能在流行的技术环境下运行,有一个良好的图形交互界面。,系统应具有良好的可扩展性。,51,【功能分析】,浏览功能,:,所有人员都可以浏览图书馆的图书信息。,借还功能:,借书者可以借/续借、还、预约图书。,图书管理功能:,图书管理人员可以做录入、更新和销毁等图书信息维护工作。,借书者管理:,系统管理人员可以进行注册、更改、注销借书者信息等维护工作。,52,结束语,当,你尽了自己的最大努力,时,,,失败,也是伟大,的,所以不要放弃,坚持就是正确的。,When You Do Your Best,Failure Is Great,So DonT Give Up,Stick To The,End,谢谢,大家,荣幸,这,一路,与你同行,ItS An Honor To Walk With You All The,Way,演讲人:,XXXXXX,时 间:,XX,年,XX,月,XX,日,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!