南京大学软件工程专业教学体系简介

人才培养体系 | 科教育知识体系 | 本科生专业核心课程 | 学质量保障体系

南京大学软件工程专业本科生核心课程简介

本科核心课程体系规划和核心课程建设是软件工程专业建设的核心任务,也是软件工程专业有别于计算学科其他专业的关键所在。南京大学软件工程专业在CCSE等 国际专业教育规范的指导下,着力进行教学改革,有效构建专业核心课程体系,加强专业核心课程教学建设,取得了一系列成果。南京大学软件工程专业入选国家级 特色专业,《南京大学软件工程专业本科教程》在高等教育出版社出版,《计算系统基础》和《计算与软件工程》入选国家精品课程。

一、南京大学软件工程专业核心课程体系的构成

该课程体系的创新点在于以软件工程学科整体架构和基本方法为主线,兼顾专业基础和产业需求,一体化设计核心课程体系。具体工作内容为:

设计了创新性专业入门课程——计算系统基础。以系统级认识和程序设计双优先为思路,基于玩具系统,系统讲授从门电路、机器语言、汇编、I/O例程、语言处理,到应用程序的计算建立过程,并介绍结构化程序设计知识

构造了创新性专业基础课程——计算与软件工程融合程序设计、软件工程和职业基础知识教学于一体,既有效实践CCSE的偏软件工程初级课程设置方案,又创新性融合CCSE非技术课程的教学内容。

构建了软件工程基础课程群。《计算系统基础》、《计算与软件工程》和《数据结构与算法》覆盖最基本的软硬件知识、软件工程知识和职业素质知识,它们与《离散数学》、《统计与经验方法》构成软件工程专业基础知识的最小闭包,形成了创新型软件工程基础课程群。

部署了基于系统的计算学科中级课程群。在软件工程基础课程群之上,部署了由《计算机组成原理》、《操作系统》、《计算机网络》和《数据库系统》等组成的基于硬件和重要软件系统的计算学科中级课程群,可以被认为是基于系统的领域性重要专业核心课程

规划并实践了软件工程高级课程群。在软件工程基础课程群之上,实践了由《软件构造》、《软件需求工程》、《软件系统设计与体系结构》、《软件测试与质量》、《软件过程与管理》和《人机交互的软件工程方法》等组成的基于软件工程各领域的软件工程高级课程群


二、南京大学软件工程专业核心课程教学内容概略

计算系统基础。课程采取自底向上的教学模式,围绕一个简单计算机LC3逐次展开从比特到C语言的介绍,为初学者建立完整的计算概念,包括:数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap机制、结构化程序设计

计算与软件工程。讲授面向对象程序设计,分析、设计、测试等软件工程方法,项目管理,文档写作、交流沟通、团队合作等职业技能,强调软件工程工具的使用和实践能力的训练,以综合培养学生的程序设计能力、软件工程技能和职业素质,建立工程化软件开发观念。课程分为III和实践,在三学期实施教学。

统计与经验方法又 称统计与软件工程。课程从软件工程应用背景出发,分析各种随机现象中的规律性,探讨统计与经验方法的应用,以及统计软件工具的使用,具体教学内容覆盖概率 论基础,随机变量及其分布,多维随机变量,数字特征,极限定理,样本与抽样分布,参数估计,经验假设,方差分析与回归分析等。

软件构造。讲 授软件构造的一般原则(模块设计、代码重用、类设计等),常用技巧(契约式设计、防御式编程、异常处理、配置式编程、基于状态转移和基于表的软件设计、基 于语法分析的设计等),形式化方法(规范说明语言及其应用、形式化构造工具),以及执行要点(编码及其规范、工具使用、单元测试技巧、性能优化)。

软件需求工程。讲授软件需求领域的各项方法、技术与工具,包括需求工程的基础知识,软件需求的基础理论,常用的需求获取方法与技术,常用的需求分析方法,常用的需求分析模型与建模技术,需求管理知识,以及初步的需求工程过程管理知识。

⑹软件系统设计与体系结构讲授软件设计的要素,软件设计的支持与评价,软件设计方法,体系结构设计,详细设计,基于中间件的设计,基于复用的设计和设计演化。课程强调复杂的案例教学,培养学生综合运用设计知识为实际问题设计和选择解决方案的能力。

软件测试与质量。讲授测试的数学背景,软件生存周期中的测试,测试的基本概念,黑盒/白盒和静态/动态测试技术,常用的系统级测试方法,测试的组织和管理,过程保证和产品保证,以及质量过程标准等;着重在过程视角下介绍软件测试方法和技术,并从测试的角度讨论产品质量的保证和验证。

软件过程与管理。讲授项目计划和跟踪监控,风险管理,配置管理,供应商管理,需求开发和管理,技术实现,系统集成管理,验证和确认,过程管理和改进,过程度量和分析,量化管理和统计过程控制等内容,着重培养学生在项目管理、过程管理和改进等方面的技能。

人机交互的软件工程方法。讲 授各种用于交互式产品开发的软件分析、设计和评估技术,包括可用性工程,交互界面的经典模型,人机交互的需求(任务分析、原型等),人机交互的设计(设计 原则;交互模式;可视化设计;交互式设计)、人机交互的实现,以及人机交互的评估技术(启发式评价;专家评审;观察与调查用户;用户测试与预测模型)。

 

南京大学软件学院版权所有