课程大纲

课程大纲

高级软件工程

课程编码:085400M01014N 英文名称:Higher Software Engineering 课时:60 学分:3.00 课程属性:一级学科核心课 主讲教师:吴国全等

教学目的要求
本课程主要讲解当今软件工程面临的新态势,以及为解决这些问题的新技术发展,包括主流软件架构、敏捷软件过程、行为驱动设计、测试驱动开发、软件持续交付等。通过本课程的学习,使学生能充分理解当今软件工程的主要方法和最新发展,并增强实际系统设计的能力。

预修课程
程序设计方法,数据结构,数据库,软件工程

大纲内容
第一章 软件工程简介 吴国全
第1节 传统软件工程概述 3.0学时
第2节 SaaS(软件即服务) 1.5学时
第3节 敏捷开发 1.5学时
第二章 SaaS软件的架构 吴国全
第1节 软件系统架构(C/S, Web,SOA,微服务)及其特点 3.0学时
第2节 MVC架构与典型MVC架构详解 3学时 3.0学时
第三章 SaaS基础编程语言与框架 吴国全
第1节 基础编程语言Ruby特色介绍 4.0学时
第2节 基础开发框架Rails简介 3.0学时
第3节 客户端开发框架 3.0学时
第四章 SaaS应用架构:Rails支持SaaS的开发 吴国全
第1节 Rails基础:从零到CRUD 3.0学时
第2节 Rails高级:面向集成与重用的复杂应用开发 3.0学时
第五章 敏捷开发的需求分析 吴国全
第1节 行为驱动的设计(BDD)和用户故事简介 3.0学时
第2节 SMART用户故事需求建模方法 1.5学时
第3节 基于工具的BDD实践 1.5学时
第六章 测试驱动的开发 吴国全
第1节 TDD测试驱动开发基本原理 3.0学时
第2节 面向Ruby/Rails的TDD实践 3.0学时
第七章 基于代码重构与敏捷过程的软件维护 吴国全
第1节 面向遗留代码的软件维护及敏捷过程 1.0学时
第2节 代码坏味与度量 1.0学时
第3节 代码重构方法 1.0学时
第八章 软件项目管理:Scrum与版本控制GIT 吴国全
第1节 Scrum、结队编程、敏捷过程 3.0学时
第2节 版本控制与基于GIT的协作开发 3.0学时
第九章 SaaS软件的设计模式 吴国全
第1节 设计模式与分类,及与开发方法的关系 2.0学时
第2节 SOLID原则及在Ruby/Rails中的体现 3.0学时
第十章 关于可靠与智能化SaaS软件的专题报告 吴国全
第1节 SaaS软件可靠性保障技术 3.0学时
第2节 SaaS软件智能化开发运维一体化 3.0学时

教材信息
1、 SaaS软件工程-云计算时代的敏捷开发
Armando Fox David Patterson
2015年6月
清华大学出版社

参考书
1、

课程教师信息
"吴国全,中国科学院软件研究所研究员,博士研究生导师。主要研究方向为软件工程、软件测试与维护、面向服务计算等。目前主要关注企业信息系统智能测试与分析,基于AI的无人自主系统(如:自动驾驶系统)仿真测试与验证、工业软件的低代码开发与自动构造技术等。主持参与多项国家自然科学基金、国家重点研发计划项目和国家高技术研究发展计划(863 计划)项目,与国内多家企事业单位(南方电网、中软、北京市交通委等)开展项目合作。在TSC、JSS、JCST、FSE、ASE、ICSME、ISSRE、ICWS、ICST等国内外重要学术期刊和会议发表论文50余篇,获中科院软件所优秀青年科技人才、广东电网科技进步二等奖、南方电网科技进步三等奖、北京市科技进步奖二等奖。
朱家鑫,中国科学院软件研究所副研究员,主要研究兴趣有DevOps、软件度量、软件开放生态,开展了面向开源协作、DevOps的一系列软件度量技术研究,特别关注了度量的有效性问题,促进数据驱动研究社区的良性发展;较早提出了开源开发者协作模式演化的量化分析技术;开展了国内外开源生态发展的研究工作,特别参与研发了我国首个得到国际开源组织OSI认证的“木兰宽松许可证(第二版)”,填补了国内空白。相关研究成果在FSE、ISSTA、ESEM等国内外权威学术会议期刊发表,入选2021年度软件所优秀青年科技人才计划。
窦文生,博士,现任中科院软件所副研究员,研究方向是软件工程、程序分析,主要侧重分布式系统、JavaScript、电子表格等软件系统中的缺陷分析与检测。相关研究成果已经发表在软件工程领域的顶级期刊与会议,包括TSE、ICSE、FSE、ASE、VLDB等,其中以第一作者/通讯作者发表CCF A类顶级国际期刊与会议10余篇。窦文生博士获得了2016年中国计算机协会优秀博士论文奖、2018年FSE杰出论文奖等;入选微软亚洲研究院铸星计划、中科院软件所杰出青年专项等。"