软件工程基础教学大纲(含课程思政+实验教学大纲).docx
-
资源ID:95549817
资源大小:18.13KB
全文页数:8页
- 资源格式: DOCX
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
软件工程基础教学大纲(含课程思政+实验教学大纲).docx
软件工程基础课程教学大纲课程代码:课程名称:软件工程基础/Software Engineering Basics开课学期:学分/学时:理论3/48+实验1/32课程类型:必修适用专业/开课对象:先修课程:计算机导论、数据结构、面向对象程序设计、数据库原理等 开课单位:团队负责人:责任教授:执笔人:核准院长:一、课程的性质、目的与任务软件工程基础是计算机/软件工程专业的一门工程性基础课程,在软件 工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的 重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学 是用以指导软件人员进行软件的开发、维护和管理的科学。软件工程基础 已成为高等学校计算机软件教学体系中的一门核心课程,本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯 穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过 程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳 实践和企业案例,力求从“可实践”软件工程的角度描述需求分析、软件设 计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件 工程的方法、技术和工具。通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开 发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准 和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件 开发活动,为学生参加大型软件开发项目打下坚实的理论基础。本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件 工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的 能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要 求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管 理能力有重要的现实意义。二、教学内容及教学基本要求1 .软件与软件工程(2学时)通过本章的学习,了解软件的概念和特点;了解软件危机的表现与原因; 掌握软件工程的概念和知识体系;了解基本的软件开发方法和开发工具;了解 软件工程人员的职业道德。课程思政:通过讲述从软件、软件开发到软件工程,引入中国目前面临 “卡脖子”的问题,简要介绍案例“中国第一程序员”一求伯君。工匠精神, 科技报国。2 .软件过程(2学时)通过本章学习,了解软件生命周期的概念;熟悉常用的软件开发模型:瀑 布模型、快速原型模型、增量模型等;了解敏捷开发和极限编程这两种新兴的 开发模型的特点;了解几种软件开发模型之间的关系,能够根据开发需求确定 使用特定的开发模型。课程思政:通过讲述软件过程,引入中国软件工程发展历程,简要介绍案 例“青鸟工程”。科学探索,勇于实践。3 .敏捷软件开发(2学时)了解敏捷软件开发概念及特点;掌握常见的敏捷软件开发方法;了解 Scrum方法的特点和实施过程;了解看板与Scrum的区别;了解XP的价值观和核 心实践;掌握CI/CD内容及CI/CD管道和优势;了解DevOps生命周期和涉及工 具。课程思政:通过讲述敏捷软件开发,引入中国敏捷软件开发的历程,简要 介绍案例"PaddlePaddle”。自主研发,敢为人先。4 .软件可行性研究与项目开发计划(2学时)通过本章学习,深刻理解可行性研究的必要性;掌握可行性研究的任务、 过程、成本效益分析以及可行性研究报告的主要内容;具体掌握技术可行性、 操作可行性、经济可行性的分析方法。了解如何制定项目开发计划。课程思政:通过讲述可行性的必要性,引入中国自主研发的可行性,简要 介绍案例“汉字激光照排系统”。奉献精神,创新精神。5 .结构化分析(4学时)通过本章的学习,了解需求分析的任务,熟悉需求获取的方法、分析建模 与需求规格说明;掌握结构化分析的方法例如功能建模、数据建模、行为建 模、数据字典等;掌握数据建模的实体联系图、数据规范化;掌握描述系统行 为模型的状态转换图;了解层次方框图、Wamier图、IPO (HIPO)图。课程思政:通过讲述需求分析,引入软件开发中需求分析为什么很必要, 简要介绍案例“抖音”。创新思维,创新精神。6 .结构化设计(4学时)通过本章的学习,了解软件结构化设计的目的、任务,掌握软件架构化设 计的过程、设计原理和启发规则;了解用户界面与数据库结构设计的方式;了 解体系结构、数据和过程的设计模式;能够根据需求分析结果绘制结构图。课程思政:通过讲述结构化设计,引入软件开发中软件设计为什么很重 要,简要介绍案例“飞天云操作系统”。独具匠心,攻坚克难7 .面向对象方法与统一建模语言(6学时)通过本章的学习,掌握面向对象的基本概念,包括抽象、继承、封装、重 载、多态等。熟悉统一建模语言UML的概念与绘制,包括静态建模机制:用例 图、类图、对象图、包图与动态建模机制:顺序图、协作图、状态图、活动 图。课程思政:通过讲述面向对象方法和统一建模语言,引入使用面向对象方 法比使用结构化方法的优势,简单介绍案例“微信”。创新胆量,创新决心8 .面向对象分析(6学时)通过本章的学习,了解面向对象设计的准则和启发规则,掌握面向对象的 对象模型、动态模型和功能模型内容。课程思政:通过讲述面向对象分析,引入使用面向对象分析方法比使用面 向结构化方法的优势,简单介绍案例“图灵奖华人唯一获得者”一姚期智。志 存高远,勇攀高峰.9 .软件体系结构与设计模式(2学时)通过本章的学习,了解软件体系结构的概念,了解典型的软件体系结构风 格,了解软件系统的设计模式。课程思政:通过讲述软件体系结构与设计模式,引入软件体系结构为什么 如此重要,简单介绍案例“北斗卫星导航系统”。科技探索,科技成就。10 .面向对象设计(6学时)通过本章的学习,了解面向对象设计的准则和启发规则,掌握软件重用的 概念和方法,掌握系统分解的方法,掌握设计问题域子系统、设计人机交互子 系统、设计任务管理子系统、设计数据管理子系统、设计类中的服务、设计关 联以及设计优化的方法。课程思政:通过讲述面向对象设计,引入使用面向对象设计方法比使用结 构化设计方法的优势,简单介绍案例“鸿蒙操作系统”。家国情怀,敢为人 先。11 .软件实现(2学时)通过本章的学习,了解各种编程语言的发展与特性,了解面向对象语言的 特点以及如何选择面向对象的开发工具;掌握良好的程序设计风格与编码规 范。课程思政:通过讲述软件实现,引入编写代码的重要性,简单介绍案例 “杀毒软件之父”一王江民。实干苦干,勇于担当。12 .软件测试(6学时)通过本章的学习,掌握软件测试的基本概念和测试用例编写方法;掌握软 件测试的常用方法例如黑盒测试、白盒测试、单元测试、集成测试、系统测 试、验收测试等。课程思政:通过讲述软件测试,引入软件测试是保证软件质量的重要步 骤,简单介绍案例“钉钉”。创新意识,创新兴趣。13 .软件维护与软件工程管理(4学时)通过本章的学习,了解软件维护的过程、分类、副作用等;了解软件估算 的概念和方法;掌握软件开发进度计划的制定并使用工具如Gantt图与PERT 图。了解软件开发的管理如人员、质量、风险、配置管理的概念;学会编写符 合软件工程标准的软件文档。课程思政:通过讲述软件维护与软件工程管理,引入软件开发不仅仅是编 码,还有别的相关任务需要完成,简单介绍案例“中国的工业软件”。分析矛 盾,发现问题。14 .实验(32学时)教学说明及教学基本要求见软件工程基础实验教学大纲。注:通过教材上的二维码可下载课程思政案例的PPT。三、教学方法本课程教学方法以教师为主导的启发式讲授教学法为主,讨论(提问)式 教学为辅,结合课外学习的教学方法。实验以学生动手实验为主,教师的启发 式讲授教学法为辅,并结合讨论(提问)式教学,以及结合课外学习的教学方 法。1 .本课程概念较多,因此教学形式以讲授方式为主。本课程拟采用多媒体PPT 的教学方法,增加课堂信息,浅显通俗地对概念、定义和原理进行解释,增加 教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课 程内容。2 .对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。3 .为加强和落实动手能力的培养,每章课后应安排作业,帮助学生学习和应 用。四、课内外教学环节及基本要求本课程共80个学时,其中理论48个学时,讲授16周(每周3学时);实验 32个学时,讲授8周(每周4学时)。课外学习要求:1 .做好课前预习,预习时以教材为主,了解相关的概念、定义、原理。预习中 认真思考,以便带着问题主动地听课。2 .课后要复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔 记。3 .要求学生课外自主学习,学生课外阅读的参考资料以本大纲所列参考资料为主。五、考核内容及方式本课程成绩由平时成绩和期末考核成绩组合而成,课程成绩以百分制计算, 分配比例如下:1 .平时成绩占60%,主要考查作业的完成程度,理论课和实验课的出勤 率,实验课的考试结果。其中实验占20%,课程设计占35%,出勤率占5%。2 .期末成绩占40%,采用考试的考核方式。考试采用闭卷形式,题型为选 择题、正确/错误题、填空题、简答题,以及应用题。六、持续改进本课程根据学生作业、课堂讨论、平时考核情况和学生、教学督导等反 馈,及时对教学中不足之处进行改进,并在下一轮课程教学中改进。七、建议教材及参考资料建议教材:1吕云翔.软件工程基础(题库+微课视频版)M.北京:清华大学出版社, 2022参考资料:1 Roger S. Pressman, Bruce R. Maxim.软件工程:实践者的研究方法(原书第 8版),郑人杰等译M.北京:机械工业出版社,20162 Ian Sommerville.软件工程(原书第10版),彭鑫等译M.北京:机械工业 出版社,20183张海藩,吕云翔.软件工程(第4版)M.北京:人民邮电出版社,20134吕云翔,赵天宇.UML面向对象分析、建模与设计(第2版,微课视频版) M.北京:清华大学出版社,20215吕云翔,黎可为,张中基.软件工程项目化教程M.北京:清华大学出版 社,2023软件工程基础课程实验教学大纲教学内容及教学基本要求1 .用例图和甘特图的绘制 (4学时)(1)了解用例图和甘特图的概念和作用;掌握使用UML设计工具EA、项目计划管理工 具Project的使用。(2)课程设计指导。2 . GIT的使用(4学时)(1)了解分布式版本控制系统的概念;掌握GIT的操作方法和在实际项目中的使用流 程。(2)课程设计指导。3 .前端开发工具的使用(4学时)(1) 了解前端开发的基础知识,包括HTML、CSS、JavaScript语言;掌握常用的前端 开发框架如Vue. js的基本使用;能够自行设计出具有基本功能的前端页面。(2)课程设计指导。4 .后端开发工具的使用(4学时)(1)了解前后端分离模式中后端所起的作用;了解后端与数据库的紧密联系;掌握常 用的后端开发框架如Django或SpringBoot的基本使用。(2)课程设计指导。5 .UML图的绘制(4学时)(1)掌握使用EA工具绘制软件设计过程中的UML图,包括类图、活动图、包图、对 象图、顺序图、状态图。(2)课程设计指导。6 .数据库模型设计工具的使用(4学时)(1)了解数据库模型的概念,可以区分概念数据模型、逻辑数据模型和物理数据模 型;掌握通过PowerDesigner工具进行数据库的模型设计。(2)课程设计指导。7 .软件测试工具的使用(4学时)(1) 了解软件测试的基本过程;掌握单元测试工具Pytest和Junit。(2)课程设计指导。8 .上机考试和大作业验收(4学时)(1)上机考试(2)课程设计验收。