课程编号: 091M4021H-2 |
课时: 60 |
学分: 3.0 |
课程属性: 一级学科核心课 |
主讲教师:魏峻等 |
英文名称: Advanced Software Engineering |
教学目的、要求
本课程为计算机科学与技术学科研究生的学科基础课。本课程主要讲解当今软件工程面临的新问题以及为解决这些问题的新技术发展,包括需求工程、软件设计、软件过程、软件质量等。通过本课程的学习,使学生能充分理解当今软件工程的最新发展,并增强实际系统设计的能力。
预修课程
程序设计方法、数据结构、数据库、软件工程
教 材
Ian Sommerville, 软件工程(第8版), 机械工业出版社,2007. (Software Engineering, 8th edition, Addison Wesley,2006)
主要内容
第一章 软件工程基础 (介绍软件工程概念的提出以及发展历程,分析软件开发的本质,以及围绕软件开发的本质,介绍本课程的组织内容结构);
第二章 软件过程 (软件过程模型的概念、软件生命周期模型,如瀑布模型、螺旋模型、敏捷开发模型等);
第三章 软件项目管理(软件项目管理基础概念、项目人员和组织、产品质量保证、项目管理的过程和内容,通过课程实践熟悉项目管理过程及相关工具,创建课程实践项目);
第四章 软件需求工程(软件需求基本概念、软件需求工程过程与方法、软件需求模型与需求规格说明);
第五章 软件设计基础(软件设计基本概念与原则、软件的结构和行为模型、软件体系结构的概念和模型、软件体系结构设计、面向对象设计方法和UML);
第六章 软件开发技术(敏捷软件开发方法、软件重用、设计模式、应用框架、基于组件的软件开发方法);
第七章 软件测试(软件验证与确认、软件测试基础、软件测试类型、软件测试活动、软件测试自动化、软件可靠性验证与保障);
第八章 软件演化(软件维护的目标与类型、软件维护过程、遗留系统演化技术);
第九章 软件可靠性技术(形式化方法介绍、形式化语言、软件可靠性概念与挑战、软件容错技术)
教学方式:课堂讲授,结合讨论和上机实践
考核方式:课堂闭卷
参考文献
1.Roger S.Pressman,软件工程:实践者的研究方法(第6版),机械工业出版社,2007. (Software Engineering: A Practitioner’s Approach ,6th Edition, McGraw-Hill,2 006)
2.冯玉琳,黄涛,金蓓弘,网络分布计算和软件工程.北京:科学出版社,2003
3.Armando Fox, and David Patternson, Engineering software as a service, 1st edition,Strawberry Canyon LLC