La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de la producción de software.

Documentos relacionados
CONTROL INTERNO - EL INFORME COSO

GLOSARIO DE TÉRMINOS

Charlas para la gestión del Mantenimiento Fernando Espinosa Fuentes

Ingeniería de Requerimientos. requiere de un Sistema de Software.

SISTEMAS DE GESTIÓN DE SEGURIDAD DE LA INFORMACIÓN, RIESGOS Y CONTINUIDAD DE NEGOCIOS

Proceso de Implementación de actividades de Control en las Unidades de Tecnología de la Información

Requerimientos de Software

MANTENIMIENTO INDUSTRIAL.

u Explicar la importancia de la visibilidad delos procesos. u Introducir la noción de responsabilidad profesional. u Productos genéricos.

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

DIFERENCIA ENTRE CRIPTOGRAFIA SIMETRICA Y ASIMETRICA

CICLO DE VIDA DEL SOFTWARE

Alcances de la Norma Draft ISO Technical Specification ISO/DTS María Altamirano

Procedimiento para Mantenimiento de Centrales de Generación

Control de Calidad del Software

Ingeniería de Software II. SETEPROS Plan de pruebas. Versión 1.0

8.1 PLANIFICAR LA CALIDAD

DISEÑO Y CONSTRUCCION DE MODELOS WEB

LA FIABILIDAD EN LOS SISTEMAS DE TELECOMUNICACIONES

Conceptos y buenas prácticas de DFM

Requerimientos del software

NORMAS INTERNACIONALES DE AUDITORIA. Sección 1009

Desarrollo Rápido de Software. Objetivos

CATEDRA Mantenimiento Industrial. Unidad I Mantenimiento Industrial. Ing. Deny González

Grado en que el producto software satisface las necesidades expresadas o implícitas, cuando se usa bajo condiciones determinadas. ISO

ISO 9001 Auditing Practices Group Guidance on:

REGLAMENTO DE DISTRIBUCIÓN Y COMERCIALIZACIÓN

Ingeniería de Software

Elementos vulnerables en el sistema informático: hardware, software y datos. Luis Villalta Márquez

Sistemas de Información

INTERFACES INTELIGENTES. ING. MA. MARGARITA LABASTIDA ROLDÁN E mail:

INTERPRETACIÓN NORMA OHSAS 18001:2007 MÓDULO 1 SESIÓN 1 INTERPRETACIÓN DE LA NORMA OHSAS 18001:2007 DOCENTE: Ing. Dª. Ana I.

SOLUCIONES INTEGRADAS PARA LA ADMINISTRACION, GESTION Y CONTROL DE MANTENIMIENTOS DE EQUIPAMIENTO INDUSTRIAL

V ENCUENTRO INTERNACIONAL DE METROS IMPLEMENTACIÓN DE METROS SUBTERRÁNEOS LIMA PERÚ 2015

FACULTAD DE INGENIERÍA

norma española UNE-EN EXTRACTO DEL DOCUMENTO UNE-EN Seguridad funcional

Los 10 pasos. para el aseguramiento de la calidad en uniones atornilladas. Equipos y sistemas de medición SCHATZ Advanced Quality

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

FICHA PÚBLICA DEL PROYECTO

PLAN INTEGRAL DE MANTENIMIENTO DE LA UNIVERSIDAD DEL ATLANTICO AÑO 2011

Identificación de agentes en el diseño de sistemas de control de producción Pau Herrero Viñas

Nuevos enfoques del tema documentación en la nueva ISO 9001:2015 y sus posibles aportaciones a la ISO 18091

Prueba, caso de prueba, defecto, falla, error, verificación, validación.

Ing. José Luis Alfonso Barreto & Jorge Luis Blanco Ramos

3. DOCUMENTACIÓN 3.1. DOCUMENTACIÓN DE APLICACIONES. OBJETIVOS PARA MODIFICAR HACE FALTA COMPRENDER/ESTUDIAR:

