《软件工程导论》PPT课件-第3章-需求分析.ppt

上传人:君**** 文档编号:83284430 上传时间:2023-03-29 格式:PPT 页数:66 大小:1.22MB
返回 下载 相关 举报
《软件工程导论》PPT课件-第3章-需求分析.ppt_第1页
第1页 / 共66页
《软件工程导论》PPT课件-第3章-需求分析.ppt_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《《软件工程导论》PPT课件-第3章-需求分析.ppt》由会员分享,可在线阅读,更多相关《《软件工程导论》PPT课件-第3章-需求分析.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程导论 本章学习目标:本章学习目标:理解需求分析的任务和步骤 理解需求分析常见的获取方法 掌握结构化需求分析方法掌握需求分析中使用的图形设计工具第3章 需求分析第3章 需求分析 3.1 需求分析的任务和步骤 3.2 需求获取的常用方法 3.3 需求分析的方法 3.4 结构化分析技术 3.5 需求分析图形工具 3.6习题第3章 需求分析 3.1 需求分析的任务和步骤 3.2 需求获取的常用方法 3.3 需求分析的方法 3.4 结构化分析技术 3.5 需求分析图形工具 3.6 习题“系统必须做什么?”任务:任务:完整、准确、清晰、具体地确定系统所 要完成的工作。出发点:出发点:可行性研究报告

2、 结果:结果:SRS 软件需求规格说明书3.1 需求分析的任务和步骤(1)确定对系统的综合要求 功能功能性需性需求:求:应划分出系统必须完成的所有功能。非功能性非功能性需需求:求:可用性:如果用户可以学会对系统的操作,能解释一个系统或构建的输入状况,则称系统是可用的。可靠性:可靠性指系统或构件在给定时间内、指定条件下,可以完成软件要求功能的能力。例如,可靠性需求包括系统出现故障前的使用时间等。3.1 需求分析的任务(1)确定对系统的综合要求 性能:性能需要考虑系统的定量属性。例如,响应时间、吞吐量、有效性和准确性。可支持性:关注系统部署后系统的变化情况。包括可移植性、可维护性等。外部接口需求:

3、常用的接口需求有用户接口需求,硬件接口需求,软件接口需求和通信接口需求。约束信息:是指一些合理限制设计者和程序员选择的条件。例如,某种数据必须达到的数据精度;要求软件产品可以在某种系统上运行。3.1 需求分析的任务(2)分析系统的数据要求软件需求分析的一个重要任务 复杂数据由许多基本数据元素组成,数据结构表示数据元素之间的逻辑关系。数据字典定义数据;层次方框图 定义数据结构3.1 需求分析的任务(3)建立软件的逻辑模型 对系统的综合要求 对数据的要求描述方法:描述方法:数据流图、数据字典、实体-联系图、和主要的处理算法。(4)编写软件需求规格说明书(5)需求分析评审:验证一致性、完整性、现实性

4、、有效性 系统逻辑模型3.1 需求分析的任务第3章 需求分析 3.1需求分析的任务和步骤 3.2需求获取的常用方法 3.3 需求分析的方法 3.4结构化分析技术 3.5需求分析图形工具 3.6习题1、访谈:最原始的获取用户需求的技术2、问卷调查:通常与用户访谈组合使用3、观察用户工作流程:需要对复杂流程加深了解或对关键人物理解不清楚时使用4、建立联合分析小组:由软件开发方和客户方共同组成5、快速原型法:需要多次修改3.2 需求分析获取的常用方法3.2 需求分析获取的常用方法1、访谈:(2)访谈对象被访谈者 话题中心 目标 高层管理人员 问题、机会 探讨系统的目标与范围 中层管理人员 业务事件

