Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

MODELOS DE DESARROLLO DE SOFTWARE

No description
by

GUTEMBER HUMANEZ

on 1 September 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of MODELOS DE DESARROLLO DE SOFTWARE

INGENIERIA SOFTWARE:
MODELOS, FILOSOFIA, NATURALEZA Y RESPONSABILIDADES Gutember Humanez Arroyo CORPORACION UNIVERSITARIA REMINGTON OBJETIVOS Conocer la filosofía y los métodos que existen en el universo de los sistemas para desarrollar un software con calidad, partiendo de la naturaleza de la profesión, los principios éticos y morales y responsabilidades propias que deben asumirse en la ingeniería de software. General Específicos
Identificar los diversos modelos de desarrollo de software.

Establecer la naturaleza de la ingeniería de software y el alcance de la misma.

Determinar el alcance de la responsabilidad compartida con otras áreas y los principios éticos y morales que caracterizan a la ingeniería de software. MODELOS D.S. 1. MODELO CLASICO O DE CASCADA 2. MODELO DE PROTOTIPO O
MODELO DE DESARROLLO EVOLUTIVO 3. MODELO DE DESARROLLO ESPIRAL 4. MODELO DE DESARROLLO POR ETAPAS 5. MODELO DE DESARROLLO ITERATIVO O CRECIENTE 6. MODELO DESARROLLO RÁPIDO DE APLICACIONES O RAD 9. MODELO RUP; PROCESO UNIFICADO DE RATIONAL 7. MODELO DESARROLLO CONCURRENTE 8. MODELO PROCESO UNIFICADO 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. Las variaciones de este modelo:

Uso de prototipos y en la que se establece un ciclo antes de llegar a la fase de mantenimiento, verificando que el sistema final esté libre de fallos

La forma en “V” El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que éste sea aprobado nosotros podemos iniciar el verdadero desarrollo del software. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que éste sea aprobado nosotros podemos iniciar el verdadero desarrollo del software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades.

Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior. En cada vuelta o iteración hay que tener en cuenta:

Los Objetivos, alternativas y restricciones: qué necesidad debe cubrir el producto.

Evaluar Alternativas e identificar y resolver riesgos: las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:

1. Características: experiencia del personal, requisitos a cumplir, etc.
2. Formas de gestión del sistema.
3. Riesgo asumido con cada alternativa. Desarrollar y Verificar el producto al siguiente nivel: Programar y probar el software. Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades:

Planear la siguiente fase: Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:

1. Angular: Indica el avance del proyecto del software dentro de un ciclo.
2. Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando. Es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código. Etapas 1. Plan operativo 2. Especificación de requisitos 3. Especificación funcional 4. Diseño 5. Implementación 6. Integración 7. Validación y verificación 8. Mantenimiento La idea principal es desarrollar un sistema de programas de manera incremental, permitiéndole al desarrollador sacar ventaja de lo que se ha aprendido a lo largo del desarrollo anterior, incrementando, versiones entregables del sistema. El aprendizaje viene de dos vertientes: el desarrollo del sistema, y su uso. Etapa de inicialización,

Se crea una versión del sistema. La meta de esta etapa es crear un producto con el que el usuario pueda interactuar, y por ende retroalimentar el proceso. Etapa de iteración,

Se involucra el rediseño e implementación de una tarea de la lista de control de proyecto, y el análisis de la versión más reciente del sistema. El análisis de una iteración se basa en la retroalimentación del usuario y en el análisis de las funcionalidades disponibles del programa. Involucra el análisis de la estructura, modularidad, usabilidad, confiabilidad, eficiencia y eficacia El método comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución. Hoy en día se suele utilizar para referirnos al desarrollo rápido de interfaces gráficas de usuario tales como Glade, o entornos de desarrollo integrado completos. Algunas de las plataformas más conocidas son Visual Studio, Lazarus, Delphi, Foxpro , Anjuta, Game Maker, Velneo o Clarion Se puede representar de forma de esquema como una serie de actividades técnicas importantes, tareas y estados asociados a ellas. Este modelo define una serie de acontecimientos que dispararan transiciones de estado para cada una de las actividades de la ingeniería del software. El modelo de proceso concurrente se utiliza como un paradigma de desarrollo de aplicaciones cliente/servidor. Un sistema cliente/servidor se compone de un conjunto de componentes funcionales 1.Dimensión de Sistemas. Los aspectos de nivel de sistemas se afrontan mediante tres actividades: diseño, ensamblaje y uso.

