Taller ingenieria de software
description
Transcript of Taller ingenieria de software
![Page 1: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/1.jpg)
Taller: Ingeniería de Software¿Para qué complicarnos si podemos hacerlo
fácil?
![Page 2: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/2.jpg)
TalleristasHernán GuzmánCristian ArocaSorey García
ApoyoOrlando Contreras
David Ramirez
CubrimientoAngelo Cardona (Streaming)
Jenny Chica (Fotografía)Pavel Espitia (Twitter y Chat)
Asesor TecnoparqueJulián Guevara
![Page 3: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/3.jpg)
¿Qué es Avanet?
Avanet (Academia Virtual Altruista) es una comunidad virtual abierta orientada a generar
mecanismos de proyección y capacitación profesional, a través de la difusión y gestión de conocimiento, por medio de herramientas de
autoaprendizaje dinámicas que faciliten la apropiación y conservación de este, de y hacia
todas las personas que desean adquirir o fortalecer las habilidades necesarias para el desarrollo de sus actividades profesionales y
laborales.
![Page 4: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/4.jpg)
Muchos se preguntan ¿Por qué academia? La siguiente definición nos inspira a usar el término
"Academia" como parte de nuestro lema y nombre:
“Asociación de personas cuyo objeto es el cultivo y el progreso de las
artes, las letras, ciencia, tecnología, etc.”
![Page 5: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/5.jpg)
SensibilizaciónSorey García (@soreygarcia)
![Page 6: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/6.jpg)
El por qué de este taller
La ingeniería de software y la calidad
nos resultan temas apasionantes…
Ser humanamente responsable
nos resulta un reto
Intentar hacer las dos primeras sin la última
es claramente un despropósito
![Page 7: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/7.jpg)
Con este taller no pretendemos enseñarle a ser “humanamente
responsable”
Lo único que queremos es darle algunas ideas de “por qué
debería serlo” si se dedica usted al tema de
“hacer software”
![Page 8: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/8.jpg)
¿Qué es Ingeniería de Software?
Busquemos una definición
![Page 9: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/9.jpg)
La Ingeniería de Software es la aplicación práctica del conocimiento científico en el diseño y construcción
de programas de computadora y la documentación asociada requerida
para construirlos, operarlos y mantenerlos.
Bohem - 1976.
![Page 10: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/10.jpg)
Ingeniería del Software es el estudio de los principios y
metodologías para desarrollo y mantenimiento de sistemas de
software.
Zelkovitz - 1978
![Page 11: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/11.jpg)
La Ingeniería de Software es la aplicación de un enfoque
sistemático, disciplinado, y cuantificable al desarrollo,
operación, y mantenimiento del software.
IEEE - 1993.
![Page 12: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/12.jpg)
Ingeniería de software es la disciplina o área de la informática
que ofrece métodos y técnicas para desarrollar y mantener software de
calidad.
Wikipedia
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_del_software
![Page 13: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/13.jpg)
Todo eso parece un concepto muy
elevado para algo que parece ser tan simple como
“hacer software”
![Page 14: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/14.jpg)
Si, es cierto…
Es tan simple que puedes aprenderlo en internet, incluso trabajar en ello y ganar mucho más, que muchos de los que estudian física, matemáticas y ética…
![Page 15: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/15.jpg)
¡Ups!...
Un momento, nadie dijo que lo hicieras bien, solo que también
podías hacerlo, hacer lo simple…
y… ¿Por qué conformarse con eso?
![Page 16: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/16.jpg)
Quizá la Ingeniería de Software no tiene tantos años como la física, matemáticas o
arquitectura…
![Page 17: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/17.jpg)
Pero créanos, tampoco se la inventaron ayer…
![Page 18: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/18.jpg)
Se han preguntado alguna vez
¿Dónde hay software?
Para empezar a entender todo estohagamos una pequeña reflexión
![Page 19: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/19.jpg)
![Page 20: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/20.jpg)
![Page 21: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/21.jpg)
![Page 22: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/22.jpg)
![Page 23: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/23.jpg)
![Page 24: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/24.jpg)
![Page 25: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/25.jpg)
![Page 26: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/26.jpg)
¿Quién es un ingeniero de software?
En este taller, cuando hablamos de un ingeniero de software no
hablamos de un ingeniero titulado, hablamos de una persona involucrada
en el proceso de construcción de cualquier
producto de software…
¡Hablamos de usted!
![Page 27: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/27.jpg)
¿Lo duda?
Veamos que tanto lo involucra todo esto
Intente responder un par de preguntas típicas
![Page 28: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/28.jpg)
¿Iría en un viaje alrededor de la tierra en globo,
sabiendo que este esta controlado
por una computadora?
![Page 29: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/29.jpg)
¿Viajaría usted en un avión cuyo software ha sido construido por
usted?
![Page 30: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/30.jpg)
Si estas preguntas le producen un tanto de
risa o duda, lo invitamos a
replantearse…
El tema de que nuestra profesión sea un chiste, ha sido comparado con
este video:
¿Qué pasaría si los programadores construyeran
aviones?http://www.youtube.com/watch?v=UZq4sZz56qM
![Page 31: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/31.jpg)
Gracioso ¿No?
¡Pues NO!
No es gracioso que siendo un profesional tu trabajo sea tomado en broma…
El problema es
¿Qué pasa si nosotros mismos nos
tomamos nuestro trabajo en broma?
![Page 32: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/32.jpg)
Comparemos…
¿Dudan los enfermos del
corazón de sus médicos
cirujanos?
![Page 33: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/33.jpg)
¿Dudan los empresarios de los ingenieros civiles y
arquitectos que construyen sus
edificios?
![Page 34: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/34.jpg)
¿Dudan los acusados del abogado que defenderá su inocencia?
![Page 35: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/35.jpg)
¿Dudan las personas de los contadores que
les ayudan a llevar sus finanzas?
![Page 36: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/36.jpg)
¿Dudas de ti? ¿Dudas de tu equipo de
trabajo?
Esto es una invitación a cuestionarse
![Page 37: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/37.jpg)
La ingeniería de software es una idea casi ética (no solo ética) de como hacer el software de forma correcta (software de
calidad)
Aquí va una propuesta de una definición menos formal
![Page 38: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/38.jpg)
Y hacer las cosas bien, siempre va a requerir un poco más de esfuerzo, que hacerlas de
cualquier otro modo
No hacerlo, siempre va a tener consecuencias…
![Page 39: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/39.jpg)
¿Qué consecuencias?
¿Acaso en software no importa es básicamente que
funcione?
Veamos algunas respuestas a esa pregunta…
(Ojo, las siguientes imagenes son meramente ilustrativa, no todas pertenecen al hecho descrito)
![Page 40: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/40.jpg)
Therac-25 (1985 – 1987)
Era una máquina empleada en terapia de radiación, producida por Atomic Energy of Canada Limited, notoria por haber sido objeto del error de software, causando al menos seis accidentes y que le costó la vida al menos a cinco personas
![Page 41: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/41.jpg)
Mariner 1(28 de Julio de 1962)
Un guión en las instrucciones del programa de guiado del cohete provocó la desviación del Atlas y tuvo que enviarse un comando para su autodestrucción a los 4 minutos y 53 segundos de su lanzamiento
![Page 42: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/42.jpg)
Vuelo 501 del ARIANE-5
(4 de Junio de 1996)
Otro ejemplo documentado sobre el daño ocasionado por software mal
diseñado es el de la explosión de la lanzadera Ariane-5, cuando a 40
segundos después de la iniciación de la secuencia de vuelo, la
lanzadera se desvió de su ruta, se partió y explotó. En el proyecto global se invirtieron 10 años de
construcción y 7 mil millones de euros, lo que supuso un duro golpe
para la Agencia Espacial Europea (ESA)
http://www.youtube.com/watch?v=IONcgYzVFlg
![Page 43: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/43.jpg)
A-320 de Air France(26 de junio de 1988)
Durante una presentación en el meeting de Habsheim, cerca de
Mulhouse (Francia), un A-320 de Air France se estrella en el bosque, al
final de la pista. Habrá tres muertos y una centena de heridos.
Justo después, el mundo se pregunta las causas del accidente del avión anunciado como "el más
seguro del mundo".
Una de las causas se le atribuye a un error en el software de
navegación
http://www.youtube.com/watch?v=_EM0hDchVlY
![Page 44: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/44.jpg)
¿Qué tal las
respuestas?
¡Nada agradables si me permiten
decirles!
![Page 45: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/45.jpg)
Pues bien, aunque actualmente existen muchas personas que construyen
software con conocimiento empírico, tal como si fuera arte, lo que debe diferenciar un trabajo bien hecho
(profesional o empírico), es los métodos y la evidente forma de hacer el trabajo teniendo en mente la calidad de los
procesos ejecutados y de los productos desarrollados.
![Page 46: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/46.jpg)
Usemos otra analogía para entenderde que estamos hablando…
![Page 47: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/47.jpg)
Si una edificación fuera nuestro proyecto…
¿Qué necesitaríamos para construirlo?
![Page 48: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/48.jpg)
Veamos…
HerramientasPersonasTiempoDinero
RecursosEstrategia
![Page 49: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/49.jpg)
Parece intuitivo ¿No?
![Page 50: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/50.jpg)
Sin embargo sabemos que en realidad, es un poco más difícil de
lo que imaginamos
![Page 51: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/51.jpg)
Pues bien lo mismo sucede con la construcción de software…
Para desarrollar software existen una serie de roles asociados,
encargados de analizar, planificar y establecer, qué es lo que va a desarrollarse, cómo, con cuantos recursos, en cuanto tiempo e
incluso a que nivel de calidad, es lo que conocemos como el Proceso
Software
![Page 52: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/52.jpg)
El Proceso de Software es el conjunto de actividades que se realizan para la construcción, liberación y evolución de un
producto de software, comenzando con el estudio de una idea y finalizando con el retiro final
del sistema.
![Page 53: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/53.jpg)
Pressman
Actividades
PersonasHerramientas
Roles ArtefactosNotación
Practicas y Principios
Proceso de Software
![Page 54: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/54.jpg)
Proceso de SoftwareHernan Guzmán (@hernandgr)
![Page 55: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/55.jpg)
El ciclo de vida describe los estados por los que pasa un
producto de software, desde su concepción hasta su muerte.
Ciclo de Vida Clásico
![Page 56: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/56.jpg)
Análisis
Diseño
Construcción
Pruebas
Operación y Mantenimie
nto
Ciclo de Vida Clásico
![Page 57: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/57.jpg)
Existe una gran la variedad de propuestas de proceso de
software, sin embargo el conjunto de actividades fundamentales
definidas en el Ciclo de Vida Clásico se encuentran presentes
en todos ellos.
Conozcamos algunas…
![Page 58: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/58.jpg)
Métodologías Estructuradas
![Page 59: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/59.jpg)
RUP
![Page 60: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/60.jpg)
Microsoft
SolutionsFramework
MSF
![Page 61: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/61.jpg)
Métodologías Ágiles
![Page 62: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/62.jpg)
AUPSCRUMXP
Individuos e Interacciones
Software que funciona
Colaboración con el cliente
Responder ante el cambio
Procesos y herramientas
Documentación exhaustiva
Negociación de contratos
Seguimiento de un plan
sobre
sobre
sobre
sobre
Manifiesto Ágil
![Page 63: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/63.jpg)
No existe un proceso de desarrollo de software universal que sea
efectivo para todos los contextos de proyectos de desarrollo, de allí que sea necesario elegir cual de
ellos es más conveniente, teniendo en cuenta algunos criterios…
![Page 64: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/64.jpg)
Criterios de selección
![Page 65: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/65.jpg)
Complejidad
![Page 66: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/66.jpg)
Costo/Beneficio Económico
![Page 67: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/67.jpg)
Robustez del software
![Page 68: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/68.jpg)
Conocimiento disponible
![Page 69: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/69.jpg)
Roles del ProcesoHernan Guzmán (@hernandgr)
![Page 70: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/70.jpg)
El desarrollo de software es una actividad que, dada su complejidad, debe desarrollarse en grupo.
Además, esta actividad requiere de distintas capacidades, las que no se encuentran todas en
una sola persona. Por ello, se hace necesario formar el grupo de desarrollo con las personas que cubran todas las capacidades requeridas.
Cada una de esas personas aportará al grupo parte del total de las capacidades necesarias para llevar a
cabo con éxito el desarrollo.
![Page 71: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/71.jpg)
Con el tema de los
roles tampoco debemos permitir que nos suceda esto…
![Page 72: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/72.jpg)
Gerente de Proyectos
![Page 73: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/73.jpg)
Analista Funcional
![Page 74: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/74.jpg)
Arquitecto de Software
![Page 75: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/75.jpg)
Analista Diseñador
![Page 76: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/76.jpg)
Analista Programador
![Page 77: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/77.jpg)
Analista de Pruebas
![Page 78: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/78.jpg)
Revisor
parUsuari
o
Líder técnico
Otros Roles
![Page 79: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/79.jpg)
Dinámica Vivencial (Procesos y Roles)Orlando Contreras (@magicovercast)
![Page 80: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/80.jpg)
Dinámica de Grupos
• Se requieren 3 grupos de 4 personas cada uno
• Cada grupo recibirá unos materiales (hoja de números, resaltador, marcador y unas tijeras) y un conjunto de
instrucciones a seguir
• Cada grupo debe leer sus instrucciones en silencio y sin conversar entre los integrantes a menos que así lo indique la
hoja de instrucciones.
• Los equipos deben seguir la estrategia definida en la hoja de instrucciones sin modificarla, no debe copiarse la
estrategia de otro grupo.
• A la señal los equipos deben iniciar con las tareas que se estarán proyectando. La proyección no se devolverá.
Idea original de la dinámica: Luis Fernando Londoño
![Page 81: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/81.jpg)
El tema que tiene que ver con procesos es como el habito de comer, uno puede comer de dos maneras, bien o mal en ultima instancia el fin
"para muchas personas" es llenarse…
Uno puede comer comida sana o comida chatarra y vive, puede vivir con mas dificultades pero vive,
…
Sin embargo "el que se alimenta bien tiene más posibilidades de sobrevivir“
Luis Fernando Londoño
![Page 82: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/82.jpg)
Calidad de SoftwareCristian Aroca (@caroca315)
![Page 83: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/83.jpg)
¿Qué es calidad?
“Quality is Value to some person”
Gerald Weinberg
![Page 84: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/84.jpg)
¿Les ha ocurrido esto?
Lo sentimos por un error en el sistema, no podemos
darle la información que necesita. Por favor regrese
otro día…
![Page 85: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/85.jpg)
¿Nos tenemos que acostumbrar?
¿Qué están haciendo para
corregirlo?
¿Siempre vamos a vivir con estos
errores?
![Page 86: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/86.jpg)
“Cambiar la primera impresión es muy difícil”
“Perder la confianza es fácil, volverla a recuperar cuesta”
Dichos populares
![Page 87: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/87.jpg)
Portabilidad
Mantenibilidad
Eficiencia
Usabilidad
Confiabilidad
Funcionalidad
}ISO / IEC 9126
¿Cuáles son las características de calidad para productos de software?
![Page 88: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/88.jpg)
Funcionalidad
¿Las funciones y propiedades satisfacen las necesidades
explícitas e implícitas?
![Page 89: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/89.jpg)
Funcionalidad{Adecuación
Exactitud
Interoperabilidad
Conformidad
Seguridad
![Page 90: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/90.jpg)
Confiabilidad
¿Puede mantener el nivel de rendimiento, bajo
ciertas condiciones y por cierto tiempo?
![Page 91: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/91.jpg)
Confiabilidad{Nivel de Madurez
Tolerancia a Fallas
Recuperación
![Page 92: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/92.jpg)
Usabilidad¿El software es fácil de
usar y aprender?
![Page 93: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/93.jpg)
Usabilidad{Comprensibilidad
Facilidad para Aprender
Operabilidad
![Page 94: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/94.jpg)
Eficiencia¿Es rápido y minimalista en cuanto al uso de recursos?
![Page 95: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/95.jpg)
¿Cuáles son las características de calidad para productos de software?
Eficiencia{ Comportamiento con respecto al tiempo
Comportamiento con respecto a recursos
![Page 96: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/96.jpg)
Mantenibilidad
¿Es fácil de modificar y verificar?
![Page 97: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/97.jpg)
Mantenibilidad{Capacidad de Análisis
Capacidad de Modificación
Estabilidad
Facilidad de Pruebas
![Page 98: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/98.jpg)
Portabilidad
¿Es fácil de transferir de un sistema a otro?
![Page 99: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/99.jpg)
Portabilidad{Adaptabilidad
Facilidad de Instalación
Conformidad
Capacidad de Reemplazo
![Page 100: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/100.jpg)
Requirement Analysis Acceptance Testing
Coding Unit Testing
Module Design
Integration Testing
Architecture Design
System Design System Testing
¿Cómo mejoramos la calidad?
ProcesoPr
oduc
to
![Page 101: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/101.jpg)
ConclusionesLa calidad no se debe dejar para el final,
es una actividad transversal a todo el proceso
![Page 102: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/102.jpg)
Es muy valiosa la percepción del usuario, pues es quien trabaja y recibe nuestro producto.
Es común ver software hechos para quienes lo desarrollaron y no para quienes lo van a usar
Conclusiones
![Page 103: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/103.jpg)
El ser humano cuenta con una gran capacidad para crear hábitos.
Creemos hábitos para construir software con calidad
Conclusiones
![Page 104: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/104.jpg)
¿La ingeniería de software está en pañales?No tanto, ya existen muchos trabajos y
estudios en torno a ella, de nosotros depende su adopción, para que esta
disciplina siga madurando.
Conclusiones
![Page 105: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/105.jpg)
La calidad es exigida por
todas las partes.
Si la exigimos
debemos colaborar
con ella.
![Page 106: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/106.jpg)
Dinámica Vivencial (Calidad de Software)
Orlando Contreras (@magicovercast)
![Page 107: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/107.jpg)
¿Qué atributos de calidad tendrían los siguientes elementos?
Idea original de la dinámica: @betancurEstas imágenes son usadas con propósitos exclusivamente educativos
![Page 108: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/108.jpg)
Errores TípicosSorey García (@soreygarcia)
![Page 109: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/109.jpg)
Los principios y practicas que pueden seguirse en la Ingeniería de
Software, buscan garantizar un mejor resultado y uso de los
recursos
Pero, por alguna razón el comportamiento de los
proyectos no es “aún” el esperado…
![Page 110: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/110.jpg)
![Page 111: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/111.jpg)
¿Quién dice que siempre sale
mal?
A pues no, no siempre sale
mal…
Solo algunas veces
![Page 112: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/112.jpg)
Fuente: http://vidanp.wordpress.com/2010/02/01/estandares-de-medida/
CHAOS Report (Estudio de Resultado de Ejecución de los Proyectos de
Software)
![Page 113: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/113.jpg)
Seguimos cayendo en
los mismos errores
una y otra vez…
![Page 114: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/114.jpg)
Pues bien, muchos de estos errores son aducidos
principalmente a falta de planeación y buen análisis, cosa que tiene mucho sentido pero que sin embargo, no es la
única razón…
Como seres humanos involucrados en el Proceso de Software, cometemos
errores que de no ser corregidos a tiempo, van aumentando su costo y
consecuencias
![Page 115: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/115.jpg)
¿Qué errores se comenten?
![Page 116: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/116.jpg)
Falta de comunicación
![Page 117: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/117.jpg)
Ausencia de objetivos y metas claras durante la ejecución del proyecto
![Page 118: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/118.jpg)
Falta de planificación
![Page 119: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/119.jpg)
Falta de análisis y entendimiento de las necesidades del cliente
![Page 120: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/120.jpg)
Requisitos poco claros y falta de acceso a la información
![Page 121: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/121.jpg)
Mala estimaciónde tiempos
![Page 122: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/122.jpg)
Indefinición del alcance y las responsabilidades de las
partes
![Page 123: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/123.jpg)
Falta de identificación y gestión de los
riesgos
![Page 124: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/124.jpg)
Carencia de habilidades en la ejecución de un rol
![Page 125: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/125.jpg)
Falta de seguimiento al avance del proyecto
![Page 126: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/126.jpg)
Falta de control del presupuesto
![Page 127: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/127.jpg)
Recursos Insuficientes
![Page 128: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/128.jpg)
Tratar de construir sin tener una arquitectura definida
![Page 129: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/129.jpg)
Falta de conocimiento e interés en la aplicación de mejores
prácticas
![Page 130: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/130.jpg)
Hasta ahora hemos hablando de conceptos generales, en la primera
etapa, la etapa de análisis, hay muchas tareas por hacer…
Para poner manos a la obra empezaremos por una tarea muy importante, la identificación de
las necesidades del cliente
![Page 131: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/131.jpg)
Ingeniería de RequisitosSorey García (@soreygarcia)
![Page 132: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/132.jpg)
La ingeniería de software comprende una serie de actividades
lo suficientemente diversas como para poder considerar la necesidad
de otras ingenierías dentro de la propia Ingeniería de software, la
Ingeniería de Requisitos es una de ellas.
![Page 133: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/133.jpg)
Si, Ingeniería de Requisitos y NO
de
Requerimientos
![Page 134: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/134.jpg)
Un requisito por definición es: una condición necesaria para algo.
Podemos entenderlo en nuestro caso como un enunciado que identifica una capacidad,
característica o factor de calidad de un sistema con el fin de que tenga utilidad para un cliente o
usuario.
![Page 135: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/135.jpg)
¿Les ha ocurrido?¿De quien es el error?
![Page 136: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/136.jpg)
#OffTopic
¡Aquí otro ejemplo de problemas
en la definición
de requisitos!
![Page 137: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/137.jpg)
“La parte más difícil de construir de un sistema software es decidir qué construir. [..] Ninguna otra parte del trabajo afecta más negativamente al sistema final si se realiza de manera incorrecta. Ninguna otra parte es más difícil de rectificar después”
Roger S. Pressman
![Page 138: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/138.jpg)
“No se puede conocer la solución de un problema si
antes no se conoce el problema.”
Mirador - Monterrey, México 1994
![Page 139: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/139.jpg)
Importancia de los Requisitos
• Mostrar que resultados quieren los participantes
• Dar a los participantes oportunidad de decir que quieren
• Representar diferentes puntos de vista• Probar el diseño• Medir el progreso• Aceptar productos contra criterios precisos
![Page 140: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/140.jpg)
Elicitación de Requisitos
Especificación de todos los requisitos de un sistema, restricciones y condiciones definidas por los usuarios para el
correcto, eficiente, y eficaz funcionamiento del sistema a construir.
![Page 141: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/141.jpg)
Técnicas de Elicitación de Requisitos
Lectura de informaciónCuestionarios y encuestasObservaciónEntrevistasLluvia de Ideas JAD (Joint Application Design - Desarrollo
Conjunto de Aplicaciones) Modelos y/o prototipado Ingeniería reversa
![Page 142: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/142.jpg)
¿Quiénes debería estar involucrados?Clientes
Usuarios
AnalistasDirectoresde Proyecto
Desarrolladores Arquitectos
Reguladores Expertos
![Page 143: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/143.jpg)
Hay una serie de condiciones que debe cumplir un requisito, para
ser considerado un buen requisito
![Page 144: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/144.jpg)
Características de los Requisitos
Comprensible por Clientes y UsuariosCorrectoNo AmbiguoCompletoConsistenteVerificableRastreableAnotado con Importancia y Estabilidad Independiente del Diseño e
Implementación
![Page 145: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/145.jpg)
Hagamos un ejercicio, para empezar a practicar… ¡Juguemos!
![Page 146: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/146.jpg)
![Page 147: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/147.jpg)
¿Conocen el juego?
Si lo conocen, vamos a recordar, si no, vamos a aprender, ¡Como niños!
![Page 148: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/148.jpg)
Escaleras y Serpientes
• Esta es la “Especificación” que se da a un niño de 5 años para que participe en el juego.
– Los jugadores se sitúan en la casilla de salida. – Empieza a jugar quien mayor puntuación obtenga.– El turno avanza de derecha a izquierda.– Cada jugador lanza por turnos y avanza con su ficha
tantas casillas como puntos saque.– Si cae en una casilla situada al pie de las escaleras,
avanza hasta el final de la misma.– Si cae en la casilla ocupada por la cabeza de la
serpiente, retrocede hasta la cola.
![Page 149: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/149.jpg)
¿Todo está claro?
![Page 150: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/150.jpg)
![Page 151: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/151.jpg)
De acuerdo a la “Especificación”
• ¿Cual es el objetivo del juego?• ¿Cual es la casilla de salida?• ¿Cual es la ultima casilla?• ¿Con cuantos dados se juega?• Y es que, ¿Quién dijo que eran dados?• ¿Hacia que dirección se avanza?• ¿Cuantos jugadores pueden participar?• Si se para en la cabeza ¿Retrocede hasta la cola?
![Page 152: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/152.jpg)
¡Ouch!Lo mismo sucede con las especificaciones de
requisitos cuando son entregadas a los desarrolladores para que estos construyan los
sistemas.
Los desarrolladores no tienen la información suficiente para poder llevar a cabo bien su tarea, y si para colmo, cometen el error de suponer aquello
que no saben, tenemos un problema mayor.“El sentido común, el es menos común de los
sentidos”, y tiene una alta probabilidad de no coincidir con las necesidades de los usuarios.
![Page 153: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/153.jpg)
¿Lo intentamos?
Workshop de Requisitos
![Page 154: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/154.jpg)
Quedan muchos temas por aprender…
Análisis, Modelamiento, Diseño y Arquitectura, Mejores Practicas de Codificación, Integración Continua,
Pruebas de Software y más.
Esperamos haber sembrado en ustedes la inquietud de aprender mucho más sobre
Ingeniería de Software
![Page 155: Taller ingenieria de software](https://reader037.fdocuments.net/reader037/viewer/2022102705/54954690b479598d538b48df/html5/thumbnails/155.jpg)
¡Gracias!