introduccion a ing. de software

49
Capítulo 1 Introducción Ponencia 1

Upload: aguedo-huamani

Post on 12-Feb-2016

253 views

Category:

Documents


0 download

DESCRIPTION

Introduccion a ing. de sotware

TRANSCRIPT

Page 1: Introduccion a Ing. de Software

Capítulo 1 Introducción

Ponencia 1

Page 2: Introduccion a Ing. de Software

Temas cubiertos

• Desarrollo de software profesional¿Qué se entiende por la ingeniería de software.

• Ética de la ingeniería del softwareUna breve introducción a las cuestiones éticas que afectan a la ingeniería de software.

• Estudios de casoUna introducción a los tres ejemplos que se utilizan en los siguientes capítulos del libro.

Capítulo 1 Introducción 2

Page 3: Introduccion a Ing. de Software

Ingeniería de Software

• Las economías de todos los países desarrollados dependen de software.

• Más y más sistemas están controlados por el software

• La ingeniería de software se ocupa de las teorías, métodos y herramientas para el desarrollo de software profesional.

• El gasto en software representa una fracción significativa del PBI en todos los países desarrollados.

Capítulo 1 Introducción 3

Page 4: Introduccion a Ing. de Software

Costos del software

• Los costos del software a menudo dominan los costos del sistema informático. Los costos de software en un PC son a menudo mayor que el costo del hardware.

• El software cuesta más mantener que desarrollarlo. Para sistemas con una larga vida, los costos de mantenimiento pueden ser varias veces los costos de desarrollo.

• La ingeniería de software tiene que ver con el desarrollo de software rentable.

Capítulo 1 Introducción 4

Page 5: Introduccion a Ing. de Software

Los productos de software

• Los productos genéricosSistemas stand-alone (independientes) que se comercializan y

venden a cualquier cliente que desee comprarlos.

Ejemplos - software para PC, como programas de gráficos, herramientas de gestión de proyectos; Software CAD; software para mercados específicos, tales como los sistemas de citas para los dentistas.

• Productos personalizadosEl software que está encargado por un cliente específico para

satisfacer sus propias necesidades.

Ejemplos - sistemas de control embebidos, software de control del tráfico aéreo, sistemas de vigilancia del tráfico.

Capítulo 1 Introducción 5

Page 6: Introduccion a Ing. de Software

Especificaciones del producto

• Los productos genéricosLa especificación de lo que el software debe hacer

es propiedad del desarrollador de software y las decisiones sobre el cambio de software son realizadas por el desarrollador.

• Productos personalizadosLa especificación de lo que el software debe hacer

es propiedad del cliente y este toma las decisiones sobre cambios que se requieren hacer al software.

Capítulo 1 Introducción 6

Page 7: Introduccion a Ing. de Software

Preguntas frecuentes sobre la ingeniería de software

Capítulo 1 Introducción 7

Pregunta Respuesta

¿Qué es el software? Los programas de ordenador y documentación asociada. Los productos de software pueden ser desarrollados para un cliente en particular o pueden ser desarrollados para un mercado general.

¿Cuáles son los atributos de un buen software?

Un buen software debe ofrecer la funcionalidad y el rendimiento necesarios para el usuario y debe ser mantenible, confiable y utilizable.

¿Qué es la ingeniería de software? Ingeniería de software es una disciplina de la ingeniería que se ocupa de todos los aspectos de la producción de software.

¿Cuáles son las actividades fundamentales de ingeniería de software?

Especificación de software, desarrollo de software, la validación de software y la evolución del software.

¿Cuál es la diferencia entre la ingeniería de software y la informática?

La informática se centra en la teoría y fundamentos; la ingeniería de software se ocupa de los aspectos prácticos de desarrollo y distribución de software útil.

¿Cuál es la diferencia entre la ingeniería de software e ingeniería de sistema?

Ingeniería de sistemas se ocupa de todos los aspectos del desarrollo de sistemas basados en computadora, incluyendo hardware, software e ingeniería de procesos. Ingeniería de software es parte de este proceso más general.

