文档库 最新最全的文档下载
当前位置:文档库 › c++高级软件工程师

c++高级软件工程师

c++高级软件工程师
c++高级软件工程师

C++高级软件工程师

2010-09-27 14:09:24 [点击次数:1277]

C/C++嵌入式高级软件工程师培训课程专注于培养企业需求量大,就业率高,目前人才市场紧缺的C++高级软件工程师、嵌入式软件工程师以及系统分析师。

本课程将C++和嵌入式有机地结合起来,培训内容包括理论知识强化、实际案例训练、企业项目实战等内容,让学生扎实掌握C++和嵌入式编程的各项关键技术,获得C++和嵌入式软件开发丰富的项目经验,为学员高质量高薪就业打下扎实的基础。

C/C++嵌入式高级软件工程师教学大纲由资深C++嵌入式领域专家根据嵌入式系统的设计原则和市场要求设计和制定,实践证明本教学大纲科学合理,能够快速培养实用的C++嵌入式工程师。通过培训可以获得扎实的开发技能,积累至少相当二年的工作开发经验。

本课程系统介绍了C++开发环境和IDE介绍、C语言、C++/OOP程序设计、GP和标准模板类库(STL)、Windows编程、Visual C++/MFC程序设计、网络编程技术、数据库编程技术、Unix/Linux编程、面向对象的系统分析与设计方法、计算机系统的基本原理,操作系统、接口技术、嵌入式系统开发详解等基本知识。通过这些知识的学习,让学生掌握C++的关键技术和嵌入式系统开发的基本原理和设计方法,并通过实际项目的开发,让学生掌握嵌入式系统开发的整个流程,操作系统移植的基本思想、移植原则,应用程序及驱动程序的开发和调式方法。

由有关专家、学者和优秀的一线资深C++嵌入式工程师,集合国际先进嵌入式技术和理论,对嵌入式开发过程进行综合分析,结合最新的软件开发环境,进行实际案例的培训;实战训练贯穿于全部课程中,学员学练结合、学以致用,以培养实际工作能力,快速获得项目经验。每半月进行一次测试,确保学员掌握所学知识。

目录

第1部分:LINUX操作系统基础入门

第1天 LINUX操作系统基础

第2天 LINUX基本命令

第3天 LINUX下C编程基础

第2部分 C/C++编程

第4天 C/C++语言简介、数据类型和操作符第5天复合类型

第6天指针

第7天循环和关系表达式

第8天分支语句和逻辑操作符

第9天函数

第10天类(1)

第11天类(2)

第12天继承

第13天代码重用

第14天友元、异常和类模板

第3部分数据结构和算法

第15天数据结构和算法(1)

第16天数据结构和算法(2)

第17天数据结构和算法(3)

第18天阶段考试

第4部分嵌入式系统和ARM介绍

第19天嵌入式系统和ARM介绍

第5部分嵌入式LINUX系统编程

第20天嵌入式LINUX开发环境的搭建

第21天文件I/O编程

第22天进程控制开发

第23天进程间通讯

第24天多线程编程

第25天嵌入式LINUX网络编程

第26天嵌入式LINUX设备驱动开发

第27天 QT图形编程

第6部分 WINDOWS编程

第28天 WINDOWS程序内部运行机制

第29天 MFC框架

第30天简单绘图与文本编程

第31天菜单和对话框

第32天绘图控制和文件

第33天网络编程(1)

第34天网络编程(2)

第35天多线程(1)

第36天静态、动态连接库、组件编程

第7部分 WINCE编程

第37天 WINDOWS CE操作系统的介绍

第38天建立WINDOWS CE开发环境

第39天平台模拟器的建立和使用

第40天 WINCE操作系统设计

第41天 WINDOWS CE 窗口消息机制与屏幕输出

第42天 WINCE下多线程编程,文件操作与串口通信

第43天 WINDOWS CE下MFC程序的开发

第8部分 MTK手机软件

第44天手机设计基础理论

第45天 MTK开发环境介绍

第46天 MTK开发工具介绍

第47天 MTK软件编译及工程源程序介绍

第48天由浅入深的手机软件开发

第49天如何在开发板上进行项目实践

第9部分结业考试

第50天结业考试

第10部分项目实战

第51~100天项目开发

C++&嵌入式软件工程师培训教学大纲

第1部分:Linux操作系统基础入门

第1天 Linux操作系统基础

1. 介绍Linux操作系统的基本知识,包括发展概述,目前应用情况,技术优势和特点等。

2. Linux系统的安装准备,Linux文件系统。

3. 实验内容:安装Linux操作系统

第2天 Linux基本命令

1、 Linux常用操作命令,包括用户系统相关命令,文件目录相关命令,压缩打包相关命令,网络相关命令等。

2、 Linux启动过程详解

3、 Linux系统服务

4、实验内容:Linux系统常用命令操作

第3天 Linux下C编程基础

1. C语言编程概述

2. Vi等编辑工具使用

3. Gcc和GDB的使用

4. Make工程管理器

5. 实验内容:Vi使用,用GDB调试程序,编写简单的Makefile

第2部分 C/C++编程

第4天 C/C++语言简介、数据类型和操作符

1. 软件开发流程和方法,行业现状

2. c/c++语言起源和历史发展

3. c/c++语言的特点和应用领域

4. c++集成开发环境介绍。讲解vc++IDE环境的使用,包括编译,链接,运行和调试。

5. 学习c/c++程序设计的方法

6. c/c++简单程序的结构

7. 计算机处理数据的抽象层次

8. c++的基本数据类型的处理

9. 数据溢出的结果和应对方法

10. C++的算术操作符

11. 自动类型转换

12. 强制类型转换

第5天复合类型

1. 数组

2. 字符串

3. string类

4. 结构

5. 共同体

6. 枚举

第6天指针

1. 指针

2. 内存分配

3. 指针、数组、字符串之间的关系

4. 指针算术

5. 字符串的指针操作。

6. 多维数组和指针访问。

7. 空指针的意义。

8. 指针练习。

第7天循环和关系表达式

1. for循环

2. 关系表达式

3. while循环

4. do while循环

5. 嵌套循环

6. 多维数组

7. 控制台输入输出

第8天分支语句和逻辑操作符

1. if 语句

2. 逻辑表达式

3. ?:操作符

4. switch语句

5. break

6. continue

7. return

8. 简单文件输入输出

第9天函数

1. 函数原型

2. 函数参数和按值传递

3. 参数为数组(一维和多维)的函数

4. 参数为指针的函数

5. 参数和返回类型维结构的函数

6. 处理string对象的函数

7. 函数指针

8. 内联函数和宏的使用

9. 引用变量

10. 函数重载的机制

11. 函数模板

12. c++程序的内存模型和几种内存的分配方式

13. 结构化程序设计的原则

14. 源文件和头文件的物理布局以及对程序模块划分和程序编译的影响

15. 静态变量

16. 名称空间

第10天类(1)

1. 面向过程编程和面向对象编程的区别

2. 面向对象和程序设计语言的关系

3. 类的概念和抽象层次

4. 接口的概念和客户/服务器模型

5. 类的定义和数据封装

6. 构造函数和析构函数

7. this指针和对象数组

第11天类(2)

1. 指针类成员以及动态分配内存的初始化

2. 含指针成员的类的=操作符重载和拷贝构造函数的定义

3. 按成员拷贝(bit-wise copy)和deep copy的区别

4. 什么时候需要考虑深拷贝(deep copy)

5. 操作符重载

6. 友元类和友元函数

7. 类的自动转换和强制类型转换

第12天继承

1. 继承和派生的概念

2. 继承的访问控制和继承方式

3. 构造函数成员初始化列表

4. 基类和派生类对象的构造顺序

5. 继承和对象模型(对象的赋值和切割)

6. 虚函数的语法和定义

7. 继承和多态的关系

8. 静态联编和动态联编

9. 虚析构函数

10. 虚函数表和多态实现的编译器机制

11. 含有虚函数的类的对象模型

第13天代码重用

1. Has-a关系

2. 包含成员对象的类