5、理清需求的脉络信息 操作层 业务活动 填充需求的细节 技术团队 解决方案 论证解决方案的可行性 表3.1 访谈类型表3.2 需求分析获取的常用方法1、访谈:(3)访谈中的沟通技巧(a)制作访谈问卷并事先发给被访谈者。(b)把握语言节奏。(c)有效结合不同的问题类型。包括有封闭式问题(判断题)、半封闭式问题(选择题)、开放式问题(简答题)。(d)注意安排问题的顺序。(e)访谈时要注意沟通的细节。注意消除“隔行如隔山”的术语影响;善于观察在访谈过程中对方的异常现象;在沟通中注意使用模型帮助理解;不要遗漏问题。3.2 需求分析获取的常用方法2 2、问卷调查、问卷调查(1)问卷的特点:当片面性矛盾比较

6、突出时就应该组织进行问卷调查。例如:企业中的从业人员数量是很大的,或存在跨地域用户。(2)使用方法:用户访谈与问卷调查应该采用组合方采用组合方式使用式使用。先调查,后访谈;先访谈,后调查。问卷调查在设计问题时还要注意一些设计要点,如问题的篇幅与布局;问题类型的选择等。问卷调查之后还要进行问卷分析。3.2 需求分析获取的常用方法3 3观察用户工作流程观察用户工作流程但是这个过程耗时较长。而且由于“被观察”者微妙的心理变化,会使观察失真。所以此方法在需要对复杂流程加深了解时,对关键人物理解不清楚时使用。4建立联合分析小组建立联合分析小组联合小组要制定小组工作计划和进度安排,确定专门的记录员和负责人

7、。同时还要选定一种简洁、准确、易于理解的符号,作为共同交流的语言。3.2 需求分析获取的常用方法5 5快速原型法快速原型法过程:过程:快速建立起一个系统原型,用来演示系统功能。用户对原型进行评估,根据用户的需求来修改原型,把修改后的系统原型再次交给用户评估,如此循环多次,直到获得用户最终准确的需求。快速原型法在使用时应注意以下几点:快速原型法在使用时应注意以下几点:(1)系统原型应该是实现用户看得见的功能。(2)尽量在较短的时间内构建原型。(3)原型必须容易修改。第3章 需求分析 3.1需求分析的任务和步骤 3.2需求获取的常用方法 3.3 需求分析的方法 3.4结构化分析技术 3.5需求分析

8、图形工具 3.6习题3.3 需求分析的方法功能分解法结构化开发方法信息建模方法面向对象的分析3.3 需求分析的方法1 1功能分解方法功能分解方法 这种方法是将一个系统看成是由若干功能构成的一个集合,每个功能又可划分为若干个子功能,每个子功能又进一步分解。这种方法是把软件需求当做一棵倒置的功能一棵倒置的功能树树。体现了“自顶向下,逐步求精”的思想,用过程抽象的观点来看需求,符合传统程序设计人员的思维特征。最后分解的结果一般已经是系统程序结构的一个雏形,实际它已经很难与软件设计明确分离很难与软件设计明确分离。由此可见,这种方法往往难以适应用户的需求变化。3.3 需求分析的方法2 2结构化开发方法结

9、构化开发方法 结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立化等。它包含有结结构化分析构化分析、结构化设计结构化设计和结构化程序设计结构化程序设计等方法。结构化分析技术,是由E.Yourdon等人在20世纪70年代提出的一种适用于大型数据处理系统的、面向面向数据流的需求分析技术数据流的需求分析技术。3.3 需求分析的方法3 3信息建模方法信息建模方法 信息建模方法是从数据的角度来对现实世界建立模型数据的角度来对现实世界建立模型的。信息建模方法的基本工具是实体实体-联系图联系图。在信息模型中,实体和关系形成一个网络,描述系统的信息状况。3.3 需求分析的方法4 4面向对

