第三讲GIS需求分析课件

上传人:M****1 文档编号:590604513 上传时间:2024-09-14 格式:PPT 页数:90 大小:967KB
返回 下载 相关 举报
第三讲GIS需求分析课件_第1页
第1页 / 共90页
第三讲GIS需求分析课件_第2页
第2页 / 共90页
第三讲GIS需求分析课件_第3页
第3页 / 共90页
第三讲GIS需求分析课件_第4页
第4页 / 共90页
第三讲GIS需求分析课件_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第三讲GIS需求分析课件》由会员分享,可在线阅读,更多相关《第三讲GIS需求分析课件(90页珍藏版)》请在金锄头文库上搜索。

1、GIS软件的需求分析软件的需求分析第三讲内容内容需求分析的重要性需求分析的困难性需求工程需求分析过程概念模型和规范化图形工具需求验证原型技术2需求分析需求分析需求分析是软件定义时期的最后一个阶段回答“系统必须做什么?”的问题3需求分析的重要性需求分析的重要性 真的很重要吗?真的很重要吗?例:Our real-time example is based on the embedded software in the Ariane-5, a space rocket belonging to the European Space Agency (ESA). On June 4, 1996, on

2、its maiden flight, the Ariane-5 was launched and performed perfectly for approximately 40 seconds. Then, it began to veer off course. At the direction of an Ariane ground controller, the rocket was destroyed by remote control. The destruction of the uninsured rocket was a loss not only of the rocket

3、 itself, but also of the four satellites it contained; the total cost of the disaster was $500 million (Newsbytes home page 1996; Lions et al. 1996).4需求分析的重要性需求分析的重要性 The reason: there was no discussion in the requirements documents of the ways in which the Ariane-5 trajectory would be different fro

4、m Ariane-4.统计资料:统计资料: In 1994, the Standish Group surveyed over 350 In 1994, the Standish Group surveyed over 350 companies about their over 8000 software projects to find companies about their over 8000 software projects to find out how well they were faring. The results are sobering. out how well

5、they were faring. The results are sobering. Thirty-one percentThirty-one percent of the software projects were of the software projects were canceled canceled before they were completed. Moreover, in large companies, before they were completed. Moreover, in large companies, only only 9%9% of the pro

6、jects were of the projects were delivered on timedelivered on time and cost and cost what they were budgeted, and what they were budgeted, and 16%16% met those criteria in met those criteria in small companies (Standish 1994).small companies (Standish 1994).5需求分析的重要性需求分析的重要性6需求分析的重要性需求分析的重要性5 点事实v软件

7、生命周期中,一个错误发现得越晚,修复错误的费用越高7需求分析的重要性需求分析的重要性v许多错误是潜伏的,并且在错误产生后很长一段时间才被检查出来v在需求过程中会产生很多错误DeMarco在一份研究报告中指出,被检查出来的错误的56产生的根源可以追溯到需求阶段。AIRMICS所进行的一项调查发现,在一份美国军方大型管理信息系统的需求现格说明书(SRS)中存在着500多个错误,当然这仅仅是一个软件项目中的一次调查。v在需求阶段,代表性的错误为疏忽、不一致和二义性美国海军研究实验室从20世纪70年代起就对软件开发技术不断地进行研究。他们对海军A7E它机上的”宅行操作程序进行实地测试,以验证许多新设想

8、的可行性。得出的研究数据表明:A7E项目中77的需求错误特点是不明确:疏忽、不一致和二义性。按错误类型对这些错误分布进行分析的结果是:49不正确的事实,31疏忽,l 3不一致,5二义性8需求分析的重要性需求分析的重要性v需求错误是可以被检查出来的9需求分析的重要性需求分析的重要性在需求过程中会产生很多错误(事实3和4)。许多错误并没有在早期被发现(事实2)。这样的错误是能够在产生的初期被检查出来的(事实5)。如果没有及时检查出来这些错误,软件费用会直线上升(事实1)10需求管理的困难性需求管理的困难性11需求工程需求工程需求是什么?需求就是以一种清晰、简洁、一致且无二义性的方式,对一个待开发系

9、统中各个有意义方面的陈述的一个集合。需求工程一般指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述出待开发系统及其行为特征和相关约束;通常是一些过程的集合:需求获取(需求引出)、需求分析和编写软件规格说明书(SRS)及验证(包括鉴定和证实)。12需求工程涉及人员需求工程涉及人员13软件需求软件需求w功能需求w性能需求w环境需求w可靠性需求w安全保密要求w用户界面需求w资源使用需求w成本消耗需求w开发进度需求w预先估计以后系统可能达到的目标14需求分析与程序设计的不同需求分析与程序设计的不同15需求分析现状需求分析现状误解交流障碍缺乏共同语言“完整性”问题需求永远不会稳定用户意见不统

10、一错误要求认识混淆16需求分析的任务需求分析的任务可行性分析阶段已经粗略了解了用户的需求,甚至已经提出了一些可行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的方案。因此许多细节被忽略。在系统开发前,还需要进一步确定17需求分析的任务需求分析的任务可行性分析可行性分析DFDDD功能具体化功能具体化需求规格说明需求规格说明加细加细DFDDD算法算法描述描述IPOFinal stage of Definition phase仍然回答“What”,而不是“How”,但更细致、精确(合同的拟定)18需求分析的任务需求分析的任务完整准确清晰具体19需求分析的任务需求分析的

11、任务20需求分析的任务需求分析的任务1、确定要求 功能要求(functional requirements):系统必须做什么? 性能要求(performance requirements):做得怎样? 例:response time , memory , back-up memory , security , 运行要求(operational requirements) :运行环境、软硬件配置等。 未来可能的扩充要求(possible evolution):如3维虚拟现实的效果等等。21需求分析的任务需求分析的任务 2分析数据分析数据建立概念模型建立概念模型(conceptual models

12、): E-R Diagram形象描绘数据结构形象描绘数据结构: Data Hierarchy, Warnier Diagram, IPO数据结构规范化数据结构规范化(Normalization)3、导出逻辑模型:、导出逻辑模型: DFD + DD + IPO4、修正计划:重估成本、进度等、修正计划:重估成本、进度等22需求分析的任务需求分析的任务“样样机机试用试用”CDG5、开发原型系统(Prototyping)23分析过程分析过程软件系统本质上是信息处理系统,任何信息处理系统的基本功能都是把输入数据转变成需要的输出信息数据是分析的出发点,在可行性分析阶段许多实际的数据元素被忽略了,需求分析阶

13、段将定义这些数据元素结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法24分析过程分析过程1、沿、沿DFD回溯回溯(1)DFD的输出端是系统的最终目的的输出端是系统的最终目的(2)向回确定每个数据元素的来源)向回确定每个数据元素的来源(3)为了得到某个数据元素需要用到数据流图中目前还)为了得到某个数据元素需要用到数据流图中目前还没有的数据元素,或者得出某个数据元素需要用的算没有的数据元素,或者得出某个数据元素需要用的算法尚不清楚,可加细法尚不清楚,可加细DFD及及DD,并将相关算法记录在,并将相关算法记录在IPO图图中。中。25分析过程分析过程2、用户复查 数据字典准确完整吗? 算

14、法正确吗? 有没有遗漏必要的处理或数据元素? 某些数据元素是从哪里来的? 构成一个循环,认识螺旋式上升26分析过程分析过程3、细化DFD: 加细前后的IO须相同。 分解到须考虑具体实现的代码时即可仃止27分析过程分析过程4、修正计划、修正计划5、文档:需求规格说明书、文档:需求规格说明书不需分解不需分解有补充有补充修正修正无补充修正无补充修正分析追踪分析追踪数据流图数据流图用户复查用户复查细细 化化数据流图数据流图需要需要分解分解28需求分析规格说明书需求分析规格说明书 文档编号文档编号: 版版 本本 号:号: 文档名称:文档名称: 项目名称:项目名称: 项目负责人:项目负责人: 年年 月月

15、日日编写:编写:核对:核对:审核:审核:批准:批准:开发单位:开发单位: 29需求分析规格说明书需求分析规格说明书系统规格说明:系统规格说明: 系统概貌系统概貌 功能要求功能要求 性能要求性能要求 运行要求运行要求 可能增加的要求可能增加的要求 DFD IPO 数据要求:数据要求: DD Hierarchy 或或 Warnier Diagram 用户系统描述用户系统描述 初步用户手册:从用户的观点考虑系统初步用户手册:从用户的观点考虑系统 系统功能、性能系统功能、性能 使用与步骤使用与步骤 等等修正的开发计划:修正的开发计划: 成本估计成本估计 资源使用计划资源使用计划 进度计划进度计划30需