3. 私有和保护继承

4. 多重继承

5. 虚基类

第14天友元、异常和类模板

1. 友元

2. 异常

3. 类模板和具体化

第3部分数据结构和算法

第15天数据结构和算法(1)

1. 常用的字符串的c函数的具体的代码实现

2. 数据结构概论

3. 算法基本概念

4. 时间和空间复杂度

5. 单链表的实现及其应用

6. 循环链表的实现及其应用

第16天数据结构和算法(2)

1. 双向链表的实现

2. 堆栈实现及其应用

第17天数据结构和算法(3)

1. 队列的实现及应用

2. 字符串的查找,替换,连接等操作

3. 数组,字符串,指针,多维数组的相互关系和归纳

4. 递归算法

5. 二叉排序树的实现及应用

6. 二叉树的前序遍历、中序遍

7. 历、后序遍历。

8. 常见排序方法和二分查找

第18天阶段考试

第4部分嵌入式系统和ARM介绍

第19天嵌入式系统和ARM介绍

1. 嵌入式系统概述

2. ARM硬件平台介绍,ARM处理器体系结构

3. 嵌入式软件开发流程

4. 实验内容:用JTAG工具烧写NAND FLASH

第5部分嵌入式Linux系统编程

第20天嵌入式Linux开发环境的搭建

1、嵌入式交叉编译环境的搭建

2、超级终端的配置和使用

3、编译嵌入式linux内核

4、制作文件系统

5、 Bootloader介绍

6、实验内容:移植Linux内核

第21天文件I/O编程

1、 Linux系统调用和用户编程接口

2、 Linux中文件和文件描述符介绍

3、不带缓存的文件I/O操作

4、嵌入式Linux串口应用开发

5、标准I/O开发

6、实验内容:文件读写和上锁,串口读写

第22天进程控制开发

1、 Linux下进程概述

2、 Linux进程控制编程

3、 Linux守护进程

4、实验内容:编写多进程程序,编写守护进程第23天进程间通讯

1、管道通信的创建和关闭

2、信号通信的发送和捕捉

3、共享内存的实现

4、消息队列的实现

5、实验内容:管道通信编写程序,共享内存实验第24天多线程编程

1、 Linux下线程概述

2、 Linux线程实现

3、实验内容:“生产者消费者”实验

第25天嵌入式Linux网络编程

1、 TCP/IP协议介绍

2、 Socket基础编程

3、网络高级编程

4、 Ping源代码分析

5、实验内容:NTP协议实现

第26天嵌入式Linux设备驱动开发

1、 Linux设备驱动概述

2、字符设备驱动编写

3、块设备驱动编写

4、中断编程

5、实例介绍:LCD驱动和键盘驱动的实现

6、实验内容:Skull驱动

第27天 Qt图形编程

1、嵌入式GUI概述

2、 Qt/Embeded开发入门

3、搭建Qt/Embeded开发环境

4、 Qt/Embeded图形界面编程

5、实验内容:使用QT编写“HELLO WORLD”程序第6部分 Windows编程

第28天 Windows程序内部运行机制

1. API与SDK

2. 窗口与句柄

3. 消息与消息队列

4. WinMain函数

5. 第一个windows 程序

6. 消息循环的错误分析

7. 变量的命令约定

第29天 MFC框架

1. MFC AppWizard

2. 基于MFC的程序框架剖析

3. 窗口类、窗口类对象与窗口

第30天简单绘图与文本编程

1. MFC消息映射机制

2. 绘制线条

3. 使用画刷绘图

4. 绘制连续线条

5. 绘制扇形效果线条

6. 插入字符

7. 窗口重绘

8. 路径

9. 字符输入

第31天菜单和对话框

1. 菜单命令响应函数

2. 菜单命令的路由

3. 基本菜单操作

4. 动态菜单操作

5. 电话本示例程序

6. 对话框基本知识

7. 对话框的创建和显示

8. 动态创建按钮

9. 控件的访问

10. 对话框伸缩功能的实现

11. 输入焦点的传递

12. 默认按钮的进一步说明

第32天绘图控制和文件

1. 简单绘图

2. 设置对话框

3. 颜色对话框

4. 字体对话框

5. 改变对话框和控件的背景和文本颜色

6. 显示位图

7. 坐标空间和转换

8. 图形的保存和重绘

9. 窗口滚动功能的实现

10. 元文件

11. 兼容设备描述表

第33天网络编程(1)

1. 计算机网络概述

2. OSI七层模型和TCP/IP协议栈

3. 客户机/服务器的通信方式

4. 物理层和数据链路层

5. 传输层

6. TCP和UDP协议

第34天网络编程(2)

1. 基于WinAPI SOCKET编程基础

2. 面向无连接的协议和面向连接的协议

3. 流式协议和数据报协议的区别

4. 套接字选项的配置

5. 网络层相关技术

6. 字节顺序(Byte-order)

7. 基于MFC的CSocket类的网络编程

第35天多线程(1)

1. 进程和线程

2. 线程创建函数

3. Sleep函数

4. 使用互斥对象实现线程同步

5. 保证应用程序只有一个实例运行

第36天静态、动态连接库、组件编程

1. 事件对象

2. 关键代码段

3. 线程死锁

4. 互斥对象、时间对象与关键代码段的比较

5. 基于消息的异步套接字

6. 静态库

7. 动态库

第7部分 WinCE编程

第37天 Windows CE操作系统的介绍

1、 Windows CE的结构功能概览

2、进程、线程与调度

3、内存管理

4、存储管理与文件系统

5、驱动管理与服务

6、用户界面与图形系统

7、Windows CE的应用特性

第38天建立Windows CE开发环境

1. Windows CE应用程序开发的几点说明

2. 应用程序开发流程

3. Windows CE的应用编程接口

4. 开发工具介绍及对比

第39天平台模拟器的建立和使用

1. 建立模拟器环境

2. 建立硬件开发板环境

第40天 WinCE操作系统设计

1. 在PC机上运行Windows CE

2. Platfrom Builder集成开发环境

3. 定制Windows CE操作系统的一般流程

4. Windows CE的目录组织

第41天 Windows CE 窗口消息机制与屏幕输出

1. 建立一个Hello World程序

6、添加窗口消息响应函数

7、编写文字输出程序

8、编写屏幕绘图程序

第42天 WinCE下多线程编程,文件操作与串口通信

1. 多线程的实现

2. Windows CE 中的文件操作

3. Windows CE中的串口通信

第43天 Windows CE下MFC程序的开发

1. 建立基于MFC框架的Windows CE应用程序

2. 编程实现菜单,对话框,窗口的操作与消息通讯

3. 编程实现MFC中的基本控件的功能

4. 编写Windows CE 下的串口调试工具

第8部分 MTK手机软件

第44天手机设计基础理论

1、手机软硬件原理介绍

2、手机重要技术指标介绍

第45天 MTK开发环境介绍

1、MTK手机芯片介绍

2、MTK软件架构分析

第46天 MTK开发工具介绍

1. 烧写程序下载工具 FlashTools

2. 编译工具和辅助工具:ADS1.2 ,ADS1.2 update, Active Perl

3. Trace 工具:catcher

4. 手机工程测试工具: META (Mobile Engineering Testing Architecture)

第47天 MTK软件编译及工程源程序介绍

第48天由浅入深的手机软件开发

1. 熟悉编译过程

2. 改变编译参数/宏定义来实现手机配置的改变或设定

3. 更换资源文件实现新的手机界面

4. 利用MTK辅助工具实现手机新功能

5. 修改源程序实现复杂的功能更改或增加

6. 修改NVRAM数据来改变手机的功能/性能

7. 新功能模块的开发

第49天如何在开发板上进行项目实践

第9部分结业考试

第50天结业考试

第10部分项目实战

第51~100天项目开发

项目阶段

1前言

项目实战是让学生参与一个真实完整的软件项目的开发,是培训过程中的一个重要环节。目的在于通过项目开发实践使学生了解软件开发过程,巩固在教学阶段所学的知识,全面提升学生的软件水平,为学生未来的就业打下坚实的基

