resumen de los modelos prescriptivos del desarrollo de sistemas de información

15
INSTITUTO TECNOLÓGICO DE TUXTEPEC “Fundamentos De Sistemas De Información” Actividad: Resumen Tercer semestre Turno: Matutino Grupo “A” Presentado por: Correos: Fátima De Jesús Martínez López [email protected] Iliana Pioquinto Barradas [email protected] Itzayana Pérez Ibáñez [email protected] Indira Said Santiago Santiago [email protected] Graciela Avendaño Mendoza [email protected] Mariano CDG [email protected] Profesor: Ma. De Los Ángeles Martínez Morales 7/10/2012

Upload: indirasaid

Post on 02-Aug-2015

296 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

INSTITUTO TECNOLÓGICO DE TUXTEPEC

“ “Fundamentos De Sistemas De Información”

Actividad:

Resumen

Tercer semestre Turno: Matutino

Grupo “A”

Presentado por: Correos: Fátima De Jesús Martínez López [email protected]

Iliana Pioquinto Barradas [email protected]

Itzayana Pérez Ibáñez [email protected]

Indira Said Santiago Santiago [email protected]

Graciela Avendaño Mendoza [email protected]

Mariano CDG [email protected]

Profesor:

Ma. De Los Ángeles Martínez Morales

7/10/2012

Page 2: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

2

PROCESOS DEL CICLO DE VIDA

El proceso de vida se divide en dos etapas:

Las de los PROCESOS PRINCIPALES que son:

Adquisición

Suministro

Desarrollo

Explotación

mantenimiento

PROCESOS DE SOPORTE

Documentación

Gestión de configuración

Aseguramiento de calidad

Verificación

Validación

Revisión conjunta

auditoria

resolución de problemas

PROCESOS DE LA ORGANIZACIÓN

gestión

mejora

infraestructura

formación

proceso de adaptación

Page 3: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

3

PROCESOS PRINCIPALES

Este proceso es útil a los desarrolladores, usuarios del software durante su ciclo de

vida

PRCESOS DE ADQUISICIÓN

Este proceso es sobre las tareas que el comprador, el cliente o el usuario realizan para

adquirir un sistema o producto (servicio) software. También en la Preparación y

publicación de una solicitud de ofertas.

En la Selección del suministrador del software. Y en la Gestión de los procesos desde

la adquisición hasta la aceptación del producto.

PROCESOS DE SUMINISTRO

Se inicia al preparar una propuesta para atender una petición de un comprador, o por la

firma de un contrato con el comprador para proporcionarle un producto software.

También identifica los procesos y recursos para gestionar bien el proyecto. Desarrolla

los planes del proyecto y ejecuta los planes del mismo hasta la entrega del producto

software al comprador.

PROCESOS DE DESARROLLO

Esta contiene las actividades realizadas por el desarrollador. Y se sigue una serie de

puntos como:

Implementació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.

Page 4: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

4

Prueba del sistema.

Instalación del software.

Soporte del proceso de

aceptación del software.

PROCESO DE EXPLOTACIÓN

Se define a la explotación del software y del soporte del mismo. El sistema debe ser

operado de acuerdo con la documentación del usuario en su entorno previsto. Se

puede desarrollar un plan para llevar a cabo las actividades y tareas de este proceso.

También el proceso para comprobar el producto software en su entorno de operación,

enviando informes de problemas y peticiones de modificación al proceso de

mantenimiento.

PROCESO DE MANTENIMIENTO

El software o la documentación necesitan ser modificado, debido a problemas o a

necesidades de mejora o adaptación como: nuevos errores detectados, necesidad de

mejoras y migración a un nuevo entorno operativo.

PROCESO DE SOPORTE

Sirve de apoyo al resto de procesos.

PROCESOS DE DOCUMENTACIÓN

Registra la información producida por cualquier proceso o actividad del ciclo de vida.

También gestiona los documentos necesarios para todas las personas involucradas en

el software.

PROCESO DE GESTIÓN DE LA CONFIGURACIÓN

La configuración del software involucra: programas, documentación, y datos. En

aplicaciones grandes, la gestión de la configuración del software se convierte en un

problema.

PROCESO DE ASEGURAMIENTO DE LA CALIDAD

Aporta confianza en que los procesos y los productos Software del ciclo de vida

cumplen con los requisitos especificados y se ajustan a los planes establecidos. Y el

Page 5: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

5

Aseguramiento de la calidad puede ser: interno o externo. Usa resultados de otros

procesos de apoyo: verificación, validación, auditorías, etc.

PROCESO DE VERIFICACIÓN

Existen dos tipos horizontal y vertical.

Verificación horizontal: si los productos software de cada fase del ciclo de vida

cumplen los requisitos impuestos sobre ellos en las fases previas.

Verificación vertical: ¿Estamos construyendo correctamente el producto?

PROCESO DE VALIDACIÓN

Indica si el sistema o software final cumple con las necesidades del usuario. También

se puede validar una especificación. Puede ser realizado por una organización de

servicios independiente (proceso de validación independiente).

PROCESODE REVISIÓN CONJUNTA

Evaluar el estado del software y sus productos en una actividad del ciclo de vida o fase

del proyecto. Se realiza durante todo el ciclo de vida: a nivel de gestión, a nivel de

gestión.

PROCESO DE AUDITORIA

Tipos de auditoría informática:

De explotación

De sistemas

De comunicaciones

De desarrollo de proyectos

De seguridad

Fraudes y delitos económicos producidos en las empresas (a veces por los

propios empleados, sin conocimiento de la dirección)

Problemas en privacidad y seguridad (auditoria de seguridad informática, tanto

lógica como física)

La corrección de los datos de entrada (auditoria informática de datos)

Problemas de diseño del sistema informático

Page 6: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

6

LA INGENIERÍA DE SOFTWARE EN EL MODELO DE

DESARROLLO DEL SOFTWARE LIBRE

La ingeniería de software es aquella que crea y mantiene las aplicaciones tecnológicas

y lo principal es aplicar este software con el fin de que estos sean más rápidos, a

menor costo, y de mayor calidad.

El software libre es aquel que al ser obtenido puede ser usado, copiado, estudiado,

modificado y redistribuido libremente. El modelo de desarrollo del SL es atípico y no

convencional, se basa de un entorno distribuido y colaborar programando porciones del

software o en diferente tareas especificas, surgió de manera natural.

La evolución del modelo de desarrollo del software libre

Años 60-70

Necesidad de los mismos “informáticos”.

Programación en ASM y C.

El software se opone4 tal cual, si da problemas ellos mismos lo arreglan.

1972 : TCP-IP (protocolo)

1974 : PDP-11 (Unix de Berkley)

1975 : Emacs (entorno completo)

1976 : Vi (editor de texto)

Años 80

Requerimientos del movimiento, principalmente dev-tools y commapps.

Programación en C, C++ y lenguajes de scripting, gestionada en repositorios de

código.

Se establecen convenciones y estándares para documentación.

1981 : BSD 4.1 (OS)

1984 : Latex (procesador de textos)

1986 : CVS (control diversiones)

1987 : Perl (lenguaje)

1987 : GCC (compilador)

Años 90

Integración de muchos paquetes independientes y despliegue.

Aplicaciones afinadas y especializadas para laborar distribuida mente (Internet).

Automatas de pruebas y documentación.

Page 7: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

7

1993: Debían y Slackware (distros de Linux)

1997: Doxygen (automatización de documentación a partir del código

fuente)

1998: APT (administrador de paquetes)

Actualmente

Software para diseno de software.

Desarrollo basado en MVC.

Herramientas de GESTION de trabajo en grupo.

Herramientas de apoyo para

GESTION de proyectos.

1998: Bugzilla (administración de errores y requerimientos).

2000: Umbrello (herramienta case)

2000: PhpGroupWare (gestión de proyectos)

2004: Ruby on Rails (framework dedesarrollo)

El modelo de desarrollo del software libre claro que encaja dentro de la ingeniería de

software, se fue adecuando de manera natural a través de los años, el modelo de

desarrollo del software libre también aporta a la ingeniería de software nuevas prácticas

que antes no eran siguiera imaginadas.

MODELO EN ESPIRAL

En una representación de la espiral encontramos lo que es la dirección de avance y el

esfuerzo acumulado.

Estrategia de resolución de problemas:

*Determinar objetivos, alternativas de solución y restricciones.

*Evaluar alternativas identificar riesgos proponer estrategias de resolución de riesgos.

*Encargo.

*Entrega de resultados.

*Recapitulación, propuestas de planificación.

*Verificación.

*Desarrollo.

Page 8: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

8

El modelo en espiral también está formado por ventajas e inconvenientes.

Ventajas:

– Evaluación en cada fase que permite cambios de objetivos

– Funciona bien en proyectos de innovación.

Inconvenientes:

-La evaluación de riesgos es compleja

– Excesiva flexibilidad para algunos proyectos.

MODELO EVOLUTIVO:

*Es el modelo cuyas etapas consisten en expandir incrementos de un

producto de software operacional.

*El cliente recibe pequeños incrementos del sistema a medida que van

siendo desarrollados: distribución incremental.

Características:

• Gestionan bien la naturaleza evolutiva del software

• Son iterativos: construyen versiones de software cada vez más

completas

Se adaptan bien:

• Los cambios de requisitos del producto

• Fechas de entrega estrictas poco realistas

• Especificaciones parciales del producto

VENTAJAS

• Es interactivo

Page 9: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

9

-Con cada incremento se entrega al cliente un producto operacional , que

puede evaluarlo

• PERSONAL

- Permite variar el personal asignado a cada interacción

• GESTION RIESGOS TECNICOS

- Por ejemplo disponibilidad de hardware especifico

INCONVENIENTES

• La primera interacción puede plantear los mismos problemas que un

modelo lineal secuencial

Incrementos:

El modelo evolutivo de desarrollo no implica necesariamente

entregas incrementales

Entregas incrementales implican no solo código, si no también

manuales de uso

Los incrementos deben ser unidades auto contenidas.

Etapas de modelo evolutivo

-Entregar al cliente algo útil

-Medir el valor agregado del incremento

-Ajustar el diseño y los objetivos en base a las mediciones.

Los evolutivos son modelos iterativos, permiten desarrollar versiones

cada vez más completas y complejas, hasta llegar al objetivo final

deseado; incluso evolucionar más allá, durante la fase de operación.

Page 10: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

10

Los modelos «iterativo incremental» y «espiral» (entre otros) son dos

de los más conocidos y utilizados del tipo evolutivo.

MODELO INCREMENTAL

El Modelo Incremental combina elementos del MLS con la filosofía

interactiva de construcción de prototipos.

En una visión genérica, el proceso se divide en 4 partes: Análisis, Diseño,

Código y Prueba. Sin embargo, para la producción del Software, se usa el

principio de trabajo en cadena o “Pipeline”, utilizado en muchas otras

formas de programación. Con esto se mantiene al cliente en constante

contacto con los resultados obtenidos en cada incremento.

Es el mismo cliente el que incluye o desecha elementos al final de cada

incremento a fin de que el software se adapte mejor a sus necesidades

reales. El proceso se repite hasta que se elabore el producto completo.

De esta forma el tiempo de entrega se reduce considerablemente.

Al igual que los otros métodos de modelado, el Modelo Incremental es de

naturaleza interactiva pero se diferencia de aquellos en que al final de

cada incremento se entrega un producto completamente operacional.

El Modelo Incremental es particularmente útil cuando no se cuenta con una

dotación de personal suficiente. Los primeros pasos los pueden realizar un

