《关于程序计算机指令或语句的有序集合。体现某一个完整的算法有确定性.docxVIP

《关于程序计算机指令或语句的有序集合。体现某一个完整的算法有确定性.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《关于程序计算机指令或语句的有序集合。体现某一个完整的算法有确定性

程序:计算机指令或语句的有序集合。体现某一个完整的算法有确定性的运算结果软件:彼此相关的程序集合与文档的总称软件的特性(1)外在特性:呈现语言特性,主要表现在功能与界面(2)内在特性:高效性、可理解性、可维护性、可移植性,归结为结构特征软件工程是一门研究软件开发的原则、方法、管理的计算机软件学科分支,试图运用系统的、规范的和定量化的方法来规划、开发、维护和运行软件,借以提高开发效率、降低成本。●对象:大型软件的开发过程●方法:定性和定量相结合●特点:实践性强、灵活性强●原则:全面质量管理,系统科学●关键:分解复杂性,权衡和折中常见的几种错误认识:开发软件就是编程序;进度落后可以通过增加人员的方法来解决;通过加强测试,就可以保证软件没有错误;只要保证正确的输入能够产生正确的结果就是高质量的软件。不同的认识:●渐进式:通过非形式化的、逐步改善的方式,达到最终解决问题的目的。●革命式:通过形式化的方法,彻底解决问题。“软件工程是末日学科” Dijkstra 软件危机:进度常延缓、成本难控制、质量无保证。原因:大型软件巨大的复杂性,人们对如此大的系统的复杂性把握程度不够。落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象问题的症结●计算机系统的几大要素:硬件、软件、数据、应用模型、人,其中模型处于主导地位,最关键的要素是人。●软件开发过程是一个不断决策、充满回朔的过程,有很强的不确定性和人为性。●大型计算机程序是一个高度复杂、高度形式化的计算机运行过程表示。但是,现有的形式化表示手段不是表达能力不够,就是过于复杂不能被普遍接受。●工具只能解决生产形式和组织形式,不能解决创意。1.瀑布模型基本思想:将复杂的软件开发过程线性化,划分成几个前后衔接的阶段。为了尽可能避免跨阶段的回朔,强调每一阶段结束时的复审。技术体现:结构化分析、结构化设计。问题:容许间接的回朔,可能使开发过程混乱,不同小组可能产生等待;用户难以清楚地给出需求,但模型要求如此;用户参与推迟;2. 原型开发模型基本思想:提倡用户及早参与。由于用户很难在一开始就清楚地描述系统的需求,那么尽早向用户演示一个粗糙的可运行的系统原型,请用户进行挑剔,逐步改善。种类:抛弃型:仅仅用来确认用户的需求,原型用来展示系统的功能界面,供用户提出修改意见,多次反复后最终确认系统的功能,然后按照瀑布模型进行实际开发。渐进型:第一个原型就是按照实际系统的模式(实际的实现功能)构造,在用户反复要求修改过程中形成一系列原型,最后一个用户满意的原型即为软件产品。技术体现:快速原型技术。问题:为了尽快向用户提供原型,可能会忽视软件内在特性的提高,例如可移植性、可理解性、可维护性等。为了尽快向用户提供下一代原型,可能会放松质量管理,例如,算法的效率、编程规程等等,降低软件质量。3. 螺旋模型基本思想:综合瀑布模型和原型开发的优点,实现软件的增量开发。定义了四个主要的活动:计划(确定目标、可选方案和限制)、风险分析(分析可选方案、确定并解决风险)、工程(开发下一级产品)、用户评价(了解用户的评价)。沿着螺旋的方向,建立起越来越完整的系统模型。问题:要求有专门的风险评价技术,如果不能发现主要的风险,将会出现问题。4. 四代技术模型四代技术:四代技术是以第四代语言为基础的软件开发技术。所谓第四代语言,是一类抽象程度更高的语言,它和普通的程序设计语言(第三代语言)不同,不是面向过程的,而是面向问题的。因此,第四代技术允许软件设计人员能够在较高层次上定义软件的某些特性,由第四代语言工具自动生成可执行的代码。工具:数据库查询语言、报表生成工具、数据处理工具、图形工具、代码生成工具、屏幕定义工具等。基本思想: 利用第四代语言及其工具的非过程特性,提高编码阶段的抽象层次,从而提高编程速度,节省时间。此外,争取降低开发的复杂性。同时,开发出来的程序相对而言比较容易维护。限制:必须有数据库的支持;需求分析应该更加充分;对程序开发人员的要求比较高;测试工作人员必须设计更复杂的测试用例。问题:目前4GL的应用领域较窄,主要限于事务处理领域;由4GL语言生成的代码执行效率普遍不高,大部分工具是解释执行的;目前4GL工具使用不够方便,并不比使用程序设计语言更容易;实际上,4GL的表达能力还比较有限,4GL工具也不能完全支持大型软件的开发,仍然需要传统的程序设计语言;5. 面向对象的开发模型基本思想:从客观存在的问题出发,分析软件系统的操作实体及其相互关系,以此组织软件开发,而不是从计算机实现的角度组织软件开发。将软件开发过程分为系统分析、类设计、系统构造和测试四个部分。技术:面向对象的分析、面向对象的设计要求:面向对象的程序开发环境支持;应用范围:十分广泛。数据流程图数据流程

文档评论(0)

tiantiande + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档