础。

项目实战过程旨在规定统一的项目开发的方法和流程。它是在参考RUP、敏捷、SCRUM、CMMI多种软件开发过程的基础上,结合我司的具体情况以及培训的特殊规律定制而成的,是我司进行软件开发过程管理的企业标准。

2项目周期

学生教学阶段结束后的五十天时间。

原则上在项目实战阶段不安排学生面试,也不允许学生自行面试。

3项目选择

项目的选择至关重要。因为项目的规模和复杂度不能太大,否则我们的项目将失去控制。目前我们正在建立统一的项目池,以后原则上学生实战项目都从项目池中获取。项目池也会定期更新维护。整个项目的规模以4×50人天为宜。

4项目组织

教师应将进入项目实战的学生划分为若干个小组,每个小组由4到5名学生组成。每个小组任命一名小组长。小组长一般由技术和沟通能力突出的学生担任。一般情况下所有小组开发同一个项目。

教师是整个项目开发的总负责人,负责项目计划的制定和监控,给各小组配置足够的资源。教师应经常与小组长进行沟通,了解各个小组的项目进展情况,以及解决开发小组出现的技术和非技术问题。

开发组长负责本小组的项目开发管理。包括本小组内每个成员的工组安排,协调组内成员的工作,文档和代码的管理,开发版本的管理。开发组长应密切配合教师的工作,定期向教师汇报本小组的开发进度,随时向教师寻求必要的帮助。

5 项目过程管理平台

作为深圳软件园的培训基地,我们的项目将在如下三个平台上开发:

IBM RTC(Rational Team Concert)和 IBM JAZZ 平台。

Microsoft VSTS( Visual Studio Team System)平台。

HP测试平台。

6 SCRUM开发过程

Scrum是敏捷开发中的一种方法。Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。开发软件时我们无法一开始就能定义软件产品最终的规格,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证项目成功。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。

Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于 30 天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。

7需求分析

需求分析描述系统的功能,定义了一个项目开发小组要做什么。在需求分析中要完成以下一些工作:

详细描述系统的功能。

找出角色和用例,画出用例图。

建立需求模型,描述角色和用例之间的交互。

排序用例。将收集的用例按照风险大小依次排列,在迭代开发中,每次迭代优先选择风险大的用例。

需求分析由教师负责,输出<<软件需求规格说明书>>。教师应详细讲解需求分析的内容,使每个开发人员能够清楚地了解系统需求。

8项目计划

项目计划就是将系统功能分配到项目开发周期中。在项目计划中规定每个功能的开始时间点和结束时间点。在为功能分配时间段时,必须考虑各个功能之间的依赖关系,被依赖的功能必须先于依赖功能之前完成。

在重要的时间点设置检查点和里程碑。开发小组长必须每天检查本小组内项目开发的进展情况,确保任务的按时完成。教师要全面了解各小组项目开发的进展情况,对项目进度滞后的小组要督促其加班来完成。

如果在项目开发中,发现项目计划确有不合理的地方,应及时修正。

项目计划的制定和修正由教师负责,输出<<项目计划>>。

9分析和设计

分析和设计就是建立系统架构, 将需求转化到未来系统中去。分析设计的最终目的就是要对需求分析中的用例进行实现。在分析设计中,一般采用层次的设计思想。一个典型的系统由边界层、控制层、实体层组成。边界层对应系统的用户界面,控制层对应系统的业务流程控制,而实体层与数据库交互。

在分析和设计阶段,必须提供如下制品:

类图

包括边界类、控制类和实体类。首先根据业务需求找出分析类以及类之间的关系。然后逐步细化分析类得到设计类,设计类是实现的基础。细化分析类之间的关系得到设计类之间的关系。

用例实现

类设计完之后,下一步就是要用这些类来完成用例实现,即通过类的实例之间的交互实现用例的功能。提供各个用例实现的顺序图。

数据库设计

完成实体类和数据库表之间的映射,实体类之间的关系和数据库表之间的关系的映射。

通讯设计

完成高层通信协议的设计。对C/S系统,必须制定客户端和服务器之间的系统协议和各模块间的协议。协议应考虑扩展性。对C++系统,一般采用结构来定义协议,并通过TCP流的形式传递数据。对JAVA系统,一般采用类来定义协议,并通过TCP传递序列化对象。

框架

采用框架是为了简化系统的开发,提高我们的开发效率。例如对JAVA系统,可选的WEB框架struts,它实现了控制层的功能。对实体层可以选择hibernate 和ejb,它们实现了实体类和数据模型的映射。对业务流程控制可以选择Spring 框架。

分析和设计由教师完成。教师在<<软件需求规格说明书>>的基础上,对系统进行分析和设计,并撰写<<分析设计说明书>>。教师应详细讲解分析和设计的内容,使每个开发人员能够清楚地理解。

10实现

实现是学生在项目实战中要完成的核心工作。学生的主要工作就是根据<<分析设计说明书>>完成编码,从而实现系统的功能。在此阶段要完成的工作包括:小组长根据<<分析设计说明书>>,将实现的内容分配给小组各成员。

搭建开发环境。包括集成开发环境、工具、框架、数据库环境等。

在小组长的带领下,各个小组科学规划代码的存放结构,如目录结构、包结构。

创建数据库,建立数据库对象。

按照分工,小组成员各自完成类的编码(主要是方法和函数的实现)。

完成单元测试。单元测试由开发小组中的每个成员独自完成,主要是完成方法和函数的测试。在单元测试中发现的问题,由小组成员定位并改正。

小组成员协作完成各个用例的实现。一个用例可能涉及到多个层面。如一个登录用例可能涉及到界面、控制、数据库等部分。

建立版本服务器,并将正确的代码合入服务器中。小组长负责管理版本服务器。

小组长合出每次迭代后的新版本。

教师检查各个小组的提供的新版本。

教师应和学生同步进行实现阶段的编码。在实现过程结束时,教师应详细讲解本次迭代的实现代码,并将自己的代码释放给各开发小组以供参考。

11测试

根据实现,完成集成测试和系统测试。

集成测试由开发小组的成员协作完成各个用例的测试。系统测试由开发小组的所有成员共同完成系统的所有用例的测试。

在集成测试中发现的问题,由相关的小组成员集体定位,并由相关的责任人改正。在系统测试中发现的问题,由开发小组长负责组织小组成员集体定位问题,并由相关的责任人改正。

改正后的版本必须经过回归测试。

12部署

将每次迭代后产生的可运行的版本在真实环境中运行,确保最终用户可以正常使用系统。例如,对JAVA系统来说,应用服务器应安装成产品模式。C++系统应提供release版本。开发小组应该按照需求逐一验证系统功能,确保系统功能可用。

13版本控制

版本控制是指对本项目的文档和代码进行集中管理和维护。

每个开发小组应该建立一个版本服务器,由小组长管理。每个小组成员应定期将代码放到版本服务器中。由于各个小组成员完成的是本项目的不同模块,因此小组长应正确管理并发开发和版本冲突,并且在部署阶段合出完整的一个可运行的版本。

14项目宣讲

项目宣讲就是每个开发小组的成员向本项目组或者本班级成员详细讲解项目的开发情况。包括项目是如何组织的,项目的功能,项目的框架、项目的实现、数据库设计以及所有的技术细节,并且要回答教师和其他小组成员提出的问题。

通过此环节的训练,不仅可以使小组各成员了解其他成员所开发的模块,达到各个模块融合的目的,而且锻炼了学生的表达能力,为学生面试打下基础。

15项目评价

教师总结所有开发小组的项目完成情况,指出项目开发过程中存在的问题,给开发小组提出指导性的改进意见,最后为每个开发小组做出评价。

16项目清单

嵌入式项目阶段

项目实战内容包括:PDA、MP3、MP4、手机、IC卡门禁系统、GPS导航仪等嵌入式产品软件开发项目可选择。

1、PDA项目:采用WinCE或者嵌入式Linux操作系统,实战内容包括BootLoader编程、UI编程、应用程序编程。