grupo reducido de personas y en cada incremento se añadir• personal, de

ser necesario. Por otro lado los incrementos se pueden planear para

gestionar riesgos técnicos.

El Modelo Incremental se puede ver aquí en forma grafica:

- Se evitan proyectos largos y se entrega algo de valor a los usuarios con

cierta frecuencia.

- El usuario se involucra más.

- Difícil de evaluar el coste total.

Page 11: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

11

- Difícil de aplicar a los sistemas transaccionales que tienden a ser

integrados y a operar como un todo.

- Requiere gestores experimentados.

- Los errores en los requisitos se detectan tarde.

- El resultado puede ser muy positivo.

Pipeline

La arquitectura en pipeline (basada en filtros) consiste en ir transformando

un flujo de datos en un proceso comprendido por varias fases

secuenciales, siendo la entrada de cada una la salida de la anterior.

Esta arquitectura es muy común en el desarrollo de programas para el

intérprete de comandos, ya que se pueden concatenar comandos

fácilmente con tuberías (pipe).

También es una arquitectura muy natural en el paradigma de

programación funcional, ya que equivale a la composición de funciones

matemáticas.

Interprete de comandos

Parte fundamental de un sistema operativo que ordena la ejecución de

mandatos obtenidos del usuario por medio de una interfaz alfanumérica.

Características

- Se evitan proyectos largos y se entrega “algo de valor” a los usuarios con

cierta frecuencia.

- El usuario se involucre más.

- Difícil de evaluar el costo total.

- Difícil de aplicar a los sistemas transaccionales que tienden a ser

integrados y a operar como un todo.

- Requiere gestores experimentados.

- Los errores en los requisitos se detectan tarde.

- El resultado puede ser muy positivo.

Page 12: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

12

Ventajas:

- Con un paradigma incremental se reduce el tiempo de desarrollo inicial,

ya que se implementa la funcionalidad parcial.

- También provee un impacto ventajoso frente al cliente, que es la entrega

temprana de partes operativas del Software.

- El modelo proporciona todas las ventajas del modelo en cascada

realimentado, reduciendo sus desventajas sólo al ámbito de cada

incremento.

- Permite entregar al cliente un producto más rápido en comparación del

modelo de cascada.

- Resulta más sencillo acomodar cambios al acotar el tamaño de los

incrementos.

- Por su versatilidad requiere de una planeación cuidadosa tanto a nivel

administrativo como técnico.

Desventajas:

- El modelo Incremental no es recomendable para casos de sistemas de

tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o

de alto índice de riesgos.

- Requiere de mucha planeación, tanto administrativa como técnica.

- Requiere de metas claras para conocer el estado del proyecto.

EL PROCESO UNIFICADO DE DESARROLLO DE

SOFTWARE

El Proceso Unificado es un proceso de desarrollo de software conjunto de

actividades necesarias para transformar los requisitos del usuario en un

sistema software. El Proceso Unificado se repite a lo largo de una serie de

ciclos que constituyen la vida de un sistema. Cada ciclo constituye una

versión del sistema.

RUP es un marco genérico que puede especializarse para una variedad

de tipos de sistemas, diferentes áreas de aplicación, tipos de

organizaciones, niveles de aptitud y diferentes tamaños de proyectos.

Page 13: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

13

RUP está basado en componentes. El software esta formado por

componentes software interconectados a través de interfaces.

RUP está dirigido por casos de uso, centrado en la arquitectura, y es

iterativo e incremental.

El Proceso Unificado no es simplemente un proceso, sino un marco de

trabajo extensible que puede ser adaptado a organizaciones o proyectos

específicos. De la misma forma, el Proceso Unificado de Rational, también

es un marco de trabajo extensible, por lo que muchas veces resulta

imposible decir si un refinamiento particular del proceso ha sido derivado

del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres

suelen utilizarse para referirse a un mismo concepto.

Dirigido por los casos de uso