Page 8: Introduccion a Ing. de Software

Preguntas frecuentes sobre la ingeniería de software

Pregunta Respuesta¿Cuáles son los principales desafíos 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% están probando los costos. Para el software personalizado, los costos de evolución a menudo superan los costos de desarrollo.

¿Cuáles son las mejores técnicas y métodos de ingeniería de software?

Mientras que todos los proyectos de software tienen que ser gestionada por profesionales y desarrollado diferentes técnicas son apropiadas para los diferentes tipos de sistema. Por ejemplo, los juegos siempre deben ser desarrolladas usando una serie de prototipos mientras que los sistemas críticos de control de seguridad requieren una especificación completa y analizable a desarrollar. No puede, por lo tanto, decir que un método es mejor que otro.

¿Qué diferencias tiene la web hecho a la ingeniería de software?

La web se ha llevado a la disponibilidad de servicios de software y la posibilidad de desarrollo de sistemas basados en servicios altamente distribuidos. Desarrollo de sistemas basados en la Web ha dado lugar a importantes avances en lenguajes de programación y la reutilización del software.

Capítulo 1 Introducción 8

Page 9: Introduccion a Ing. de Software

Atributos esenciales de un buen software

Capítulo 1 Introducción 9

Característica de producto

Descripción

Mantenibilidad El software debe ser escrita de tal manera para que pueda evolucionar para satisfacer las necesidades cambiantes de los clientes. Este es un atributo fundamental, ya cambio de software es un requisito inevitable de un entorno empresarial cambiante.

Fiabilidad y seguridad La fiabilidad del software incluye una serie de características que incluyen la fiabilidad, la seguridad y la seguridad. Software confiable no debe causar daño físico o económico en caso de fallo del sistema. Los usuarios malintencionados no deben estar acceder a la o dañar el sistema.

Eficiencia El software no debe hacer despilfarro de los recursos del sistema, tales como ciclos de memoria y procesador. Por lo tanto, la eficiencia incluye la capacidad de respuesta, el tiempo de procesamiento, utilización de la memoria, etc.

Aceptabilidad El software debe ser aceptable para el tipo de usuarios para los que fue diseñada. Esto significa que debe ser comprensible, útil y compatible con otros sistemas que utilizan.

Page 10: Introduccion a Ing. de Software

Ingeniería de Software

• La ingeniería de software es una disciplina de la ingeniería que se ocupa de todos los aspectos de la producción de software desde las primeras etapas de la especificación del sistema hasta la etapa de mantener el sistema después de que haya entrado en uso.

• La disciplina de IngenieríaEl uso de teorías y métodos apropiados para resolver los

problemas teniendo en cuenta la organización y las limitaciones financieras.

• Todos los aspectos de la producción de softwareNo solo proceso técnico de desarrollo. También la gestión de

proyectos y el desarrollo de herramientas, métodos, etc. para apoyar la producción de software.

Capítulo 1 Introducción 10

Page 11: Introduccion a Ing. de Software

Importancia de la ingeniería de software

• Cada vez más, las personas y la sociedad se basan en sistemas de software avanzados. Tenemos que ser capaces de producir sistemas fiables y de confianza económicamente y rápidamente.

• Por lo general es más barato, en el largo plazo, el uso de métodos y técnicas de ingeniería de software para sistemas de software en lugar de escribir los programas como si fuera un proyecto de programación personal. Para la mayoría de tipos de sistema, la mayoría de los costos son los costos de cambiar el software después de que ha entrado en uso.

Capítulo 1 Introducción 11

Page 12: Introduccion a Ing. de Software

Las actividades del proceso de software

• Especificación de software, donde los clientes y los ingenieros definen el software que se va a producir y las limitaciones en su funcionamiento.

• El desarrollo de software, donde el software está diseñado y programado.

• Validación de software, donde el software se comprueba para asegurarse de que es lo que requiere el cliente.

• La evolución del software, donde el software es modificado para reflejar las necesidades cambiantes de los clientes y del mercado.

Capítulo 1 Introducción 12