2、MP3项目:采用C语言编程,在矩力MP3芯片平台上编写UI。

3、MP4项目:在Sunplus 芯片平台,学习编写MP3、MP

4、FM、图片浏览等模块程序。

4、手机项目:在MTK手机平台上,学习编写电话簿、短信、MP3、MP4、数码相机的模块软件。

5、GPS导航仪项目:在三星2440平台上,采用WinCE操作系统,学习编写GPS导航仪模块软件。

6、另外还有更多实际产品开发工作,可提供学员参与。

C++项目阶段

A. 数据库实践

(一) SQL Server(1)

1. 数据库的体系结构介绍

2. 标准SQL的数据类型

3. 表的设计。表内的约束:主键,唯一,检查。索引。

4. 表之间的关系的设计。包括一对一、一对多、多对多。表间的外键约束。

5. 数据操作语句

6. 常用函数

7. 关联查询

8. 嵌套查询

9. 连接查询

(二) SQL Server(2)

1. T-SQL的基本语法

2. 数据类型

3. 变量

4. 条件分支

5. 循环控制

(三) SQL Server(3)

1. 视图

2. 游标

3. 过程

(四) SQL Server(4)

1. 函数

2. 触发器

3. 事务

4. ADO和ODBC编程

B. 实战项目

i. 类UC语音视频网络聊天室:文本,语音,视频聊天集于一体,重点掌握网络和多线程序编程,数据压缩,传输。

ii. 远程教学系统:实现远程教学,屏幕传输,课件文件设计,制作,播放,声音,视频传输,数据库管理。

iii. 类QQ游戏大厅:管理游戏用户登陆,游戏下载,房间管理,实现1-2个最基本的多人在线游戏,如斗地主,拱猪,升级等。

iv. 类雷霆战军3D游戏:运行Direct3D技术,强调设计模式,在线多人游戏,实现通关功能,界面和逻辑分离思想,外挂制作技术原理。

v. CVT版本控制工具:三层架构,实现软件项目管理,人员管理,权限管理,版本控制,项目数据外部备份,文件的签入签出,文件蒙合操作,文件历史对比,项目人员在线沟通功能。

高级软件工程师简历

高级软件工程师简历 以下是关于高级软件工程师简历范文的文章! 姓名:XXX 三年以上工作经验 | 男 | 31岁 居住地: 电话: E-mail: 最近工作 [3 年3个月] 公司:XXX集团(上海)有限公司 行业:计算机软件 职位:高级软件工程师学历 学历:硕士 专业:计算机信息管理 学校:上海复旦大学 目前年薪: 10-15万人民币 基本工资: 10万元/年 求职意向 到岗时间:一个月内 期望月薪: 10000-14999/月 目标职能:电子商务,软件工程师,系统工程师,数据库工程师/管理员,网络工程师,技术支持/维护工程师

工作经验 20XX /8--至今:XXX集团(上海)有限公司(500人以上)[ 5年3个月] 所属行业:计算机软件 软件事业部高级软件工程师 部门核心人员,担任项目主管 20XX /9--20XX /7:上海XXXX集团 [ 1年10个月] 所属行业:计算机软件 软件开发部软件工程师 任职期间参与了3个软件项目的开发。 教育经历 20XX /9--20XX /7 上海大学电子商务本科 主修课程:银行信息管理系统、管理信息系统、数据库技术、ERP、网络营销、工商管理模拟、管理中的定量方法、商务沟通、会计学、证券投资学、西方经济学等 所获奖项 20XX /10 上海大学人民奖学金三等校级 20XX /10 上海大学人民奖学金三等校级 社会经验 20XX /10--20XX /12 上海大学校学生会外联部 从事校学生会的外事接洽事宜,与兄弟院校建立长期稳定的合作伙伴关系,并在某些事务上展开合作

语言能力 英语 (熟练) 培训经历 20XX /3--20XX /5 上海新东方学校 BEC高级 培养了一定的商务英语听说读写能力,商务写作能力良好 证书 20XX /10 大学英语六级 20XX /3 大学英语四级 项目经验 20XX /7--至今 XXX保险核心业务系统项目 软件环境 Windows XP 开发工具 Graph talk 项目描述使用XXX公司的FUTURE FIRST平台,搭建XXXX 核心业务寿险系统。 责任描述担当项目主管,以及部分业务的编码与测试IT技能 技能名称熟练程度使用时间 DreamWeaver 熟练 6月 Oracle 熟练 6月 MS Office 精通 20月 自我评价

2018年软考上半年数据库系统工程师考试真题(下午题)(同名17553)

2018年软考上半年数据库系统工程师考试真题(下午题)(同名17553)

2018年上半年数据库系统工程师考试真题(下午题) 试题一(共15分) 阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某医疗护理机构为老人或有护理需求者提供专业护理,现欲开发一基于Web的医疗管理系统,以改善医疗护理效率。该系统的主要功能如下: (1)通用信息查询。客户提交通用信息查询请求,查询通用信息表,返回查询结果。 (2)医生聘用。医生提出应聘/辞职申请,交由主管进行聘用/解聘审批,更新医生表,并给医生反馈聘用/解聘结果;删除解聘医生出诊安排。 (3)预约处理。医生安排出诊时间,存入医生出诊时间表;根据客户提交的预约查询请求,查询在职医生及其出诊时间等预约所需数据并返回;创建预约,提交预约请求,在预约表中新增预约记录,更新所约医生出诊时间并给医生发送预约通知;给客户反馈预约结果。 (4)药品管理。医生提交处方,根据药品名称从药品数据中查询相关药品库存信息,开出药品,更新对应药品的库存

以及预约表中的治疗信息;给医生发送“药品已开出”反馈。 (5)报告创建。根据主管提交的报表查询(报表类型和时间段),从预约数据、通用信息、药品库存数据、医生以及医生出诊时间中进行查询,生产报表返回给主管。 现采用结构化方法对医疗管理系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

【问题1】(3分) 使用说明中的词语,给出图1-1中的实体E1~E3的名称。【问题2】(5分) 使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

高级软件工程师月考试试题A卷带答案

高级软件工程师考试试题(A卷) 1、下哪种命名空间中的类型用于创建Windows GUI应用程序。(选择1项) D、System.ServiceProcess 2、判断这PL/SQL代码块:(选择1项) BEGIN FOR i IN 1..6 LOOP IF i = 2 OR i = 3 THEN n ull; ELSE INSERT INTO example(o ne) VALUES (i); END IF; ROLLBACK; END LOOP; COMMIT; END; 有多少行被插入到表EXAMPLE ? A、0 B、1 C、2 D 3 3、链表具有的特点是:(选择3项) A、不必事先估计存储空间 B、可随机访问任一元素 C、插入删除不需要移动元素 D、所需空间与线性表长度成正比 4、序列图描述对象是如何交互的并且将重点放在消息序列上。(选择1项) A、正确 B 、不正确

5、一个XML必须有DTD或Schemas (选择1项)

A、正确 B、不正确 6、动态网站需要的技术为。(选择3项) A 、CGI B 、 HTTP C 、 ASP D PHP 7、Linux文件名的长度不得超过()个字符?(选择1项)。 A、64 B、128 C、256 D 512 8、在Struts中实现页面跳转主要通过什么方法来实现?(选择1项) A server.transfer B response.redirect C mapping.findForward D response.sendRedirect 9、EJB的优点有哪些?(选择2项) A、技术领先 B价格低廉 C性能优越 D强大的容器支持 10、在使用匿名登录ftp时,用户名为()?(选择1项) A log in users B、a nonymous C、r oot D guest 11、你判断下面语句,有什么作用?(选择1项) GRANT update ON inven tory TO joe WITH GRANT OPTION; A、一个系统权限被授予用户JOE

软件工程师的考试要求

