Red de Respuestas Legales - Conocimientos legales - Los diseñadores de software revisan y consultan sobre pruebas de software

Los diseñadores de software revisan y consultan sobre pruebas de software

Le preguntaste a la persona adecuada. Tomé el examen de diseñador de software cuando era estudiante de segundo año.

Por la tarde, probé principalmente el diagrama de flujo de datos del sistema, el modelo E-R de base de datos, el lenguaje SQL, el modelado UML y C.C++, JAVA (elija uno de tres). No tomé el examen de SQL ese año, pero tomé el examen de estructura de datos (mayo de 2008).

Hay tantos puntos que no puedo abarcarlos todos a la vez.

He adjuntado un programa de examen, que también puedes descargar desde otros lugares, como www.csai.cn y el sitio web del Centro Provincial de Examen de Software.

Para prepararse para el examen, se recomienda comprar uno o dos libros tutoriales, leerlos detenidamente y repasar los trabajos anteriores. En cuanto a artículos anteriores, www.csai.cn también tiene algunos. Búscalo y descárgalo tú mismo.

También solicité el examen de diseñador de software de este año y espero animarlos a aprobarlo juntos. Siempre estoy trabajando y no tengo mucho tiempo para leer. Como tienes tiempo, también puedes consultar materiales didácticos relacionados con el diseño. Pero debes concentrarte en los puntos de prueba y los ejercicios. Ver tutoriales designados en turnos es inútil; esta fue mi experiencia al realizar el examen de Ingeniero de redes (aprobado).

El programa del examen es el siguiente:

Esquema del examen del Diseñador de software (nueva edición de 2004)

Instrucciones del examen

1. Requisitos del examen:

(1) Representación de datos maestros, operaciones aritméticas y lógicas

(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 el conocimiento básico de los sistemas operativos y lenguajes de programación, y comprender el conocimiento básico de los compiladores;

(5) Familiarizado con estructuras de datos comunes y algoritmos de uso común;

(6) Familiarizado con conocimientos básicos de bases de datos, redes y multimedia;

(7) Dominar el lenguaje de programación C, C++ y Java, Visual, Basic y Visual C++;

(8) Estar 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) Estar familiarizado con los métodos y técnicas de diseño de software;

(10) Dominar el conocimiento básico de los estándares de tecnología de la información de uso común, la seguridad y las leyes y regulaciones relevantes;

(11) Comprender conocimientos básicos de informatización y aplicaciones informáticas;

(12) Leer y comprender correctamente materiales en inglés en el campo de la informática.

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étodo 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>

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 dibujo de gráficos y procesamiento de archivos de imágenes

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>

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

Con base en la descomposición de los componentes, determine las especificaciones funcionales de los componentes y las interfaces entre los componentes.

Utilizar middleware y herramientas

2.2 Diseño de entrada y salida

Interfaz de pantalla de diseño, diseño de métodos de inspección de entrada y salida e información de inspección.

2.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 el formato de grabación y los 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 internos

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