Diseño
orientado a objeto
Patrones de diseño, componentes,
diseño de interfases del sistema, notación de diseño.
LLos patrones de diseño son
la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño
de interacción o interfaces. Un patrón de diseño es una solución a un problema
de diseño. Para que una solución sea considerada un patrón debe poseer ciertas
características. Una de ellas es que debe haber comprobado su efectividad resolviendo
problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes
problemas de diseño en distintas circunstancias.
El componente básico del diseño orientado a objetos es la clase de objetos.
Se
distinguen tres tipos de clases:
·
Objetos Entidad
·
Objetos de Interfaz
Para
cada clase identificada se describen:
·
Operaciones
·
Atributos
·
Restricciones
Adicionalmente
el OSM describe las asociaciones entre objetos o clases de objetos. Se
distinguen los siguientes tipos de asociaciones:
·
Relaciones Estáticas
·
Herencia
·
Agregación
·
Comunicación por mensajes
El diseño de interfaces de sistema es una tarea
que ha adquirido relevancia en el desarrollo de un sistema. La calidad de la interfaz de usuario puede ser uno
de los motivos que conduzca a un sistema al éxito o al fracaso. Los principios que se presentan son de utilidad para creación de interfaces funcionales
y de fácil operación. A pesar de no ser capaces de resolver todos los aspectos
propios del contexto con el que se esté trabajando, pueden ser combinados con
la prototipación y la aplicación de heurísticas de evaluación para facilitar el proceso de diseño. El presente artículo se
centra en los componentes de software de las interfaces de usuario, quedando
fuera del alcance de mismo otros aspectos, como hardware y documentación. Lo anteriormente expuesto se complementa con un
caso práctico de diseño de interfaces de usuario, producto de realizar la actividad de
"Definición de Interfaces de Usuario" (EFS 4) de la metodología Métrica Versión 2.
La
notación de diseño, junto con los conceptos de programación estructurada,
permite al diseñador representar detalles procedimentales de manera que se
facilite la traducción a código. Hay disponibles notaciones gráficas, tabulares
y de texto.
Medición de los atributos del
diseño.
L la medicion del software en las primeras etapas del ciclo de
vida resulta insatisfactoria debido a las deficiencias que presentan las
metricas y los sistemas predictivos existentes, en este trabajo se parte de la
utilizacion de una metodologia formalizada, que permite definir dos metricas
macov que son validas desde el punto de vista teorico.
se
construye un sistema predictivo premacov que permite predecir los los
valores de macov a partir del analisis del correspondiente diagrama de flujo de
datos expandido. incluye tambien la
validacion de premacov segun la teoria de la medicion, asi como un analisis de
su aplicacion practica mediante la recogida de valores en trabajos de alumnos y
en dos aplicaciones profesionales de gestion.
Métricas del diseño.
permiten medir de forma
cuantitativa la calidad de los atributos internos del software. Esto permite al ingeniero evaluar la calidad
durante el desarrollo del sistema.
L las métricas se centran en cuantificar
tanto la complejidad, como la funcionalidad y eficiencia inmersa en el
desarrollo de software. Inclina sus objetivos a mejorar la comprensión de la
calidad del producto, a estimar la efectividad del proceso y mejorar la calidad
del trabajo.
las métricas empleadas están diseñadas
para evaluar los siguientes atributos de calidad:
§ Responsabilidad . Consiste en
la responsabilidad asignada a una clase en un marco de modelado de un dominio o
concepto, de la problemática propuesta.
§ Complejidad de
implementación. Consiste en el grado de dificultad que tiene implementado un diseño de
clases determinado.
§ Reutilización. Consiste en el
grado de reutilización presente en una clase o estructura de clase,dentro de un
diseño de software.
§ Acoplamiento. Consiste en el
grado de dependencia o interconexión de una clase o estructura de clase, con
otras, está muy ligada a la característica de Reutilización.
§ Complejidad del
mantenimiento. Consiste en el grado de esfuerzo necesario a realizar para desarrollar
un arreglo, una mejora o una rectificación de algún error de un diseño de
software. Puede influir indirecta, pero fuertemente en los costes y la
planificación del proyecto.
Técnicas de reingeniería e ingeniería
de reverso.
Reingeniería del
software se puede definir como: “modificación de un producto software, o de
ciertos componentes, usando para el análisis del sistema existente técnicas de
Ingeniería Inversa y, para la etapa de reconstrucción, herramientas de
Ingeniería Directa, de tal manera que se oriente este cambio hacia mayores niveles
de facilidad en cuanto a mantenimiento, reutilización, comprensión o
evaluación.”
Entre la técnicas de Reingeniería tenemos:
Reestructuración
de Datos: Esto es reversar el modelo físico al modelo lógico para obtener el
modelo de E-R de la base de datos, recuperando el diccionario de datos,
atributos, entidades, dominios, cardinalidad etc, la mayoría de las
herramientas CASE del mercado cumplen con esta función.

§ Complejidad de
implementación. Consiste en el grado de dificultad que tiene implementado un diseño de
clases determinado.
§ Reutilización. Consiste en el
grado de reutilización presente en una clase o estructura de clase,dentro de un
diseño de software.
§ Acoplamiento. Consiste en el
grado de dependencia o interconexión de una clase o estructura de clase, con
otras, está muy ligada a la característica de Reutilización.

Estándares de calidad.
Son normas y protocolos
internacionales que deben cumplir productos de cualquier indole para su
distribución y consumo por el cliente final.
Herramientas case.
Son diversas aplicaciones informáticasdestinadas a aumentar la productividad en el
desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas
herramientas nos 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, que analizaba la relación
existente entre los requisitos de un problema y las necesidades que éstos
generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement
Language) y la aplicación que ayudaba a buscar las necesidades de los
diseñadores PSA (Problem Statement Analyzer).
No hay comentarios:
Publicar un comentario