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.
viernes, 19 de mayo de 2017
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.
Estándares en el Proceso de Desarrollo de Software
ISO Es el organismo encargado de promover el desarrollo de
normas internacionales de fabricación, comercio y comunicación para todas las
ramas industriales a excepción de la eléctrica y la electrónica. Su función
principal es la de buscar la estandarización de normas de productos y seguridad
para las empresas u organizaciones a nivel internacional. Estándares ISO
existentes: ISO 9001, 9000–3, 9004–2, ISO/IEC 12207, ISO/IEC 15504 (SPICE)
Algunos estándares existentes:
Estándares para datos
Estándares de codificación
Estándares estructurales
Estándares de documentación
Estándares de proceso software
Estándares para otras actividades
Ejemplos de estándares en ingeniería del software
IEEE Standards Collection Software Engineering – 1998
Edition
IEEE Std. 610.12-1990, Glossary of Software Engineering
Terminology
IEEE Std. 829-1983, Standard for Software Test Documentation
IEEE Std. 830-1993, Recommended Practice for Software
Requirements Specifications.
IEEE Std. 990-1987, Recommended Practice for Ada as a
Program Design Language.
IEEE Std. 1045-1992, Standard for Software Productivity
Metrics
IEEE Std. 1062-1987, Recommended Practice for Software
Acquisition
IEEE Std. 1063- 1987, Standard for Software User Documentation
IEEE Std. 1219-1992, Standard for Software Maintenance
Tipos de Componentes y Caraterísticas
- Componentes
de despliegue o distribución (Deployment)
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ísticas
- 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.
Fundamentos del Enfoque Orientado a Objetos y Caraterísticas
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
jueves, 18 de mayo de 2017
Proceso de Desarrollo del Software
Un proceso, se define como una
serie de operaciones usadas en la creación de un producto. Un proceso de
software se puede definir de las siguientes formas:
Un proceso de software define el
conjunto de tareas, que tienen que ser realizadas para producir un producto de
software de alta calidad. En otras palabras, este es el enfoque que se toma
para el desarrollo del software.
Es el proceso que se sigue para
construir el producto de software desde la concepción de una idea, hasta la
entrega y el retiro final del sistema.
Las características de un proceso
de software se resumen a continuación:
- Comprensión: Este
requiere claridad y declaración de la naturaleza explicita de la
definición del proceso.
- Visibilidad: Se
refiere a la capacidad de observar la salida de arias actividades del
proceso, de manera que se mida el proceso del progreso.
- Confiabilidad: Se
refiere a la capacidad del proceso para evadir errores o detectar errores
y manejarlos antes de que estos avancen en el producto.
- Robustez: Se refiere a
la capacidad del proceso de no detenerse a pesar de problemas inesperados.
- Facilidad de
mantenimiento: Se refiere a la cantidad de modificaciones que pueden
hacerse al sistema de software sin introducir errores.
- Facilidad de
verificación: Un proceso es verificable si sus propiedades pueden ser
fácilmente verificadas.
- Rapidez: Se refiere a
la agilidad y rapidez del proceso para ser capaz de entregar un producto
final a partir de las especificaciones.
- Facilidad de soporte:
Se refiere a la posibilidad de que las actividades del proceso sean
soportadas por un conjunto de herramientas automatizadas.
- Facilidad de
aceptación: Se refiere a la capacidad del proceso a ser aceptado y usado
por el equipo de ingenieros.
- Facilidad de
adaptación: Se refiere a la capacidad del proceso a ser modificado para
satisfacer las necesidades de cambio en el ambiente de desarrollo.
Después de haber discutido las
características del proceso de desarrollo de software, se presenta a continuación
las diferentes fases del proceso de desarrollo de software.
- Fase de definición
esta fase se concentra principalmente en que tiene que ser completado por
el proceso de software.
- Fase de desarrollo
esta fase enfoca en el cómo los requerimientos de un sistema y el software
serán completados.
- Fase de mantenimiento esta fase se enfoca en cambio, el mantenimiento incluye la corrección de errores y la adaptación, conforme evoluciona el entorno del software.
Suscribirse a:
Entradas (Atom)




