Patrones de diseño.
El diseño orientado a objetos es una etapa fundamental en el desarrollo de sistemas orientados a objetos, sin embargo, por lo general, en la práctica se observa que no se le dedica el tiempo suficiente o bien es efectuada de una manera muy superficial. Es común observar una pequeña etapa de análisis de requisitos y un pasaje inmediato al proceso de programación.Algunas veces para justificar esta superficialidad en cuanto a la manera de trabajar en la etapa de diseño, se atribuye a la falta de tiempo como causa principal. Sin embargo, sería más que beneficioso aplicar las buenas prácticas en cuanto a desarrollo de software para lograr productos de calidad.Particularmente, durante la etapa de diseño se efectúan decisiones relativas a qué métodos se requerirán, dónde se los colocarán y cómo deberían interactuar los objetos, actividades nada triviales y muy importantes. Por tal motivo, sería altamente conveniente tener en cuenta algunos patrones de diseño fundamentales.En la tecnología de objetos, un patrón es una descripción del problema y la solución, a la que se da un nombre, y que se puede aplicar a nuevos contextos; idealmente, proporciona consejos sobre el modo de aplicarlo en varias circunstancias, y considera los puntos fuertes y compromisos.
Componentes.
El componente básico del OSM es la clase de objetos.
Se distinguen tres tipos de clases:
· Objetos Entidad
· Operaciones
· Relaciones Estáticas
Diseño de interfaz de sistema.
El diseño de interfaces de usuario 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.
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.
Gráfica del diseño.
Es incuestionable que las herramientas gráficas, tales como los diagramas de flujo o diagramas de caja, proporcionan una excelente forma gráfica que describen muy bien el detalle procedimental. Sin embargo, si se emplean mal las herramientas gráficas, una imagen incorrecta puede conducir a un software erróneo. El diagrama de flujo es un gráfico muy sencillo. Se usa una caja (cuadro/rectángulo) para indicar un paso del proceso. Un rombo representa una condición lógica y las flechas indican el flujo de control.
Notación tabular del diseño.
Las tablas de decisión proporcionan una notación de procedimientos a una forma tabular. Es difícil que la tabla se pueda interpretar mal, e incluso puede usarse como entrada interpretable por la máquina para un algoritmo manejado por tabla. La tabla se divide en cuatro secciones el cuadrante superior izquierdo contiene una lista de todas las condiciones. El cuadrante inferior izquierdo contiene una lista de todas las acciones posibles basándose en combinaciones de las condiciones. Los cuadrantes de la derecha forman una matriz que indican las combinaciones de las condiciones y las correspondientes acciones que se han de producir para cada combinación específica. Por lo tanto, cada columna de la matriz puede interpretarse como una regla de procesamiento.
Mediciones de los atributos del diseño.
La medición del software en las primeras etapas del ciclo de vida resulta insatisfactoria debido a las deficiencias que presentan las métricas y los sistemas predictivos existentes, en este trabajo se parte de la utilización de una metodología formalizada, que permite definir dos métricas que son validas desde el punto de vista teórico.Se construye un sistema predictivo premacov que permite predecir los valores de macov a partir del análisis del correspondiente diagrama de flujo de datos expandido.Se incluye también la validación de premacov según la teoría de la medición, así como un análisis de su aplicación practica mediante la recogida de valores en trabajos de alumnos y en dos aplicaciones profesionales de gestión.Este sistema predictivo es un medio de control de la consistencia entre el análisis y el diseño de un sistema software.
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.
En la actualidad la mayoría de los usuarios de microcomputadoras tienen acceso a un sistema de información o forman parte del mismo. Todas las organizaciones cuentan con un sistema de información de algún tipo, que sus empleados deben utilizar. Cuando en cualquier organización se desea implantar un nuevo sistema, de tal forma que sus miembros sean más productivos, obteniendo un mayor provecho y apoyo del mismo, se requiere realizar una serie de acciones y previsiones.La creación o establecimiento de un nuevo sistema de información en la organización, puede ser una tarea compleja. Para encarar este tipo de situaciones existe un proceso de análisis y diseño de sistemas que auxilia en la resolución de tales problemas. El análisis y diseño de sistemas proporciona una guía útil que busca disminuir las situaciones de fracaso o errores al acometer estos procesos.
Razones para conocer el análisis y diseño de sistemas
Aunque pareciese que es tema sólo de profesionales, como usuario final, toda persona que usa una microcomputadora se beneficiará al conocer sobre este proceso. Puede ocurrir que, una vez contratado como miembro de una organización, se convierta en usuario de su sistema de información, entonces el conocimiento del análisis y diseño de sistemas, le permitirá aumentar su productividad personal, sirviéndole para resolver los problemas que surjan en su área de trabajo, determinando nuevos requerimientos de información y permitiéndole colaborar con los profesionales en informática en la resolución de tales situaciones.
Necesidad del análisis y diseño de sistemas
La instalación de un sistema sin la adecuada planeación puede conducir a grandes frustraciones y causar que el sistema sea subutilizado, o peor aún, deje de ser usado al no cumplir con las expectativas que le dieron origen. El análisis y diseño de sistemas es una guía que permite estructurar el proceso de desarrollo de sistemas de información. Tal proceso siempre representará un esfuerzo, inversión de tiempo y recursos por parte de la organización. Acometer tal esfuerzo de manera casual, presenta un alto grado de riesgo al no garantizar la culminación del proyecto con éxito. Este procedimiento permite reducir al mínimo el riesgo de fracaso de nuevos proyectos, pues es común que muchos errores surjan al utilizar nuevos sistemas de información, bien por no adaptarse correctamente a las necesidades reales o por desempeñarse de forma inadecuada.
Técnicas de reingeniería e ingeniería de reverso
La Reingeniería de Procesos es una técnica en virtud de la cual se analiza en profundidad el funcionamiento de uno o varios procesos dentro de una empresa con el fin de rediseñarlos por completo y mejorar radicalmente el funcionamiento de la organización en su conjunto.
· Just In Time (o Justo a Tiempo)
Un estándar se define como el grado de cumplimiento exigible a un criterio de calidad. Dicho en otros términos, define el rango en el que resulta aceptable el nivel de calidad que se alcanza en un determinado proceso. Los estándares de calidad determinan el nivel mínimo y máximo aceptable para un indicador. Si el valor del indicador se encuentra dentro del rango significa que estamos cumpliendo con el criterio de calidad que habíamos definido y que las cosas transcurren conforme a lo previsto. Estamos cumpliendo con nuestro objetivo de calidad. Si, por el contrario, estamos por debajo del rango significa que no cumplimos nuestro compromiso de calidad y deberemos actuar en consecuencia (o bien la apuesta fue demasiado optimista para los medios disponibles). Por el contrario, si estamos por encima, o bien tendremos que redefinir el criterio o, desde luego, estamos gastando (en términos de esfuerzo) más de lo que pensábamos que era necesario (o fuimos pesimistas para fijar el rango o pecamos de inexpertos). El estándar, por consiguiente, determina el mínimo nivel que comprometería la calidad de ese proceso. Por debajo del estándar la práctica (producto o servicio) no reúne calidad suficiente. Una observación que no debe olvidarse es que los estándares no deben ser nunca del 100% en razón de que siempre sucederán imprevistos que impedirán tal cumplimiento. Además, cualquier auditor de calidad sospechará de que un estándar se logre al 100% una y otra vez, o que se supere año tras año. Esto normalmente solo indica que no estaban adecuadamente definidos.
Herramientas case.
Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas 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).
Integrantes:
Ascanio, Maryeling.
Chouza, Jose.
Prado, Williana.
Torrealba, Anadilis.
PNF. Informática, sección 4 (Nocturno).