Page 13: Introduccion a Ing. de Software

Cuestiones generales que afectan a la mayoría del software

• Heterogeneidad – Cada vez más, se requieren sistemas para operar como

sistemas distribuidos a través de redes que incluyen diferentes tipos de ordenadores y los dispositivos móviles.

• Negocios y cambio social – Empresas y la sociedad están cambiando muy rápidamente ya

que las economías emergentes se desarrollan y las nuevas tecnologías aparecen disponibles. Tienen que ser capaces de cambiar su software existente y para desarrollar rápidamente un nuevo software.

• Seguridad y confianza – Como el software se entrelaza con todos los aspectos de

nuestras vidas, es esencial que podamos confiar en el software.

Capítulo 1 Introducción 13

Page 14: Introduccion a Ing. de Software

La diversidad de ingeniería de software

• Hay muchos tipos diferentes de sistemas de software y no hay ningún conjunto universal de las técnicas de software que se aplica a todos ellos.

• Los métodos de ingeniería de software y herramientas utilizadas dependen del tipo de aplicación que se está desarrollando, los requisitos del cliente y los antecedentes del equipo de desarrollo.

Capítulo 1 Introducción 14

Page 15: Introduccion a Ing. de Software

Tipos de aplicación

• Aplicaciones independientes – Estos son sistemas de aplicaciones que se ejecutan en un equipo

local, como un PC. Incluyen toda la funcionalidad necesaria y no es necesario estar conectado a una red.

• Aplicaciones basadas en transacciones interactivas – Las aplicaciones que se ejecutan en un equipo remoto y se accede

por los usuarios desde sus propios ordenadores o terminales. Estos incluyen aplicaciones web tales como aplicaciones de comercio electrónico.

• Sistemas de control embebidos– Estos son los sistemas de control de software que controlan y

administran los dispositivos de hardware. Numéricamente, hay probablemente más sistemas embebidos que cualquier otro tipo de sistema.

Capítulo 1 Introducción 15

Page 16: Introduccion a Ing. de Software

Tipos de aplicación

• Sistemas de procesamiento por lotes (Batch Processing) – Estos son sistemas de negocio que están diseñados para

procesar los datos en grandes lotes. Procesan un gran número de entradas individuales para crear los resultados correspondientes.

• Sistemas de entretenimiento – Estos son sistemas que son principalmente para uso personal y

que están destinados a entretener al usuario.

• Sistemas para el modelado y simulación – Se trata de sistemas que son desarrollados por los científicos e

ingenieros para modelar procesos físicos o situaciones, que incluyen muchas, objetos separados que interactúan mutuamente.

Capítulo 1 Introducción 16

Page 17: Introduccion a Ing. de Software

Tipos de aplicación

• Sistemas de colección de datos Estos son sistemas que recogen datos de su entorno

utilizando un conjunto de sensores y los envian a otros sistemas para su procesamiento.

• Sistemas de sistemas Estos son sistemas que están compuestos de un

número de otros sistemas de software.

Capítulo 1 Introducción 17

Page 18: Introduccion a Ing. de Software

Fundamentos de ingeniería de software

• Algunos principios fundamentales se aplican a todos los tipos de sistema de software, independientemente de las técnicas de desarrollo utilizadas:

– Los sistemas deben ser desarrollados mediante un proceso de desarrollo dirigido y entendido. Por supuesto, los diferentes procesos se utilizan para diferentes tipos de software.

– Fiabilidad y rendimiento son importantes para todo tipo de sistema.

– La comprensión y la administracion de la especificación de software y los requisitos (lo que el software debe hacer) son importantes.

– Cuando sea apropiado, se debe volver a utilizar el software que ya se ha desarrollado en lugar de escribir un nuevo software.

Capítulo 1 Introducción 18

Page 19: Introduccion a Ing. de Software

Ingeniería de software y la web

• La Web es ahora una plataforma para correr aplicaciones y organizaciones están desarrollando cada vez más los sistemas basados en la web en lugar de los sistemas locales.