2.Dimensión de Componentes. Se afronta con dos actividades: diseño y realización. Es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental.

Es un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos.

Es similar al RUP (Proceso Unificado de Rational)

El Proceso Unificado requiere que el equipo del proyecto se centre en identificar los riesgos críticos en una etapa temprana del ciclo de vida. Es un proceso de software genérico que puede ser utilizado para una gran cantidad de tipos de sistemas de software, para diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de competencia y diferentes tamaños de proyectos. El Proceso Unificado usa el Lenguaje de Modelado Unificado (UML) en la preparación de todos los planos del sistema. De hecho, UML es una parte integral del Proceso Unificado, fueron desarrollados a la par. Características:

 Dirigido por casos de uso (use-case driven).
 Centrado en la arquitectura (architecture-centric).
 Iterativo e incremental. NATURALEZA DE LA I.S. La Ingenieria de sistemas consiste en la actividad de especificar, diseñar, implementar, validar, distribuir y mantener sistemas como un todo. La Ingeniería de Software es una disciplina que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza La ingeniería de software es distinta de las demás disciplinas de ingeniería dada la naturaleza intangible del software. Matemáticas

Los programas tienen muchas propiedades matemáticas. Por ejemplo la corrección y la complejidad de muchos algoritmos son conceptos matemáticos que pueden ser rigurosamente probados. Creación

Los programas son construidos en una secuencia de pasos. El hecho de definir propiamente y llevar a cabo estos pasos, como en una línea de ensamblaje, es necesario para mejorar la productividad de los desarrolladores y la calidad final de los programas. Gestión de Proyectos

El desarrollo de software de gran porte requiere una adecuada gestión del proyecto. Hay presupuestos, establecimiento de tiempos de entrega, un equipo de profesionales que liderar. Arte

Los programas contienen muchos elementos artísticos. Las interfaces de usuario, la codificación, etc. Incluso la decisión para un nombre de una variable o una clase. Donald Knuth es famoso por argumentar a la programación como un arte. RESPONSABILIDAD IS La responsabilidad será compartida por un grupo grande de personas, que comprende desde el ingeniero de requisitos, hasta el arquitecto software, y contando con el diseñador, o el encargado de realizar las pruebas. Por encima de todos ellos destaca el director del proyecto. El software demanda una clara distribución de la responsabilidad entre los diferentes roles que se dan en el proceso de producción. BIBLIOGRAFIA


Colaboradores de Wikipedia. Ingeniería de software [en línea]. Wikipedia, La enciclopedia libre, 2012 [fecha de consulta: 17 de marzo del 2012]. Disponible en <http://es.wikipedia.org/w/index.php?title=Ingenier%C3%ADa_de_software&oldid=54624841>.

http://yaqui.mxl.uabc.mx/~molguin/as/IngSoft%201-4.pdf

http://www.humbertocervantes.net/cursos/ingsoft/Presentacion-Curso.pdf
Ingeniería del Software. Séptima edición. Ian Sommerville. Pearson Educación S.A. Madrid. 2005.

S. Presuman, Roger. Ingeniería del Software: Un enfoque práctico, 3ra Edición, Pag. 26-30.
Boehm B, A Spiral Model of Software Development and Enhancement, ACM SIGSOFT Software Engineering Notes, ACM, 11(4):14-24, Agosto 1986.

Martin, James (1980). Macmillan Coll Div. ed. Rapid Application Development.

Maurer and S. Martel. (2002). "Extreme Programming: Rapid Development for Web-Based Applications". IEEE Internet Computing, 6(1) pp 86-91 Enero/Febrero 2002
Full transcript