16、求分析规格说明书需求分析规格说明书从现实中分离功能,即描述要从现实中分离功能,即描述要“ “做什么做什么” ”而不是而不是“ “怎样实现怎样实现” ”要求使用要求使用面向处理面向处理的规格说明语言(或称系统定的规格说明语言(或称系统定义语言)义语言)如果被开发软件只是一个大系统中的一个元素,如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中那么整个大系统也包括在规格说明的描述之中规格说明必须包括系统运行环境规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须是可操作的规格说明必须容许不完备性并允许扩充

17、规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合31分析过程分析过程节选自目前我国的一些实际系统中的功能性需求的说明方式:“根据详细的系统调研和需求分析,系统的功能必须满足以下需求:1)编制计划、计划工程拨款管理,工程批复管理,工程进度统计;2)工程项目管理;3)计划拨款、征费收缴信息及其他收拨款信息查询统计;4)路产管理,违章建筑管理,工程材料管理,超限运输管理;5)养征信息查询管理,收费站信息管理;6)文档管理,会议管理,合同管理,驾驶员外勤管理,常用管理;7)养护信息管理,公路维护预警;8)路况信息管理,交通量信息管理,科研项目信息管理;32需求

18、表达需求表达需求说明语句v保持语句和段落的简短v采用主动语态的表达方式v编写具有正确的语法和标点的完整句子v使用的术语应该和词汇表中定义的一致v需求陈述应该具有一致的式样,例如“系统必须”,或者“用户必须”,并紧跟一个行为动作和可观察的结果,例如“仓库管理子系统必须现实一张在所请求的仓库中有存货的药品名单。”33需求表达需求表达v为了减少不确定性,避免采用模糊的、主观的术语,例如,用户友好、容易、简单、迅速、有效、支持、许多、最新技术、优越的、可接受的和健壮的。v避免使用比较性的词汇,例如:提高,最大化,最小化和最佳化。定量地说明所需要提高的程度或者说清一些参数可接受的最大值和最小值。34需求

19、表达需求表达“产品必须在固定的时间间隔内提供状态消息,并且每次时间间隔不得小于60秒”v后台任务管理器应该在用户界面的指定区域显示状态消息v在后台任务进程启动之后,消息必须每隔60(+_10)秒更新一次,并且保持连续的可见性。v如果正在正常处理后台任务进程,那么后台任务管理器必须显示后台任务进程已完成的百分比v当完成后台任务时,后台任务管理器必须显示一个“已完成”的消息。v如果后台任务中止执行,那么后台任务管理器必须显示一个出错信息。35需求表达需求表达“产品必须在显示和隐藏非打印字符之间进行瞬间切换”v“用户在编辑文档时,通过激活特定的触发机制,可以在显示和隐藏所有HTML标记之间进行切换。

