高级软件工程
课程编码:180086081200P1006H-1
英文名称:Advanced Software Engineering
课时:60
学分:3.00
课程属性:学科核心课
主讲教师:魏峻
教学目的要求
软件是包含计算机程序代码、数据及其表示的系统,它是解决领域(如生产、生活、科研等)问题的智力工具。
软件工程是研究如何实现高效率、高质量和低成本开发有价值软件的理论方法。通过案例讲解和思考实践,
希望学习者在下面五个方面认知能力有所提升。
1、评价现代软件工程的理论方法特点及其适应范围;
2、给定领域问题,使用用例或用户故事梳理出需求和软件预期效果,给出实施计划;
3、调研类似软件系统,列举新系统与类似系统的差异或特色;
4、设计支持高效开发与迭代演化的软件架构,确保新增功能而不影响原软件版本的正常运行;
5、反思开发过程,提出重构当前版本软件的建议;
课程的考核内容和评分标准为:(1)课外作业(15%)(2)课堂讨论(5%)(3)小组项目(40%)(4)期末考试(40%)
预修课程
程序设计
大纲内容
第一章 引言(第1周) 4.0学时 魏峻
第1节 学科发展动机
第2节 预期学习效果
第3节 知识能力及学习策略
第4节 课程目的和考核要求
第二章 研究主题(第2周) 4.0学时 魏峻
第1节 软件理论的奠基者
第2节 软件工程的三类基础问题
第3节 软件开发的二种途径
第4节 软件开发的九项任务
第5节 练习题和阅读文献
第三章 领域问题和应用场景(第3、4周) 8.0学时 魏峻
第1节 本章学习目的
第2节 案例1操作系统和应用框架(Linux and Ruby on Rail)
第3节 案例2交互程序设计语言环境(Jupyter notebook)
第4节 案例3玩魔方软件(Web 版与实体版)
第5节 案例4池塘大战软件(智能体博弈)
第6节 案例5软件版本管理与持续集成平台(GitHub等)
第7节 练习题和阅读文献
第四章 业务建模和数据模型(第5、6周) 8.0学时 魏峻
第1节 学习目的
第2节 领域知识与建模语言
第3节 业务数据的外在形式与计算机的内部表示
第4节 数据表示与应用功能
第5节 练习题和阅读文献
第五章 软件架构和应用框架(第7、8周) 8.0学时 魏峻
第1节 学习目的
第2节 架构与功能
第3节 架构与数据
第4节 抽象共性与知识重用
第5节 练习题和阅读文献
第六章 设计模式和代码重构(第9周) 4.0学时 魏峻
第1节 学习目的
第2节 共性与特殊功能的分离
第3节 应对功能变化的策略
第4节 案例分析
第5节 练习题和阅读文献
第七章 用户体验和接口设计(第10周) 4.0学时 魏峻
第1节 学习目的
第2节 用户体验设计原则
第3节 信息表示的目的与方法
第4节 选择合适的可视化形式
第5节 练习题和阅读文献
第八章 软件验证与自动测试(第11周) 4.0学时 魏峻
第1节 学习目的
第2节 程序正确性证明
第3节 软件验证方法
第4节 构造测试用例
第5节 练习题和阅读文献
第九章 系统安全和防御设计(第12周) 4.0学时 魏峻
第1节 学习目的
第2节 软件安全的原因
第3节 防御措施的建构
第4节 练习题和阅读文献
第十章 规模应用与性能评价(第13周) 4.0学时 魏峻
第1节 学习目的
第2节 观察性能指标
第3节 提升应用性能
第4节 练习题和阅读文献
第十一章 集成部署和运营服务(第14周) 4.0学时 魏峻
第1节 学习目的
第2节 持续集成与部署
第3节 软件上线与服务模式
第4节 练习题和阅读文献
参考书
1、
Engineering Software as a Service: An Agile Approach Using Cloud Computing
Armando Fox and David Patterson
2013年4月
2013)
课程教师信息
魏峻,中国科学院软件研究所研究员,博士研究生导师,中国科学院大学教授,中国科学院软件研究所软件工程技术研发中心副主任。兼任中国计算机学会服务计算专委会副主任委员、软件工程专业委员会委员,《软件学报》责任编委、《计算机科学与探索》执行编委、《计算机集成制造系统》编委。研究兴趣包括软件工程方法与技术在人工智能、云计算、大数据处理等分布式软件系统中的运用,解决正确性、可靠性、性能、安全等方面的问题。
近年主要工作在新型分布式软件系统架构(如微服务、无服务器)的评估与优化、大规模复杂分布式系统可靠性保障方面,承担了国家自然科学基金委重点和面上项目,国家973,863,重点研发计划专项等二十余项科研项目,在TSE, TKDE, JSS, ICSE, FSE, ASE, VLDB, ICDCS, IPDPS, SC, Middleware等国内外重要学术刊物和国际会议上发表学术论文200余篇,获发明专利授权20多项,获得国家技术发明二等奖、国家科技进步二等奖、湖南省技术发明一等奖、电子学会电子信息科学技术一等奖、北京市科学技术一等奖。
罗铁坚,男,中国科学院大学教授,博士生导师。曾任中国科学院研究生院信息科学与工程学院执行院长。主持过10多项国家级和企业科研项目。发表文章共112 篇、英文专著一部。拥有30多项软件著作权和发明专利。2003年起,领导国科大团队设计与实现了中科院教育云,并成功运行10多年至今。国科大拥有该云平台的30 多个应用系统(共600 多万行源代码),的全部知识产权。近年在人工智能顶级会议AAAI 和IEEE Transactions on Cybernetics 等期刊发表多篇学术论文,对自然语言理解和计算机视觉领域中特定问题提出了新模型,刷新了相关公开数据集的精度。获2017年中国科学院优秀教师奖。2014年中国人工智能学会《全国大学生智能设计竞赛》优秀指导教师一等奖。