Ejemplo de un ciclo de vida de un sistema

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,93 KB

REFACTORIZAR

Refactorizar (o Refactoring) es realizar una transformación al software preservando su comportamiento, modificando sólo su estructura interna para mejorarlo.

Decía Fowler que eran cambios realizados en el software para hacerlo más fácil de modificar y comprender, por lo que no son una optimización del código, ya que esto en ocasiones lo hace menos comprensible, ni solucionar errores o mejorar algoritmos. Las refactorizaciones pueden verse como un tipo de mantenimiento preventivo, cuyo objetivo es disminuir la complejidad del software en anticipación a los incrementos de complejidad que los cambios pudieran traer.

Una de las razones para refactorizar es ayudar al código a mantenerse en “buena forma”, ya que con el tiempo los cambios en el software hacen que este pierda su estructura, y esto hace difícil ver y preservar el diseño. Refactorizar ayuda a evitar los problemas típicos que aparecen con el tiempo, como, por ejemplo, un mayor número de líneas para hacer las mismas cosas o código duplicado.

VENTAJAS Y DESVENTAJAS REFACTORIZACION

Ventajas:

-
El código se mantiene elegante y más sencillo por lo que así será más legible y fácil de modificar o de añadirle cosas.
- Se pierde menos tiempo en depurar y entender el código.
- Facilita el mantenimiento del código siempre estructurado.
- Al estar bien estructurado, es una ventaja por su mantenibilidad y extensibilidad.
- La refactorización permite programar más rápido, lo que eleva la productividad de los desarrolladores. Se reducen los tiempos que comportan la aplicación de cambios.
- Disminuye la complejidad del software en anticipación a los incrementos de complejidad que los cambios pudieran traer.
- Ayuda a evitar los problemas típicos que aparecen con el tiempo, como, por ejemplo, un mayor número de líneas para hacer las mismas cosas o código duplicado.
- Un correcto rendimiento de la aplicación.
- Menos bugs/incidencias y vulnerabilidades (seguridad).
- Reducción de costes.
- Programas de mayor calidad.

Desventajas:

-
Puede ocurrir que la modificación del código incremente la complejidad de nuestro diseño, que es justo el efecto contrario del que intentábamos lograr al aplicarlo.
- Puede producir ambigüedad si no se escribe bien

PATRONES DE REFACTORIZACIÓN MÁS USUALES

EXTRAER MÉTODO

Extraer método es una operación de refactorización que proporciona una manera sencilla para crear un nuevo método a partir de un fragmento de código de un miembro existente.

METÓDOS EN LÍNEA

Los métodos en línea es una técnica común utilizada en programación.

Se presenta cuando tenemos uno o más métodos cuyos códigos son lo suficientemente auto-explicativos como para poder prescindir de ellos. Bastará con sustituir las llamadas al método por el cuerpo de dicho método.

¿Qué es subversión?


Subversión es un sistema de control de versiones libre y de código fuente abierto. Es decir, maneja ficheros y directorios a través del tiempo. Hay un árbol de ficheros en un repositorio central. El repositorio es como un servidor de ficheros ordinario, excepto porque recuerda todos los cambios hechos a sus ficheros y directorios. Esto le permite recuperar versiones antiguas de sus datos, o examinar el historial de cambios de los mismos.

CONTROL DE VERSIONES

Un sistema de control de versiones (o sistema de control de revisiones) es una combinación de tecnologías y prácticas para seguir y controlar los cambios realizados en los ficheros del proyecto, en particular en el código fuente, en la documentación y en las páginas web.

TIPOS

CENTRALIZADOS

En un sistema de control de versiones centralizado todas nuestras fuentes y sus versiones están almacenados en un único directorio (llamado repositorio de fuentes) de un ordenador (un servidor). Todos los desarrolladores que quieran trabajar con esas fuentes, deben pedirle al sistema de control de versiones una copia local para trabajar.

DISTRIBUIDOS

En un sistema de control de versiones distribuido no hay un repositorio central. Todos los desarrolladores tienen su propia copia del repositorio, con todas las versiones y toda la historia.

VENTAJAS DE MODELAR UN SISTEMA DE SOFTWARE USANDO UN CAO DE USO


- Expresar la intención que tiene el actor (usuario)
- Extraer los requerimientos del usuario y del sistema
- Centrar al analista en las tareas principales de usuario (describiendo los casos de mayor importancia).
- Tener en cuenta todos los usuarios evitando que las personas especializadas en informática dirijan la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos.

Entradas relacionadas: