Upload
abner-garcia
View
6
Download
3
Embed Size (px)
Citation preview
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
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.
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.
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.
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
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:
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
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.
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.
El modelo espiral tuvo varias modificaciones que son:
Modelo Original de Boehm. Modelo Típico de Seis Regiones. Modelo WINWIN.
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
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.
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:
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.
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.
E-GRAFIA
https://www.google.com/search?q=MODELO+ESPIRAL&hl=es&tbm=isch&nfpr
=&spell=1&oq=&gs_l=