Icono del sitio ZimbronApps

Conceptos Básicos

¿Qué es la ingeniería de software?

La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques, es decir, el estudio de las aplicaciones de la ingeniería al software. ​ Integra matemáticas, ciencias de la computación y prácticas cuyos orígenes se encuentran en la ingeniería.

Se citan las definiciones más reconocidas, formuladas por prestigiosos autores:

Notaciones

UML o LUM (Lenguaje Unificado de Modelado)

Es un lenguaje de modelado muy reconocido y utilizado actualmente que se utiliza para describir o especificar métodos. También es aplicable en el desarrollo de software.

Las siglas UML significan lenguaje unificado de modelado esto quiere decir que no pretende definir un modelo estándar de desarrollo, sino únicamente un lenguaje de modelado.

Un lenguaje de modelado consta de vistas, elementos de modelo y un conjunto de reglas sintácticas, semánticas y pragmáticas que indican cómo utilizar los elementos.

En esta materia nos encontramos con varios diagramas que se pueden usar tales como: casos de uso, de clases, componentes, despliegue, etc.

BPMN (notación para el modelado de procesos de negocios)

El objetivo de la notación para el modelado de procesos de negocios es proporcionar de una manera fácil de definir y analizar los procesos de negocios públicos y privados simulando un diagrama de flujo. La notación ha sido diseñada específicamente para coordinar la secuencia de los procesos y los mensajes que fluyen entre los participantes del mismo, con un conjunto de actividades relacionadas. Características básicas de los elementos de BPMN

Diagrama de flujo de Datos (DFD)

Un diagrama de flujo de datos permite representar el movimiento de datos a través de un sistema por medio de modelos que describen los flujos de datos, los procesos que transforman o cambian los datos, los destinos de datos y los almacenamientos de datos a la cual tiene acceso el sistema.

Su inventor fue Larry Constantine, basado en el modelo de computación de Martin y Estrin: flujo gráfico de datos. Con los diagramas de flujo de datos determina la manera en que cualquier sistema puede desarrollarse, ayuda en la identificación de los datos de la transacción en el modelo de datos y proporciona al usuario una idea física de cómo resultarán los datos a última instancia.

Conceptos Básicos

Software:

Diferencia entre Ingeniería de Software y Ciencias Computacionales

Las Ciencias Computacionales conciernen a la teoría y fundamentos de cualquier sistema de cómputo (hardware o software).

La Ingeniería de software concierne los aspectos prácticos del desarrollo y puesta en marcha de productos útiles de software.

La Ingeniería de Software aún está lejos de ser considerada una ciencia como los son la química o la física.

Diferencia entre Ingeniería de Software e Ingeniería de Sistemas

La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo incluyendo hardware, software y la ingeniería de procesos.

La Ingeniería de Software es una parte de este proceso que comprende el desarrollo de software, control, aplicaciones y bases de datos del sistema.

Los ingenieros de software son los encargados de la especificación del sistema, del diseño de la arquitectura, la integración y la puesta en marcha.

 

Proceso:

Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software.

Algunas actividades genéricas en todos los procesos de software son:

Estas actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse

Proceso de software:

Representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica.

Ejemplos de perspectivas del proceso de software:

Modelos Genéricos:

Proceso de software:

Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software.

Modelos de Software:

Representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica.

Ejemplos de perspectivas del proceso de software:

CASE (Computer-Aided Software Engineering)

Programas que son usados para dar soporte automatizado a las actividades del proceso de software:

Análisis de requerimientos, modelado del sistema, pruebas y depuración (debugging)

Las herramientas CASE son comúnmente usadas para dar soporte a los métodos de software

Atributos de Software de Calidad

El software debe proveer la funcionalidad y desempeño requeridos por el usuario y debe ser mantenible, confiable y aceptable.

Retos de la ingeniería de software

Heterogeneidad

Desarrollar técnicas para construir software que pueda hacer frente a plataformas y ambientes de ejecución heterogéneos (diferentes tipos de Hw y Sw).

Tiempos de entrega

Desarrollar técnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad.

Confianza

Desarrollar técnicas que permitan que los usuarios confíen plenamente en el software.

 

Referencias:

Wikipedia

Cinestav

Descargar Documento:
[sociallocker]

Conceptos Básicos.docx

[/sociallocker]

Salir de la versión móvil