• Servicios Web (discutidos en el Capítulo 19) permiten que la funcionalidad de la aplicación se acceda a través de Internet.

• La computación en nube (cloud computing) es un enfoque para la prestación de servicios de informática donde las aplicaciones se ejecutan de forma remota en la "nube".

– Los usuarios no compran software pero pagan de acuerdo a su uso.

Capítulo 1 Introducción 19

Page 20: Introduccion a Ing. de Software

Ingeniería de software Web

• La reutilización del software es el enfoque dominante para la construcción de sistemas basados en la web.

– Cuando se construyen estos sistemas, se piensa en cómo se puede ensamblarlos a partir de componentes y sistemas de software pre-existentes.

• Los sistemas basados en la Web deben ser desarrollados y entregados de forma incremental.

– En la actualidad se reconoce generalmente que no es práctico especificar anticipadamente todos los requisitos para este tipo de sistemas.

• Las interfaces de usuario se ven limitados por las capacidades de los navegadores web.

– Las tecnologías como AJAX permiten interfaces de ricos que se creen dentro de un navegador web, pero todavía son difíciles de usar. Formularios Web con secuencias de comandos locales son más comúnmente utilizados.

Capítulo 1 Introducción 20

Page 21: Introduccion a Ing. de Software

Ingeniería de software basada en la Web

• Los sistemas basados en la Web son sistemas distribuidos complejos, pero los principios fundamentales de la ingeniería de software previamente discutidos son aplicables a ellos, ya que son para cualquier otro tipo de sistema.

• Las ideas fundamentales de la ingeniería de software, que se analizan en el apartado anterior, se aplican al software basado en la web de la misma manera que se aplican a otros tipos de sistemas de software.

Capítulo 1 Introducción 21

Page 22: Introduccion a Ing. de Software

Puntos clave

• La ingeniería de software es una disciplina de la ingeniería que se ocupa de todos los aspectos de la producción de software.

• Los atributos esenciales del producto de software son mantenibilidad, fiabilidad y seguridad, eficacia y aceptabilidad.

• Las actividades de alto nivel de especificación, desarrollo, validación y evolución son parte de todos los procesos de software.

• Las nociones fundamentales de la ingeniería de software son universalmente aplicables a todos los tipos de desarrollo del sistema.

Capítulo 1 Introducción 22

Page 23: Introduccion a Ing. de Software

Puntos clave

• Hay muchos tipos diferentes de sistemas y cada uno requiere herramientas de ingeniería de software y técnicas apropiadas para su desarrollo.

• Las ideas fundamentales de la ingeniería de software son aplicables a todos los tipos de sistema de software.

Capítulo 1 Introducción 23

Page 24: Introduccion a Ing. de Software

Capítulo 1 Introducción

Ponencia 2

Page 25: Introduccion a Ing. de Software

Ética de la ingeniería del software

• La ingeniería de software implica responsabilidades más amplias que simplemente la aplicación de habilidades técnicas.

• Los ingenieros de software deben comportarse de una manera honesta y éticamente responsable si han de ser respetados como profesionales.

• El comportamiento ético es más que simplemente hacer cumplir la ley, pero implica seguir una serie de principios que son moralmente correctos.

Capítulo 1 Introducción 25

Page 26: Introduccion a Ing. de Software

Las cuestiones de responsabilidad profesional

• Confidencialidad– Normalmente los ingenieros deben respetar la

confidencialidad de sus empleadores o clientes, independientemente de si es o no un acuerdo de confidencialidad formal ha sido firmado.

• Competencia – Los ingenieros no deben tergiversar su nivel de

competencia. Ellos no deben aceptar a sabiendas de trabajo se encuentre fuera de su competencia.

Capítulo 1 Introducción 26

Page 27: Introduccion a Ing. de Software

Las cuestiones de responsabilidad profesional

• Derechos de propiedad intelectual Los ingenieros deben ser conscientes de las leyes locales que rigen el uso

de la propiedad intelectual, tales como patentes, derechos de autor, etc. Deben tener cuidado para asegurar que la propiedad intelectual de los empleadores y clientes está protegida.