10、象的分析面向对象的分析 面向对象的分析是把实体-联系图中的概念与面向对象程序设计语言中的概念结合在一起。面向对象分析的关键是识别、定义问题域内的类与对象,并分析它们之间的关系,根据问题域中的操作规则建立模型。第3章 需求分析 3.1需求分析的任务和步骤 3.2需求获取的常用方法 3.3需求分析的方法 3.4结构化分析技术 3.5需求分析图形工具 3.6习题3.4 结构化分析技术 结构化分析技术是面向数据流自顶向下逐步求精进行需求获取的方法,适合于数据处理类型系统的需求分析。思路:基于数据流图自顶向下逐层分解分析工具:数据流图、数据字典等分析过程:沿数据流图回朔 注意细节的分析、补充 用户复查

11、补充、纠正、新问题的提出 细化数据流图 修正开发计划3.4 结构化分析技术3.5 需求分析图形工具分为:非形式化,半形式化和形式化三类。半形式化的描述工具:实体-联系图、数据流图、数据字典、描述加工逻辑的结构化语言、判定表和判定树等。实体-联系图 也称为ER图,是一种面向问题的数据模型,是按照用户观点对数据建立的模型。数据模型中包含3种互相关联的信息:实体实体、属性属性 和 联系联系。3.5.1 实体-联系图 实体对软件必须理解的复合信息复合信息的抽象 复合信息是具有一系列不同性质或属性的事物,仅有单个值的事物不是数据对象。数据对象可以是外部实体、事物、行为、时间、角色、单位、地点或结构等。3

12、.5.1 实体-联系图 属性数据对象的性质数据对象的性质 把属性定义为“标识符”。在查找数据对象实例时,用标识符属性作为“关键字”。实体的属性有很多,应尽量找与开发系统相关的一些性质。实体和联系都有属性,两者可以转换为相应的数据库表,而属性则是表里的字段。3.5.1 实体-联系图 联系数据对象彼此之间相互连接的方式数据对象彼此之间相互连接的方式 一对一联系(1:1)一对多联系(1:N)多对多联系(M:N)3.5.1 实体-联系图如何区分实体和属性如何区分实体和属性实体与属性是相对而言的。同一事物,在一种应用环境中作为“属性”,在另一种应用环境中也可以作为“实体”。例:学校中的系,在某种应用环境

13、中,它只是作为“学生”实体的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时它就需要作为实体了。3.5.1 实体-联系图如何区分实体和属性如何区分实体和属性 一般原则:l属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。l属性不能与其他实体具有联系。联系只发生在实体之间。符合上述两条特性的事物一般作为属性对待。符合上述两条特性的事物一般作为属性对待。为了简化E-R图的处置,现实世界中的事物凡能够作为属性对待的,应尽量作为属性。3.5.1 实体-联系图例例1 1:“学生学生”由学号、姓名等属性进一

14、步描述,由学号、姓名等属性进一步描述,根据准则,根据准则,“学生学生”只能作为实体,不能作为只能作为实体,不能作为属性。属性。例例2 2:职称通常作为教师实体的属性,但在涉及住:职称通常作为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,也就是说职称房分配时,由于分房与职称有关,也就是说职称与住房实体之间有联系,根据准则,这时把职与住房实体之间有联系,根据准则,这时把职称作为实体来处理会更合适些。称作为实体来处理会更合适些。3.5.1 实体-联系图 符号E-R图 (Entity-Relationship Diagram)实体:矩形框 关系:菱形框 属性:椭圆形或圆角矩形3.5.1 实体

15、-联系图实体-联系图的元素符号实体联系属性3.5.1 实体-联系图例如:某品牌的计算机是由多种部件组成的,而部件通过各地供货商供应,假定每种部件的供货商是唯一的,但一个供货商可以供应多种零件。3.5.1 实体-联系图课堂练习-1:请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应商等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。3.5.1 实体-联系图工程项目供应商零件供应订购MMNN零件名称零件编号颜色重量供应量订购量项目编号开工日期项目名称供应商编号地址供应商名称课堂练习-2:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是

