Sei sulla pagina 1di 24
2014 Modelado del Proceso de Desarrollo de Software INGENIERÍA DE SOFTWARE Ing. Paula Camila Bravo
2014 Modelado del Proceso de Desarrollo de Software INGENIERÍA DE SOFTWARE Ing. Paula Camila Bravo
2014 Modelado del Proceso de Desarrollo de Software INGENIERÍA DE SOFTWARE Ing. Paula Camila Bravo

2014

Modelado del

2014 Modelado del Proceso de Desarrollo de Software INGENIERÍA DE SOFTWARE Ing. Paula Camila Bravo Rivera.

Proceso de Desarrollo de

Software

INGENIERÍA DE SOFTWARE

Ing. Paula Camila Bravo Rivera.

1 Ingeniería de Software. Modelado

de Desarrollo de Software INGENIERÍA DE SOFTWARE Ing. Paula Camila Bravo Rivera. 1 Ingeniería de Software.

2

2014

Modelos de Procesos

Los modelos de procesos son guías que presentan las mejores prácticas para

desarrollo del producto en cuestión.

Su propósito es ayudar a las organizaciones en la selección de estrategias de mejora, determinando la madurez del proceso actual, e identificando puntos importantes a

atacar para mejorar tanto el proceso

como la calidad de software

Ingeniería de Software. Modelado

importantes a atacar para mejorar tanto el proceso como la calidad de software Ingeniería de Software.
importantes a atacar para mejorar tanto el proceso como la calidad de software Ingeniería de Software.

3

2014

PRINCIPIOS FUNDAMENTALES

La práctica de la ingeniería de software es un

conjunto amplio de principios, conceptos, métodos y herramientas que deben considerarse al planear y desarrollar software.

PASOSSin importar el modelo del proceso

que se elija se llevan a cabo tres elementos:

Principios, procesos, metódos y en algunos

casos un cuarto elemento Herramientas.

Ingeniería de Software. Modelado

Principios, procesos, metódos y en algunos casos un cuarto elemento Herramientas. Ingeniería de Software. Modelado
Principios, procesos, metódos y en algunos casos un cuarto elemento Herramientas. Ingeniería de Software. Modelado

4

2014

Principios Guía del Proceso

Ayudan en la aplicación del proceso de software y en la ejecución de métodos eficaces cualquiera que sea.

1.

2.

3.

4.

5.

6.

7.

Ser ágil

En cada etapa, centrarse en la calidad Estar listo para adaptar Formar un equipo eficaz

Establecer mecanismos para la comunicación y

coordinación Administrar el cambio Evaluar riesgos

8. Crear productos del trabajo que agreguen valor para

otros.

Ingeniería de Software. Modelado

riesgos 8. Crear productos del trabajo que agreguen valor para o t r o s .
riesgos 8. Crear productos del trabajo que agreguen valor para o t r o s .

5

2014

Principios de la Práctica

La práctica tiene un solo objetivo: entregar a tiempo el software operativo de alta calidad que contenga funciones y características que satisfaga las necesidades de todos los participantes. Divide y Vencerás

1.

2.

3.

4.

Entender el uso de la abstracción

y Vencerás 1. 2. 3. 4. Entender el uso de la abstracción Buscar la coherencia Centrarse

Buscar la coherencia Centrarse en la transferencia de información

de la abstracción Buscar la coherencia Centrarse en la transferencia de información Ingeniería de Software. Modelado

Ingeniería de Software. Modelado

la abstracción Buscar la coherencia Centrarse en la transferencia de información Ingeniería de Software. Modelado
la abstracción Buscar la coherencia Centrarse en la transferencia de información Ingeniería de Software. Modelado

6

2014

Principios de la Práctica

5.

6.

7.

8.

Construir software que tenga modularidad eficaz Buscar patrones Cuando sea posible, representar el problema y su solución desde varias perspectivas diferentes Tener en mente que alguien dará mantenimiento al software

Ingeniería de Software. Modelado

perspectivas diferentes Tener en mente que alguien dará mantenimiento al software Ingeniería de Software. Modelado
perspectivas diferentes Tener en mente que alguien dará mantenimiento al software Ingeniería de Software. Modelado

7

2014

PRINCIPIOS QUE GUIAN LA

ACTIVIDAD ESTRUCTURAL

Definen los principios que tienen relevancia para el éxito de cada actividad estructural, definida como parte del proceso de software. Principios de Comunicación

1.

2.

3.

4.

5.

Principios de Planeación Principios de Modelado Principios de Construcción

Principios de Despliegue

