还剩6页未读,继续阅读
文本内容:
《软件工程》课程教学大纲课程代码Z1001I课程性质专业基础课必修适用专业本科计算机相关专业总总学分数4学时数64修订年月2022年7月第一部分大纲说明
一、课程性质
1、课程类型、性质、作用《软件工程》是计算机科学与技术、软件工程、网络工程专业一门专业核心课程,在软件工程学科人才培养体系中占有重要地位软件开发是建立计算机应用系统的重要环节,而软件工程学是用以指导软件人员进行软件开发、维护和管理的科学
2、课程与专业培养目标关联软件工程是指导计算机软件开发与维护的工程学科,为了学生能掌握现代化的软件开发方法,本课程将结合当代软件工程技术的发展实际,向学生系统地讲述软件工程相关知识(包括软件工程的概念、原理、技术,经时间考验而证明正确的管理技术、当前的技术方法等等),并选择典型的软件工程开发案例进行剖析,使同学能够在牢固掌握软件工程书本知识的同时,了解软件工程各领域的发展方向,以及开发过程中应遵循的流程、准则、标准和规范可以将所学灵活地应用于实际的软件开发中
3、本课程与其它课程的关联(先修、后续)本课程先修课程有程序设计语言,数据结构,数据库原理与应用本课程后续课程有软件工程课程设计、软件测试、毕一业设计
二、课程目标与基本要求
1、要求了解的基本知识通过本课程的学习,要求学生掌握软件工程的基本概念、方法、理论体系,熟练掌握一些常用的实用开发方法和技术了解UML语言的基础知识,掌握软件生命周期及开发的各种模型,理解面向对象的分析与设计方法
2、要求理解和掌握的基本知识本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践”软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具
3、能够运用的基本方法与技能通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础本课程注重培养学生理论应用于实践的能力,通过理论教学与课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义
三、教学内容与学时分配各章内容理论学时实验学时学时合计224第1章软件工程绪论第2章基本理论224第3章可行性研究2/42/44/8第4章需求分析4/62/44/10第5章总体设计4/62/46/10第6章软件详细设计42/46/8第7章面向对象分析4/62/46/10第8章面向对象设计4/62/46/10第9章用户界面设计2/424/6第10章数据库及其接口设计2/424/6第11章软件实现2/42/44/8第12章软件测试2/424/62/424/6第13章软件项目管理与计划注根据授课实际情况调整教学内容与时数
四、重点难点
1、专业课程重点系统分析、系统设计、系统实现.
2、专业课程难点需求分析、系统设计、软件测试
3、综合素质重点1软件工程概述增强道德意识,软件工程开发要把道德放在第一位,尊重规则,严守道德规范,尊重知识产权,尊重创新2可行性分析多为别人考虑,凡事三思而后行3需求分析全方面考虑问题,内心要平静,眼光放长远4软件危机树立学生的危机意识,大学生要居安思危,未雨绸缪,努力学习,提高技能,跟上社会的发展,从而不被社会淘汰
五、教学模式主要采用课堂教学与实践教学相结合的线下教学模式
1、课堂教学多媒体教学、课堂互动、作业
2、实践教学课程内实验、学期末实践周
3、教学条件多媒体教室、专业实验室、网络教学平台
六、课程考核方式与成绩评定办法
1、课程考核方式过程性考核与期末统一考试相结合,试题包括基本概念,基本理论,分析计算和设计,题型可采用填空,判断,计算,画图,简答,综合等方式
2、成绩评定办法总评成绩平时成绩占30%;期末考试占70%过程性考核内容主要包括作业、课堂互动,其中作业占70%、课堂互动占30虬
七、建议教材与参考书
1、建议教材(名称、作者、出版社、出版时间)
[1]《软件工程》(第5版),李代平,清华大学出版社,2022年
[2]《软件工程实践与课程设计》,李代平,清华大学出版社,2017年
2、建议参考资料(含网上资料•)(名称、作者、出版社、出版时间)
[1]《软件工程导论》(第5版),张海藩,清华大学出版社,2018年
[2]《软件工程概论》.郑人杰,殷人昆,清化大学出版社,2018年
[3]软件工程(第3版),钱乐秋、赵文耘、牛军锌,清华大学出版社,2016年第二部分理论教学内容与要求第1章软件工程绪论
一、教学基本内容
1.1软件概述
1.2软件工程
二、教学目的和要求
1.掌握软件的特点、分类与软件危机知识;
2.掌握软件工程基本原理;
3.掌握软件工程的目标、内容、原则与面临问题;第2章基本理论
一、教学基本内容
2.1软件工程过程
2.2软件生命周期
2.3软件生命周期模型
2.4软件开发方法
2.5软件工程应用实例
二、教学目的和要求
1.知晓软件工程过程
2.掌握软件工程及软件生存周期的知识;
3.掌握几种典型的软件开发模型的定义及其特点的知识;第3章可行性研究
一、教学基本内容
3.1可行性研究任务与步骤
3.2系统分析
3.3分析原理
3.4系统模型与模拟
3.5成本-效益分析
3.6可行性研究的文档
3.7项目开发计划
3.8可行性分析实例
二、教学目的和要求
1.掌握可行性研究任务与步骤
2.知晓系统分析员条件
3.掌握系统分析原理及建模方法和成本分析
4.掌握可行性报告规范第4章需求分析
一、教学基本内容
4.1需求分析
4.2结构化分析
4.3系统流程图
4.4数据流图
4.5数据字典
4.6结构化分析应用实例
二、教学目的和要求L了解软件需求分析阶段的特点、原则、任务及方法;
2.掌握软件需求分析的主要过程及需求评审的知识;
3.具备数据流图、数据字典的使用方法;
4.了解软件需求规格说明书的基本格式;第5章总体设计
一、教学基本内容
5.1软件设计的重要性
5.2设计过程
5.3软件总体设计
5.4设计基本原理
5.5体系结构设计
5.6结构化设计
5.7结构化设计应用实例
二、教学目的和要求L了解总体设计的过程、方法和原理;
5.8握总体设计的常用技术和图形工具;
5.9备结构化方法软件设计的能力;第6章软件详细设计
一、教学基本内容
1.1详细设计的任务与方法
1.2设计表示法
1.3结构化程序设计
1.4结构化详细设计应用实例
二、教学目的和要求1,了解结构化详细设计的任务与方法;
2.掌握详细设计的表示法
3.知晓结构化定理和程序设计理论第7章面向对象分析
一、教学基本内容
7.1面向对象的相关概念
7.2UML的基本图标
7.3对象分析
7.4一般-特殊结构
7.5整体-部分结构
7.6实例连接
7.7消息连接
7.8面向对象分析应用实例
二、教学目的和要求
1.掌握面向对象的概念及其思想;
2.掌握面向对象软件的任务及其过程;
3.掌握面向对象三种模型及模型间的关系;
4.了解面向对象的分析的基本过程;
5.具备创建对象模型、动态模型和功能模型的能力.第8章面向对象设计
一、教学基本内容
8.1系统总体方案
8.2软件体系结构
8.3设计环境
8.4完善对象的细节
8.5设计算法
8.6关联设计
8.7设计优化
8.8面向对象设计应用实例
二、教学目的和要求
1.掌握面向对象方法设计的主要任务及实现过程;
2.掌握面向对象设计的准则和方法
3.具备系统分解和各类子系统的设计的能力;第9章用户界面设计
一、教学基本内容
9.1人的因素
9.2界面设计风格
9.3人机界面的设计准则
9.4人机界面设计过程
二、教学目的和要求
1.掌握
(1)软件启动封面设计;
(2)软件框架设计;
(3)软件按钮设计;
(4)软件面板设计;
(5)菜单设计;
(6)标签设计;
(7)图标设计;
(8)滚动条及状态栏设计;
(9)安装过程设计;
(10)包装及商品化;
2.掌握界面设计规范、一致性(字体、对齐、表单录入、鼠标手势、保持功能及内容描述一致)、准确性、布局(菜单、按钮、功能、排版、表格数据列表、滚动条、页面导航)、系统操作(流畅地完成一些常用的业务操作)、系统响应(系统响应时间应该适中)第10章数据库及其接口设计
一、教学基本内容
10.1数据管理系统及其选择
10.2技术整合
10.3数据接口
10.4对象存储方案和数据接口的设计策略
二、教学目的和耍求
1.理解接口的设计需要考虑用户的使用习惯、方便程度、安全程度
2.掌握接口六原则单一职责原则、里氏替换、依赖倒置、接口隔离、迪米特法则(最少知识)、开闭法则第11章软件实现
一、教学基本内容
11.1程序设计语言的特性及选择
11.2程序设计风格
11.3程序设计效率
11.4冗余编程
11.5软件容错技术
二、教学目的和要求
1.掌握程序设计语言的特性及选择;
2.了解编程准则与编程风格的知识;
3.掌握程序设计的基本过程分知识;
4.了解提高软件可靠性的技术;第12章软件测试
一、教学基本内容
12.1软件测试概述
1.22测试方法
1.3测试用例的设计
1.4测试过程
1.5调试
二、教学目的和要求1,掌握软件测试的概念、目标及原则的知识;
2.掌握白盒/黑盒测试的主要工作原理知识;
3.具备几种主要的黑盒/白盒测试的能力;
4.具备软件排错的能力;第13章软件项目管理与计划
一、教学基本内容
15.1软件项目管理概述
15.2项目管理过程
15.3软件开发成本估算
15.4风险分析
15.5进度安排
15.6软件项目的组织
二、教学目的和要求
1.了解如何估算软件规模和工作量的知识;
2.具备进度计划的制定和人员组织的方式,以及如何进行质量保证的能力;
3.具备风险分析的技术第三部分课程实验
一、软件工程实验指导思想以“提高学生科学素养”为目标,积极探索正确、严谨的实验教学方法,并通过开展多层次的新课程理论学习,适时地更新教育观念,树立新课程理念
二、课程的目的1使学生进一步理解和掌握《软件工程》中所学每个软件开发阶段的基本任务、基本步骤、基本技能,并引导学生在项目开发过程中正确地使用
(2)使学生在开发中、小型软件项目的实践过程中,将所学的计算机编程语言、算法设计、数据结构和数据库原理等知识有机结合起来,建立系统化理论、实践体系
(3)使学生能较为熟练地运用工具进行软件的开发、测试和管理,培养学生之间团队合作、服务客户、造福社会和诚实可信的软件工程人员职业道德精神
(4)体验软件开发文档的编写;
(5)引导学生借助网络等手段,学会查找各种资料、素材,扩充学生解决实际问题的途径,培养独立思考、自主创新的能力;
三、课程的基本任务
(1)巩固对软件工程、数据库设计、数据结构、算法设计基本知识的理解,培养学生综合地、灵活地运用所学技能
(2)通过实际项目设计与开发,要求学生能熟练使用软件工具,规范书写软件工程标准文档,并提交软件程序、开发文档各一套
(3)学生以项目小组的形式参与实验,培养学生之间团结互助,协同配合的能力
(4)培养学生自学参考书籍,查阅手册、图表和文献资料的能力
四、课程的基本要求
(1)项目小组按照若干人组成,也可以一个人独立作业要求每个项目组/人完成不同的项目
(2)项目小组内成员的实际工作量充足,且具有清晰的思路、一定思维能力和规范的语言习惯
(3)项目组内成员已经掌握数据结构知识,有一定的算法思想
(4)项目组内成员已经掌握数据库基本原理,并能熟练运用数据库管理工具
(5)项目组内成员已经熟练掌握一门面向对象编程语言,并能在某个集成开发环境下进行编辑、编译和调试程序
五、选题指导实验老师最好拟定一个适当的题目,在本课程的实验部分的设计的9项实验中,各项实验做这个题目的一个阶段内容选题原则
1、科学性原则含义:一有依据,二符合客观规律,三符合逻辑性
2、创新性原则科研选题必须具有创新性,要选择前人没有解决或没有完全解决的问题,创新性原则便可以称为教育科研选题的灵魂
3、价值性原则价值性原则,是指在选题时必须考虑这一课题是否具有内部价值和外部价值,是否值得研究
4、可行性原则可行性原则,是具备则具有可行性,值得研究
5、扩展性原则扩展性原则,其研究成果能应用于较广泛的教育教学领域
6、需要性原则就是指选题必须满足社会发展需要和科学技术自身发展趋势需要
7、效能性原则效能性是指科研的投入与预期研究成果的综合效能是否相当
六、实验项目设置及学时分配序号实验项目学时要求类型实验结果1VISIO工具软件基本操作2必做验证型实验报告2可行性研究实验2必做分析型可行性研究报告3软件需求分析2/4必做分析型编写软件需求说明书42/4软件概要设计必做设计型软件概要设计报告5软件详细设计2/4必做设计型软件详细设计报告6面向对象需求分析2/4必做分析型面向对象需求分析报告7面向对象系统设计2/4必做设计型面向对象系统设计报告8软件实现实验2/4必做设计型软件实现报告9软件测试和调试2必做分析设计型软件测试和调试报告注开出要求为必做、选做;实验类型为演示、验证、综合型、设计型等;若开出多个实验供学生自主选择时,可要求学生最少选择的实验个数和学时达到实验目的,可能安排的课内实验学时不够,因此学生要课外配套相应的时间才能完成。
个人认证
优秀文档
获得点赞 0