软件工程师的考试要求 软件工程师证书,是有社会培训机构通过培训考核发给的有关证书。与国家计算机软件水平资格考试不一样。 如JAVA如件工程师,其培训内容包括: 初级部分: 1. Java 面向对象程序设计、Java API使用、数据结构及算法基础、Java高级类特性、异常处理; 2. AWT及Swing图形程序设计、流、网络程序设计、对象序列化、Applet、多线程程序设计、Java应用国际化基础; 3. Java桌面系统项目开发; 4. Java编程基础提高课程:反射机制、设计模式(I)、正则表达式,Java SE 5.0新特性等; 5. 基于Oracle的数据库开发及管理、数据库设计、标准SQL、PL/SQL编程; 6. JDBC、JSP2.0、Servlet2.4、JavaBean编程;Tomcat服务器使用、Jbuilder及Eclipse 等集成开发环境; 7. Linux操作系统中的Java程序开发、Linux系统管理; 8. Java Web编程提高课程:JDBC进阶、高效分页处理、过滤器使用技巧、Struts中动态表单验证、DispatchForm等; 高级部分 1. MVC设计模式、Struts架构核心工作机制、国际化、验证框架、Struts Taglib、ORM基础、基于Hibernate的企业级应用; 2. JavaME手机游戏设计、界面程序设计、数据库程序设计、手机短信、多媒体短信(彩信)开发; 3 .JavaEE核心技术、XML、Web Service、异构系统整合、分布式应用开发、WebLogic和JBoss等应用服务器; 4 .CMM、UML与系统建模和设计、Rational Rose、软件工程和软件过程模型、版本控制及设计模式;

高级软件工程师月考试试题A卷带答案

高级软件工程师考试试题(A卷)1、下哪种命名空间中的类型用于创建Windows GUI应用程序。(选择1项) D、 2、判断这PL/SQL 代码块:(选择1项) BEGIN FOR i IN 1..6 LOOP IF i = 2 OR i = 3 THEN null; ELSE INSERT INTO example(one) VALUES (i); END IF; ROLLBACK; END LOOP; COMMIT; END; 有多少行被插入到表 EXAMPLE ? A、0 B、1 C、2 D、3 3、链表具有的特点是:(选择3项) A、不必事先估计存储空间 B、可随机访问任一元素 C、插入删除不需要移动元素 D、所需空间与线性表长度成正比 4、序列图描述对象是如何交互的并且将重点放在消息序列上。(选择1项) A、正确 B、不正确

5、一个XML必须有DTD或Schemas。(选择1项) A、正确 B、不正确 6、动态网站需要的技术为。(选择3项) A、CGI B、HTTP C、ASP D、PHP 7、Linux 文件名的长度不得超过( )个字符?(选择1项)。 A、64 B、128 C、256 D、512 8、在Struts中实现页面跳转主要通过什么方法来实现?(选择1项) A、 B、 C、 D、 9、EJB的优点有哪些?(选择2项) A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持 10、在使用匿名登录ftp时,用户名为( )? (选择1项) A、login users B、anonymous C、root D、guest 11、你判断下面语句,有什么作用?(选择1项)

计算机考试软件工程师试题

考号:006姓名:006剩余时间:01:29:40IP:192.168.0.26网络连接:● 2010年(下)全国信息技术水平考试计算机程序设计技术水平证书(JAVA语言) 考试试卷 第一大题:单选题(30 分) 1. (1分) 下列叙述中正确的是( D ) (A) Java程序经编译后会产生machine code (B) Java程序经编译后会产生byte code (C) Java程序经编译后会产生 DLL (D) 以上都不正确 2. (1分) 下列说法中正确的是( C ) (A) 类中的构造方法声明不可省 略 (B) 构造方法必须与类同名,构造方法返回值为 void (C) 构造方法在一个对象被new时执行 (D) 一个类只能定义一个构造方法 3 . (1分) JDBC常用的类和接口都包含在( A )包中。 (A) java.sql (B) java.awt (C) https://www.wendangku.net/doc/6d6869470.html,ng (D) java.swing 4. (1分) 执行下列程序后,C的值是( C ) public class Test{ public static void main(String arg[]){ int a=0,c=0; do{ --c; a=a-1; }while(a>0); } } (A) 0 (B) 1 (C) -1 (D) 死循环 5. (1 若有int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( A )

分) (A) public int MAX_LENGTH=100 (B) final int MAX_LENGTH=100 (C) public const int MAX_LENGTH=100 (D) public final int MAX_LENGTH=100 6. (1分) 在程序中import,package,class出现的正确顺序是( ) (A) import package class (B) package import class (C) package class import (D) import class package 7. (1分) 下列方法中可以用来创建一个新线程的是( ) (A) 实现https://www.wendangku.net/doc/6d6869470.html,ng.Runnable接口并重写start()方法 (B) 实现https://www.wendangku.net/doc/6d6869470.html,ng.Runnable接口并重写run()方法 (C) 实现https://www.wendangku.net/doc/6d6869470.html,ng.Thread类并重写sleep()方法 (D) 实现https://www.wendangku.net/doc/6d6869470.html,ng.Thread类并重写start()方法 8. (1分) 下列程序的输出结果是( ) public class Test{ public static void main(String[] args){ String a=new String("A"); String b=new String("B"); oper(a,b); System.out.println(a+","+b); } static void oper(String c,String d){ c.concat("B"); d=c; } } (A) A,A (B) 编译正确,运行时将产生错

高级软件工程师个人简历

x x x专业个人简历姓名:*** 性别:男 出生日期:1974-11-29 籍贯:内蒙 目前城市:北京市工作年限:五年以上 目前年薪:6-8万人民币联系电话: E-mail:(邮件&MSN) 请换成自己的真实信箱! 应聘方向 求职行业:计算机软件,计算机服务(系统、数据服务,维修) ,通信/电信/网络设备,通信/电信运营、增值服务,互联网/电子商务 应聘职位:高级软件工程师,软件工程师,系统分析员,系统架构设计师,项目经理 求职地点:北京市薪资要求:8000-9999/月工作经历 2006/09—现在***公司 所属行业:计算机软件 智能交通研究院高级软件工程师 主要职责: 前期负责高速公路交通监控项目的前期需求分析和设计工作,3月份 开始参与高速公路收费系统,分析需求和设计编码。 2005/04—2006/08 &&科技有限公司 所属行业:服装/纺织/皮革 研发部门高级软件工程师 主要职责: 1. 根据需求分析,负责相关模块的设计开发维护工作。 2. 项目的编码和单元测试。 2004/03—2005/04 **软件有限公司西安研发中心(轻松软件) 所属行业:计算机软件 系统开发部高级软件工程师 主要职责: 通用管理软件数据平台3.0/3.1的部分模块的设计,开发工作,并在 在项目中担任过程管理协调员。 2001/04—2003/09 **青鸟科技股份有限公司 所属行业:计算机软件 流通事业部软件工程师 主要职责:

流通业管理系统JBCMIS5.0的开发,并参与项目实施,客户化开发 等工作。 1997/01—2001/02 **中科贸有限公司 所属行业:计算机软件 网络工程部/软件开发部软件工程师 主要职责: 网络工程,软件开发。有多年的网络工程施工调试经验,并参与开发 设计了医保、住房公积金、企业咨询网站和计委报送系统等软件。项目经验 2006/10—至今高速公路收费/监控系统 软件环境:oracle/Windows 硬件环境:PC/PC服务器/局域网 开发工具:Delphi/VC 项目描述:高速公路的监控系统,设计设备管理,路网间数据通讯, 报警和预案处理等功能。收费系统分为站级、分中心和中心三大系统, 主要围绕高速公路收费对车道收费、费用缴交、IC卡管理、报表等 功能的设计开发。 责任描述:前期负责监控系统的维护开发,后面负责收费系统中费用 缴交、IC卡管理等模块进行设计及开发。 2005/04—2006/08 CGM-ERP项目 软件环境:Window 2000 硬件环境:PC 开发工具:Delphi/SQL Server 项目描述:针对CGM集团下属服装工厂提供ERP开发服务。 责任描述:负责仓库管理、样品管理模块的设计开发和维护。 2004/03—2005/04 数据平台3.0/3.1 软件环境:Windows/linux 开发工具:Delphi/java sql server/oracle 项目描述:由设计器/运行器/报表构成的业务平台系统。通过对用户 的业务进行分析,对象化用户业务,使用户可以自定义系统,目标是 不用编程即可完成信息管理系统的定制开发。该系统已在南方电网, 广东移动的部分项目中成功运行。极大的满足了客户的需求。 责任描述:担任了业务设计,业务报送,地图查询,表单设计系统管 理等模块和部分基础库的设计开发工作。同时还担任了SQA协调员 的工作,负责西安研发中心的过程审计和广州协调同步。

