软件系统设计与体系结构
《软件系统设计与体系结构》是软件工程专业的重要核心课程之一,本课程系统介绍软件体系结构的原理、方法和实践。
该课程主要包括以下八个方面的内容:
第一篇 介绍软件体系结构的概念、发展和应用现状;
第二篇 讨论软件体系结构建模,包括“4+1”模型、核心模型、生命周期模型以及抽象模型;
第三篇 介绍软件体系结构的风格,包括经典软件体系结构风格(管道与过滤器、数据抽象、面向对象、分层系统、仓库系统以及C2风格)、客户/服务器风格(C/S风格)、三层C/S结构风格、浏览器/服务器风格(B/S);
第四篇 讨论软件体系结构的描述方法,重点介绍软件体系结构描述语言;
第五篇 介绍可扩展标记语言(XML)相关知识,重点讨论基于XML的软件体系结构描述语言;
第六篇 讨论基于服务的体系结构的关键技术和实现方法,介绍Web Service的相关内容;
第七篇 介绍富互联网应用体系结构,重点讨论AJAX和Mashup技术;
第八篇 讨论基于体系结构的软件开发,重点介绍MVC开发模式和中间件技术。
通过该门课程的学习,使学生在软件工程思想的基础之上,更进一步掌握软件分析和软件开发的方法和思想,并能在实际中应用。课程目标是培养学生成为一名合格的软件分析师或软件架构师,并为其在该领域进一步深造打下坚实的基础。
多媒体技术
•《多媒体技术》课程是“软件工程”等工科类本科专业的专业课程。
多媒体技术
《多媒体技术与应用》是计算机应用技术、计算机多媒体技术、软件技术等专业的一门专业基础课,是计算机教学的重点,本课程的主要任务是讲授多媒体技术的基本概念、多媒体数据处理技术、多媒体应用设计;使学生学会使用多媒体素材的采集与制作的相关软件及制作方法,培养学生的自主学习能力,媒体工具应用能力,以及用媒体创新性的表达展示自己的观点、思想,解决问题的能力,同时为今后专业中,例如软件外观界面设计、项目视频设计、汇报展示视频制作、个人成果媒体展示,以及未来生活和工作中媒体类作品的设计、开发与制作打下良好的基础。教学重点基于课程培养学生自主创新思维、创新能力、合作能力、沟能交流能力、思政素养。
C语言程序设计
《C语言程序设计》课程是“软件工程”等工科类本科专业的学科基础课程。
一、教学目标
《C语言程序设计》课程主要是培养学生的程序设计能力和运用计算机进行逻辑思维的能力。通过本课程的学习,让学生掌握C语言的编程思想、培养学生对程序设计的兴趣、学会利用计算机来进行问题的求解,同时对算法及其在计算机内的实现有一个基本的了解。为以后学习《数据结构》等课程打下坚实的基础。进一步的教学目标还包括有:掌握结构化程序设计方法、独立思考能力与团队合作能力等,为后续课程的学习打下坚实的基础。
二、课程的性质与地位
1.课程的性质
《C语言程序设计》是“软件工程”专业的学科大类课程,是专业基础课程。
《C语言程序设计》在我们“软件工程”专业的人才培养方案中,是“C → C++ → JAVA →Android → VC++与多核并行编程/J2EE”的程序设计课程教学主线的基础,在一定程度上,它支撑了对C/C++和JAVA两大类程序设计课程的学习。
2.课程的地位
这里主要讲的是前后续课程之间的关系,《C语言程序设计》是其它编程语言类课程和计算机软、硬件类课程的前导课程。
它本身的前导课程是:中学数学、高等数学(小部分)、计算机应用基础。《C语言程序设计》的后续课程(即:直接相关的课程):面向对象程序设计(C++描述)、数据结构与算法(C++描述)、JAVA语言程序设计、计算机网络、嵌入式系统及应用、机器人技术、VC++与多核并行编程、Linux系统等。在软件工程专业的人才培养方案中,《C语言程序设计》与其它专业课程内容联系紧密。如果按照层次结构来分的话,《C语言程序设计》处于最低层,是它们的基础,是其它很多后续课程的先导课。《C语言程序设计》的内容是全国计算机软件考试中要求的主要程序设计语言。
三、教学理念践实“理-实一体化”,通过程序设计,培养学生软件工程专业的基本理论素养;通过小型项目的设计与编程开发,增强对编程和问题求解的基本体验;让学生积累软件开发的基本经验,为学生在未来的可持续发展奠定坚实的基础。
本门课程4学分,基本教学周课时数是:3节(理论)-2节(实验),课程开设时长是一个学期。
Java SE 程序设计 (2023软件工程)
《JAVASE程序设计》是软件工程专业一门重要的核心课程。本课程讲授JAVA语言的语法基础(变量,程序流程结构,数组,字符串),JAVA面向对象的特性(类,继承,接口,多态),JAVA异常处理,集合类,Swing,事件,IO,枚举,泛型,多线程,网络通信,数据库操作等JAVA SE的相关的知识。最后以JAVA SE的知识为基础,以一个满足现实需要的实际项目为依托,讲授JAVA图形化界面应用程序设计与实现的过程和方法。
教学组织形式:课堂教学(48学时)+在线学习(24学时)
课堂教学目标与任务:快速掌握java语言程序设计相关知识点;软件设计思维方法;组织项目小组开展讨论;开展关键问题专题学习或讨论。
在线学习目标与任务:掌握软件项目设计开发的过程、工具、方法。根据老师提供的学习资源,开展自主学习活动。在教学视频的引导下,完成项目的某个模块,通过学习掌握软件项目所必须具备的知识、技能和方法。然后开展小组合作,完成该项目未完成部分,并在网络上分享自己的成果和开展学习评价活动。
2016人机交互的软件工程方法
《人机交互的软件工程方法》是软件工程专业的必修课程。通过本课程的学习使学生掌握人机交互的研究对象、研究内容,建立正确的认知观;学会各种交互设备的使用、理解并掌握各种交互技术;理解并掌握可用性分析原理并对界面的可用性做出正确的评估;理解并掌握人机交互界面的表示模型及软件结构。同时为今后的学习和研究打下坚实的基础。
教学目标:在基础方面,要求学生理解并掌握人机交互界面设计的基本概念、基本理论、方法、模型、原则以及模式;在技能方面,通过系统学习能够使用各种交互设备、掌握各种交互技术和常用设计方法,能够应用各种交互物件为复杂软件系统设计人机交互方案;理解人机交互的评估原则,能够对人机交互界面做出正确可用性评估;能够完成对人机交互界面的建模及实现相应地人机交互界面;了解人机交互技术的发展趋势。
软件测试与质量(22级)
《软件测试与质量》是软件工程、计算机科学与技术等专业的专业必修课,具有重要的理论和实践价值,是培养学生进行软件测试的一门重要课程。通过本课程学习,使学生系统地掌握软件测试的基本理论和方法,掌握当今流行的软件自动化测试工具的使用。
本课程是在先修课程的基础上,通过本课程学习,使学生系统地掌握软件测试的基本理论和方法。软件测试方法主要包括黑盒测试方法和白盒测试方法两大类。黑盒测试方法里主要包含等价类划分法、边界值分析法、决策表法和因果图法;白盒测试方法主要包含逻辑覆盖法和路径测试法。除此之外,还要学习软件测试计划和软件测试报告的撰写,软件测试步骤的制定。另外还必须掌握至少两门软件自动化测试工具。本课程在计算机类学科的本科教学中,起着非常重要的作用,对提高学生对软件测试重要性的认识和软件测试技能的训练具有重要意义。
本课程由于学时限制,实验方面主要实践功能测试工具Selenium和性能测试工具LoadRunner的使用,包括功能测试和性能测试的一些基本理论知识。目的在于精,不在于广,使得学生能够胜任软件测试的工作。对学生在银行、证券、电子商务等行业就业提供坚实基础。
本课程是理论与实践并重的课程,要求学生既要掌握软件测试的基础理论知识,又要培养学生实际操作能力,掌握流行的软件测试工具的使用,在实践中培养独立分析问题和解决问题的作风和能力。