INGENIERÍA DE SOFTWARE

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
INGENIERÍA DE SOFTWARE por Mind Map: INGENIERÍA DE SOFTWARE

1. El Proceso de Software

1.1. Definición

1.1.1. Es un conjunto de actividades, acciones y tareas que se ejecutan cuando va a crearse un software.

1.2. En Ingeniería de Software

1.2.1. Es un enfoque adaptable que permiten que las personas que hacen el trabajo busquen y elijan el conjunto apropiado de acciones y tareas.

1.3. Estructura

1.3.1. Actividad 1. Comunicación

1.3.1.1. Se busca entender los requerimientos y objetivos de los participantes, para definir las caracteristicas y funciones.

1.3.2. Actividad 2. Planeación

1.3.2.1. Se definen las tareas y técnicas a realizar, los riesgos probables, los recursos , productos que se obtendrán y la programación de actividades.

1.3.3. Actividad 3. Modelo

1.3.3.1. La creación de un bosquejo para entender su arquitectura para entender mejor los requerimientos del software y el diseño.

1.3.4. Actividad 4. Construcción

1.3.4.1. Se combinan la generación de código y las pruebas para la detección de errores.

1.3.5. Actividad 5. Despliegue

1.3.5.1. Es la entrega del software al consumidor que deberá probar, evaluar y retroalimentar.

2. La Práctica de la Ingeniería de Software

2.1. Etapas

2.1.1. 1. Entender el problema

2.1.1.1. Comunicación y análisis

2.1.1.1.1. • ¿Quiénes tienen que ver con la solución del problema? Es decir, ¿quiénes son los participantes? • ¿Cuáles son las incógnitas? ¿Cuáles datos, funciones y características se requieren para resolver el problema en forma apropiada? • ¿Puede fraccionarse el problema? ¿Es posible representarlo con problemas más pequeños que sean más fáciles de entender? • ¿Es posible representar gráficamente el problema? ¿Puede crearse un modelo de análisis?

2.1.2. 2. Planear la solución

2.1.2.1. Modelado y diseño de software

2.1.2.1.1. •¿Ha visto antes problemas similares? ¿Hay patrones reconocibles en una solución potencial? ¿Hay algún software existente que implemente los datos, funciones y características que se requieren? • ¿Ha resuelto un problema similar? Si es así, ¿son reutilizables los elementos de la solución? • ¿Pueden definirse problemas más pequeños? Si así fuera, ¿hay soluciones evidentes para éstos?

2.1.3. 3. Ejecutar el plan

2.1.3.1. Generación del código

2.1.3.1.1. • ¿Se ajusta la solución al plan? ¿El código fuente puede apegarse al modelo del diseño? • ¿Es probable que cada parte componente de la solución sea correcta? ¿El diseño y código se han revisado o, mejor aún, se han hecho pruebas respecto de la corrección del algoritmo?

2.1.4. 4. Examinar la exactitud del resultado.

2.1.4.1. Probar y asegurar la calidad

2.1.4.1.1. • ¿Puede probarse cada parte componente de la solución? ¿Se ha implementado una estrategia razonable para hacer pruebas? • ¿La solución produce resultados que se apegan a los datos, funciones y características que se requieren? ¿El software se ha validado contra todos los requerimientos de los participantes?

3. Principios

3.1. Definición

3.1.1. "Una ley importante o suposición que subyace y se requiere en un sistema de pensamiento".

3.2. David Hooker

3.2.1. Propuso

3.2.1.1. Los principios de Ingeniróa de Software

3.2.1.1.1. Primer principio: La razón de que exista todo.

3.2.1.1.2. Segundo principio: MSE (Mantenlo sencillo, estúpido).

3.2.1.1.3. Tercer principio: Mantener la visión.

3.2.1.1.4. Cuarto principio: Otros consumirán lo que usted produce.

3.2.1.1.5. Quinto principio: Ábrase al futuro.

3.2.1.1.6. Sexto principio: Planee por anticipado la reutilización.

3.2.1.1.7. Séptimo principio: !Piense¡

4. Conceptos básicos

4.1. Fritz Bauer

4.1.1. "El establecimiento y uso de principios fundamentales de la ingeniería con objeto de desarrollar en forma económica un software que sea confiable y que trabaje con eficiencia en máquinas reales."

4.2. 1968

4.2.1. Se propuso por primera vez el concepto de "Ingeniería de Software".

4.2.1.1. En la conferencia realizadas por la OTAN

4.2.1.1.1. Crisis de software

4.3. Definición

4.3.1. Es una disciplina de la ingeniería que se interesa por todos los aspectos de la producción de software.

4.4. Diferencia

4.4.1. Ciencias de la computación

4.4.1.1. Se enfocan en la teoría y fundamentos.

4.4.2. Ingeniería de software

4.4.2.1. Se enfoca en el desarrollo y en la distribución del software.

4.5. Actividades fundamentales

4.5.1. Especificación

4.5.2. Desarrollo

4.5.3. Validación

4.5.4. Evolución del software

4.6. Principales retos

4.6.1. Diversidad creciente

4.6.2. Demandas por tiempos de distribución limitados

4.6.3. Desarrollo de software confiable

5. Importancia

5.1. Mejora la calidad del software

5.2. Acorta los tiempos de desarrollo

5.3. Aumenta la productividad

5.4. Incrementa la reutilización del software

6. Propósito

6.1. Diseñar aplicaciones que se ajusten a las necesidades de las organizaciones.

6.2. Dirigir y coordinar el desarrollo de software dentro del ciclo de vida del software

6.3. Dirigir equipos de trabajo de desarrollo de software

6.4. Estimar los costes y determinar los tiempos de desarrollo

6.5. Introducir procesos de calidad

6.6. Dirigir a los programadores durante el desarrollo de software