• El mal uso del ordenador Los ingenieros de software no deben usar sus habilidades técnicas para

abusar de los ordenadores de otras personas. El mal uso del ordenador va de relativamente trivial (juego jugando en la máquina de un empleador, por ejemplo) a extremadamente grave (difusión de virus).

Capítulo 1 Introducción 27

Page 28: Introduccion a Ing. de Software

ACM / IEEE Código de Ética

• Las sociedades profesionales en los EE.UU. han colaborado para producir un código de práctica ética.

• Los miembros de estas organizaciones se firman el código de prácticas cuando se unen.

• El Código contiene ocho Principios relacionados con el comportamiento y las decisiones tomadas por los ingenieros de software profesionales, incluyendo médicos, educadores, administradores, supervisores y responsables políticos, así como los alumnos y estudiantes de la profesión.

Capítulo 1 Introducción 28

Page 29: Introduccion a Ing. de Software

Fundamentos para el código de ética

Las computadoras tienen un papel fundamental y creciente en el comercio, la industria, el gobierno, la medicina, la educación, el entretenimiento y la sociedad en general. Los ingenieros de software son los que contribuyen con la participación directa o mediante la enseñanza, al análisis, especificación, diseño, desarrollo, certificación, mantenimiento y pruebas de los sistemas de software.

Debido a su papel en el desarrollo de sistemas de software, ingenieros de software tienen significativa oportunidades de hacer daño bueno o causa, para permitir a otros a hacer el bien o hacer daño, o para influir en los demás para hacer el bien o hacer daño. Para garantizar, en la medida de lo posible, que sus esfuerzos serán utilizados para los buenos, los ingenieros de software deben comprometerse a hacer software ingeniería de una profesión benéfica y respetada.

Capítulo 1 Introducción 29

Page 30: Introduccion a Ing. de Software

El Código de ACM / IEEE de Ética

Capítulo 1 Introducción 30

Software Engineering Código de Ética y Práctica Profesional

ACM / IEEE-CS Fuerza de Tarea Conjunta de Ingeniería de Software de Ética y Prácticas Profesionales PREÁMBULOLa 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 llegar a ser legalista y tedioso; sin los detalles, las aspiraciones pueden llegar a ser altisonante pero vacío; juntas, 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, prueba y mantenimiento de software una profesión benéfica y respetada. De acuerdo con su compromiso con la salud, seguridad y bienestar del público, los ingenieros de software deberán adherirse a los siguientes Ocho Principios:

Page 31: Introduccion a Ing. de Software

Los principios éticos

Capítulo 1 Introducción 31

1. PÚBLICO - Ingenieros de Software deberán actuar consistentemente con el interés público.

2. CLIENTE Y EMPLEADOR - Los ingenieros de software actuarán de una manera que es en el mejor interés de su cliente y empleador consistente con el interés público.

3. PRODUCTO - Ingenieros de Software deberán garantizar que sus productos y modificaciones relacionadas cumplen con los más altos estándares profesionales posibles.

4. JUICIO - Los ingenieros de software mantendrán integridad e independencia en su juicio profesional.

5. GESTIÓN - gerentes y líderes de ingeniería de Software deberán suscribirse y promover un enfoque ético en la gestión del desarrollo y mantenimiento de software.

6. PROFESIÓN - Ingenieros de Software deberán avanzar en la integridad y la reputación de la profesión consistente con el interés público.

7. COLEGAS - Los ingenieros de software deberán ser justo y de apoyo de sus colegas.

8. AUTO - Ingenieros de Software deberán participar en el aprendizaje permanente en relación con el ejercicio de su profesión y promoverán un enfoque ético en el ejercicio de la profesión.

Page 32: Introduccion a Ing. de Software

Dilemas éticos

• El desacuerdo en principio, con las políticas de la alta dirección.

• Su empleador actúa de una manera poco ética y libera un sistema de seguridad crítico sin terminar la prueba del sistema.

• La participación en el desarrollo de sistemas de armas militares o sistemas nucleares.

Page 33: Introduccion a Ing. de Software

