- 6
- 0
- 约1.35万字
- 约 72页
- 2021-09-16 发布于河北
- 举报
软件工程计算机与信息科学学院黄 敏hmin@ 软件工程是以工程化的思想和方法来指导计算机软件开发与维护整个过程的一门学科,既有很强的理论性,又有鲜明的实践性。本课程通过介绍软件工程学产生的历史背景以及它的基本原理、概念、技术和方法,使学生掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法, 能用软件工程的方法参与软件项目的分析、设计、实现和维护, 为更深入地学习和今后从事软件工程的实践打下良好的基础。 第1章 软件工程学概述第2章 可行性研究第3章 需求分析第4章 形式化说明技术第5章 总体设计第6章 详细设计第7章 实现第8章 维护第9章 面向对象方法学引论第10章 面向对象分析第11章 面向对象设计第12章 面向对象实现第13章 软件项目管理第1章 软件工程学概述 教学内容 1.1 软件与软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程教学目标一般了解:软件开发技术的发展历史及其特点;什么是软件危机?软件危机产生的原因?解决软件危机的办法;软件的特点、传统的生命周期模型。基本掌握:对软件工程的基本原理和方法有概括性的认识。重点掌握:软件工程的概念和基本原理;生命周期方法学的内容;生命周期方法学各阶段的划分和基本任务。1.1 软件与软件危机软件的定义软件工程的发展软件危机的介绍产生软件危机的原因消除软件危机的途径1. 软件的定义 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。 可以写作为:软件=程序+数据+文档。程序:程序是按事先设计好的功能和性能要求执行的 指令序列。数据:数据是使程序能适当地处理信息的数据结构。文档:文档是与程序运行和维护有关的图文资料(面向开发者的文档和面向用户的文档)。2. 从软件到软件工程第一阶段:个体化生产 20世纪60年代中期以前第二阶段:作坊式生产 20世纪60年代中期到70年代中期第三阶段:产业化生产 20世纪70年代中期至今第一阶段:个体化生产 20世纪60年代中期以前,当时的软件没有系统化的开发方法,所谓的软件开发就是根据应用的需要写出能够运行的程序,软件的开发者、使用者、维护者大多为同一个人或一组人,软件开发处于个体化生产状态。第二阶段:作坊式生产 20世纪60年代中期到70年代中期,产品软件萌生,软件开发进入作坊式生产阶段,软件数量膨胀。 但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法,这使得软件在开发和维护过程中遇到了一系列严重问题,软件危机由此产生。 1968年北大西洋公约组织的计算机科学家在联邦德国召开会议,讨论“软件危机”问题,正式提出“软件工程”这一术语,从而使软件的开发和维护进入了一个新的历史阶段。第三阶段:产业化生产 20世纪70年代中期以后,软件开发进入产业化生产阶段,出现了众多大型的软件公司,在工程化的思想和方法指导下进行软件的开发和维护,软件的数量和质量都有很大提高。软件工程的发展第一代软件工程生产作坊式第二代软件工程20世纪80年代中期,Smalltalk等面向对象程序设计语言推出20世纪90年代起,研究重点从程序设计语言逐渐转移到面向对象的分析和设计,演化为一种完整的软件开发方法和系统的技术体系(对象工程)第三代软件工程软件工程管理难度增大,形成新的认识:对软件过程的控制非常重要(软件过程工程)第四代软件工程构件工程1.1.3 软件危机的介绍IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源代码。据统计,这个操作系统每次发型的新版本都是从前一版本中找出1000个程序错误而修正的结果。这个项目的负责人F.P.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“……正像一只逃亡的野兽落到泥沼中做垂死的挣扎,越是挣扎,陷得越深。最后无法逃脱灭顶的灾难。……程序设计工作正像这样一个泥潭,……一批批程序员被迫在泥沼中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……”IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。而Brooks随后也写出了软件工程领域的经典著作《人月神话》,至今畅销不衰。某公园有一游船码头,负责人希望开发一游船管理系统要求如下:当游客租船时,管理员输入S表示租船周期开始;当游客还船时,管理员输入E表示租船周期结束。一天结束时,要求系统打印出租船次数和平均租船时间。Myth: Once we write the program and get it to work, our job is done.Reality:
原创力文档

文档评论(0)