fbpx
ingeniería de software

Fundamentos de la ingeniería en software

La ingeniería de software es una especialidad que consiste en sistemas, instrumentos y técnicas que se emplean en el desarrollo de los programas informáticos.

Esta especialidad  manifiesta la actividad del programa, que es la labor fundamental para el momento de la creación de un software.

El ingeniero de software se ocupa de toda la gestión del proyecto  para que éste pueda evolucionar en un lapso de tiempo determinado y con los recursos previsto para el proyecto.

La ingeniería de software, también, incorpora el análisis precedente de la situación, el bosquejo del proyecto, el desarrollo del software, el ensayo necesario para comprobar  su funcionamiento correcto y poner en funcionamiento el sistema.

Características de la ingeniería de software

Es una especialidad de la ingeniería que tiene como objetivo principal, el desarrollo costeable de sistemas de software confiables que funcionen de modo eficiente y comprende todos los aspectos de la producción del software.

El software presenta 3 elementos que lo caracterizan:

  1. Los programas y/o algoritmos.
  2. Las estructuras de datos.
  3. Los documentos.

Hay 2 tipos de derivados de software cuando se desarrolla:

1. Productos genéricos.

2. Productos personalizados.

Objetivos de la ingeniería de software

Los principales objetivos de la ingeniería de software son:

  • Diseñar programas informáticos que se adecúen a las exigencias de la sociedad.Objetivos de la Ingeniería en Software
  • Liderar y acoplar el desarrollo de programaciones complicadas.
  • Actuar en todas las fases del ciclo de vida de un producto.
  • Computar los costos de un proyecto y evaluar los tiempos de desarrollo.
  • Realizar el seguimiento de costes y plazos.
  • Liderar equipos de trabajo de desarrollo software.
  • Estructurar la elaboración de evidencias que comprueben el perfecto funcionamiento de los programas y que se adaptan a los requerimientos de análisis y diseño.
  • Diseñar, construir y administrar bases de datos.
  • Liderar y orientar a los programadores durante el desarrollo de aplicaciones.
  • Incluir  procesos de calidad en los sistemas, calculando métricas e indicadores y chequeando la calidad del software producido.
  • Liderar y orientar a los programadores durante el desarrollo de aplicaciones.
  • Incluir  procesos de calidad en los sistemas, calculando métricas e indicadores y chequeando la calidad del software producido.
  • Estructurar e inspeccionar el trabajo de su equipo de los técnicos de mantenimiento y los ingenieros de sistemas y redes.

Etapas de la ingeniería de software

La ingeniería de Software consta de siete etapas. A continuación cada una de ellas brevemente definidas:

  • Etapa de análisis:

Es el procedimiento de investigación de un problema al que se desea encontrar la solución.  Se define con claridad el Problema que hay que resolver o el programa que se desea inventar, identificando  los elementos principales que conformarán el producto.

  • Etapa de Diseño:

Es el procedimiento que emplea la información acumulada en la etapa de análisis al diseño del producto. La labor principal de la etapa de diseño es crear un modelo o las características precisas para el producto o Componentes del Sistema.

  • Etapa de Desarrollo:

Consiste en el empleo de los diseños creados durante la etapa de diseño para elaborar los elementos a utilizarse en el sistema.

  • Etapa de Pruebas o Verificación Prueba:

Consiste en garantizar que los elementos individuales que componen el sistema o producto, presentan las características requeridas en la especificación creada durante la etapa de diseño.

  • Etapa de Implementación o Entrega Implantación:

Consiste en la distribución del producto y hacerlo llegar a manos del cliente.

  • Etapa de Mantenimiento:

Consiste en aplicar las soluciones apropiadas a cualquier problema del producto y re- liberar el producto mejorado, dándole una nueva versión.

  • Etapa final EOL (End-of-Life)

Consiste en ejecutar todas las labores que garanticen que tanto los clientes como los empleados tiene la certeza de que el producto ya no estará más a la disposición, por lo que no se venderá más

Principios de la ingeniería de software

Una serie de principios,  dirige la práctica de la ingeniería de software, que son fundamentales y además contribuyen a la aplicación de los procedimientos del software.

En la práctica, los principios determinan los valores y reglamento que servirán para el momento de investigar o estudiar un problema; luego se buscará y diseñará la solución, se reparará, se probará y al estar listo, se distribuirá entre la comunidad de usuarios.

Existen una serie de principios fundamentales que facilitan los procedimientos y la práctica del software, como por ejemplo:

  1. Agregar valor para los usuarios finales
  2. Mantenerlo sencillo
  3. Fijar la visión (producto-proyecto)
  4. Reconocer que los consumidores deben comprender lo que usted ofrece
  5. Abrirse al futuro
  6. Planear la reutilización
  7. ¡pensar!

