软件工程与UML

《软件工程与UML》是软件工程专业的核心课程之一,课程内容涉及软件生产的各个方面,具有工程性、实践性与实用性等特征。

 开设学期:第三学期(1-18周),其中理论课每周3学时,实验课每周1学时,共72学时。

课程任务:通过本课程的教学,使学生掌握软件工程的基本概念和原则,培养学生用工程化的方法高效地开发高质量软件的初步能力,以及项目管理的初步能力。为软件需求工程、软件系统设计与体系结构、软件测试与质量、软件构造和软件过程与管理等软件工程专业的后继课程作准备。

Enseignant: 妍 蔡

软件系统设计与体系结构

《软件系统设计与体系结构》是软件工程专业的重要核心课程之一,本课程系统介绍软件体系结构的原理、方法和实践。

 该课程主要包括以下八个方面的内容:

第一篇  介绍软件体系结构的概念、发展和应用现状;

第二篇  讨论软件体系结构建模,包括“4+1”模型、核心模型、生命周期模型以及抽象模型;

第三篇  介绍软件体系结构的风格,包括经典软件体系结构风格(管道与过滤器、数据抽象、面向对象、分层系统、仓库系统以及C2风格)、客户/服务器风格(C/S风格)、三层C/S结构风格、浏览器/服务器风格(B/S);

第四篇  讨论软件体系结构的描述方法,重点介绍软件体系结构描述语言;

第五篇  介绍可扩展标记语言(XML)相关知识,重点讨论基于XML的软件体系结构描述语言;

第六篇  讨论基于服务的体系结构的关键技术和实现方法,介绍Web Service的相关内容;

第七篇  介绍富互联网应用体系结构,重点讨论AJAX和Mashup技术;

第八篇  讨论基于体系结构的软件开发,重点介绍MVC开发模式和中间件技术。

 通过该门课程的学习,使学生在软件工程思想的基础之上,更进一步掌握软件分析和软件开发的方法和思想,并能在实际中应用。课程目标是培养学生成为一名合格的软件分析师或软件架构师,并为其在该领域进一步深造打下坚实的基础。

 

Enseignant: 丰平 彭

Linux系统

《Linux系统》是软件工程专业中一门重要的专业课程。本课程将从Linux网络管理员的视角出发,由浅入深,循序渐进地围绕着初级Linux网络管理员在日常管理工作中将会遇到的任务场景而展开。通过让学生实际操作,完成相关的实验,使学生理解和掌握Linux环境下的基本操作,网络配置方法、网络编程、内核优化等的基础知识和技能。本选修课的开设主要是为本科生掌握Linux环境下编程,特别是网络编程,以及掌握Linux基本操作方面的知识提供帮助。通过本课程的学习,使学生加深对计算机网络、编程语言和操作系统等的认识,为其今后从事的工程技术工作和研究工作打下良好的基础。

Enseignant: 美荣 丁

多媒体技术

•《多媒体技术》课程是“软件工程”等工科类本科专业的专业课程。

•《多媒体技术》课程以设计行业常用软件为技术支撑,主要培养学生使用计算机多媒体进行协同创作的能力。通过本课程的学习,让学生掌握基本的图形图像处理技术、音视频处理技术和简单的动画实现。为以后学习《网页设计》、《人机交互设计》等课程打下坚实的基础,同时,本门课的学习也是对学生社会实用技能的提升和美学的培养。
•本门课程1学分,基本教学周课时数是:1节(理论)-1节(实验),课程开设在第三学期。
本课程主要学习内容:1.多媒体技术的基础知识
                                   2.图像处理技术(Photoshop)
                                   3.音频处理技术(Audition)
                                   4.动画制作技术(Flash)
                                   5.视频编辑技术(Premiere) 
Enseignant: 洋 张, 琴 李

多媒体技术

