还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件工程课程教学大纲
一、课程教学目标该课程旨在阐明软件工程的思想、目标和原则,系统讲授软件开发、维护和管理的过程、技术和工具,帮助学生掌握需求分析、软件设计、代码编写、软件测试、维护演化、质量保证、项目管理、团队协作等方面的专业知识和工程能力,提升学生开发高质量软件所需的工程素养和职业道德水准软件工程是一门实践性要求非常高的课程,要求学生开展综合性实践,运用所学的知识来完整地开发一个软件系统,完成需求分析、软件设计、编码实现和软件测试等软件开发工作课程教学需要遵循理论教学与实践教学相结合、知识传授与案例研讨相结合的教学方式,强调学以致用,突出能力和素质的培养
1.认知方面通过学习,理解软件工程的思想、目标和原则旨在掌握软件工程的过程、技术及工具,并能运用它们进行软件系统的开发、管理和维护要求学生通过本门课的学习,基本掌握结构化方法、面向对象方法等软件开发技术
2.技能方面本课程注重培养学生软件开发方面的多方面能力和素质,如解决复杂工程问题的能力、职业道德规范等课堂上教师向学生讲述软件工程中的相关原理和概念,通过案例教学和实验教学,培养学生对整个软件开发过程的理解能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档,从而提高学生的软件开发能力
3.情感方面软件工程课程的学习,不仅是专业的需要,也是当今信息化社会生活的需要,本课程与人们的学习生活关系较为密切,能较好地激发学生的学习兴趣,并培养他们的学习热情
二、课程教学内容及要求
1.教学内容通过学习,旨在使学生掌握软件工程的基本概念、原理和方法,从软件开发技术方面理解如何将系统的、规范化的和可以度量的工程方法运用于软件设计和开发中要求学生掌握结构化方法、面向对象方法等软件开发技术
2.教学要求注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,通过案例教学和实验教学训练,培养学生对整个软件开发过程的理解能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档图,即变换分析技术和事务分析技术;掌握软件设计文档的撰写【重点难点】重点掌握结构化设计模型,结构化设计方法,软件设计文档难点熟练掌握面向数据流的设计方法,特别是变换分析技术【教学内容】第一节基本概念和设计过程第二节变换分析第三节事务分析第四节综合设计第五节SD方法小结第六节软件设计文档第七节其他设计方法第八节案例【课后作业】结构化设计的基本要点是什么?第九章面向对象设计【教学目标】理解面向对象设计的准则和启发规则;掌握系统分解的方法;掌握设计问题域子系统、设计人机交互子系统、设计任务管理子系统、设计数据管理子系统、设计类中的操作、设计关联以及设计优化的方法;掌握常用静态模型和动态模型构建的方法【重点难点】重点掌握面向对象设计准则和三层架构软件设计的基本思想,掌握常用静态模型和动态模型构建的方法难点静态模型和动态模型中有关元素的提取,UML模型设计优化【教学内容】第一节面向对象设计方法
一、面向对象设计概述
二、对象设计
三、系统设计第二节对象类动态模型建模
一、交互模型建模
二、状态模型建模第三节创建动态模型案例【课后作业】如何从状态图区分顺序图?它们有何相似之处?【阅读书目】叶小莺.软件工程经济学国].西安西安电子科技大学出版社,
2021.第十章软件实现【教学目标】掌握程序设计语言的发展及常用语言的特点与适用领域;掌握和养成良好的程序编码原则和风格;熟练掌握软件质量保证技术;理解程序代码重用的概念,掌握并能运用程序代码重用的方式和方法;初步掌握安全编码的基本要求【重点难点】重点理解程序设计语言的发展和选用,掌握常用编码语言的特点,编码的原则和编码风格难点运用良好的编码风格编写高质量的代码【教学内容】第一节程序设计语言
一、语言类别
二、语言选择第二节结构化程序设计方法与编程第三节程序内部文档第四节编程风格
一、编码原则
二、编程风格第五节代码重用第六节结对编程第七节安全编码第八节程序的效率第九节案例【课后作业】
1.有人说程序编好后能上机运行就可以了,为什么还要讲编码风格和可读性呢?你觉得对吗?
2.一般情况下,程序的效率和清晰性相比哪一个更重要?第十一章软件检验和测试方法【教学目标】掌握软件测试的目标、准则、方法和步骤;掌握单元测试、集成测试、有效性测试和系统测试的方法和步骤;掌握白盒测试和黑盒测试技术的概念、方法;掌握调试过程与途径,了解软件可靠性的概念及其计算方法;了解安全测试的基本概念和方法;能够按照测试的原则和技术,分析确定高效的测试用例;理解程序调试的概念,掌握并能运用程序调试的技术和工具;理解面向对象软件测试的特殊性及其概念和思想,掌握面向对象软件测试技术【重点难点】重点检验和测试的有关概念和结论,黑盒测试和白盒测试的测试用例的规范设计,单元测试和集成测试的组织过程难点白盒测试法和黑盒测试法的测试用例设计【教学内容】第一节检验的基本概念第二节软件评审
一、评审过程
二、评审条款第三节测试的基本概念第四节白盒法
一、概述
二、语句覆盖
三、判定覆盖
四、条件覆盖
五、判定/条件覆盖
六、条件组合覆盖第五节黑盒法
一、等价分类法
二、边缘值分析法
三、因果图法
四、错误推测法
五、综合策略第六节测试步骤第七节单元测试第八节联合测试第九节测试工具第十节有效性测试第十一节系统测试第十二节程序调试第十三节面向对象的测试第十四节综合测试文档第十五节案例【课后作业】比较a测试与6测试,说明其异同【阅读书目】于艳华.软件测试项目实战(第4版)[M].北京电子工业出版社,
2022.第十二章软件交付与维护【教学目标】埋解软件部署的概念和任务,掌握并能运用软件部署的方式和方法;埋解软件维护类型和策略,了解软件维护的成本,理解软件维护的副作用和困难;理解软件维护组织机构的作用,了解维护申请,熟悉软件维护流程,了解软件维护评价;理解软件可维护性的三个软件属性,了解定量的软件可维护性度量,掌握提高软件可维护性的方法,理解软件维护技术如再工程、逆向工程、软件重构等【重点难点】重点软件维护类型和策略,软件维护的过程,影响软件可维护性的因素,提高可维护性的方法难点软件维护的副作用和困难,软件维护的评价,软件可维护性度量【教学内容】第一节软件部署概念、原则、方式和方法第二节维护的基本概念第三节维护的种类第四节维护的步骤与方法
一、维护步骤
二、维护方法第五节可维护性
一、决定软件可维护性的因素
二、可维护性复审第六节软件维护技术第七节维护工作的管理第八节维护的副作用第九节软件维护文档第十节案例【课后作业】为什么说软件维护是不可避免的?测试阶段的纠错和纠错性维护有哪些异同?系(教研室)主任(签名)教学院长(签名)
3.坚持课后练习是教好、学好本门课程的关键在整个教学过程中,将根据正常教学进度布置一定量的课后作业,要求学生按时完成为避免学生将过多的精力和时间耗费在冗繁的手工绘图中,将结合有关内容,适时介绍计算机辅助软件工程相关工具
三、课程教学重点和难点重点本课程的基本概念和知识,包括软件工程的范畴、背景、软件过程、软件生命周期模型、测试、对象的基本概念、需求、面向对象分析、面向对象设计、实现、集成,以及面向数据流和面向对象分析设计的概念、理论和方法,能正确绘制相应的分析设计图难点分析面向数据流和面向对象分析设计图的基本要素
四、课程考核形式和要求根据本专业人才培养方案和课程性质,课程考核采用闭卷考试形式,主要考查学生对本课程的基本知识、基本原理、基本方法和基本技术的掌握情况课程考试成绩由“平时成绩”(占30%)和“期末成绩”(占70%)构成其中,平时成绩是以学生平时出勤、课堂表现、撰写实验报告和课后作业完成情况等方面予以评分
五、课程教学时数分配章目教学内容教学时课后作业形式备注数教学方式或手段第一章软件工程概述3讲授(多媒体)、实验第二章过程和生命周期的建模3讲授(多媒体)、答疑AA*---------JuzL可行性研究3讲授(多媒体)思考题弟二早第四章需求分析基础2讲授(多媒体)、思考题实验第五章面向数据流的分析方法5分析设计题讲授(多媒体)、答疑、实验第六章面向对象分析4讲授(多媒体)、实验第七章软件设计基础6讲授(多媒体)、答疑分析设计题、思考题第八章面向数据流的设计方法2讲授(多媒体)、分析设计题答疑第九章面向对象设计6讲授(多媒体)、实验第十章软件实现3思考题讲授(多媒体)第十一章软件检验和测试方法7讲授(多媒体)、思考题实验第十二章软件交付与维护2讲授(多媒体)*串讲2讲授、练习实验一2讲授、实验实验报告使用思维导图软件MindManager绘制职业规划图实验二4讲授、实验实验报告利用Microsoft Visio进行面向数据流的分析与设计实验三6讲授、实验实验报告利用Rational Rose进行面向对象的分析与设计利用Mat lab进行数值计算和实验四4讲授、实验实验报告数据绘图总计64第一章软件工程概述【教学目标】了解和掌握软件工程的基本概念(如软件和软件工程的定义等);了解软件危机的表现形式、产生的原因及消除的途径;初步掌握软件工程的基本原理、过程、方法学以及相关工具的概念【重点难点】重点软件工程的基本原理,学习软件工程的意义难点理解软件工程的体系架构【教学内容】第一节软件工程课程简介第二节软件工程学的背景和目的
一、软件与软件的组成;软件的特点;软件的分类;软件的历史与发展;软件危机
二、软件工程的体系架构(软件工程各个章节的关系);软件工程各个阶段相关的角色第三节软件开发方法第四节案例【课后作业】举例说明软件对社会的影响(包括正面影响和负面影响)【阅读书目】Roger S.Pressman.软件工程实践者的研究方法[M].北京机械工业出版社,
2021.第二章过程和生命周期的建模【教学目标】掌握软件过程、生命周期和软件安全开发生命周期的概念;掌握几种主要的软件开发模型瀑布模型、原型模型、增量模型等;了解敏捷开发和极限编程两种新兴的开发模型的特点;了解几种软件开发模型之间的关系,能够根据开发需求确定使用特定的开发模型;了解软件开发标准以及意义;了解软件过程改进框架和要素;理解CMM和CMMI的概念和思想;了解CMM和CMMI的5个等级和其基本特征;理解软件质量的概念,理解软件外部质量和内部质量以及二者之间的差别;理解软件工程从业人员需遵守的法律、法规和职业道德,在软件开发中运用相应的法律、法规和职业道德规范【重点难点】重点软件生命周期中各阶段的基本任务,各种软件开发模型的内容,不同开发模型的特点比较难点各类软件过程模型的特点及适用范围【教学内容】第一节过程的含义第二节软件过程模型
一、瀑布模型、渐近式模型、过程的迭代、V模型、原型化模型、敏捷开发模型等
二、目前流行的、常见的软件过程模型第三节软件开发标准第四节软件安全开发生命周期第五节CMM和CMMI第六节软件质量概念及模型第七节软件工程师职业道德第八节案例【课后作业】请问能否采用一种软件工程方法,应用于所有的软件分类?并就你的答案加以解释【阅读书目】吕云翔.软件工程基础[M].北京清华大学出版社,
2022.第三章可行性研究【教学目标】深刻理解可行性研究的必要性;掌握可行性研究的任务、过程、成本效益分析以及可行性研究报告的主要内容;具体掌握技术可行性、操作可行性、经济可行性的分析方法;掌握系统流程图概念;了解如何制定项目开发计划【重点难点】重点问题定义、可行性研究任务;编写可行性研究报告难点系统流程图的绘制【教学内容】第一节问题定义与任务第二节系统流程图第三节成本/效益分析第四节可行性研究的步骤第五节案例【课后作业】在软件开发的早期阶段为什么要进行可行性研究?应从哪些方面研究目标系统的可行性?第四章需求分析基础【教学目标】理解和掌握需求分析阶段的主要任务和主要目的;了解基本需求获取的方法、分析建模过程;熟悉需求规格说明书的基本格式和主要内容;了解软件安全需求的内容和分析方法【重点难点】重点需求获取技术(如何获得真实准确的需求),需求规格说明与评审的重要性难点需求规格说明书文档的撰写【教学内容】第一节需求分析和规格说明阶段的基本概念第二节初步需求获取技术
一、访谈与调查问卷
二、跟班作业
三、组成联合小组第三节需求建模第四节需求规格说明与评审
一、需求规格说明书的内容
二、需求评审第五节案例【课后作业】在交付最终用户之前,或者首个版本投入使用之后,许多应用程序都会有频繁的变更为防止变更引起软件退化,请提出一些有效的解决措施【阅读书目】李鸿君.大话软件工程一需求分析与软件设计[M].北京清华大学出版社,
2020.第五章面向数据流的分析方法【教学目标】掌握结构化分析过程;掌握常用图形工具的使用方法;掌握验证软件需求的必要性、方法【重点难点】重点进行结构化分析,利用描述工具进行分析建模难点用数据流图和数据字典描述系统的逻辑模型【教学内容】第一节结构化分析概述第二节数据流图第三节数据词典第四节小说明第五节SA方法小结第六节案例【课后作业】在生成数据流图时,如何使用图形化解析?【阅读书目】张鹏,宁涛.软件工程案例教程[M].北京清华大学出版社,
2022.第六章面向对象分析【教学目标】掌握面向对象的基本概念,包括抽象、继承、封装、重载、多态等;掌握统一建模语言UML的概念与绘制,包括静态建模机制(用例图、类图、对象图、包图)与动态建模机制(顺序图、协作图、状态图、活动图);掌握面向对象分析的过程、需求陈述;能够根据具体问题建立静态模型、动态模型、功能模型以及确定对象的服务【重点难点】重点建立静态模型、功能模型和动态模型的方法难点模型中各元素的分析和整体模型的构建【教学内容】第一节面向对象基础第二节UML概述第三节需求分析与用例建模
一、用例建模概述
二、确定系统的范围和边界
三、确定系统的参与者
四、确定系统的用例
五、描述用例
六、用例分类,确定用例之间的关系
七、定义用例图的层次结构第四节活动图建模第五节系统分析与建模
一、建立对象类静态模型
二、建立对象类动态模型
三、建立系统功能模型
四、系统分析规格说明书第六节面向对象分析案例
一、需求分析与系统功能
二、创建用例模型
三、用例描述与活动图建模
四、创建对象类静态模型【课后作业】L有没有可能在分析建模后立即开始编码?解释你的答案,然后说服反方
2.对于需求分析,面向数据流分析与面向对象分析策略有何本质区别?【阅读书目】陆惠恩.实用软件工程「Ml.北京清华大学出版社,
2020.第七章软件设计基础【教学目标】理解软件总体设计的目的、任务;掌握软件总体设计的过程、设计原理和启发规则;了解用户界面设计和软件安全设计的方式;了解体系结构、数据和过程的设计模式;理解软件详细设计阶段的目的、任务和结构程序设计的概念;掌握描述软件结构的工具,包括程序流程图、盒图(N-S图)、问题分析图(PAD)、过程设计语言(PDL)等的使用方法;理解数据设计的任务和原则,掌握并能运用数据设计的方法【重点难点】重点软件设计的任务、基本概念,理解启发式规则,掌握几种常用的描述软件结构的工具进行模块化设计难点模块,抽象与细化,信息隐藏,局部化等概念,正确使用描述软件结构的工具【教学内容】第一节软件设计概述第二节软件体系结构第三节模块化设计
一、模块概述
二、块间联系和块内联系第四节结构图的改进第五节界面设计第六节详细设计的描述方式第七节数据设计第八节软件安全设计第九节案例【课后作业】请简述面向数据流的设计方法的主要思想【阅读书目】彭鑫,游依勇,赵文耘.现代软件工程基础[M].北京清华大学出版社,
2022.第八章面向数据流的设计方法【教学目标】掌握面向数据流的设计方法,能够将具体的数据流图的转换为软件的结构。
个人认证
优秀文档
获得点赞 0