16、存款则系统记录存款人姓名、住址、身份证号码等存款信息,并打印出存款存单给储户;如果是取款且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。要求:要求:用ER图描绘系统中的数据对象。3.5.1 实体-联系图储户储蓄所存取款MN类型数额利率密码姓名身份证号码住址名称地址电话号码电话号码到期日期计算机储蓄系统的实体-联系图学生每学期按照事先安排的课程计划开始学习。每门学生每学期按照事先安排的课程计划开始学习。每门课程由多名教师讲授课程由多名教师讲授,一个教师可以讲授多门课程;每一个教师可以讲授多门课程;每名学生可以选修多门课程;学期结束后通过

17、考试,教名学生可以选修多门课程;学期结束后通过考试,教师登记每门课程、每名学生的成绩,并得到确认后存师登记每门课程、每名学生的成绩,并得到确认后存档;要求可以按照教师、学生、课程查询和统计成绩,档;要求可以按照教师、学生、课程查询和统计成绩,了解课程授课的质量;能给出统计分析报表,供院主了解课程授课的质量;能给出统计分析报表,供院主管部门参考。管部门参考。举例:3.5.1 实体-联系图教教 师师课 程编号姓名性别职称系别自然情况编号名称学时学期性质讲授讲授nm3.5.1 实体-联系图学学 生生课 程编号姓名性别班级学生证号自然情况编号名称学时学期性质选修选修nm成绩3.5.1 实体-联系图教

18、师课 程编号姓名性别职称系别自然情况编号名称学时学期性质讲授nm学 生编号姓名性别班级学生证号 自然情况选修nm成绩3.5.1 实体-联系图 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。3.5.2 数据字典 数据流图数据流图和数据字典数据字典共同构成系统的逻辑逻辑模型模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。3.5

19、.2 数据字典基本功能:基本功能:定义数据。数据字典由对以下四类元素的定义组成:数据字典由对以下四类元素的定义组成:数据流;数据流分量(即数据元素);数据存储;处理。注:通常用IPO图或PDL图描述3.5.2 数据字典数据流图中每一个被命名的图形元素包含:名名 字字:数据流图中表示数据流、数据源或外部实体的名字与别名。(保持命名唯一性)别别 名名:数据描述数据描述:关于该数据条目的简要功能描述。数据定义数据定义:该数据条目的解释性说明,可以使用自顶该数据条目的解释性说明,可以使用自顶向下的方法进行定义。向下的方法进行定义。数据位置数据位置:使用该数据条目作为输入流或输出流的转换的列表。(修改时

20、保持数据元素的一致性)3.5.2 数据字典数据定义的方法数据定义的方法:对于复杂的数据,一般可以采用自顶向下的方法进行分解。复杂数据中的数据元素的复杂数据中的数据元素的组成方式组成方式:顺序:顺序:表示个分量连续地按次序排列。通常用加号表示连续关系。选择:选择:表示从列表中的多个元素中选取一个。重复:重复:表示某个元素重复零次或多次。可选:可选:表示一个分量是可有可无的(即重复零次或一次)。3.5.2 数据字典可以使用的符号:可以使用的符号:(1)=表示“被定义为”或“等价于”或“由组成”。(2)表示“与”(和),用来连接两个数据元素。例如,职工号=科室号+序列号。(3)|表示“或”,对 中列

21、举的数据元素可任选其中某一项。例如:性别=男|女 表示性别由男或女组成。3.5.2 数据字典(4)表示“重复”,对中内容可以重复使用。通常使用m|n或者 表示mn中内容至少出现m次,最多出现n次。其中m和n为重复次数的上、下限。例如,字符串=2字母或数字字符6 表示“字符串”由26位字母或数字字符符号组成。(5)()表示“可选”,对()中的内容可选、可不选;例如,学生基本信息=学号+性别+(家庭住址)。(6)“.”表示基本数据元素。例如,x=“a”。(7).表示连结符。例如,x=1.9。3.5.2 数据字典 数据字典的实现:小型软件系统中一般采用卡片的形式描述。一张卡片上记录某数据元素中包含名