20、”36需求表达需求表达“分析程序应该能生成HTML标记出错的报告,这样就可以使HTML的初学者使用它来迅速排错”v在HTML分析程序完全分析完一个文件后,该分析程序必须生成一个出错报告,这个报告中包含了在分析文件中所发生错误的HTML所在的行号以及文本内容,还包含了对每个错误的描述。v如果分析过程中未发生任何错误,就不必生成任何错误报告37分析过程分析过程第六步 审查和复审以上六步构成一个循环38需求分析过程需求分析过程39数据库基本概念(数据库基本概念(1)在软件系统中需要处理的数据是现实世界中存在的事物及其联系的反映。人们通常将与数据处理有关的的领域分为三个世界:v 现实世界现实世界是存在

21、于人们头脑之外的客观世界,现实世界中的事物可分成对象和性质两大类。对象可以是人、是物,还可以是实际的东西或概念的东西,例如,大学、城市等。对象还可以指事物与事物间的联系。性质则是指事物的性质或特征。40数据库基本概念(数据库基本概念(2)v信息世界信息世界也叫做观念世界,是现实世界在人们头脑中的反映。客观世界中的事物在信息世界中叫做实体,反映事物之间联系的叫做实体模型。实体是由若干属性的属性值组成。属性是实体某一方面的特征,相应于事物的性质。例如,一个学生实体是如下的一个5元组:n( 950836, 袁星,男, 20, 计算机应用)n5元组中每一元素是学生的某一属性的属性值。他们对应的属性集合

22、是:n这些属性集合表征了“学生”实体的类型,叫做实体型。同一类型的实体的集合叫做实体集。41数据库基本概念(数据库基本概念(3)v 数据世界数据世界则是信息世界中信息的数据化,现实世界中的事物及其联系在数据世界中用数据模型描述。描述每一实体的数据称为记录,描述属性的数据叫做数据项或字段。与实体集相对应的称为文件。例如,学生文件就由多个记录组成,这些记录放在一起构成一个二维表。表中每一横排叫做一个记录或元组,每一纵列叫做一个属性。42数据库基本概念(数据库基本概念(4)记录由数据项组成,正如实体由若干属性的属性值组成一样。一般数据项沿用属性名。用做属性名时表示观念信息,用做数据项名时表示数据信息

23、。每个数据项包括两个特征:即数据类型和数据长度。若干同类型的记录构成文件。为了对文件中的记录有效组织和存取,通常指定一个数据项进行区别,这个数据项叫做关键字。43数据库分析及工具数据库分析及工具E-R方法方法E-R方法(Entity-Relationship Approach)和实体模型:使用E-R图,可定义一 个实体模型。实体模型是现实世界的纯表示,它不涉及数据世界的数据结构、存取路径、存取效率等问题。因此,它可以转换成数据库中的数据模型。E-R(实体-联系)方法可以进行数据库逻辑设计E-R图三要素:实体、实体属性、实体间的联系。在E-R图中,每个方框表示实体型或属性,方框之间的菱形表示实体

24、之间的联系。44数据库分析及工具数据库分析及工具E-RE-R方方法法E-R图例部门职工家属由组成职工家属工程供应商零件工作于主管供应关系由组成1n1nmn11mnpmn45数据库分析及工具数据库分析及工具E-R方法方法v在E-R图中,每个方框表示实体型或属性,方框之间的连线表示实体之间,或实体与属性之间的联系。出现在连线上的短竖线可以看成是“1”,而圆圈隐含表示“0”。例如,在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体型)有学生、教师和课程。用E-R图描述它们之间的联系,得下图。其中,学生与课程是多对多的联系,而教师与课程的联

25、系是零、一对多。46数据库分析及工具数据库分析及工具E-R方法方法进一步,要确定属性。例如,学生具有学号、姓名、性别、年龄、专业(其它略)等属性;课程具有课程号、课程名、学分、学时数等属性;教师具有职工号、姓名、年龄、职称等属性。此外,学生通过学号、分数与课程发生联系。如此可得教学实体模型47数据库分析及工具数据库分析及工具E-R模型向关模型向关系模型的转化系模型的转化ER模型是对现实世界的真实抽象,是直接面向现实世界的,因此,它只能转化为面向应用的关系模型才能进入软件设计阶段。v例:有三个实体型,即课程、学生和教师,用三个关系保存它们的信息:学生(学号,姓名,性别,年龄,专业,籍贯)教师(职

26、工号,姓名,年龄,职称,工资级别,工资)课程(课程号,课程名,学分,学时,课程类型)48数据库分析及工具数据库分析及工具E-R模型向关模型向关系模型的转化系模型的转化为表示实体型之间的联系,又建立两个关系:选课 (学号,课程号,听课出勤率,作业完成率,分数)教课 (职工号,课程号)这五个关系,组成了数据库的模型。在每个关系中,属性名下加下划线)指明关键字。并规定关键字能唯一地标识一个元组。49数据库分析及工具数据库分析及工具数据结构数据结构的规范化的规范化为了便于数据库的设计,常常要对直接从ER模型转换过来的关系模型结构做一些简化,其中最常见的一种方法就是规范化技术。v将数据的逻辑结构归结为满

27、足一定条件的二维表(又称关系)形式。v对于非规范化的关系,必须将它规范化,即利用更单纯、更规则的关系来代替原来的关系。50数据库分析及工具数据库分析及工具数据库分数据库分析过程析过程51概念模型和规范化概念模型和规范化软件系统开发过程中必须考虑两方面的问题v“数据”及对数据的“处理”为了把用户的数据要求清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。52概念模型和规范化概念模型和规范化最常用的表示概念性数据模型的方法,是实体联系方法(Entity-Relationship Approach

28、)ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。53概念模型和规范化概念模型和规范化 Entities 例:例: , ,StudentInstructorClass 实体是客观世界中存在的且可相互区分的事实体是客观世界中存在的且可相互区分的事务。实体可以是人也可以是物,可以是具体的务。实体可以是人也可以是物,可以是具体的事物也可以是抽象概念。例如,职工、学生、事物也可以是抽象概念。例如,职工、学生、课程、教师等都是实体。课程、教师等都是实体。54概念模型和规范化概念模型和规范化客观世界中的事物彼此间往往是有联系的,例如,教师与课程间存在“教”这种联系。 Relations 例

29、:例:Enrolled inTeach111NMN55概念模型和规范化概念模型和规范化属性是实体或联系所具有的性质。通常一个实体由若干个属性来刻画。例如,“学生”实体有学号、姓名、性别、系、年级 Attributes 例:例: ,NameI D#56概念模型和规范化概念模型和规范化InstructorStudentEnrolled inTeachClassI D #I D #NameNameSexSexTitleInstructor IDClass IDGradeStudent IDClass IDCreditI D #Subject例:例:57概念模型和规范化概念模型和规范化2、范式(Nor

30、mal Forms):消除数据冗余的程度 IBM E. F. Godd (1970)例:例:*Keyword:可唯一地标识一个元组的属性可唯一地标识一个元组的属性58概念模型和规范化概念模型和规范化范式级别越高,存储同样数据就要分解成更多张表,因此“存储自身”的过程也就越复杂随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳定性较差范式级别的提高则需要访问的表增多,性能(速度)将下降59概念模型和规范化概念模型和规范化1 - NF:所有属性都是原子值,即不出现:所有属性都是原子值,即不出现“表中有表表中有表”60概念模型和规范化概念模型和规范

31、化2 - NF:在:在 1-NF 基础上,每个基础上,每个non-key-word都由整个都由整个key word 决定(而非依赖于决定(而非依赖于key word 的一部分)。的一部分)。61概念模型和规范化概念模型和规范化3 - NF:在 2-NF基础上,non-key-word之间无从属关系。62图形工具图形工具1、层次方框图、层次方框图 (Hierarchy) 描绘数据的结构描绘数据的结构例:例:A Room hierarchy based on an interior designers perspective.RoomRoom with lightsRoom with window

32、sGarageBasementKitchenBathroomRoom withFurnitureLivingRoomFamilyRoomBedRoomDiningRoom63图形工具图形工具2、Warnier Diagram:层次层次(n1 ,n2):重复重复n1到到n2次次 :二者择一:二者择一例:例: 头条新闻头条新闻 地区队地区队 头版头版 国内新闻国内新闻 体育新闻体育新闻 职业队职业队 本地新闻本地新闻 拳击拳击 社论社论(1,1) 经营经营简讯简讯 专栏专栏(1,3) 报纸报纸 社论社论 读者来信读者来信(1,3) 副刊副刊 商业新闻商业新闻 雇员简雇员简讯讯 讽刺漫画讽刺漫画(0

33、,1) 一般新一般新闻闻 体育新闻联播体育新闻联播 招生招生 副刊副刊 商业新闻商业新闻 广告广告 招聘招聘 广告广告 求助求助细细化化64图形工具图形工具3、IPO图图(Input / Process / Output):简要的算法描述:简要的算法描述1. 1. 校验校验主记录主记录2. 2. 校验校验事务记录事务记录3. 3. 更新更新主记录主记录旧的主文件旧的主文件事务文件事务文件有效的有效的主记录主记录有效的有效的事务记录事务记录更新后的更新后的主文件主文件输出输出O O处理处理P P输入输入I I65改进的IPO图66需求验证需求验证方法:方法: 人工审查人工审查 初步用户手册初步用

34、户手册 Prototyping 使用软件工具使用软件工具 完整性、一致性完整性、一致性67需求验证需求验证例1:Software Requirements Engineering Methodology (SREM) (TRW Corporation, 1977)SREM = Requirements Statement Language (RSL) + Requirements Engineering Validation System (REVS)REVSRSLRequirementsRSLStatementsAbstract System Semantic Model (ASSM)Ana

35、lyzerReports68自动化工具自动化工具近年来已经开发出一些需求分析工具,它们提供一组程序,帮助分析员制定需求规格说明。以自动化为主的工具给分析员提供另一种可供选择的方案。软件需求能够用一种规格说明语言来描述,这种语言把关键字指示符与自然语言(例如英语)描述结合起来。规格说明语言被送进一个处理机,它产生出一份需求规格说明,更为重要的是,它同时还产生出一组有关规格说明的一致性和组织的诊断报告。在过去的10年间,已经提出过一些用于制订需求规格说明的自动化工具。69自动化工具自动化工具70自动化工具自动化工具软件需求工程方法学(SREM)和问题陈述语言问题陈述分析器(PSLPSA)是有代表性

36、的自动化工具。此外,一些基于知识或形式化方法都需要有自动工具来支持,才能有较好实用价值。71自动化工具自动化工具软件需求工程方法学(SREM)SREM是一种自动化的需求分析工具,它用一种需求陈述语言(RSL)来描述“元素、属性、关系和结构”。元素(按照SREM的术语)包括一组用来制定需求规格说明的对象和概念。各对象之间的关系规定为RSL的一部分,而属性则用来描述或说明元素,结构用来说明信息流程。这些RSL基本成分与叙述性信息一起构成需求规格说明的细节。72自动化工具自动化工具问题陈述语言与问题陈述分析PSLPSAPSLPSA是1968年由DTeichroew在密执安大学(University

37、of Michigan)提出的。它是为ISDOS项目而开发的,又是一个称之为计算机辅助设计与规格说明分析工具(computeraided design and specification analysis,CADSAT)的更大的系统的部分。PSLPSA给分析员提供的功能包括:v一般信息系统的描述,不论其应用领域如何。v建立一个包含用于信息系统的描述符的数据库。v描述符的添加、删除和修改。v提供格式化的文档资料和关于规格说明的各种报告。73自动化工具自动化工具(1)问题陈述语言(the problem statement language,PSL)。PSL是一种用来描述信息系统的语言。PSL模型

38、的结构由表达以下内容的描述符构成:系统信息流、系统结构、数据结构、数据的导出、系统的规模和容量、系统的动态特性、系统的性质以及项目的管理等。(2)问题陈述分析(the problem statement analyzer,PSA)。PSA能够对由PSL描述的问题进行分析。使用者对系统建立了一个完整的PSL描述后,就调用问题陈述分析器(PSA)对其进行分析。PSA将产生一系列报告。其中包括修改规格说明数据的所有记录、以各种格式介绍数据库信息的参考报告、提供研制项目管理信息的小结报告和评价该数据库文件的分析报告等。74自动化工具自动化工具基于知识的途径软件开发是一种高级智能活动,极富创造性,是知识

39、密集型产业,需要使用有关领域的大量知识。因此,引入人工智能技术,构造基于知识的软件工具或软件工程环境是十分必要的。随着知识工程的进步,目前在软件开发过程中使用人工智能在技术上已成为可能。引入人工智能的原理和技术,把演进型原型的思想进一步提高和细化,可以得出如图所示的扩展的自动程序设计范型。这是一个把用受限自然语言描述的初步需求逐步演进成最终的源程序的自动程序设计系统的概念模型,是由美国南加州大学信息科学研究所首先提出来的。75原型化方法原型化方法在开发初期,要想得到一个完整准确的规格说明不是一件容易在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别是对一些大型的软件项目。的事。特

40、别是对一些大型的软件项目。用户往往对系统只有一个模糊的想法,很难完全准确地表达对用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。系统的全面要求。软件开发者对于所要解决的应用问题认识更是模糊不清软件开发者对于所要解决的应用问题认识更是模糊不清随着开发工作向前推进,用户可能会产生新的要求,或因环境随着开发工作向前推进,用户可能会产生新的要求,或因环境变化,要求系统也能随之变化;开发者又可能在设计与实现的变化,要求系统也能随之变化;开发者又可能在设计与实现的过程中遇到些没有预料到的实际困难,需要以改变需求来解脱过程中遇到些没有预料到的实际困难,需要以改变需求来解脱困境。困境。因

41、此规格说明难以完善、需求的变更、以及通信中的模糊和误因此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为软件开发顺利推进的障碍。解,都会成为软件开发顺利推进的障碍。为了解决这些问题,逐渐形成了软件系统的快速原型的概念。为了解决这些问题,逐渐形成了软件系统的快速原型的概念。76软件原型的分类软件原型的分类在软件开发中,原型是软件的一个早期可运行的在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。版本,它反映最终系统的部分重要特性。vv探索型:探索型:目的是要弄清对目标系统的要求,确定目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。

42、所希望的特性,并探讨多种方案的可行性。vv实验型:实验型:这种原型用于大规模开发和实现之这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。前,考核方案是否合适,规格说明是否可靠。vv进化型:进化型:这种原型的目的不在于改进规格说明,这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。中,逐步将原型进化成最终系统。77建立快速原型好处建立快速原型好处增进软件者和用户对系统服务需求的理解,使比较增进软件者和用户对系统服务需求的理解,使比较增进软件者和用户对系统服务需求的理解,使比较增

43、进软件者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明含糊的具有不确定性的软件需求(主要是功能)明含糊的具有不确定性的软件需求(主要是功能)明含糊的具有不确定性的软件需求(主要是功能)明确化。确化。确化。确化。软件原型化方法提供了一种有力的学习手段。软件原型化方法提供了一种有力的学习手段。软件原型化方法提供了一种有力的学习手段。软件原型化方法提供了一种有力的学习手段。使用原型化方法,可以容易地确定系统的性能,使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的

44、结果。计的可行性,确认系统作为产品的结果。软件原型的最终版本,有的可以原封不动地成为软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。组成部分,这样有利于建成最终系统。78可执行规格说明可执行规格说明基于脚本基于脚本(scenario)的设计的设计自动程序设计自动程序设计专用语言专用语言可复用可复用(reusable)的软件的软件简化假设简化假设原型开发技术原型开发技术79可执行规格说明可执行规格说明可执行规格说明是用于需求规格说明的可执行规格说明是用于需求规格说明的一种自动化技术。使

45、用这种方法,人们一种自动化技术。使用这种方法,人们可以直接观察他们用语言规定的任何系可以直接观察他们用语言规定的任何系统性行为。包括统性行为。包括n n 代数规格说明代数规格说明n n 有限状态模型有限状态模型n n 可执行的数据流图可执行的数据流图80(1)代数规格说明)代数规格说明代数规格说明使用集合、定义于这些集合上的代数规格说明使用集合、定义于这些集合上的代数规格说明使用集合、定义于这些集合上的代数规格说明使用集合、定义于这些集合上的函数和定义于这些函数上的方程来描述对象。函数和定义于这些函数上的方程来描述对象。函数和定义于这些函数上的方程来描述对象。函数和定义于这些函数上的方程来描述

