件工程师竞赛考试大纲及题型软件工程师竞赛考试大纲及题型考试大纲一、考试说明1.考试要求:(1)具有系统工程的基础知识;(2)掌握开发信息系统的综合技术知识(软件、网络、数据库);(3)熟悉企业和政府信息化建设,并具有组织信息化战略规划的知识;(4)熟悉掌握信息系统开发过程和方法;(5)熟悉信息系统开发标准;(6)掌握信息安全的相关知识与技术;(7)理解软件质量保证的手段;(8)具有经济与管理科学的相关基础知识,熟悉有关的法律法规;(9)熟练阅读和正确相关领域的英文文献(10)熟悉软件开发过程中的各种工具2.设置科目包括:(1)笔试部分(2)上机部分二、考试范围1.计算机系统综合知识1.1.软件知识操作系统的类型与结构系统的并行机制关系数据库及其主流产品中间件1.2.系统配置与性能评价Client/Server与Brower/Server结构、三层或多层结构、分布式系统系统配置方法(双份、双重、热备份、容错、集群)系统性能计算,系统性能指标,系统性能评估系统可靠性指标、经济效益指标1.3.计算机应用知识信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能远程通信服务,Web结算多媒体技术基础2.信息化基础知识2.1信息化信息与信息化信息化对组织的意义组织对信息化的需求2.2企业信息化与电子商务企业信息化的概念、目的、规划、方法企业门户企业应用集成2.3信息化的有关的法律和规定(知识产权、标准、质量、安全、互联网管理等方面的法规)3.软件工程知识3.1软件工程软件需求分析与定义软件设计、测试与维护软件复用软件质量保证及质量评价软件配置管理软件开发环境CASE工具软件的知识产权保护3.2项目管理知识信息项目计划项目计划的控制项目工作量估算风险管理资源和任务分配项目的生命周期管理3.3软件过程软件过程的定义和范围软件过程的作用主要的软件过程及其特点软件过程标准3.4质量管理质量保证计划质量认证体系质量管理和质量管理技术全面质量管理质量管理理论4.信息系统开发与运行知识4.1软件过程技术软件生命周期软件开发模型(瀑布模型、螺旋模型、喷泉模型)成本模型软件复用技术(构件、逆向工程)4.2软件需求分析和设计方法结构化分析与设计分析设计图示(DFD、ERD)面向对象分析与设计(继承、抽象、代理、封装、多态)统一建模语言(UML)模块设计(内聚性、耦合性)I/O设计(报表设计、屏幕设计、代码设计)4.3开发环境与开发工具集成开发环境开发工具(建模工具,分析设计工具、开发平台、测试工具、项目管理工具等)软件开发平台的比较4.4软件包开发工具管理工具4.5测试与评审常用测试方法测试计划和测试过程测试报告和测试结果分析软件测试自动化软件测试规划标准评审方法和原则4.6应用系统构建、集成应用系统开发(分析设计方法的选择,开发的组织、分析设计的实施)软件包的使用数据库设计(E-R模型、范式、SQL、数据分布)和实施网络工程(网络规划、设计、实施和测试)系统集成(控制集成、数据集成、表示集成、应用集成、外部资源使用)4.7系统运行系统运行管理(计算机系统、数据库、网络)系统成本管理系统运行(作业调度、数据I/O管理、操作手册)系统运行服务标准4.8系统维护维护的类型(完善性维护、纠错性维护、适应性维护、预防性维护)维护的实施(日常检查、适期维护、预防性维护、事后维护、远程维护)硬件维护、软件维护合同维护5.安全性知识数据安全和保密、加密与解密机制通信和网络安全系统访问控制技术数据库完整性计算机安全操作计算机故障诊断和防范,防治计算机病毒,防计算机犯罪,入侵监测安全管理措施,有关的法律法规、制度风险管理与分析(风险类型、抗风险措施和内部控制)6.数学事件和概率随机变量和分布函数数理逻辑7.专业英语具有大学毕业程度的英文词汇量能熟练阅读和准确理解相关领域的英文科技文献8.编程语言知识以及WEB前台技术知识Javascript知识CSS,DIV知识HTML知识,AJAX知识JAVA基础语法C#基础语法J2EE基本知识其他软件前沿技术。三、例题▲选择题例题:请将正确结果对应的序号写在题目对应的括号内1软件测试的目的是()A评估软件质量B发现软件错误C找出软件中所有错误D证明软件是正确的软件测试定义描述:软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。由此分析A错误.软件测试的目的是保证软件质量而非评估软件质量。B正确,C仅从逻辑上分析,任何测试也无法找出软件中所有的错误,所以C错误D错误测试是为了证明程序有错,而不能保证程序没有错误。所以本题应该选B▲填空题请将正确答案也在对应的下划线上。2事务必须具有的四个性质是原子性,一致性,隔离性,持久性.▲简答题3造成软件开发中软件危机的原因是?(1)规模越来越大,结构越来越复杂(2)软件开发管理困难和复杂(3)开发费用不断增加(4)开发技术落后(5)开发工具落后