《多媒体技术与应用》是计算机应用技术、计算机多媒体技术、软件技术等专业的一门专业基础课,是计算机教学的重点,本课程的主要任务是讲授多媒体技术的基本概念、多媒体数据处理技术、多媒体应用设计;使学生学会使用多媒体素材的采集与制作的相关软件及制作方法,培养学生的自学能力和实际动手能力,学生通过学习和掌握多媒体计算机技术,掌握平面设计、二维动画、音频和视频等基本技术和综合应用能力, 为今后制作软件工程领域的多媒体系统、展开多媒体相关的研究和开发工作,打下良好的基础。

Enseignant: 美荣 丁

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节(实验),课程开设时长是一个学期。

Enseignant: 碧卿 曾

JAVA语言程序设计

《JAVA语言程序设计》是软件工程专业一门重要的核心课程。本课程讲授JAVA语言的语法基础(变量,程序流程结构,数组,字符串),JAVA面向对象的特性(类,继承,接口,多态),JAVA异常处理,集合类,Swing,事件,IO,枚举,泛型,多线程,网络通信,数据库操作等JAVA SE的相关的知识。最后以JAVA SE的知识为基础,以一个满足现实需要的实际项目为依托,讲授JAVA图形化界面应用程序设计与实现的过程和方法。

教学组织形式:课堂教学(48学时)+在线学习(24学时)

课堂教学目标与任务:快速掌握java语言程序设计相关知识点;软件设计思维方法;组织项目小组开展讨论;开展关键问题专题学习或讨论。

在线学习目标与任务:掌握软件项目设计开发的过程、工具、方法。根据老师提供的学习资源,开展自主学习活动。在教学视频的引导下,完成项目的某个模块,通过学习掌握软件项目所必须具备的知识、技能和方法。然后开展小组合作,完成该项目未完成部分,并在网络上分享自己的成果和开展学习评价活动。

Enseignant: 恒法 陈

人机交互的软件工程方法

《人机交互的软件工程方法》是软件工程专业的必修课程。通过本课程的学习使学生掌握人机交互的研究对象、研究内容,建立正确的认知观;学会各种交互设备的使用、理解并掌握各种交互技术;理解并掌握可用性分析原理并对界面的可用性做出正确的评估;理解并掌握人机交互界面的表示模型及软件结构。同时为今后的学习和研究打下坚实的基础。
教学目标:在基础方面,要求学生理解并掌握人机交互界面设计的基本概念、基本理论、方法、模型、原则以及模式;在技能方面,通过系统学习能够使用各种交互设备、掌握各种交互技术和常用设计方法,能够应用各种交互物件为复杂软件系统设计人机交互方案;理解人机交互的评估原则,能够对人机交互界面做出正确可用性评估;能够完成对人机交互界面的建模及实现相应地人机交互界面;了解人机交互技术的发展趋势。

Enseignant: 承忠 张

软件测试与质量

       《软件测试与质量》是软件工程、计算机科学与技术等专业的专业必修课,具有重要的理论和实践价值,是培养学生进行软件测试的一门重要课程。通过本课程学习,使学生系统地掌握软件测试的基本理论和方法,掌握当今流行的软件自动化测试工具的使用。

       本课程是在先修课程的基础上,通过本课程学习,使学生系统地掌握软件测试的基本理论和方法。软件测试方法主要包括黑盒测试方法和白盒测试方法两大类。黑盒测试方法里主要包含等价类划分法、边界值分析法、决策表法和因果图法;白盒测试方法主要包含逻辑覆盖法和路径测试法。除此之外,还要学习软件测试计划和软件测试报告的撰写,软件测试步骤的制定。另外还必须掌握至少一门软件自动化测试工具。本课程在计算机类学科的本科教学中,起着非常重要的作用,对提高学生对软件测试重要性的认识和软件测试技能的训练具有重要意义。

       本课程由于学时限制,实验方面主要实践世界目前最流行的软件性能测试工具LoadRunner的使用,包括性能测试的一些基本理论知识。目的在于精,不在于广,使得学生能够胜任性能测试的工作。对学生在银行、证券、电子商务等行业就业提供坚实基础。

       本课程是理论与实践并重的课程,要求学生既要掌握软件测试的基础理论知识,又要培养学生实际操作能力,掌握流行的软件测试工具的使用,在实践中培养独立分析问题和解决问题的作风和能力。

Enseignant: 小亚 李