回答数
5
浏览数
18830
岁月为笔相思入墨
随着移动互联网的普及与发展,手机应用不断深入我们生活的方方面面,移动系统和软件应用的开发领域,成为了未来具有潜力的行业之一,合格的软件人才在任何企业都具有不可替代的竞争优势 。 选择江西新华电脑学院软件技术工程师专业,你将学习:网络安全基础、Dreamweaver网页设计、Photoshop网页效果图制作、Window Server 2008服务、器操作系统和活动目录、C语言、SQL Server2005数据库、设计和高级查询、HTML5+CSS3、JavaScript、jQuery高级编程、动态网页设计PHP+MYSQL、Linux服务器操作系统、数据结构软件工程、JAVA面向对象程序设计、oracle数据库、J2EE服务器端高级编程、手机APP视觉设计、APP应用程序开发等。
为你作词唱曲
一、栈(Stack)、队列(Queue)和向量(Vector)
1、单链表、双向链表、环形链表、带哨兵节点的链表。
2、栈的基本概念和性质,栈ADT及其顺序,链接实现,栈的应用、栈与递归。
3、队列的基本概念和性质,队列ADT及其顺序,链接实现。
4、队列的应用,环形队列、双向队列。
5、向量基本概念和性质,向量ADT及其数组、链接实现。
二、树
1、树的基本概念和术语,树的前序、中序、后序、层次序遍历;
2、二叉树及其性质,普通树与二叉树的转换。
3、树的存储结构,标准形式。
4、完全树(completetree)的数组形式存储。
5、空树的表示;树的应用,Huffman树的定义与应用。
扩展资料:
第二部分计算机系统基础
一、 处理器体系结构
内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、DataHazard的处理、流水线设计中的其他问题。
二、 优化程序性能
内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈。
三、 存储器结构及虚拟存储器
内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集。
四、 链接、进程及并发编程
内容:静态链接、目标文件、符号和符号表、重定位和加载、动态链接库、异常和进程、进程控制和信号、进程间的通信、进程间信号量的控制、信号量,各种并发编程模式,共享变量和线程同步,其他并行问题。
五、 系统级IO和网络编程
内容:IO相关概念、文件及文件操作、共享文件、网络编程、客户端-服务器模型,套接字接口、HTTP请求,Web服务器。
参考资料来源:百度百科-软件水平考试
怪味橘子猫
软件工程师考试(高级)大纲 一、考试说明 1.考试要求: (1)理解软件工程管理的概念和任务; (2)理解软件生存期过程; (3)理解软件工程标准; (4)掌握需求分析、测试、维护基本技术; (5)掌握软件度量、软件配置管理方法; (6)理解软件复用概念; (7)理解软件质量保证的手段; (s)理解软件项目对人员的需求; (9)理解软件知识产权的基本知识。 2.通过本级水平考试的合格人员具有从事软件系统分析与工程系统分析员、工程管理员的实际工作能力和业务水平。 3.本级水平考试范围包括三个模块,即模块1、模块2和模块3。题型为单项选择题十多项选择题十综合题。每个模块考试时间为90分钟。 二、考试范围 模块1:软件工程技术 1.1软件生存期过程 1.1.1软件工程过程和软件生存期 1.1.2软件生存期模型 1.国际标准:ISO/IECI2207信息技术一软件生存期过程 1.2软件需求分析 .1需求分析的任务 1.2.2需求分析过程 1.2.3需求的类型。 1.2.4需求分析的原则 1.2.5需求分析人员和用户的责任 1.2.6需求文档 1.2.7需求说明技术的选择 1.3软件复用技术 1.3.1软件复用的概念 1.3.2软件开发过程 1.3.3构件技术 1.3.4分层式体系结构 .5实施软件复用开发单位的组织结构 1.4软件测试技术 1.4.1软件测试的基本概念 1.4.2测试用例设计 ●白盒测试 ●黑盒测试 1.4.3性能测试 1.4.4软件测试策略 .5软件测试工具 1.5软件维护 .1软件维护的概念 1.5.2软件维护活动 .3软件维护的实施 1.5.4软件可维护性 1.5.5软件再工程 1.6软件工具与软件开发环境 1.6.1软件开发工具的分类、作用和功能 1.6.2软件开发环境的概念 模块2:软件质量管理与软件质量保证 2.1软件质量 2.1.1什么是软件质量 2.1.2软件可靠性 2.1.3软件质量问题的根源 2.1.4软件产品质量与软件过程质量 软件质量保证 2.2.1软件质量保证的概念 2.2.2软件质量保证体系 2.2.3质量保证的实施 2.2.4软件质量设计 2.2.5软件容错技术 2.3软件工程标准与软件文档 2.3.1什么是软件工程标准 2.3.2软件工程标准化的意义 2.3.3软件工程标准的制订与推行 2.3.4软件工程标准的层次 2,3.5软件工程国家标准 2.4ISO9000国际标准 2.4.1质量管理、质量认证与质量审核 2.4.2ISO9000标准概要 2.4.3ISO9000族标准构成 2.4.4质量体系 2.4.5ISO9001的主要内容 2.4.6ISO9000_3实施指南概要 2.5软件过程能力评估CMM 2.5.1软件过程评估的意义 2.5.2软件过程能力成熟度分级及其关键过程域 .3软件过程评估的国际标准 2.6软件度量 2.6.1软件度量的概念 2.6.2功能点方法计算软件的大小 2.6.3程序环路复杂度计算 2.6.4Halstead程序工作量计算 2.6.5程序风格度量 2.7软件配置管理 2.7.1什么是软件配置管理 2.7.2配置管理计划的制订 2.7.3变更管理 2.7.4版本管理和发行管理 模块3:软件工程管理 3.1软件工程管理和软件项目管理 3.1.1软件工程管理的任务与意义 3.1.2软件工程管理的范围 3.1.3软件文档管理 3.1.4软件成本估算 3.1.5软件风险分析 3.1.6软件项目进度计划与监控 3.2软件人员管理 3.2.1软件开发组织结构 .2软件人员能力成熟度模型 3.2.3软件工程师道德和职业活动规范 3.3软件知识产权保护 3.3.1什么是知识产权 3.3.2计算机软件著作权 3.3.3计算机软件著作权登记管理 3.3.4计算机软件著作权侵权与法律保护 3.计算机软件的商业秘密与反不正当竞争=================================高级软件工程师哪些必须精通2007年09月26日 星期三 下午 05:31程序员的七种武器 信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。 信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。 虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。 第一种武器:开发工具 至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中CC++和JAVA是我重点推荐的开发工具,CC++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用CC++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。 第二种武器:数据库 为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。 第三种武器:操作系统 当前主流的操作系统是Windows,LinuxUnix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。 第四种武器:网络协议TCPIP 在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCPIP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCPIP协议栈为基础的网络协议支持,所以,深入掌握TCPIP协议是非常必要的。至少,你需要了解ISO七层协议模型,IPUDPTCPHTTP等常用协议的原理和三次握手机制。 第五种武器:DCOMCORBAXMLWEB Services 随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOMCORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XMLWebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。 第六种武器:软件工程与CMM 现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。 第七种武器:强烈的好奇心 什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
优质工程师报名问答知识库