Estudios de caso

• Una bomba de insulina personalUn sistema embebido en una bomba de insulina utilizada por

los diabéticos para mantener el control de la glucosa en sangre.

• Un sistema de gestión de pacientes en el area de salud mentalUn sistema que se utiliza para mantener un registro de las

personas que reciben atención de problemas de salud mental.

• Una estación meteorológica desiertoUn sistema de recolección de datos que recopila datos sobre

las condiciones climáticas en zonas remotas.Capítulo 1 Introducción 33

Page 34: Introduccion a Ing. de Software

Sistema de control de la bomba de insulina

• Recopila los datos de un sensor de azúcar en la sangre y calcula la cantidad de insulina necesaria para ser inyectado.

• Cálculo basado en la tasa de variación de los niveles de azúcar en la sangre.

• Envía señales a una micro-bomba para administrar la dosis correcta de insulina.

• Sistema de azúcar en la sangre tan bajos críticos para la seguridad puede dar lugar a un mal funcionamiento cerebral, coma y la muerte; los niveles de azúcar alta en la sangre tienen consecuencias a largo plazo, como lesiones oculares y renales.

Capítulo 1 Introducción 34

Page 35: Introduccion a Ing. de Software

La insulina arquitectura de hardware de la bomba

Capítulo 1 Introducción 35

Page 36: Introduccion a Ing. de Software

Modelo de actividad de la bomba de insulina

Capítulo 1 Introducción 36

Page 37: Introduccion a Ing. de Software

Requisitos esenciales de alto nivel

• El sistema deberá estar disponible para administrar insulina cuando sea necesario.

• El sistema deberá funcionar de manera confiable y entregar la cantidad correcta de insulina para contrarrestar el actual nivel de azúcar en la sangre.

• Por tanto, el sistema debe ser diseñado e implementado para asegurar que el sistema siempre cumple con estos requisitos.

Capítulo 1 Introducción 37

Page 38: Introduccion a Ing. de Software

Un sistema de información del paciente para el cuidado de la salud mental

• Un sistema de información del paciente para apoyar la atención de la salud mental es un sistema de información médica que mantiene información sobre los pacientes que sufren de problemas de salud mental y los tratamientos que han recibido.

• La mayoría de los pacientes de salud mental no requieren tratamiento hospitalario dedicado, pero tienen que asistir a clínicas especializadas regularmente donde pueden conocer a un médico que ha detallado conocimiento de sus problemas.

• Para que sea más fácil para los pacientes asistir, estas clínicas no sólo se ejecutan en los hospitales. También podrán celebrarse en las prácticas médicas locales o centros comunitarios.

Capítulo 1 Introducción 38

Page 39: Introduccion a Ing. de Software

MHC-PMS

• El MHC-PMS (Sistema de Gestión de la Salud Mental Care-paciente) es un sistema de información que está diseñado para ser utilizado en las clínicas.

• Se hace uso de una base de datos centralizada de la información del paciente, sino también ha sido diseñado para funcionar en un PC, de modo que pueda ser accedido y usado desde los sitios que no tienen conectividad de red seguro.

• Cuando los sistemas locales tienen acceso a la red segura, utilizan la información del paciente en la base de datos pero se pueden descargar y utilizar copias locales de los registros de pacientes cuando están desconectados.

Capítulo 1 Introducción 39

Page 40: Introduccion a Ing. de Software

Metas MHC-PMS

• Para generar información de gestión que permite a los administradores de servicios de salud para evaluar el desempeño contra objetivos locales y gubernamentales.

• Para proporcionar al personal médico con información oportuna para apoyar el tratamiento de los pacientes.

Capítulo 1 Introducción 40

Page 41: Introduccion a Ing. de Software

La organización de la MHC-PMS

Capítulo 1 Introducción 41

Page 42: Introduccion a Ing. de Software

MHC-PMS características clave

• Gestión de la atención individual Los médicos pueden crear registros para los pacientes, editar la información

en el sistema, ver el historial del paciente, etc. El sistema es compatible con resúmenes de datos para que los médicos puedan aprender rápidamente acerca de los principales problemas y tratamientos que han sido prescritos.

• La monitorización del paciente El sistema controla los registros de los pacientes que participan en el

tratamiento y emite advertencias si se detectan posibles problemas.

• El reporte administrativo El sistema genera informes de gestión mensuales que muestran el número

de pacientes tratados en cada clínica, el número de pacientes que han entrado y salido del sistema de atención, número de pacientes en sección, los medicamentos prescritos y sus costes, etc.

Capítulo 1 Introducción 42

Page 43: Introduccion a Ing. de Software

Preocupaciones MHC-PMS

• IntimidadEs esencial que la información del paciente es confidencial y nunca

se revelará a nadie, aparte de personal médico autorizado y los propios pacientes.

• SeguridadAlgunas enfermedades mentales causan los pacientes se vuelvan

suicidas o un peligro para otras personas. Siempre que sea posible, el sistema debe advertir al personal médico acerca de los pacientes potencialmente suicidas o peligrosas.

El sistema debe estar disponible cuando la necesaria seguridad puede verse comprometida y puede ser imposible prescribir el medicamento correcto para los pacientes.

Capítulo 1 Introducción 43

Page 44: Introduccion a Ing. de Software

Desierto estación meteorológica

• El gobierno de un país con grandes extensiones de desierto decide desplegar varios cientos de estaciones meteorológicas en zonas remotas.

• Estaciones meteorológicas recogen datos de un conjunto de instrumentos que miden la temperatura y la presión, el sol, la lluvia, la velocidad y dirección del viento.La estación meteorológica incluye una serie de instrumentos que miden

parámetros meteorológicos tales como la velocidad y dirección del viento, las temperaturas terrestres y aéreas, la presión barométrica y la precipitación durante un período 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 obtenidos de los instrumentos.

Capítulo 1 Introducción 44

Page 45: Introduccion a Ing. de Software

Entorno del estación meteorológica

Capítulo 1 Introducción 45

Page 46: Introduccion a Ing. de Software

El tiempo del sistema de información

• El sistema de estación meteorológica Esto es responsable de recoger datos meteorológicos, llevando a cabo

algún procesamiento inicial de los datos y transmitirlo al sistema de gestión de datos.

• La gestión de datos y sistema de archivo Este sistema recoge los datos de todas las estaciones meteorológicas

desierto, lleva a cabo el procesamiento y análisis de datos y archivos de datos.

• El sistema de mantenimiento de la estación Este sistema se puede comunicar por satélite con todas las estaciones

meteorológicas desierto para controlar la salud de estos sistemas y proporcionar informes de problemas.

Capítulo 1 Introducción 46

Page 47: Introduccion a Ing. de Software

La funcionalidad adicional de software

● Monitoreo de Instrumentos, potencia y hardware de comunicacion y reporta fallas al sistema de administracion.

● Administra el sistema de poder, asegurando que las pilas son cargadas cuando las condiciones medioambientales lo permites pero tambien apaga los generadores en codiciones de mal tiempo, como vientos fuertes.

● Soporta reconfiguracion dinamica cuando se reemplazan las partes del software con nuevas versiones y cuando los instrumentos de resguardo (backup) son cambiados cuando el sistema falla.

Capítulo 1 Introducción 47

Page 48: Introduccion a Ing. de Software

Puntos clave

• Los ingenieros de software tienen responsabilidades para con la profesión de la ingeniería y de la sociedad. Ellos no deben ser simplemente preocupados por cuestiones técnicas.

• Las sociedades profesionales publican códigos de conducta que establecen las normas de comportamiento que se espera de sus miembros.

• Tres estudios de casos se utilizan en el libro:Un sistema de control de la bomba de insulina incrustado

Un sistema para la gestión de la atención de la salud mental del paciente

Una estación meteorológica desierto

Page 49: Introduccion a Ing. de Software

Estructura de los estudios y la organización

• Agregue su propio material aquí acerca de cómo se va a correr el curso

Capítulo 1 Introducción 49