¿Qué cursos necesitas tomar para convertirte en ingeniero de software?
1. Instrucciones del examen
1 Requisitos del examen:
(1) Representación de datos maestros, operaciones aritméticas y lógicas;
p>
(2) Dominar los conocimientos básicos de matemáticas aplicadas relevantes y matemáticas discretas
(3) Dominar la arquitectura de la computadora, el rendimiento y los principios básicos de funcionamiento de cada componente principal
(4) Dominar los conocimientos básicos de los sistemas operativos y lenguajes de programación, y comprender los conocimientos básicos de los compiladores
(5) Estar familiarizado con las estructuras de datos comunes y los algoritmos de uso común
(6) Familiarizado con los conocimientos básicos de bases de datos, redes y multimedia;
(7) Dominar el lenguaje de programación C y uno de C++, Java, Visual, Basic y Visual C++;
(8) ) Familiarizado con los conocimientos básicos de ingeniería de software, mejora de procesos de software y gestión de proyectos de desarrollo de software;
(9) Familiarizado con métodos y técnicas de diseño de software;
(10) Dominar los estándares comunes de tecnología de la información, la seguridad y el conocimiento básico de las leyes y regulaciones relevantes;
(11) Comprender el conocimiento básico de la informatización y las aplicaciones informáticas;
(12 ) Leer y comprender correctamente materiales en inglés en el ámbito informático.
2. El personal calificado que apruebe esta evaluación puede diseñar software de acuerdo con los requisitos de la gestión de proyectos de desarrollo de software y la ingeniería de software, escribir instrucciones de diseño de programas y otros documentos correspondientes, organizar y guiar a los programadores para escribir y depurar programas. Optimizar e integrar software para desarrollar software de alta calidad que cumpla con los requisitos generales de diseño del sistema. Tener capacidades prácticas de trabajo de ingeniería y nivel profesional.
3. Las materias fijadas para este examen incluyen:
(1) Conocimientos de ingeniería informática y de software, el tiempo de prueba es de 150 minutos, prueba escrita;
(2) Diseño de software, el tiempo de prueba es de 150 minutos, prueba escrita.
2. Alcance del examen
Asignatura del examen 1: Conocimientos de ingeniería informática y de software
1. Conceptos básicos de la informática
1.1 Sistema numérico y Su transformación
Sistemas de numeración comunes como el binario, decimal y hexadecimal y su conversión mutua.
1.2 Representación de datos
Representación de números (código original, complemento, representación de código de desplazamiento, representación incorporada de números enteros y reales, precisión y desbordamiento)
Representación no numérica (representación de caracteres y caracteres chinos, representación de sonido, representación de imágenes)
Métodos de verificación y códigos de verificación (código de verificación de paridad, código de verificación de Hamming, verificación de código de verificación de redundancia cíclica)
1.3 Operaciones aritméticas y lógicas
Métodos de operación de números binarios en ordenadores
Operaciones básicas de álgebra lógica y simplificación de expresiones lógicas
1.4 Conocimientos básicos de matemáticas
Conocimientos básicos de lógica proposicional, lógica de predicados y lógica formal
Cálculos numéricos comunes (errores, matrices y determinantes, resolución aproximada de ecuaciones, interpolación, integración numérica)
Permutación y combinación, teoría de la probabilidad y aplicación de la estadística aplicada (análisis estadístico de datos)
Métodos operativos básicos (predicción y toma de decisiones, programación lineal, diagramas de redes, simulación)
1.5 Estructuras de datos generales
Matrices (matrices estáticas, matrices dinámicas), listas lineales, listas enlazadas (listas enlazadas unidireccionales, listas enlazadas doblemente, listas enlazadas circulares), colas, pilas, árboles (árboles binarios, árbol de búsqueda, árbol equilibrado, árbol de pistas, montón), gráfico, etc. definición, almacenamiento y operación.
Hash (cálculo de direcciones de almacenamiento, manejo de conflictos)
1.6 Algoritmos de uso común
Algoritmo de clasificación, algoritmo de búsqueda, método de cálculo numérico, método de procesamiento de cadenas, compresión de datos algoritmos, algoritmos recursivos, algoritmos relacionados con gráficos.
La relación entre algoritmos y estructuras de datos, eficiencia del algoritmo, diseño del algoritmo, descripción del algoritmo (diagrama de flujo, pseudocódigo, tabla de decisiones), complejidad del algoritmo.
2. Conocimiento de los sistemas informáticos
2.1 Conocimiento del hardware
2.1.1 Composición, clasificación de la arquitectura y características de los sistemas informáticos
CPU Y la composición, el rendimiento y los principios básicos de funcionamiento de la memoria
El rendimiento y los principios básicos de funcionamiento de los dispositivos de E/S y de comunicación de uso común.
Función, tipo y características de la interfaz de E/S
Modo de control de E/S (sistema de interrupción, DMA, modo de procesador de E/S)
CISC/ RISC, canalización, multiprocesador, procesamiento paralelo
2.1.2 Sistema de almacenamiento
El principio de funcionamiento del sistema de almacenamiento de memoria caché principal
Los conceptos básicos de virtual memoria Principio de funcionamiento, relación rendimiento-precio de los sistemas de almacenamiento multinivel
Tipos y características de RAID
2.1.3 Conocimientos básicos de seguridad, confiabilidad y evaluación del rendimiento del sistema
Diagnóstico y tolerancia a fallos
Análisis y evaluación de la confiabilidad del sistema
Métodos de evaluación del desempeño del sistema informático
2.2 Conocimiento del software
2.2.1 Conocimiento del sistema operativo
Los conceptos de núcleo del sistema operativo (control de interrupciones), proceso y subproceso.
Gestión del procesador (transición de estado, * * * exclusivo y exclusivo, rotación de tiempo compartido, preferencia, interbloqueo)
Gestión del almacenamiento (protección de la memoria principal, asignación dinámica de conexiones, segmentación, paginación , memoria virtual)
Administración de dispositivos (control de E/S, cola de impresión)
Administración de archivos (directorio de archivos, organización de archivos, método de acceso, control de acceso, procesamiento de recuperación)
Gestión de trabajos (programación de trabajos, lenguaje de control de trabajos, multiprogramación)
Procesamiento de caracteres chinos, procesamiento multimedia, interfaz hombre-máquina
Sistema operativo de red y conocimientos básicos integrados de sistemas operativos
Configuración de sistemas operativos
2.2.2 Conocimientos de lenguajes de programación y programas de procesamiento de lenguajes
Conocimientos básicos de sistemas ensambladores, compiladores e intérpretes. y principios de trabajo.
Los componentes básicos de un lenguaje de programación: datos, operaciones, control y transmisión, y llamadas a procedimientos (funciones).
Principales características y aplicaciones de varios lenguajes de programación
2.3 Conocimiento de redes informáticas
Arquitectura de red (topología de red, OSI/RM, protocolos básicos de red) p>
p>
Medios de transmisión, tecnología de transmisión, método de transmisión y controlador de transmisión
Equipos de red comunes y diversos equipos de comunicación
Estructura cliente/servidor, navegador/servidor estructura.
Topología LAN, control de acceso, redes LAN, conexiones inter-LAN, conexiones LAN-WAN.
Conceptos básicos y aplicaciones de Internet
Software de red
Gestión de red
Análisis del rendimiento de la red
2.4 Conocimiento de bases de datos
Función y características del sistema gestor de bases de datos
Modelo de base de datos (modelo conceptual, modelo externo, modelo interno)
Modelo de datos, diagrama ER, primer paradigma, Capítulo Segundo paradigma, tercer paradigma.
Operaciones de datos (operaciones de conjuntos y operaciones relacionales)
Lenguaje de base de datos (SQL)
Funciones de control de base de datos (control de concurrencia, recuperación, seguridad e integridad)
Conocimientos básicos de almacenes de datos y bases de datos distribuidas
2.5 Conocimientos multimedia
Conocimientos básicos de sistemas multimedia, características de rendimiento de equipos multimedia y formato de archivos multimedia de uso común.
Métodos simples de procesamiento de archivos de imágenes y dibujo de gráficos
Aplicación de información de audio y video
Proceso de desarrollo de aplicaciones multimedia
2.6 Conocimiento del rendimiento del sistema
Métricas de rendimiento (tiempo de respuesta, rendimiento, tiempo de respuesta) y diseño de rendimiento.
Pruebas de rendimiento y evaluación del desempeño
Indicadores de confiabilidad, cálculos y diseño de confiabilidad
Pruebas de confiabilidad y evaluación de confiabilidad
2.7 Conocimientos básicos de informática aplicaciones
Conocimientos básicos de gestión de la información, procesamiento de datos, diseño auxiliar, control automático, informática científica, inteligencia artificial y otros conocimientos básicos.
Conocimientos básicos de servicios de telecomunicaciones
Sistemas de aplicación general
3. Conocimientos de desarrollo y operación de sistemas
3.1 Ingeniería de software, mejora de procesos de software. y conocimientos de gestión de proyectos de desarrollo de software
Conocimientos de ingeniería de software
Objetivos y tareas en cada etapa del ciclo de vida del desarrollo de software
Conocimientos básicos de la gestión de proyectos de desarrollo de software ( gestión del tiempo, gestión de costes, gestión de la calidad, gestión de recursos humanos, gestión de riesgos, etc.).
) y sus herramientas comunes de gestión.
Principales métodos de desarrollo de software (método del ciclo de vida, método de prototipo, método orientado a objetos, CASE)
Herramientas de desarrollo de software y conocimiento del entorno
Conocimiento del proceso de software mejora
Conocimientos de gestión de la calidad del software
Conocimientos básicos de evaluación del proceso de desarrollo de software y evaluación de la madurez de la capacidad del software
3.2 Conocimientos básicos de análisis de sistemas
El propósito y las tareas del análisis de sistemas
Métodos estructurados (diagrama de flujo de datos (DFD), diccionario de datos (DD), diagrama de relaciones entre entidades (ERD), procesamiento de descripción de lenguaje estructurado).
Lenguaje de modelado unificado (UML)
Especificación del sistema
3.3 Conocimiento del diseño del sistema
El propósito y las tareas del diseño del sistema
Métodos y herramientas de diseño estructural (diagrama de flujo del sistema, diagrama HIPO, diagrama de flujo de control)
Diseño de la estructura general del sistema (diseño general, principios de diseño, diseño de la estructura del módulo, diseño de almacenamiento de datos, plan de configuración del sistema )
Diseño detallado del sistema (diseño de código, diseño de base de datos, diseño de interfaz de usuario, diseño de procesos)
Especificaciones de diseño del sistema
3.4 Conocimiento de implementación del sistema
p>
Principales tareas de implementación del sistema
Programación estructurada, programación orientada a objetos y programación visual.
Estilo de programación
Elección del lenguaje de programación
Propósito, tipo y método de prueba del sistema (prueba de caja negra, prueba de caja blanca y prueba de caja gris) p> p>
Diseño y gestión de pruebas (curva de error, eliminación de errores, convergencia, falla de inyección, diseño de casos de prueba, informe de prueba del sistema)
Conocimientos básicos de conversión de sistemas
3.5 Conocimientos de operación y mantenimiento del sistema
Conocimientos básicos de la operación y gestión del sistema
Conocimientos básicos del mantenimiento del sistema
Conocimientos básicos de la evaluación del sistema
3.6 Métodos de desarrollo orientado a objetos
Conceptos de desarrollo orientado a objetos (clases, objetos, propiedades, encapsulación, herencia, polimorfismo, referencias entre objetos)
Las ventajas y áreas efectivas de object métodos de desarrollo orientados
Método de diseño orientado a objetos (arquitectura, diseño de clases, diseño de interfaz de usuario)
Método de implementación orientado a objetos (seleccione lenguaje de programación, implementación de clases, implementación de métodos, usuario implementación de interfaz, preparación de datos de prueba)
El mecanismo básico de los lenguajes de programación orientados a objetos (como C++, Java, Visual, Bsasic, Visual C++)
Los conceptos de objeto -Bases de datos orientadas y objetos distribuidos.
4. Conocimientos de seguridad
Conceptos básicos de seguridad
Prevenir virus informáticos y delitos informáticos.
Control de acceso, prevención de intrusiones y medidas de gestión de seguridad
Mecanismos de cifrado y descifrado
Análisis de riesgos, tipos de riesgo, medidas anti-riesgo y controles internos
5. Conocimiento de la estandarización
Conciencia de la estandarización, desarrollo de la estandarización y proceso de establecimiento de estándares.
Conocimiento básico de estándares internacionales, estándares nacionales, estándares industriales y estándares empresariales
Comprensión de estándares de codificación, estándares de formato de archivos, estándares de seguridad, especificaciones de desarrollo de software y estándares de documentos.
Organizaciones de estandarización
6. Conocimientos básicos de informatización
Conciencia de la información
Tendencias globales de informatización, estrategias nacionales de informatización, estrategias de información empresarial. y tácticas.
Leyes y regulaciones relevantes
Conocimientos básicos de educación a distancia, comercio electrónico, gobierno electrónico, etc.
Conocimientos básicos de la gestión de recursos de información empresarial
7. Inglés informático
Dominar el vocabulario básico de la tecnología informática
Poder leer y comprender correctamente las computadoras en inglés y la información en el campo.
Tema de examen dos: Diseño de software
1. Diseño externo
1.1 Comprender la descripción de los requisitos del sistema
1.2 Preparación para el desarrollo del sistema
p >
Elija un método de desarrollo, prepare el entorno de desarrollo y formule un plan de desarrollo.
1.3 Diseñar funciones del sistema
Seleccionar la estructura del sistema, diseñar las funciones e interfaces de cada subsistema, diseñar políticas de seguridad, requisitos y métodos de implementación, y formular flujos de trabajo y flujos de datos detallados.
1.4 Diseño del modelo de datos
Diseño del modelo ER y modelo de datos.
1.5 Redactar documentos de diseño externos
Diagrama de configuración del sistema, diagrama de relaciones del subsistema, diagrama de flujo del sistema, especificación de funciones del sistema, especificación de entradas y salidas, especificación de datos y marco del manual de usuario.
Requisitos de prueba del sistema de diseño
1.6 Revisión del diseño
2 Diseño interno
2.1 Estructura del software de diseño
Según la descomposición de los componentes, determine las especificaciones funcionales de los componentes y las interfaces entre componentes.
Uso de middleware y herramientas
2.2 Diseño de entrada y salida
Diseño de interfaz de pantalla, diseño de métodos de inspección de entrada y salida e información de inspección.
& gt2.3 Diseñar datos físicos
Analizar las características de los datos, determinar la organización lógica de los datos y los medios de almacenamiento, y diseñar formatos de grabación y métodos de procesamiento.
Convierta estructuras de datos lógicas en estructuras de datos físicas, calcule la capacidad y optimice.
2.4 Creación y reutilización de componentes
El concepto de creación y reutilización de componentes
Utilizar bibliotecas de subrutinas o bibliotecas de clases.
2.5 Escribir documentos de diseño interno
Diagrama de división de componentes, interfaz entre componentes, instrucciones de procesamiento de componentes, documentos de diseño de pantalla, documentos de diseño de informes, documentos de diseño de archivos y documentos de diseño de bases de datos.
2.6 Revisión del diseño
3. Programación; disposición
3.1 División de módulos (principios, métodos y estándares)
3.2 Archivo de diseño de programación
Especificación del módulo (descripción de función e interfaz, descripción de la lógica de procesamiento del programa, descripción del formato de datos de entrada y salida)
Descripción de los requisitos de prueba (tipo y objetivos de prueba, casos de prueba, métodos de prueba)
3.3 Revisión del diseño del programa
4. Implementación del sistema
4.1 Configurar el sistema informático y su entorno
4.2 Elegir el lenguaje de programación adecuado
4.3 Dominar el lenguaje de programación C y cualquier lenguaje de programación como C++, Java, Visual, Basic, Visual C++, etc., para guiar a los programadores en la programación y pruebas, y realizar las optimizaciones necesarias.
4.4 Pruebas del sistema
Guía a los programadores para realizar pruebas y aceptación del módulo.
Preparar el entorno de prueba de integración del sistema y las herramientas de prueba.
Preparar datos de prueba
Escribir un informe de prueba
5. Ingeniería de software
Modelo de ciclo de vida del software (modelo en cascada, modelo en espiral, modelo de fuente) y modelo de costo de software.
Definir los requisitos de software (objetivos del sistema, configuración, funciones, rendimiento y restricciones)
Métodos para describir los requisitos de software (modelo de jerarquía funcional, modelo de flujo de datos, modelo de flujo de control, modelo orientado a datos). modelo, modelo orientado a objetos, etc.). )
Métodos para definir los requisitos del software (métodos estructurados, métodos de análisis orientados a objetos)
Diseño de software (análisis e integración, refinamiento gradual, abstracción, ocultación de información)
Métodos de diseño de software (método de diseño estructurado, método Jackson, método Warnier, método de diseño orientado a objetos)
Programación (programación estructurada, programación orientada a objetos)
Principios y principios de prueba de software métodos
Calidad del software (características de calidad del software, control de calidad del software)
Métodos básicos de evaluación de procesos de software y evaluación de la madurez de la capacidad del software
Desarrollo de software Entorno y herramientas de desarrollo (herramientas de análisis, herramientas de diseño, herramientas de programación, herramientas de prueba, herramientas de mantenimiento, casos)
La tendencia de desarrollo de la ingeniería de software (lenguaje de modelado unificado (UML) orientado a componentes)
Modelos y métodos de mejora de procesos de software