Please enable JavaScript.
Coggle requires JavaScript to display documents.
Principios de la Ingeniera de software - Coggle Diagram
Principios de la Ingeniera de software
Rigor y formalidad
Únicamente a través de un enfoque riguroso podrán producirse sistemas más confiables, controlando sus costos e incrementando el grado de confianza en los mismos. Además las formalidades existen porque se requiere que el proceso de software sea guiado y evaluado por leyes matemáticas.
Básicamente una buena ingeniería de software es cuando se desarrolla bajo procesos bien estipulados, detallados y formales
Incrementalidad
La incrementalidad caracteriza un proceso que se desarrolla en forma de pasos, en incrementos, alcanzando el objetivo deseado mediante aproximaciones sucesivas al mismo, donde cada aproximación es alcanzada a través de un incremento de la previa.
Básicamente una buena ingeniería de software es cuando se desarrolla en bloques que van evolucionando y adquiriendo nuevas aptitudes, pues esto permite solucionar errores de manera anticipada
Separación de intereses
La única forma de enfrentar la complejidad de un proyecto es separar los distintos intereses, puesto que existen un montón de ángulos distintos que se pueden abordar. Existen varias formas de separación como por tiempo, cualidades del programa, visiones sobre el software o el tamaño de este.
Básicamente una buena ingeniera de software es cuando se separan correctamente las decisiones que se toman con respecto al software dependiendo de la visión del mismo
Abstracción
La abstracción es un proceso mediante el cual se identifican los aspectos relevantes de un problema ignorando los detalles; es un caso especial del principio de separación de intereses en el cual se separan los aspectos importantes de los detalles de menor importancia.
Básicamente una buena ingeniería de software es cuando se desarrolla un proceso de análisis de los factores claves que se deben utilizar para el correcto funcionamiento del sistema
Generalidad
El principio de generalidad establece que al tener que resolver un problema se debe buscar un problema más general que posiblemente esté oculto tras el problema original, puesto que puede suceder que el problema general no sea mucho más complejo (a veces puede ser incluso más simple) que el original y posiblemente la solución al problema general tenga potencial de reuso.
Básicamente una buena ingeniería de software es cuando se desarrollan soluciones generales, ejemplo podría ser una calculadora, que le da solución al problema "Deseo realizar operaciones matemáticas" y no se plantea como un "Deseo sumar", "Deseo Restar", "Deseo multiplicar", etc.
Anticipación al cambio
El software sufre cambios constantemente, como se vio al tratar la mantenibilidad del software estos cambios pueden surgir por la necesidad de eliminar errores que no fueron detectados antes de liberar la aplicación, la habilidad del software para evolucionar no viene sola sino que requiere esfuerzo especial para anticipar cómo y cuándo pueden ocurrir estos cambios.
Básicamente una buena ingeniera de software es cuando se desarrolla un sistema con la capacidad de adaptar manera fácil nuevas líneas de códigos y funcionalidades, sin "Romper" el sistema
Modularidad
Un sistema complejo puede dividirse en piezas más simples llamadas módulos, un sistema compuesto de módulos es llamado modular. El principal beneficio de la modularidad es que permite la aplicación del principio de separación de intereses en dos fases: al enfrentar los detalles de cada módulo por separado ignorando detalles de los otros módulos, y al enfrentar las características globales de todos los módulos y sus relaciones para integrarlos en un único sistema coherente
Básicamente una buena ingeniería de software es cuando se desarrolla bajo el concepto del "Divide y vencerás"