软件技术基础教学大纲资料
软件工程专业教学大纲

软件工程专业教学大纲软件工程专业教学大纲:
第一部分:导论
软件工程的定义与概念
软件工程发展历程
软件工程的重要性与应用领域
第二部分:基础知识
计算机科学与软件工程的关系
软件工程的基本原理
软件生命周期与软件开发过程
需求分析与软件设计
软件测试与质量保证
第三部分:主要课程及内容
数据结构与算法
计算机网络原理
操作系统与系统编程
数据库原理与应用
面向对象程序设计
软件项目管理与团队协作
第四部分:实践教学
软件工程实践课程介绍
软件系统设计与开发实践
软件测试与调试实践
软件项目管理实践
软件质量保证实践
第五部分:教学方法与评估
课堂教学与实践相结合
案例分析与小组讨论
考试、作业与实验报告评估
课程设计与项目实践评估
第六部分:教学目标与培养要求培养学生的计算机基本功
培养学生的软件开发能力
培养学生的团队合作与沟通能力
培养学生的解决问题能力与创新思维
第七部分:教学资源与保障
教材与参考书目
实验室设备与软件环境
教师团队与指导导师
学校资源与实习机会
第八部分:教学内容更新与发展
结合当前软件工程领域热点
引入新技术与新方法
持续改进课程内容与教学方法
总结:
通过本教学大纲的设计,旨在为软件工程专业的学生提供系统全面的课程安排,培养学生的软件工程能力,提高学生在软件领域的竞争力,为其未来的职业发展打下坚实的基础。
愿每一位学生在本专业的学习过程中都能获得实实在在的收获,成为优秀的软件工程师。
软件工程专业课程教学大纲

软件工程专业课程教学大纲计算机导论课程教学大纲课程名称:计算机导论课程编号:学时/学分:48 / 3 开课学期:1适用专业:计算机科学与技术/软件工程/网络工程课程类型:学科与专业基础必修课一、课程的目的和任务1.初步了解计算机的基本知识,为后续课程的学习打下一定的基础;2.初步了解计算机科学与技术学科知识体系,了解社会对计算机人才的需求情况,培养学生学习兴趣和专业自豪感;3.初步掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法;4.了解与计算机相关职业和行业的法律、法规;5.初步培养学生对终身学习的正确认识和学习能力;二、课程的基本要求1.了解计算机的入门基础知识,掌握计算机的运算基础知识;2.了解计算机系统的基本组成和工作原理;3.了解计算机程序设计和数据结构基础知识;4.了解计算机系统软件的基础知识;5.掌握常用办公软件的操作应用;6.了解数据库系统基本概念及其应用基础知识;7.了解多媒体技术及其应用基础知识;8.了解计算机网络及其应用基础知识9.了解软件工程的基本概念;10.了解计算机信息安全技术;11.了解计算机在各领域的应用发展趋势;12.了解计算机与信息技术相关的法律法规,了解相关的职业及其道德准则。
三、课程基本内容和学时安排第1章绪论(2学时)1.1计算机的基本概念;1.2信息化社会的挑战;1.3 计算机科学技术的研究范畴;1.4计算机工程教育认证通用标准与补充标准。
第2章计算机科学技术的基础知识(8学时)2.1计算机的运算基础;2.2逻辑代数基础;2.3计算机的基本结构与工作原理;2.4程序设计基础;2.5算法基础;2.6数据结构基础。
第3章计算机硬件结构(2学时)3.1计算机系统3.2系统单元3.3输入输出系统第4章计算机系统软件与工具软件(2学时)4.1程序设计语言翻译系统4.2操作系统4.3工具软件第5章计算机应用软件(2学时)5.1文字处理软件5.2电子表格软件5.3文稿演示软件第6章数据库系统及其应用(2学时)6.1数据库系统的基本概念6.2结构化查询语言6.3数据仓库6.8数据库系统的应用第7章多媒体技术及其应用(2学时)7.1多媒体7.2超文本与超媒体7.3多媒体技术第8章计算机网络及其应用(2学时)8.1数据通信与连通性8.2计算机网络体系结构8.3计算机网络的分类和使用方式8.4internet与tcp/ip协议8.5internet的服务功能8.6web和浏览器8.7局域网的基础构架第9章软件工程(2学时)9.1软件工程的概念9.2软件开发模型9.4软件过程和过程改进第10章计算机信息安全技术(2学时)10.1计算机信息安全面临的威胁10.2保密技术10.3防御技术第11章计算机的应用领域第12章职业道德与择业第11、12章共10课时,由企业工程师与本校任课教师共同完成。
软件开发 教学大纲

软件开发教学大纲软件开发教学大纲软件开发是当今信息技术领域中的重要分支之一,它涵盖了软件设计、编码、测试和维护等方面。
随着科技的不断进步和应用的广泛推广,软件开发的需求也日益增长。
因此,培养具备软件开发技能的人才已成为现代教育的重要任务之一。
本文将探讨软件开发教学的大纲设计,以期为教师和学生提供参考。
一、课程目标软件开发教学的首要目标是培养学生的软件设计和开发能力。
通过系统学习软件开发的基本理论和实践技巧,学生应能掌握软件需求分析、系统设计、编码实现、测试和维护等关键技能。
此外,课程还应注重培养学生的团队合作、问题解决和创新思维能力,使他们能够在实际项目中灵活应用所学知识。
二、课程内容1. 软件开发基础知识- 软件工程概述- 软件生命周期- 软件需求分析与规格说明- 软件设计原理与方法- 软件测试与调试技术2. 编程语言与工具- 常用编程语言(如Java、Python等)的语法和特性- 集成开发环境(IDE)的使用方法- 版本控制工具(如Git)的基本操作3. 软件开发实践- 单元测试与集成测试- 软件项目管理与团队协作- 敏捷开发方法(如Scrum)的原理和实践- 软件质量保证与性能优化4. 前沿技术与趋势- 人工智能与机器学习在软件开发中的应用- 云计算与大数据技术的基本概念- 移动应用开发与跨平台开发技术三、教学方法为了提高学生的实践能力和创新思维,软件开发教学应采用多种教学方法,如:1. 理论授课:通过讲解基本概念和原理,帮助学生建立起系统的知识框架。
2. 实践操作:通过编写小型程序、参与项目开发等实践活动,培养学生的编程和问题解决能力。
3. 项目实训:组织学生参与真实软件项目的开发过程,锻炼他们的团队合作和项目管理能力。
4. 案例分析:通过分析实际软件开发案例,引导学生理解软件开发过程中的挑战和解决方案。
5. 论文阅读:指导学生阅读和分析相关领域的学术论文,培养他们的科研能力和学术素养。
《软件工程》教学大纲

《软件工程》教学大纲课程性质:必修课总学时:48课程类型:专业课学分:3开课教研室:计算机软件适用专业:计算机科学与技术教学大纲说明一、本课程的地位、作用与任务《软件工程》是计算机科学与技术专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件生存周期模型、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
本课程的开设旨在使学生通过学习,掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程的实践打下良好的基础.二、课程的教学基本要求学习本课程要求先修《数据结构》、《面向对象程序设计》、《数据库原理及应用》、《操作系统》等课程。
基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护。
重点:系统分析、系统设计、系统实现、系统维护难点:需求分析、软件测试课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用。
教学内容一、本课程的理论教学内容1、概论课程的教学要求给出,三个层次:了解、理解和掌握。
教学内容⑴、软件软件的发展、软件的定义、软件的特点、软件的种类⑵、软件工程的概念软件危机与软件工程的定义、软件工程的目标软件工程的原则⑶、软件生存周期与软件开发模型瀑布模型、原型模型、螺旋模型、基于四代技术模型、面向对象与组件模型、混合模型教学要求掌握:软件和软件工程的基本概念了解:软件生命周期及软件开发的各个模型2、可行性分析教学内容⑴、可行性研究的任务⑵、可行性研究的步骤⑶、系统流程图⑷、成本/效益分析教学要求了解:可行性分析的步骤3、需求分析教学内容⑴、需求分析的任务与步骤需求分析的任务、需求分析的步骤、需求分析的原则⑵、需求分析方法面向数据流的分析方法基本符号、基于数据流的分析方法、数据字典面向数据结构的分析方法Jackson系统开发方法、Warnier-Orr方法⑶、需求规格说明与评审教学要求:掌握:需求分析的方法理解:需求分析的任务和原则4、概要设计教学内容⑴、概要设计的任务与步骤概要设计的任务、概要设计的步骤⑵、软件设计的概念与原则模块化、抽象、信息隐藏和局部化、模块独立性、结构设计的评价原则⑶、概要设计的方法面向数据流的设计方法基本概念、变换分析、事务分析、设计优化原则面向数据结构的设计方法Jackson方法、Warnier-Orr方法⑷、概要设计文档与评审教学要求掌握:软件设计的概念与原则,概要设计的步骤、方法了解:概要设计文档与评审5、详细设计教学内容⑴、详细设计的任务与原则详细设计的任务、详细设计的原则⑵、详细设计的方法程序流程图PFC、N—S图、PAD图、HIPO图过程设计语言PDL、详细设计方法的选择⑶、详细设计规格说明与评审教学要求掌握:详细设计方法了解:详细设计规格说明与评审6、面向对象的分析与设计方法教学内容⑴、面向对象方法的基本概念和特征⑵、面向对象分析确定对象、确定属性、定义操作、对象间通信⑶、面向对象设计面向对象设计概念、面向对象设计方法、程序构件及接口、细节设计⑷、UML方法UML的发展与特点、UML的表示法、UML的开发步骤⑸、面向对象实例分析与设计建立用例、确定表、设计对象的交互作用、指定联系、寻找继承、分析对象行为、设计系统的体系结构教学要求⑴掌握:面向对象的基本概念和特征⑵了解:面向对象分析与设计方法及UML的开发方法7、编码教学内容⑴、程序设计语言程序设计语言分类、程序设计语言特点、程序设计语言选择⑵、编程风格⑶、编程效率⑷、编程安全⑸、面向对象编程技术教学要求⑴掌握:一般的编码原则⑵了解:面向对象编程的特点8、软件质量与质量保证教学内容⑴、软件质量的定义⑵、影响软件质量的因素⑶、软件质量保证策略⑷、软件质量保证活动⑸、软件质量保证标准⑹、软件评审⑺、结构化的软件测试软件测试的概念和原则测试的概念、测试的原则、测试的方法软件测试技术白盒测试、黑盒测试软件测试的步骤软件测试过程、软件测试步骤、单元测试、综合测试、确认测试、系统测试纠错技术⑻、面向对象的软件测试面向对象分析和面向对象设计的模型测试面向对象分析和面向对象设计模型的正确性、面向对象分析和面向对象设计模型的一致性面向对象的测试策略面向对象的单元测试、面向对象的组装测试、面向对象的确认测试面向对象软件测试用例设计测试用例设计蕴涵面向对象的概念、传统测试用例设计方法的适用性、基于故障的测试、面向对象编程对测试的影响、测试用例与类的分层、基于脚本的测试设计、测试外部结构和内部结构可用于类层次上的测试方法面向对象类的随即测试、类层次的分割测试类间测试用例设计多重类测试、按行为模型导出的测试⑼、软件测试计划与测试分析报告⑽、软件维护软件维护的定义、分类、特点、软件维护步骤及组织、软件的可维护性、软件维护的副作用、逆向工程和再生工程教学要求⑴掌握:软件质量保证的概念、策略和方法,软件评审或测试的方法和步骤.⑵了解:软件维护过程9、项目计划与管理教学内容⑴、软件项目特点、管理的特殊性及软件管理功能⑵、确定项目的工作要求⑶、确定软硬件资源⑷、人员的计划及组织⑸、成本估算及控制⑹、进度计划⑺、软件配置管理⑻、软件管理方案教学要求了解:项目计划与管理的基本内容教材:张海藩编《软件工程导论》北京清华大学出版社。
软件技术基础教学大纲-软件技术基础-瞿亮-清华大学出版社

《软件技术基础》教学大纲一、课程信息二、课程内容(一)课程教学目标通过本课程的学习,使学生了解计算机软件中的相关重要概念、软件技术的基础知识和方法,从而培养学生利用计算机解决问题的意识和能力,为计算机在专业应用中奠定基础。
为非计算机专业学生开设的一门关于计算机软件基础知识的综合性课程,以应用为目的,选择性地介绍数据结构、操作系统、软件工程、数据库技术和网络基础等部分内容,通过这些内容的学习,学生能对计算机软件系统有一个整体的认识和了解。
(二)基本教学内容1、计算机软件技术概述及C语言回顾;2、几种典型数据结构的逻辑结构和存储结构;3、算法的概念,二叉树及图的遍历方法,常用的查找和排序算法。
4、软件工程中的基本概念及生命周期法;5、操作系统中的基本概念及管理方法;6、数据库的基本知识,SQL语言。
7、计算机网络的主要结构和常识。
8.网络新技术(1)计算机软件技术概述及C语言回顾;教学目的与要求:了解软件技术的发展历程,常用软件的分类。
复习开发工具C语言中的相关知识。
教学重点:教材章节内容及开发工具C语言中的相关知识。
教学难点:C语言中指针的应用。
教学内容:软件的概念,历史及分类。
本教程各章节的主要内容及学习方法。
开发工具C语言中较难理解的指针,结构体等编程知识。
(2)数据结构教学目的与要求:理解数据结构的基本概念;理解线性表、栈、队列数据结构的基本概念,理解各线性数据结构的特点和存储结构,掌握基于不同的存储结构的相关操作的实现方法;理解树和图的基本概念,基本特点和存储结构,掌握二叉树的遍历算法的实现以及树和二叉树之间转换的方法;理解查找和排序的基本概念,掌握查找和排序的各三种基本方法和实现。
教学重点:线性表、堆栈、队列、树和图的逻辑结构表示;线性表、堆栈、队列、树和图的存储算法;线性表、堆栈、队列、树和图的插入和删除操作的算法。
教学难点:单链表的建立及操作算法;循环队列的工作原理、查找以及排序算法。
软件工程》实践教学大纲(3篇)

第1篇一、课程简介《软件工程》是一门研究软件开发原理、方法和工具的学科,旨在培养学生具备软件开发的基本理论、实践技能和工程素养。
本课程通过实践教学,使学生能够掌握软件工程的基本方法,提高软件开发能力,为后续课程学习和实际工作打下坚实基础。
二、教学目标1. 理解软件工程的基本概念、原理和方法。
2. 掌握软件开发过程中的需求分析、设计、编码、测试和维护等基本技能。
3. 具备使用常用软件开发工具进行实际项目开发的能力。
4. 培养良好的团队协作和沟通能力,提高工程素养。
三、教学内容1. 软件工程概述- 软件工程的定义和发展历程- 软件生命周期和开发模型- 软件工程的目标和原则2. 需求分析- 需求获取和分析方法- 需求规格说明和文档编写- 需求管理3. 软件设计- 设计原则和模式- 数据库设计- 系统架构设计4. 软件开发- 编码规范和最佳实践- 集成开发环境(IDE)的使用- 版本控制工具的使用5. 软件测试- 测试方法和技术- 测试用例设计- 软件测试管理6. 软件维护- 维护过程和方法- 软件配置管理- 软件质量保证7. 软件项目管理- 项目管理的基本概念和原理- 项目计划、执行和监控- 团队协作和沟通四、实践教学安排1. 实践教学课时:共40学时,其中理论课24学时,实践课16学时。
2. 实践教学环节:(1)课堂演示:讲解软件工程的基本概念、原理和方法,演示常用软件开发工具的使用。
(2)案例分析与讨论:分析实际软件项目案例,讨论软件工程在实际开发中的应用。
(3)上机实验:完成以下实验项目:1. 需求分析实验:完成一个简单软件的需求分析,编写需求规格说明书。
2. 设计实验:完成一个简单软件的设计,包括数据库设计、系统架构设计等。
3. 编码实验:使用一种编程语言实现一个简单软件的功能。
4. 测试实验:编写测试用例,对软件进行功能测试和性能测试。
5. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。
《软件工程》教学大纲

