|
|
Línea 1: |
Línea 1: |
− | <center>'''CONCEPTOS GENERALES PARA EL DESARROLLO DEL SOFTWARE'''</center> | + | {{#widget:Slides}} |
| + | {{MiTitulo| Introdcción a la ingeniería del sofwtware}} |
| + | <div class="slides layout-regular template-default"> |
| + | <div class="slide"> |
| + | = CONCEPTOS GENERALES PARA EL DESARROLLO DEL SOFTWARE = |
| + | == Definiciones == |
| + | === Software (Pressman): === |
| + | * '''Instrucciones''' que cuando se ejecutan proporcionan la función y el comportamiento deseado. |
| + | * '''Estructuras de datos''' que facilitan a los programas manipular adecuadamente la información |
| + | * '''Documentos''' que describen la operación y el uso de los programas |
| | | |
− | <center>'''Definiciones'''</center>
| + | Una definición más enfocada a un software estructurado que orientado a objetos |
| | | |
− | : Software (Pressman):
| + | Nos da una idea de la naturaleza lógica del software |
− | : Instrucciones que cuando se ejecutan proporcionan la función y el comportamiento deseado.
| + | |
− | : Estructuras de datos que facilitan a los programas manipular adecuadamente la información
| + | |
− | : Documentos que describen la operación y el uso de los programas
| + | |
| | | |
− | <center>'''TIPOS DE SOFTWARE'''</center>
| + | No recalca la importancia de la '''documentación''' aparentemente no necesaria para que el software funcione |
| | | |
− | : S. DE SISTEMAS
| + | ¿Por qué crees que es importante la documentación en el software? |
− | : Sirven de herramienta para otros software
| + | </div > |
− | : Ej.: S.O., Compiladores, Interpretes, CASE, Editores complejos …)
| + | <div class="slide"> |
− | : Tienen una fuerte interacción con el hard del ordenador
| + | == TIPOS DE SOFTWARE == |
− | : S. DE TIEMPO REAL
| + | El software automatiza tareas de diferente naturaleza. |
− | : Conjunto de programas que mide analiza y controla sucesos del mundo real a medida que ocurren.
| + | |
− | : Ej. Aplicaciones de control de maquinaria
| + | |
− | : S. DE INGENIERÍA Y CIENTÍFICO
| + | |
− | : Utilizan algoritmos de manejo de números.
| + | |
− | : Muy pesados en cuanto a cálculos
| + | |
− | : Aplicaciones en Astronomía Meteorología, Biología molecular.
| + | |
− | : Toma características de Tiempo Real.
| + | |
| | | |
− | <center>'''… TIPOS DE SOFTWARE'''</center> | + | Es muy intuitivo pensar que no requerirá las mismas necesidades un software que hace que salte un airbag de un coche donde es tiempo de respuesta debe de ser instantáneo (un segundo puede ser vital), que un software que se encarga de imprimir una nóminas donde ese requisito temporal carece de importancia (no importa que tarde 2 segundos en responder el sistema). |
| + | |
| + | Por poner algunos ejemplos de tipos de software |
| + | |
| + | * S. DE SISTEMAS |
| + | * Sirven de herramienta para otros software |
| + | * Ej.: S.O., Compiladores, Interpretes, CASE, Editores complejos …) |
| + | * Tienen una fuerte interacción con el hard del ordenador |
| + | * S. DE TIEMPO REAL |
| + | * Conjunto de programas que mide analiza y controla sucesos del mundo real a medida que ocurren. |
| + | * Ej. Aplicaciones de control de maquinaria |
| + | </div > |
| + | <div class="slide"> |
| + | |
| + | * S. DE INGENIERÍA Y CIENTÍFICO |
| + | * Utilizan algoritmos de manejo de números. |
| + | * Muy pesados en cuanto a cálculos |
| + | * Aplicaciones en Astronomía Meteorología, Biología molecular. |
| + | * Toma características de Tiempo Real. |
| + | |
| + | * S. EMPOTRADO (FIRMWARE) |
| + | * Reside en ROM, |
| + | * Se utiliza para controlar productos de sistemas de los mercados |
| + | * Sistemas que suelen ''correr'' en microcontroladores |
| | | |
− | : S. EMPOTRADO (FIRMWARE)
| |
− | : Reside en ROM,
| |
− | : Se utiliza para controlar productos de sistemas de los mercados
| |
− | : Sistemas que suelen ''correr'' en microcontroladores
| |
| : SOFTWARE DE PC’S | | : SOFTWARE DE PC’S |
− | : Como Procesadores de texto, hojas de cálculo, GBD
| + | |
− | : Software diseñado para ''masas ''y claramente de propósito general
| + | * Como Procesadores de texto, hojas de cálculo, GBD |
| + | * Software diseñado para ''masas ''y claramente de propósito general |
| + | </div > |
| + | <div class="slide"> |
| + | |
| : SOFTWARE DE INTELIGENCIA ARTIFICIAL | | : SOFTWARE DE INTELIGENCIA ARTIFICIAL |
− | : Algoritmos no numéricos para resolver problemas complejos.
| |
− | : Aplican razonamiento para llegar a conclusiones a partir de alguna premisa.
| |
| | | |
− | <center>'''… TIPOS DE SOFTWARE'''</center>
| + | * Algoritmos no numéricos para resolver problemas complejos. |
| + | * Aplican razonamiento para llegar a conclusiones a partir de alguna premisa. |
| | | |
| : SOFTWARE DE GESTIÓN | | : SOFTWARE DE GESTIÓN |
− | : Realiza tareas de procesamientos de datos y operaciones de cálculo interactivo.
| |
− | : Trabajan con gran cantidad de información y permite automatizar gran parte de procesos en las empresas.
| |
− | : Los sistemas de información de gestión, suelen acceder a grandes bases de datos que contienen información comercial
| |
− | : Estas aplicaciones reestructuran los datos existentes:
| |
− | : Para facilitar las operaciones comerciales
| |
− | : Para gestionar la toma de decisiones
| |
− | : Además de las tareas convencionales de procesamiento de datos (Aplicaciones por lotes), las aplicaciones de gestión, también realizan cálculo interactivo,
| |
| | | |
− | <center>'''CARACTERÍSTICAS DEL SOFTWARE'''</center> | + | * Realiza tareas de procesamientos de datos y operaciones de cálculo interactivo. |
| + | * Trabajan con gran cantidad de información y permite automatizar gran parte de procesos en las empresas. |
| + | * Los sistemas de información de gestión, suelen acceder a grandes bases de datos que contienen información comercial |
| + | * Estas aplicaciones reestructuran los datos existentes: |
| + | * Para facilitar las operaciones comerciales |
| + | * Para gestionar la toma de decisiones |
| + | * Además de las tareas convencionales de procesamiento de datos (Aplicaciones por lotes), las aplicaciones de gestión, también realizan cálculo interactivo, |
| + | </div > |
| + | <div class="slide"> |
| | | |
| + | == CARACTERÍSTICAS DEL SOFTWARE == |
| : Se desarrolla, no se fabrica | | : Se desarrolla, no se fabrica |
| : No se estropea, pero se deteriora (su naturaleza no física) | | : No se estropea, pero se deteriora (su naturaleza no física) |
| : Se construye a medida, en vez de ensamblar componentes existentes. (Idea que se intenta cambiar) | | : Se construye a medida, en vez de ensamblar componentes existentes. (Idea que se intenta cambiar) |
− | | + | </div > |
− | <center>'''CURVA DE FALLOS SOFT/HARD'''</center> | + | <div class="slide"> |
− | | + | |
− | <center>'''LOS PROBLEMAS DEL SOFTWARE'''</center> | + | |
− | | + | |
− | : En Resumen:
| + | |
− | : Planificación y estimación de costes imprecisos
| + | |
− | : Productividad no sintonizada con exigencias
| + | |
− | : Calidad muchas veces inaceptables
| + | |
− | : Todo esto desencadena
| + | |
− | : <center>'''Crisis del software.'''</center>
| + | |
− | : La solución a la crisis
| + | |
− | : <center>'''Aplicar Ingeniería en el Software'''</center>
| + | |
− | | + | |
− | <center>'''COMPLEJIDAD DEL SOFTWARE'''</center>
| + | |
− | | + | |
− | : 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), …
| + | |
− | | + | |
− | <center>'''CARACTERÍSTICAS DE UN BUEN SOFTWARE'''</center>
| + | |
− | | + | |
− | <center>'''CRISIS DEL SOFTWARE'''</center>
| + | |
− | | + | |
− | : 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
| + | |
− | | + | |
− | <center>'''... MITOS DEL SOFTWARE : Cliente.'''</center>
| + | |
− | | + | |
− | : Una declaración inicial de objetivos es suficiente para empezar a escribir programas. Ya detallaremos más adelante.
| + | |
− | : Los requisitos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente, porque el software es flexible.
| + | |
− | | + | |
− | <center>'''... MITOS DEL SOFTWARE: Desarrollador'''</center>
| + | |
− | | + | |
− | : 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.
| + | |
− | | + | |
− | <center>'''SOLUCIÓN A LA CRISIS DEL SOFTWARE'''</center>
| + | |
− | | + | |
− | <center>'''INGENIERÍA DEL SOFTWARE ...'''</center>
| + | |
− | | + | |
− | : Def. deFrits Bauer (1969)
| + | |
− | : <center>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</center>
| + | |
− | | + | |
− | <center>'''… INGENIERÍA DEL SOFTWARE'''</center>
| + | |
− | | + | |
− | : 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.
| + | |
− | : 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.
| + | |
− | | + | |
− | <center>'''OBJETIVOS DE LA INGENIERÍA DEL SOFTWARE'''</center>
| + | |
− | | + | |
− | : La I. del S. persigue la producción de sistemas de calidad, a bajo coste y a tiempo
| + | |
− | | + | |
− | <center>'''DEFINICIÓN PRÁCTICA DE I.S.'''</center>
| + | |
− | | + | |
− | <center>'''MÉTODOS (Técnica)'''</center>
| + | |
− | | + | |
− | : Conjunto de tareas y actividades detalladas que hay que seguir para desarrollar un software
| + | |
− | : 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
| + | |
− | | + | |
− | <center>'''HERRAMIENTAS'''</center>
| + | |
− | | + | |
− | : Constituyen un soporte más o menos automatizado para desarrollar las tareas de los métodos
| + | |
− | : CASE (Computer Aided Software Engineering)
| + | |
− | : 1.- Conjunto de herramientas integradas ...
| + | |
− | : 2.- de forma que la información creada por una herramienta puede ser usada por otra, ...
| + | |
− | : 3.- 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
| + | |
− | | + | |
− | <center>'''CICLO DE VIDA. INTRODUCCIÓN'''</center>
| + | |
− | | + | |
− | <center>CICLO DE VIDA: DEFINICIÓN COLOQUIAL</center>
| + | |
− | | + | |
− | : 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
| + | |
− | | + | |
− | <center>CICLO DE VIDA DEFINICIONES</center>
| + | |
− | | + | |
− | <center>'''MODELO EN CASCADA'''</center>
| + | |
− | | + | |
− | <center>'''Conceptos'''</center>
| + | |
− | | + | |
− | <center>'''Definición'''</center>
| + | |
− | | + | |
− | : Más que definición una idea general
| + | |
− | | + | |
− | <center>'''Por Qué Una Metodología'''</center>
| + | |
− | | + | |
− | : 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'''
| + | |
− | | + | |
− | | + | |
− | <center>CONCEPTOS DE BASES DE DATOS</center>
| + | |
− | | + | |
− | <center>CICLO DE VIDA DEFINICIONES</center>
| + | |
− | | + | |
− | <center>BASES DE DATOS</center>
| + | |
− | | + | |
− | <center>BASES DE DATOS: Análisis</center>
| + | |
− | | + | |
− | <center>BASES DE DATOS: Diagrama entidad Relación</center>
| + | |