1 Ingeniería del Software La última lección  Resumen del curso  Buenas prácticas  Malas prácticas  Conclusión.

Slides:



Advertisements
Presentaciones similares
Lic. Juan Gabriel Bernal López
Advertisements

EL PROCESO DE DESARROLLO DEL SOFTWARE
ingeniería de software
ANÁLISIS DE REQUERIMIENTOS
Introducción a la gestión de proyectos de software
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
Resolución de Problemas Algoritmos y Programación
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
Fundamentos de la Gestión de Proyectos
EL TRATO CLIENTE CON EL Autoras: Verónica López Patricia Castañeda.
Administración de Procesos de Pruebas
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
Profesor: Luigi Ceccaroni Curso FIB - UPC
HERRAMIENTAS CASE.
ITERASOFT. OBJETIVOS DEL GRUPO Producir un sistema Manejador de Itinerarios de alta calidad y confiabilidad Realizar un proyecto bien administrado y productivo.
Luis Fernando Hevia Rodríguez
YO EXPLICO, PERO ELLOS… ¿APRENDEN?
PROCESO DE DESARROLLO DE SOFTWARE
Ingenieria de software
PORQUE FRACASAN LAS EMPRESAS
Ciclo de Vida del Software Paradigmas de Desarrollo
Riesgos en Proyectos Informáticos
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Contexto Proyecto consolidado dentro de la línea de investigación de Sistemas de Información en el Dpto. de Ingeniería en Sistemas de Información de la.
Ciclo de Vida del Software
Ingeniería del Software
Ingeniería de Requerimiento
Ingeniería de Software
1 Riesgos en Proyectos Informáticos Objetivo: Identificar principales causales de riesgo de proyectos Luis Hevia.
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
INGENIERÍA DE SOFTWARE
Tema 1: Introducción a la Ingeniería de Software
Introducción a las pruebas del software.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
SUBTEMA 2.4 FUNDAMENTOS DE DESARROLLO DE SISTEMAS
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Material didáctico El material didáctico se refiere a aquellos medios y recursos que facilitan la enseñanza y el aprendizaje, dentro de un contexto educativo,
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
Medición y Métricas del Software
Desarrollo de Software II Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto - Diciembre 2008 Ing. Oswaldo Solarte Pabón.
GESTION DE PROYECTOS INFORMATICOS Clase I I I
Departamento de Medicina Preventiva y Social, Facultad de Medicina Sociedad Uruguaya de Informática en la Salud (SUIS) Curso Introductorio a los Sistemas.
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
Factores y Métricas que determinan la Calidad de un producto
Capitulo 1 Roger S. Presman
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Conceptos sobre GESTIÓN DE PROYECTOS
CMM.
Introducción al proceso de verificación y validación.
¿Qué es el diseño grafico?
Introducción El Testing es una actividad compleja por múltiples motivos. Las aplicaciones de software en sí son cada vez más flexibles, con diversos propósitos,
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Análisis y Diseño de Sistemas Cuatrimestre: 3 Página 1 de 6.
problemas de la calidad del software
“ NO HAY NADA MÁS DIFÍCIL DE CONSEGUIR, MÁS ARRIESGADO DE MANTENER NI MÁS INSEGURO DE TENER ÉXITO, QUE ESTAR A LA CABEZA EN LA INTRODUCCIÓN DE UN.
Mejores Prácticas para el Desarrollo de Software Omar de Jesús Rosales Hernández.
Mata Moran Mireya Gabriela Alejandra
INGENIERIA DE SOFTWARE
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
LILIANA JIMENEZ GARCIA FERANANDO CANO GOMEZ. El proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema es llamado Ingeniería.
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Fundamentos de Computación
Las fases del ciclo de la vida de desarrollo de sistemas
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Sistemas de calidad en el desarrollo de software.
GESTIÓN DE PROYECTOS.
Ingeniería del Software 2013/2014.  Integrantes del proyecto  Ámbito del proyecto  Arquitectura adoptada  Principal trabajo realizado en el proyecto.
Transcripción de la presentación:

1 Ingeniería del Software La última lección  Resumen del curso  Buenas prácticas  Malas prácticas  Conclusión

2 Ingeniería del Software Objetivos  Mostrar las técnicas básicas para planificar, gestionar y desarrollar productos de software complejos (Proyectos Informáticos, Sistemas de Información) de gran tamaño.  Dominar el proceso y las herramientas de análisis, diseño, implementación y pruebas de software orientado a objetos (PUD, UML).  Aplicación práctica a un problema real.  Un mensaje básico: en cada ámbito, una buena organización es necesaria si queremos producir software de calidad (eficaz, eficiente, robusto, etc.) rápidamente.

3 Ingeniería del Software Temario  Planificación y Gestión de proyectos  Análisis y diseño de Sistemas de Información  Implementación y pruebas

4 Ingeniería del Software El Proyecto  El proyecto lo realiza un equipo de 6 personas  Tiene un peso del 50% de la nota final.  El proyecto consiste en planificar, analizar, diseñar, construir, probar y entregar un producto software.  EL objetivo del proyecto es enseñar qué puede ir mal en el desarrollo de un proyecto informático (de la manera más dura!).

5 Ingeniería del Software La motivación  El desarrollo de software frecuentemente va mal. Mal significa:  TARDE (nunca se cumplen los plazos)  CARO (por encima del presupuesto)  INEFICACES (no consiguen lo que se pretendía)  causan STRESS (al informático y al cliente!)  Se ha estimado que el 15% de los proyectos informáticos se anulan antes de terminarse. Este número crece al 25% de los proyectos que requieren más de 25 años/persona.

