Vous êtes sur la page 1sur 35

El Proceso

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

definicin de Bauer nos proporciona una lnea base.


Cules son los principios robustos de la ingeniera aplicables al desarrollo de software de computadora? Cmo construimos el software econmicamente para que sea fiable? Qu se necesita para crear programas de computadora que funcionen eficientemente no en una mquina si no en diferentes mquinas reales?

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

Ingeniera del software es una tecnologa multicapa

El

fundamento de la ingeniera del software es la capa de proceso.


El proceso define un marco de trabajo para un conjunto de reas clave de proceso que se deben establecer para la entrega efectiva de la tecnologa de la ingeniera del software. Las reas claves del proceso forman la base del control de gestin de proyectos del software y establecen el contexto en el que se aplican los mtodos tcnicos, se obtienen productos del trabajo (modelos, documentos, datos, informes, formularios, etc.), se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente.

Los

mtodos de la ingeniera del software indican cmo construir tcnicamente el software.

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).

La Ingeniera de software comprende un proceso, mtodos tcnicos y de gestin, y herramientas.

La ingeniera es el anlisis, diseo, construccin, verificacin y gestin de entidades tcnicas (o sociales).


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

software se crea aplicando tres fases distintas:


La definicin, desarrollo y mantenimiento.

La

fase de definicin se centra sobre el qu


Identificar qu informacin ha de ser procesada. Qu funcin y rendimiento se desea. Interfaces, restricciones de diseo, criterios de validacin.

En esta fase se identifican los requisitos clave del sistema y del software.

Tendrn lugar tres tareas principales:


ingeniera de sistemas o de informacin, planificacin del proyecto del software y anlisis de los requisitos.

La

fase de desarrollo se centra en el cmo.

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

tres tareas especficas tcnicas:

Diseo del software, Generacin de cdigo Prueba del software.

La fase de mantenimiento se centra en el cambio que va asociado a la correccin de errores.

Cuando utilizamos el trmino mantenimiento reconocemos que es mucho ms que una simple correccin de errores.

Durante la fase de mantenimiento se encuentran cuatro tipos de cambios: Correccin.

El mantenimiento correctivo cambia el software para corregir los defectos.

Adaptacin.

El mantenimiento adaptativo produce modificacin en el software para acomodarlo a los cambios de su entorno externo.

Mejora.

El mantenimiento perfectivo lleva al software ms all de sus requisitos funcionales originales.

Prevencin.

El mantenimiento preventivo hace cambios en programas de computadora a fin de que se puedan corregir, adaptar y mejorar ms fcilmente.

la

ingeniera del software se complementa con actividades protectoras.


Seguimiento y control del proyecto de software Revisiones tcnicas formales Garanta de calidad del software Gestin de configuracin del software Preparacin y produccin de documentos Gestin de reutilizacin Mediciones Gestin de riesgos

Marco de trabajo comn del proceso

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?

Vous aimerez peut-être aussi