《软件工程》教学大纲一、教学目的及任务本课程是计算机科学与技术专业的主要专业基础课,本课程为理论与实践并重的信息学科的专业基础课。
本课程的主要目的是使学生理解在软件开发过程中应用软件工程方法的必要性和迫切性,要求学生掌握软件工程的基本概念、原理与技术方法。
在让学生了解有关知识与方法的同时,采用实践相配合的方式提高学生对专业知识的综合应用能力与技能,使学生在接收理论知识的基础上提高并加强工程化知识与实践知识的教育,为学生在今后从事计算机大规模软件开发与维护打下扎实的基础。
教学任务是使学生熟练掌握和在实践中运用软件工程基本概念、原理和方法,常用的软件过程模型,软件项目管理与质量保证的基本方法与工具。
使学生能针对具体应用,进行需求分析建模、软件设计及测试,以规范的方法开发软件系统。
使学生具备分析解决软件工程问题的能力,以及团队协作、谈判沟通等能力。
二、教学方法(一)授课方式与要求授课方式:a.教师讲授(讲授核心内容、总结、按顺序提示今后内容、答疑);b.课后作业(每周作业在教学日历中列出);c.课堂测验(就已经学过的内容不定时进行课堂测验);d.案例研讨(就某个典型的应用案例进行课前调研和课堂研讨)e.课堂报告(针对某个知识点,提前布置,让学生在课堂上分享自己的理解)f.实验项目(根据实验要求分组进行软件系统开发,其间编写实验报告,如需求分析报告、总体设计报告、测试报告等,提交可运行的软件系统);g.期末考试(闭卷考试)。
课程要求:熟悉软件工程基本知识,掌握从软件计划、需求分析、设计、测试等过程的一系列软件开发方法和工具,提高软件开发能力。
说明:本课程注重实践能力的培养。
课后需要有足够的时间进行课程案例调研以及实验项目的设计和实现。
(二)考试评分与建议a.期末考试占40%b.实验项目占40%c.课堂讨论(含课堂测验和课堂报告)占20%。
三、教学安排(一)教学内容第一次:软件工程概述(模块-1-软件工程概述)主要内容:软件已经成为以计算机为基础的系统和产品中的关键部分,并且成为世界舞台上最为重要的技术之一,软件工程的目的是高效率的开发高质量的软件产品。
软件工程教学大纲

软件工程教学大纲《软件工程》课程教学大纲一、课程的基本情况课程中文名称:软件工程课程英文名称:softwareengineering课程代码:1302031课程类别:专业基础课课程学分:2.5课程学时:44讲课对象:计算机科学与技术专业、软件工程专业前导课程:高级语言程序设计、数据结构、数据库原理二、教学目的《软件工程》是计算机专业的一门必修的专业课程,通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。
《软件工程》是一门综合性和实践性很强的专业课程。
应注重方法、技术的实际应用,能应用相应的图形工具开发小型软件项目,为更深入地学习和今后从事软件工程实践打下良好的基础。
三、教学基本建议ch1introduction基本要求:§1.1softwarecrisis§1.2softwareengineering§1.3lifespan§1.4softwareprocess重点与难点:lifespanch2feasibilitystudy基本要求:§2.1task§2.2process§2.3systemflowdiagram§2.4dataflowdiagram§2.5datadictionary§2.6cost/benefit重点与难点:dataflowdiagram,datadictionarych3requirementsanalysis基本建议:§3.1task§3.2process§3.3conceptionmodel&e-rdiagrams§3.4otherdiagramtools重点与难点:conceptionmodel&e-rdiagramsch4formalspecificationmethods基本建议:§4.1statemachine§4.2petrinetwork§4.3zspecificationlanguage重点与难点:statemachinech5systemdesign基本建议:§5.1designprocess§5.2designconcepts§5.3designprinciples§5.4diagramtoolsofsoftwarearchitecture§5.5datafloworienteddesignmethods:transform&transactionmapping重点与难点:datafloworienteddesignmethods:transform&transactionmappingch6programdesign基本要求:§6.1structuredprogramdesign§6.2interfacedesign§6.3proceduredesigntools§6.4datastructureorienteddesignmethods重点与难点:datastructureorienteddesignmethodsch7implementation基本要求:§7.1coding§7.2softwaretestingfundamentals§7.3unittesting§7.4integrationtesting§7.5va lidationtesting§7.6white-boxtesting§77black-boxtesting重点与难点:ch8maintenance基本建议:softwaretestingfundamentals§8.1definitions§8.2softwareevolution§8.3maintainabil ity-softwaremeasurement重点与难点:softwareevolutionch9object-orientedmethodology基本要求:§9.1introduction§9.2concepts§9.3objectmodelingtechniques-3models(object,dynamic,function)重点与难点:3models(object,dynamic,function)ch10object-orientedanalysis基本要求:§10.1modelingprocess§10.2requirementspresentation§10.3createobjectmodel§10.4createdynamicmodel§10.5createfunctionmodel重点与难点:modelingprocess,requirementspresentationch12object-orientedimplement基本要求:§12.1programminglanguages§12.2programmingstyles§12.3ootestingstrategies§12.4testcasedesignforoosoftware重点与难点:ootestingstrategiesch13softwareprojectmanagement基本建议:§13.1softwaresizing§13.2costestimation§13.3softwareplan§13.4personnel§13.5qualityassurance§13.6.projectplan重点与难点:softwareplan,projectplan四、课程内容与学时分配课程内容与学时分配表中内容ch1introductionch2feasibilitystudych3requirementsanalysisch4formalspecificatio nmethodsch5systemdesignch6programdesignch7implementationch8maintenancech9object-orientedmethodologych10object-orientedanalysisch12object-orientedimplementch13softwareprojectmanagement总学时4444426462242444学时五、教材与参考书教材:张海藩主编,《软件工程导论(第四版)》,清华大学出版社,2021参考书:[1]rogers.pressman,《softwareengineeringapractitioner’sapproach》5edition,chinamachinepress,2000[2]rogers.pressman著,梅宏译,《软件工程-实践者的研究方法》原书第5版,机械工业出版社,2002th六、教学方式和考核方式1、教学方式课程的讲授应当将理论教学与实验教学紧密结合,并使之相互辅助,提升教学效率。
三维软件技术基础课程教学大纲

