Diferencia entre revisiones de «Usuario:ManuelRomero/isConceptoBasicos»
De WikiEducator
(12 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
+ | {{TEP}} | ||
+ | {{:Usuario:ManuelRomero/CursoJavaUml/IS/nav}} | ||
{{#widget:Slides}} | {{#widget:Slides}} | ||
{{MiTitulo| Introducción a la Ingeniería del Software}} | {{MiTitulo| Introducción a la Ingeniería del Software}} | ||
Línea 112: | Línea 114: | ||
*Esta pérdida de va sumando a nuevas modificaciones según vemos en el diagrama | *Esta pérdida de va sumando a nuevas modificaciones según vemos en el diagrama | ||
[[Archivo:Soft_evolucion_tiempo_real.png ]] | [[Archivo:Soft_evolucion_tiempo_real.png ]] | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | = LOS PROBLEMAS DEL SOFTWARE = | ||
+ | ===ALGUNAS CIRCUNSTANCIAS ASOCIADAS AL SOFTWARE=== | ||
+ | *Son muchos los problemas que se le asocian al software | ||
+ | *Mas que problemas son limitaciones ligadas a su naturaleza lógica | ||
+ | *Limitaciones humanas no del software | ||
+ | #El software, no es capaz de crecer al ritmo del hardware | ||
+ | #Plazos de entrega inaceptables | ||
+ | ##Todo el mundo quiere sus aplicaciones para ayer | ||
+ | ##La gente tiene miedo a que cuando se terminen queden obsoletas | ||
+ | ##Retrasos no previstos | ||
+ | #Difícil mantenimiento | ||
+ | ##Mal diseño | ||
+ | ##Mala utilización de recursos | ||
+ | ##Software no acorde con los requisitos previamente establecidos | ||
+ | ##Errores en los programas | ||
+ | #Otros | ||
+ | ##Poca sensibilidad a los errores externos | ||
+ | #Errores humanos | ||
+ | #Dificultad de puesta en marcha | ||
+ | #Desbordamiento de costes | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
=== LOS PROBLEMAS DEL SOFTWARE === | === LOS PROBLEMAS DEL SOFTWARE === | ||
− | + | *En Resumen podríamos afirmar que el software: | |
+ | **'''Planificación y estimación de costes imprecisos''' | ||
+ | **'''Productividad no sintonizada con exigencias''' | ||
+ | **'''Calidad muchas veces inaceptables''' | ||
+ | ''''Todo esto desencadena'''' | ||
+ | '''Crisis del software. Es un concepto en el cual aún podemos decir que estamos inmersos''' | ||
+ | ''''La solución a la crisis'''' | ||
+ | '''Aplicar Ingeniería en el Software''' | ||
+ | </div> | ||
− | + | === COMPLEJIDAD DEL SOFTWARE === | |
+ | * La ''complejidad del software'' es una propiedad '''esencial''', no una propiedad accidental | ||
+ | ; Motivos por los que el soft es complejo | ||
+ | :Es complejo definir el dominio del problema | ||
+ | :Cliente, Desarrollador | ||
+ | :Gestionar el proceso de desarrollo | ||
+ | :Acabar en el plazo | ||
+ | :No sobrepasar costos | ||
+ | :Asumir riesgos | ||
+ | :El desarrollo del Soft, ha de ser flexible | ||
+ | :Abstracción (imaginación), ... | ||
+ | [[Archivo:soft_complejidad.png]] | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | === CRISIS DEL SOFTWARE === | ||
+ | * Más que crisis, enfermedad degenerativa | ||
+ | # Causas que lo ocasionan | ||
+ | ## Software es elemento lógico, no físico ( su naturaleza no comprendida) | ||
+ | ## Responsable de desarrollo soft sin conocimientos soft | ||
+ | ## Anarquía del programador artesano | ||
+ | ## Resistencia al cambio | ||
+ | # Soluciones | ||
+ | ## Enfocar el software como una ingeniería | ||
+ | ## Mejorar continuamente técnicas y herramientas | ||
+ | </div> | ||
− | + | <div class="slide"> | |
− | + | = MITOS DEL SOFTWARE= | |
+ | *Mas que mitos son situaciones que se pueden producir | ||
+ | *Identificamos tres roles | ||
+ | #El rol cliente es quien solicita el software | ||
+ | #El rol desarrollador quien va desarrollarloç | ||
+ | #El rol gerente quien coordina al equipo de desarrollador | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | ===MITOS DEL SOFTWARE: Cliente === | ||
+ | * Una declaración inicial de objetivos es suficiente | ||
+ | **De esta forma ya podemos empezar a escribir programas. | ||
+ | **Mas adelante ya detallaremos con más profundidad . | ||
+ | * Los requisitos del proyecto cambian continuamente | ||
+ | **Esto no supone ningún problema, los cambios pueden acomodarse fácilmente | ||
+ | **Esto es así porque el software es flexible. | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | === MITOS DEL SOFTWARE: Desarrollador === | ||
+ | * Una vez que escribimos el programa y hacemos que funcione, se acabó el trabajo | ||
+ | * No podemeos comprobar la calidad hasta que el programa se ejecuta | ||
+ | * Lo que se entrega al terminar el proyecto es el programa funcionando. | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | === MITOS DEL SOFTWARE: Gerente === | ||
+ | * YA tengo los equipos más moderno y las últimas versiones de sistemas de desarrollo | ||
+ | * Si vamos retrasados incorporo más personas al proyecto y así termino antes | ||
+ | </div> | ||
− | + | <div class="slide"> | |
+ | =LA INGENIERÍA DEL SOFTWARE= | ||
+ | === SOLUCIÓN A LA CRISIS DEL SOFTWARE: INGENIERÍA DEL SOFTWARE. DEFINICIONES === | ||
+ | *Lo que se ha demostrado que hay que hacer es desarrollar software con una organización | ||
+ | *No se puede empezar sin más a escribir código | ||
+ | *Hay que aplicar la ingeniería al desarrollo de software | ||
+ | {{Definicion|''Ingeniería de software''(deFrits Bauer (1969)):'''Establecimiento y uso de principios de ingeniería robustos, orientados a obtener software económico que sea fiable y funcione de manera eficiente sobre máquinas reales'''}} | ||
− | + | {{Definicion|''Ingeniería de software'' '''El IEEE lo define''': ''Ingeniería es la aplicación de un método sistemático, estructurado y cuantificable a estructuras, máquinas, productos, sistemas o procesos.''}} | |
− | + | {{Definicion|'''Ingeniería del software es la aplicación de un método sistemático, estructurado y cuantificable al desarrollo, operación y mantenimiento de software.'''}} | |
+ | </div> | ||
− | + | <div class="slide"> | |
− | == | + | === OBJETIVOS DE LA INGENIERÍA DEL SOFTWARE === |
− | + | * ''La Ingeniería del software'' persigue la producción de sistemas de '''calidad''', a '''bajo coste''' y a '''tiempo''' | |
+ | [[Archivo:objetivos_is.png]] | ||
+ | </div> | ||
− | + | <div class="slide"> | |
− | + | === INGENIERÍA DEL SOFTWARE Y METODOLOGÍAS === | |
− | + | <br/> | |
− | + | {{Definicion| A nivel práctico podemos decier que ingeniería del software es '''Conjunto de tareas y actividades detalladas que hay que seguir para desarrollar un software'''. ''Un conjunto de métodos organizados y estructurados constituyen la idea de '''metodología''' ''}} | |
− | + | *Una metodología incluye tareas como | |
− | + | # Planificación y estimación | |
− | + | # Análisis de requisitos | |
− | + | # Diseño de estructuras de datos, arquitectura de programas y procedimientos algorítmico | |
+ | # Codificación | ||
+ | # Pruebas | ||
+ | # Mantenimiento | ||
+ | </div> | ||
+ | <div class="slide"> | ||
− | + | ===HERRAMIENTAS=== | |
− | + | * Constituyen un soporte más o menos automatizado para desarrollar las tareas de los métodos | |
− | + | * CASE (Computer Aided Software Engineering) | |
− | + | #Conjunto de herramientas integradas .. | |
− | + | #de forma que la información creada por una herramienta puede ser usada por otra, ... | |
− | + | # estableciéndose un sistema para el soporte del desarrollo del software. | |
− | + | * El CASE lo que hace | |
− | + | # Integrar información | |
− | + | # Facilitar técnicas para el desarrollo del proyecto | |
− | + | *Ejemplos | |
− | + | ''Rational Rose'' ''Argo UML'' | |
− | + | </div> | |
− | + | <div class="slide"> | |
− | == | + | ===METODOLOGÍA === |
− | + | *Es importante seguir algún criterio para realizar un software | |
− | + | *Tengo que hacer un desarrollo ¿Por donde emiezo? | |
− | + | *La solución es usar una metodología | |
− | + | *Me indicará | |
− | + | # Etapas de un proyecto | |
− | + | # Tareas por etapa | |
− | + | # Salidas de cada tarea | |
− | + | # Restricciones que se aplican | |
− | + | # Herramientas a utilizar | |
− | + | # En definitiva me indica cómo | |
− | + | '''Se gestiona, controla y realiza un proyecto''' | |
− | + | una metodología es la ayuda que tengo para conseguir un objetivo | |
− | + | [[Archivo:Simil_metodología.png]] | |
− | + | </div> | |
− | + | <div class="slide"> | |
− | + | === CICLO DE VIDA. DEFINICIÓN COLOQUIAL === | |
− | + | * Sucesión de pasos a través de los cuales el producto software va progresando. | |
− | + | * Estos abarcan desde el planteamiento del problema a resolver mediante el producto software, | |
− | + | * hasta la retirada de dicho producto una vez que ha finalizado su vida operativa | |
− | + | [[Archivo:soft_ciclo_vida.png]] | |
− | + | </div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == CICLO DE VIDA. DEFINICIÓN COLOQUIAL == | + | |
− | + | ||
− | + | ||
− | + |
Última revisión de 04:18 3 feb 2015
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |