软件工程
1、软件工程概论。(1)软件危机、软件工程的产生;(2)软件的概念、软件工程的定义;(3)软件工程的研究对象与基本原理;(4)软件工程工具和环境;(5)软件生存周期;(6)软件过程模型。
2、需求分析。(1)需求分析的目标和任务;(2)软件系统的可行性分析;(3)需求获取;(4)需求规格说明书;(5)数据流建模(数据流图);(6)实体-关系建模(E-R 图);(7)系统行为建模;(8)用例建模(用例图);(9)面向对象建模。
3、软件概要设计与详细设计。(1)概要设计的任务与步骤;(2)软件设计的基本原则、抽象与逐步求精方法;(3)详细设计的任务;(4)结构化程序设计的概念和思想;(5)面向对象程序设计的概念和思想;(6)程序流程图;(7)模型-视图-控制器框架(MVC)。
4、面向对象的程序设计方法。(1)类、对象、封装、消息、继承、多态等基本概念;(2)统一建模语言UML 的基础知识;(3)类图、时序图。
5、软件验证技术。(1)软件测试的目标、过程和步骤;(2)代码复审;(3)白盒测试、黑盒测试的原理;(4)路径覆盖、条件覆盖、边界值分析等测试用例设计技术;(5)单元测试、集成测试、确认测试、系统测试;(6)程序正确性证明;(7)调试。
6、软件维护技术。(1)软件维护的基本概念和基本活动;(2)软件维护过程;(3)软件可维护性;(4)软件再工程技术。
7、软件质量保证。(1)软件质量的概念;(2)软件评审技术;(3)软件质量保证的原理和措施;(4)软件配置管理的概念和方法。
8、软件项目管理。(1)项目管理的概念;(2)软件度量;(3)软件项目的评估:成本估计、效益分析;(4)软件风险分析和管控。
数据结构
1、概述。(1)数据结构的基本概念;(2)算法的特征;(3)计算语句频度、估算算法时间复杂度和空间复杂度的方法;(4)抽象数据类型。
2、线性表。(1)线性表的逻辑结构;(2)线性表的顺序表示和实现;(3)线性表的链式表示和实现;(4)一元多项式的表示和相加。
3、栈和队列。(1)栈和队列的特点;(2)栈和队列的表示和实现;(3)栈与递归实现;(4)使用栈和队列的解决实际问题。
4、数组和广义表。(1)数组的定义;(2)数组的顺序表示和实现;(3)矩阵的压缩和存储;(4)广义表的概念和存储结构。
5、串。(1)串类型的定义;(2)串的表示和实现;(3)串的模式匹配算法;(4)串操作应用。
6、树与二叉树。(1)二叉树的概念;(2)二叉树的性质和各种存储结构;(3)遍历二叉树;(4)线索二叉树;(5)树和森林;(6)建立最优二叉树和哈夫曼编码。
7、图。(1)图的基本概念;(2)图的存储结构;(3)图的遍历;(4)最小生成树(PRIM 算法和Kruscal 算法);(5)拓扑排序;(6)关键路径;(7)最短路径。
8、查找。(1)静态查找,包括顺序表查找、有序表查找和索引顺序表查找;(2)动态查找表,包括二叉排序树、平衡二叉树和B-树;(3)哈希表的构造和处理冲突的方法;(4)哈希表的查找及分析。
9、内部排序。(1)插入排序,包括直接插入排序、折半插入排序和希尔排序;(2)交换排序,包括起泡排序和快速排序;(3)选择排序,包括简单选择排序和堆排序;(4)归并排序;(5)基数排序;(6)各种排序方法的稳定性、时间复杂度和空间复杂度分析。
10、程序设计。(1)结构化程序设计的基本原理、方法;(2)使用类C 描述各类算法。
参考书目:
《软件工程导论(第六版)》张海藩、牟永敏,清华大学出版社。
《数据结构(C 版)》严蔚敏、吴伟民等,清华大学出版社。
您填的信息已提交,老师会在24小时之内与您联系
如果还有其他疑问请拨打以下电话