L-第三章 软件工程课件需求分析.ppt
《L-第三章 软件工程课件需求分析.ppt》由会员分享,可在线阅读,更多相关《L-第三章 软件工程课件需求分析.ppt(124页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程03章章 需求分析需求分析引言1 用户描述的可能不是他想要的。对用户的描述每个人有不同的理解2引言2开发人员和用户之间的鸿沟 从前有一家汽车厂,想为年轻人设计一款新车型,企划从前有一家汽车厂,想为年轻人设计一款新车型,企划及设计部讨论了许久始终找不到感觉,于是对及设计部讨论了许久始终找不到感觉,于是对25-35岁的年岁的年轻人进行问券调查,大伙辛苦了三个月,完成了一万份的调轻人进行问券调查,大伙辛苦了三个月,完成了一万份的调查记录。市场部门摘要了调查内容反映给设计部门,重点:查记录。市场部门摘要了调查内容反映给设计部门,重点:省油、外型酷、颜色鲜艳、马力足等。设计部门有了灵感开省油、外
2、型酷、颜色鲜艳、马力足等。设计部门有了灵感开始设计,半年过去了始设计,半年过去了!设计部门很得意的把雏型车展示给大设计部门很得意的把雏型车展示给大伙看,这个时候伙看,这个时候CEO、市场部、企划部、市场部、企划部.都傻眼了。都傻眼了。CEO开口说开口说:为什么这车没有为什么这车没有”轮子轮子”设计部回答设计部回答:市场部给的调查报告里,没说要有轮子市场部给的调查报告里,没说要有轮子市场部回说市场部回说:问卷调查中、顾客没有提到要有轮子问卷调查中、顾客没有提到要有轮子企划部生气的说企划部生气的说:你们都是白痴啊你们都是白痴啊,汽车要有轮子是基本常识,汽车要有轮子是基本常识,你们都不知道吗你们都不
3、知道吗?就这样现场吵翻天了就这样现场吵翻天了!注:原文地址:注:原文地址:http:/ 3引言3做需求要很细、很专业、很有经验男孩反问男孩反问:“是无声枪么?是无声枪么?”不是“枪声有多大?枪声有多大?”80100分贝“那就是说会震的耳朵疼?那就是说会震的耳朵疼?”是“您确定那只鸟真的被打死啦?您确定那只鸟真的被打死啦?”确定“鸟里有没有聋子?鸟里有没有聋子?”没有“没有关在笼子里的?没有关在笼子里的?”没有“旁边树上还有其他鸟?旁边树上还有其他鸟?”没有“有残疾或饿的飞不动的鸟?有残疾或饿的飞不动的鸟?”没有“算不算怀孕肚子里的小鸟?算不算怀孕肚子里的小鸟?”都是公的“打鸟的人眼里有没有花?
4、打鸟的人眼里有没有花?”没有“有没有傻的不怕死的?有没有傻的不怕死的?”都怕死“会不会一枪打死两只以上?会不会一枪打死两只以上?”不会“所有的鸟都可以自由活动么?所有的鸟都可以自由活动么?”完全可以“它们受到惊吓时不会互相撞上?它们受到惊吓时不会互相撞上?”不会”学生满怀信心的回答,学生满怀信心的回答,“打死的打死的鸟要是挂在树上没掉下来,那么就鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。剩一只,如果掉下来,就一只不剩。”某日老师在课堂上想考考学生们的智商,就问一个某日老师在课堂上想考考学生们的智商,就问一个男孩男孩:“树上有十只鸟,开枪打死一只,还剩几只树上有十只鸟,开枪打
5、死一只,还剩几只?4结论l需求具有主观性、二义性、多变性、模糊性。需求具有主观性、二义性、多变性、模糊性。l需求分析要求很专业、很仔细、很有经验。需求分析要求很专业、很仔细、很有经验。l需求分析是确定系统应具备的功能,是其他需求分析是确定系统应具备的功能,是其他所有工作的基础,因此非常重要。所有工作的基础,因此非常重要。l需求导致整个项目失败占的比例非常大。需求导致整个项目失败占的比例非常大。5第三章 软件需求分析l需求分析需求分析的任务的任务 l与与用户沟通获取需求的方法用户沟通获取需求的方法l分析分析建模与规格说明建模与规格说明 l实体实体一联系图一联系图 l数据数据规范化规范化l状态状态
6、转换图转换图 l其他其他图形工具图形工具 l验证验证软件需求软件需求 l小结小结l习题习题6教学要求教学目的:教学目的:了解需求分析的任务和步骤、评了解需求分析的任务和步骤、评审标准和过程;掌握基本技术,理解需求规审标准和过程;掌握基本技术,理解需求规格说明书的作用与组成。格说明书的作用与组成。教学重点:教学重点:基本技术、需求规格说明书的作基本技术、需求规格说明书的作用与组成。用与组成。教学难点:教学难点:基本技术。基本技术。7需求分折简介 软件需求指用户对所开发的软件在功能、软件需求指用户对所开发的软件在功能、性能、环境、可靠性等各方面的要求。性能、环境、可靠性等各方面的要求。需求分析主要
7、回答待开发的系统必须需求分析主要回答待开发的系统必须“做什么做什么”,并用,并用 需求规格说明书需求规格说明书 的形式的形式准确、详细、规范地表达出来。准确、详细、规范地表达出来。8注意需求分析阶段,系统分析员的主要关注点需求分析阶段,系统分析员的主要关注点是是“做什么(做什么(what)”,不是,不是“怎样做(怎样做(how)”;需求分析阶段,系统分析员应该给出软件需求分析阶段,系统分析员应该给出软件求规格书。求规格书。93.1需求分析的任务四项主要任务:四项主要任务:1、确定对系统的综合要求、确定对系统的综合要求 2、分析系统的数据要求、分析系统的数据要求 3、导出系统的逻辑模型、导出系统
8、的逻辑模型 4、修正系统开发计划、修正系统开发计划10提问并思考:如果你是一个用户,你会对将要开发的如果你是一个用户,你会对将要开发的软件有哪些要求?软件有哪些要求?113.1.1确定对系统的综合要求 功能需求。指定系统必须提供的服务。功能需求。指定系统必须提供的服务。性能需求。指定系统必须满足的定时约束或容量性能需求。指定系统必须满足的定时约束或容量约束等。约束等。可靠性和可用性需求。可靠性和可用性需求。应定量指定。应定量指定。出错处理需求。出错处理需求。指环境错误,非系统本身的错误指环境错误,非系统本身的错误。接口需求。接口需求。常见的接口需求:用户接口需求;硬常见的接口需求:用户接口需求
9、;硬件接口需求;软件接口需求;通信接口需求。件接口需求;软件接口需求;通信接口需求。12 约束。约束。常见的约束:精度;工具和语言约束;常见的约束:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。设计约束;应该使用的标准;应该使用的硬件平台。逆向需求。指定系统不应该做什么,逆向需求。指定系统不应该做什么,将来可能提出的要求。将来可能提出的要求。133.1.2分析系统的数据要求提问并思考:提问并思考:如果你是设计者,除了上述需求以外,如果你是设计者,除了上述需求以外,你觉得还需要得到哪些要求?你觉得还需要得到哪些要求?答:软件系统本质上是信息处理系统,答:软件系统本质上是信息
10、处理系统,要考虑要考虑数据和数据处理数据和数据处理的问题。的问题。14对系统数据的分析l建立数据建立数据(3.4 节)节);l描绘数据结构描绘数据结构(3.7 节)节);l规范化(规范化(3.5 节)节)153.1.3 导出系统的逻辑模型 用数据流图、实体一联系图、状态转换用数据流图、实体一联系图、状态转换图、数据字典和主要的处理算法描述这个逻图、数据字典和主要的处理算法描述这个逻辑模型。辑模型。3.1.4 修正系统开发计划 根据在分析过程中获得的对系统的更深根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定
11、的开发计划。的成本和进度,修正以前制定的开发计划。16图:软件需求分析的通信途径l分析小组成员主要包括领域专家、系统分析分析小组成员主要包括领域专家、系统分析员;员;l客户访谈客户访谈l问题分析与确认问题分析与确认17与用户沟通的方法1、访谈、访谈2、面向数据流自顶向下求精、面向数据流自顶向下求精3、简易的应用规格说明技术、简易的应用规格说明技术4、快速建立软件原型、快速建立软件原型183.2.1 访谈分正式和非正式访谈。分正式和非正式访谈。可采用调查表形式可采用调查表形式可使用情景分析技术可使用情景分析技术19例:某出版社系统调查表编号编号提出问题提出问题1您在哪个部门工作?每日都处理哪些文
12、件、数据、报表?您在哪个部门工作?每日都处理哪些文件、数据、报表?2出版业务流程是什么?出版业务流程是什么?3工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?4手工处理有什么问题解决不了?影响效率的问题有哪些?手工处理有什么问题解决不了?影响效率的问题有哪些?5您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?6您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?7您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?8如何改进业务流程使之更合理?如何
13、改进业务流程使之更合理?9哪些问题是目前传统手工方法根本无法解决的?哪些问题是目前传统手工方法根本无法解决的?10出版社计算机管理信息系统需要解决什么问题?出版社计算机管理信息系统需要解决什么问题?203.2 面向数据流自顶向下求精 结构化分析方法的实质。结构化分析方法的实质。进一步细化可行性研究阶段获得到高层数进一步细化可行性研究阶段获得到高层数据流图。包括建立:据流图。包括建立:详细的数据流图详细的数据流图,描绘数据在软件系统内从输,描绘数据在软件系统内从输入移动到输出的过程中所经受到变换;入移动到输出的过程中所经受到变换;数据字典数据字典:定义数据流图中包含的元素;:定义数据流图中包含的
14、元素;实体关系(实体关系(ER)图)图:从用户角度描述数据;:从用户角度描述数据;IPO 图图:描述数据流图中处理框的功能和算法。:描述数据流图中处理框的功能和算法。21面向数据流自顶向下求精过程223.2.3简易的应用规格说明技术 一种一种面向团队面向团队的需求收集法,提倡用户与的需求收集法,提倡用户与开发者密切合作,开发者密切合作,共同标识问题共同标识问题,提出解决,提出解决方案要素,商讨不同方案并指定基本需求。方案要素,商讨不同方案并指定基本需求。233.2.4快速建立软件原型快速原形就是快速建立起来的旨在演示目标快速原形就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。系统主要
15、功能的可运行的程序。要点:要点:实现用户看得见的功能,省略目标系统实现用户看得见的功能,省略目标系统“隐隐含含”功能。功能。243.2.4快速建立软件原型 建立和修改原型的方法和工具:建立和修改原型的方法和工具:(1)第四代技术。第四代技术。包括众多数据库查询和报表语言、包括众多数据库查询和报表语言、程序和应用系统生成器以及其他非常高级的非过程程序和应用系统生成器以及其他非常高级的非过程语言。能快速生成可执行的代码。语言。能快速生成可执行的代码。(2)可重用的软件构件。可重用的软件构件。使用一组已有的软件构件使用一组已有的软件构件(也称为组件)来装配(而不是从头构造)原型。(也称为组件)来装配
16、(而不是从头构造)原型。(3)形式化规格说明和原型环境。形式化规格说明和原型环境。在在交互式环境交互式环境下,下,用自动工具把基于形式语言的规格说明翻译成可执用自动工具把基于形式语言的规格说明翻译成可执行的程序代码。行的程序代码。253.3分析建模与规格说明3.3.1 分析建模分析建模什么是模型?什么是模型?为了理解事物而对事物做出的一种抽象,是为了理解事物而对事物做出的一种抽象,是对事物的一种对事物的一种无歧义无歧义的书面描述。的书面描述。模型通常由模型通常由一组图形符号一组图形符号和组织这些符号和组织这些符号的的规则规则组成。组成。26模型的作用在建模过程中了解系统。在建模过程中了解系统。
17、通过抽象降低复杂性。通过抽象降低复杂性。有助于回忆所有的细节。有助于回忆所有的细节。有助于开发小组间的交流。有助于开发小组间的交流。有助于与用户的交流。有助于与用户的交流。为系统的维护提供文档为系统的维护提供文档27例:结构化分析方法建立的需求模型 结构化分析(结构化分析(Structured Analysis,SA)是面)是面向数据流进行分析的方法,主要建立以下几种模型:向数据流进行分析的方法,主要建立以下几种模型:l实体关系图实体关系图(Entity-Relationship Diagram,E-R图图)来创建来创建数据模型数据模型,描述系统中所有重要的数据对,描述系统中所有重要的数据对象
18、;象;l 数据流图(数据流图(Data Flow Diagram,DFD):用来创:用来创建建功能模型功能模型,描述了信息流和数据转换。,描述了信息流和数据转换。l 状态转换图状态转换图(State-Transition Diagram,STD)用来创建用来创建行为模型行为模型,描述系统状态如何响应外部事,描述系统状态如何响应外部事件,而进行转换。件,而进行转换。28例:面向对象分祈方法(OOA)所建立的摸型对象模型对象模型(Object model):定义实体,描述:定义实体,描述系统的静态结构,定义系统的静态结构,定义“对谁做对谁做”动态模型动态模型(Dynamic model):描述对象
19、之间的描述对象之间的交互过程,规定交互过程,规定“何时做何时做”功能模型功能模型(Functional model):描述内部数描述内部数据的处理,指明系统应据的处理,指明系统应“做什么做什么”29软件需求规格说明 软件需求规格说明书软件需求规格说明书 是需求分析阶段是需求分析阶段最主要的文档。对目标进行完善和补充,并最主要的文档。对目标进行完善和补充,并写出完整的需求说明。写出完整的需求说明。为消除自然语言中可能存在的不一致、歧为消除自然语言中可能存在的不一致、歧义、含糊、不完整及抽象层次混乱等问题,义、含糊、不完整及抽象层次混乱等问题,有主张用有主张用形式化方法形式化方法描述用户对软件系统
20、的描述用户对软件系统的需求。需求。例例:GB 8567-88:GB 8567-88 计算机软件产品开发文件计算机软件产品开发文件编制指南编制指南30结构化分析方法(Structured Analysis,SA)面向数据流面向数据流进行需求分析的方法进行需求分析的方法适合于适合于数据处理类型数据处理类型软件的需求分析软件的需求分析31结构化分折模型的组成结构323.4实体一联系图 实体一联系图(实体一联系图(E 一一 R 图)描绘系统的图)描绘系统的数数据关系。据关系。分析实体一联系有助于对业务或系统数据分析实体一联系有助于对业务或系统数据组成的理解和交互。组成的理解和交互。l ER图中包含了实
21、体(数据对象)、关系和图中包含了实体(数据对象)、关系和属性三种基本成分属性三种基本成分 一、基本概念(一、基本概念(1)实体:实体:客观世界中存在的,可区分的事物。客观世界中存在的,可区分的事物。属性:属性:实体或数据对象所具有的性质。实体或数据对象所具有的性质。33数据对象(实体)对软件必须理解的复合信息的表示。所谓复合信息是指具有一对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物,因此仅有单个值的事物(例如姓系列不同性质或属性的事物,因此仅有单个值的事物(例如姓名)不是数据对象。名)不是数据对象。数据对象可能是:数据对象可能是:一个外部实体,例如生产或消费信
22、息的任何事物;一个外部实体,例如生产或消费信息的任何事物;一个事物,例如一份报告;一个事物,例如一份报告;一次行为,例如一个电话呼叫;一次行为,例如一个电话呼叫;一个事件,例如一次警报;一个事件,例如一次警报;一个角色,例如教师;一个角色,例如教师;一个组织,例如学校教务处;一个组织,例如学校教务处;一个地点,例如图书馆;一个地点,例如图书馆;一个结构,例如一个目录。一个结构,例如一个目录。34一、基本概念(2)联系:客观事物之间的联系。联系分为三种:联系:客观事物之间的联系。联系分为三种:l一对一(一对一(1:1)班级和班长班级和班长l一对多联系(一对多联系(1:N)班级和学生,系与教师,学
23、生与宿舍班级和学生,系与教师,学生与宿舍l多对多联系(多对多联系(M:N)课程与学生,教师和课程,学生和学会课程与学生,教师和课程,学生和学会二、二、E 一一 R 图的结构图的结构三种基本元素:三种基本元素:35例:教学E-R图36例仓库,职工,零件和供应商的仓库,职工,零件和供应商的ER图图37三、如何建立实体一联系图?1、在需求收集的过程中,列出应用软件或业务过、在需求收集的过程中,列出应用软件或业务过程涉及到的所有程涉及到的所有“事物事物”,将其演化成数据对象;,将其演化成数据对象;2、一次考虑一个对象,定义这个对象和其他对象、一次考虑一个对象,定义这个对象和其他对象之间是否存在连接;之
24、间是否存在连接;3、如果存在连接,应创建一个或多个关系;、如果存在连接,应创建一个或多个关系;4、对每一个关系,确定其关联类型;、对每一个关系,确定其关联类型;5、重复步骤(、重复步骤(2)到步骤()到步骤(4),直到定义了所,直到定义了所有关系。有关系。6、定义每个实体的属性;、定义每个实体的属性;7、形式化并复审实体关系图;、形式化并复审实体关系图;8、重复步骤(、重复步骤(1)到()到(7),直到数据建模完成。,直到数据建模完成。382.4 数据流图(DFD,Data Flow Diagram)描述描述数据处理数据处理过程的工具。过程的工具。通过图形的方法,从数据传递和数据处理的通过图形
25、的方法,从数据传递和数据处理的角度,刻画数据流从输入到输出的移动变换角度,刻画数据流从输入到输出的移动变换过程。过程。数据流三个重要属性:数据流三个重要属性:数据流名字数据流名字数据组成数据组成流向流向392.4.1符号(1)说明:用图形符号以黑盒子形式描绘组成系说明:用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工统的每个部件(程序,文档,数据库,人工过程等),表达数据在系统各部件之间流动过程等),表达数据在系统各部件之间流动的情况。的情况。40例 1:描述银行取款过程的数据流图42应该注意的几个问题适当地命名。(详见教材适当地命名。(详见教材 p45)“数据存储数据存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- L-第三章 软件工程课件需求分析 第三 软件工程 课件 需求 分析
限制150内