10 términos sobre desarrollo de software que debes conocer (II)

Escrito por 10 mayo, 2016Desarrollo de software
Diez términos sobre desarrollo de software que debes conocer (parte II)

Como comentábamos en el post anterior, el mundo del software es muy amplio y por eso nos hemos centrado en el desarrollo del software. En la primera entrega, comentamos términos como multiplataforma, cliente-servidor, lenguaje de desarrollo, UX y metodología de desarrollo. A continuación, les explicamos los siguientes 5 términos.

6. DevOps

Se centra en la comunicación, colaboración e integración entre los desarrolladores de software y los profesionales de las tecnologías de la información. Por este motivo, DevOps es un acrónimo de las palabras “development” (desarrollo) y “operations” (operaciones).

Su objetivo primordial es ayudar a una organización a producir productos y servicios de software de forma rápida y fiable. Suele ser usado por empresas que tienen entregas muy frecuentes de software.

7. IDE (Integrated Development Environment – Ambiente de desarrollo integrado)

Consiste en una aplicación informática que proporciona servicios integrales para facilitar el desarrollo de software al programador o desarrollador.

Por norma general, un IDE consiste en un editor de código fuente, herramientas de construcción automática y un depurador, además de auto-completado inteligente de código. Los IDE’s más utilizados son los siguientes:

  • Netbeans: herramienta multilenguaje y multiplataforma en la cual podemos desarrollar un software de calidad. Permite crear aplicaciones web y de escritorio, además de que sus plugins permiten trabajar con Android.
  • Eclipse: es uno de los IDE’s más usados. Al igual que Netbeans, es multiplataforma y multilenguaje. Hay que tener en cuenta que es necesario agregar varios plugins para que funcione por completo.
  • Visual Studio: es el más indicado para desarrollar en Windows usando tecnologñia Microsoft. Con esta IDE podrás desarrollar el entorno .net y te permite convertirte en desarrollador para la tienda de Windows.
  • Monodevelop: no es conocido por muchos programadores pero permite trabajar en Linux, Windows y Max OS X, soportando los lenguajes C#, Visual Basic.Net, C/C++ y Vala.

8. Abstracción

Consiste en aislar un elemento de su contexto del resto de elementos que lo acompañan. Podemos dividirla en dos categorías, la abstracción de datos (perteneciente a los datos) y la abstracción de control (perteneciente a las estructuras de control).

La abstracción, desde el punto de vista de la programación orientada a los objetos, expresa las características esenciales de un objeto, que son las que lo distinguen de los demás, añadiendoles límites conceptuales.

9. Calidad de código

Se mide mediante herramientas, las cuales son técnicas y métodos parametrizados que nos ayudan a obtener una información de un producto de software.

Centrándonos en la calidad del código, éstas herramientas analizan y depuran el códifo del programa, informando al programador del código muerto, duplicación del código y complejidad de métodos innecesarios. Algunas de las herramientas de código existentes son:

  • Checkstyle: ayuda a escribir el código que se adhiera a unas convenciones de codificación determinadas. También permite encontrar problemas en los diseños de las clases, encontrar códigos duplicados o buscar patrones de error conocidos.
  • PMD: busca en el código fuente determinados patrones de error, códigos no usados, códigos no óptimos, expresiones demasiado complicadas y códigos duplicados.
  • Jdepend: proporciona métricas de calidad entre los paquetes de un proyecto en función de su extensibilidad, reusabilidad y mantenibilidad.
  • SONAR: permite recopilar, analizar y visualizar métricas del código fuente. Está formado por variar herramientas, como por ejemplo Checkstyle. Se usa principalmente con Java pero también da soporte a otros lenguajes.

10. Multiproceso

Entendemos como multiproceso al uso de dos o más procesadores (CPU) en un ordenador para la ejecución de uno o varios procesos al mismo tiempo. Esta capacidad acelera considerablemente el funcionamiento del programa.

Generalmente, estos sistemas trabajar de dos formas:

  • Simétrico: los procesos o parte de ellos son enviados de forma indistinta a culquier procesador disponible teniendo así una mejor distribución y equilibrio en la carga de trabajo.
  • Asimétrico: de esta manera, el sistema operativo selecciona a uno de los procesadores, que será el que juegue el papel de procesador maestro. Éste será el encargado de distribuir el trabajo al resto de procesadores.

Con estos términos finalizamos estos post sobre desarrollo de software. No dejen de visitar nuestro blog, donde seguiremos desentramando el mundo del software.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies