Sunteți pe pagina 1din 15

INGENIERA DE SOFTWARE

Ing. Dagoberto Rodrguez C.

Ingeniera de Software
Es el estudio de los principios y metodologas para desarrollo de sistemas de software (Zelkovitz, 1978). Es la aplicacin prctica del conocimiento cientfico en el diseo y construccin de programas de computadora y la documentacin asociada requerida para desarrollar, operar y mantenerlos. La aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin (funcionamiento) y mantenimiento del software; es decir, la aplicacin de ingeniera al software. Trata del establecimiento de los principios y mtodos de la ingeniera a fin de obtener software de modo rentable que sea fiable y trabaje en mquinas reales (Bauer,1972). Es la disciplina tecnolgica y administrativa dedicada a la produccin de sistemtica de productos de programacin, que son desarrollados y modificados a tiempo y dentro de un presupuesto definido. Es una disciplina de ingeniera que comprende todos los aspectos de la produccin de software.

Ingeniera de Software

Los primeros aos(1950-1960)


Orientacin por lotes (batch) Distribucin limitada Software a medida

La tercera era (1970-1990)


Sistemas Distribuidos Hardware de bajo costo Impacto en el consumo Microprocesadores

La segunda era(1960-1970)
Multiusuario Tiempo real Bases de Datos Producto de Software

La cuarta era(1990-2000)
Sistemas personales potentes Tecnologas orientadas a objetos Sistemas expertos Redes neuronales artificiales Computacin en paralelo Redes de computadoras

Ingeniera de Software
Ciclo de vida del Software. El ciclo de vida corresponde a las diversas etapas por las cuales debe pasar un sistema, comenzando con:
La formulacin de un problema, la especificacin de requisitos, anlisis, diseo, implementacin o codificacin, integracin y pruebas del software. Despus viene una fase operacional durante la cual se mantiene y extiende el sistema.

Ingeniera de Software
Modelos Clsicos Modelo de Cascada: Se define como una secuencia de actividades, donde la estrategia principal es seguir el proceso del desarrollo de software hacia puntos de revisin bien definidos mediante entregas calendarizadas.

Especificacin de requisitos

Anlisis Diseo Implementacin Pruebas parciales Integracin Mantenimiento

Ingeniera de Software
Modelos Clsicos Modelo Incremental: es un desarrollo inicial de la arquitectura completa del sistema, seguido de incrementos y versiones parciales del mismo.
Cada incremento tiene su propio ciclo de vida. Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema. Conforme se completa cada etapa, se verifica e integra la versin con las dems versiones ya completadas del sistemas. Durante cada incremento, el sistemas se evala con respecto al desarrollo de versiones futuras. Las actividades se dividen en procesos y subprocesos. Para que la secuencia de desarrollo sea exitosa, es esencial definir etapas que no requieran cambiar los resultados anteriores al agregar nuevas. Por lo tanto, es importante comprender al inicio los requisitos completos del sistema, algo que normalmente es muy difcil de lograr.

Ingeniera de Software
Modelos Clsicos Modelo Evolucionario (Desarrollo rpido de aplicaciones): es una extensin al modelo incremental, donde los incrementos se hacen de manera secuencial en lugar de en paralelo.
Desde el punto de vista del cliente, el sistema evoluciona segn se van entregando los incrementos. Desde el punto de vista del desarrollador, los requerimientos que son claros al principio del proyecto dictarn el incremento inicial, mientras que los incrementos para cada uno de los siguientes ciclos de desarrollo sern clarificados a travs de la experiencia de los incrementos anteriores. Este modelo considera que el desarrollo de sistemas es un proceso de cambios progresivos mediante deltas de especificacin de requerimientos. Delta 1 Primer ciclo de Delta 2 Desarrollo. Delta 1 Delta n

Ingeniera de Software
Modelos Clsicos Modelo de Espiral: desarrollado durante la dcada de los ochentas, es una extensin del modelo de cascada. Se basa en una estrategia para reducir el riesgo del proyecto en reas de incertidumbre, como requerimientos iniciales incompletos e inestables. El modelo enfatiza ciclos de trabajo, cada uno de los cuales estudia el riesgo antes de proceder al siguiente ciclo. Cada ciclo comienza con la identificacin de los objetivos, soluciones alternativas, restricciones asociadas con cada alternativa y, finalmente, se procede a su evaluacin. Cuando se identifica incertidumbre, se utilizan diversas tcnicas para reducir el riesgo de las distintas alternativas. Cada ciclo del modelo espiral termina con una revisin que discute los logros actuales y los planes para el siguiente ciclo.

