考完试,该慢慢总结下了
2011-01-10 21:55 Aga.J 阅读(1282) 评论(0) 编辑 收藏 举报终于考完试了,边做项目边复习地过了这个学期的考试,总结下这个学期学了什么。
首先是课程,DB2,SOA,编译原理,操作系统,计算机网络,软件架构实践,软件项目管理,数据库系统概念,知识产权。
接下来一门一门课的说。
DB2没什么好说的,不感兴趣,虽然是DB2但是很多基本内容和常用的数据库很类似,过了这门课拿个IBM发的证书而已。
SOA老师在上面吹了几节概念,然后就来教XML(早就用过了,老师还觉得我们什么都不会,拼命教),然后就进入了基于Web Service的服务发布与调用的SOA
架构实践的基本内容讲解,做了几次试验,SOA不错,有待继续。
编译原理,很有趣,很考编程功底,适合我这种有代码癖的人。。。。主要分4次实验来完成:
1 scanner
选择基于表驱动的实现方式,先要对源代码所用的语言的串的构造进行DFA求解,然后识别出token
2 parser
可以使用LL1也可以使用递归下降,利用scanner得到的token来完成程序结构的构建,当然要先分析源代码所用的文法。
输入: |
输出: |
|
3 semantic analyzer
构建符号表并进行类型检查,通过扫描由parser输出的syntax tree,得到各个符号所必要的信息,例如内存分配,行号等构建符号表
输出样例
类型检查需要利用符号表进行对符号名进行散列索引,返回对应的类型信息,完成多种类型检查
输入: |
输出: |
|
变量重定义 |
||
未定义变量的使用 |
||
条件判断表达式操作数不是布尔型 |
||
操作符左右操作数类型不一致 |
||
赋值操作符左右操作数类型不一致 |
4 三地址码的生成
实在没时间做了,分析了下基本的控制语句的逻辑和算术语句的处理逻辑后,就硬编码的写了上去,没有一个系统的分析过程。其中有点错误。
输入: |
输出: |
|
整个代码结构的设计入下图,最重要的是保持每个模块间的松散耦合,便于模块的重用,同时不针对接口编程,不针对一种语言来实现这个编译器,便于适应语言的词法和文法的更改,更多抽象的东西没有从中提取,有时间有精力的话继续做抽象这方面的。
操作系统
进程,线程,同步异步通信问题,进程管理(进程调度算法),死锁
内存,内存管理(内存分配回收算法),虚拟内存,内存分配,页面置换算法
文件,文件系统原理,文件管理
IO,中断,IO软件层次
笔记
最后需要在nachos系统上完成进程调度算法等功能
软件架构实践
见链接软件架构实践(Software Architecture in Practics)学习笔记
已经把几乎把笔记里面的内容都放里面了
最后完成一个在eclipse上的插件,主要功能是提供必要的基础设施帮助人们更好的使用ADD的方法来设计架构
我这块主要负责一个table表格的绘制,基本模板的初始化,模板选择和导入导出数据,很简单的一个东西:首先是eclipse开发插件的环境配置,属性插件开发的过程,然后使用swt辅助开发,最后设计并编码完成。
主要代码框架图如下,更多细节设计就不贴上来了。
总的来说,开发过程还算顺利,需要对eclipse的插件开发有一定的书籍参考来熟悉过程。
计算机网络
5个层次介绍了一番。
数据库系统
数据库基本概念,
DBS,DBMS,3层抽象,ER,数据模型,SQL语句(比较详细),关系代数,查询优化,ER关系模型设计数据库,ER图元素,关系数据库设计,无省分解,依赖保持的设计,第一范式,BC范式,3范式,判断。文件结构和存储,散列索引,主索引,辅助索引,B+树索引实现,静散列,动态散列,各种组织的查询过程开销,排序,归并排序,散列排序,查询优化,关系代数表达式优化,事务,冲突可串行,并发,数据一致性,锁协议
IT项目管理
作者:Aga.J
出处:http://www.cnblogs.com/aga-j
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
个人学习笔记仅供本人记录知识所用,不属发表性文章。