46、对象。规格说明的操作语义用这些方程表示。规格说明的操作语义用这些方程表示。规格说明的操作语义用这些方程表示。规格说明的操作语义用这些方程表示。举例:定义一个无界的栈及其操作vvNEW_STACKNEW_STACK: Stack StackvvPUSHPUSH:StackStack,Element Element Stack StackvvPOPPOP: Stack Stack (Element | Undefined) (Element | Undefined)vvPOP (NEW_STACK ( ) ) POP (NEW_STACK ( ) ) Undefined UndefinedvvPO

47、P (PUSH ( stkPOP (PUSH ( stk,elem ) ) elem ) ) elem elemvv其中,前三行定义了操作的语法,后两行把它们的其中,前三行定义了操作的语法,后两行把它们的其中,前三行定义了操作的语法,后两行把它们的其中,前三行定义了操作的语法,后两行把它们的语义定义为一些方程。语义定义为一些方程。语义定义为一些方程。语义定义为一些方程。81(2)有限状态模型)有限状态模型parnas提出的使用最广泛的一种可执行规提出的使用最广泛的一种可执行规格说明形式。从一个初始状态开始接收输格说明形式。从一个初始状态开始接收输入,到产生输出,状态在推移变化。施加入,到产生输

48、出,状态在推移变化。施加在状态元素上的约束确定了有效状态的推在状态元素上的约束确定了有效状态的推移。移。举例:建立用户程序对话举例:建立用户程序对话82(3)可执行的数据流图)可执行的数据流图数据流图是基于结构化开发方法的结数据流图是基于结构化开发方法的结构化规格说明构化规格说明用一种可执行的语言程序代替定义处用一种可执行的语言程序代替定义处理逻辑的结构化英语,数据流图就成理逻辑的结构化英语,数据流图就成为由可执行语言程序模块组成的网络,为由可执行语言程序模块组成的网络,在一定环境或工具的支持下就可成为在一定环境或工具的支持下就可成为一个可以执行的原型系统。一个可以执行的原型系统。83基于脚本

