Instituto tecnologio spencer w

17
INSTITUTO TECNOLOGIO SPENCER W. KIMBALL 5TO. BACHILLER INDUSTRIAL Y PERITO EN COMPUTACION ALVARO MARTINEZ CURSO: ANALISIS DE SISTEMAS TEMA: METODOGIA PARA EL DESARROLLO DE SOFTWARE NOMBRE: PAMARIS DE LA ROSA HUEHUETENANGO 20 DEL 2015

Transcript of Instituto tecnologio spencer w

Page 1: Instituto tecnologio spencer w

INSTITUTO TECNOLOGIO SPENCER W. KIMBALL

5TO. BACHILLER INDUSTRIAL Y PERITO EN COMPUTACION

ALVARO MARTINEZ

CURSO: ANALISIS DE SISTEMAS

TEMA:

METODOGIA PARA

EL DESARROLLO DE SOFTWARE

NOMBRE:

PAMARIS

DE LA ROSA

HUEHUETENANGO 20 DEL 2015

Page 2: Instituto tecnologio spencer w

INTRODUCCION

La metodología para el desarrollo de software es un marco de trabajo

usado para estructurar y planificar y controlar el proceso. El ciclo de vida

de un sistema de información es un enfoque por fases del análisis y

diseño que sos tiene que los sistemas son desarrollados de mejor manera

mediante el uso de un ciclo específico de actividades del analista y del

usuario.

Page 3: Instituto tecnologio spencer w

Metodología de desarrollo de software

Metodología de desarrollo de software en ingeniería de software es un

marco de trabajo usado para estructurar, planificar y controlar el proceso de

desarrollo en sistemas de información.

Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.

A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.

El framework para metodología de desarrollo de software consiste en:

Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software

Herramientas, modelos y métodos para asistir al proceso de desarrollo de software

Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.

El desarrollo de los sistemas tradicionales de ciclo de vida se originó en la década de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una época de grandes conglomerados empresariales. La idea principal era continuar el desarrollo de los sistemas de información en una muy deliberada, estructurada y metódica, reiterando cada una de las etapas del ciclo de vida. Los sistemas de información en torno a las actividades resueltas pesadas para el procesamiento de datos y rutinas de cálculo.

Metodologías de Desarrollo de Software tiene como objetivo presentar un conjunto de técnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar software de calidad, incluyendo heurísticas de construcción y criterios de comparación de modelos de sistemas.

Para tal fin se describen, fundamentalmente, herramientas de Análisis y Diseño Orientado a Objetos (UML), sus diagramas, especificación, y criterios de aplicación de las mismas. Como complemento se describirán las metodologías de desarrollo de software que utilizan dichas herramientas, ciclos de vida asociados y discusión sobre el proceso de desarrollo de software más adecuado para las diferentes aplicaciones ejemplos que se presentarán. Principalmente, se presentará el Proceso Unificado el cual utiliza un ciclo de vida iterativo e incremental.

Page 4: Instituto tecnologio spencer w

Enfoques de desarrollo de software

Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software. Estos son los enfoques más generales, que se desarrollan en varias metodologías específicas. Estos enfoques son los siguientes:

Modelo en cascada: Framework lineal. Prototipado: Framework iterativo. Incremental: Combinación de framework lineal e iterativo. Espiral: Combinación de framework lineal e iterativo. RAD: Rapid Application Development, framework iterativo.

Page 5: Instituto tecnologio spencer w

CICLO DE VIDA

El ciclo de vida de un sistema de información es un enfoque por fases del

análisis y diseño que sostiene que los sistemas son desarrollados de

mejor manera mediante el uso de un ciclo especifico de actividades del

analista y del usuario.

Según James Senn, existen tres estrategias para el desarrollo de

sistemas: el método clásico del ciclo de vida de desarrollo de sistemas, el

método de desarrollo por análisis estructurado y el método de

construcción de prototipos de sistemas. Cada una de estas estrategias

tiene un uso amplio en cada una de los diversos tipos de empresas que

existen, y resultan efectivas si son aplicadas de manera adecuada.

Además, es el período de tiempo que "vive" un sistema informático desde

que es pensado hasta que es desechado.

Por otra parte, otro concepto maneja que el ciclo de vida de los sistemas

es el proceso que se sigue para construir, entregar y hacer evolucionar el

software, desde la concepción de una idea hasta la entrega y el retiro del

sistema.

Existen gran cantidad de variantes que dependen de la organización, del

tipo de sistema que se realizará, de los gustos de los administradores, de

los tiempos, etc.

Las actividades típicas del ciclo de vida son:

1- Estudio de factibilidad.

2- Análisis (de requerimientos).

3- Diseño

4.1- Creación de prototipos

4.2- Implementación

5 - Validación y prueba

6 - Operación y mantenimiento

Page 6: Instituto tecnologio spencer w

LA METODOLOGÍA DE UN CICLO DE VIDA DE UN SISTEMA

La Metodología de ciclo de vida para el desarrollo de sistemas es el

conjunto de actividades que los analistas, diseñadores y usuarios