En el Proceso Unificado los casos de uso se utilizan para capturar los

requisitos funcionales y para definir los contenidos de las iteraciones. La

idea es que cada iteración tome un conjunto de casos de uso

o escenarios y desarrolle todo el camino a través de las distintas

disciplinas: diseño, implementación, prueba, etc. el proceso dirigido por

casos de uso es el rup.

Un caso de uso es un fragmento de funcionalidad del sistema que

proporciona un resultado de valor a un usuario. Los casos de uso modelan

los requerimientos funcionales del sistema.

• Todos los casos de uso juntos constituyen el modelo de casos de uso.

• Los casos de uso también guían el proceso de desarrollo (diseño,

implementación, y prueba). Basándose en los casos de uso los

desarrolladores crean una serie de modelos de diseño e implementación

que llevan a cabo los casos de uso. De este modo los casos de uso no

solo inician el proceso de desarrollo sino que le proporcionan un hilo

conductor, avanza a través de una serie de flujos de trabajo que parten de

los casos de uso.

Page 14: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

14

HERRAMIENTAS CASE.

Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas

que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante

todos los pasos del Ciclo de Vida de desarrollo de Software.

CASE se define también como:

1. Conjunto de métodos, utilidades y técnicas que facilitan la automatización del

ciclo de vida del desarrollo de sistemas de información, completamente o en

alguna de sus fases.

2. La sigla genérica para una serie de programas y una filosofía de desarrollo

software que ayuda a automatizar el ciclo de visa de desarrollo de los sistemas.

3. Una innovación en la organización, un concepto avanzado en la evolución de

tecnología con un potencial efecto profundo en la organización. Se puede ver al

CASE como la unión de las herramientas automáticas de software y las

metodologías de desarrollo de software formales.

CLASIFICACION DE LAS HERRAMIENTAS CASE:

No existe una única clasificación de herramienta CASE y, en ocasiones, es difícil

incluirlas en una clase determinada. Podrían clasificarse atendiendo a:

1. Las plataformas que soportan.

2. Las fases del ciclo de vida del desarrollo de sistemas que cubren.

3. La arquitectura de las aplicaciones que producen.

4. Su funcionalidad.

Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se

pueden agrupar de la forma siguiente:

1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado):

Abarca todas las fases del ciclo de vida del desarrollo de sistemas. Son

llamadas también CASE workbeanch.

2. Herramientas de alto nivel, U-CASE (Upper CASE, CASE superior) o front-end,

orientadas a la automatización y soporte de las actividades desarrolladas

durante las primeras fases del desarrollo: análisis y diseño.

Page 15: Resumen de los Modelos Prescriptivos del desarrollo de sistemas de información

15

3. Herramienta de bajo nivel, L-CASE (Lower CASE, CASE inferior) o back-end,

dirigidas a las últimas fases del desarrollo: construcción e implantación.

4. Juego de herramientas o Tools-CASE, son el tipo más simple de herramientas

CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se

encontrarían las herramientas de reingeniería, orientadas a la fase de

mantenimiento.

Tipo de Case

Ventajas Desventajas

I – Case Integra el ciclo de vida. Permite lograr importantes

mejoras de productividad a mediano plazo. Permite un eficiente soporte

al mantenimiento de sistemas. Mantiene la consistencia de

los sistemas a nivel corporativo.

No es tan eficiente para soluciones simples, sino para soluciones complejas. Depende del Hardware y

del Software. Es costoso.

Upper Case Se utiliza en plataforma PC, es aplicable a diferentes entornos, Menor costo

Permite mejorar la calidad de los sistemas, pero no mejora la productividad. No permite la integración

Lower Case Permite lograr importantes mejoras de productividad a corto plazo. Permite un eficiente soporte

al mantenimiento de sistemas.

No garantiza la consistencia de los resultados a nivel corporativo. No garantiza la eficiencia

del Análisis y Diseño. No permite la integración

del ciclo de vida.