Ingeniería de Software. Modelado

Principios de Modelado Principios de Construcción Principios de Despliegue Ingeniería de Software. Modelado
Principios de Modelado Principios de Construcción Principios de Despliegue Ingeniería de Software. Modelado

8

2014

PRINCIPIOS DE

COMUNICACIÓN

La comunicación efectiva se encuentra entre las actividades mas difíciles dentro del proceso.

1.

2.

3.

4.

actividades mas difíciles dentro del proceso. 1. 2. 3. 4. Escuchar  Preguntar Antes de comunicarse,
actividades mas difíciles dentro del proceso. 1. 2. 3. 4. Escuchar  Preguntar Antes de comunicarse,

Escuchar Preguntar Antes de comunicarse, prepararse. Alguien debe facilitar la actividad Facilitador

Es mejor la comunicación cara a cara

Ingeniería de Software. Modelado

debe facilitar la actividad  Facilitador Es mejor la comunicación cara a cara Ingeniería de Software.
debe facilitar la actividad  Facilitador Es mejor la comunicación cara a cara Ingeniería de Software.

9

2014

PRINCIPIOS DE

COMUNICACIÓN

5. 5. Tomar nota y documentar las decisiones

6.

7.

8.

9.

10.

Perseguir la colaboración Permanecer centrado, hacer módulos con la discusión Si algo no está claro hacer un dibujo Avanzar

La negociación no es un concurso o juego.

GANA-GANA

Ingeniería de Software. Modelado

claro hacer un dibujo Avanzar La negociación no es un concurso o juego. GANA-GANA Ingeniería de
claro hacer un dibujo Avanzar La negociación no es un concurso o juego. GANA-GANA Ingeniería de

10

2014

PRINCIPIOS DE PLANEACIÓN

Conjunto de practicas administrativas y técnicas que permiten que el equipo de software defina un mapa mientras avanza hacia su meta estratégica y objetivos tácticos. Entender el alcance del proyecto

1.

2.

Involucrar en la actividad de planeación a los participantes de software Reconocer que la planeación es iterativa Estimar con base en lo que se sabe

Reconocer que la planeación es iterativa Estimar con base en lo que se sabe 3. 4.
Reconocer que la planeación es iterativa Estimar con base en lo que se sabe 3. 4.

3.

4.

Ingeniería de Software. Modelado

Reconocer que la planeación es iterativa Estimar con base en lo que se sabe 3. 4.
Reconocer que la planeación es iterativa Estimar con base en lo que se sabe 3. 4.

11

2014

PRINCIPIOS DE PLANEACIÓN

5.

6.

7.

8.

9.

10.

Al definir el plan tomar en cuenta los riesgos Ser realistaContemplar el tiempo (No se trabaja el 100%) y el error humano

Ajustar la granularidad cuando se defina el plan

Nivel de detalle Definir como se trata de asegurar la calidad Describir como se busca manejar el cambio Dar seguimiento al plan con frecuencia y hacer los ajustes que se requieran

Ingeniería de Software. Modelado

el cambio Dar seguimiento al plan con frecuencia y hacer los ajustes que se requieran Ingeniería
el cambio Dar seguimiento al plan con frecuencia y hacer los ajustes que se requieran Ingeniería

12

2014

PRINCIPIOS DEL MODELADO

Son necesarios para entender mejor la entidad real que se va a construir. Debe ser capaz de representar la información que el software transforma, la arquitectura y las funciones que permiten que esto ocurra, las características que desean los usuarios y el comportamiento del sistema mientras se va transformando.

que desean los usuarios y el comportamiento del sistema mientras se va transformando. Ingeniería de Software.
que desean los usuarios y el comportamiento del sistema mientras se va transformando. Ingeniería de Software.

Ingeniería de Software. Modelado

que desean los usuarios y el comportamiento del sistema mientras se va transformando. Ingeniería de Software.
que desean los usuarios y el comportamiento del sistema mientras se va transformando. Ingeniería de Software.

13

2014

PRINCIPIOS DEL MODELADO

1.

2.

3.

4.

5.

6.

El equipo de software tiene como objetivo principal elaborar software, no crear modelos Viajar ligero, no crear más modelos de los necesarios Construir solo aquellos que hagan fácil y rápido el proceso de construcción

Tratar de construir el modelo más sencillo que

describa al problema o el software Construir modelos susceptibles al cambio Ser capaz de enunciar un propóstico explícito para cada modelo que se crea Tener una razón para construir el modelo Adaptar los modelos que se desarrollan al sistema en cuestión Usar una notación y reglas sujetas al problema

Ingeniería de Software. Modelado

en cuestión  Usar una notación y reglas sujetas al p r o b l e
en cuestión  Usar una notación y reglas sujetas al p r o b l e

14

2014

PRINCIPIOS DEL MODELADO

7.

8.

9.

10.

Tratar de construir modelos útiles, pero olvidarse de elaborar modelos perfectos No ser dogmático respecto a la sintaxis del modelo. Si se tiene éxito para comunicar contenido, la representación es secundaria

Si su instinto dice que un modelo no es el

correcto a pesar de que se vea bien en el papel, no hay razones para estar preocupado

Obtener retroalimentación tan pronto como sea posible Revisión por los miembros del equipo.

Ingeniería de Software. Modelado

tan pronto como sea posible  Revisión por los miembros del equipo. Ingeniería de Software. Modelado
tan pronto como sea posible  Revisión por los miembros del equipo. Ingeniería de Software. Modelado

15

2014

**Requerimientos de los

Modelos**

1. Deben representarse y entenderse el dominio de

2.

3.

información de un problema

Deben definirse la funciones que realizará el software Debe representarse el comportamiento del software (Como consecuencia de eventos externos) Los modelos que representen información, función y

comportamiento deben dividirse de manera que se

4.

revelen los detalles de manera estratificada o jerárquica.

5.

El trabajo de análisis debe avanzar de la información esencial hacia la implementación detallada El

modelado de requerimientos comienza en la

descripción del problema desde la perspectiva de

usuario final.

Ingeniería de Software. Modelado

comienza en la descripción del problema desde la perspectiva de usuario final. Ingeniería de Software. Modelado
comienza en la descripción del problema desde la perspectiva de usuario final. Ingeniería de Software. Modelado

16

2014

Modelado del diseño

16 2014 Modelado del diseño  Se inicia por una representación de la totalidad y se

Se inicia por una representación de la totalidad y se refina poco a poco hasta que guie la construcción de

1.

2.

3.

4.

cada detalle.

El

diseño debe poderse rastrear hasta el modelo de

requerimientos.

Tomar en cuenta la arquitectura del sistema que se va

a

El diseño de los datos es tan importante como el de las

funciones de procesamiento Las interfaces tanto internas como externas deben diseñarse con cuidadoLa manera en que los datos

fluyen entre los componentes de un sistema influye en

la eficiencia del procesamiento, la propagación del

error y la simplicidad del diseño.

Ingeniería de Software. Modelado

construir

procesamiento, la propagación del error y la simplicidad del diseño. Ingeniería de Software. Modelado construir
procesamiento, la propagación del error y la simplicidad del diseño. Ingeniería de Software. Modelado construir

17

2014

Modelado del diseño

5. El

diseño de la interfaz de usuario debe ajustarse las necesidades del usuario final. En todo caso

a

debe resaltarse la facilidad de uso. La interfaz

es la manifestación visible del software

El

independencia funcional. Mentalidad única

de cada componente

Los componentes deben estar acoplados con

holgura entre si y con el ambiente externo.

Las representaciones del diseño (Modelos ) deben entenderse con facilidad

El diseño debe realizarse de forma iterativa, el

diseñador debe buscar mas sencillez en cada

iteración.

6.

diseño en el nivel de componentes debe tener

7.

8.

9.

Ingeniería de Software. Modelado

cada iteración. 6. diseño en el nivel de componentes debe tener 7. 8. 9. Ingeniería de
cada iteración. 6. diseño en el nivel de componentes debe tener 7. 8. 9. Ingeniería de

18

2014

PRINCIPIOS DE CONSTRUCCIÓN

Incluye el conjunto de tareas de codificación y pruebas que lleva a un

software operativo listo para entregarse

al cliente o usuario final.

Codificación

Pruebas

•Creación directa Ej. java •Generación Automática del código fuente •Generación de código ejecutable.
•Creación directa Ej. java
•Generación Automática del código fuente
•Generación de código ejecutable. Lenguaje
de cuarta generación ej. Visual C++
•Integración
•Validación
•Aceptación

Ingeniería de Software. Modelado

cuarta generación ej. Visual C++ •Integración •Validación •Aceptación Ingeniería de Software. Modelado
cuarta generación ej. Visual C++ •Integración •Validación •Aceptación Ingeniería de Software. Modelado

19

2014

PRINCIPIOS DE CODIFICACIÓN

1. Preparación. Antes de escribir una sola línea, asegúrese de:

1. Entender el problema

2.

3.

4.

5.

Comprender los principios y conceptos básicos del diseño Elegir un lenguaje de programación adecuado Seleccionar un ambiente de programación que

adecuado Seleccionar un ambiente de programación que disponga de herramientas que faciliten su trabajo Crear un

disponga de herramientas que faciliten su trabajo

Crear un conjunto de pruebas unitarias que aplicar.

que faciliten su trabajo Crear un conjunto de pruebas unitarias que aplicar. Ingeniería de Software. Modelado

Ingeniería de Software. Modelado

que faciliten su trabajo Crear un conjunto de pruebas unitarias que aplicar. Ingeniería de Software. Modelado
que faciliten su trabajo Crear un conjunto de pruebas unitarias que aplicar. Ingeniería de Software. Modelado

20

2014

PRINCIPIOS DE CODIFICACIÓN

2. Programación. Cuando comience a escribir código, asegúrese que:

1. Restringir los algoritmos (Programación estructurada)

3.

2.

3.

4.

5.

6.

7.

8.

Seleccionar estructuras de datos que satisfagan las necesidades del diseño Entender la arquitectura y crear interfaces acordes Mantener la lógica condicional tan sencilla como sea posible Crear lazos anidados para probar con facilidad

Seleccionar nombres significativos para las variables

Escribir código que se documente a sí mimos Crear imagen visual (Sangrías, espacios, etc)

Validación. Una vez haya terminado su primer intento de codificación, asegúrese de:

1.

2.

Realizar el recorrido del código cuando sea apropiado

Realizar pruebas unitarias y corregir errores

3. Rediseñar el código

Ingeniería de Software. Modelado

apropiado Realizar pruebas unitarias y corregir errores 3. Rediseñar el código Ingeniería de Software. Modelado
apropiado Realizar pruebas unitarias y corregir errores 3. Rediseñar el código Ingeniería de Software. Modelado

21

2014

PRINCIPIOS DE PRUEBA

La prueba es el proceso que ejecuta un

programa con objeto de encontrar un error

En un buen caso de prueba se tiene alta

probabilidad de encontrar un error que

no se haya detectado antes

Una prueba exitosa es aquella donde se descrubre un error no detectado hasta el

momento.

Ingeniería de Software. Modelado

exitosa es aquella donde se descrubre un error no detectado hasta el momento. Ingeniería de Software.
exitosa es aquella donde se descrubre un error no detectado hasta el momento. Ingeniería de Software.

22

2014

PRINCIPIOS DE PRUEBA

1.

2.

3.

4.

5.

Todas las pruebas deben poder rastrearse hasta los requerimientos del cliente Las pruebas deben planearse mucho antes de que den comienzo El principio de Pareto se aplica a todas las pruebas de software EL 80% de todos los errores no detectados durante las pruebas, se relacionan con el 20% de todos los componentes del programa Las pruebas deben comenzar en lo pequeño y

del programa Las pruebas deben comenzar en lo pequeño y avanzar hacia lo grande Ingeniería de

avanzar hacia lo grande

Ingeniería de Software. Modelado
Ingeniería de Software. Modelado

No son posibles las pruebas exhaustivas.

lo pequeño y avanzar hacia lo grande Ingeniería de Software. Modelado No son posibles las pruebas
lo pequeño y avanzar hacia lo grande Ingeniería de Software. Modelado No son posibles las pruebas

23

2014

PRINCIPIOS DE DESPLIEGUE

La actividad de despliegue incluye tres acciones:

entrega, apoyo y retroalimentación. Como la

naturaleza de los modelos

de proceso es evolutiva e incremental, el despliegue ocurre no una vez sino varias

a la medida que el software avanza hacia su conclusión.

ocurre no una vez sino varias a la medida que el software avanza hacia su conclusión.

Ingeniería de Software. Modelado

no una vez sino varias a la medida que el software avanza hacia su conclusión. Ingeniería
no una vez sino varias a la medida que el software avanza hacia su conclusión. Ingeniería

24

2014

PRINCIPIOS DE DESPLIEGUE

1. Deben manejarse las expectativas de los

2.

3.

4.

5.

clientes Debe ensamblarse y probarse el paquete completo que se entregará

Antes de entregar el software, debe

establecerse un régimen de apoyo Se deben proporcionar a los usuarios finales materiales de aprendizaje apropiados

El software defectuoso debe corregirse primero y luego entregarse

Ingeniería de Software. Modelado

apropiados El software defectuoso debe corregirse primero y luego entregarse Ingeniería de Software. Modelado
apropiados El software defectuoso debe corregirse primero y luego entregarse Ingeniería de Software. Modelado