教案软件工程期末复习提纲.pptVIP

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

乐山师范学院计算机科学系 软件工程课程 软件工程 期末复习提纲 题型分布 软件工程 software engineering 第1章 概论 软件危机 1968年,北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机(software crisis)一词。 软件危机的定义:在计算机软件的开发和维护过程中所遇到的一系列严重问题,概括来说,软件危机包含两方面问题:一是如何开发软件,以满足不断增长、日趋复杂的需求;二是如何维护数量不断膨胀的软件产品。 软件危机的表现 对软件开发成本和进度的估计常常很不正确 用户对“已完成的”软件系统不满意的现象经常发生 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升 软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势 软件危机的原因 软件是逻辑产品,开发进度、成本难以估计 缺乏或不完整、不一致的文档给维护带来困难 用户对软件需求的描述往往不够精确,有遗漏,有二义 软件开发人员对需求的理解与用户的本来愿望有差异 大型软件项目需多人协同完成,缺乏管理经验 开发人员不能有效地、独立自主地处理大型软件的全部关系 缺乏有力的方法学和工具的支持 软件项目的特殊性和人类智力的局限性 克服软件危机的途径 消除错误的概念和做法 推广使用成功的开发技术和方法 使用软件工具和软件工程支持环境 加强软件管理 软件工程定义 1968年NATO(北大西洋公约组织)会议上首次提出 Fritz Bauer:软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则 IEEE: 软件工程是(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;(2)(1)中所述方法的研究 计算机科学技术百科全书:软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 软件工程的七大基本原理 严格按照软件生命周期各阶段的计划进行管理。 坚持进行阶段评审 实施严格的产品控制 采用先进的程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性 软件生存周期 ( software life cycle) 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下六个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 (一)计算机系统工程 计算机系统包括计算机硬件、软件、使用计算机系统的人、数据库、文档、规程等系统元素。 计算机系统工程的任务: 确定待开发软件的总体要求和范围,以及它与其它计算机系统元素之间的关系 进行成本估算,做出进度安排 进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (二)软件需求分析 主要解决待开发软件要“做什么”的问题 确定软件的功能、性能、数据、界面等要求,生成软件需求规约(也称软件需求规格说明) (三)软件设计 主要解决待开发软件“怎么做”的问题。 软件设计通常可分为系统设计(也称概要设计或总体设计)和详细设计。 系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构; 详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 (四)编码 用某种程序设计语言,将设计的结果转换为可执行的程序代码。 (五)测试 发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 (六)运行和维护 在软件运行期间,当发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时对软件进行修改。 能力成熟度模型CMM CMM(Capability Maturity Model)即能力成熟度模型,是美国卡耐基梅隆大学软件工程研究所(SEI)在美国国防部资助下于二十世纪八十年代末建立的,用于评价软件机构的软件过程能力成熟度的模型。此模型在建立和发展之初,主要目的在于提供一种评价软件承接方能力的方法,为大型软件项目的招投标活动提供一种全面而客观的评审依据。而发展到后来,又同时被软件组织用于改进其软件过程。 软件过程成熟度等级 CMM提供了一个成熟度等级框架: 1级-初始级、 2级-可重复级、 3级-已定义级、 4级-已管理级和5级-优化级。 1.初始(initial)级: 软件过程的特点是无秩序的,甚至是混乱的。几乎没有什么过程是经过妥善定义的,成功往往依赖于个人或小组的努力。 2.可重复(repeatable)

文档评论(0)

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

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

1亿VIP精品文档

相关文档