Proceso de desarrollo de sistemas de información.

Slides:



Advertisements
Presentaciones similares
VALORACIÓN Y SELECCIÓN DE INVERSIONES EN RECURSOS INFORMÁTICOS
Advertisements

El Producto y el Proceso (Cap. I y II , “Ing
INGENIERIA DEL SOFTWARE
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
¿Qué es la Ingeniería del Software?
Alexander Aristizabal Ángelo flores herrera
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Software de Comunicaciones
Modelo de procesos de software
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
CONCEPTO INGENIERÍA DE SOFTWARE  Analiza, diseña y desarrolla productos de sistemas software, proponiendo la plataforma tecnológica más apropiada. Domina.
RUP Vs. XP Sandra Lorena Anaya. Introducción ● Calidad del SW ● Transparencia y control sobre el proceso ● Producir lo esperado en el tiempo esperado.
NORMA ISO DIS 9001:2015 Draft International Standard.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
Calidad de Software.   ¿Qué es?  ¿Quién lo hace?  ¿Por qué es importante?  ¿Cuáles son los pasos?  ¿Cuál es el producto final?  ¿Cómo me aseguro.
Para resolver los problemas reales de una industria, un ingeniero del software o un equipo de ingenieros debe incorporar una estrategia de desarrollo.
Análisis de Proyecto de Software.
Proceso de Implantación y Aceptación del Sistema de Información (IAS)
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
Metodología de Implementación de Sistemas ERP
Ingeniería de Software: Metodologías
Sistemas de Gestión.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Sustentación de la propuesta
Gestión de Proyectos.
1  Introducción a Rational Unified Process (RUP) Profesor Abraham Oliver Jara Miranda – JornSoft S.A.
CC4401 – Ingeniería de Software I
SWEBOK.
Metodología de Sistemas Unidad IV: MÉTODOS ÁGILES
DISEÑO Y AUDITORIA DE SISTEMAS
CICLO DE VIDA DEL SOFTWARE
MOPROSOFT.
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería de Sistemas Requerimientos
CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Ciclo de Vida del Software
Ingeniería del Software
Proceso Unificado de Desarrollo de Software
GRUPO ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION SENA EXPOSICION MEMORIA RAM INTEGRANTES STEVEN PALOMA ALEJANDRO BERNAL TATIANA RODRÍGUEZ.
Ciclo de Vida del Software
MF. MARGARITA VALLE LEÓN
Unidad 5: Evaluación de los sistemas
Ciclo de vida del Software
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Análisis y diseño de aplicaciones. Introducción Crisis del software - conferencia organizada en 1968 por la Comisión de Ciencias de la OTAN en Garmisch.
INGENIERÍA DE SISTEMAS -SISTEMAS HUMANOS INTEGRANTES:  Cerna Albarran Irvin Felipe  Malca Tamay Jhosely Graciela  Palacios Calderon Merly Estefanía.
Introducción al Proceso de Desarrollo de Software Patricio Letelier Departamento de Sistemas Informáticos y Computación Universidad.
CICLO DE VIDA DE SOFTWARE
1 Taller de Proyecto Tema 1. Metodología de desarrollo de software Rational Unified Process –RUP [1,2] Prof. Nora La Serna © Prof. Nora La Serna.
Tema: Administración de la configuración de software UNIVERSIDAD TECNOLÓGICA ISRAEL CALIDAD DE SOFTWARE.
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
IEEE Estándar para documentación de pruebas de software
Essential Unified Process
1 Introducción al proceso unificado de desarrollo de software.
SOFTWARE PRESENTADO POR: THE APPLE. ¿QUÉ ES LA INGENIERÍA DE SOFTWARE ? La Ingeniería de Software es una disciplina de la Ingeniería que concierne a todos.
FISME 2019 Ciclo de Vida del Software INTEGRANTES:  Jennifer Franco Verastegui . Brayam Rivera López . José Fernández Valqui . Tereza Delgado Fernández.
ASIGNATURA: REINGENIERÍA DEL SOFTWARE CUATRIMESTRE: I DOCENTE: ING. IRENE MARTÍNEZ MEJÍA CORREO: Managua, 26 de Enero 2019
1 SISTEMAS II CICLO DE VIDA. 2 Sistemas II. CICLO DE VIDA DE Los Sistemas de Información “ Es un proceso por el cual los analistas de sistemas, los ingenieros.
INTEGRANTES u Álvarez Palomino David u Salazar Colonia Jesús Felipe u Velásquez Huapaya Ricardo.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Ingeniería de Software: Metodologías
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Plan de Sistemas de Información (PSI). Plan de Sistemas de Información (PSI) Descripción y Objetivos Tiene como objetivo la obtención de un marco de referencia.
ICI 502 Procesos de Software
Transcripción de la presentación:

Proceso de desarrollo de sistemas de información

2 Objetivos de aprendizaje Comprender el concepto de Proceso de desarrollo y ciclo de vida del software Distinguir los diversos modelos de proceso de desarrollo y ciclo de vida del software Distinguir las diversas metodologías de desarrollo Comprender las características de los métodos agiles

Temas a tratar Visión genérica del proceso de desarrollo Modelos de proceso de desarrollo Metodologías de desarrollo

Visión genérica del proceso de desarrollo Definición Fases DefiniciónEjemplo

Visión genérica del proceso de desarrollo El proceso de desarrollo es un Marco de Trabajo que define las tareas a realizar para desarrollar software de alta calidad. (Pressman). Definición Un Proceso define quien realiza algo, cuando y como para alcanzar cierto objetivo.

6 Visión genérica del proceso de desarrollo El proceso de desarrollo incluye el conjunto de estrategias para coordinar los métodos, técnicas y herramientas para manejar efectivamente el desarrollo de un producto de software. Proceso de SW Requerimientos nuevos o cambios Sistema nuevo o modificado Definición

7 Visión genérica del proceso de desarrollo  Un proceso de software debe especificar:  Una secuencia de actividades a realizar por el equipo de desarrollo Productos que deben crearse: qué y cuando. Asignación de tareas a cada miembro del equipo y al equipo como un todo. Criterios para controlar el proceso. Definición

Visión genérica del proceso de desarrollo Definición Desarrollo Evolución Fases Análisis del Sistema Requerimientos Planificación Diseño Codificación Prueba  Corrección  Adaptación  Mejora

Visión genérica del proceso de desarrollo Análisis del Sistema Fase de Definición Requerimientos del software Planificación del proyecto Se realizan las siguientes actividades:

Visión genérica del proceso de desarrollo Diseño del Software Fase de Desarrollo Codificación Pruebas del software Se realizan las siguientes actividades:

Visión genérica del proceso de desarrollo Corrección Fase de Evolución Adaptación Mejora Tres tipos de cambios:

Visión genérica del proceso de desarrollo Actividades Genéricas Especificación RequerimientosAnálisisDiseño Implementación Construcción Pruebas unitarias Pruebas de integración Validación Pruebas funcionales Pruebas del sistema Pruebas de usuario Evolución Gestión del cambio

Visión genérica del proceso de desarrollo Las actividades genéricas dentro de todos los procesos de desarrollo son: ◦ Especificación: Lo que el sistema debe hacer y las restricciones de desarrollo. ◦ Implementación: Producción del sistema de software. ◦ Validación: Examinar si el software realiza lo requerido por el usuario. ◦ Evolución: Modificar el software en respuesta a las demandas de cambio. Actividades Genéricas

Visión genérica del proceso de desarrollo Alternativamente, a veces se usa el termino “Ciclo de Vida”, “Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso” (IEEE 12207). Proceso: conjunto de actividades. Actividad: conjunto de tareas. Tarea: acción que transforma entradas en salida Ciclo de Vida

Norma ISO/IEC Procesos primarios 7. Procesos organizacionales 5.1 Adquisición 5.2 Suministro 5.3 Desarrollo 5.3 Operación 5.3 Mantenimiento 6.1 Documentación 6.2 Gestión de la configuración 6.3 Control de calidad 6.4 Verificación 6.5 Validación 6.6 Reuniones 6.7 Auditoría 6.8 Resolución de problemas 7.1 Gestión 7.3 Mejora 7.2 Infraestructura 7.4 Formación 6. Procesos de soporte Ciclo de vida Concepción Retirada Proceso 1 … Proceso N Actividad 1 Tarea 1 Tarea 2 … Tarea n … Actividad n Tarea 1 Tarea 2 … Tarea n El Proceso de Software

Contiene las actividades y tareas realizadas por el desarrollador. Integra las siguientes actividades: 5.3 Procesos de Desarrollo I mplementación del proceso. Análisis de requisitos del sistema. Diseño de la arquitectura del sistema. Análisis de los requisitos del software. Diseño de la arquitectura del software. Diseño detallado del software. Codificación y prueba del software. Integración del software Prueba del software. Integración del sistema. Prueba del sistema. Instalación del software. Soporte del proceso de Aceptación del software.

El Proceso de Software Norma ISO/IEC 12207:2008

Modelos de Proceso de Software Un Modelo de Proceso de Software es una descripción de un proceso de software que se presenta desde una perspectiva particular. ◦ Es una abstracción de un proceso real. ◦ Incluye actividades (que son parte de los procesos del software), los productos software, y el papel de las personas interesadas en el desarrollo ( stakeholders). Definición

Modelos del proceso de desarrollo Definición Fases Definición Secuencial IterativosEvolutivos Prototipo Incremental Espiral Componentes

Modelo Lineal Secuencial Ciclo de vida clásico, modelo en cascada + antiguo, + usado Enfoque sistemático secuencial Requerimientos Diseño Codif. Prueba Mant. Análisis de sistemas

Modelo Lineal Secuencial Críticas: ◦ Proyectos reales raras veces se ajustan a este enfoque. ◦ Raras veces cliente expone todos los requerimientos desde el inicio. ◦ El Producto operativo al final => Cliente con gran paciencia. Consejo: Usar cuando todos los requerimientos han sido establecidos claramente de entrada.

Modelos Iterativos Usar cuando no están claros los requisito de entrada Iterativo. Pero ¿hasta cuando se itera? Working prototype, desechar y empezar con desarrollo de sistema. Construcción de Prototipos Aceptado NO Aceptado Evaluación Cliente Mejora de la Especificación Construcción Prototipo Obtención de Requerimientos Ciclo de Vida Clásico

Modelos Iterativos Críticas: ◦ Cliente cree que prototipo es el sistema. ◦ Peligro de familiarización con malas elecciones iniciales (quick and dirty). Consejo: ◦ Usar cuando inicialmente no están claros los requerimientos. ◦ Definir claramente de entrada las reglas de juego con el cliente. Construcción de Prototipos

Modelos Evolutivos Se adaptan más fácilmente a los cambios introducidos a lo largo del desarrollo. Son Iterativos En cada iteración se obtienen versiones más completas del Software Modelos Evolutivos: ◦ Modelo Incremental ◦ Modelo en Espiral ◦ Modelo de Desarrollo Basado en Componentes

Modelos Evolutivos AnálisisDiseño PruebaCodif. Entrega 1er Incremento Inc1 AnálisisDiseño PruebaCodif. Entrega 2do Incremento Inc2 AnálisisDiseño PruebaCodif. Entrega 3er Incremento Inc3 Tiempo Modelo Incremental

Modelos Evolutivos Iteración (repite) de Modelo Lineal Secuencial. Cada iteración devuelve un “Incremento” o versión operativa. Resuelve los riesgos antes de realizar grandes inversiones Permite la realimentación de los usuarios Realiza construcción y pruebas de manera continua Hace posible la entrega parcial de implementaciones Útil cuando no se está seguro de cumplir con plazos de tiempo o se tiene una fecha imposible de cambiar. Modelo Incremental

Modelos Evolutivos Modelo en Espiral

Modelos Evolutivos Útil para proyectos grandes. Permite usar el prototipado en todas las etapas de la evolución para reducir el riesgo. Mantiene el enfoque sistemático de los pasos sugeridos por el lineal secuencial, pero lo incorpora dentro de un marco iterativo más real. Críticas: ◦ Difícil de convencer a los clientes de que es controlable. ◦ Requiere mucha habilidad para el análisis de riesgos y de esta habilidad depende su éxito. Modelo en Espiral

IS03 El Proceso SW29/36 Modelos Evolutivos Planificación Análisis de Riesgos Ingeniería, Construcción y Entrega Evaluación del Cliente Comunicación con el Cliente Ident. Comps. candidatos Buscar Comps. en biblioteca  ConstruirExtraer Colocar en biblioteca Construir iteración Desarrollo basado en componentes

Metodologías de Desarrollo del Software Métodos informales Métodos Semiformales Métodos Formales

Métodos informales No siguen un esquema, depende del estilo del desarrollador ◦ Quick & Dirty (USA) ◦ Match stick box (Europa) Metodologías Ágiles

32/36 Métodos Semiformales Métodos Estructurados ◦ SA/SD (structured analysis & structured design) ◦ Métrica Métodos Orientados a Objetos ◦ OMT ◦ OOSE ◦ RUP

33/36 Métodos Formales Permiten al ingeniero de software especificar, desarrollar y verificar un sistema informático mediante la aplicación de una notación matemática rigurosa. Utilizan un lenguaje de especificación formal, Un método formal proporciona los medios de especificar un sistema de forma que se aseguren, de manera sistemática, la consistencia, la completitud y la corrección. Se suelen basar en notaciones matemáticas similares a las del álgebra de conjuntos y la lógica

34/36 Tarea Para cada uno de los modelos anteriores, ¿cómo maneja el modelo un cambio significativo y tardío en los requerimientos? En una empresa utilizan el producto de software PP para el control presupuestario. La empresa no dispone de las versiones en lenguaje fuente del producto, ni ninguna documentación excepto el manual del usuario. A usted lo contratan para construir un producto que brinde la misma funcionalidad que PP, pero para que corra en equipos distintos. ¿Qué modelo de ciclo de vida adoptaría para llevar a cabo este proyecto? ¿Por qué? Discuta las ventajas y desventajas que puede traer a una organización de desarrollo el adoptar un único modelo de proceso para todos sus proyectos.

35/36 Tarea Suponga que una empresa requiere a su organización que utilice un modelo de proceso específico al contratarla para construir un sistema. Su organización construye el software utilizando los recursos, actividades y restricciones prescritos. Cuando el software se instala y pone en marcha experimenta una falla catastrófica. Cuando el cliente investiga el origen de la falla, acusa a su organización de negligencia por no haber llevado a cabo revisiones de código que hubieran permitido detectar el problema antes de poner en producción el sistema. Su organización responde que las revisiones de código no estaban en el proceso requerido. ¿Cuáles son las implicancias legales y éticas que aparecen en esta disputa? La respuesta a este caso debe ser entregado en un informe sustentado la normativa legal correspondiente que se aplica en estos casos.