- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程课程设计
软件工程课程设计 软件工程 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 软件工程名称的由来 鉴于软件开发时所遭遇困境,北大西洋公约组织(NATO)在1968年举办了首次软件工程学术会议,并于会中提出“软件工程”来界定软件开发所需相关知识,并建议“软件开发应该是类似工程的活动”。软件工程自1968年正式提出至今,这段时间累积了大量的研究成果,广泛地进行大量的技术实践,借由学术界和产业界的共同努力,软件工程正逐渐发展成为一门专业学科。 软件工程的定义 创立与使用健全的工程原则,以便经济地获得可靠且高效率的软件。[1] 应用系统化,遵从原则,可被计量的方法来发展、操作及维护软件;也就是把工程应用到软件上。[2] 与开发、管理及更新软件产品有关的理论、方法及工具。[3] 一种知识或学科(discipline),目标是生产品质良好、准时交货、符合预算,并满足用户所需的软件。[4] 实际应用科学知识在设计、建构电脑程序,与相伴而来所产生的文件,以及后续的操作和维护上。[5] 使用与系统化生产和维护软件产品有关之技术与管理的知识,使软件开发与修改可在有限的时间与费用下进行。[6] 建造由工程师团队所开发之大型软件系统有关的知识学科。[7] 对软件分析、设计、实施及维护的一种系统化方法。[8] 系统化地应用工具和技术于开发以计算机为主的应用。[9] 软件工程的内核知识(SWEBOK) ACM 与 IEEE Computer Society 联合修定的 SWEBOK[10](Software Engineering Body of Knowledge)提到,软件工程领域中的内核知识包括: 软件需求(Software requirements) 软件设计(Software design) 软件建构(Software construction) 软件测试(Software test) 软件维护与更新(Software maintenance) 软件构型管理(Software Configuration Management, SCM) 软件工程管理(Software Engineering Management) 软件开发过程(Software Development Process) 软件工程工具与方法(Computer-Aided Software Engineering, CASE) 软件品质(Software Quality) 软件工程与计算机程序设计 软件工程存在于各种应用中,存在于软件开发的各个方面。而程序设计通常包含了程序设计和编码的反复迭代的过程,它是软件开发的一个阶段。 软件工程力图对软件项目的各个方面作出指导,从软件的可行性分析直到软件完成以后的维护工作。软件工程认为软件开发与各种市场活动密切相关。比如软件的销售,用户培训,与之相关的软件和硬件安装等。软件工程的方法学认为一个独立的程序员不应当脱离团队而进行开发,同时程序的编写不能够脱离软件的需求,设计,以及客户的利益。 软件工程的发展是计算机程序设计工业化的体现。 软件危机 软件工程的兴起要根源于20世纪60,70和80年代的软件危机。在那个时代,很多的软件最后都得到了一个悲惨的结局。很多的软件项目开发时间大大超出了规划的时间表。一些项目导致了财产的流失,甚至某些软件导致了人员伤亡。同时软件开发人员也发现软件开发的难度越来越大。 OS 360操作系统被认为是一个典型的案例。到现在为止,它仍然被使用在IBM360系列主机中。这个经历了数十年,极度复杂的软件项目甚至产生了一套不包括在原始设计方案之中的工作系统。OS 360是第一个超大型的软件项目,它使用了1000人左右的程序员。Fred Brooks在随后他的大作《人月神话》(The Mythical Man-Month)中曾经承认,在他管理这个项目的时候,他犯了一个价值数百万美元的错误。 财产的损失:软件的错误可能导致巨大的财产损失。欧洲阿里亚娜火箭的爆炸就是一个最为惨痛的教训。 人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关的行业。因此软件的错误也有可能会导致人员伤亡。 在软件工程界被大量引用的案例是Therac-25的意外. 在1985年六月到1987年一月之间, 六个已知的医疗事故来自于Therac-25错误地超过剂量, 导致患者死亡或严重辐射灼伤[12]。 在工业上,某些嵌入式系统导致机器的不正常运转,从而将一些人推入了险境。 方法学 软件工程的方法有很多方面的意义。包括项目管理,分析,设计,程序的编写,测试和质量控制。 软件设计方法可以
文档评论(0)