《软件工程》教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程标准
(执笔人:谭庆平教授审阅学院:计算机学院)
课程编号:
英文名称:Software Engineering
预修课程:计算机程序设计
学时安排:50学时,其中讲授36学时,实践12学时,考试2小时。
学分:3
一、课程概述
(一)课程性质地位
《软件工程》课程是工程技术类软件工程专业的核心必修课程,同时也是计算机科学与技术专业、网络工程专业的基础必修课程。本课程旨在系统地探究软件系统的开发、维护和项目管理的方法、技术和工具,培养学生在软件开发、软件维护、项目管理等方面,尤其是在需求工程、软件设计和构造、软件测试方面的能力,指导并帮助学生在未来成功地创建高质量的软件产品。
软件是信息化社会和军用信息化系统的神经和灵魂,软件的质量和开发效率攸关国家的核心竞争力,并且构成军队在高技术条件下致胜能力的关键要素。熟练掌握先进的软件研发技术和管理方法的软件人才则是高效地研发高质量软件产品的基础前提和根本保障。因此,《软件工程》课程在计算机科学与技术、网络工程,尤其是软件工程专业的人才培养体系中具有核心和关键性的地位。
(二)课程基本理念
本课程的基本理念是:软件工程的理论与软件研发实践相结合,学以致用;以知识传授和案例分析为基本教学手段,突出能力培养,提倡自主学习、探索式学习。
(三)课程设计思路
本课程的设计思路是:
1.兴趣优先。通过案例分析、软件工程发展历史脉络梳理等教学手段,激发学生自主
学习、主动探索的兴趣和热情。
2.学以致用。强调教学内容的操作性,强调实践环节,重视对学生解决实际软件问题
的动手能力,尤其是软件研发能力的培养。
3.自主学习。创造条件让学生在课程项目中自主探索高质量的软件解决方案。精选课
堂教学内容,摒弃全盘讲授的传统做法,精心设计,适时指导,为学生自主学习部
分软件工程内容预留空间。
4.知识体系化、逻辑化。突出软件工程各知识点、各要素(过程、方法和工具)、软件
开发各阶段之间的逻辑关联和交互作用。
二、课程目标
通过本课程的学习,学生应理解软件工程的观念和软件开发过程模型,能够应用基本的软件工程技术、方法及相关工具进行软件项目的研发和软件产品的维护,在软件开发和项目管理过程中能够表现出基本的软件工程素质。
(一)知识与技能
理解软件工程的基本概念和观念,理解并能够运用主流的软件开发过程模型;理解并能够运用用例驱动的需求获取方法、面向对象的需求分析技术和软件设计技术、软件测试的技术与方法;理解并能够运用软件项目管理的基本方法;能够运用软件开发各阶段的技术工具和项目管理工具完成软件研发或项目管理活动;能够作为用户方、需求方、验收方和维护方参与软件系统的开发和管理。
(二)过程与方法
学员与课程进度同步地展开课程项目的技术研发和项目管理活动,教师(尤其是辅导教师)在学员的学习和实践过程适时为学员提供指导和帮助。
要求并启发学员在课程项目的研发过程中反思、总结、提高,鼓励评判性思考,鼓励学员在学习和动手实践的过程中自主探索,自主提出具有一定创新性的软件解决方案。
(三)情感态度与价值观
理解软件工程师的职业道德,认识团队合作精神在软件过程中的重要性,并通过课程实践培养换位思考意识和团队合作精神。
三、内容标准
第一章软件工程导论
主要内容:
1.软件、软件工程的形成与发展;
2.软件、软件工程的概念;
3.软件过程模型。
教学重难点:
1.软件的概念和特点;
2.软件工程的观念;
3.软件过程模型和软件生命周期之间的区别和联系。
教学要求:
1.理解软件的公共特性、不同种类的软件的特性;
2.理解软件工程的目标、原则和观念,理解软件工程的意义和价值;
3.理解常用的软件开发过程模型、它们之间的异同及优缺点。
第二章软件需求获取
第1节软件需求及重要性
主要内容:
1.软件需求的概念,功能性需求与非功能性需求;
2.软件需求的重要性;
3.软件需求的质量要素及案例分析;
4.软件需求工程的过程模型。
教学重难点:
1.软件需求的重要性;
2.软件需求的质量要素;
3.软件需求工程的过程模型。
教学要求:理解软件需求的重要性及其质量要素;在学习完本章后能够运用需求工程的过程模型展开软件需求的获取与分析活动。
第2节软件需求的表示方法
主要内容:
1.软件需求的用例描述;
2.用例之间的关系;
3.UML用例图;
4.非功能性需求的表示。
教学重难点:
1.软件需求的用例描述方法;
2.用例之间的关系;
3.非功能性需求的表示的精确化。
教学要求:理解并能够运用用例及用例图来表示软件需求。
第3节需求获取的方法
主要内容:
1.什么是需求获取:软件获取的任务和原则;
2.如何获取需求:软件获取的过程模型,用例驱动的软件获取的方法、工具及案
例分析;
3.需求获取的结果文档。
教学重难点:
1.需求获取的过程模型;
2.需求获取的方法。
教学要求:理解并能够运用用例驱动的软件获取方法。
第三章软件需求分析
第1节需求分析的任务
主要内容:
1.什么是需求分析:需求分析的任务和原则;
2.需求建模技术:为什么需要对需求建模,需求模型的UML表示(UML类图、
顺序图、活动图等);
3.如何分析需求:需求分析的过程模型,面向对象的需求分析方法、工具及案例
分析。
教学重难点:
1.需求建模技术;
2.需求分析的过程模型;
3.面向对象的需求分析方法。
教学要求:理解并能够运用需求分析和建模的技术与方法。
第2节用例分析
教学内容:
1.如何基于用例描述创建顺序图;
2.如何基于顺序图导出类图。
教学重难点:
1.基于用例构造顺序图的方法;
2.构造覆盖多个用例的全局类图的方法。
教学要求:理解并能够运用针对用例构造需求模型的方法。
第3节案例分析
教学内容:月球车仿真控制问题的需求建模案例;
教学重难点:针对案例进行需求建模的流程和技巧;
教学要求:通过案例分析更深刻理解需求建模的过程与方法。