三维软件技术基础课程教学大纲课程类别:专业基础课修读方式:必修课学时:30学分:2学分适用专业:机械设计制造及其自动化考核方式:考查课先修课程:工程图学一、课程简介三维实体设计是现代产品设计的主要手段,三维CAD系统已经成为机械行业的一种通用设计工具。
本课程是机械设计制造及其自动化专业的一门专业技术基础课,它以Pro/Engineer软件为载体,学习和掌握三维实体设计的基本知识和方法,培养学生三维实体建模的能力,为以后的学习和工作打下一定的设计基础。
二、课程教学目标通过本课程的学习,使学生在知识、能力和素质等方面达到以下目标:1.了解三维CAD设计的发展及应用现状;2、掌握应用Pro/E进行草图绘制、实体建模和编辑的方法;3、具备中等复杂难度机械零件的设计能力;4、培养工程意识。
三、教学内容及要求(一)草图绘制与编辑1.目的和要求使学生掌握基本草绘命令的使用,完成几何图形的创建,掌握尺寸标注和约束命令的使用方法,要求学生能够精确绘制各种平面草图,并能对其进行编辑修改。
2.教学内容(1)文件的创建、打开与保存(2)直线、矩形、圆及圆弧、圆角等草绘命令的使用(3)尺寸的标注及修改(4)约束命令的使用(5)草绘图形的编辑(二)基础建模命令1.目的和要求使学生掌握常用基本建模命令的使用方法和操作步骤,要求学生能够准确完成一般难度实体模型的创建,并能对其进行编辑修改。
2.教学内容(1)常用基准平面的创建(2)拉伸、旋转、扫描、混合建模命令的使用(3)可变剖面扫描、螺旋扫描、扫描混合等建模命令的使用(三)工程特征命令1.目的和要求使学生掌握常用工程特征命令的使用方法和操作步骤,要求学生能够准确完成一般难度工程特征的创建,并能对其进行编辑修改。
2.教学内容各种孔、壳、筋、拔模、圆角、倒角特征的创建(四)特征编辑命令1.目的和要求使学生掌握常用特征编辑命令的使用方法和操作步骤,要求学生能够准确完成一般难度实体模型进行编辑。
《软件工程》课程教学大纲

《软件工程》课程教学大纲一、课程基本信息课程名称:软件工程英文名称:Software Engineering课程编码:11223C课程类别:专业主干课总学时:48学时(含实验10学时)总学分:3适用专业:计算机科学与技术/网络工程方向先修课程:高级语言程序设计,数据库设计原理,数据结构开课系部:计算机科学与技术系二、课程的性质和任务《软件工程》是计算机科学与技术专业本科生的一门专业主干课程。
它是一门指导计算机软件系统开发和维护的工程学科,也是计算机科学与技术领域的一个重要学科。
软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学,通过本课程的学习,使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向;开发软件项目的工程化的方法及在开发过程中应遵循的流程、准则、标准和规范等。
使学生掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为今后从事软件开发和应用打下良好的基础。
通过本课程的学习,培养学生对软件开发能力和项目管理能力。
三、课程教学基本要求(一)理论教学内容和基本要求第1章软件工程概述了解软件工程的产生和发展、软件危机的原因,知道如何消除软件危机。
明白软件工程的基本概念,知道软件工程中包含的领域范围重点:软件危机的产生和消除方法第2章软件过程软件与软件生命周期任务,软件开发过程中的基本开发模型,软件开发工具与软件开发环境。
掌握软件生存期模型,软件开发模型方法介绍。
重点:软件与软件生存期,软件开发过程模型难点:软件开发过程模型第3章结构化分析掌握软件需求获取的方法、软件需求工程的任务、软件需求的原则、主要的需求分析方法;需求工程的基本活动、需求的有效性验证、需求变动管理、需求规格说明;建立结构化分析的三种模型;三种模型对应的描述方法:E-R图,数据流图,状态图。
掌握分层数据流图、数据词典和加工逻辑说明的基本构造方法。
重点:软件需求获取方法、结构化分析方法、分析建模方法难点:结构化分析建模方法第4章结构化设计理解软件结构化分析与结构化设计的映射关系,软件设计的基本原理。
《软件工程》 杜文峰 教学大纲(思政)