软件工程师考试大纲

一、考试说明 1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟悉掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。 2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。 3.本考试设置的科目包括: (1) 计算机与软件工程知识,考试时间为150分钟,笔试; (2) 软件设计,考试时间为150分钟,笔试。

二、考试范围 考试科目 1.计算机科学基础 1.1 数制及其转换 二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)非数值表示(字符和汉字表示、声音表示、图像表示) 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 计算机中的二进制数运算方法 逻辑代数的基本运算和逻辑表达式的化简 1.4 数学基础知识 命题逻辑、谓词逻辑、形式逻辑的基础知识 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) 排列组合、概率论应用、应用统计(数据的统计分析) 运算基本方法(预测与决策、线性规划、网络图、模拟) 1.5 常用数据结构 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 Hash(存储地址计算,冲突处理)

高级软件工程师岗位职责

高级软件工程师岗位职责 工作描述:职责:公司网络项目的售前售后和代理产品的推广,具体包括:项目的网络规划与设计,技术解决方案制定,投标文件制作,项目实施与维护;负责array networks产品的全省巡回推广活动,并担任主讲。 中国的IT行业的就业形势一直呈上升趋势,中国软件市场保持稳定增长,2020年已达62.3亿美元,市场增长潜力巨大。在技术领域,高级软件工程师也一直是各个公司极为需要的。 岗位描述: 1、高级专业技术人员职位,独立负责工作小组,给下级成员提供引导或支持并监督他们的日常活动; 2、参与软件产品项目规划工作,制定具体项目实施方案; 3、整合并优化项目开发所需各种资源; 4、负责软件开发技术和规范及标准流程的改进; 营销中心是作为一个整体进行规划和核算的,一线工作人员、后勤人员、主管领导的三向互动沟通是内在的要求和发展的保障。营销中心需要及时、全面、顺畅地了解每个区域的一线状况,以便随时调整策略,任何知情不报、片面汇报的行为都是不利于整体发展的。 西澳大学工程系的毕业生就业率为100,通常学生毕业前已经同时接到几家不同大公司的聘书,起薪点目前是年薪七万到十二万澳元 5、参与软件系统的设计和分析; 公示无异议的考生将获得我校自主招生考核资格,请于5月10日-5月20日在“试点高校自主招生报名系统”( https://www.wendangku.net/doc/6d6869470.html,/zzbm/)中确认考试、通过网上银行缴纳报名考试费100元,并可打印准考证。我校2020年自主招生考核将于6月10日在武汉理工大学南湖校区进行现场确认,于6月11日进行测试,具体测试安排将于5月底在我校招生信息网发布。 2020年04月17日香港中金国际投资有限公司温州代表处在互联网上公布招聘期货行情分析/程序化交易软件工程师信息,主要内容为以下:

软件工程师职称评定的级别及标准

欢迎阅读软件工程师职称评定的级别及标准 一、见习程序员(AP:assistant?programmer)? 1、计算机相关专业毕业;英语通过国家四级。? 2、具有较强的学习能力,可以编写代码,达到公司的工作要求。? 基本要求:? 1、获得程序员资格1年以上;或满足程序员级别标准,2年以上相关行业工作经验。? 2、完成年度工作量指标;具有较强的沟通能力和责任心。?

3、所承担的项目满意度达到满意以上。? 技术能力要求:? 1、精通一种主流语言及对应的开发工具;精通数据结构。? 2、具有较好的业务理解能力和技术调查能力。? 3、编写高质量代码并具有代码审查能力。? 3、担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。? 4、所负责的项目客户满意度达到满意以上。? 技术能力要求:? 1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至

少一种操作系统知识。? 2、能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。? 3、具有系统设计能力及系统提案能力。? 4、对系统或项目的技术框架有深入的认识和较丰富的经验。? 4、带领的项目客户满意度满意以上。? 5、完成年度培训工作。? 技术能力要求:? 1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。?

2、具有整体系统设计能力及系统提案能力。? 3、具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。? 4、深入了解某一领域的行业知识。? 5、具有大型项目领导能力。? 6、*语达到*级并相当于*级水平,熟练会话和编写*语技术文档。? 间件。熟练掌握至少一种操作系统。? 2、熟练掌握软件需求分析/大型项目的策划。? 3、熟练掌握软件的系统设计。? 4、熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问?题的能力。?

高级软件工程师职业生涯规划-职业生涯规划

高级软件工程师职业生涯规划-职业生涯规划-第一范文网 在我上初中的时候,我接触到了一种名叫basic的程序汇编语言.当我第一眼看到它时,我就梦想着能有一天成为控制计算机的主人.而在我进入了大学后更是学会了理性地看待我的目标,在对自身作出了比较全面而客观的分析和比较后,我选择了高级软件工程师作为我大学四年甚至整个人生的奋斗目标... 一.高级系统工程师的职业定义: 高级软件工程师是it行业中的重要岗位.根据开发进度和任务分配,完成相应模块软件的设计、开发、编程任务;进行程序单元、功能的测试,查出软件存在的缺陷并保证其质量;进行编制项目文档和质量记录的工作;维护软件使之保持可用性和稳定性.软件开发是一个系统的过程,需要经过市场需求分析、软件代码编写、软件测试、软件维护等程序.软件开发工程师在整个过程中扮演着非常重要的角色,主要从事根据需求开发项目软件工作. 二.行业背景和发展前途: 软件和信息服务外包产业已成为各个国家经济发展的重点.从增加值角度来看,同样金额的出口,服务外包对中国经济的贡献是来料加工的20倍以上;从能源消耗上看,服务外包单位gdp能耗仅为制造业的20%.这在中国政府大力倡导可持续发展战略以及大力发展高技术第三产业的主旋律下是适应中国经济发展,也是符合中国社会客观需求的.可以看到的是,未来中国软件和信息服务外包产业发展空间巨大,其原因有三:首先是具有成本优势,中国低成本的竞争优势是全世界公认的.第二,具有人力资源优势,中国是世界上人力资源极为丰富的国家,软件和信息服务外包服务业是劳动密集型产业,中国未来在软件和信息服务外包

业内将成为全球最具竞争力的转移承接地.第三,中国有非常庞大的国内市场,这是中国吸引跨国公司进入很重要的一个原因. 但与发展潜力不对称的是,现今中国软件和信息产业人才相当缺乏,据调查研究显示,当前中国软件和信息服务外包产业人才流动率较高,而且缺口很大.企业成立时间比较短,规模大多比较小,企业人才平均流动率达18.28%,这和缺乏培训、业务来源不稳定、报酬机制不够合理等因素有关.同时由于产业发展迅速,人才供不应求,尤其是本地化人才和中高级管理人才. 市场需求的巨大和专业人才的缺乏令人吃惊,但这正是商机和盈利的重要突破口.可以预见,中国软件和信息服务外包产业将在不久的将来成为引领中国第三产业转型和发展的龙头产业,相关职业包含高级软件工程师的人才需求将会非常巨大. 三.职业所需基本技术及素质: 1.编程开发工具. 至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本.c/c++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用c/c++编写.而java的跨平台和与web很好的结合是java的优势所在.其次,如果能掌握一种简便的可视化开发工具,如vb,powerbuilder,delphi,c++builder,则更好,这些开发工具减小了开发难度,并能够在无形中强化对象模型的概念.另外,需要掌握基本的脚本语言,如shell,perl等. 2.数据库. 数据库在当今的信息外包产业是很重要的.很多应用程序都是以数据

软件工程师笔试试题(Java)库及答案

软件工程师笔试试题(JAVA) 一、填空题 (10分) 1.执行下列代码后的结果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++; 2.包包含了Collection的接口和类的API 3.main方法的声明格式包括 4.下列程序中构造了一个SET并且调用其方法add(),输出结果是 public class A{ public int hashCode(){return 1;} public Boolean equals(Object b){return true} public static void main(String args[]){ Set set=new HashSet(); set.add(new A()); set.add(new A()); set.add(new A()); System.out.println(set.size()); } } 5.下列程序的运行结果是 class A{ class Dog{

private String name; private int age; public int step; Dog(String s,int a) { name=s; age=a; step=0; } public void run(Dog fast) { fast.step++; } } public static void main (String args[]){ A a=new A(); Dog d=a.new Dog("Tom",3); d.step=25; d.run(d); System.out.println(d.step); } } 二、选择题 (20分)

java高级软件工程师面试题

java高级软件工程师面试题 招聘java高级工程师,职位描述如下,有兴趣的加394504340交流,打扰了,谢谢! 职位名称:java高级开发工程师(急) 职位描述:互联网产品的开发和维护。 职位要求:1. 熟悉JAVA、J2EE体系结构,熟练掌握Spring、Struts、Hibernate、ibatis 的开发技术。 2. 熟悉MySql等数据库开发,熟练掌握SQL语句,有较好的数据库设计能力。 3. 熟练掌握HTML、javascript、ajax等web开发技术,熟悉http协议。 4. 熟悉SVN、Maven、Junit等工具。 5. 具有良好的学习能力、沟通能力,乐于承担工作压力。 6. 有大型门户或社区网站开发经验者优先。 职位所在城市:杭州 职位所在行业:高科技 -------------------------========================================================= 1.说一下struts中常用的对象 2.怎样整合apatche和tomcat 3.说一下在linx系统中搭建服务器 4.简述一下sql server 建模 5.请写一个程序,把一个10进制转换成16进制 6.表student 列id name age WA(本科以上,大专,高中,初中以下) 毕业学校ID,学校信息表 问:统计出文化学历本科以上,大专,高中,初中以下,每个年龄各有多少人(一条SQL语句) 7.有两位少年从隧道的一端向另一端行走.当他们走过隧道的五分之二时,发现隧道外面迎来一辆火车.火车很快就要进入隧道.两位少年向来时隧道跑去.两位少年都是每小时10公里.两位在千钧一发跑出了隧道.假设火车速度恒定,并且两位少年都在瞬间达到最大速度,请问火车的速度 8.请写出常用的oracle语句及说明,存储过程的语句及说明 ---------------------------------------------------------------------------------------------------------------------------------

2018年软件工程师上半年考试(下午试题)

2018年上半年软件设计师(高级程序员)下午试题 试题一 阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。 [说明] 某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。 房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号 码,并报告关于位置和检测到的事件的性质等信息。

[数据流图1-3]

加工4的细化图 [问题1] 数据流图1-1(住宅安全系统顶层图)中的A和B分别是什么? [问题2] 数据流图1-2(住宅安全系统第0层DFD图)中的数据存储“配置信息”会影响图中的哪些加工? [问题3] 将数据流图1—3(加工4的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名称. [问题4] 请说明逻辑数据流图(LogicalDataFlowDiagram)和物理数据流图(PhysicalData Flow Diagram)之间的主要差别。 试题二 阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。[说明] 算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示: 文件提示信息 (1+2) abc) 缺少对应左括号:第2行,第4列 ((def)gx)) 缺少对应左括号:第3行,第10列 (((h)

高级软件工程师

高级软件工程师 1.职业描述: 高级软件工程师主要负责研发公司应用软件的模块设计、开发和交付,单元测试,按照功能组件的详细设计,对其他软件工程师的代码进行审核以及对后期软件进行相关的的评估。 2.职业核心工作内容: 1.软件的程序设计与代码编写 2.有关技术方案、文档的编写 3.软件单元的测试 4.根据项目具体要求,承担开发任务,按计划完成任务目标 5、配合系统分析人员完成软件系统及模块的需求调研与需求分析以及设计 6、独立完成软件系统及模块的编码 7、协助测试人员完成软件系统及模块的测试 3.职业发展前景 信息产业是二十一世纪最具发展前景的工作领域之一,随着经济技术的持续快速发展,信息技术越来越展现出其突出的重要性。二十一世纪是信息时代,所以计算机科学也必然有着广阔的市场与发展前景,未来对于软件工程师的需求量也会越来越大。虽然整体上IT业不是很景气,但对于高级软件工程师的需求从未减少过,相比反而增长!只是大部分高校毕业生难以满足企业的需求,缺少实用型人才。所以从总的趋势看,只要认真打好基础,提高自身的实际应用与就业能力,未来的信息产业的发展还是很光明的。 4.职业对社会和生活的影响: 如今,智能手机,个人PC已经走进千家万户,成为每个人生活中难以或缺的一部分。而软件正是这些智能设备的灵魂。软件工程师作为软件的开发者,为人们带来更加精致实用的软件,无疑对社会,对每个人都有着巨大的影响。可以说,没有软件工程师,就没有现在移动

智能终端带给人们生活的众多便利。对于软件工程师个人,由于这个工作工作时间较长,压力较大,可能会影响自己与家人的相处时间,相应的休闲时间也会相应减少。很多软件工程师无奈走入“单身贵族”的行列。但总的来说,还是会有一定的空余时间供自己支配。总之,这种职业的生活节奏是比较快的,尤其是在外企工作,工作压力较大,对于自己的婚姻、家庭、休闲也会受到一定的影响。 5.薪资待遇以及潜在收入空间: 薪水往往与其工作经验有较大的关系。按照不同的工作阶段基本可以划分不同的薪金水平。按广工大毕业生的水平来说,本科毕业生直接进入到IT行业平均月薪可以达到四五千,博士毕业生可以拿到15万-20万的年薪,这是因为博士生已经在学校里有了很长时间的研究和工作经验。虽说薪金水平和工作经验有关,但软件方面的工作可以被称为“青春饭”,因为这项工作压力较大,耗费精力也很多。随着年龄的增长,一些把握住机会的人的薪金可以达到很高的水平(50万-100万),并且呈上升趋势,而那些没把握住机会的人,他们的薪水并不会有较多的增长。 6.岗位设置及不同行业、企业间的差别以及入门岗位及其职业发展通路: 我将软件工程师的职业路径分为三个阶段: (1) 初级阶段:在这个阶段,所作的工作相当于普通的软件开发和编程人员,主要进行一些小的程序开发,熟练技术工作,学习一些与自己工作发展方向有关的技术知识。这是为以后在技术工作方面取得成就的基础阶段。 (2) 发展阶段:逐步在公司的一些大型研究项目中发挥更加重要更加核心的作用,对于大部分编程语言以及算法能熟练掌握,对于技术运用纯熟,成为软件开发的高级人才。 (3) 高级阶段:由技术型人才逐渐向管理型人才转化,由于自己的技术能力以及管理经验在自己的工作领域成为公司的中坚力量,能领导一些企业大型项目,对于自己的研究项目有独到的见解,传授刚刚进入职场的职员一定的工作经验。为企业以及该领域培养后备力量,这是职业生涯路径的最后阶段,也是职业生涯路径最辉煌的阶段。 大致的职位路径:程序员——助理工程师——工程师——高级工程师——企业CEO

2018年软考上半年数据库系统工程师考试真题(下午题)

2018 年上半年数据库系统工程师考试真题(下午题) 试题一(共15 分) 阅读下列说明和图,回答问题 1 至问题4,将解答填入答题纸的对应栏内。 【说明】 某医疗护理机构为老人或有护理需求者提供专业护理,现欲开发一基于Web的医疗管理系统,以改善医疗护理 效率。该系统的主要功能如下: (1)通用信息查询。客户提交通用信息查询请求,查询通用信息表,返回查询结果。 (2)医生聘用。医生提出应聘/ 辞职申请,交由主管进行聘用/ 解聘审批,更新医生表,并给医生反馈聘用/ 解聘结果;删除解聘医生出诊安排。 (3)预约处理。医生安排出诊时间,存入医生出诊时间表;根据客户提交的预约查询请求,查询在职医生及 其出诊时间等预约所需数据并返回;创建预约,提交预约请求,在预约表中新增预约记录,更新所约医生出诊时间 并给医生发送预约通知;给客户反馈预约结果。 (4)药品管理。医生提交处方,根据药品名称从药品数据中查询相关药品库存信息,开出药品,更新对应药 品的库存以及预约表中的治疗信息;给医生发送“药品已开出”反馈。 (5)报告创建。根据主管提交的报表查询(报表类型和时间段),从预约数据、通用信息、药品库存数据、医 生以及医生出诊时间中进行查询,生产报表返回给主管。 现采用结构化方法对医疗管理系统进行分析与设计,获得如图1-1 所示的上下文数据流图和图1-2 所示的0 层数据流图。

【问题1】(3 分) 使用说明中的词语,给出图1-1 中的实体E1~E3 的名称。 【问题2】(5 分) 使用说明中的词语,给出图1-2 中的数据存储D1~D5的名称。 【问题3】(4 分) 使用说明和图中的术语,补充图1-2 中缺失的数据流及其起点和终点。 【问题4】(3 分) 使用说明中的词语,说明“预约处理”可以分解为哪些子加工?并说明建模图1-1 和图1-2 如何保持数据流图平衡?

软件工程师考试题

软件工程试题 一、单项选择题(每题1分,共10分): 1.()计算机系统就是: A)主机,显示器,硬盘,软驱,打印机等。 B)CPU,存储器,控制器,I/O接口及设备。 C)计算机硬件系统和软件系统。 D)计算机及其应用系统。 2.()产生软件危机的原因主要与两个方面的问题有关: A)软件在计算机中很难识别,存在磁盘中也看不到。 B)软件设计对人的智商要求很高,也要求很高的资金投入。 C)软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的 方法不正确。 D)软件很难理解,硬件也很复杂。 3.()软件开发瀑布模型中的软件定义时期各个阶段依次是: A)可行性研究,问题定义,需求分析。 B)问题定义,可行性研究,需求分析。 C)可行性研究,需求分析,问题定义。 D)以上顺序都不对。 4.()软件维护的四类维护活动是: A)改正性维护,适应性维护,完善性维护和预防性维护。 B)适应性维护,完善性维护,抢救性维护和辅助性维护。 C)改正性维护,适应性维护,完善性维护和辅助性维护。

