- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学目标
了解软件危机的产生以及解决办法——软件工程的重要性;了解软件生命周期以及常用软件开发模型。
教学重点
软件工程的基本原理。
教学难点
软件过程中各种模型的特点、使用范围的了解。;第一章 软件工程学概述;IBM公司的 OS/360,共约100万条指令,花费了5000个人年;经费达数亿美元,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。 OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“…像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运。…” ;1.1 软件危机;1.1.1 软件危机的介绍;1.1.1 软件危机的介绍;1.1.2 产生软件危机的原因;1.1.2 产生软件危机的原因;1.1.2 产生软件危机的原因;1.1.2 产生软件危机的原因;1.1.3 消除软件危机的途径;1.2 软件工程; 1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是: ①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。”;1.2.1 软件工程的介绍;软件工程的发展已经历了四个重要阶段:
1、第一代软件工程 — 传统的软件工程;软件工程的发展已经历了四个重要阶段:
2、第二代软件工程 — 对象工程; 80年代中开始,人们在软件开发的实践过程中认识到:提高软件生产率,保证软件质量的关键是“软件过程”,是软件开发和维护中的管理和支持能力,逐步形成软件过程工程。; 90起年代,基于构件(Component)的开发方法取得重要进展,软件系统的开发可通过使用现成的可复用构件组装完成,而无需从头开始构造,以此达到提高效率和质量,降低成本的目的。称为构件工程。; 90起年代,基于构件(Component)的开发方法取得重要进展,软件系统的开发可通过使用现成的可复用构件组装完成,而无需从头开始构造,以此达到提高效率和质量,降低成本的目的。称为构件工程。;;;;;;;;;;;;2、面向对象方法学
面向对象方法学的出发点和基本原则:
模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,从而使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 ;1.3 软件生命周期;软件开发期~总体设计、详细设计、编码和单元测试,其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
软件维护期~使软件持久地满足用户的需要。
当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;
当用户有新要求时应及时改进,满足用户新需要。;1. 问题定义
问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”
尽管确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最容易被忽视的一个步骤。
通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。;2. 可行性研究
这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”
系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程,也就是在较抽象的高层次上进行的分析和设计过程。
可行性研究不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。; 可行性研究的结果是用户部门负责人作出是否继续进行这项工程的决定的重要依据。
可行性研究以后的各个阶段,将需要投入多少相应的人力物力。
及时终止不值得投资的工程项目,可以避免更大的浪费。;3. 需求分析
这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
用户通常不能完整准确地表达出他们的要求,更不知道怎样利用计算机解决他们的问题;
软件开发人员对特定用户的具体要求并不完全清楚。
系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。完成系统的需求规格说明书。;4. 总体设计
这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”
总体设计又称为概要设计。
设计出实现目标系统的几种可能的方案。通常至少应该设计出低成本、中等成本和高成本等3种方案。软件工程师分析每种方案的优缺点,并在充分权衡各种方案的利弊的基础上,推荐一个最佳方案。此外,还
文档评论(0)