Vous êtes sur la page 1sur 6

Ingeniera del Software.

Ian Sommerville

Introduccin.
Preguntas de introduccin.
Qu es el software? Programas de ordenador y la documentacin asociada. Los productos de software se pueden desarrollar para algn cliente en particular o para un mercado general. Qu es la ingeniera del software? La ingeniera del software es una disciplina de ingeniera que comprende todos los aspectos de la produccin de software. Cul es la diferencia entre ingeniera del software y ciencia de la computacin? La ciencia de la computacin comprende la teora y los fundamentos; la ingeniera del software comprende las formas prcticas para desarrollar y entregar un software til. Cul es la diferencia entre ingeniera del software e ingeniera de sistemas? La ingeniera de sistemas se refiere a todos los aspectos del desarrollo de sistemas informticos, incluyendo hardware, software e ingeniera de procesos. La ingeniera del software es parte de este proceso. Qu es un proceso del software? Un conjunto de actividades cuya meta es el desarrollo o evolucin del software. Qu es un modelo de procesos del software? Una representacin simplificada de un proceso del software, presentad desde una perspectiva especfica. Cules son los costos de la ingeniera 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 evolucin a menudo exceden los de desarrollo. Qu son los mtodos de la ingeniera del software? Enfoques estructurados para el desarrollo de software que incluyen modelos de sistemas, notaciones, reglas, sugerencias de diseo y guas de procesos. Qu es CASE (ingeniera 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 mtodo. 1

Cules son los atributos de un buen software? El software debe tener la funcionalidad y el rendimiento requeridos por el usuario, adems de ser mantenible, confiable y fcil de utilizar. Cules son los retos fundamentales a los que se enfrenta la ingeniera del software)? Enfrentarse con la creciente diversidad, las demandadas para reducir los tiempos de entrega y el desarrollo de software fiable.

Definicin de mtodo.
Un mtodo es un enfoque estructurado para el desarrollo de software cuyo propsito es facilitar la produccin de software de alta calidad de una forma costeable.

Componentes de un mtodo.
Descripciones del modelo del sistema. Descripciones de los modelos del sistema que desarrollar y la notacin 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. Heurstica que caracteriza una buena prctica de diseo en este mtodo. Seguir recomendaciones debe dar como resultado un modelo del sistema bien organizado. Por ejemplo: ningn objeto debe tener ms de siete subobjetos asociados a l. Guas en el proceso. Descripciones de las actividades que deben seguirse para desarrollar los modelos del sistema y la organizacin 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 crtico 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 nmero de caractersticas, incluyendo la fiabilidad, la proteccin y la seguridad. El software confiable no debe causar daos fsicos 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 utilizacin de memoria, etc. Usabilidad. El software debe ser fcil de utilizar, sin esfuerzo adicional, por el usuario para quien est diseado. Esto significa que debe tener una interfaz de usuario apropiada y una documentacin adecuada. 2

Puntos clave.
La ingeniera del software es una disciplina de ingeniera que comprende todos los aspectos de produccin de un software. Los productos software consisten en programas desarrollados y en la documentacin 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 especificacin del software, el desarrollo, la validacin y la evolucin son parte de todos los procesos software. Los mtodos son formas organizadas de producir software. Incluyen sugerencias para el proceso que se debe seguir, la notacin 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 diseo. Las herramientas CASE son sistemas de software que estn diseados para ayudar a las actividades rutinarias del proceso del software, como editar diagramas de diseo, verificar la consistencia de stos y mantener un banco de pruebas de los programas ejecutados. Los ingenieros de software tienen responsabilidades en la profesin de la ingeniera y en la sociedad. No slo deben estar pendientes de los aspectos tcnicos. Las sociedades profesionales publican cdigos de conducta que definen los estndares de comportamientos esperado por sus miembros.

Sistemas socio-tcnicos.
Propiedades emergentes de los sistemas.
Volumen. El volumen de un sistema (el espacio total ocupado) vara dependiendo de cmo estn 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. Proteccin. La proteccin del sistema (su capacidad para resistir ataques) es una propiedad compleja que no se puede medir fcilmente. Los ataques pueden ser ideados de forma que no fueron predichos por los diseadores del sistema y as vencer las protecciones incorporadas. Reparabilidad. Esta propiedad refleja que punto resulta fcil 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 fcil usar el sistema. Depende de los componentes tcnicos del sistema, sus operarios y su entorno de operaciones.