《软件工程》杜文峰教学大纲(思政)软件工程是一门重要的学科,是计算机科学和工程学的交叉领域,需要学习者掌握软件开发的基本原理及应用技术。
杜文峰教授担任软件工程的思政课程的授课教师,他制定的教学大纲包括课程的目标、教学内容、教学方法以及考核方式等内容,旨在为学生提供全面而深入的软件工程知识,培养学生的软件开发能力和综合素质。
一、课程目标本课程的目标是使学生了解软件工程学科的基本概念、方法和原则,理解软件开发的技术和管理的基本要求,掌握软件开发过程中的常用方法和工具,培养学生的团队协作能力和问题解决能力,从而提高学生的综合素质和职业能力。
二、教学内容1.软件工程的概念和基本原理:介绍软件工程的基本概念、软件开发生命周期、软件需求分析和软件设计等基本原理。
2.软件开发过程:介绍软件开发过程中的需求分析、系统设计、编码实现、测试和维护等各个阶段,以及常用的软件开发方法和过程模型。
3.软件工程的管理:介绍软件项目管理的基本原理和实践技术,包括项目计划、进度控制、资源分配等内容。
4.软件质量保证和测试:介绍软件质量的概念和评估方法,以及软件测试的方法和技术。
5.软件开发工具和环境:介绍软件开发过程中常用的开发工具和集成开发环境,包括代码编辑器、调试器、版本控制工具等。
6.软件项目实践:通过小组项目实践,培养学生的团队合作和项目实施能力,并为他们提供实际的软件开发经验。
三、教学方法本课程采用多种教学方法,包括课堂讲授、案例分析、小组讨论和项目实践等。
教师将根据具体的教学内容和学生的需求,合理选择教学方法,以激发学生的学习兴趣,提高他们的主动学习能力。
四、考核方式本课程的考核方式包括平时成绩和期末考试。
平时成绩的主要依据是学生的课堂表现、小组讨论和项目实践成果。
期末考试主要考察学生对软件工程知识的理解和掌握程度。
以上是杜文峰教授制定的《软件工程》思政课程的教学大纲。
通过本课程的学习,学生将全面了解软件工程的基本概念和方法,掌握软件开发的技术和管理要求,提高团队协作和问题解决能力,为今后的职业发展打下良好的基础。
《软件开发技术基础》(56 学时) 实验教学大纲(修订稿).

《软件开发技术基础》(56学时)实验教学大纲(修订稿)(中文)软件开发技术基础课程名称(英文)Fundamentals of software developing technology 课程编号 COMP2024 开课类型必修 课程总学时 56 开课院系电信学院实验总学时 16 开设专业电气课程总学分 3.5课程类别技术基础 课程负责人赵英良第一部分 总体说明一、课程的目的、任务通过本课程的目的是通过学习和训练,加深对大学计算机基础课程的理解和认识,加强程序设计能力的训练,培养学生运用软件开发方法和技术分析问题和解决问题的能力。
本课程主要讲授在操作系统、数据库、多媒体、网络等应用环境中软件的基本开发方法及技术,以及在软件开发过程中要解决的数据结构与常用算法的实现。
通过该课程的学习,使学生掌握在上述环境中开发软件所必需的基础知识、基本开发方法和常用开发技术,为今后结合实际应用开发软件打下必要的基础。
二、课程的教学要求1.了解和掌握现代软件工程的基本理论、软件开发方法和技术2.了解和掌握经典数据结构的基本内容及常用算法3.了解和掌握操作系统的主要管理功能及其操作系统相关程序设计方法4.了解和掌握与数据库应用有关的基本理论、开发方法和技术5.了解和掌握在网络环境下软件开发的基本方法和技术6.了解和掌握在多媒体应用中涉及到的基本理论、程序设计方法和技术三、教学方法、教学形式、教学手段的特色1. 理论与实践相结合:理论讲授约占70%,课内实践占30%;2. 多媒体与板书相结合:一般内容使用多媒体课件教学,增加课堂容量;个别问题使用板书教学,使学生能跟上课堂进度。
3. 课内与课外相结合:课内必做实验16学时,另在课外以小组为单位完成一个小的软件项目;4. 面授与网络相结合:除面授、当面答疑、课内实验辅导外,课程网站提供丰富的教学资源,可以自学,还可以网上答疑,网上提交作业;四、教学内容序号 实验项目名称 学时实验类型每组人数 实验要求1 实验1 利用顺序表实现学生信息管理2 综合 1 必做2 实验2 利用单链表实现学生信息管理 2 综合 1 必做3 实验3 二叉树的生成和遍历 2 基本 1 必做4 实验4 Windows常用系统命令的编程 2 基本 1 必做5 实验5 数据库的建立和操作 2 基本 1 必做6 实验6 数据库基础编程 4 综合 1 必做7 实验7 消息回声 2 基本 1 必做课外实验:以3-5人的小组为单位,完成一个小的软件项目,要求有软件开发文档,时间为12周,具体题目可参考网上提供的“开放创新实验推荐项目”,也可自己选择,但须经任课教师审核。
《软件工程》教学大纲