D)适应性维护,完善性维护,抢救性维护和预防性维护。 5.()可行性研究主要从以下几个方面进行研究: A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 6.()系统逻辑模型主要由以下内容: A)数据流程图,数据字典,简要的算法描述。 B)程序流程图,Jackson图,IPO图。 C)数据流程图,数据字典,ER图。 D)Jackson图,ER图,IPO图。 7.()耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: A)内容耦合,控制耦合,数据耦合,公共环境耦合。 B)内容耦合,控制耦合,公共环境耦合,数据耦合。 C)内容耦合,公共环境耦合,控制耦合,数据耦合。 D)控制耦合,内容耦合,数据耦合,公共环境耦合。 8.()在详细设计阶段所使用到的设计工具是: A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树. B)数据流程图,Yourdon图,程序流程图,PAD图,N-S图,HIPO图。 C)判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图。 D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。 9.()按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:

c++高级软件工程师

C++高级软件工程师 2010-09-27 14:09:24 [点击次数:1277] C/C++嵌入式高级软件工程师培训课程专注于培养企业需求量大,就业率高,目前人才市场紧缺的C++高级软件工程师、嵌入式软件工程师以及系统分析师。 本课程将C++和嵌入式有机地结合起来,培训内容包括理论知识强化、实际案例训练、企业项目实战等内容,让学生扎实掌握C++和嵌入式编程的各项关键技术,获得C++和嵌入式软件开发丰富的项目经验,为学员高质量高薪就业打下扎实的基础。 C/C++嵌入式高级软件工程师教学大纲由资深C++嵌入式领域专家根据嵌入式系统的设计原则和市场要求设计和制定,实践证明本教学大纲科学合理,能够快速培养实用的C++嵌入式工程师。通过培训可以获得扎实的开发技能,积累至少相当二年的工作开发经验。 本课程系统介绍了C++开发环境和IDE介绍、C语言、C++/OOP程序设计、GP和标准模板类库(STL)、Windows编程、Visual C++/MFC程序设计、网络编程技术、数据库编程技术、Unix/Linux编程、面向对象的系统分析与设计方法、计算机系统的基本原理,操作系统、接口技术、嵌入式系统开发详解等基本知识。通过这些知识的学习,让学生掌握C++的关键技术和嵌入式系统开发的基本原理和设计方法,并通过实际项目的开发,让学生掌握嵌入式系统开发的整个流程,操作系统移植的基本思想、移植原则,应用程序及驱动程序的开发和调式方法。 由有关专家、学者和优秀的一线资深C++嵌入式工程师,集合国际先进嵌入式技术和理论,对嵌入式开发过程进行综合分析,结合最新的软件开发环境,进行实际案例的培训;实战训练贯穿于全部课程中,学员学练结合、学以致用,以培养实际工作能力,快速获得项目经验。每半月进行一次测试,确保学员掌握所学知识。 目录 第1部分:LINUX操作系统基础入门 第1天 LINUX操作系统基础 第2天 LINUX基本命令 第3天 LINUX下C编程基础 第2部分 C/C++编程