22、字、别名、描述、定义和位置。3.5.2 数据字典假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件,对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件的入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。请用数据流图请用数据流图描绘该功能的需求并建立相应的数据字典。描绘该功能的需求并建立相应的数据字典。3.5.2 数据字典名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表定义:定货报表=零件编号零件编号

23、+零件名称+定货数量定货数量+目前价格+主要供应者+次要供应者位置:定货信息名字:零件编号别名:描述:唯一地标识库存清单中一个特定零件的关键域定义:零件编号=8字符8位置:定货报表 定货信息 库存清单 事务名字:定货数量别名:描述:某个零件一次定货的数量定义:定货数量=1数字5位置:定货报表 定货信息 3.5.2 数据字典定货报表在DD中的定义:名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表定义:定货报表=零件编号零件编号+零件名称+定货数量定货数量+目前价格+主要供应者+次要供应者位置:定货信息定货报表在数据字典中的表示:3.5.2 数据字典名字:零件编号零件编号别名

24、:描述:唯一地标识库存清单中一个特定零件的关键域定义:零件编号=8字符8位置:定货报表 定货信息 库存清单 事务3.5.2 数据字典名字:定货数量定货数量别名:描述:某个零件一次定货的数量定义:定货数量=1数字5位置:定货报表 定货信息3.5.2 数据字典练习练习-1-1:某程序设计语言规定,用户说明的标识符是长度不某程序设计语言规定,用户说明的标识符是长度不超过超过8 8个字符的字符串,其中第一个字符必须是字母个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符,随后的字符既可以是字母字符也可以是数字字符。字符。则对标识符的定义可表示为:则对标识符的定义可

25、表示为:标识符标识符=字母字符字母字符+字母数字串字母数字串 字母数字串字母数字串=0=0字母或数字字母或数字77 字母或数字字母或数字=字母字符字母字符|数字字符数字字符 3.5.2 数据字典习题习题11电话号码电话号码=分机号码分机号码|外线号码外线号码分机号码分机号码=8201.8299外线号码外线号码=数字零数字零+市话号码市话号码|长话号码长话号码数字零数字零=0市话号码市话号码=局号局号+分局号分局号局号局号=455|325|999分局号分局号=4位数字串位数字串4位数字串位数字串=4数字数字4数字数字=0.9长话号码长话号码=区号区号+市话号码市话号码区号区号=000.300练习

26、练习-2-2:北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。3.5.2 数据字典电话号码=校内电话号码|校外电话号码校内电话号码=非零数字+3位数字校外电话号码=本地号码|外地号码本地号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=1|2|3|4|5|6|7|8|9数字零=03位数字=3数字38位数字=非零数字+7位数字7位数字=7数字7数字=0|1|2|3|4|5|6|7|8

27、|9电话号码在数据字典中的定义:电话号码在数据字典中的定义:层次方框图:用树型结构的一系列多层次的矩矩形框形框描绘数据的层次结构。顶层是一个单独的矩形框,代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。3.5.3 层次方框图例如,描绘一所大学各个机关部门和学院的组成可以用如图3.3中的层次方框图表示。这所大学由党委办公室、校长办公室及各个学院组成,计算机学院又分为软件工程系、计算机科学系等。3.5.3 层次方框图例如,描绘一家计算机公司全部产品由硬件、软件和服务三类产品组成。硬件包括处理机、存储器和外部设备等。软件产品又

28、分为系统软件和应用软件,系统软件又进一步分为操作系统、编译程序和软件工具等。而服务类产品包括软件服务、硬件维修和培训等。试用层次方框图表示该公司全部产品的数据结构。3.5.3 层次方框图IPO图:简称是IPO(Input Process Output)图。它能够方便地描绘输入数据、对数据的处理和输出数据之间的关描绘输入数据、对数据的处理和输出数据之间的关系系。左边的框左边的框中列出有关的输入数据,中间的框中间的框内列出主要的处理,右边的框内右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序。3.5.4 IPO图图图3.5 3.5 改进的改进的IPOIPO图图3.5.4 IPO图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