Puntos clave.
Los sistemas socio-tcnicos incluyen hardware, software y personas y, se sitan dentro de una organizacin. Estn diseados para ayudar a la organizacin a cumplir algn objetivo amplio. Las propiedades emergentes de un sistema son caractersticas de los sistemas como un todo ms que sus partes componentes. Incluyen propiedades como el rendimiento, la fiabilidad, la usabilidad, la seguridad y la proteccin. El xito o fracaso de un sistema depende a menudo de estas propiedades emergentes. El proceso de la ingeniera de sistemas comprende la especificacin, el diseo, el desarrollo, la integracin y las pruebas. La integracin de sistemas es crtica cuando diversos subsistemas de diferentes proveedores deben trabajar de manera conjunta. Factores humanos y organizacionales como la estructura y polticas organizacionales influyen de forma significativa en el funcionamiento de los sistemas socio-tcnicos. Dentro de una organizacin, existen complejas relaciones entre los procesos de adquisicin, desarrollo y operativo del sistema. Un sistema heredado es un sistema antiguo que an proporciona servicios esenciales de negocio. Los sistemas heredados no son slo sistemas de software de aplicacin. Son sistemas sociotcnicos, por lo que incluyen procesos de negocio, software de aplicacin, software de apoyo y sistema hardware.

Sistemas crticos.
Terminologa de la fiabilidad.
Fallo del sistema. Evento que tiene lugar en algn instante cuando el sistema no funciona como esperan sus usuario. Error del sistema. Estado errneo del sistema que puede dar lugar a un comportamiento inesperado por sus usuarios. Defecto del sistema. Caracterstica de un sistema software que puede dar lugar a un error del sistema. Por ejemplo: un fallo en la ejecucin al inicializar una variable puede hacer que dicha variable tenga un valor incorrecto cuando sea usada. 4

Error humano o equivocacin. Comportamiento humano que tiene como consecuencia la introduccin de defectos en el sistema.

Terminologa de la fiabilidad.
Accidente. Evento o secuencia de eventos no planificados que provocan muerte o lesiones, dao a las propiedades o al entorno. Un ejemplo de un accidente es una mquina controlada por un ordenador que lesiona a su operador. Contingencia. Una condicin 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 obstculo delante de una mquina. Dao. Medida de la prdida resultante de un percance. El dao puede variar desde varias personas muertas como resultado de un accidente, hasta lesiones o daos menores a la propiedad. Gravedad de la contingencia. Evaluacin del peor dao posible que podra resultar de una contingencia en particular. La gravedad de la contingencia puede variar desde catastrfica, en donde muchas personas mueren, a menor, en donde resultan solamente daos 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 varan desde probable hasta improbable. Riesgo. Es una medida de la probabilidad de que el sistema provoque un accidente. El riesgo se evala 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 crtico, un fallo de funcionamiento puede provocar prdidas econmicas importantes, daos fsicos o amenazas a la vida humana. Tres clases importantes de sistemas crticos son los sistemas de seguridad crticos, sistemas de misin crticos y sistemas de negocio crticos. La confiabilidad de un sistema informtico es una propiedad del sistema que refleja el grado de confianza que el usuario tiene en el sistema. Las dimensiones ms importantes de la confiabilidad son la disponibilidad, fiabilidad, seguridad y proteccin. 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 ms importantes de la confiabilidad. Si un sistema no es fiable, es difcil asegurar la seguridad del sistema o su proteccin, 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 an puede considerarse como fiable por sus usuarios. stos pueden no usar nunca las caractersticas del sistema que estn 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 proteccin es importante para todos los sistemas crticos. Sin un nivel de proteccin razonable, la disponibilidad, fiabilidad y seguridad de un sistema pueden verse comprometidas si ataques externos provocan algn dao al sistema. Para mejorar la confiabilidad, es necesario adoptar una aproximacin socio-tcnica para el diseo del sistema, teniendo en cuenta a las personas que forman parte del sistema as como el hardware y el software.

Vous aimerez peut-être aussi