MODELO Y SISTEMA DE GESTIÓN DE LA I+D+i

Simulación de eventos discretos.

Informe evaluación Heurística Antonella Pastén Bernales 3 Diseño gráfico Lenguaje Computacional 2 PUCV

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

Rational Unified Process

ESTANDARES INTERNACIONALES PARA DESARROLLO DE SOFTWARE. INTRODUCCIÓN

Principios de Análisis Informático. Tema 3: Fase de inicio

ISO SERIE MANUALES DE CALIDAD GUIAS DE IMPLEMENTACION. ISO 9001:2008 Como implementar los cambios parte 1 de 6

Código: U-PR Versión: 0.0

RIESGO OPERACIONAL La crisis económica aumenta el riesgo de fraude. Lic. Yanio Concepción

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

Ingeniería de Factores Humanos en las modificaciones de diseño en ANAV

Diseño arquitectónico 1ª edición (2002)

ISO 9004:2009: Gestión del éxito sostenido de una organización. Un enfoque de gestión de la calidad

PRUEBA DE FUGA PRINCIPIOS DE FUGA Y PRUEBA DE FUGA

ELECTIVA III. Entregables Minimos

TPSC Cloud. Software de Gestión Participativa, Gestión de Riesgos y Cumplimiento

ASESORIA, CONSULTORIA & OBRAS

RED ELÉC TRIC A DE ESPAÑA

Escáner Designjet HD Pro. Garantía limitada

Oscar Martínez Álvaro

Introducción. Diplomado en Calidad y Estimación de Sistemas Informáticos

Monitorización continua las 24 Horas del día Capacidad de operar en redes de área extensa, a través de diferentes vías de comunicación

Ingeniería de Sistemas. basados en computadoras

IMPORTANCIA DE LA CONSERVACIÓN

LOS RECURSOS. Recursos humanos

CAPITULO I EL PROBLEMA

Capítulo 7: Realización del producto

PRIMER CONGRESO DE MANTENIMIENTO CANAL DE PANAMÁ

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

CONCEPTOS BASICOS DE CALIDAD

Aseguramiento de la calidad y pruebas de software 4- Revisiones 5- Pruebas del software

PANORAMA DE FACTORES DE RIESGO ARP SURA

Grado en Ingeniería Informática. Plan de proyecto. Desarrollo de Sistemas de Información Corporativos. Departamento de Informática

P O R Q U É I D E A S CLIENTES. La innovación impulsa la excelencia, los logros y los ahorros

CUADRO COMPARATIVO DE LOS MODELOS DE CALIDAD ELABORADO POR: EDUARD ANTONIO LOZANO CÓRDOBA. (Documento: ) PRESENTADO A:

Cápsula 9. Medición de Software

FUNCIONES BÁSICAS DE LA GERENCIA DE PROYECTOS

1. Los flujogramas o diagramas de flujo son herramientas de: 2. Entre los beneficios del trabajo en grupo se encuentra:

ALLSOFT S.A. de C.V. Monterrey, N.L.

El Software. Es lo que se conoce como el ciclo de vida del software.

CYBSEC S.A. CYBSEC Política de Publicación de Vulnerabilidades

Ingeniería del Software 2

Expositor: Mauricio Galvez Legua

Bases de Datos: Introducción

RETOS Y OPORTUNIDADES DE LA IMPLEMENTACIÓN DEL SISTEMA DE GESTION EFICIENTE DE LA ENERGIA

Nombre del Indicador Porcentaje de errores en pedidos de cliente. Rapidez en la respuesta a las necesidades de los clientes

Nuevos enfoques en la gestión de activos. La serie de normas ISO

Sustantiva Órgano Interno de Control. Subdirector de Infraestructura. Dirección de Infraestructura

PROCESOS DE LA DIRECCIÓN DE PROYECTO I N G. C R U C E S H E R N A N D E Z G U E R R A U N I V E R S I D A D A L A S P E R U A N A S