49、的设计基于脚本的设计脚本是指用户界面的原型。一个脚本用以模拟在系统脚本是指用户界面的原型。一个脚本用以模拟在系统脚本是指用户界面的原型。一个脚本用以模拟在系统脚本是指用户界面的原型。一个脚本用以模拟在系统运行期间用户经历的事件。它提供了输入运行期间用户经历的事件。它提供了输入运行期间用户经历的事件。它提供了输入运行期间用户经历的事件。它提供了输入 处理处理处理处理 输输输输出的屏幕格式和有关对话的模型。因此,软件开发者出的屏幕格式和有关对话的模型。因此,软件开发者出的屏幕格式和有关对话的模型。因此,软件开发者出的屏幕格式和有关对话的模型。因此,软件开发者能够给用户显示系统的逼真的视图,使用户得

50、以判断能够给用户显示系统的逼真的视图,使用户得以判断能够给用户显示系统的逼真的视图,使用户得以判断能够给用户显示系统的逼真的视图,使用户得以判断是否符合他的意图。是否符合他的意图。是否符合他的意图。是否符合他的意图。可在任一脚本中使用一套可复用的软件模块,以表达可在任一脚本中使用一套可复用的软件模块,以表达可在任一脚本中使用一套可复用的软件模块,以表达可在任一脚本中使用一套可复用的软件模块,以表达某一方面的要求。某一方面的要求。某一方面的要求。某一方面的要求。可使用一种原型语言来描述原型系统。原型开发过程可使用一种原型语言来描述原型系统。原型开发过程可使用一种原型语言来描述原型系统。原型开发过

