Ciclo de Vida de Desarrollo de Software y Fundamentos de la Ingeniería de Software

Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
Ciclo de Vida de Desarrollo de Software y Fundamentos de la Ingeniería de Software par Mind Map: Ciclo de Vida de Desarrollo de Software y Fundamentos de la Ingeniería de Software

1. Definición de Ingienería de Software.

1.1. Es una subárea de la ciencia de computación que estudia la creación de software, utilizando técnicas de ingeniería para mantener su calidad desarrollando el producto dentro del calendario y con los recursos establecidos

2. Desafíos de la Ingeniería de Software

2.1. El mayor problema que enfrentan los ingenieros de software modernos es tratar de encontrar la manera de producir software lo suficientemente rápido como para satisfacer la creciente demanda de más productos, a la vez que tener que mantener un volumen cada vez mayor de los programas informáticos existentes.

2.1.1. Reto de la Heterogeneidad: Crear métodos para la construcción de softwares confiables que sean lo suficientemente flexibles para adecuarse correctamente a la heterogeneidad

2.1.2. Reto de la Entrega: Disminuir los tiempos de entrega para sistemas grandes y robustos sin comprometer la calidad del producto

2.1.3. Reto de la confianza: Desarrollar métodos que le demuestren a los usuarios finales que pueden confiar en ellos

3. Conceptos de Ingeniería de Software: Pilares.

3.1. Personas

3.1.1. Participantes

3.1.1.1. Grupo de personas involucradas en un proyecto.

3.1.2. Clientes

3.1.2.1. Persona, empresa u organización que especifica los requerimientos del sistema.

3.1.3. Desarrolladores

3.1.3.1. Su labor integra el diseño, investigación, implementación, depuración y pruebas del sistema

3.1.4. Administrador

3.1.4.1. Se encarga de reportar al director ejecutivo de la empresa que presta el servicio de desarrollo.

3.1.5. Usuarios Finales

3.1.5.1. Son quienes interactúan con el sistema

3.2. Proceso

3.2.1. Sistema

3.2.1.1. Sería el producto a analizar por parte de un ingeniero de software.

3.2.2. Modelo

3.2.2.1. Es un método que ayuda a un ingeniero de software a tratar la complejidad connatural de un sistema

3.3. Producto

3.3.1. Este vendría siendo el resultado final de un proceso

3.4. Proyecto

3.4.1. Actividades

3.4.1.1. Grupo de determinadas acciones que se deben llevar a cabo para poder cumplir las metas de un proyecto o programa.

3.4.2. Tareas

3.4.2.1. Es el trabajo que debe realizar una función o un sistema.

3.4.3. Recursos

3.4.3.1. Son equipamiento, personas y material que serán usado para realizar las tareas de un proyecto.

4. Notaciones

4.1. UML

4.1.1. Sus siglas significan lenguaje unificado de modelo. Es un lenguaje de modelado muy popular que es utilizado para describir o especificar distintos métodos o procesos.

4.2. BPMN

4.2.1. Sus siglas significan notación para el modelado de procesos de negocios. Es una notación gráfica que se encargar de describir los pasos lógicos de un proceso de negocioS.

4.3. DFD

4.3.1. Sus siglas significan diagrama de flujos de datos. Estudia cómo se utilizan los datos en cada tarea del sistema para convertir los datos en información.

5. Métodos y Metodología

5.1. La metodología es la encargada de desarrollar métodos, estrategias y formas de trabajo de ingeniería de software, que fomenten practicas adaptativas, concentradas en los usuarios o los equipos, encaminada hacia la operatividad y la entrega.

6. Símbolos de los casos de uso

6.1. Sistema

6.1.1. El rectángulo es una representación de los límites del sistema que conforman los casos de uso. Los actores se ubican fuera de los límites del Sistema. Esto lo podemos apreciar en la figura

6.2. Actor

6.2.1. Los actores son similares a las entidades externas. La terminación actor se refiere a un rol específico de un usuario final del sistema

6.3. Relaciones

6.3.1. Una relación incluir significa que un caso de uso es necesitado por otro para poder realizar una tarea. Una relación “extender” señala opciones alternativas para un cierto caso de uso.

7. Sus fases y sus actividades principales son

7.1. Planificación

7.1.1. Definir objetivos del proyecto.

7.1.2. Estimar los recursos necesarios.

7.1.3. Crear un cronograma de trabajo.

7.2. Análisis de requisitos

7.2.1. Recopilar y documentar los requisitos del usuario.

7.2.2. Analizar la viabilidad del proyecto.

7.2.3. Crear especificaciones funcionales.

7.3. Diseño

7.3.1. Diseñar la arquitectura del sistema.

7.3.2. Crear diagramas de flujo y modelos de datos.

7.3.3. Definir la interfaz de usuario.

7.4. Desarrollo

7.4.1. Escribir el código fuente.

7.4.2. Realizar pruebas unitarias.

7.4.3. Integrar los diferentes módulos del software.

7.5. Pruebas

7.5.1. Realizar pruebas de integración.

7.5.2. Ejecutar pruebas de sistema y aceptación.

7.5.3. Identificar y corregir errores.

7.6. Implementación

7.6.1. Desplegar el software en el entorno de producción.

7.6.2. Capacitar a los usuarios finales.

7.6.3. Realizar pruebas en el entorno real.

7.7. Mantenimiento

7.7.1. Corregir errores y problemas que surjan.

7.7.2. Actualizar el software para mejorar su rendimiento.

7.7.3. Añadir nuevas funcionalidades según sea necesario.

8. Objetivos

8.1. Fomentar la calidad al desarrollar aplicaciones muy complejas.

8.2. Brindar una mayor exactitud a la hora de colocar el precio de un producto y el tiempo que tomará desarrollar los mismos.

8.3. Realizar pruebas para así detectar posibles mejoras en el funcionamiento de un sistema.

8.4. Una mejor organización en el área de trabajo, en los equipos que se utilizaran para laborar y sobre todo el mantenimiento de los equipos.

8.5. Mejorar el diseño de los programas para que estos logren adaptarse mucho mejor a las necesidades de los clientes.

9. Requerimientos

9.1. Documento escrito muy detallado de las necesidades que tiene un cliente, de esta forma el programador podrá realizar una aplicación a partir de dicho documento.

10. Restricciones

10.1. Es cuando existe una limitante que impide que el sistema o aplicación no cumpla los objetivos

11. Actividades de desarrollo de la ingeniería de software

11.1. Obtención de requerimientos

11.1.1. Identificar los recursos que tendremos esto sería recursos humanos, equipo y materiales que se usaran en el desarrollo de las tareas.

11.2. Análisis de requerimientos

11.2.1. El cliente expone todas las necesidades que quieren cubrir e intenta explicar todo lo que debería hacer el programa, para poder satisfacer sus necesidades.

11.3. Finalidad

11.3.1. Ofrecer al cliente todo lo que necesite para que pueda laborar en conjunto al programa desarrollado.

11.3.2. Mantener el control durante la etapa de desarrollo del software, con respecto al tiempo de creación y costo del mismo.

11.3.3. Podremos utilizar los métodos correctos y más eficientes que nos permitan aprovechar al máximo nuestro software para las actividades para la que fue concebida

12. Historia del Usuario

12.1. Son descripciones, siempre muy cortas y esquemáticas, que resumen la necesidad especifica de un usuario al usar un producto o servicio, así como la solución que la satisface

12.1.1. Título: Lo que resuelve la historia de usuario.

12.1.2. Descripción: Enunciar con la necesidad concreta del usuario y lo que le va a aportar cuando esté terminado.

12.1.3. Prioridad: ¿Es fundamental?, ¿cómo es de importante?

12.1.4. Estimación: En esta parte se debe señalar la dificultad que requerirá desarrollar e implantar esta historia de usuario.

12.1.5. Condiciones de aceptación: Lo que se debe lograr para dar por terminada una historia de usuario.