.NET高级软件工程师个人简历模板

.NET 高级软件工程师个人简历模板 姓 名: 简历模板 国 籍: 中国 个人照片 目前住地: 所在地 民 族: 族 户 籍 地: 所在户籍 身高体重: XXX cm XX kg 婚姻状况: 未婚 年 龄: XX 岁 求职意向及工作经历 人才类型: 普通求职 应聘职位: 工作年限: X 职 称: XXX 求职类型: 均可 可到职日期: 即可工作时间 月薪要求: xxx-xxx 希望工作地区: 希望地区 工作经历: 2011.06 - 至今 北京**网络技术有限公司 (1年11个月) 研发部 | 项目负责人主管 | 8001-10000元/月 互联网/电子商务 | 企业性质:民营 | 规模:100-499人 工作描述: 微网搜索与收藏(https://www.wendangku.net/doc/6d6869470.html,/) 项目描述: 主要是搜索微型网站,类似于百度,google 搜索 同,我们搜索的是微型的网站,作为推广及展示等。一方面为的产品 头头网(https://www.wendangku.net/doc/6d6869470.html,) 名下网站,另一方更好的搜索有用的信息,以一种网站的形式展示给用户,提供享的理念。 责任描述:本项目担任项目组长职责,负责项目跟进,提出解讨,测试管理(包括版本发布,跟进等)。负责模块有,一期主搜索模块,后台用户,发布信息模块。二期因数据量达到几十有明显增长趋势,我们采用分布式技术。用户搜索为主服务器衡,通过WebServer 访问缓存服务器(通过写XML 文件建立缓据缓存的一些逻辑规则访问数据库服务器。通过这样的一种架现。 其下子系统:商务网(https://www.wendangku.net/doc/6d6869470.html,)名家馆(http:https://www.wendangku.net/doc/6d6869470.html,/)等。 2010.04 - 2011.06 北京****科技有限公司 (1年2个月) windows 研发部 | 高级软件工程师 | 2001-4000元/月 计算机软件 | 企业性质:民营 | 规模:100-499人 工作描述: 电子商务网站: 项目描述:本项目是网上购物系统,主要采用了https://www.wendangku.net/doc/6d6869470.html,+ A https://www.wendangku.net/doc/6d6869470.html,+JavaScript+ XML 等技术和面向对象的思想来对网站发,代码部分严格按照三层架构的思想进行分层,提高了程序性和扩展性,项目分为产品展示,产品购买,用户管理(包括

相关文档
相关文档 最新文档