51、程可使用一种原型语言来描述原型系统。原型开发过程中用这种语言来定义屏幕、数据项、及其相关的操作。中用这种语言来定义屏幕、数据项、及其相关的操作。中用这种语言来定义屏幕、数据项、及其相关的操作。中用这种语言来定义屏幕、数据项、及其相关的操作。从系统的外部描述开始,开发与数据库的接口、错误从系统的外部描述开始,开发与数据库的接口、错误从系统的外部描述开始,开发与数据库的接口、错误从系统的外部描述开始,开发与数据库的接口、错误处理和恢复过程等系统的与外部视图一致的细节。处理和恢复过程等系统的与外部视图一致的细节。处理和恢复过程等系统的与外部视图一致的细节。处理和恢复过程等系统的与外部视图一致的细节。

52、84专用语言专用语言专用语言是应用领域的模型化语言。在原专用语言是应用领域的模型化语言。在原型开发中使用专用语言,可方便用户和软型开发中使用专用语言,可方便用户和软件开发者在计划中的系统特性方面的交流。件开发者在计划中的系统特性方面的交流。86软件复用技术软件复用技术利用可复用的模块,做出适当的组合,就利用可复用的模块,做出适当的组合,就可得到快速构造的原型系统。可得到快速构造的原型系统。为了快速地构造原型,这些模块首先必须为了快速地构造原型,这些模块首先必须有简单而清晰的界面;其次它们应当尽量有简单而清晰的界面;其次它们应当尽量不依赖其它的模块或数据结构;第三,它不依赖其它的模块或数据结构;

53、第三,它们应具有一些通用的功能。们应具有一些通用的功能。87简化假设简化假设简化假设是在开发过程中使设计者迅速得到一简化假设是在开发过程中使设计者迅速得到一个简化的系统所做的假设。尽管这些假设可个简化的系统所做的假设。尽管这些假设可能实际上并不能成立,但它们在原型开发过能实际上并不能成立,但它们在原型开发过程中可以使开发者的注意力集中在一些主要程中可以使开发者的注意力集中在一些主要的方面。的方面。在修改一个文件时,可以假设这个文件确实存在修改一个文件时,可以假设这个文件确实存在在在存取文件时,待存取的记录总是存在在存取文件时,待存取的记录总是存在一旦计划中的系统满足用户所有的要求,就可一旦计划中的系统满足用户所有的要求,就可以撤消这些假设,并追加一些细节。以撤消这些假设,并追加一些细节。88课程小节课程小节需求分析的主要任务需求分析的过程需求分析过程的一些图形工具概念模型和规范化软件需求验证89思考题思考题需求分析在软件生命周期中的地位和作用是什么,需求工程包含那些内容?90

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号