miércoles, 14 de enero de 2015

proceso de desarrollo de software

Fundamentos del desarrollo orientado a objetos

  
La orientación a objetos ofrece una solución que ayuda a los desarrolladores a hacer corresponder el mundo real tan cerca como sea posible al dominio de la solución. Cabe mencionar que existen muchas metodologías que permiten soluciones para problemas complejos. En la orientada a objetos se basa en modelar el mundo real y ha ganado importancia significativa en los últimos tiempos. En la orientación a objetos se trabaja con objetos en el sistema que interactúan unos con otros a través de mensajes. La orientación a objetos proporciona los recursos para ocuparse de los objetos de un sistema complejo. El análisis y diseño de un sistema desde una perspectiva orientada a objetos forma el núcleo de un sistema. 

características 





  • Modelado del mundo real
  • Datos Abstractos
  • Abstracción de datos
  • Encapsulamiento
  • Ocultamiento de la información
  • Clase
  • Objeto
  • Interfaz e Implementación
  • Métodos
  • Mensajes
  • Herencia
  • Agregación
  • Polimorfismo
  • Tipo
  • Rol
  • Paquete


  • desarrollo de componentes

    Es una unidad autocontenida que encapsula el estado y el comportamiento de varios clasificadores. También se podría decir que es un tipo clasificador con la diferencia de que no tiene características propias, pero contiene las clases que definen las características. Un componente proporciona una vista encapsulada de la funcionalidad definida por las clases contenidas. Un componente es una parte física del sistema. Cada componente tiene un nombre, el cual puede ser un nombre simple o un nombre de ruta.


    tipo de componentes 


    Estos componentes se usan para formar un sistema ejecutable. Un ejemplo de tal componente es la librería de enlace dinámico y los archivos ejecutables. Otros ejemplos son los componentes COM+, Enterprise Java Beans, componentes CORBA y objetos de base de datos.

    • Componentes de Producto de Trabajo
    Estos componentes son parte del proceso de desarrollo que es esencial para el sistema. Algunos ejemplos de componentes de producto de trabajo son los archivos fuente, archivos de datos y tablas. Ellos son los archivos fuente y archivos de datos que se usan para crear los componentes de distribución como AgenteAnalizado.Java y AnalizadorDatos.txt.

    • Componentes de Ejecución
    Estos componentes son el resultado de un sistema que se está ejecutando. Cuando un DLL es instanciado como un componente COM+, es un ejemplo de un componente de ejecución.

    característica de componentes


  • La característica fundamental de un componente es la habilidad de definir interfaces.
  • Es una unidad ejecutable que puede ser implantada independientemente.
  • Puede ser sujeto de composición por terceras partes, es decir, una compañía o un desarrollador puede llegar y tomar el componente y agregarlo a lo que esté haciendo, o sea haría una composición de componentes.
  • Un componente no tiene estado.
  • Se puede tomar a los componentes de software como una analogía a los componentes electrónicos.
  •   Estándares para el proceso de desarrollo del software


    El estándar internacional que regula el método de selección, implementación y monitoreo del ciclo de vida del software es ISO 12207.

    ISO/IEC 12207 establece un proceso de ciclo de vida para el software que incluye procesos y actividades que se aplican desde la definición de requisitos, pasando por la adquisición y configuración de los servicios del sistema, hasta la finalización de su uso. Este estándar tiene como objetivo principal proporcionar una estructura común para que compradores, proveedores, desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo de software usen un lenguaje común. Este lenguaje común se establece en forma de procesos bien definidos.

    Estructura
    La estructura del estándar ha sido concebida de manera que pueda ser adaptada a las necesidades de cualquiera que lo use. Para conseguirlo, el estándar se basa en dos principios fundamentales: Modularidad y responsabilidad. Con la modularidad se pretende conseguir procesos con un mínimo acoplamiento y una máxima cohesión. En cuanto a la responsabilidad, se busca establecer un responsable para cada proceso, facilitando la aplicación del estándar en proyectos en los que pueden existir distintas personas u organizaciones involucradas, no importando el uso que se le de a este.

    Procesos
    Los procesos se clasifican en tres tipos: Principales, de soporte y de la organización. Los procesos de soporte y de organización deben existir independientemente de la organización y del proyecto ejecutado. Los procesos principales se instancian de acuerdo con la situación particular.
    • Procesos principales.
      • Adquisición.
      • Suministro.
      • Desarrollo.
      • Operación.
      • Mantenimiento.
    • Procesos de soporte.
      • Documentación
      • Gestión de la configuración.
      • Aseguramiento de calidad.
      • Verificación.
      • Validación.
      • Revisión conjunta.
      • Auditoría.
      • Resolución de problemas.
    • Procesos de la organización.
      • Gestión.
      • Infraestructura.
      • Mejora.
      • Recursos Humanos.


    Documentación y Artefactos



    La documentación no es más que la debilidad más frecuente en productos e instalaciones informáticos. Cabe mencionar que los actores que intervienen en el ciclo de vida del software desempeñan diversos roles. Arquitectos, diseñadores, analistas, programadores, implementadores, administradores o auditores son quienes explicitan distintos aspectos de los productos y procesos.

    Un artefacto es una pieza de información que es producida o utilizada por procesos. Los artefactos son los elementos son los elementos tangibles de un proyecto, elementos que el proyecto produce o usa mientras se trabaja en busca del producto final. Éstos, pueden tomar varias formas y formatos, como por ejemplo:

    Un documento, tal como la visión o la lista de riesgos.
    Un modelo, por ejemplo un diagrama de casos de uso o el modelo de diseño.
    Un elemento dentro de un modelo, tal como una clase, un caso de uso o un subsistema.
    Ejecutables, por ejemplo el ejecutable del prototipo.
    Código fuente.

    Las actividades tienen artefactos como entrada y salida. Los roles usan artefactos para ejecutar actividades y producen artefactos durante la ejecución de sus actividades. Los artefactos son la responsabilidad sencilla del rol, creando responsabilidades fáciles de identificar y entender, promoviendo la idea de que cada pieza de información producida en un proceso de desarrollo requiere un conjunto apropiado de habilidades. Aunque un rol puede ser el propietario de un artefacto, otros roles pueden hacer uso de éste, incluso podrían actualizar el artefacto si el rol que va a hacerlo, tiene permiso para hacerlo.
    En RUP se encuentran conjuntos de artefactos que agrupan artefactos relacionados con el modelo de negocio, los requerimientos, el análisis y diseño, la implementación, las pruebas, la configuración y administración de cambios, el ambiente de desarrollo, entre otros.