Sei sulla pagina 1di 27

Ingeniera de Software

Dr. Marcello Visconti Departamento de Informtica Universidad Tcnica Federico Santa Mara visconti@inf.utfsm.cl

Ingeniera? de Software

Grandes Problemas Actuales


Retraso respecto al potencial de hardware Insatisfaccin de la demanda Mantencin

Percepciones de la Disciplina
Ineficiencia Altos costos Baja confiabilidad Escasa ingeniera

Proceso de Software
Relativamente nuevo e inmaduro No ocurre aislado Transforma modelos Transforma necesidades y requerimientos en sistemas

Crisis del Software


Crisis v/s afliccin crnica v/s depresin Sntomas
funcionalidad incorrecta desarrollo y mantencin inadecuados insatisfaccin de la demanda

Crisis del Software


Problemas
carencia de informacin respecto a qu se hace insatisfaccin de clientes y usuarios calidad sospechosa mantencin difcil y costosa

Crisis del Software


Potenciales causas
carcter lgico del software formacin profesional (o falta de) entrenamiento y actualizacin resistencia al cambio

Solucin
enfoque ingenieril

Mitos del Software


Algunos bastantes arraigados
estndares y procedimientos bastan tecnologa de punta basta ms gente para ponerse al da programacin inmediata fcil acomodo de los cambios programacin: fin del trabajo calidad: slo del ejecutable cdigo es el nico producto

Ingeniera de Software
Establecimiento y uso de principios con caracteres de ingeniera apropiados para obtener, eficientemente, software confiable, que opere eficaz y eficientemente en mquinas reales

Ingeniera de Software
Objetivos
maximizar calidad maximizar productividad minimizar riesgos

Ingeniera de Software
Implicancias
constructores bsicos ms poderosos mejores tcnicas de control de calidad mejores herramientas y mtodos filosofa global -- enfoque de procesos ?

Ingeniera de Software
Concepto se acu en 1968, en Conferencia de la OTAN en Alemania, con la intencin de que mediante el uso de filosofas y paradigmas de disciplinas ingenieriles establecidas se resolviera la crisis del software

Dificultades en la Produccin de Software


Esencia
complejidad conformidad necesidad de cambios invisibilidad

Accidentes
avances de investigacin no silver bullet? (Brooks, 1986)

Paradigmas
Esquemas (mtodos, herramientas, procedimientos) que aplicados correctamente conducen a la construccin de un producto de software con una perspectiva ingenieril Paradigma por default: ensayo y error

Paradigmas
Secuencialidad - modelo clsico Modelamiento - prototipos Evolucin - espiral Reusabilidad - orientacin a objetos Formalidad - cleanroom Tcnicas de cuarta generacin Rapid Application Development

Paradigma Clsico
Ingeniera del Sistema Royce (1970) Anlisis

Diseo

Codificacin

Prueba

Mantenimiento

El ciclo de vida clsico

Prototipos
Comienzo Parada Boehm (1984) Recoleccin y Refinamiento de Requerimientos Producto de Ingeniera Diseo Rpido

Refinamiento del Prototipo

Construccin del Prototipo Evaluacin del Prototipo por el Cliente

Creacin de prototipos

Modelo Espiral
PLANIFICACIN ANLISIS DE RIESGO Recoleccin de Requerimientos y Planificacin del Proyecto (iniciales) Anlisis de Riesgo basado en los requerimientos iniciales

Anlisis de Riesgo basado en la reaccin del cliente

Planificacin basada en los comentarios del cliente Decisin de Seguir/No Seguir

Hacia el Sistema Final

Evaluacin del cliente

Prototipo inicial del Sw Prototipo del siguiente nivel Sistema de Ingeniera EVALUACIN DEL CLIENTE Boehm (1986) INGENIERA

Rapid Application Development


Facilitadores Administracin Desarrolladores

Desarrolladores Fases del RAD Clientes JAD & JRP Plan de Proyecto

Diseo & Construccin

Timeboxing

Representantes de Usuarios

Administracin

Representantes de Usuarios

Visin Genrica
Definicin Foco: Qu? Desarrollo Foco: Cmo? Mantencin Foco: Cambio

Planificacin Proyecto Anlisis Sistemas Anlisis Requerimientos

Diseo Codificacin Testing

Correccin Adaptacin Mejoramiento Ingeniera Inversa

Calendarizacin
Red de Tareas
REVISIN DE LOS REQUERIMIENTOS DISEO REVISIN DEL PROCEDIMENTAL DISEO PRELIMINAR INSPECCIN DEL DISEO CODIFICACIN INSPECCIN DEL CDIGO PRUEBA DE UNIDAD

ANLISIS Y ESPECIFICACIN

DISEO ARQUITECTNICO Y DE DATOS

PRUEBA DE INTEGRACIN

PRUEBA DE VALIDACIN

= HITO PLANIFICACIN DE LA PRUEBA PROCEDIMIENTO DE PRUEBA REVISIN DE LA PRUEBA

Evaluacin del Problema Mtodos Entregables

Plan de Calidad

Atributos de Calidad

Problema

Evaluacin del Riesgo

Definicin de V&V actividades & chequeos

Gestin de Proyectos
Plan

Modelo del Proceso

Plan Tcnico

Tamao del Problema

Plan de Recursos

Estimacin de Esfuerzo WBS ms Esfuerzo

Contingencia

Costos

Escalas de tiempo

Perfil del equipo

Planes

Gestin de Proyectos
Framework y Prcticas
Acuerdo en las interfaces Gestin del riesgo Identificar y corregir defectos y problemas potenciales tempranamente

Monitoreo de defectos contra objetivos de calidad Panel de control Controles on/off de calidad en niveles de detalle

Inspecciones formales Calendarizacin y gestin basada en mtricas Planificar y seguir/monitorear

Gestin de configuracin

Minimizar re-trabajo causado por cambio incontrolado

Visibilidad del avance versus planes Usar efectivamente los recursos de personal

Gestin consciente de las personas

Gestin de Proyectos
Panel de Control

Ideas Finales
Tendencias
Enfoques evolutivos, incrementales Herramientas de alta productividad, integracin Organizaciones planas nfasis en procesos que definen un marco para incorporar recursos humanos y tecnologa

Ideas Finales
Perfil de Desarrollo
Combinacin de paradigmas de desarrollo Definicin explcita de roles en equipos de desarrollo: especialistas de SQA, SCM, documentacin, comunicaciones, bases de datos Estandarizacin Proceso definido que gua introduccin de tecnologas y metodologas Equipos multidisciplinarios Rol participativo del cliente/usuario

Potrebbero piacerti anche