《高级软件工程》教学大纲
Teaching(Course)Outline of Advanced Software Engineering
第一部分 大纲说明
1.课程代码:329024001
2.课程类型:学科必修课
3.开课时间:秋季学期,第3周—第20周
4.课程目标:通过该课程的学习,培养学生掌握软件工程的基本原理、概念和技术方法,了解软件工程领域的主流及前沿研究现状及趋势,具备一定的企业级应用软件的体系架构、理论建模、分析和设计及开发实践能力,对学生进行全方面的综合素质培养及提高。
5.面向学科:软件工程
6.考核方式:考试。以闭卷形式进行。平时成绩占50%,期末考试成绩占50%。平时成绩考核内容包括出勤、课堂讨论及作业完成情况等。
7.预修课程:高级语言程序设计、面向对象软件方法学、软件工程导论、UML
8. 教学方式:以教师讲授方式为主,并结合学生的课外阅读和实践进行学术研讨、综合训练。
9.学时学分
序号 |
教学内容 |
课堂讲课 |
实践 |
课堂讨论 |
课外自学 |
学时 |
学时 |
学时 |
学时 |
||
1 |
第一章 软件工程概述 |
3 |
|
|
|
2 |
第二章 软件需求工程与需求分析 |
3 |
|
|
|
3 |
第三章 软件开发的结构化方法和面向对象方法 |
6 |
|
|
|
4 |
第四章 面向对象开发中的设计模式 |
9 |
6 |
6 |
|
5 |
第五章 企业级应用案例分析 |
9 |
6 |
6 |
|
|
|
|
|
|
|
合计 |
54 |
30 |
12 |
12 |
|
10. 教材及教学参考资料:
教材:
方木云, 刘辉. 高级软件工程, 清华大学出版社, 2011年版
参考资料:
张海藩. 软件工程导论(第6版). 清华大学出版社, 2013年版
齐治昌. 软件工程(第3版). 高等教育出版社, 2012年版
(美)罗杰S.普莱斯曼著,郑人杰译. 软件工程:实践者的研究方法(原书第8版). 机械工业出版社, 2016年版
第二部分 教学内容和教学要求
《高级软件工程》在软件工程专业人才培养中,对提高学生的能力、素质和形成良好的知识结构、科研基础都具有重要意义。本课程立足于软件工程的基本原理、概念和技术方法,着重讲述软件工程领域的主流及前沿研究现状及趋势,并结合开源项目,从企业级应用软件的体系架构、理论建模、分析和设计及开发实践等,对学生进行全方面的综合能力培养及提高。
第一章 软件工程概述
1.本章主要内容
1) 软件技术概述
2) 软件危机
3) 软件工程方法学
4) 软件过程
2.本章的重点与难点、需掌握的主要知识
1) 软件技术概念与特点、计算机软件新技术、软件复用技术
2) 软件危机产生的原因、解决办法
3) 软件工程概念、原理、开发方法、软件工程环境
4) 瀑布模型、快速原型模型、喷泉模型
3.预备知识要求
要求学生具备高级语言程序设计、面向对象程序设计、数据库原理、计算机网络的基础知识。
4.主要参考资料
[1] 张伟, 梅宏. 面向特征的软件复用技术——发展与现状[J]. 科学通报, 2014(1): 21-42.
[2] 莫则尧, 张爱清, 刘青凯,等. 并行算法与并行编程:从个性、共性到软件复用[J]. 中国科学:信息科学, 2016(10).
[3] 于文静, 赵海燕, 张伟,等. 基于特征模型的软件产品自动导出方法综述[J]. 软件学报, 2016, 27(1):26-44.
[4] 王涛. 面向软件复用的大规模开源资源定位技术研究[D]. 国防科学技术大学, 2014.
[5] 杨芙清, 梅宏, 李克勤. 软件复用与软件构件技术[J]. 电子学报, 1999, 27(2): 68-75.
第二章 软件需求工程与需求分析
1.本章主要内容
1) 需求分析与建模
2) 需求模型与描述
3) 需求管理
2.本章的重点与难点、需掌握的主要知识
1) 软件需求过程的特点及层次,分析与建模方法
2) 需求获取的常用方法,需求模型的描述方法
3) 需求管理方法和需求管理工具
3.预备知识要求
要求学生具备UML的基础知识。
4.主要参考资料
[1] 刘华虓. 需求工程中的若干问题研究[D]. 吉林大学, 2013.
[2] 刘华虓, 金英, 马鹏飞. 一种需求变更影响分析方法[J]. 计算机研究与发展, 2013, 50(8):1769-1777.
[3] 文斌, 何克清, 梁鹏,等. 需求语义驱动的按需服务聚合生产方法[J]. 计算机学报, 2010, 33(11):2163-2176.
[4] 邹开. 敏捷开发和需求工程在互联网公司的典型应用[D]. 北京邮电大学, 2017.
[5] 刘冬云, 梅宏. 从需求到软件体系结构: 一种面向特征的映射方法[J]. 北京大学学报(自然科学版), 2004, 40(3):372-378.
第三章 软件开发的结构化方法和面向对象方法
1.本章主要内容
1) 软件开发的结构化方法
2) 软件开发的结构化方法
2.本章的重点与难点、需掌握的主要知识
1) 结构化分析和设计的方法、技术;软件测试和程序调试方法
2) 面向对象分析和设计的方法、技术;面向对象测试方法
3.预备知识要求
要求学生具备UML的基础知识。
4.主要参考资料
[1] (美)Grady Booch(格雷迪.布奇),Robert A. Maksimchuk(罗伯特.A.马克西) 等著,王海鹏 潘加宇 译. 面向对象分析与设计(第3版)(修订版)[M]. 电子工业出版社, 2016.
[2] 侯爱民, 欧阳骥, 胡传福. 面向对象分析与设计(UML)[M]. 清华大学出版社, 2015.
[3] 王蓁蓁. 软件测试理论初步框架[J]. 计算机科学, 2014, 41(3): 12-16.
[4] 陈锦富, 卢炎生, 谢晓东. 软件错误注入测试技术研究[J]. 软件学报, 2009, 20(6): 1425-1443.
[5] 郭清轩. 一种软件测试需求建模及测试用例生成方法[J]. 计算机学报, 2014, 37(3): 522-538.
第四章 面向对象开发中的设计模式
1.本章主要内容
1) 设计模式概述
2) 典型设计模式分析
3) 设计模式的选择及使用
4) 典型设计模式的应用开发实践
2.本章的重点与难点、需掌握的主要知识
1) 设计模式的基本概念及定义
2) 创建型、结构型和行为型设计模式的特点及典型模式的实现原理及方法
3) 结合应用场景特点正确选择合适的设计模式
3.预备知识要求
要求学生具备UML的基础知识。
4.主要参考资料
[1] (美)Grady Booch(格雷迪.布奇),Robert A. Maksimchuk(罗伯特.A.马克西) 等著,王海鹏 潘加宇 译. 面向对象分析与设计(第3版)(修订版)[M]. 北京: 电子工业出版社, 2016.
[2] 王蓁蓁. 软件测试理论初步框架[J]. 计算机科学, 2014, 41(3): 12-16.
[3] 陈锦富, 卢炎生, 谢晓东. 软件错误注入测试技术研究[J]. 软件学报, 2009, 20(6): 1425-1443.
[4] 郭清轩. 一种软件测试需求建模及测试用例生成方法[J]. 计算机学报, 2014, 37(3): 522-538.
[5] 万小敏. 软件行为动态分析关键技术研究[D]. 国防科学技术大学, 2013.
第五章 企业级应用案例分析
1.本章主要内容
5) 工作流管理系统的参考模型
6) 柔性工作流的建模与应用
7) 开源工作流建模工具及工作流引擎的分析与应用实践
2.本章的重点与难点、需掌握的主要知识
1) 国际工作流管理联盟定义的参考模型及相关规范
2) 柔性工作流中典型应用模式的分析与实现方法
3) 开源工作流建模工具JaWE及工作流引擎Shark的逆向工程、重构及优化
3.预备知识要求
要求学生具备UML、Java程序设计的基础知识。
4.主要参考资料
[1] 余阳, 王颍, 刘醒梅,等. 基于社会关系的工作流任务分派策略研究[J]. 软件学报, 2015, 26(3):562-573.
[3] 文一凭, 刘建勋, 陈志刚. 面向实例方面处理的工作流动态调度优化方法[J]. 软件学报, 2015, 26(3): 574-583.
[4] 徐亮, 张莉, 樊志强. 一种基于UML的实时工作流建模方法研究[J]. 计算机研究与发展, 2010, 47(7):1184-1191.
[5] 柴学智, 曹健. 面向云计算的工作流技术[J]. 小型微型计算机系统, 2012, 33(1): 90-95.
[6] WfMC. The Reference Model and API Specification. 1996.
[7] WfMC. Workflow Process Definition Interface--XML Process Definition Language. 2002.
[8] 罗海滨, 范玉顺, 吴澄. 工作流技术综述. 软件学报, 2000, 11(7): 899-907
[9] 范玉顺, 罗海滨, 林惠苹, 等. 工作流管理技术基础[D]. 北京: 清华大学出版社, 施普林格出版社, 2001
标签:需求,建模,Engineering,软件工程,软件,设计模式,方法,Advanced,Software From: https://www.cnblogs.com/wangprince2017/p/17934122.html