1. Elizabeth Ramírez Código:1151256
José Hernández Código:1151252
Janes Durán Código:1151238
Diseño de Software Sostenible
Aunque el diseño desempeña un papel central en el desarrollo de software, la
información producida en esta actividad a menudo se evapora progresivamente como
resultado de la evolución del software, la pérdida de artefactos o el desvanecimiento del
conocimiento relacionado mantenido por el equipo de desarrollo. Este documento
presenta el concepto de sostenibilidad para el diseño de software y exige su integración
en el catálogo existente de atributos de calidad de diseño. Aplicada al diseño de
software, la sostenibilidad transmite la idea de que un conjunto particular de decisiones
de diseño y sus fundamentos pueden reflejarse de manera sucinta en la tecnología de
host y / o describirse en la documentación de forma que se pueda verificar el código y
generalmente sea resistente a la evaporación. El documento analiza la relación entre
la sostenibilidad y las áreas de investigación existentes en ingeniería de software.
La discontinuidad práctica entre la creación de un diseño y su realización introduce una
progresiva evaporación del conocimiento del diseño para un sistema entre sus
desarrolladores. Esta evaporación incluye pérdida de tiempo en un esfuerzo evitable de
entendimiento de un programa.
La pérdida del conocimiento sobre el diseño, es un problema que se ha ido investigando
para lograr la recuperación del diseño, incluyendo el modelo de diseño de ingeniería
inversa, y el patrón de detección de diseño.
Aplicada al diseño de software, la sostenibilidad convierte la idea de que un grupo
particular de decisiones de diseño y su relación pueden ser reflejadas en la tecnología
de host y descritas en documentación de una manera que pueda ser revisada conforme
al código y generalmente resistente a la evaporación.
La sostenibilidad hace énfasis no tanto en la simplicidad del software, sino en los sub-
atributos más concretos que incluyen auto descripciones y verificabilidad.
Para prevenir la evaporación del diseño debemos basarnos en unas características
específicas, las cuales se nombraran a continuación:
Modularidad: Concierne la descomposición de un sistema en partes. Puede contribuir
con la sostenibilidad de un diseño cuando hace las estructuras en general y el intento
del diseño claro y fácil de respetar.
Documentación: Por un lado, una buena documentación ayuda a sostener un diseño a
través del tiempo. Por el otro, la perspectiva de tener que crear documentación puede
ser vista como un reto de sostenibilidad, y la dependencia de la documentación
transmite un límite que puede ser un indicador de un diseño no sostenible. La idea de
un diseño sostenible es tener un sistema auto documentable en la manera en que
paralelos tienen la idea de una programación liberada.
El diseño sostenible está soportado por una documentación esencial, mientras que el
diseño no sostenible está soportada por exceso de documentación direccionando
accidentalmente limitaciones del diseño.
Lenguajes de programación: La construcción de lenguajes puede ser creado para
soportar altos niveles de razonamiento sobre la estructura del sistema, tales como
componentes y conectores.
Patrones de diseño: Logran un efecto similar al de capturar las decisiones de diseño al
relacionar extensiones específicas de aplicaciones para el sistema en general de
2. Elizabeth Ramírez Código:1151256
José Hernández Código:1151252
Janes Durán Código:1151238
maneras estructuradas. Los patrones son soluciones a problemas de diseño comunes,
lo que significa que las partes de un sistema de software pueden no guiar a ningún
patrón de diseño. Para resolver un problema concreto de diseño con la ayuda de un
patrón, un desarrollador de software va a necesitar tomar algunas decisiones para
completar el patrón.
Modelo dirigido de ingeniería: Estas tecnologías envuelven el uso de un modelado de
lenguaje de dominio específico que describe sistemas a un nivel de abstracción que es
mejor adecuado para capturar intentos de diseño que la construcciónde implementación
de lenguajes de programación de propósito general.
Cultura de proceso y desarrollo de Software: Un proceso de software determina que
tanta información de diseño es producida y la forma en la que se obtiene, dos factores
que son inevitablemente atados a la sostenibilidad de diseño.