6 Ingeniería del Software La motivación  Por qué desarrollar software es tan difícil?  El software es:  siempre nuevo (si no queda obsoleto)  cada vez más complejo (cómo se gestiona la complejidad?)  difícil de controlar y verificar (poco robusto)  desarrollado básicamente de forma artesanal (la mayor parte del coste del desarrollo de un SI es en personal!)  desarrollado básicamente a medida (casuística)  Entre el % de los costes en software se invierten en modificaciones

7 Ingeniería del Software Las soluciones  Lenguajes de alto nivel  Programación estructurada  Diseño modular  Métodos formales  Tipos Abstractos de Datos  Programación Orientada a objetos  Programación lógica, funcional, etc.  Lenguajes de 4 generación  Entornos visuales de desarrollo,...

8 Ingeniería del Software Buenas prácticas  No hay varita mágica (una solución única)  Nuestro mejor aliado será analizar y comprender la diferencia entre buenos y malos proyectos, descubrir cuáles son las buenas prácticas y adoptarlas.  En otras palabras, debemos aplicar el “sentido común”:  Estar atentos al proceso de desarrollo  Adoptar estándares para la documentación, codificación, etc.  Aprender de los errores (preferiblemente de otra gente!)

9 Ingeniería del Software Malas prácticas  Seguro que aprendemos más equivocándonos!  Es mucho mejor aprender de las “malas prácticas”  Las malas prácticas son aquellas que nos llevan al desastre!  Preguntaros si alguna de éstas cosas pasan en vuestro grupo...

10 Ingeniería del Software Errores sobre la gente  Personal poco preparado: si el personal no es bueno, el proyecto tampoco. Mejor esperar y buscar al personal adecuado. Autoformación y formación en la empresa.  Falta de motivación: la falta de motivación destruye los proyectos. Cómo aumentar la motivación del personal?  Falta de compromiso: todo el mundo debe conocer su funcionalidad y sus responsabilidades!

11 Ingeniería del Software Errores sobre la gente  Mala distribución de la carga entre el personal: el trabajo debe distribuirse racionalmente. Nadie debe ser imprescindible!  El empleado acaparador “ni come, ni deja comer”  Nadie es infalible  Creer en las heroicidades: los esfuerzos sobrehumanos (normalmente de última hora) producen supercatástrofes.  Añadir más gente a proyectos retrasados: un clásico. Mejor rehacer la planificación y posponer la entrega! Si no, los miembros del equipo además perderán su “valioso” tiempo para ayudar a los nuevos!

12 Ingeniería del Software Errores sobre la gente  Falta de sintonía entre clientes y desarrolladores!  El cliente piensa que el desarrollador no trabaja suficiente  Los desarrolladores piensan que el cliente no sabe lo que quiere, no se aclara o exige demasiado  El PUD exige una MUY BUENA comunicación entre usuarios y desarrolladores!  Expectativas poco realistas: la mejor manera de deprimir al equipo y entregar un producto de baja calidad! Valorar la capacidad del equipo es la tarea más difícil!  Pensar que todo se solucionará por si sólo (otro del equipo ya se encargará de arreglarlo...)

13 Ingeniería del Software Errores sobre el proceso  Plan deficiente (o irreal): otro clásico. No tener un plan suficientemente detallado, que nos indique dónde estamos y cuantos recursos hemos consumido  Abandonar el plan: Nunca! En todo caso, mejorarlo!  No coger al toro por los cuernos: al principio del proyecto nadie sabe qué debe hacerse. No podemos perder tiempo pensando en términos difusos. Manos a la obra cuanto antes!  El código es lo único que importa (y que ejecute, claro): otro clásico. Creer que el tiempo de análisis de requisitos, diseño, control del desarrollo, entrevistas con los usuarios, etc. es tiempo perdido (o no lo tomamos en serio)

14 Ingeniería del Software Errores sobre el producto  Requerimientos nuevos: podemos perder mucha energía, tiempo y dinero añadiendo nuevas funcionalidades no previstas inicialmente y que el usuario nunca va a entender!  Pensar que es un producto acabado cuando lo terminamos (y que no tiene errores!)  Huida hacia delante: otro clásico. Si vamos mal de tiempo, por que no añadir unas nuevas funcionalidades...

15 Ingeniería del Software Errores sobre la tecnología  El síndrome de la “panacea”. Que la programación no va bien? Pues usemos un lenguaje de alto nivel. Ah, ya lo hacéis, pues uno OO. Con eso es imposible ir mal. Ah, que ya lo usáis... Pues probar con una herramienta CASE, eso solucionará todos nuestros problemas... eso dice en la caja!  Ninguna herramienta o método, por si sola, resuelve nada. Este error es aún peor a mitad de proyecto!  Sobreestimar el ahorro que producirá una nueva tecnología!  Falta de control automático sobre el código fuente!

16 Ingeniería del Software Conclusión  El desarrollo de SI es un proceso “artesanal” sumamente complejo. Todos los errores descritos pueden ser transcendentes!... y no existe la “varita mágica”.  Las “buenas prácticas” sólo reducen el riesgo de encontrarnos con problemas realmente serios!  Cómo va el proyecto? Pues la vida real no tiene por que ser mejor!