LA CAPACIDAD DE UN PROCESO DE CUMPLIR LOS REQUISITOS DEL CLIENTE DEPENDE DE SU VARIABILIDAD.

DEPARTAMENTO DE VINCULACION 1

CD INTERACTIVO DE PLANES DE CONTINGENCIA Y SEGURIDAD INFORMÁTICA PARA LA MEDIANA Y GRAN EMPRESA DE EL SALVADOR.

SISTEMA INTEGRADO DE GESTIÓN

POLÍTICA DE SEGURIDAD Y SALUD OCUPACIONAL, PROTECCIÓN Y MEDIO AMBIENTE (HSSE)

Transcripción:

Ingeniería del Software. Ian Sommerville Introducción. Preguntas de introducción. Qué es el software? Programas de ordenador y la documentación asociada. Los productos de software se pueden desarrollar para algún cliente en particular o para un mercado general. Qué es la ingeniería del software? La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de la producción de software. Cuál es la diferencia entre ingeniería del software y ciencia de la computación? La ciencia de la computación comprende la teoría y los fundamentos; la ingeniería del software comprende las formas prácticas para desarrollar y entregar un software útil. Cuál es la diferencia entre ingeniería del software e ingeniería de sistemas? La ingeniería de sistemas se refiere a todos los aspectos del desarrollo de sistemas informáticos, incluyendo hardware, software e ingeniería de procesos. La ingeniería del software es parte de este proceso. Qué es un proceso del software? Un conjunto de actividades cuya meta es el desarrollo o evolución del software. Qué es un modelo de procesos del software? Una representación simplificada de un proceso del software, presentad desde una perspectiva específica. Cuáles son los costos de la ingeniería del software? A grande rasgos, el 60% de los costos son de desarrollo, el 40% restante son de pruebas. En el caso del software personalizado, los costos de evolución a menudo exceden los de desarrollo. Qué son los métodos de la ingeniería del software? Enfoques estructurados para el desarrollo de software que incluyen modelos de sistemas, notaciones, reglas, sugerencias de diseño y guías de procesos. Qué es CASE (ingeniería del software asistida por ordenador? Sistemas de software que intentan proporcionar ayuda automatizada a las actividades del proceso del software. Los sistemas CASE a menudo se utilizan como apoyo al método. 1

Cuáles son los atributos de un buen software? El software debe tener la funcionalidad y el rendimiento requeridos por el usuario, además de ser mantenible, confiable y fácil de utilizar. Cuáles son los retos fundamentales a los que se enfrenta la ingeniería del software)? Enfrentarse con la creciente diversidad, las demandadas para reducir los tiempos de entrega y el desarrollo de software fiable. Definición de método. Un método es un enfoque estructurado para el desarrollo de software cuyo propósito es facilitar la producción de software de alta calidad de una forma costeable. Componentes de un método. Descripciones del modelo del sistema. Descripciones de los modelos del sistema que desarrollará y la notación utilizada para definir estos modelos. Por ejemplo: modelos de objetos o flujos de datos. Reglas. Restricciones que siempre se aplican a los modelos de sistemas. Por ejemplo: cada entidad de un modelo del sistema debe tener un nombre único. Recomendaciones. Heurística que caracteriza una buena práctica de diseño en este método. Seguir recomendaciones debe dar como resultado un modelo del sistema bien organizado. Por ejemplo: ningún objeto debe tener más de siete subobjetos asociados a él. Guías en el proceso. Descripciones de las actividades que deben seguirse para desarrollar los modelos del sistema y la organización de estas actividades. Por ejemplo: los atributos de los objetos deben documentarse antes de definir las operaciones asociadas a un objeto. Los atributos de un buen software. Mantenibilidad. El software debe escribirse de tal forma que pueda evolucionar para cumplir las necesidades de cambio de los clientes. Éste es un atributo crítico debido a que el cambio en el software es una consecuencia inevitable de un cambio en el entorno de negocio. Confiabilidad. La confiabilidad del software tiene un gran número de características, incluyendo la fiabilidad, la protección y la seguridad. El software confiable no debe causar daños físicos en el caso de que se produzca un error en el sistema. Eficiencia. El software no debe hacer que se malgasten los recursos del sistema, como la memoria y los ciclos de procesamiento. Por lo tanto, la eficiencia incluye tiempos de respuesta y de procesamiento, de utilización de memoria, etc. Usabilidad. El software debe ser fácil de utilizar, sin esfuerzo adicional, por el usuario para quien está diseñado. Esto significa que debe tener una interfaz de usuario apropiada y una documentación adecuada. 2

Puntos clave. La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de producción de un software. Los productos software consisten en programas desarrollados y en la documentación asociada. Los atributos esenciales de los productos software son: Mantenibilidad, confiabilidad, eficiencia y usabilidad. El proceso del software incluye todas las actividades relativas al desarrollo del software. Las actividades de alto nivel de especificación del software, el desarrollo, la validación y la evolución son parte de todos los procesos software. Los métodos son formas organizadas de producir software. Incluyen sugerencias para el proceso que se debe seguir, la notación que se va a utilizar, los modelos del sistema que hay que desarrollar y las reglas que gobiernan estos modelos junto con las pautas de diseño. Las herramientas CASE son sistemas de software que están diseñados para ayudar a las actividades rutinarias del proceso del software, como editar diagramas de diseño, verificar la consistencia de éstos y mantener un banco de pruebas de los programas ejecutados. Los ingenieros de software tienen responsabilidades en la profesión de la ingeniería y en la sociedad. No sólo deben estar pendientes de los aspectos técnicos. Las sociedades profesionales publican códigos de conducta que definen los estándares de comportamientos esperado por sus miembros. Sistemas socio-técnicos. Propiedades emergentes de los sistemas. Volumen. El volumen de un sistema (el espacio total ocupado) varía dependiendo de cómo estén ordenados y conectados los montajes de los componentes. Fiabilidad. La fiabilidad del sistema depende de la fiabilidad de los componentes, pero interacciones inesperadas pueden causar nuevos tipos de fallos y, por lo tanto, afectar a la fiabilidad del sistema. Protección. La protección del sistema (su capacidad para resistir ataques) es una propiedad compleja que no se puede medir fácilmente. Los ataques pueden ser ideados de forma que no fueron predichos por los diseñadores del sistema y así vencer las protecciones incorporadas. Reparabilidad. Esta propiedad refleja que punto resulta fácil arreglar un problema con el sistema una vez que ha sido descubierto. Depende de la posibilidad de diagnosticar el 3

problema, acceder a los componentes que son defectuosos y modificar o reemplazar estos componentes. Usabilidad. Esta propiedad refleja como es de fácil usar el sistema. Depende de los componentes técnicos del sistema, sus operarios y su entorno de operaciones. Puntos clave. Los sistemas socio-técnicos incluyen hardware, software y personas y, se sitúan dentro de una organización. Están diseñados para ayudar a la organización a cumplir algún objetivo amplio. Las propiedades emergentes de un sistema son características de los sistemas como un todo más que sus partes componentes. Incluyen propiedades como el rendimiento, la fiabilidad, la usabilidad, la seguridad y la protección. El éxito o fracaso de un sistema depende a menudo de estas propiedades emergentes. El proceso de la ingeniería de sistemas comprende la especificación, el diseño, el desarrollo, la integración y las pruebas. La integración de sistemas es crítica cuando diversos subsistemas de diferentes proveedores deben trabajar de manera conjunta. Factores humanos y organizacionales como la estructura y políticas organizacionales influyen de forma significativa en el funcionamiento de los sistemas socio-técnicos. Dentro de una organización, existen complejas relaciones entre los procesos de adquisición, desarrollo y operativo del sistema. Un sistema heredado es un sistema antiguo que aún proporciona servicios esenciales de negocio. Los sistemas heredados no son sólo sistemas de software de aplicación. Son sistemas sociotécnicos, por lo que incluyen procesos de negocio, software de aplicación, software de apoyo y sistema hardware. Sistemas críticos. Terminología de la fiabilidad. Fallo del sistema. Evento que tiene lugar en algún instante cuando el sistema no funciona como esperan sus usuario. Error del sistema. Estado erróneo del sistema que puede dar lugar a un comportamiento inesperado por sus usuarios. Defecto del sistema. Característica de un sistema software que puede dar lugar a un error del sistema. Por ejemplo: un fallo en la ejecución al inicializar una variable puede hacer que dicha variable tenga un valor incorrecto cuando sea usada. 4

