spContent=《软件工程与项目管理》是软件工程专业必修的一门核心专业基础课程,课程系统地介绍了软件工程的基本知识,重点讲授软件工程的原则、过程、方法和工具,在一定的时间和预设范围内,如何有效利用人力、资源、技术和工具,使软件系统或软件产品按原定计划和质量要求如期完成。课程对培养学生分析问题与解决问题的能力和养成良好的工程化系统开发习惯有重要作用。
《软件工程与项目管理》是软件工程专业必修的一门核心专业基础课程,课程系统地介绍了软件工程的基本知识,重点讲授软件工程的原则、过程、方法和工具,在一定的时间和预设范围内,如何有效利用人力、资源、技术和工具,使软件系统或软件产品按原定计划和质量要求如期完成。课程对培养学生分析问题与解决问题的能力和养成良好的工程化系统开发习惯有重要作用。
—— 课程团队
课程概述
课程性质
本课程教学的目的是培养、锻炼学生的软件工程化思想,提高学生的问题分析与表达、解决方案设计、软件项目测试与维护和软件项目管理等能力,为今后软件工程实践提供坚实的理论基础。
课程的任务是使学生能够综合运用软件工程的概念、原理、技术和方法开发与维护软件,能够阅读和编写相关软件工程技术文档,具备分析问题和解决问题的能力和团队工作交流能力。
通过本课程学习,使学生能够掌握软件工程的基础知识,从工程学角度认识软件在大型复杂系统中的设计和应用,具备作为软件工程师从事软件开发所需的专业能力。
教学目的与要求
1. 学习软件工程的基本概念、过程模型、活动方法等,学习和掌握软件工程开发的职业规范,掌握软件开发进度管理、成本管理、质量管理和风险管理的概念与方法,能选择适当工具描述相关过程能够把所掌握的知识联系并应用到软件工程的分析、设计和项目管理上来,能进行软件需求分析、整体和单元设计、测试用例设计,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。
2. 通过对软件工程项目案例分析,使学生能够综合运用软件工程相关背景知识进行合理分析,评价项目解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。
3. 通过软件心理学、软件管理学知识学习,使学生具有人文社会科学素养、社会责任感,能够在软件工程实践中理解并遵守工程职业道德和规范,遵守和履行相关法律责任。
4. 培养团队合作的精神,能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。培养正确的世界观,提高人际沟通的技巧、统筹兼顾能力。
5. 能够与业界同行及社会公众进行有效沟通和交流,包括撰写软件工程报告和设计文稿、陈述发言、清晰表达,并具备一定的国际视野,能够在跨文化背景下进行沟通和交流。
6. 理解并掌握软件项目管理及软件经济决策相关方法,并能在涉及多学科环境的工程实践中应用。
授课目标
通过本门课程的学习学生应具备以下技能:
1、掌握软件工程的基本概念、基本原理和主要开发方法;
2、了解软件工程各领域的发展方向;
3、了解如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范;
4、掌握软件工程相关工具的使用;
5、初步具有实际的软件开发技能;
6、初步具备软件项目管理的能力;
7、熟悉项目开发的整个流程,包括软件生命周期、软件概要设计、详细设计、编码实现、软件调试和软件测试,能写出符合规范的文档。
成绩 要求
1、考核方式:考试
2、考核要求:无故旷课或作业缺少次数达到学院有关规定的,直接认定考查不合格。
3、综合成绩组成:最终成绩由平时作业成绩、实践成绩和期末考试成绩组合而成。各部分所占比例如下:
平时作业成绩:10%;主要考核对课堂讲授知识点的学习、理解和掌握程度。
实践成绩:40%;主要考核软件项目过程的相关技能,以及文档编制、过程运行的掌握程度。
期末考试成绩:50%;主要考核软件工程各阶段任务的基本概念、分析设计方法的掌握程度。采用小论文和书面考试形式进行。
课程大纲
第1章 软件工程概述
课时目标:掌握:软件和软件工程的具体定义,软件项目管理的概念。了解:软件危机的表现及原因,软件工程的内容、框架、原理,软件开发方法、工具、环境,软件项目管理的要素,UML的基本组成。
1.1软件与软件工程
1.2软件开发技术
1.3软件项目管理
第2章 软件过程
课时目标:掌握:软件过程概念,瀑布模型、演化过程模型以及增量模型的特征,软件项目的过程管理。了解:专用过程模型、敏捷过程的基本概念,软件过程评估标准与软件能力成熟度模型。
2.1软件过程概述
2.2软件过程模型
2.3软件项目过程管理
2.4软件过程评估
第3章 软件策划与项目计划
课时目标:掌握:可行性研究的研究任务和主要问题,软件项目计划的概念、总体计划和阶段实施计划的概念,工数估算。了解:软件策划的任务和特点,可行性研究的主要问题,软件项目总体计划的具体内容与分类,作业分解结构,项目工程资源估计方法。
3.1软件项目策划
3.2可行性研究
3.3软件项目计划
第4章 软件需求工程
课时目标:熟练掌握:面向数据流的需求分析中数据流图以及实体联系图的应用。掌握:数据词典的构成、软件需求开发与管理的过程,面向对象分析的概念。了解:需求工程的概念、步骤和注意事项,数据建模的数据规范化问题,功能建模中加工规格说明,面向对象分析的对象模型、动态模型、功能模型。
4.1需求工程概述
4.2需求开发与管理
4.3面向数据流的需求分析
4.4面向对象的分析
第5章 软件设计
课时目标:熟练掌握:软件设计的原则,过程设计描述工具中的传统流程图,面向对象设计中使用的UML交互图。掌握:用户界面的设计原则,数据库设计。了解:软件设计基本原理,软件体系结构设计和常用的软件体系结构,控制过程设计,面向数据流的设计过程和导出系统结构图,面向对象的设计过程和设计用例实现方案。
5.1软件设计基础
5.2软件设计技术过程
5.3面向数据流的设计
5.4面向对象的设计
第6章 编程与测试
课时目标:熟练掌握:软件测试的概念,黑盒测试的基本方法,白盒测试的基本方法。掌握:程序设计风格,单元测试的概念与方法,集成测试、系统测试的概念。了解:程序设计语言的特性、如何选择合适的编程语言,软件测试过程管理,面向对象的测试,用户界面的测试,软件调试技术与方法。
6.1程序设计基础
6.2软件测试基础
6.3软件测试技术
6.4测试步骤与策略
6.5软件调试
第7章 软件交付与维护
课时目标:熟练掌握:软件维护的概念与内容。掌握:软件发布与交付的概念与主要内容,软件再工程概念。了解:软件交付阶段用户手册、验收报告的编写,项目总结报告的内容与编写,软件维护活动,提高软件可维护性的方法,结构化、面向对象软件再工程模型。
7.1软件发布与交付
7.2软件维护
7.3软件再工程
第8章 项目管理与标准化
课时目标:掌握:项目组织结构管理的概念和模式,软件项目控制管理中质量管理、风险管理、文档管理、配置管理的概念。了解:程序设计小组的组织形式,项目人员管理中人员分配方式、项目经理应具备的能力,软件质量管理活动和质量成本组成,风险管理中风险识别、评估、监控的内容,文档管理的分类与规范,配置管理的实施。
展开全部
预备知识
先修课程:数据结构、数据库原理与应用、高级语言程序设计、面向对象方法
参考资料
类别 | 教材名称 | 编者 | 出版社 | 出版时间 |
教材 | 软件工程与项目管理 | 常晋义等 | 清华大学出版社 | 2020.10 |
| | | | |
常见问题
Q1:课程难吗?
A1:不学就难,学则不难。本课程主要学习软件工程与项目管理的基本概念、过程模型、活动方法等。理论概念相对较多,但是教学过程中会通过对具体的项目案例进行分析,使学生能够综合运用软件工程相关背景知识进行合理分析,评价项目解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。
Q2:需要什么预备知识?
A2:需要学习一些先修课程,例如数据结构、数据库原理与应用、高级语言程序设计以及面向对象方法等,也就是说要具备基本的计算机知识理论基础。
Q3:主要学习内容是什么?
A3:主要学习的内容主要分成两个模块:软件工程知识、项目管理知识。