Introduccion a la Ingeniería de Software

3,464 views

Published on

Introducción a la Ingeniería de Software.

Traducción: Marco A. Ibarra
Autor Original: Ian Sommerville

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

No Downloads
Views
Total views
3,464
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
79
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introduccion a la Ingeniería de Software

  1. 1. Capítulo 1- Introducción <ul><li>Lección 1 </li></ul>
  2. 2. Tópicos a cubrir <ul><li>Desarrollo de Software profesional </li></ul><ul><ul><li>¿A qué nos referimos con “Ingeniería de Software”? </li></ul></ul><ul><li>Ética en la Ingeniería de Software </li></ul><ul><ul><li>Una breve introducción a problemas éticos que afectan a la software engineering. </li></ul></ul><ul><li>Casos de Estudio </li></ul><ul><ul><li>Una introducción a 3 ejemplos que posteriormente estaremos revisando. </li></ul></ul>
  3. 3. Ingeniería de Software <ul><li>La economía de TODAS las naciones DESARROLLADAS dependen de software. </li></ul><ul><li>Cada vez más procesos son controlados por software </li></ul><ul><li>La Ingeniería de software se apoya en teorías, métodos y herramientas para el desarrollo de software profesional. </li></ul><ul><li>El gasto en software representa una fracción significativa del PIB en todos los países desarrollados. </li></ul>
  4. 4. Costos de Software <ul><li>Los costos del software a menudo dominan los costos del sistema informático.Los costes de software en un PC suelen ser mayores que el costo de hardware. </li></ul><ul><li>Cuesta más mantener el Software que desarrollarlo. Para los sistemas de larga duración, los costos de mantenimiento pueden llegar a ser del tamaño de “x” veces el costo del desarrollo. </li></ul><ul><li>La IS está relacionada con la rentabilidad del desarrollo de software. </li></ul>
  5. 5. Productos de Software <ul><li>Productos genéricos </li></ul><ul><ul><li>Sistemas autónomos que son comercializados para cualquier cliente que desee comprarlos. </li></ul></ul><ul><ul><li>Ejemplos – software de PC como programas para gráficos, herramientas de administración de proyectos; software CAD; software para mercados específicos como sistemas de citas para dentistas. </li></ul></ul><ul><li>Productos a la medida </li></ul><ul><ul><li>Software comisionado por un cliente específico para satisfacer sus necesidades. </li></ul></ul><ul><ul><li>Ejemplos – sistemas de control integrado, software de control de tráfico aéreo, sistemas de monitoreo de tráfico. </li></ul></ul>
  6. 6. Especificación de Producto <ul><li>Productos Genéricos </li></ul><ul><ul><li>La especificación de lo que el software debería hacer es propiedad del desarrollador de software y las decisiones de cambios en éste son hechas por el mismo desarrollador. </li></ul></ul><ul><li>Productos a la medida </li></ul><ul><ul><li>La especificación de lo que el software debería hacer es propiedad del cliente y ellos toman decisiones en cuanto a los cambios de software requeridos. </li></ul></ul>
  7. 7. Preguntas frecuentes sobre Ingeniería de Software (FAQ) Pregunta Respuesta ¿Qué es software? Programas computacionales y su documentación asociada. Los productos de Software pueden ser desarrollados para un cliente particular ó un mercado en general. ¿Cuáles son los atributos del buen software? El buen software debería ofrecer la funcionalidad y el rendimiento requeridos por el usuario y debería ser mantenible, confiable y usable. ¿Qué es Ingeniería de Software? Ingeniería de software es la disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y mantener software. ¿Cuales son las actividades fundamentales de la Ingeniería de Software? Especificación de Software, Desarrollo de software, validación de software y evolución del software. ¿Cuál es la diferencia principal entre la Ingeniería de Software y las Ciencias de la Computación? Las Ciencias de la computación se centra en la teoría y los fundamentos; La Ingeniería de software tiene que ver con los aspectos prácticos de desarrollo y distribución de software útil. ¿Cuál es la diferencia entre la Ingeniería de Software y la Ingeniería en Sistemas? Ingeniería de sistemas se refiere a todos los aspectos del equipo de desarrollo basado en sistemas, incluyendo la ingeniería de hardware, software y procesos.Ingeniería de software es parte de este proceso más general.
  8. 8. Preguntas frecuentes sobre Ingeniería de Software (FAQ) Pregunta Respuesta ¿Cuáles son los principales retos que enfrenta la Ingeniería de Software? Hacer frente a la creciente diversidad, las demandas de los tiempos de entrega reducidos y el desarrollo de software de confianza. ¿Cuáles son los costos de la Ingeniería de Software? Aproximadamente el 60% de los costos de software son los costos de desarrollo, el 40% son costes de las pruebas. Para el software a la medida, los costos de evolución a menudo exceden los costos de desarrollo. ¿Cuáles son las mejores técnicas de ingeniería de software y métodos? Mientras que todos los proyectos de software tienen que ser gestionadas y desarrolladas de forma profesional, las diferentes técnicas son adecuadas para diferentes tipos de sistemas. Por ejemplo, los juegos siempre deben ser desarrollado con una serie de prototipos, mientras que los sistemas de control de seguridad críticos requieren una especificación completa y analizable para desarrollarlos. Por tanto, no se puede decir que un método es mejor que otro. ¿Qué variaciones ha causado la web a la ingeniería de software? La web nos ha llevado a la disponibilidad de servicios de software y la posibilidad de desarrollar sistemas altamente distribuídos basados en servicios. El Desarrollo de sistemas basado en la Web ha dado lugar a importantes avances en los lenguajes de programación y la reutilización de software.
  9. 9. Atributos esenciales del buen software Característica de Producto Descripción Mantenibilidad El software debe ser escrito de tal manera que pueda evolucionar para satisfacer las necesidades cambiantes de los clientes. Este es un atributo esencial, porque el cambio de software es un requisito inevitable de un entorno empresarial cambiante. Fiabilidad y Seguridad El Software fiable y seguro no debe causar daños físicos o económicos en caso de fallo del sistema. Los usuarios malintencionados no deben ser capaces de tener acceso o dañar el sistema. Eficiencia El software no debe hacer un uso despilfarrador de los recursos del sistema como la memoria y ciclos del procesador. Eficiencia por lo tanto incluye la capacidad de respuesta, el tiempo de procesamiento, utilización de memoria, etc. Aceptabilidad El software debe ser aceptable para el tipo de usuarios para los que fue diseñado. Esto significa que debe ser comprensible, utilizable y compatible con otros sistemas que utilice.
  10. 10. Ingeniería de Software <ul><li>Ingeniería de software es la disciplina de ingeniería que se ocupa de todos los aspectos de producción de software desde las etapas tempranas de la especificación del sistema hasta mantener el sistema después de haber entrado en uso. </li></ul><ul><li>Disciplina de Ingeniería </li></ul><ul><ul><li>Usando las teorías y métodos adecuados para resolver los problemas teniendo en cuenta las limitaciones organizacionales y financieras. </li></ul></ul><ul><li>Todos los aspectos de la producción de Software </li></ul><ul><ul><li>No sólo el proceso técnico de desarrollo. También la administración de proyectos y el desarrollo de herramientas, métodos, etc. para apoyar la producción de software. </li></ul></ul>
  11. 11. Importancia de la Ingeniería de Software <ul><li>Cada vez más, los individuos y la sociedad en general confían en sistemas de software avanzados. Necesitamos ser capaces de producir sistemas confiables y dignos de confianza de manera económica y rápida. </li></ul><ul><li>Normalmente es más barato, en el largo plazo, el uso de métodos de ingeniería de software y técnicas para los sistemas de software en lugar de escribir los programas como si fuera un proyecto de programación personal. Para la mayoría de los tipos de sistema, la mayoría de los costos son los de cambiar el software después de que haya entrado en uso. </li></ul>
  12. 12. Actividades del Proceso de Software <ul><li>Especificación de software: Los clientes y los ingenieros de definen el software que se va a producir y las limitaciones en su funcionamiento. </li></ul><ul><li>Desarrollo de software: Es cuando se diseña el software y se programa. </li></ul><ul><li>La validación del software: Cuando se verifica para asegurarse de que el software es lo que el cliente requiere. </li></ul><ul><li>La evolución del software: Se modifica el software para reflejar las necesidades cambiantes de los clientes y el mercado. </li></ul>
  13. 13. Problemas generales que afectan a la mayoría del software <ul><li>Heterogeneidad </li></ul><ul><ul><li>Cada vez más, se requiere que los sistemas operen distribuídos a través de redes que incluyen diferentes tipos de computadoras y dispositivos móviles. </li></ul></ul><ul><li>Negocios y Cambios Sociales </li></ul><ul><ul><li>La Empresa y la sociedad están cambiando muy rápidamente al momento que las economías emergentes desarrollan y nuevas tecnologías están disponibles. Éstas deben ser capaces de cambiar su software existente y desarrollar rápidamente nuevos programas. </li></ul></ul><ul><li>Seguridad y Confianza </li></ul><ul><ul><li>Como el software se entrelaza con todos los aspectos de nuestras vidas, es esencial que podemos confiar en el mismo. </li></ul></ul>
  14. 14. Diversidad en la Ingeniería de Software <ul><li>Hay varios tipos de sistemas de software y no hay un conjunto universal de técnicas de software aplicable a todas ellas. </li></ul><ul><li>Los métodos y herramientas de IS utilizadas dependen del tipo de aplicación siendo desarrollada, los requerimientos del cliente y los antecedentes del equipo de desarrolladores. </li></ul>
  15. 15. Tipos de Aplicación <ul><li>Aplicaciones Autónomas (Stand-Alone) </li></ul><ul><ul><li>Éstos son sistemas de aplicaciones que corren en una computadora local, como las PC. Incluyen toda la funcionalidad necesaria y no necesitan estar conectadas a una red. </li></ul></ul><ul><li>Aplicaciones interactivas basadas en interacción. </li></ul><ul><ul><li>Las aplicaciones que se ejecutan en un equipo remoto y son accedidas por usuarios desde sus propias PC o terminales. Éstas incluyen aplicaciones web como aplicaciones de comercio electrónico. </li></ul></ul><ul><li>Sistemas integrados de control </li></ul><ul><ul><li>Estos son sistemas de control de software que manejan dispositivos de hardware. Numéricamente, probablemente hay más sistemas integrados que otro tipo de sistema. </li></ul></ul>
  16. 16. Tipos de Aplicación <ul><li>Sistemas de procesamiento por lotes </li></ul><ul><ul><li>Éstos son sistemas de negocios que están diseñados para procesar datos en lotes extensos. Procesan grandes cantidades de entradas individuales para crear sus salidas correspondientes </li></ul></ul><ul><li>Sistemas de entretenimiento </li></ul><ul><ul><li>Se trata de sistemas que son principalmente para uso personal y que están destinados a entretener al usuario. </li></ul></ul><ul><li>Sistemas para el modelado y la simulación </li></ul><ul><ul><li>Estos son sistemas que son desarrollados por científicos e ingenieros modelar procesos físicos o situaciones que incluyen varios objetos independientes que interactúan entre sí. </li></ul></ul>
  17. 17. Tipos de Aplicación <ul><li>Sistemas de recopilación de datos </li></ul><ul><ul><li>Estos son sistemas que recogen datos de su entorno utilizando un conjunto de sensores y envían los mismos a otros sistemas para su procesamiento. </li></ul></ul><ul><li>Sistemas de sistemas </li></ul><ul><ul><li>Estos son sistemas que se componen de una serie de otros sistemas de software. </li></ul></ul>
  18. 18. Fundamentos de Ingeniería de Software <ul><li>Algunos principios fundamentales se aplican a todo tipo de sistema de software,independientemente de las técnicas de desarrollo utilizado: </li></ul><ul><ul><li>Los sistemas deben ser desarrollados mediante un proceso de desarrollo controlado y comprendido. Por supuesto, diferentes procesos se utilizan para diferentes tipos de software. </li></ul></ul><ul><ul><li>La fiabilidad y el rendimiento son importantes para todo tipo de sistema. </li></ul></ul><ul><ul><li>La comprensión y la gestión de la especificación de requisitos de software y (lo que el software debe hacer) son importantes. </li></ul></ul><ul><ul><li>Llegado el caso, se debe volver a utilizar el software que ya se ha desarrollado en lugar de escribir un nuevo software. </li></ul></ul>
  19. 19. Ingeniería de Software y la Web <ul><li>La Web ahora es una plataforma para correr aplicaciones y las organizaciones están cada vez más el desarrollando sistemas basados en web en lugar de los sistemas locales. </li></ul><ul><li>Los servicios Web (Web Services) que se acceda a las funciones de una aplicación a través de la web </li></ul><ul><li>La computación en la nube es un enfoque para la prestación de servicios informáticos, donde las aplicaciones se ejecutan de forma remota en la web. </li></ul><ul><ul><li>Los usuarios no compran el software, pero, dado el caso, pagan de acuerdo a su uso. </li></ul></ul>
  20. 20. Ingeniería de Software Web <ul><li>La reutilización de Software es el enfoque dominante para la construcción de sistemas basados en web. </li></ul><ul><ul><li>Cuando se construyen estos sistemas, uno piensa sobre cómo uno puede ensamblarlos desde componentes de software pre-existentes. </li></ul></ul><ul><li>Los sistemas basados en web deben ser desarrollados y entregados incrementalmente </li></ul><ul><ul><li>Hoy en día, se reconoce que no es práctico especificar todos los requerimientos para dichos sistemas con antelación. </li></ul></ul><ul><li>Las interfaces de usuario están limitadas por las capacidades de los navegadores web </li></ul><ul><ul><li>Tecnologías como AJAX permiten que se creen interfaces de usuario completas dentro de un navegador web, pero aún son difíciles de usar. Los formularios web con scripting local son lo más comúnmente utilizado- </li></ul></ul>
  21. 21. Ingeniería de Software basada en Web <ul><li>Los sistemas basados en web son sistemas distribuídos complejos, pero los principios fundamentales de la IS anteriormente vistos son tan aplicables a ellos como lo son a cualquier otro tipo de sistema. </li></ul><ul><li>Las ideas fundamentales de la IS discutidas anteriormente, aplican a software basado en web de la misma manera que aplican ao otros tipos de sistemas de software. </li></ul>
  22. 22. Puntos clave <ul><li>La ingeniería de software es un principio de ingeniería que se ocupa de todos los aspectos involucrados en la producción de software. </li></ul><ul><li>Los atributos esenciales de un producto de software son: mantenibilidad, fiabilidad y seguridad, eficiencia y aceptabilidad </li></ul><ul><li>Las actividades de alto nivel como la especificación, desarrollo, validación y evolución son parte de todos los procesos de software </li></ul><ul><li>Las nociones fundamental es de IS son universalmente aplicables a todo tipo de desarrollo de sistemas </li></ul>
  23. 23. Puntos clave <ul><li>Hay varios tipos diferentes de sistema y cada uno requiere herramientas de IS apropiadas y técnicas para su desarrollo </li></ul><ul><li>Las ideas fundamentales de la IS son aplicables a todos los tipos de sistemas de software </li></ul>
  24. 24. Chapter 1- Introduction <ul><li>Lección 2 </li></ul>
  25. 25. Ética en la Ingeniería de Software <ul><li>La Ingeniería de software involucra responsabilidades más amplias que la simple aplicación de habilidades técnicas </li></ul><ul><li>Los Ingenieros de Software deben comportarse de manera honesta y ética si desean ser respetados como profesionales del área. </li></ul><ul><li>El comporamiento ético es más que simplemente cumplir las leyes. Involucra un conjunto de principios moralmente correctos </li></ul>
  26. 26. Problemas de responsabilidad profesional <ul><li>Confidencialidad </li></ul><ul><ul><li>Los ingenieros normalmente deben respetar la confidencialidad de sus empleadores o clientes independientemente de si hubo o no un acuerdo de confidencialidad formal firmado </li></ul></ul><ul><li>Competencia </li></ul><ul><ul><li>Los ingenieros no deben malinterpretar su nivel de competencia. No deben aceptar trabajos a sabiendas de que se encuentre fuera de su competencia. </li></ul></ul>
  27. 27. Problemas de responsabilidad profesional <ul><li>Derechos de Propiedad Intelectual </li></ul><ul><ul><li>Los ingenieros deben estar al tanto de las leyes que gobiernan el uso de la propiedad intelectual, como las patentes, los derechos de autor, etc. Deben ser cuidadosos de asegurar que la propiedad intelectual de empleadores y clientes sea protegida. </li></ul></ul><ul><li>Mal uso de equipo </li></ul><ul><ul><li>Los ingenieros de software no deben utilizar sus habilidades técnicas para el mal uso de computadores pertenecientes a otras personas. El mal uso de equipo abarca desde lo relativamente trivial (ejecución de juegos en equipos de cómputo del empleador, por ejemplo) hasta lo extremadamente serio (diseminación de virus). </li></ul></ul>
  28. 28. Código de Ética de la ACM/IEEE <ul><li>Las sociedades profesionales en los EUA han cooperado para producir un código de prácticas éticas. </li></ul><ul><li>Miembros de éstas organizaciones firman el código de prácticas cuando se unen </li></ul><ul><li>El Código contiene 8 principios relacionados con el comportamiento y las decisiones tomadas por ingenieros de software profesionales, incluyendo practicantes, educadores, administradores, supervisores y legisladores, al igual que estudiantes y aprendices de la profesión </li></ul>
  29. 29. Base lógica para el Código de ética. <ul><ul><li>Las computadoras tienen un papel central y en crecimiento en el comercio, la industria, gobierno, medicina, educación, entretenimiento y en la sociedad en general. Los ingenieros de software son aquellos que contribuyen con participación directa o enseñando el análisis, especificación , diseño, desarrollo, certificación, mantenimiento y pruebas de sistemas de software </li></ul></ul><ul><ul><li>Debido a sus roles en el desarrollo de sistemas de software, los Ingenieros de Software tienen oportunidades significativas de hacer el bien, o causar daños, permitir a otros a hacer bien o causar daño, o influenciar a otros para los mismos fines. Para asegurar en la medida de lo posible que sus esfuerzos serán utilizados para el bien, los ingenieros de software deben comprometerse a hacer de la IS una profesion beneficiosa y respetada. </li></ul></ul>
  30. 30. El Código de Ética de la ACM/IEEE Código de Ética y Práctica Profesional de la Ingeniería de Software ACM/IEEE-CS Fuerza de Tarea Conjunta de Ética de Ingeniería del Software y Prácticas Profesionales PREÁMBULO La versión corta del código resume las aspiraciones a un alto nivel de la abstracción, las cláusulas que se incluyen en la versión completa dan ejemplos y detalles de cómo estas aspiraciones cambian la forma en que actuamos como profesionales de la ingeniería de software. Sin las aspiraciones, los detalles pueden ser legalistas y tediosos, sin los detalles, las aspiraciones pueden convertirse en altisonantes pero vacías; en conjunto, las aspiraciones y los detalles forman un código cohesivo. Los ingenieros de software deberán comprometerse a hacer el análisis, especificación, diseño, desarrollo, pruebas y mantenimiento de software una profesión benéfica y respetada. De acuerdo con su compromiso con la salud, la seguridad y el bienestar de la población, los ingenieros de software deberán adherirse a los siguientes ocho principios:  
  31. 31. Principios Éticos   1. PÚBLICO - Los ingenieros de software actuarán en consonancia con el interés público.2. CLIENTE Y EMPLEADOR - Los ingenieros de software actuarán en el mejor interés de sus clientes y empresarios en consonancia con el interés público.3. PRODUCTO - Los ingenieros de software asegurarán que sus productos y modificaciones correspondientes cumplen los estándares profesionales más altos posibles.4. JUICIO - Los ingenieros de software mantendrán integridad e independencia en su juicio profesional.5. ADMINISTRACIÓN - Los gerentes y líderes de ingeniería de software se suscribirán y promoverán un enfoque ético en la gestión del desarrollo y mantenimiento de software.6. PROFESIÓN - Los Ingenieros de Software promoverán la integridad y reputación de la profesión congruentemente con el interés público.7. COLEGAS - Los ingenieros de software serán justos y apoyarán a sus colegas.8. AUTO - Los ingenieros de software participarán en el aprendizaje permanente en relación con el ejercicio de su profesión y promoverán un enfoque ético de la práctica de la profesión.
  32. 32. Dilemas Éticos <ul><li>Desacuerdo en principio con las políticas de la alta dirección </li></ul><ul><li>Tu empleador actúa de una manera anti-ética y libera un sistema un sistema de seguridad crítico sin terminar las pruebas correspondientes. </li></ul><ul><li>Participación en el desarrollo de sistemas de armas militares, ó sistemas nucleares. </li></ul>
  33. 33. Casos de Estudio <ul><li>Una bomba de insulina personal </li></ul><ul><ul><li>Un sistema integrado en una bomba de insulina que usan los diabéticos para mantener el control de glucosa en sangre. </li></ul></ul><ul><li>Un sistema de administración de pacientes en casos de salud mental </li></ul><ul><ul><li>Un sistema utilizado para mantener registros de personas recibiendo tratamiento médico para problemas de salud mental </li></ul></ul><ul><li>Una estación meteorológica desértica </li></ul><ul><ul><li>Un sistema de recolección de datos que recopila información acerca de las condiciones climáticas en áreas remotas. </li></ul></ul>
  34. 34. Sistema de control para bomba de insulina personal <ul><li>Recopila datos de un sensor de azúcar en la sangre y calcula la cantidad de insulina que se requiere inyectar. </li></ul><ul><li>Realiza cálculos basados en la tasa de cambio de los niveles de azúcar en la sangre. </li></ul><ul><li>Envía señales a una micro-bomba para enviar la dosis correcta de insulina. </li></ul><ul><li>Es un sistema de seguridad crítica ya que las bajas de azúcar pueden llevar a un mal funcionamiento cerebral, coma y hasta muerte. Niveles altos de azúcar tienen consecuencias a largo plazo como daños en el ojo y los riñones. </li></ul>
  35. 35. Arquitectura de Hardware de la bomba de insulina
  36. 36. Modelo de actividad de la bomba de insulina
  37. 37. Requerimientos esenciales de alto nivel <ul><li>El sistema debe estar disponible para enviar insulina cuando sea necesario. </li></ul><ul><li>El sistema deberá desempeñarse fiablemente y entregar la cantidad correcta de insulina para contrarrestar el nivel actual de azúcar en la sangre. </li></ul><ul><li>Por lo tanto el sistema debe ser diseñado e implementado para asegurar que el sistema siempre cumpla estos requisitos. </li></ul>
  38. 38. Un sistema de información de pacientes para cuidado de salud mental <ul><li>Es un sistema de información médica que mantiene datos sobre pacientes sufriendo problemas de salud mental y los tratamientos que han recibido </li></ul><ul><li>La mayoría de los pacientes de salud mental no requieren tratamiento dedicado de un hospital, pero necesitan atender clínicas especialistas con regularidad donde puedan encontrar a un doctor que tenga conocimiento detallado de sus problemas. </li></ul><ul><li>Para facilitar la asistencia de los pacientes, éstas clínicas no solo son desplegadas por los hospitales, también pueden ser facilitadas por consultorios médicos o centros comunitarios. </li></ul>
  39. 39. MHC-PMS <ul><li>El MHC-PMS ( Sistema Gestor de Pacientes para el Cuidado de la salud mental, por sus siglas en inglés, Mental Health Care-Patient Management System) es un sistema de información destinado al uso en clínicas. </li></ul><ul><li>Hace uso una base de datos centralizada de información de pacientes, pero también ha sido diseñada para correr en una PC para que pueda ser accedida utilizada por sitios que no tienen una conectividad de red segura. </li></ul><ul><li>Cuando sistemas locales tienen acceso de red seguro, usan información de pacientes en la base de datos, pero ellos pueden descargar y utilizar copias de registros de pacientes cuando están desconectados. </li></ul>
  40. 40. Metas del MHC-PMS <ul><li>Generar Información administrativa que permita a los gestores de servicios de salud para evaluar desempeño contra metas locales y de gobierno </li></ul><ul><li>Proporcionar al personal médico con información oportuna para apoyar el tratamiento de los pacientes. </li></ul>
  41. 41. La organización del MHC-PMS
  42. 42. Características clave del MHC-PMS <ul><li>Gestión del cuidado individual </li></ul><ul><ul><li>Los médicos pueden crear registros de los pacientes, editar la información en el sistema, ver el historial del paciente, etc El sistema es compatible con los resúmenes de datos para que los médicos pueden aprender rápidamente acerca de los problemas clave y los tratamientos que se han prescrito. </li></ul></ul><ul><li>Monitoreo de pacientes </li></ul><ul><ul><li>El sistema monitorea los registros de pacientes que están involucrados en tratamientos y emite advertencias si se detectan problemas posibles. </li></ul></ul><ul><li>Reportes Administrativos </li></ul><ul><ul><li>El sistema genera reportes administrativos mensuales mostrando el número de pacientes con tratamiento en cada clínica,el número de pacientes que han entrado y salido del sistema de cuidado, número de pacientes seccionados,los medicamentos prescritosy sus costos, etc. </li></ul></ul>
  43. 43. Preocupaciones del MHC-PMS <ul><li>Privacidad </li></ul><ul><ul><li>Es esencial que la información del paciente sea confidencial y nunca revelada a nadie además de personal médico autorizado y el paciente mismo. </li></ul></ul><ul><li>Seguridad </li></ul><ul><ul><li>Algunas enfermedades mentales causan que pacientes se vuelvan suicidas o un peligro para otras personas. Cuando sea posible, el sistema debe advertir sobre pacientes potencialmente suicidas o peligrosos. </li></ul></ul><ul><ul><li>El sistema debe estar disponible cuando sea necesario, de otra manera la seguridad puede ser comprometida y puede que sea posible prescribir los medicamentos correctos a pacientes. </li></ul></ul>
  44. 44. Estación climática desértica <ul><li>El gobierno de un país con grandes áreas de desierto decide desplegar varios cientos de estaciones meteorológicas en zonas remotas. </li></ul><ul><li>Estaciones meteorológicas recogen datos de un conjunto de instrumentos que miden la temperatura y la presión, sol, lluvia, velocidad y dirección del viento. </li></ul><ul><ul><li>La estación meteorológica incluye una serie de instrumentos que mide los parámetros del clima tales como la velocidad y dirección del viento, la tierra y la temperatura del aire, la presión barométrica y la precipitación en un periodo de 24 horas. Cada uno de estos instrumentos es controlado por un sistema de software que toma lecturas de parámetros periódicamente y gestiona los datos recogidos de los instrumentos. </li></ul></ul>
  45. 45. El entorno de la estación meteorológica
  46. 46. Sistema de Información Climatológica <ul><li>El sistema de la estación climatológica </li></ul><ul><ul><li>Este se encarga de recopilar los datos del clima, llevando a cabo un poco de procesamiento de datos iniciales y su transmisión al sistema de gestión de datos. </li></ul></ul><ul><li>El sistema de archivo y administración de datos </li></ul><ul><ul><li>Este sistema colecciona los datos de todas las estaciones climáticas desérticas. Lleva a cabo procesamiento, análisis y archiva los datos. </li></ul></ul><ul><li>El sistema de mantenimiento de la estación </li></ul><ul><ul><li>Éste sistema puede comunicarse por satélite con todas las estaciones climáticas desérticas para monitorear el estado de estos sistemas y proveer reportes de problemas. </li></ul></ul>
  47. 47. Funciones adicionales del software <ul><li>Monitorear los instrumentos, hardware de energía y comunicación y reportar fallas al sistema de gestión. </li></ul><ul><li>Administrar la energía del sistema, asegurando que las baterías sean cargadas cada vez que las condiciones ambientales lo permitan, pero, también cuando los generadores sean apagados en condiciones climáticas potencialmente dañinas, como vientos fuertes. </li></ul><ul><li>Soporte de re-configuración dinámica, en la que partes del software sean reemplazadas con nuevas versiones y donde instrumentos de reserva sean cambiados dentro del sistema en el evento de una falla generalizada. </li></ul>
  48. 48. Puntos clave <ul><li>Los ingenieros de software tienen responsabilidades con la profesión y la sociedad. No sólo deben ocuparse con cuestiones técnicas. </li></ul><ul><li>Las sociedades profesionales publican lineamientos de conducta que establecen los estándares de comportamiento que se esperan de sus miembros. </li></ul><ul><li>3 casos de estudio fueron los vistos: </li></ul><ul><ul><li>Un sistema integrado de control para una bomba de insulina </li></ul></ul><ul><ul><li>Un sistema de administración de pacientes para cuidado de salud mental </li></ul></ul><ul><ul><li>Una estación climática desértica </li></ul></ul>
  49. 49. Referencias <ul><li>http://www.slideshare.net/SE9/ch1software-engineering-9 </li></ul>

×