Un entorno de desarrollo integrado o IDE es un programa informático que tiene el objetivo de asistir al programador en la tarea de diseñar y codificar un software mediante la inclusión de múltiples herramientas destinadas para dicha tarea.
Componentes del entorno:
Editor de texto
Compilador o intérprete
Depurador
Cliente
Editor de texto:
Coloreado de sintaxis
Autocompletado de código
Crear estructura de clases o instrucciones de manera automática mediante snippets
De refactorización (sangrado)
De depuración
–àNo todas las herramientas están integradas en el IDE muchas las podemos incluir mediante plugins que añaden, modifican y mejoran el IDE
Personalización y configuración
Debe adaptarse a las necesidades de cada programador.
Permite
Añadir barra de herramientas
Crear comandos personalizados
Establecer posición de ventanas para mejorar nuestro rendimiento
Para elegir correctamente el IDE necesitamos saber las características que buscamos en el, si satisface nuestras necesidades y si nosotros mismos cumplimos los requisitos del IDE.
Sistema operativo —– IDE
Lenguaje de programación y framework
Un IDE puede soportar uno o varios lenguajes de programación, por lo que es importante conocer el lenguaje con el que vamos a codificar
Herramientas y disponibilidad
En ocasiones puede ser restrictivo no solo por las preferencias personales del programador, sino por trabajar de manera colaborativa.
La restricción puede venir dada por las necesidades del proyecto, habrá que buscas un IDE que tenga las funcionalidades deseadas o un plugin que aporte la funcionalidad deseada
El aspecto más restrictivo de la disponibilidad reside en el precio de la aplicación. Existen soluciones muy económicas e incluso gratuitas.
Edición de programas y generación de ejecutables
Creación o edición de programas
Convertir ese código fuente en código ejecutable (suele ofrecer ejecutar de manera virtual el programa)
Desarrollo colaborativo: proceso de manera descentralizada, los técnicos no necesitan conocerse, tener el mismo jefe o hablar el mismo idioma pero trabajan en el mismo proyecto. Para poder llevar un control del código se utilizan control de versiones.
Control de versiones: Son herramientas asíncronas que permiten controlar y gestionar las fuentes y las versiones del código
El proceso es continuo y acumulativo, cada técnico trabaja sobre el código resultante de otro técnico. Todas estas operaciones se pueden hacer desde el propio IDE o desde aplicaciones externas.
La sincronización con el repositorio además permite saber que archivos han cambiado. Podemos ver los cambios realizados. Copia de seguridad selectiva.
La tecnología CASE supone la automatización del desarrollo del software.
Metodologías del desarrollo
Métodos: Son las normativas que marcan las directrices que se han de seguir para llevar a cabo una tarea. QUE
Técnicas: Conjunto de heurísticas y procedimientos apoyados en estándares. CÓMO
Prácticas: cuya utilización no conlleva reglas preestablecidas con las misma rigidez
Metodología: es un conjunto coherente de métodos y técnicas que cubren más de una etapa del ciclo de vida.
Herramientas: Proporciona un soporte automático para el proceso y para los métodos.
La diferencia entre metodología y paradigma de ciclo de vida es que la metodología puede seguir varios paradigmas y responde al cómo mientras el ciclo de vida indica lo que hay que obtener
Desarrollo convencional
Desarrollo convencional: totalmente artesanal, los resultados finales impredecibles y no hay forma de controlar lo que sucede
Desarrollo estructurado: se siguen unos métodos de ingeniería
Principales metodologías
Merise: estudio preliminar, estudio detallado, implementación, realización y puesta en marcha
Métrica: dotar a la organización de productos software que satisfagan las necesidades de los usuarios dando mayor importancia al análisis de requisitos, mejorar la productividad de los departamentos, facilitar la comunicación entre los participantes, y facilitar la operación de mantenimiento.
Proceso unificado: un ciclo de vida repite a lo largo del tiempo tras cada ciclo de vida—versión nueva del producto
La tecnología CASE. Componentes:
Repositorio: diccionario donde se almacenan los elementos definidos o creados por la herramienta
Meta modelo: marco para la definición de las técnicas y metodologías soportadas por la herramienta
Módulos de diagramación y modelización: da soporte para la creación de los diagramas más usados.
Herramientas de prototipado
Generador de código
Módulo de generador de documentación: transcribe las especificaciones contenidas.
Carga o descarga de datos: permiten cargar el repositorio de la herramienta CASE
Comprobación de errores: análisis de la exactitud
Interfaz de usuario: contaras de editores y herramientas de diseño