Please enable JavaScript.
Coggle requires JavaScript to display documents.
Ingeniería de software - Coggle Diagram
Ingeniería de software
Conjunto de tareas o actividades aplicadas de forma sistemática para desarrollar software
Ayuda a construir grandes sistemas de software, ayuda a definir claramente los problemas, “programming in the large”, administración, organización, herramientas, teorías,
metodologías y técnicas como base para resolver los problemas computacionales.
Porque existen dificultades de desarrollo de software que siempre o casi siempre suceden
Dificultades esenciales
Propiedades específicas del software que están siempre presentes
Complejidad
Invisibilidad
Posibilidad de cambiar
Conformidad
Mantener dominio de conocimientos
Linealidad
Fácil de entender
Dificultades accidentales
Propiedades que pueden variar de un sistema a otro
Cualidades de un software
Puntual
Completo
Correcto
Confiable
Robusto
Eficiente
Usable
Interoperable
Puede coexistir y cooperar con otros sistemas
Seguro
Escalable
Verificable
Reusable
Portable
Puede funcionar en distintos ambientes
Visible
Productivo
Modular
Entendible
Mantenible
Bug-free
Documentado
Principios
Rigor y formalidad
Separación de preocupaciones
Modularidad
Abstracción
Anticipación al cambio
Generalidad
Incrementalidad
Probar partes de la funcionalidad tan pronto como termine
Fases del proceso
Requerimientos
Diseño
Implementación
Validación
Evolución
Prueba de módulos y unidades
Prueba de integración de subsistemas
Prueba de integración del software
Prueba de aceptación
Solo tiene recomendaciones
Diseño arquitectural
Especificación abstracta
Diseño de la interfaz
Diseño de los componentes
Diseño de la estructura de datos
Diseño de los algoritmos
Análisis de viabilidad
Planeación del proyecto
Obtención y análisis de requerimientos
Especificación de requerimientos
Validación de requerimientos
Métodos
General, sistemático, guías rigurosas sobre actividades
Técnicas
Más mecánico y restringido que métodos
Metodologías
Conjunto de métodos y técnicas para resolver problemas
Herramientas
Apoya la aplicación de métodos, técnicas y metodologías