一、考核要求
《软件工程》是研究软件开发和软件管理的一门工程科学,是软件工程专业的主干课。数据库技术是开发大型软件应用系统的核心技术,《数据库原理》是软件工程专业的一门必修课程。软件工程与数据库技术是软件工程学科研究人员、软件分析设计人员、程序开发人员、软件测试人员与软件管理人员必不可少的专门知识。
《软件工程与数据库原理》的考核分为软件工程计和数据库原理两部分,考核比重为:软件工程占60%,数据库原理占40%。软件工程考核学生对软件工程基本原理、方法与技术的掌握情况以及软件项目开发中数据库设计技术的应用能力。数据库原理部分考核学生数据库的基本概念、原理的掌握情况以及在主流数据库管理系统之上进行应用软件系统开发的能力。
二、考核评价目标
通过考核,要选拔具备软件工程学科深入学习及软件项目研发所需基础理论与技能的本科生来攻读本学科硕士研究生,考核评价目标如下:
掌握软件开发基础原理、方法、技术、工具、管理和过程;
掌握关系数据库基本理论知识与主流数据库基本操作方法;
能运用软件工程的基本原理进行软件项目的分析、设计、实现和维护;
能运用数据库基础理论与模型进行数据库设计;
具有良好的软件工程能力和素质。
三、考核内容
软件工程部分(分值比例:60%)
第一章 软件工程概论
【考核内容】
软件危机的概念、产生原因、解决途径;软件工程的概念、基本原理;软件生命周期;主要的软件过程模型:瀑布模型、快速原型模型。
【考试要求】
(1)理解软件危机的产生原因及解决途径;
(2)掌握软件工程的基本原理;
(3)掌握软件生命周期的阶段划分及主要软件过程模型。
第二章 可行性研究
【考核内容】
可行性研究的任务、可行性研究过程;数据流图的概念及相关符号;数据字典的概念、内容、定义方法和用途。
【考试要求】
(1)理解软件项目可行性研究的必要性;
(2)掌握数据流图及数据字典的概念及用途。
第三章 需求分析
【考核内容】
需求分析的任务;实体联系图的作用、符号意义;数据规范化三个范式的定义;状态图的符号,需求验证的内容。
【考核要求】
(1)理解软件项目需求分析的内容;
(2)能够根据陈述绘制ER图;
(3)能够根据给定条件能判断一个关系属于第几范式。
第四章 总体设计
【考核内容】
总体设计的概念、设计步骤;模块化的概念、作用,模块化程度与软件开发工作量的关系; Miller法则,模块独立性的重要性,模块耦合及其分类,模块内聚及其分类,模块设计的几条启发式规则及与之相关的概念(深度、宽度、扇出、扇入、作用域);结构图的符号及其意义。
【考核要求】
(1)掌握总体设计的概念与设计步骤;
(2)理解软件总体设计中模块化的作用,模块化程度与软件开发工作量的关系;
(3)掌握Miller法则;
(4)理解5种模块耦合形式:数据耦合、控制耦合、特征耦合、公共耦合、内容耦合;
(5)理解7中模块内聚形式:功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚;
(6)掌握模块设计的启发式规则及相关概念。
第五章 详细设计
【考核内容】
程序流程图的符号,盒图的符号,PAD图的符号,判定表与判定树的作用与特点,程序复杂程度的定量度量。
【考核要求】
(1)能够根据陈述绘制相应处理的程序流程图、盒图、PAD图、判定表、判定树;
(2)掌握程序复杂程度的两种定量度量方法:程序图和环域复杂度。
第六章 系统实现与测试
【考核内容】
编程语言的选择标准,良好的编程风格应遵循的规则,软件测试的定义,测试方法的种类(黑盒与白盒)和要求,测试的种类(单元测试、集成测试、确认测试)及其对应的阶段与对象,测试与调试的区别。
【考核要求】
(1)理解良好的编程风格应遵循的规则;
(2)掌握软件测试的概念及测试步骤;
(3)掌握两类常用软件测试方法:黑盒测试法与白盒测试法。
第七章 软件维护
【考核内容】
维护的定义及特点,软件可维护性及决定软件可维护性的因素。
【考核要求】
(1)理解软件维护的类型;
(2)了解决定软件可维护性的主要因素。
第八章 面向对象方法学
【考核内容】
面向对象的基本概念,面向对象的模型(用例图、类图、状态图、顺序图或事件跟踪图)的符号及其作用;面向对象设计框架;软件重用的概念与重用级别;面向对象编程、面向对象测试。
【考核要求】
(1)掌握面向对象的基本概念;
(2)掌握面向对象的软件工程方法;
(3)掌握对象模型的结构、对象模型的建立、动态模型的建立、功能模型的建立;
(4)掌握面向对象设计系统的基本框架;
(5)理解软件重用的概念与软件重用的内容;
(6)了解面向对象程序设计语言的特点。
第九章 软件项目管理
【考核内容】
软件规模估算技术,进度管理技术(甘特图、工程网络PERT图),软件质量的概念与软件质量的保证措施,软件配置的概念,CMM的5个级别。
【考核要求】
(1)掌握软件项目管理的定义及要素;
(2)能够根据任务分解表绘制甘特图和工程网络,估算项目进度,确定关键路径。
数据库原理部分(分值比例:40%)
第一章 绪论
【考核内容】
数据库系统的特点及其相关概念;数据模型;数据库系统的结构;网状数据库和层次数据库。
【考核要求】
(1)掌握数据、数据库、数据库管理系统等概念;数据库管理系统的基本功能;
(2)掌握三种数据模型(层次模型、网状模型、关系模型)的概念;关系模型的三种完整性约束;
(3)掌握用E-R模型描述现实世界的方法。
第二章 关系数据库
【考核内容】
关系模型的基本概念;关系代数;关系演算。
【考核要求】
(1)掌握关系模型的基本概念;
(2)掌握关系代数的基本运算;
(3)掌握元组关系演算和域关系演算。
第三章 关系数据库标准语言SQL
【考核内容】
SQL概貌、特点及其相关基本概念;SQL数据定义功能;SQL数据操纵功能;数据查询;视图的定义和作用;SQL数据控制功能。
【考核要求】
(1)掌握SQL的相关基本概念;
(2)能够熟练运用SQL语句定义数据表、修改数据表、撤消基本表、定义和撤消索引;
(3)能够熟练正确地使用SQL完成对数据库的查询、插入、删除、更新操作;
(4)理解视图的概念,掌握用SQL语句定义和撤消视图、针对视图的查询方法;
(5)理解数据库安全性的含义和授权机制;理解数据库完整性的含义和完整性约束条件;掌握用SQL语句授权和收回权限的操作方法。
第四章 关系数据库规范理论
【考核内容】
关系规范化的作用;函数依赖;关系模式的规范化。
【考核要求】
(1)理解关系规范化理论在数据库设计中的作用;
(2)理解属性之间的联系类型;掌握候选码、主码、主属性、非主属性、单码、全码等概念;函数依赖和码的唯一性;
(3)理解第一范式,第二范式、第三范式、BCNF的定义及各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;
(4)掌握判定关系模式的规范化程度的方法,能够应用规范化的理论规范关系模式到第三范式。
第五章 数据库设计
【考核内容】
数据库设计的任务、一般策略、步骤和基本概念;概念结构设计;逻辑结构设计;物理结构设计;数据库实时和维护。
【考核要求】
(1)掌握数据库设计的任务,数据库设计涉及到的基本概念,数据库设计的一般策略,数据库设计的步骤;了解数据库设计的主流方法;
(2)掌握从现实世界出发设计数据库概念结构(E-R模型)的方法;
(3)掌握从E-R模型转换为关系模型的方法。
第六章 关系查询处理和查询优化
【考核内容】
关系数据库系统的查询优化算法;RDBMS的查询处理步骤;查询优化的基本概念,查询优化的两种类型:代数优化和物理优化。
【考核要求】
(1)理解关系数据库查询优化的重要性;
(2)掌握关系数据库系统的查询优化方法,能够把SQL语句转换成查询树;对查询树进行代数优化,转换成优化的查询树。
第七章 数据库保护
【考核内容】
并发控制基本概念和基本技术;数据库恢复基本概念和基本技术;数据库安全基本概念和基本技术;完整性约束条件。
【考核要求】
(1)理解并发访问可能出现的问题;封锁及锁的类型;死锁概念;并发调度的可串行性;掌握三级封锁协议,死锁的预防和解除方法;
(2)了解数据库故障种类和常用数据库恢复手段,理解针对不同故障的恢复方法;
(3)掌握数据库安全涉及到的方法手段,包括:用户标识和鉴别方法,访问控制,审计,数据加密等;
(4)掌握数据库访问授权方法,包括授权命令GRANT和撤销权限命令REVOKE;
(5)了解数据库完整性约束条件。
四、参考书目
1、《软件工程导论》,张海藩编著,清华大学出版社,2008年。