Ingeniera de Software
Modelos Clsicos Modelo de Espiral Diseo Anlisis

Versin 1 lista

Versin 2 lista

Versin 3 lista

Implementacin

Pruebas

Ingeniera de Software
Modelos Recientes
Ganar-ganar: extiende el modelo espiral, haciendo nfasis en la identificacin de las condiciones de ganancia para todas las partes, creando un plan para alcanzar las condiciones ganadoras y los riesgos correspondientes. Se establecen las reglas para definir el proceso de desarrollo del proyecto, tomando en cuenta todas las partes implicadas. El modelo no necesita mucho tiempo de gestin, lo que permite utilizarlo tanto en proyectos pequeos, como mayores. Se consideran cuatro ciclos, compuesto cada uno de cuatro actividades: Elaborar los objetivos, restricciones y alternativas del proceso y producto del sistema y subsistema. Evaluar las alternativas con respecto a los objetivos y restricciones. Identificar y resolver las fuentes principales de riesgo en el proceso y el producto. Elaborar la definicin del producto y proceso. Planear el siguiente ciclo y actualizar el plan de su ciclo de vida, incluyendo la particin del sistema en subsistemas para ser consideradas en ciclos paralelos. Esto puede incluir un plan para terminar el proyecto si es muy riesgoso o no es factible. Asegurar el compromiso de la administracin para continuar segn lo planeado.

Ingeniera de Software
Modelos Recientes Ganar-ganar: Una vez revisadas las actividades, los ciclos definen lneas especficas a seguir:
Ciclo 0. Grupos de aplicacin. Se determina la viabilidad de un grupo apropiado de aplicaciones. Ciclo 1. Objetivos del ciclo de vida de la aplicacin. Se desarrollan los objetivos del ciclo de vida, incluyendo prototipos, planes y especificaciones de aplicaciones individuales, y se verifica la existencia de al menos una arquitectura viable para cada aplicacin. Ciclo 2. Arquitectura del ciclo de vida de la aplicacin. Se establece una arquitectura del ciclo de vida detallado, se verifica la viabilidad y determina que no existen riesgos mayores en satisfacer los planes y especificaciones. Ciclo 3. Capacidad de operacin inicial. Alcanzar una capacidad operacional inicial para cada etapa crtica del proyecto en el ciclo de vida del software.

Ingeniera de Software
Modelos Recientes Programacin extrema (XP): Es un modelo de proceso de software que toma los principios y prcticas aceptadas, y las lleva a niveles extremos. Tiene como objetivo reducir el riesgo en el ciclo de vida del software mediante grupos de desarrollo pequeos. Modelo unificado (UP): El proceso unificado tiene como aspecto esencial del desarrollo de software una visin que parte de la arquitectura del sistema, siguiendo un proceso iterativo e incremental. El proceso integra diferentes aspectos, como son los ciclos, fases, flujos de trabajo, mitigacin de riesgo, control de calidad, administracin del proyecto y control de configuracin. De manera adicional, considera las cuatro P del desarrollo de software: personas, proyecto, producto y proceso.

Ingeniera de Software: fallas


Accidente de un F-18: Este avin se estrello por culpa de un giro descontrolado, atribuido a una expresin if-then, para la cual no habia un instruccin else, por considerarse innecesaria. Por suerte el piloto pudo salir. Avin derribado por la fragata USS Vincennes: Esta fragata asignada al golfo prsico detecto un avin en su radar y que se aproximaba rpidamente al barco, al no lograr comunicacin con el avin, disparo un misil derribando lo que sera un avin comercial iran dejando como muertos 290 personas.

Ingeniera de Software: fallas


Error del sistema de cobranzas lleva a una gran compaa de televisin por satlite a la quiebra. Error en el procesador Pentium de Intel le costo 475 millones de dlares a dicha compaa. La compaa Askin Capital Management, quiebra por datos incorrectos en un modelo de cmputo.

Bibliografa
Ingeniera de Software. Ed. Thomson Ingeniera de Software. Ed. Addison Wesley. Ingeniera de Software. Richard Farley. Ed. Mc Graw Hill. Ingeniera de Software. Ed. Addison Wesley.

S-ar putea să vă placă și