《软件工程》教学大纲一、课程概述本课程向学生介绍与大型软件相关的规划. 分析. 设计. 实现. 测试. 维护等概念. 原理. 技术与工具,同时向学生讲述传统的结构化开发方法与当前流行的面向对象开发方法。
要求学生牢固掌握软件生命周期. 软件质量. 软件成本等基本概念以及传统的结构化分析. 设计与实现方法;掌握面向对象软件工程的基本概念与表示技术,基本掌握软件开发中的管理技术。
通过本课程的学习,让学生对软件工程学有一个全貌的了解,对其所涉及的基本概念. 原理. 方法和有关技术逐步领会并进行运用。
要求学生能够在已有的程序设计. 数据结构. 数据库等理论基础上,为今后进行实际的软件开发奠定一个良好的基础。
本课程应强调实际运用,最好在教学中安排学生参予系统开发的策划. 分析. 设计. 编码. 测试等阶段工作的环节,积极引导学生从个人的单纯编程活动转移到进行系统分析与设计方面上来。
如果受条件所限,可让学生在毕业设计中将这一环节补上。
本课程的先修课程为“面向对象程序设计”. “数据结构与算法”与“数据库”。
本课程的后续课程可以为“程序设计方法学”与“算法分析与设计”。
二、课程目标1.知道《软件工程》这门学科的性质. 地位. 独立价值. 研究范围. 基本框架. 研究方法. 学科进展和未来方向等。
2.理解该门学科的主要概念. 基本原理和策略等。
3.学会运用一些具体的策略或技术等,如软件测试过程中所用到的黑盒测试法和白盒测试法。
4.能够把所学的原理应用到具体的实践中去,如对于具体系统开发过程中所遇到的问题能够自行进行处理,培养学生发现. 分析和解决问题的能力等。
三、课程内容和教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:知道———是指对这门学科和教学现象的认知。
理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件技术基础》教学大纲课程编号:23000840 适用专业:电子信息类(非计算机专业)学时数:40 学分数: 2.5 开课学期:第4学期先修课程:《C语言》考核方式:笔试(闭卷)执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长):一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标:本课程是针对工科电子信息类本科生开设的一门学科拓展课程。
着重培养学生在软件设计领域的基本素质,基本方法和设计理念。
授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。
二、教学内容和要求1、课堂理论教学要求和学时安排(32学时)1)C程序设计(4学时)(1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。
(2)结构体的基本概念和使用方法(2学时)。
2)数据结构(20学时)(1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。
(2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。
a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2学时);b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时);c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法(2学时);d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。
掌握链队列的创建及出队、入队(2学时);e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。
(3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。
a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时);b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时);c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。
(4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。
3)操作系统(8学时)(1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历程和现代操作系统的基本特征。
(2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段,进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。
(3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等基本概念,理解作业调度的相关方法。
通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。
2、实验安排(8学时)共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。
三、考核方式课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。
实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。
四、教材和参考资料1、教材《软件技术基础》,黄迪明,电子科技大学出版社,1998年2、参考资料1)高质量C编程指南,林锐,附电子版2)数据结构(C语言),严蔚敏,清华大学出版社3)操作系统基础教程(第6版)William S.Dav 清华大学出版社4)深入理解计算机系统 Randal E.Bryant,David O’Hallaron 著,龚奕利,雷迎春译,中国电力出版社《软件技术基础实验》教学大纲一、实验项目基本信息实验项目名称:软件技术基础实验适用专业:电子信息类(非计算机专业)学时数:8先修课程:《C语言》考核方式:实验过程、实验报告、实验二、实验项目的性质和任务1、实验项目的性质本实验是本科生学科拓展课程《软件技术基础》的实验部分,属软件设计的范畴。
2、实验项目的目的和任务通过上机实验,要求学生对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。
培养学生在软件设计方面的知识基础,同时也提供必要的技能训练。
3、实验内容和要求《软件技术基础实验》是与理论课程《软件技术基础》配套开出的,主要包含两个数据结构部分的基本上机实验和三个课外实验,着重培养同学进行软件设计的基本能力。
(1)上机实验内容:实验一:顺序表和单链表基本操作上机实验 4学时实验目的:理解线性结构的基本概念,掌握两种基本的存储结构:顺序存储结构(顺序表)和链式存储结构(单链表);用C语言实现在两种存储结构上的对应操作(包括创建、删除插入元素、遍历等),巩固强化C程序设计的基本方法和能力。
实验内容:1、顺序表的创建、元素删除、遍历等操作:有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作:A.初始化一个空的顺序表;B.从键盘依次输入上述数据添加到顺序表中;C.删除表中的第四个数据元素;D.显示B、C操作后顺序表中的内容。
2、现有有序的一组整数{1,2,2,3,4,6,6},设计单链表,分别编写函数实现以下操作:A.初始化一个空链表。
B.依次添加上述一组数据(结点),生成该链表。
C.统计该链表的长度。
D.在表中查找数据为3和7的结点,并返回其位置(若找不到返回 -1)。
E.删除中间重复结点,使链表变为 1-2-3-4-6。
F.显示经B,E操作后,链表的内容。
实验二:基本查找排序操作上机实验 4学时实验目的:掌握两种基本的查找算法(顺序查找、二分查找)和三种基本排序算法(简单插入排序、简单冒泡排序、简单选择排序)的原理及C语言实现。
实验内容:现有一顺序表,表中元素分别为{51,38,79,22,91,105,33,52,16,112},分别编写函数实现以下操作:A、采用简单插入排序法实现对顺序表的排序,显示每一趟的排序结果;B、采用简单冒泡排序法实现对顺序表的排序,显示每一趟的排序结果;C、采用简单选择排序法实现对顺序表的排序,显示每一趟的排序结果;D、对上述排序后的顺序表采用顺序查找方法,查找关键字为52和关键字为36的元素,分别显示查找结果;E、对上述排序后的顺序表采用二分查找方法,查找关键字为22的元素,显示查找结果。
(2)课外实验内容:本环节设置了三个相对较复杂的课外实验,旨在进一步巩固学生对数据结构相关知识点的理解和掌握,提高软件开发能力。
实验三:较复杂的顺序表操作实验目的:进一步掌握复杂顺序表的相关操作及编程实现。
实验内容:图书资料管理问题,设一本书有编号、书名、作者、价格等信息,如下表所示:设计顺序表并实现以下操作:A、初始化线性表;B、向表中添加一条新记录;C、删除表中的第三条记录;实验提示:本实验中图书信息的数据类型可定义如下:typedef struct{long int number; // 书号char name[50]; // 书名char author[20]; // 作者int price; // 价格} bookinfo;因此顺序表的定义也应作相应的变化:typedef struct{bookinfo data[MAXNUM];int num;} listtype;请同学们思考,插入和删除的函数要做怎样的修改?实验四:栈和队列的操作实现实验目的:理解栈和队列的基本概念,栈和队列操作的基本方法以及其编程实现。
通过本实验的两个项目的编程、调试和运行结果的比较,分析栈和队列的差别。
实验内容:1、设计一个容量为4的循环队列,编程实现如下操作,并显示各步骤操作后队列的内容:A、队列初始化为空;B、将1、2、3三个数据依次做入队操作;C、做两次出队操作(1、2出队);D、将4、5、6三个数据依次做入队操作;E、将数据7做入队操作;2、设计一个容量为4的顺序栈,编程实现如下操作,并显示各步骤操作后栈的内容:A、栈初始化为空;B、将1、2、3三个数据依次做入栈操作;C、做两次出栈操作;D、将4、5、6三个数据依次做入栈操作;E、将数据7做入栈操作;实验五:查找和排序操作实验实验目的:理解在线性表中的各种基本的查找和查找方法的原理,实现方法,适用条件,掌握各种基本查找和排序方法编程实现。
实验内容:设计一个描述学生成绩信息的线性表,用于存放学生的相关信息,学生成绩表的基本信息如下:要求编程实现以下功能:A、用顺序表存储以上学生成绩表;B、添加一个同学的相关信息;C、用顺序查找方法查找有某科成绩高于90分或某科成绩不及格的同学信息,并显示相应查找结果;D、以英语成绩为排序码,利用简单选择排序方法对学生成绩表进行排序,并显示排序结果;E、以高数成绩为排序码,利用简单插入排序方法对学生成绩表进行排序,并显示排序结果;F、以C语言成绩为排序码,利用冒泡排序方法对学生成绩表进行排序,并显示排序结果;G、再利用二分查找的方法在已经排序后的成绩表中查找C语言成绩为x的学生信息(x为键盘输入分数值)。
4、实验项目涉及核心知识点:对最典型的线性数据结构(线性表)采用不同的存储结构时的基本算法的C语言实现;栈和队列的基本操作C语言实现,查找和排序的操作C语言实现;5、重点和难点重点在理解数据结构的本质,学会用数据结构中的分析方法来刻画和解决实际问题,并利用C语言为工具来编程验证这些数据结构中的基本算法;6、实验步骤A、问题分析和任务的定义明确问题要求做什么,限制做什么(本步强调做什么,而不是怎么做)。
对问题的描述应避开算法和所涉及的数据类型,而是所完成的任务做出明确的回答。
如输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式的输入数据。
B、数据类型和系统设计在设计这一步骤中分为逻辑设计和详细设计两步实现。
逻辑设计指的是,为问题的描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统的功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据的封装,基本操作的规格说明尽可能的明确和具体。
作为逻辑设计的结果。
应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的规格说明),各个主要模块的算法,并画出模块之间的调用关系图。
详细设计的结果是对数据结构和基本操作的规格说明做出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类C语言写出函数形式的算法框架。