jueves, 12 de julio de 2012

DOCUMENTACIÒN Y ARTEFACTOS:


La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto interior como exterior.
Un artefacto es un producto tangible resultante del proceso de desarrollo de software. Algunos artefactos como los casos de uso, diagrama de clases u otros modelos UML ayudan a la descripción de la función, la arquitectura o el diseño del software. Otros se enfocan en el proceso de desarrollo en sí mismo, como planes de proyecto, casos de negocios o enfoque de riesgos. El código fuente compilado para el testeo se suele considerar un artefacto, ya que el ejecutable es necesario para el plan de testeo.


PROCESO DE DESARROLLO DEL SOFTWARE
Un proceso de desarrollo de software tiene como propósito la producción eficaz y eficiente de un producto software que reúna los requisitos del cliente.
en el desarrollo de software hay una serie de desafíos adicionales, relativos esencialmente a la naturaleza del producto obtenido

FUNDAMENTO DEL ENFOQUE ORIENTADO A OBJETO:

Fundamentos de lo Orientado a Objetos
El paradigma OO se basa en el concepto de objeto. Un objeto es aquello que tiene estado (propiedades más valores), comportamiento (acciones y reacciones a mensajes) e identidad (propiedad que lo distingue de los demás objetos). La estructura y comportamiento de objetos similares están definidos en su clase común; los términos instancia y objeto son intercambiables. Una clase es un conjunto de objetos que comparten una estructura y comportamiento común.
La diferencia entre un objeto y una clase es que un objeto es una entidad concreta que existe en tiempo y espacio, mientras que una clase representa una abstracción, la "esencia" de un objeto, tal como son. De aquí que un objeto no es una clase, sin embargo, una clase puede ser un objeto.
En el enfoque OO las propiedades del objeto son claves. Los principios del modelo OO son: abstracción, encapsulación, modularidad y jerarquía, fundamentalmente, y en menor grado tipificación (typing), concurrencia, persistencia.
[Booch 1986
] dice que si un modelo que se dice OO no contiene alguno de los primeros cuatro elementos, entonces no es OO.
  • Abstracción. Es una descripción simplificada o especificación de un sistema que enfatiza algunos de los detalles o propiedades del sistema, mientras suprime otros.
  • Encapsulación. En el proceso de ocultar todos los detalles de un objetoque no contribuyen a sus características esenciales.
  • Modularidad. Es la propiedad de un sistema que ha sido descompuesto en un conjunto de módulos coherentes e independientes.
  • Jerarquía o herencia. Es el orden de las abstracciones organizado por niveles.
  • Tipificación. Es la definición precisa de un objeto de tal forma que objetos de diferentes tipos no puedan ser intercambiados o, cuando mucho, puedan intercambiarse de manera muy restringida.
  • Concurrencia . Es la propiedad que distingue un objeto que está activo de uno que no lo está.
  • Persistencia. Es la propiedad de un objeto a través de la cual su existencia trasciende el tiempo (es decir, el objeto continua existiendo después de que su creador ha dejado de existir) y/o el espacio (es decir, la localización del objeto se mueve del espacio de dirección en que fue creado).


DESARROLLO DE LOS COMPONENTES:



La ingeniería de software basada en componentes (CBSE) (también conocida como desarrollo basado en componentes (CBD)) es una rama de la ingeniería de software que enfatiza la separación de asuntos (separation of concerns (SoC)) por lo que se refiere a la funcionalidad de ámplio rango disponible a través de un sistema de software dado. Es un acercamiento basado en la reutilización para definir, implementar, y componer, componentes débilmente acoplados en sistemas. Esta práctica apunta traer igualmente un ámplio grado de beneficios tanto en el corto como el largo plazo, para el software en sí mismo, y para las organizaciones que patrocinan tal software.

BREVE INTRODUCCIÒN

CUANDO ESCUCHAMOS LA PALABRA"SOFTWARE" SE NOS VIENE A LA MENTE DIFERENTES CONCEPTO Y TIPOS,SIN DUDA EN EL MUNDO DE LA TECNOLOGIA E INFORMATÌCA EL SOFTWARE ABARCA DIVERSIDADES DE CAMPOS.ES POR ESO QUE DEBEMOS DE TENER EN CUENTA LA SIGUIENTE DEFINICIÒN EL SOFTWARE ES TAN COMPLEJO QUE POSEÈ INFINIDADES DE PROGRAMAS PARA DIFERENTES  FUNCIONAMIENTOS,EN PARTICULAR PARA QUE HAYA UN ORDEN A LA HORA DE TRABAJAR CON EL,ES POR ESO QUE EL SOFTWARE DEBE SER ESTUDIADO DETENIDAMENTE YA QUE SON MUCHOS ELEMENTOS QUE LO CONFORMAN.HE AQUI CUANDO ENTRA LA FUNCIÒN DE LA UNIDAD CURRICULAR ING.SOFTWARE LA CUAL SE ENCARGA DE ESTUDIAR LOS PRINCIPIOS Y METODOLOGIAS PARA EL DESARROLLO Y MANTENIMIENTO DEL SOFTWARE,DANDOLE UN ENFOQUE SISTEMATICO Y DISCIPLINADO AL MISMO.