课程简介:《软件工程》是教育部规定的高等学校计算机科学与技术专业的一门重要的专业主干课程。其课程理论性和实践性都非常强,它是计算机软件的一门核心课程。在计算机科学中,软件工程是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。学习本课程的目的:本课程的目的是通过对《软件工程》的学习,让学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与管理的能力。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。教材内容安排:软件工程与软件过程、传统的方法学、OO的方法学、软件项目管理技术先修课程:程序设计基础、数据结构、数据库原理、操作系统原理本课程的学习要求:本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面向对象程序设计以及程序设计方法论。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。参考文献:《软件工程一原理、方法及应用》史济民编著,高等教育出版社《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社《软件工程一理论与实践》清华大学出版社《软件工程》邓良松编著,西安电子科技大学出版社
课程简介: 《软件工程》是教育部规定的高等学校计算机科学与技术专业的一门重要的专业 主干课程。其课程理论性和实践性都非常强,它是计算机软件的一门核心课程。在计 算机科学中,软件工程是设计和实现编译程序、操作系统、数据库系统及其他系统程 序和大型应用程序的重要基础。 学习本课程的目的: 本课程的目的是通过对《软件工程》的学习,让学生掌握系统的软件开发理论、 技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的 软件,从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与 管理的能力。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。 教材内容安排: 软件工程与软件过程、传统的方法学、OO 的方法学、软件项目管理技术 先修课程:程序设计基础、数据结构、数据库原理、操作系统原理 本课程的学习要求: 本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课 程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面 向对象程序设计以及程序设计方法论。 通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。 参考文献: 《软件工程—原理、方法及应用》史济民编著,高等教育出版社 《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社 《软件工程—理论与实践》清华大学出版社 《软件工程》邓良松编著,西安电子科技大学出版社
教案(第次课,学时)授课题目第一章软件工程概述了解软件的地位、作用和特点教学目的了解什么是软件危机和软件危机的特点,及软件工程的产生与要求掌握软件工程的基本概念软件危机的特点教学重点软件工程的概念无教学难点教学方法课堂讲授课后作业P9:2、3、6专业术语SE(SoftwareEngineering)主要参考《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社资料《软件工程》邓良松编著,西安电子科技大学出版社教学后记
教 案 (第 次课, 学时) 授课题目 第一章 软件工程概述 教学目的 与要求 了解软件的地位、作用和特点 了解什么是软件危机和软件危机的特点,及软件工程的产生 掌握软件工程的基本概念 教学重点 软件危机的特点 软件工程的概念 教学难点 无 教学方法 课堂讲授 课后作业 P9:2、3、6 专业术语 SE(Software Engineering) 主要参考 资料 《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社 《软件工程》邓良松编著,西安电子科技大学出版社 教学后记
在一些人眼里,今天的软件开发似乎已成为简单的事情,已有了不少很好的开发工具和软件库,软件开发人员训练有素,都强烈渴望去编写很酷的软件,可以在几天的时间里编写出一个相当复杂的软件。但为什么有一些软件能够得到用户的喜欢,而另一些则不能?为什么有些软件能够在市场上成功,而有些则受到冷落?由此可见,开发软件并不一定难,难就难在如何开发有用的软件。我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功。1.课程的性质、自的和任务软件工程是计算机科学与技术专业的一门专业核心课程。通过本课程的学习,使学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。2.课程主要内容本课程比较全面、系统地介绍软件工程的概念、技术与方法。主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、软件测试技术等。通过本课程的学习,使学生能真正的从中了解软件开发的整个过程。为了让学生真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、需求分析、概要设计、详细设计、编码直到最后要对自已开发的软件还要进行测试,这样一个软件开发过程,从而使学生掌握软件开发的基本技能。3.学习本课程的基本要求本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面向对象程序设计以及程序设计方法论。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础
在一些人眼里,今天的软件开发似乎已成为简单的事情,已有了不少很好的开发 工具和软件库,软件开发人员训练有素,都强烈渴望去编写很酷的软件,可以在几天 的时间里编写出一个相当复杂的软件。但为什么有一些软件能够得到用户的喜欢,而 另一些则不能?为什么有些软件能够在市场上成功,而有些则受到冷落?由此可见, 开发软件并不一定难,难就难在如何开发有用的软件。 我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术 而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。 否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功。 1.课程的性质、目的和任务 软件工程是计算机科学与技术专业的一门专业核心课程。通过本课程的学习,使 学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可 靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。 2.课程主要内容 本课程比较全面、系统地介绍软件工程的概念、技术与方法。 主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、 软件测试技术等。 通过本课程的学习,使学生能真正的从中了解软件开发的整个过程。为了让学生 真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、 需求分析、概要设计、详细设计、编码直到最后要对自己开发的软件还要进行测试, 这样一个软件开发过程,从而使学生掌握软件开发的基本技能。 3.学习本课程的基本要求 本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课 程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面 向对象程序设计以及程序设计方法论。 通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础
第一章软件工程概述本章将对软件的地位和作用、软件的特点、软件的发展、软件的危机以及软件工程学科的形成、软件周期等方面的问题和基本概念。传统工程水利工程建筑工程机械工程99090新兴工程气象工程生物工程软件工程1.1软件的概念和特点软件1.1.1车softwaresoft+ware软件是计算机系统中与硬件相互依存的另一部分。软制品(体)它包括程序、数据及其相关文档的完整集合。程序:在运行中能提供所希望的功能和性能的指令集。数据:使程序能够正确运行的数据结构。文档:描述程序研制过程、方法所用的文档。1.1.2软件特点具有抽象性。软件是一种逻辑实体,而不是具体的物理实体。1.是智力劳动的结果。软件的生产与硬件不同,在它的开发过程中没有明显的制2.造过程,是把知识与技术转化成信息的一种产品。3.无备件。在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。修改点实际曲线失效率磨合失效率调整磨损用坏理想曲线时间时间软件失效率曲线硬件失效率曲线4.对硬件有明显的依存性。软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程序的依赖性
第一章 软件工程概述 本章将对软件的地位和作用、软件的特点、软件的发展、软件的危机以及软件工 程学科的形成、软件周期等方面的问题和基本概念。 1.1 软件的概念和特点 1.1.1 软件 软件是计算机系统中与硬件相互依存的另一部分。 它包括程序、数据及其相关文档的完整集合。 程序:在运行中能提供所希望的功能和性能的指令集。 数据:使程序能够正确运行的数据结构。 文档:描述程序研制过程、方法所用的文档。 1.1.2 软件特点 1. 具有抽象性。软件是一种逻辑实体,而不是具体的物理实体。 2. 是智力劳动的结果。软件的生产与硬件不同,在它的开发过程中没有明显的制 造过程,是把知识与技术转化成信息的一种产品。 3. 无备件。在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 4. 对硬件有明显的依存性。软件的开发和运行常受到计算机系统的限制,对计算 机系统有着不同程序的依赖性
5研发主要由人工完成。软件的开发至今尚未完全摆脱手工艺的开发方式。6.软件本身是复杂的:实际问题的复杂性、程序软件结构的复杂性。7.相当多的软件工作涉及到社会因素。8.软件的成本相当昂贵。成本%10080604020年份2000195019701990成本%软件复杂性软件需求硬件差距软甲软件技术19701985时间19501995年份软件技术的发展落后于需求硬、软件成本比例的变化1.1.3软件的分类1.按软件的功能进行划分(1)系统软件:操作系统,DBMS,设备驱动程序,通信处理程序等(2)应用软件:商业数据处理软件,工程与科学计算软件,计算机辅助设计、制造软件,系统仿真软件,智能产品嵌入软件,医疗、制药软件,事务管理、办公自动化软件,计算机辅助教学软件(3)支撑软件:文本编辑程序,文件格式化程序,磁盘向磁带进行程序,支持需求分析、设计、实现、测试和支持管理的软件2.按软件的规模进行划分(按开发软件所需的人力、时间及完成的源代码行数):
5. 研发主要由人工完成。软件的开发至今尚未完全摆脱手工艺的开发方式。 6. 软件本身是复杂的:实际问题的复杂性、程序软件结构的复杂性。 7. 相当多的软件工作涉及到社会因素。 8. 软件的成本相当昂贵。 1.1.3 软件的分类 1.按软件的功能进行划分 (1)系统软件:操作系统,DBMS,设备驱动程序,通信处理程序等 (2)应用软件:商业数据处理软件,工程与科学计算软件,计算机辅助设计、制 造软件,系统仿真软件,智能产品嵌入软件,医疗、制药软件,事务管理、办公自动 化软件,计算机辅助教学软件 (3)支撑软件:文本编辑程序,文件格式化程序,磁盘向磁带进行程序,支持需 求分析、设计、实现、测试和支持管理的软件 2.按软件的规模进行划分(按开发软件所需的人力、时间及完成的源代码行数):