Entornos de Desarrollo y Software: Conceptos Clave y Procesos Esenciales


Ejercicios sobre Entornos de Desarrollo: Conceptos Fundamentales

1. Definición de Software

Conjunto de programas, instrucciones y reglas informáticas que sirven para ejecutar acciones en un ordenador.

2. Tipos de Software

Existen tres tipos de software:

  • De sistema: Su principal función es librar al usuario de los detalles del hardware que se usa y de su gestión.
  • De programación: Su principal función es proveer herramientas al usuario para desarrollar programas informáticos.
  • De aplicaciones: Su principal función es permitir al usuario realizar una o varias tareas específicas.

3. Ciclo de Vida del Software

Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso.

4. Herramientas CASE

Las herramientas CASE (Computer-Aided Software Engineering) son un conjunto de aplicaciones que se utilizan en el desarrollo del software con el objetivo de reducir costes y tiempo del proceso, mejorando la productividad del mismo.

5. Lenguaje de Programación

El lenguaje de programación es el que nos permite comunicarnos con el hardware del ordenador.

6. Características del Lenguaje de Alto Nivel

Las características del lenguaje de alto nivel son:

  • Sustituir al lenguaje ensamblador para facilitar más la labor de programación.
  • Utilizar sentencias y órdenes derivadas del idioma inglés.
  • Ser más cercanos al razonamiento humano.

7. Características de los Lenguajes de Programación Orientados a Objetos (POO)

Las características de los lenguajes de programación orientados a objetos son:

  • Los objetos del programa tendrán una serie de atributos que los diferencian unos de otros.
  • Se define clase como una colección de objetos con características similares.
  • Mediante los llamados métodos, los objetos se comunican con otros, produciéndose un cambio de estado en los mismos.
  • Los objetos son, pues, unidades individuales e indivisibles que forman la base de este tipo de programación.

8. Fases en el Desarrollo y Ejecución del Software

Las fases en el desarrollo y ejecución del software son:

  1. Análisis de requisitos.
  2. Diseño.
  3. Modificación.
  4. Pruebas.
  5. Documentación.
  6. Explotación.
  7. Mantenimiento.

9. Información en la Especificación de Requisitos Software (ERS)

La información que debe quedar reflejada en el documento de Especificación de Requisitos Software (ERS) incluye:

  • La planificación de las reuniones que van a tener lugar.
  • Relación de los objetivos del usuario/cliente y del sistema.
  • Relación de los requisitos funcionales y no funcionales del sistema.
  • Relación de objetivos prioritarios y temporización.

10. Características Deseables del Código

Las características deseables del código son:

  1. Modularidad: que esté dividido en trozos más pequeños.
  2. Corrección: que haga lo que se le pide realmente.
  3. Fácil de leer: para facilitar su desarrollo y mantenimiento futuro.
  4. Eficiencia: que haga un buen uso de los recursos.
  5. Portabilidad: que se pueda implementar en cualquier equipo.

11. Tipos de Código: Fuente, Objeto y Ejecutable

Código fuente: Es el código escrito por programadores en algún editor de texto.

Código objeto: Es el código binario resultado de compilar el código fuente.

Código ejecutable: Es el código binario resultante de enlazar los archivos de código objeto con ciertas rutinas y bibliotecas necesarias.

12. Funciones Principales de una Máquina Virtual

Las funciones principales de una máquina virtual son las siguientes:

  • Conseguir que las aplicaciones sean portables.
  • Reservar memoria para los objetos que se crean y liberar la memoria no utilizada.
  • Comunicarse con el sistema donde se instala la aplicación (huésped), para el control de los dispositivos hardware implicados en los procesos.
  • Cumplimiento de las normas de seguridad de las aplicaciones.

13. Frameworks: Concepto, Ventajas e Inconvenientes

Un framework es una estructura de ayuda al programador, en base a la cual podemos desarrollar proyectos sin partir desde cero.

Ventajas de utilizar un framework:

  • Desarrollo rápido de software.
  • Reutilización de partes de código para otras aplicaciones.
  • Diseño uniforme del software.
  • Portabilidad de aplicaciones de un computador a otro, ya que los bytecodes que se generan a partir del lenguaje fuente podrán ser ejecutados sobre cualquier máquina virtual.

Inconvenientes:

  • Gran dependencia del código respecto al framework utilizado (si cambiamos de framework, habrá que reescribir gran parte de la aplicación).
  • La instalación e implementación del framework en nuestro equipo consume bastantes recursos del sistema.

14. Responsabilidades de los Entornos de Desarrollo

Los entornos de desarrollo se encargarán de:

  • Configurar la memoria principal disponible en el sistema.
  • Enlazar los archivos del programa con las bibliotecas existentes y con los subprogramas creados. Las bibliotecas son el conjunto de subprogramas que sirven para desarrollar o comunicar componentes software pero que ya existen previamente, y los subprogramas son aquellos que se han creado a propósito para el programa.
  • Depurar los programas: comprobar la existencia (o no existencia) de errores.

15. Tipos de Pruebas de Software

Existen diferentes tipos de pruebas, entre ellas:

  • Pruebas unitarias: Consisten en probar, una a una, las diferentes partes del software y comprobar su funcionamiento (por separado, de manera independiente).
  • Pruebas de integración: Se realizan una vez que se han completado con éxito las pruebas unitarias y consistirán en comprobar el funcionamiento del sistema completo, con todas sus partes interrelacionadas. La prueba final se realiza sobre el entorno de producción donde el software va a ser utilizado por el cliente.

16. Tipos de Documentos del Ciclo de Vida del Software

Los principales documentos son:

  • Documento de guía técnica: Su objetivo es facilitar un correcto desarrollo, realizar correcciones en los programas y permitir un mantenimiento futuro.
  • Documento de guía de uso: Proporciona a los usuarios finales toda la información necesaria para utilizar la aplicación.
  • Documento de guía de instalación: Ofrece toda la información necesaria para garantizar que la implantación de la aplicación se realice de forma segura, confiable y precisa.

17. Tipos de Mantenimiento de Software

Existen varios tipos de mantenimiento:

  • Perfectivo: Para mejorar la funcionalidad del software.
  • Evolutivo: El cliente tendrá en el futuro nuevas necesidades. Por tanto, serán necesarias modificaciones, expansiones o eliminaciones de código.
  • Adaptativo: Modificaciones, actualizaciones, etc., para adaptarse a las nuevas tendencias del mercado, a nuevos componentes hardware, etc.
  • Correctivo: La aplicación tendrá errores en el futuro (sería utópico pensar lo contrario).

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *