ingenieria en software

12
INTRODUCCIÓN La Ingeniería del Software ofrece método y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez mas frecuente la consideración de la Ingeniería del Software como un nueva área de la ingeniería, y el Ingeniero del Software comienza a ser una profesión implantada en el mundo laboral con derechos, deberes y responsabilidades que cumplir, junto a una, y reconocida consideración social en el mundo empresarial. TEMA LOS METODOS DE LA INGENIERIA DE SOFTWARE DESARROLLO Una metodología de ingeniería del software es un procesopara producir software de forma organizada, empleando unacolección de técnicas y convenciones de notaciónpredefinidas. Los componentes de un método son: ¿QUE ES CASE? Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el

Upload: johanna-caragolla

Post on 22-Jun-2015

1.366 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Ingenieria en Software

INTRODUCCIÓN

La Ingeniería del Software ofrece método y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez mas frecuente la consideración de la Ingeniería del Software como un nueva área de la ingeniería, y el Ingeniero del Software comienza a ser una profesión implantada en el mundo laboral con derechos, deberes y responsabilidades que cumplir, junto a una, y reconocida consideración social en el mundo empresarial.

TEMA

LOS METODOS DE LA INGENIERIA DE SOFTWARE

DESARROLLO

Una metodología de ingeniería del software es un procesopara producir software de forma organizada, empleando unacolección de técnicas y convenciones de notaciónpredefinidas.Los componentes de un método son:

¿QUE ES CASE?

Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras.

¿CUALES SON LOS ATRIBUTOS DE UN BUEN SOFTWARE?

Mantenibilidad:- el software debe cumplir las necesidades de cambio de los clientes y de la empresa.

Page 2: Ingenieria en Software

Confiabilidad:- el software debe tener fiabilidad, protección y seguridad, no debe causar daños físicos ni económicos en caso de una falla del sistema.

Eficiencia:- la eficiencia incluye tiempo de respuesta y de procesamiento.

Usabilidad:- el software debe ser fácil de usar ya que va a ver y no usuarios que no tengan un conocimiento amplio del sistema.

¿CUALES SON LOS RETOS FUNDAMENTALES PARA AFORNTAR LA INGENIERIA DE SOFTWARE?

El reto de la heterogeneidad:- es desarrollar técnicas para construir software confiable que sea lo suficiente flexible.

El reto de la entrega:- reducir los tiempos de entrega para sistemas grandes y complejos sin comprometer la calidad del sistema.

El reto de la confianza:- desarrollar técnicas que demostré que los usuarios pueden confiar en el software.

RESPONSABILIDAD PROFESIONAL Y ÉTICA

Confidencialidad:- debe respetar la confidencialidad de sus empleadores o clientes.

Competencia:- no debe falsificar el nivel de competencia.

Derechos de propiedad intelectual:- tiene que ser consiente de las leyes locales como las patentes y el copyright.

Uso inapropiado de las computadoras:- no debe utilizar las inapropiadamente las computadoras de sus compañeros.

Los Ingenieros de software deben adherirse a los siguientes principios.

Publico:- deben actuar con el interés publico.

Cliente y empleador:- deben actuar de forman que respondan a los intereses de sus clientes y empleadores.

Producto:- deben asegurar que sus productos cumplan los mas altos estándares profesionales.

Juicio:- deben mantener la integridad e independencia en sus juicios profesionales.

Page 3: Ingenieria en Software

Gestión:- deberán suscribirse y promocionar un enfoque ético en la gestión del desarrollo y mantenimiento de software.

Profesión:- deberán mantener la integridad y reputación de la profesión.

Colegas:-deberán ser imparciales y apoyar a sus colegas.

Personal:- deberán aprender lo concerniente a la practica de su profesión.

SISTEMAS SOCIO- TÉCNICOS

Sistemas socio técnicos: comprende uno o más sistemas técnicos pero también incluyen conocimiento de cómo debe usarse el sistema para alcanzar algún objetivo mas amplio. Esto quiere decir que estos sistemas han definido los procesos operativos, incluyen personas como parte del sistema, son gobernados con políticas y reglas organizacionales y pueden verse afectados por restricciones externas tales como leyes nacionales y políticas reguladoras.

Las características del sistema socio-técnico son:Tiene propiedades emergentes: que son propiedades del sistemas como un todo mas que asociadas con partes individuales del sistema. Las propiedades emergentes dependen tanto de los componentes del sistema como de las relaciones entre ellos.

Son a menudo no deterministas. Esto significa que no siempre producen la misma salida. El comportamiento del sistema depende de los operadores humanos y las personas no siempre actúan de la misma forma.

El grado en que el sistema apoya los objetivos organizacionales no solo depende del sistema en si mismo, también depende de la estabilidad de los objetivos, de las relaciones y conflictos entre los objetivos organizaciones y de cómo las personas en la organización interpretan estos objetivos.

Una característica de los sistemas es que las propiedades y el comportamiento de los componentes del sistema están inseparablemente entremezclados. El funcionamiento exitoso de los componentes depende de otros componentes. Además, por lo general los sistemas son jerárquicos y de este modo incluyen otros sistemas, subsistemas, que además tienen la propiedad de funcionar de forma individual.

PROPIEDADES EMERGENTES DE LOS SISTEMAS

Estas propiedades emergentes no se pueden atribuir a ninguna parte específica del sistema, mas bien, emergen solo cuando los componentes del sistema han sido integrados.

Page 4: Ingenieria en Software

Existen dos tipos de propiedades emergentes:1- Las propiedades emergentes funcionales: aparecen cuando todas las partes de un sistema trabajan de forma conjunta para cumplir con algún objetivo. Ej. Bicicleta propiedad de medio de transporte una vez que unieron todas sus componente.2- Las propiedades emergentes no funcionales: se refieren al comportamiento de los sistemas en su entorno operativo. Ej. Fiabilidad, rendimiento, seguridad y protección. A menudo son factores críticos para sistemas informáticos, ya que un fallo mínimo en estas propiedades pueden hacer inutilizable el sistema.

INGENIERÍA DE SISTEMAS

La ingeniería de sistemas es la actividad de especificar, diseñar, implementar, validar, utilizar y mantener los sistemas socio-técnicos. Los ingenieros de sistemas no solo tratan con el SW, sino también con el HW y las interacciones del sistema con los usuarios y su entorno. Deben pensar en los servicios que el sistema proporciona, las restricciones sobre las que el sistema debe construir y funcionar y las formas en la que el sistema es usado para cumplir su propósito.Las fases de la ingeniería de sistemas son: (modelo en V)

Existen diferencias entre los procesos de ing. de sistemas y el proceso de SW.- Alcance limitado para rehacer el trabajo durante el desarrollo de sistemas. (Ing. Sistema)- Implicación interdisciplinaria (ing. Sistema)La ingeniería de sistemas es una actividad interdisciplinaria que conjuga equipos de personas con diferentes bases de conocimientos.

Page 5: Ingenieria en Software

DEFINICIÓN DE REQUERIMIENTO DEL SISTEMA

Especifica que es lo que el sistema debe hacer (funciones) y sus propiedades esenciales y deseables. Crea definición de requerimientos que el sistema quiere consultar con los cliente y con los usuarios finales del sistema. Se derivan tres tipos de requerimientos en esta fase:- Requerimientos funcionales abstractos: las funciones básicas que el sistema debe proporcionar se definen en un nivel abstracto. Una especificación mas detallada de requerimiento funcional tiene lugar en el nivel de subsistema.- Propiedades del sistema: estas son propiedades emergentes no funcionales del sistema, tales como la disponibilidad, el rendimiento y la seguridad. Estas propiedades no funcionales del sistema afectan a los requerimientos de todos los subsistemas.- Características que no debe mostrar el sistema: Se debe dejar en claro todo lo que el sistema no debe hacer para no generar falsas expectativas.Se debe establecer un conjunto completo de objetivos que el sistema debe cumplir, esto no necesariamente debe estar orientado a las funcionalidades del sistema, pero deben definir para que se realiza el sistema.

DISEÑO DEL SISTEMA

El diseño del sistema se centra en proporcionar la funcionalidad del sistema a través de sus diferentes componentes. Las actividades que se realizan en este proceso son:***Dividir requerimientos: dividir los requerimientos. y agruparlos en grupos afines.***Identificar subsistemas: identificar los subsistemas que pueden individual o colectivamente cumplir los requerimientos. Los grupos de requerimientos están generalmente relacionados con los subsistemas.***Asignar requerimientos a los sub sistemas: si la división de los requerimientos.

Page 6: Ingenieria en Software

fue en función de los subsistemas esta representara una tarea muy simple.***Especificar la funcionalidad de los subsistemas: enumerar las funciones específicas asignadas a cada subsistema, también debe especificarse la relación entre los subsistemas.***Definir interfaces del sub sistema: interfaces necesarias y requeridas por cada subsistema.Todas las etapas mencionadas son bidireccionales, por lo cual es permanente la retro alimentación e iteración de una etapa con la otra.El modelo espiral: refleja la realidad de que los requerimientos afectan a las decisiones de diseño y viceversa, y de esta forma tiene sentido entrelazar estos procesos. Comenzando en el centro, cada vuelta de la espiral añade algún detalle a los requerimientos y al diseño. Algunas vueltas se centran en los requerimientos, otras en el diseño. A veces, nuevo conocimientos recopilado durante los procesos de requerimientos y diseño significan que la declaración del problema en misma tiene que se cambiada.Las intervenciones organizacionales y políticas pueden influir en la elección de la solución.

MODELADO DE SISTEMAS

Durante la actividad de requerimientos y diseño del sistema, estos pueden ser modelados como un conjunto de componentes y de relaciones entre estos componentes. Esto se puede ilustrar en un modelo arquitectónico del sistema.La arquitectura del sistema puede ser presentada como un diagrama de bloques que muestra los principales subsistemas y las interconexiones entre ellos.A este nivel el sistema se descompone en un conjunto de subsistemas que interactúan entre si. Cada uno de estos debe ser representado de forma similar hasta que el sistema este dividido en componentes funcionales, componentes que proporcionan una función única.

Page 7: Ingenieria en Software

DESARROLLO DE LOS SUB SISTEMAS

En esta etapa se implementan los subsistemas que hayan sido identificados durante el diseño del sistema, esto implica comenzar otro proceso de la ingeniería de sistemas. Los subsistemas pueden se desarrollos que se realizan en esta etapa o productos comerciales que se agregan a un sistema. Es posible que se requiera una nueva intervención de la etapa de diseño para garantizar la correcta integración de subsistemas.Es común que los subsistemas se desarrollen en paralelo.

INTEGRACIÓN DEL SISTEMA

Durante este proceso se toman los subsistemas desarrollados de forma independiente y se conjuntan para crear el sistema completo. Sin embargo, a efectos técnicos y de administración.Una vez que los componentes han sido integrados, tiene lugar un extenso programa de pruebas del sistema, estas pruebas pretenden probar las interfaces entre los componentes y el comportamiento del sistema en su totalidad.

EVOLUCIÓN DEL SISTEMA

Los sistemas grandes y complejos tienen un periodo de vida largo. Durante su vida se cambian para corregir errores en los requerimientos del sistema original y para implementar nuevos requisitos que surgen.La evolución del sistema es inherentemente costosa por:**Los cambios propuestos tienen que analizarse cuidadosamente desde perspectivas técnicas y de negocio.**Un cambio en un subsistema puede alterar todo el sistema.**Al no registrar las razones del diseño original insume mucho tiempo y diseño descubrirlo.**Con el tiempo la estructura se corrompe por cambios y más cambios son mas costosos de hacer.La obsolescencia es una de las mayores problemáticas de la evolución del sistema.

DESMANTELAMIENTO DEL SISTEMA

Significa poner fuera de servicio al sistema después de que termina su periodo de utilizad operativa.Ejemplos:-Desmontajes-Inserción de SW para desmantelar otro SW- Conversión de datos con valor para pasar a otro sistema.

Page 8: Ingenieria en Software

ORGANIZACIONES, PERSONAS Y SISTEMAS INFORMÁTICOS

Los sistemas socio-técnicos son sistemas empresariales que tienen la intención de ayudar a conseguir algunos objetivos organizaciones o de negocio. La consecución, desarrollo y uso de estos sistemas están influenciados por las políticas y procedimientos de la organización y por su cultura de trabajo. Los usuarios del sistema son personas que están influenciadas por la forma en la que es gestionada la organización y por sus relaciones con otras personas dentro y fuera de esta.Para entender un sistema socio-técnico es necesario entender el entorno organizacional, de lo contrario el sistema puede no cumplir con las necesidades del negocio, y los usuario y sus directivos pueden rechazar el sistema.Los factores humanos y organizacionales del entorno del sistema que afectan a sus diseños son:-Cambios en el proceso: el sistema modificar los procesos de la organización y del entorno.- Cambios en el trabajo: el sistema modificación de la forma de trabajo de los usuarios- Cambios organizacionales: el sistema cambia la estructura organizativa o el poder de esta.Estos factores humanos, sociales y organizacionales son a menudo críticos para determinar si un sistema cumple con éxito los objetivos.Sistemas heredados: sistemas de negocio critico, se mantiene por que es demasiado riesgoso su cambio, por los procesos que maneja, por la información que contiene y por el tiempo de vida que tienen.

CONCLUSIONES

Cada vez es más necesario que los ingenieros de software desarrollen y le entreguen al cliente productos de la más alta calidad. Asimismo no deben de descuidar el compromiso que el ingeniero tiene con el cliente de entregar el producto puntualmente. Además de que debe de estar consciente que el producto que va a desarrollar para el cliente, cuente con un presupuesto al alcance del cliente y que éste no sufra de modificación alguna.

Los ingenieros que no cumplan con estos compromisos, se arriesgan a que existan penalidades en los contratos y hasta la pérdida misma del cliente. Por lo tanto, este tipo de ingenieros no tiene un buen futuro y tiende a desaparecer.

Los sistemas de alta calidad requieren que cada parte que lo componen posea también una alta calidad. Existen circunstancias en las que el desarrollador individual se esfuerza para realizar un buen trabajo.

Page 9: Ingenieria en Software