ingenierÍa de software - unid · historia del software; 1968 aparece el concepto de “fábrica de...
TRANSCRIPT
Sesión 2: Procesos de ingeniería del software
INGENIERÍA DE
SOFTWARE
Contextualización
La ingeniería de software actualmente es muy importante, pues con los avances
tecnológicos se crean muchas cosas que funcionan y operan mediante
aplicaciones informáticas, el uso de los medios mecánicos está dejando de ser
muy frecuente, por lo que es importante conocer las propiedades que puede
manejar un software, las aplicaciones más grandes y pequeñas de uso cotidiano y
la forma en que se idean y desarrollan estas para diferentes usos, ya sea
dispositivos móviles, televisores inteligentes, automóviles, software de
computadora, etcétera.
Introducción
Dentro de la forma en que se desarrollan aplicaciones y medios de programación se
ubica un importante procedimiento para su desarrollo y representación antes de la
creación, en este se pueden determinar los ciclos de vida de cada una y los procesos
por los que debe pasar para cumplir con la idea principal, los objetivos que debe
cumplir y el uso de recursos que tendrá, definiendo un mínimo y un máximo para
concretar el trabajo estipulado dentro de su código.
El proceso de ingeniería de software, es un medio necesario por el cual se definen
características importantes de lo que se desea lograr, este proceso se basa en
modelos, métodos y herramientas que se utilizan como guía para los
desarrolladores de software, los procedimientos se realizan para mejorar la calidad
de los proyectos y lograr la evaluación medición de efectividad de los mismos.
Procesos de ingeniería del
software
El objetivo del proceso de ingeniería de software y de quienes lo utilizan es poner
en práctica los conocimientos y procedimientos que se desarrollan para mejorar en
cada una de las fases de desarrollo. ¿Cuáles son las fases de desarrollo más
comunes?
Análisis
Diseño
Implementación
Pruebas
Mantenimiento
Procesos de ingeniería del
software
Ciclo de vida del software
El ciclo de vida de un software es un término que describe el desarrollo desde la
fase inicial hasta la fase final. Éste se divide en varios, pues dependiendo del tipo
del modelo éste puede cambiar, por ejemplo se tiene los modelos siguientes; ciclo
de vida lineal, ciclo de vida en cascada puro, ciclo de vida en V, ciclo de vida tipo
iterativo, etcétera. Algunos autores consideran un modelo de ciclo de vida como
un término general más que uno determinado para el desarrollo del software.
Procesos del ciclo de vida
Procesos principales
Adquisición
Suministro
Desarrollo: explotación, mantenimiento
Procesos de soporte
Documentación
Gestión de configuración
Aseguramiento de calidad: verificación, validación, revisión conjunta, auditoria.
Resolución de problemas
Procesos de la organización
Gestión
Mejora
Infraestructura
Formación
Ciclos de vida tradicionales
Éstos son ciclos que aún se utilizan para construir sistemas complejos, los cuales
exigen de un análisis riguroso y formal, controles estrictos sobre el proceso, etcétera.
Este ciclo de vida no es conveniente para los sistemas pequeños de escritorio, los
ciclos de vida tradicionales, son;
Ciclo de vida clásica o de cascada
Ciclo de vida de refinamiento o de mejora iterativa
Ciclo de vida con emisión gradual
Estándares militares y prácticas industriales.
El ciclo de vida orientado a objetos consta de fases y periodos, en los cuales se estipula
el crecimiento, mejora y madurez del sistema en el que se está trabajando. Existe un
modelo en el cual se expresa de forma simple el funcionamiento de estos, se le conoce
como modelo fuente y consta de;
planificación del negocio
construcción
planificación
investigación
especificación
implementación
revisión
entrega
Ciclos de vida para sistemas
orientados a objetos
Conclusión
Los ciclos que funcionan dentro de un software son determinados por las
líneas de código que las componen y las estructuras lógicas,
condicionales o de cambio que utilicen, es decir, dependiendo del tipo de
programación y el código que se use se puede determinar la duración del
ciclo y al finalizarlo se inicia nuevamente dejando limpia la memoria y las
piezas del código del sistema que se utilizaron, permitiendo que se tenga
una nueva ejecución disponible cuando se desee.
Para aprender más
Metodologías de desarrollo de software
Este es un marco de trabajo usado para estructurar, planificar y controlar
el proceso de desarrollo en sistemas de información. Son procedimientos
específicos, técnicas estructuradas y herramientas fundamentales que
ayudan a los desarrolladores a realizar nuevo software.
¿Por qué se utiliza una metodología para el desarrollo de software?
Las metodologías se utilizan para definir los procedimientos a seguir, es
decir, son una serie de pasos estructurados los cuales deben cumplirse
para presentar una estructura correcta y bien definida dentro de la
creación y desarrollo de las piezas de software.
Las metodologías agilizan la creación de las aplicaciones y ayuda a tener una presenta con mejor
estructurada, se puede conocer el medio a desarrollar con diagramas y su forma de funcionar, pues
pueden ser diagramas de flujo o diagramas llamados también framework.
Fases;
Requisitos
Análisis
Diseño preliminar
Codificación
Pruebas
Para aprender más
Concepto
Conjunto de pasos y procedimientos que deben cumplirse según se estipula para el
desarrollo de software.
Conjunto de filosofías, fases, procedimientos, reglas, técnicas, herramientas,
documentos y documentación y formación para los desarrolladores de aplicaciones y
software útil y robusto.
Conjunto de procedimientos, técnicas, métodos, herramientas y reglamentos útiles
para crear soporte documental donde se ayuda a los desarrolladores para nuevo
software.
Evolución histórica
Las aplicaciones o software han evolucionado desde su aparición, pues se han incrementado las posibilidades de
creación y desarrollo de medios más robustos, tanto para uso personal, así como para uso corporativo. La evolución
del software se da gracias a las empresas que se encargaron de ofrecer nuevas formas de producir en masa, por
ejemplo, cuando se crearon las video caseteras era necesario introducirles códigos de programación para así realizar
las funciones especiales que marcaban la diferencia en el producto, como la hora, la fecha, la aparición pantalla de las
funciones que se realizan en el momento, como reproducir, detener, etcétera. Retomaremos algunas fechas sobre la
historia del software;
1968 aparece el concepto de “fábrica de software”.
1969 se crea la primera fábrica de software por Hitachi Software Works.
1975 se crea la fábrica de software de la System Development Corporation.
1976 se crea la fábrica de software de NEC
1977 se crea la fábrica de software Toshiba
1979 se crea la fábrica de software de Fujitsu
1985 se crea la fábrica de software de Hitachi y de NTT
1987 se crea la fábrica de software de Mitsubishi.
Referencias
s/a. Desarrollo de Software. Consultado el 17 de jul. de 13, obtenido de: http://www.desarrollo-software.com/
Jaramillo J., De los problemas a los programas. Consultado el 17 de jul. de 13, obtenido de:
http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060024/Lecciones/Capitulo%20I/problemas.htm
s/a, Ciclo de vida del software. Consultado el 17 de jul. de 13, obtenido de: http://alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema03.pdf
HananTek, Modelos de Ciclo de vida de software. Consultado el 17 de jul. de 13, obtenido de: http://www.hanantek.com/es/modelos-
ciclo-vida-software
s/a, Ciclo de vida de software. Consultado el 17 de jul. de 13, obtenido de:
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r68828.PDF
s/a, Ciclo de vida del software. Consultado el 17 de jul. de 13, obtenido de:
http://img.redusers.com/imagenes/libros/lpcu097/capitulogratis.pdf
Universidad Nacional de Colombia, Ciclo de vida tradicional de los sistemas de software. Consultado el 17 de jul. de 13, obtenido de:
http://ungrid.unal.edu.co/oo/adoo/waterfall.pdf
Gutiérrez D., Métodos de desarrollo de software. Consultado el 17 de jul. de 13, obtenido de:
http://www.codecompiling.net/files/slides/IS_clase_13_metodos_y_procesos.pdf
Pressman, Roger, Ingeniería de Software 3ª Ed., McGraw Hill, 1993.