El producto y el proceso

1,556 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,556
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

El producto y el proceso

  1. 1. EL PRODUCTO <ul><li>El software es actualmente la herramienta fundamental del siglo 21. </li></ul><ul><li>Se lo encuentra desde la educación elemental a la ingeniería genética. </li></ul><ul><ul><li>Conduce la toma de decisiones comerciales. </li></ul></ul><ul><ul><li>Investigación científica moderna. </li></ul></ul><ul><ul><li>Resolución de problemas de ingeniería. </li></ul></ul><ul><ul><li>Hace la diferencia entre productos y servicios modernos. </li></ul></ul><ul><ul><li>Esta en todo: </li></ul></ul><ul><ul><ul><li>transportes, medicina, telecomunicaciones, militares, procesos </li></ul></ul></ul><ul><ul><ul><li>industriales, entretenimientos, productos de oficina, etc. </li></ul></ul></ul><ul><ul><li>El software entrega el producto más importante del siglo 21 </li></ul></ul><ul><ul><li>… LA INFORMACION </li></ul></ul>
  2. 2. EL PRODUCTO <ul><li>La comunidad del software intenta desarrollar tecnologías que hagan: más sencillo, más rápido y menos costoso la construcción de programas de computadora buscando alta calidad. </li></ul><ul><li>Ingeniería del software es la tecnología que comprende: </li></ul><ul><ul><li>Procesos. </li></ul></ul><ul><ul><li>Métodos. </li></ul></ul><ul><ul><li>Herramientas. </li></ul></ul><ul><li>Cuando se construye hardware el proceso creativo (Análisis, diseño, construcción, prueba) que da como resultado alguna forma física. </li></ul><ul><li>El software es un elemento lógico por eso tiene características distintas a la del hardware. </li></ul><ul><li>Es un elemento intangible, sin embargo existe. </li></ul>
  3. 3. Características del software <ul><li>El software se desarrolla, no se fabrica en un sentido clásico. </li></ul><ul><li>El software no se estropea; pero se deteriora. </li></ul><ul><li>Aunque la industria tiende a ensamblar componentes, la mayoría de software se construye a medida. </li></ul>
  4. 4. <ul><li>Curva de Fallos del Hardware </li></ul>Tiempo Indice de Fallos
  5. 5. <ul><li>Curva de Fallos del Software </li></ul>Tiempo Indice de Fallos Curva Ideal Cambio Curva Real Incremento del índice de fallos por defectos introducido debido a cambios
  6. 6. APLICACIONES DEL SOFTWARE <ul><li>El software puede aplicarse en cualquier situación en la que se haya definido previamente un conjunto específico de pasos procedimentales (algoritmos). </li></ul><ul><li>El contenido de la información y el determinismo de la información son los aspectos que establecen la naturaleza de la aplicación del software. </li></ul><ul><li>Contenido de la información es el significado y la forma de información de entrada y salida. </li></ul><ul><li>Determinismo de la información es la predecibilidad del orden y el tiempo de llegada de los datos </li></ul>
  7. 7. APLICACIONES DEL SOFTWARE <ul><li>Software de sistemas. </li></ul><ul><li>Software de tiempo real. </li></ul><ul><li>Software de gestión. </li></ul><ul><li>Software de ingeniería y científico. </li></ul><ul><li>Software empotrado. </li></ul><ul><li>Software de computadoras personales. </li></ul><ul><li>Software basado en Web. </li></ul><ul><li>Software de inteligencia artificial. </li></ul>
  8. 8. Software de sistemas <ul><li>Conjunto de programas que sirven a otros programas. </li></ul><ul><ul><li>Procesan estructuras de información compleja pero determinadas. </li></ul></ul><ul><ul><li>Existe una fuerte interacción con el hardware; lo utilizan muchos usuarios; es una operación concurrente que requiere planificación; comparten de recursos y gestión de procesos, son estructuras de datos complejas y usan interfaces externas. </li></ul></ul><ul><ul><li>Ejemplos: Compiladores, editores, utilidades de gestión de archivos, utilidades de manejo de periféricos, telecomunicaciones componentes de S.O. </li></ul></ul>
  9. 9. Software de Tiempo Real <ul><li>Coordina, analiza y controla sucesos del mundo real conforme ocurren. Se busca que la respuesta sea casi inmediata entre 1 milisegundo a 1 segundo. </li></ul><ul><ul><li>Componente de adquisición de datos que recolecta y da formato a la información recibida de entorno externo. </li></ul></ul><ul><ul><li>Componente de análisis que transforma la información según requiera la aplicación. </li></ul></ul><ul><ul><li>Componente de control/salida que responde al entorno externo. </li></ul></ul><ul><ul><li>Componente de motorización que coordina todos los demás componentes de modo que pueda mantenerse la respuesta en tiempo real. </li></ul></ul><ul><ul><li>Ejemplos: Tráfico aéreo, meteorología, misiles balísticos militares, etc. </li></ul></ul>
  10. 10. Software de Gestión <ul><li>El proceso de información comercial constituye la mayor área de aplicaciones del software. </li></ul><ul><ul><li>Son llamados sistemas discretos y han evolucionado a los Sistemas de Información de Gestión SIG; accediendo a bases de datos con información comercial. </li></ul></ul><ul><ul><li>Reestructuran los datos existentes para facilitar el comercio, la toma de decisiones, y el procesamiento convencional de los datos realizando cálculos interactivos. </li></ul></ul><ul><ul><li>Ejemplos: nóminas, inventarios, cuentas, puntos de ventas, etc. </li></ul></ul>
  11. 11. Software de Ingeniería y Científico <ul><li>Se caracteriza por algoritmos de manejo de números. </li></ul><ul><ul><li>Aplicaciones: astronomía, vulcanología, análisis de aplicaciones de presión de motores, dinámica orbital, biología molecular, fabricación automática. </li></ul></ul><ul><ul><li>Actualmente estas aplicaciones se alejan de los algoritmos convencionales numéricos. </li></ul></ul><ul><ul><li>El diseño asistido por computadoras CAD, la simulación de sistemas y otras aplicaciones han empezado a usar las características de software de tiempo real e incluso software de sistemas. </li></ul></ul>
  12. 12. Software Empotrado <ul><li>Los p roductos inteligentes se han convertido en algo común que se usa a diario. </li></ul><ul><ul><li>Residen en la memoria de solo lectura, se utiliza para controlar productos y sistemas de mercados industriales y de consumo. </li></ul></ul><ul><ul><li>Ejecutar funciones muy limitadas y curiosas. </li></ul></ul><ul><ul><li>Ejemplo : Control de teclas Microondas, funciones digitales de los autos y televisores, etc. </li></ul></ul>
  13. 13. Software de computadoras personales <ul><li>El mercado de las computadoras personales han progresado en los últimos 20 años. </li></ul><ul><ul><li>Procesadores de texto, hojas de cálculo, gráficos de computadora, entretenimiento, gestión de base de datos, multimedia, aplicaciones financieras, de negocios, personales. </li></ul></ul>
  14. 14. Software basado en Web <ul><li>Es software que incorpora instrucciones ejecutables y datos. </li></ul><ul><ul><li>Esencialmente la red vienen siendo una gran computadora que proporciona un recurso de software casi ilimitado pudiendo ser accedido por cualquiera con un módem. </li></ul></ul><ul><ul><li>CGI, HTML DHTMP, ASP, JAVA, PHP, etc. </li></ul></ul><ul><ul><li>Formatos de audio y video, etc </li></ul></ul>
  15. 15. Software de Inteligencia Artificial <ul><li>Usa algoritmos no numéricos para resolver problemas complejos para los que no son adecuados el cálculo o el análisis directo. </li></ul><ul><ul><li>El área más activa son los Sistemas expertos basados en reconocimiento de patrones (imágenes y voz), redes neuronales artificiales, prueba de teoremas, juegos son aplicaciones de esta categoría. </li></ul></ul>
  16. 16. EL PROCESO <ul><li>Construir software de computadoras es un proceso iteractivo dando como resultado el CAPITAL DEL SOFTWARE que es el conjunto de software reunido, depurado y organizado. </li></ul><ul><li>El PROCESO DEL SOFTWARE son las tareas que se necesitan para construir software de alta calidad. </li></ul><ul><li>El proceso de software define el enfoque que se toma cuando el software es tratado por la ingeniería, mientras que la Ingeniería del software comprende además las tecnologías que tiene el proceso, los métodos técnicos y las herramientas automatizadas. </li></ul>
  17. 17. TECNOLOGIA ESTRATIFICADA <ul><li>La I.S. se debe apoyar sobre un compromiso de organización de calidad. </li></ul><ul><li>El fundamento de la I.S. es la capa de proceso, porque mantiene juntas las capas de la tecnología permitiendo el desarrollo racional y oportuno. </li></ul><ul><li>Los métodos indican como construir técnicamente el software abarcan tareas que incluyen el análisis de requisitos, diseño, la construcción de programas, las pruebas y el mantenimiento. </li></ul><ul><li>Las herramientas proporcionan un enfoque automático o semi - automático para el proceso y para los métodos </li></ul>Enfoque calidad Proceso Métodos Herramientas
  18. 18. VISION GLOBAL DE LA I.S. <ul><li>Cualquier ingeniería comprende : </li></ul><ul><li>ANALISIS, DISEÑO, CONSTRUCCION, VERIFICACIÓN Y GESTION </li></ul><ul><li>Independientemente del problema a resolver al que se aplicará la ingeniería del software se deberán responder las siguientes preguntas: </li></ul><ul><li>¿Cuál es el problema a resolver? </li></ul><ul><li>¿Cuáles son las características de la entidad que se utiliza para resolver el problema? </li></ul><ul><li>¿Cómo se realizará la entidad? </li></ul><ul><li>¿Cómo se realizará la solución? </li></ul><ul><li>¿Cómo se construirá la entidad? </li></ul><ul><li>¿Qué enfoque se va a utilizar para no dejar pasar los errores del diseño y en la construcción? </li></ul><ul><li>¿Cómo se apoyará la entidad cuando los usuarios soliciten correcciones, adaptaciones y mejoras de la calidad? </li></ul>
  19. 19. VISION GLOBAL DE LA I.S. <ul><li>Independientemente el área de aplicación, tamaño o complejidad del proyecto; el trabajo de la Ingeniería de Software se puede dividir en 3 fases genéricas. </li></ul><ul><li>Fase de Definición. </li></ul><ul><li>Fase de Desarrollo. </li></ul><ul><li>Fase de Mantenimiento. </li></ul>
  20. 20. FASE DE DEFINICION <ul><li>Fase de Definición . Se centra en el QUE </li></ul><ul><li>Qué información va ha ser procesada? Qué función y rendimiento se desea? </li></ul><ul><li>Qué comportamiento va a tener el sistema? Qué interfaces se establecen? </li></ul><ul><li>Qué restricciones de diseño existen? Qué criterios de validación se necesitan para definir un sistema correcto? </li></ul><ul><li>En esta fase hay que identificar los requisitos clave del sistema y del software, por lo que se tendrán tres tareas principales: </li></ul><ul><ul><li>INGENIERÍA DE SISTEMAS O DE INFORMACIÓN </li></ul></ul><ul><ul><li>PLANIFICACIÓN DEL PROYECTO DE SOFTWARE </li></ul></ul><ul><ul><li>ANÁLISIS DE REQUISITOS </li></ul></ul>
  21. 21. FASE DE DESARROLLO <ul><li>Fase de Desarrollo . Se centra en el COMO </li></ul><ul><li>El ingeniero de software intenta definir </li></ul><ul><li>Cómo van ha ser diseñadas las estructuras de datos? </li></ul><ul><li>Cómo ha de implementarse la función dentro de una arquitectura del software? Cómo ha de implementarse los detalles del procedimiento? Cómo han de caracterizarse las interfaces? </li></ul><ul><li>Cómo ha de traducirse un diseño en un lenguaje de programación? </li></ul><ul><li>Cómo ha de realizarse la prueba? </li></ul><ul><li>Los métodos aplicados durante la fase de desarrollo variarán. En esta fase hay tres tareas principales que siempre deben ocurrir: </li></ul><ul><ul><li>DISEÑO DEL SOFTWARE. </li></ul></ul><ul><ul><li>GENERACIÓN DE CÓDIGO. </li></ul></ul><ul><ul><li>PRUEBA DEL SOFTWARE. </li></ul></ul>
  22. 22. FASE DE MANTENIMIENTO <ul><li>Se centra en el cambio que se asocia a la corrección de errores, a las adaptaciones requeridas a medida que evolucionan el entorno del software, y los cambios debidos a las mejoras producidas por los requisitos cambiantes del cliente. </li></ul><ul><li>En esta fase se aplican los pasos de las fases de definición y desarrollo pero con el software ya existente. </li></ul><ul><li>Se pueden encontrar cuatro tipos de cambios </li></ul>
  23. 23. FASE DE MANTENIMIENTO <ul><li>Corrección . Llevando las mejores actividades de garantías de calidad, es muy probable que el cliente descubra defectos en el software. El mantenimiento correctivo modifica el software para corregir defectos. </li></ul><ul><li>Adaptación. Con el paso del tiempo es probable que el entorno original varíe (CPU, SO, reglas de la empresa), etc. para el que se desarrolló el software. El mantenimiento adaptivo produce modificación en el software para acomodarlo a cambios de su entorno externo. </li></ul><ul><li>Mejora. Conforme se utiliza el software el cliente / usuario puede descubrir funciones adicionales que van a producir beneficios. El mantenimiento perfectivo lleva al software mas allá de sus requisitos funcionales originales. </li></ul><ul><li>Prevención. El software se deteriora debido a cambios por eso el mantenimiento preventivo llamado reingeniería de software debe conducir para permitir que el software sirva para las necesidades de los usuarios finales. </li></ul>
  24. 24. EL PROCESO DEL SOFTWARE Tareas de Ingeniería Hitos, productos Puntos SQA Actividades de protección Marco de trabajo común del proceso Conjunto de tareas Actividades de trabajo

×