330 likes | 495 Views
Sistemas de Información: Metodos, técnicas y metodologías. Lucio Salgado Ari FNI-Sistemas SIS 3390. Proceso de Desarrollo de Software. Proceso. Un proceso define quien hace que cuando y como para alcanzar cierto objetivo
E N D
Sistemas de Información: Metodos, técnicas y metodologías Lucio Salgado Ari FNI-Sistemas SIS 3390
Proceso • Un proceso define quien hace que cuando y como para alcanzar cierto objetivo • El éxito de una empresa depende en gran medida de la definición y seguimiento de sus procesos. • Los sistemas software pueden llegar a ser extremadamente complejos • Por lo tanto es necesario contar con modelos de proceso y tecnologías adecuadas.
Modelo de Proceso • Define como solucionar la problemática • Para desarrollar SW se requiere resolver ciertas fases de su proceso(ciclo de vida) • Aspectos a considerar: • Conjunto de personas • Estructuras organizacionales • Reglas • Politicas • Actividades • Componentes SW • Metodologías y Herramientas
Modelo de proceso • El modelo depende de un tipo de proyecto • Primer proyecto de su tipo • Segundo proyecto de su tipo • Variación de un proyecto • Proyecto de reescritura de legado(legacy) • Proyecto de creacion de software reutilizable • Proyecto de mejora de sistema o mantenimiento
Modelo de Proceso(3) • Componentes de un modelo • Arquitectura • Actividad • Metodos • Estrategia • Herramientas
Arquitectura • Una arquitectura de SW define la estructura general de un sistema • Ejemplos: • Transformacion en lote • Transformacion continua • Sistemas interactivos • Simulacion dinamica • Sistemas de tiempo real • Administracion de transaccion
Actividad • Una actividad es una unidad o paso básico de un proceso • Son las pasos necesarios para lograr la meta • Las actividades básicas se conocen como el ciclo de vida del software
Actividad(1) • Requisitos • Sirve para especificar los aspectos funcionales • Modelo de requisitos • Analisis • Permite dar una estructura robusta y extensible • Diseño • Adoptar y refinar una arquitectura y adaptarla al ambiente
Actividad(2) • Implementacion • Codificar el sistema • Integracion • Combinar componentes • Pruebas • Validar y verificar el sistema • Documentacion • Describir el sistema • Mantenimiento • Extender la funcionalidad del sistema
Métodos y Metodologías • Los métodos definen las reglas para las transformaciones internas de las actividades • Las metodologías definen un conjunto de métodos. • Método es un procedimiento que define tareas o acciones a realizar
Métodos y Metodologías(1) • Existe una gran variedad de métodos y metodologías • Metodologias: • Estructuradas o tradicionales • Orientadas a objetos
Métodos y Metodologías(2) • Estructuradas • Descomposición funcional • Definir en forma de funciones, y estableciendo los datos de entrada y salida • Herramientas • Diagramas de flujos de datos • Diagramas de transición de estados • Diagramas Entidad-Relación
Métodos y Metodologías(3) • Orientadas a objetos • Modelado de un sistema en términos de objetos • Se identifican objetos, para luego especificar su comportamiento • Hay una gran variedad • Herramientas • Diagramas de clases • Diagramas de casos de uso • Diagramas de transición/estado • Diagrama de secuencia • Diagrama de colaboracion
Métodos y Metodologías(4) • Son distintos actividad, metodo y notacion • Actividad: Requisitos • Metodos de requisitos: • OBA • FUSION • UP • Notación • Caso de uso
Estrategias • Un plan para lograr un objetivo • Afectan a: La arquitectura del sistema, Orden de las actividades, Metodologías a usarse. • Decisiones sobre: • Tipo de proyecto • Tecnologia • Herramientas
Estrategias(1) • Estrategias aceptadas actualmente: • Prototipos • Versión preliminar intencionalmente incompleta o reducida del sistema • Reutilización • Explotación de componentes desarrollados
Herramientas • Aplicaciones que apoyan la administracion del proceso de software. • Herramientas CASE • Editores de texto • Diagramadores • etc
Modelos Clásicos • Creencias u opiniones de personas involucradas en el proyecto • Son: • Comprender el problema antes de desarrollar • Proceso debe dar un resultado predecible • Planear y calcular el proceso con gran precisión • Evaluar y administrar el riesgo • Entrega en etapas intermedias aumenta la confianza de un buen resultado
Modelos Clásicos(1) • Cascada • Secuencia de actividades • Seguir hacia puntos de revisión bien definidos mediante reglas calendarizadas • No hay etapa de documentación explicita • Especificación de requisitos • Analisis • Diseño • Implentacion • Pruebas • Integracion
Modelos Clásicos(2) • Incremental • Es un desarrollo inicial de la arquitectura completa del sistema seguido de incrementos o versiones parciales • Cada incremento tiene su propio ciclo • Cada incremento agrega una funcionalidad
Modelos Clásicos(3) • Evolucionario • Extensión del incremental • Los incrementos se hacen de manera secuencial en vez de paralela • El sistema va evolucionando según se entrega cada incremento • Primeros requerimientos dictan el incremento inicial • Se considera las deltas de especificación de requerimientos
Modelos Clásicos(4) • Espiral • Extensión del modelo de cascada • Se basa en la estrategia para reducir el riesgo • Enfatiza en ciclos de trabajo • Cada uno de los cuales estudia el riesgo antes de seguir al siguiente • Incorpora al igual que los anteriores una estrategia de uso de prototipos
Modelos Recientes • Ganar-Ganar • Extiende el modelo de espiral • Considera condiciones de ganancia • Crea un plan para alcanzar situaciones ganadoras • Ciclo • Objetivos, restricciones, alternativas • Evaluar alternativas • Elaborar definición del proceso y producto • Planear el siguiente ciclo
Modelos Recientes(1) • Programación extrema(XP) • Toma los principios y practicas de programación aceptadas y las enfatiza a mayor grado • Refactoring • Programacion por pares • Evaluación permanente • Entregas en plazos cortos
Modelos Recientes(2) • Proceso Unificado • Basado en casos de uso • Centrado en la arquitectura • Iterativo e incremental • Involucra • Ciclos • Fases • Flujos de trabajo • Mitigación • Control de calidad
Calidad de Software y modelos de madurez del proceso • Calidad directamente relacionado con su proceso • Factores para obtener productos de calidad • Cliente o usuario • Desarrollador • Proceso • Producto
Modelos de madurez del Proceso • Modelo de Madurez de Capacidades(CMM) • Evaluar los procesos en sus niveles de madurez • Se evalua el area de proceso clave • Niveles • Inicial • Repetible • Definido • Administrado • Optimizado
Modelos de madurez del Proceso • Organizacion Internacional De la Estandarizacion(ISO) • ISO 9000 • Normas relacionadas con la administracion de la calidad de productos y servicios • En SW 9000-1 • ISO 12207 • Calidad en los procesos del ciclo de vida
Modelos de madurez del Proceso • Modelo de Madurez de Ingenieria de Desempeño(PEMM) • Evaluar niveles de integracion, aplicacion, ejecucion y diseno de la ingenieria de desempeño • Tiene cinco niveles • Practicas sin coordinacion • Desempeño en subprocesos • Completa definicion del proceso • Exito de integracion y prueba • Optimizacion de procesos
Modelos de madurez del Proceso • Proceso de Software Personal(PSP) • Esta basado en la creencia de que la calidad del software depende del trabajo de cada uno de los ingenieros. • Por lo cual el proceso Controla y Maneja el trabajo de estos • Instrumentacion: Evolucion del PSP • 1. medida personal • 2. Planeacion personal • 3. Calidad de personal • 4. Proceso ciclico
Modelos de madurez del Proceso • Proceso de Software de Equipos(TSP) • Extiende el modelo PSP e integra los aspectos de desarrollo de SW realizados por equipos de trabajo. • Define asignacion y control de tareas a miembros del equipo