realizan para desarrollar e implantar un sistema de información. Esta

metodología consta de 6 fases:

Investigación Preliminar: La solicitud para recibir ayuda de un sistema de

información puede originarse por varias razones: sin importar cuales

sean estas, el proceso se inicia siempre con la petición de una persona.

Determinación de los requerimientos del sistema: El aspecto fundamental

del análisis de sistemas es comprender todas las facetas importantes de

la parte de la empresa que se encuentra bajo estudio. Los analistas, al

trabajar con los empleados y administradores, deben estudiar los

procesos de una empresa.

Diseño del sistema: El diseño de un sistema de información produce los

detalles que establecen la forma en la que el sistema cumplirá con los

requerimientos identificados durante la fase de análisis. Los especialistas

en sistemas se refieren, con frecuencia, a esta etapa como diseño lógico

en contraste con la del desarrollo del software, a la que denominan

diseño físico.

Desarrollo del software: Los encargados de desarrollar software pueden

instalar software comprobando a terceros o escribir programas diseñados

a la medida del solicitante. La elección depende del costo de cada

alternativa, del tiempo disponible para escribir el software y de la

disponibilidad de los programadores.

Ciclo de vida del software

El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.

Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.

El ciclo de vida básico de un software consta de los siguientes procedimientos:

Page 7: Instituto tecnologio spencer w

Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.

Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.

Diseño general: requisitos generales de la arquitectura de la aplicación. Diseño en detalle: definición precisa de cada subconjunto de la

aplicación. Programación (programación e implementación): es la implementación

de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.

Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.

Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.

Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.

Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.

Implementación Mantenimiento: para todos los procedimientos correctivos

(mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

Modelos de ciclo de vida

Para facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo involucradas y la documentación requerida, de manera que cada etapa se valide antes de continuar con la siguiente etapa. Al final de cada etapa se

arreglan las revisiones de manera que (texto

faltante).

Modelo

en cascada

El modelo de ciclo de vida en

cascada

Page 8: Instituto tecnologio spencer w

comenzó a diseñarse en 1966 y se terminó alrededor de 1970. Se define como una secuencia de fases en la que al final de cada una de ellas se reúne la documentación para garantizar que cumple las especificaciones y los requisitos antes de pasar a la fase siguiente:

En Ingeniería de software el desarrollo en cascada, también llamado modelo en cascada (denominado así por la posición de las fases en el desarrollo de esta, que parecen caer en cascada “por gravedad” hacia las siguientes fases), es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior .Al final de cada etapa, el modelo está diseñado para llevar a cabo una revisión final, que se encarga de determinar si el proyecto está listo para avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la base de todos los demás modelos de ciclo de vida.

La versión original fue propuesta por Winston W. Royce en 1970 y posteriormente revisada por Barry Boehm en 1980 e Ian Sommerville en 1985.

Un ejemplo de una metodología de desarrollo en cascada es

1. Análisis de requisitos. 2. Diseño del Sistema. 3. Diseño del Programa. 4. Codificación. 5. Pruebas. 6. Verificación. 7. Mantenimiento.

De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto.

Page 9: Instituto tecnologio spencer w

Si bien ha sido ampliamente criticado desde el ámbito académico y la industrial sigue siendo el paradigma más seguido al día de hoy.

MODELO ESPIRAL

El MODELO en espiral, propuesto originalmente por BOEHM en 1976, es un modelo de proceso de software evolutivo donde se conjuga la naturaleza de construcción de prototipos con los aspectos controlados y sistemáticos del MODELO LINEAL y SECUENCIAL. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software que no se basa en fases claramente definidas y separadas para crear un sistema. En el modelo espiral, el software se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones la versión incremental podría ser un modelo en papel o un prototipo, durante las últimas iteraciones se producen versiones cada vez más completas del sistema diseñado. EL modelo en espiral se divide en un número de actividades de marco de trabajo, también llamadas REGIONES DE TAREAS , Cada una de las regiones están compuestas por un conjunto de tareas del trabajo llamado CONJUNTO DE TAREAS que se adaptan a las características del proyecto que va a emprenderse en todos los casos se aplican actividades de protección.

Page 10: Instituto tecnologio spencer w

El modelo espiral tuvo varias modificaciones que son:

Modelo Original de Boehm. Modelo Típico de Seis Regiones. Modelo WINWIN.

Page 11: Instituto tecnologio spencer w

METODOLOGÍA RUP

Es una metodología cuyo fin es entregar un producto de software. Se

estructura todos los procesos y se mide la eficiencia de la organización.

Es un proceso de desarrollo de software el cual utiliza el lenguaje unificado de

modelado UML, constituye la metodología estándar más utilizada para el

análisis, implementación y documentación de sistemas orientados a objetos.

El RUP es un conjunto de metodologías adaptables al contexto y necesidades

de cada organización.

Describe como aplicar enfoques para el desarrollo del software, llevando a

cabo unos pasos para su realización.

Se centra en la producción y mantenimiento de modelos del sistema.

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e

incremental, estar centrado en la arquitectura y guiado por los casos de uso.

Incluye artefactos (que son los productos tangibles del proceso como por

ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que

desempeña una persona en un determinado momento, una persona puede

desempeñar distintos roles a lo largo del proceso).

Fases del ciclo de vida del RUP:

1. Fase de Inicio: Esta fase tiene como propósito definir y acordar el alcance

del proyecto con los patrocinadores, identificar los riesgos asociados al

proyecto, proponer una visión muy general de la arquitectura de software y

producir el plan de las fases y el de iteraciones posteriores.

2. Fase de elaboración: En la fase de elaboración se seleccionan los casos de

uso que permiten definir la arquitectura base del sistema y se desarrollaran en

esta fase, se realiza la especificación de los casos de uso seleccionados y el

primer análisis del dominio del problema, se diseña la solución preliminar.

3. Fase de Desarrollo: El propósito de esta fase es completar la funcionalidad

del sistema, para ello se deben clarificar los requerimientos pendientes,

administrar los cambios de acuerdo a las evaluaciones realizados por los

usuarios y se realizan las mejoras para el proyecto.

4. Fase de Cierre: El propósito de esta fase es asegurar que el software esté

disponible para los usuarios finales, ajustar los errores y defectos encontrados

Page 12: Instituto tecnologio spencer w

en las pruebas de aceptación, capacitar a los usuarios y proveer el soporte

técnico necesario. Se debe verificar que el producto cumpla con las

especificaciones entregadas por las personas involucradas en el proyecto.

La metodología RUP tiene 6 principios clave:

1. Adaptación del proceso: El proceso debe adaptarse a las características

de la organización para la que se está desarrollando el software.

2. Balancear prioridades: Debe encontrarse un balance que satisfaga a todos

los inversores del proyecto.

3. Colaboración entre equipos: Debe haber una comunicación fluida para

coordinar requerimientos, desarrollo, evaluaciones, planes, resultados, entre

otros.

4. Demostrar valor iterativamente: Los proyectos se entregan, aunque sea de

una forma interna, en etapas iteradas. En cada iteración se evaluará la calidad

y estabilidad del producto y analizará la opinión y sugerencias de los

inversores.

5. Elevar el nivel de abstracción: Motivar el uso de de conceptos reutilizables.

6. Enfocarse en la calidad: La calidad del producto debe verificarse en cada

aspecto de la producción.

Disciplina de desarrollo de RUP

Determina las etapas a realizar durante el proyecto de creación del software.

Ingeniería o modelado del negocio: Analizar y entender las necesidades del negocio para el cual se está desarrollando el software.

Requisitos: Proveer una base para estimar los costos y tiempo de desarrollo del sistema.

Page 13: Instituto tecnologio spencer w

Análisis y diseño: Trasladar los requisitos analizados anteriormente a un sistema automatizado y desarrollar una arquitectura para el sistema.

Implementación: Crear software que se ajuste a la arquitectura diseñada y que tenga el comportamiento deseado.

Pruebas: Asegurarse de que el comportamiento requerido es correcto y que todo lo solicitado está presente.

Despliegue: Producir distribuciones del producto y distribuirlo a los usuarios.

Disciplina de soporte RUP

Determina la documentación que es necesaria realizar durante el proyecto.

Configuración y administración del cambio: Guardar todas las versiones del proyecto.

Administración del proyecto: Administrar los horarios y recursos que se deben de emplear.

Ambiente: Administrar el ambiente de desarrollo del software. Distribución: Hacer todo lo necesario para la salida del proyecto.

Elementos del RUP

Actividades: Procesos que se han de realizar en cada etapa/iteración. Trabajadores: Personas involucradas en cada actividad del proyecto. Artefactos: Herramientas empleadas para el desarrollo del proyecto.

Puede ser un documento, un modelo, un elemento del modelo.

Artefactos

RUP en cada una de sus fases (pertenecientes a la estructura estática) realiza

una serie de artefactos que sirven para comprender mejor tanto el análisis

como el diseño del sistema (entre otros). Estos artefactos (entre otros) son los

siguientes:

Inicio:

Documento Visión Especificación de Requerimientos

Elaboración:

Diagramas de caso de uso

Construcción:

Documento Arquitectura que trabaja con las siguientes vistas:

Page 14: Instituto tecnologio spencer w

VISTA LOGICA:

Diagrama de clases Modelo E-R (Si el sistema así lo requiere)

VISTA DE IMPLEMENTACION:

Diagrama de Secuencia Diagrama de estados Diagrama de Colaboración

VISTA CONCEPTUAL

Modelo de dominio

VISTA FISICA

Mapa de comportamiento a nivel de hardware.

Page 16: Instituto tecnologio spencer w

CONCLUCIONES

En ingeniería de software es marco de trabajo usado para estructurar

planificar y controlar el proceso.

El ciclo de vida describe el desarrollo del software desde la fase inicial.

La metodología rup es el fin de entregar un producto de software.

Page 17: Instituto tecnologio spencer w

E-GRAFIA

https://www.google.com/search?q=MODELO+ESPIRAL&hl=es&tbm=isch&nfpr

=&spell=1&oq=&gs_l=