Sin tomar en cuenta que el modelo sea lineal o iterativo, prescriptivo o ágil, el uso de la estructura general, puede ser aplicada a todos los diseños de proceso.

  • Principio 1. Ser dinámico.

Las características más importantes del trabajo, debe ser enfático en la economía de acción que consiste en enfocarse en que lo técnico sea lo más sencillo posible, que los productos a elaborar sean precisos y que las decisiones puedan ser tomadas localmente.

  • Principio 2. Concentrarse en la calidad de cada etapa.

La calidad del producto debe ser el centro focal de la condición de salida para toda la actividad del procedimiento del trabajo que se ha creado.

  • Principio 3. Estar listo para adaptar.

Ajustar el enfoque a las limitaciones que imponen los problemas, los usuarios y el proyecto en sí.

  • Principio 4. Conformar un equipo eficaz.

El procedimiento y usos de la ingeniería de software son importantes, pero el objetivo principal son los usuarios. Se debe formar un equipo en donde impere la confianza.

  • Principio 5. Constituir los mecanismos necesarios para la comunicación y coordinación.

Principios que dirigen el proceso.

  • Principio 6. Administrar el cambio

El planteamiento puede variar entre formal o informal, pero deben determinarse los mecanismos para aplicar la forma en la que los cambios se solicitan, evalúan, aprueban e implementan.

  • Principio 7. Calcular el riesgo.

Son muchos los detalles que pueden fallar en el desarrollo de software por lo que se hace imprescindible tener planes de emergencia.

  • Principio 8. Elaborar productos del trabajo que sumen valor para otros

Todo producto del trabajo que dé como resultado, de parte de la práctica de ingeniería de software pasará a alguien más. La lista de las funciones y características exigidas se dará a la persona que desarrollará un diseño, el diseño pasará a quienes creen un código y así sucesivamente. Asegúrese de que el producto del trabajo imparte la información necesaria y precisa.

Herramientas de Ingeniería de software:

CASE (Ingeniería De Software Asistida Por Computador)

Incorporan un conjunto de programas que permiten mejorar la calidad de un producto, ofreciendo apoyo constantemente a los analistas, ingenieros de software y desarrolladores.

CASE es la adaptación de procesos y tecnología que dan rendimiento a los programas, a través de otros, procesos y su correspondiente documentación.

Recientemente las herramientas para la administración de requisitos de software se condicionaban solo los  editores de texto, quienes la realizaban haciendo de ella una labor aburrida y hasta confusa. En la actualidad, contamos con muchísimas opciones, como las que se mencionan a continuación:

  • IRQA

IRQA es la que posibilita y determina la relación entre el cliente, el distribuidor y los diferentes miembros del equipo que está desarrollando el proyecto.

Facilita la adquisición, constitución y estudio de las condiciones, así como la determinación de la solución mediante el apoyo metodológico adaptable a cada cliente.

  • CONTROLA

Herramienta de soporte de proceso de ingeniería de software en pequeñas empresas. Fue creada debido al desarrollo del mercado y a la creación  grandes y pequeñas empresas,  que requerían una herramienta para la evolución de sus proyectos.

Ofrece procedimientos importantes como lo son: Administración de requisitos, gestión de casos de uso, dirección de casos de prueba y error, planificación de liberaciones, administración de implementaciones, control de dependencia entre Implementaciones, matriz de rastreabilidad y rastreabilidad de los requisitos.

  • OSRMT (Open Source Requirements Management Tool)

Herramienta libre para la administración de requisitos, que tiene unas características propias y las principales son: trabaja en arquitectura cliente/servidor, evolucionada bajo Java; la versión 1.3 trae un módulo para manejar la trazabilidad y lo introduce para el control de cambios; de igual manera, produce  la documentación de los requisitos tratados.

Sé parte de esta revolución digital

Las actuales aplicaciones de la programación son casi ilimitadas y es así por que en realidad no existe un tope para mejorar los sistemas en uso o en los que están aun en desarrollo , pero todo suele comenzar con una línea de código , una idea y tal vez un par de malas noches, el motor de todo está en convertir un simple sueño en una realidad que aunque parece imposible y que de simple solo tiene la razón de ser insuficiente para satisfacer la necesidad de lograr cumplirse, al final solo estas tú y tu potencial, aprovéchalo al máximo por que esto no es una carrera es un maratón , deja tu huella en el mundo, descubre herramientas como las que te proporciónanos en nuestros cursos de desarrollador web.

Bootcamp-Banner-1920X1080
Únete a nuestro Bootcamp
¿Te gustó el artículo? Comparte con tus amigos
Imagen por defecto
Rigoberto Javier
Creador de contenido, investigador y seguidor de la innovación.
Artículos: 29

Deja un comentario

Dirección
Torre DG. Av. Adolfo Ruíz Cortínes 1344.
Villahermosa, Tabasco 86035

Hecho en 🇲🇽 con ❤️