Please enable JavaScript.
Coggle requires JavaScript to display documents.
Conceptos que ayudan al desarrollo de un software exitoso - Coggle Diagram
Conceptos que ayudan al desarrollo de un software exitoso
Rigor y formalidad
Controla costos
Potencia la creatividad aumentando la confianza
Impulsa la mantenibilidad, reusabilidad y comprensiblididad de un proyecto
Separación de intereses
Enfrentar distintos aspectos del desarrollo de forma individual
Se pueden separar según:
Tiempo
Cualidades
Visiones del software
Tamaño o complejidad
Es la base para dividir el trabajo en un problema complejo en asignaciones de trabajo
Modularidad
Un sistema complejo puede dividirse en piezas más pequeñas llamadas módulos
Ayuda a la modificalidad del sistema
Permite la aplicación del principio de separación de intereses en 2 fases:
Enfrentar características globales y relaciones de los módulos para integrarlos a un único sistema coherente
Enfrentar cada módulo separado
Abstracción
Proceso en el que se identifican aspectos relevantes de un problema ignorando los detalles
Pueden haber distintas abstracciones del mismo problema
Permite concentrarse en el problema a resolver en lugar de las tecnicidades de la solución
Anticipación al cambio
Requiere esfuerzo de pensar en cómo y cuándo ocurrirán cambios en el proyecto
Aislar posibles cambios en porciones específicas del software para restringirlos solo a esas partes
Generalidad
Al resolver un problema se debe buscar un problema más general oculto detrás del problema original
Ventajas
Más potencial de reuso
Puede que ya esté hecho anteriormente
Se pueden crear módulos
Desventajas
Posiblemente más costosa en tiempo de ejecución
Más tiempo de desarrollo
Incrementalidad
Se divide el proyecto en pasos, incrementos, alcanzando el objetivo mediante aproximaciones sucesivas del mismo
Una forma de hacerlo es indentificando subconjuntos sencillos para obtener retroalimentación temprana
Permite que la aplicación se desarrolle de forma controlada