Documentos de Académico
Documentos de Profesional
Documentos de Cultura
del Software
Clase # 1
Ing. Christian Vega
Administración de la
construcción del Software
Clase # 1
Ing. Christian Vega
Propósito de la Clase
• Estándares en la construcción
• Los estándares que afectan directamente a elementos de la construcción
incluyen:
• Metodos de comunicación Estándares
• Programación de lenguajes
• Plataformas Estándares Estándares
• Herramientas Externos Internos
(Meiler Page-Jones)
Índice
• Producto:
• Como desarrolladores de software, todos los participantes deben reunirse
para definir los objetivos y el ámbito del producto.
• Los objetivos identifican las metas globales para el producto (desde el punto
de vista de los participantes) sin considerar cómo se lograrán estas metas. El
ámbito identifica los datos, funciones y comportamientos principales que
caracterizan al producto y, más importante, intenta ligar dichas características
en forma cuantitativa.
• Una vez comprendidos los objetivos y el ámbito del producto, se consideran
soluciones alternativas.
Administración de la construccion del
Software
• Proceso:
• Un proceso de software proporciona el marco conceptual desde el cual puede
establecerse un plan completo para el desarrollo de software.
• Un pequeño número de actividades de marco conceptual se aplica a todos los
proyectos de software, sin importar su tamaño o complejidad.
• Las actividades sombrilla son independientes de cualquier actividad del
marco conceptual y ocurren a lo largo del proceso.
Administración de la construccion del
Software
• Proyecto:
• Los proyectos de software se planean y controlan debido a una razón
principal: es la única forma conocida para manejar la complejidad. E incluso
así, los equipos de software todavía batallan.
• En un estudio de 250 grandes proyectos de software desarrollados entre 1998
y 2004.
• Para evitar el fracaso del proyecto, un gerente de proyecto de software y los
ingenieros de software que construyan el producto deben evitar un conjunto
de señales de advertencia comunes, entender los factores de éxito cruciales
que conducen a una buena administración del proyecto y desarrollar un
enfoque de sentido común para planificar, monitorear y controlar el proyecto.
Modelos del ciclo de vida del software
• Fases:
• Conceptualización: Se determina la arquitectura de la solución (división del
sistema en subsistemas)
• Análisis de requisitos: Básicamente se definen los requisitos funcionales y de
rendimiento
• Diseño: Representación de la aplicación que sirve de guía a la implementacón
• Implementación: Transforma el diseño en código
• Prueba: Validación e integración de software y sistemas
• Instalación y comprobación: Se instala el software al cliente, el cual
comprueba la corrección de la aplicación
Modelos del ciclo de vida del software
Modelo de Cascada (waterfall)
• Ventajas:
• Sencillo: Sirve cuando el personal está poco cualificado
• Aplicable cuando el problema es estable y cuando se trabaja con técnicas
conocidas
• Críticas:
• No se ve un producto hasta muy tarde en el proceso
• Un error grave detectado en las últimas fases puede ser letal
• Especificación de requisitos estable
• Impone una estructura de gestión de proyectos
• Fases muy rígidas
• Las revisiones de proyectos de gran complejidad son muy difíciles
Modelos del ciclo de vida del software
Modelo Prototipado
• Ventajas:
• Permite identificar los requisitos incrementalmente
• Permite probar alternativas a los desarrolladores
• Tiene una alta visibilidad -> tanto clientes como desarrolladores ven resultados
rápidamente
• Inconvenientes:
• El cliente no entiende por qué hay que desechar el prototipo
• Si simplemente ha pedido unos ajustes...(¿?)
• Riesgo de software de baja calidad
• Compromisos de implementación para que el prototipo funcione rápidamente y que al final
son parte integral del sistema
• Utilizar un SO o lenguaje de programación inadecuado pero conocido
Modelos del ciclo de vida del software
Modelo Desarrollo Evolutivo
• Ventajas:
• Es interactivo
• Con cada incremento se entrega al cliente un producto operacional, que puede evaluarlo
• Personal
• Permite variar el personal asignado a cada iteración
• Gestión riesgos técnicos
• Por ejemplo, disponibilidad de hardware específico
• Inconvenientes
• La primera iteración puede plantear los mismos problemas que en un modelo
lineal secuencial
Modelos del ciclo de vida del software
Modelo Espiral
• Ventajas:
• Enfoque realista
• Gestión explícita de riesgos
• Centra su atención en la reutilización de componentes y eliminación de errores
en información descubierta en fases iniciales
• Los objetivos de calidad son el primer objetivo
• Integra desarrollo con mantenimiento
• Inconvenientes
• Convencer cliente enfoque controlable
• Requiere de experiencia en la identificación de riesgos
• Requiere refinamiento para uso generalizado
Modelos del ciclo de vida del software
Modelo desarrollo basado en componentes
• Ventajas
• Rapidez
• Válido para aplicaciones modularizables
• Inconvenientes
• Exige conocer bien los requisitos y delimitar el ámbito del proyecto
• Número de personas
• Clientes y desarrolladores comprometidos
• Gestión riesgos técnicos altos
• Uso de nueva tecnología
• Alto grado de interoperabilidad con sistemas existentes
Modelos del ciclo de vida del software
Modelo métodos formales
• Problemas
• Hace falta una formación especializada para aplicar la técnica
• Muchos aspectos de los sistemas reales son difíciles de especificar
formalmente
• Interfaz de usuario
• Requisitos no funcionales
• Aplicabilidad
• Sistemas críticos en los que la seguridad y fiabilidad debe poder asegurarse
antes de poner el sistema en operación
Modelos del ciclo de vida del software
• Recursos
Planificación de la construcción
• Técnicas de descomposición
• Desarrollar una estimación de costo y esfuerzo para un proyecto de software
es muy complejo como para considerarse en una sola pieza. Por esta razón,
debe descomponerse el problema y volver a caracterizarlo como un conjunto
de problemas más pequeños (y, esperanzadoramente, más manejables).
• Dimensionamiento del software
• Estimación basada en problema
Métricas de la construcción