Error humano o equivocación. Comportamiento humano que tiene como consecuencia la introducción de defectos en el sistema. Terminología de la fiabilidad. Accidente. Evento o secuencia de eventos no planificados que provocan muerte o lesiones, daño a las propiedades o al entorno. Un ejemplo de un accidente es una máquina controlada por un ordenador que lesiona a su operador. Contingencia. Una condición con el potencial de causar o contribuir a un accidente. Un ejemplo de contingencia es un fallo de funcionamiento de un sensor que detecta un obstáculo delante de una máquina. Daño. Medida de la pérdida resultante de un percance. El daño puede variar desde varias personas muertas como resultado de un accidente, hasta lesiones o daños menores a la propiedad. Gravedad de la contingencia. Evaluación del peor daño posible que podría resultar de una contingencia en particular. La gravedad de la contingencia puede variar desde catastrófica, en donde muchas personas mueren, a menor, en donde resultan solamente daños menores. Probabilidad de la contingencia. La probabilidad de la ocurrencia de eventos que provocan una contingencia. Los valores de probabilidad tienden a ser arbitrarios, pero varían desde probable hasta improbable. Riesgo. Es una medida de la probabilidad de que el sistema provoque un accidente. El riesgo se evalúa considerando la probabilidad de la contingencia, la gravedad de la contingencia y la probabilidad de que una contingencia cause un accidente. Puntos clave. En un sistema crítico, un fallo de funcionamiento puede provocar pérdidas económicas importantes, daños físicos o amenazas a la vida humana. Tres clases importantes de sistemas críticos son los sistemas de seguridad críticos, sistemas de misión críticos y sistemas de negocio críticos. La confiabilidad de un sistema informático es una propiedad del sistema que refleja el grado de confianza que el usuario tiene en el sistema. Las dimensiones más importantes de la confiabilidad son la disponibilidad, fiabilidad, seguridad y protección. La disponibilidad de un sistema es la probabilidad de que le sea posible entregar los servicios a sus usuarios cuando se lo soliciten y la fiabilidad es probabilidad de que los servicios del sistema se entreguen de acuerdo con lo especificado. La fiabilidad y la disponibilidad se consideran normalmente como las dimensiones más importantes de la confiabilidad. Si un sistema no es fiable, es difícil asegurar la seguridad del sistema o su protección, ya que éstas pueden verse comprometidas por fallos de funcionamiento del sistema. 5

La fiabilidad se relaciona con la probabilidad de que se produzca un error en el momento de utilizar el sistema. Un programa puede contener defectos conocidos, pero aún puede considerarse como fiable por sus usuarios. Éstos pueden no usar nunca las características del sistema que están afectadas por esos defectos. La seguridad de un sistema es un atributo de éste que refleja la capacidad del sistema para funcionar, de forma normal o anormalmente, sin amenazar a las personas o al entorno. La protección es importante para todos los sistemas críticos. Sin un nivel de protección razonable, la disponibilidad, fiabilidad y seguridad de un sistema pueden verse comprometidas si ataques externos provocan algún daño al sistema. Para mejorar la confiabilidad, es necesario adoptar una aproximación socio-técnica para el diseño del sistema, teniendo en cuenta a las personas que forman parte del sistema así como el hardware y el software. 6