El proceso proporciona una interaccin entre los usuarios y los diseadores, entre los usuarios y las herramientas de desarrollo, y entre los diseadores y las herramientas de desarrollo
Quin lo hace? Proporciona estabilidad, control y organizacin a una actividad que puede, si no se controla, volverse catica Cules son los pasos? Los productos obtenidos son programas, documentos y datos que se producen como consecuencia de las actividades de ingeniera del software definidas por el proceso. La calidad, oportunidad y viabilidad a largo plazo del producto que est construyendo son los mejores indicadores de la eficiencia del proceso que estamos utilizando. Qu es el proceso del software desde un punto de vista tcnico?
Definicin:
[La ingeniera del software] es el establecimiento y uso de principios robustos de la ingeniera a fin de obtener econmicamente software que sea fiable y que funcione eficientemente sobre mquinas reales. Fritz Bauer
La
Ingeniera
del software:
La aplicacin de un enfoque sistemtico, disciplinado y cuantificable hacia el desarrollo, operacin y mantenimiento del software; es decir, la aplicacin de ingeniera al software.
IEEE [IEE93]
La
El
Los
Las tareas incluyen el anlisis de requisitos, diseo, construccin de programas, pruebas y mantenimiento. Los mtodos de la ingeniera del software dependen de un conjunto de principios bsicos que gobiernan cada rea de la tecnologa e incluyen actividades de modelado y otras tcnicas descriptivas.
Las herramientas de la Ingeniera del software proporcionan un enfoque automtico o semiautomtico para el proceso y para los mtodos. Cuando se integran herramientas para que la informacin creada por una herramienta la pueda utilizar otra, se establece un sistema de soporte para el desarrollo del software llamado ingeniera del software asistida por computadora (CASE).
Cul es el problema a resolver? Cules son las caractersticas de la entidad que se utiliza para resolver el problema? Cmo se realizar la entidad (y la solucin)? Cmo se construir la entidad? Qu enfoque se va a utilizar para no contemplar los errores que se cometieron en el diseo y en la construccin de la entidad? Cmo se apoyar la entidad cuando usuarios soliciten correcciones, adaptaciones y mejoras de la entidad?
El
La
En esta fase se identifican los requisitos clave del sistema y del software.
ingeniera de sistemas o de informacin, planificacin del proyecto del software y anlisis de los requisitos.
La
Cmo han de disearse las estructuras de datos. Cmo ha de implementarse la funcin dentro de una arquitectura de software. Cmo ha de traducirse el diseo en un lenguaje de programacin. Procedimientos e interfaces.
Las
Cuando utilizamos el trmino mantenimiento reconocemos que es mucho ms que una simple correccin de errores.
Adaptacin.
El mantenimiento adaptativo produce modificacin en el software para acomodarlo a los cambios de su entorno externo.
Mejora.
Prevencin.
El mantenimiento preventivo hace cambios en programas de computadora a fin de que se puedan corregir, adaptar y mejorar ms fcilmente.
la
El enfoque del SE1 (Softwate Engineering Institute) proporciona una medida de la efectividad global de las prcticas de ingeniera del software de una compaa y establece cinco niveles de madurez del proceso, que se definen de la forma siguiente: Nivel 1: Inicial. Nivel 2: Repetible. Nivel 3: Definido. Nivel 4: Gestionado. Nivel 5: Optimizacin.
Lineal Secuencial Modelo de Prototipos Modelo DRA Modelo incremental Modelo espiral Modelo espiral WIN WIN Modelo de desarrollo concurrente Desarrollo Basado en Componenentes
Modelo
El desarrollo de modelos formales actualmente es bastante caro y lleva mucho tiempo. Se requiere un estudio detallado porque pocos responsables del desarrollo de software tienen los antecedentes necesarios para aplicar mtodos formales. Es difcil utilizar los modelos como un mecanismo de comunicacin con clientes que no tienen muchos conocimientos tcnicos.
Facilitan
al ingeniero del software la especificacin de algunas caractersticas del software de alto nivel La herramienta genera automticamente el cdigo fuente basndose en la especificacin del tcnico
Lenguajes no procedimentales de consulta a bases de datos, generacin de informes, manejo de datos, interaccin y definicin de pantallas, generacin de cdigos, capacidades grficas de alto nivel y capacidades de hoja de clculo, y generacin automatizada de HTML y lenguajes similares utilizados para la creacin de sitios web usando herramientas de software avanzado
El
uso de T4G es un enfoque viable para muchas de las diferentes reas de aplicacin el tiempo requerido para producir software se reduce mucho para aplicaciones pequeas y de tamao medio el uso de T4G para grandes trabajos de desarrollo de software exige el mismo o ms tiempo de anlisis, diseo y prueba.
Incluso cuando utilice una T4G, tiene que destacar claramente la Ingeniera del software haciendo el anlisis, el diseo y las pruebas.
el proceso es dbil, el producto final va a sufrir indudablemente. Dualidad Si se desarrolla sin pensar y se aplica descuidadamente, el proceso puede convertirse en la muerte del sentido comn. Philip K. Howard
Si
Hay algn caso en que no se apliquen fases genricas del proceso de ingeniera del software? Si es as, descrbalo. Qu paradigmas de ingeniera del software de los presentados en este captulo piensa que sera el ms eficaz? Por qu? Proporcione cinco ejemplos de proyectos de desarrollo del software que sean adecuados para construir prototipos. Nombre dos o tres aplicaciones que fueran ms difciles para construir prototipos. Proponga un proyecto especfico de software que sea adecuado para el modelo incremental. Presente un escenario para aplicar el modelo al software. A medida que vaya hacia afuera por el modelo en espiral, qu puede decir del software que se est desarrollando o manteniendo? Proporcione tres ejemplos de tcnicas de cuarta generacin. Qu es ms importante, el producto o el proceso?