Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Contenido Muestra ?¿Qué es análisis? ?El proverbio “El hábito no hace el monje” se aplica ?¿Qué es diseño? perfectamente a la tecnología de objetos. ?El hecho de conocer un lenguaje orientado a objetos (por ej.Java) ?Análisis y diseño OO y además tener acceso a una rica biblioteca (como la de Java) es ?Uso de UML un primer paso necesario pero insuficiente para crear sistemas de ?Introducción al proceso de desarrollo objetos. ?Se requiere además analizar y diseñar un sistema desde la perspectiva de objetos. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 73 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 74 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Muestra ¿Qué son análisis y diseño? ?En conclusión, se ayudará a los ingenieros: ?El análisisse centra en la investigación del problema, no ?A aplicar los principios y patrones para aprender a desarrollar en la manera de definir la solución. mejores diseños. ?Por ejemplo, si se necesita un nuevo sistema de biblioteca, ¿Cuáles ?A efectuar varias actividades comunes en el análisis y en el diseño. procesos de la institución se relacionan con su uso? ?A crear elementos útiles en la notación de UML. ?El diseñopone de relieve una solución lógica: cómo el ?Todo lo anterior será ejemplificado con un caso. sistema cumple con los requerimientos. ?¿De qué manera el sistema de la biblioteca capturará y registrará los prestamos de libros?. ?La esencia de estas actividades consiste en situar el dominio de un problema y su solución lógica dentro de la perspectiva de los objetos. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 75 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 76 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos ¿Qué son análisis y diseño? ¿Qué son análisis y diseño? ?Durante el análisis orientado a objetos se procura ante todo identificar y describir los objetos –o conceptos – dentro del dominio del problema. Análisis Diseño Construcción ?Dobujreatnotse l óegl icdoisse dñeol soorifetwntaardeo. a objetos, se procura definir Libro p{p uubblliicccvloaisdspLriibnrto(); ?Finalmente, durante la construcción o programación titulo PrivateStringtitulo; orientada a objetos, se implementan los componentes de } diseño. Concepto de Representación Representación en Análisis Diseño Construcción Dominio en el diseño programación Investigación Solución Lógica Código del problema EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 77 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 78 11 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Ejemplo Ejemplo Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes casos de uso conceptual colaboración diseño de clases casos de uso conceptual colaboración diseño de clases ?Para entender los requerimientos se necesita, en parte, ?Por ejemplo, en el juego de los dados: conocer los procesos de dominio y el ambiente externo, o ?Caso de uso: Juega un juego sea los factores externos que participan en los procesos. ?Participantes: Jugador ?Dichos procesos se pueden expresar en forma de casos de ?Descripción: Este caso de uso comienza cuando el jugador uso, los cuales son una descripción narrativa del proceso recoge y hace rodar los dados. Si los puntos suman siete, gana y pierde si suman cualquier otro numero. de dominio en un formato estructurado de prosa. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 79 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 80 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Ejemplo Ejemplo Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes casos de uso conceptual colaboración diseño de clases casos de uso conceptual colaboración diseño de clases ?Para descomponer el dominio del problema hay que ?Por ejemplo, una parte del modelo conceptual muestra los identificar los conceptos, los atributos y las asociaciones conceptos de Jugador, Dados y Juego de dados, sus del dominio que se juzgan importantes. asociaciones y atributos. ?El resultado puede expresarse en un modelo conceptual, el Jugador Dado cual se muestra gráficamente en un grupo de diagramas 1 Lanza 2 nombre valorMostrado que describen los conceptos (objetos). 1 2 Juega 1 Juego de dados 1 Incluye EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 81 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 82 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Ejemplo Ejemplo Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes casos de uso conceptual colaboración diseño de clases casos de uso conceptual colaboración diseño de clases ?El modelo conceptual no es una descripción de los ?El diseño orientado a objetos tiene por objetivo definir las componentes de software; representa conceptos en el especificaciones lógicas del software que cumplan con los dominio del problema del mundo real. requisitos funcionales. ?Un paso esencial en esta fase es la asignación de los responsabilidades entre los objetos y mostrar como interactúan a través de mensajes. ?El diagrama de colaboración presenta el flujo de mensajes entre las instancias y la invocación de métodos. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 83 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 84 22 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Ejemplo Ejemplo Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes casos de uso conceptual colaboración diseño de clases casos de uso conceptual colaboración diseño de clases ?Por ejemplo, la figura muestra gráficamente el paso ?Para definir una clase es preciso contestar varias esencial del juego, enviando mensajes a las instancias de preguntas: las clases Jugador y Dado. ?¿Cómo se conectan unos objetos a otros? ?¿Cuáles son los métodos de una clase? jugar() :Jugador 1:r1:= lanzar() d1:Dado ?Por ejemplo, obtenemos que Jugador requiere de un método jugar, mientras que el Dado requiere de un método lanzar. 2:r2:= lanzar() d2:Dado EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 85 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 86 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Ejemplo Comparación con AD estructurado ?Los proyectos de software son complejos, y la estrategia Definición de los DefMinoicdieólno del DDefiiangicriaómn adse dloes DeDfiinaigcriaómn adse dloes primaria para superar la complejidad es la descomposición casos de uso conceptual colaboración diseño de clases (divide y vencerás): dividir el problema en unidades ?A diferencia del modelo conceptual, el modelo de diseño manejables. no muestra gráficamente conceptos del mundo real: describe únicamente los componentes del software. ?En el análisis y diseño estructurado, la dimensión de descomposición es fundamentalmente por función o proceso. nomJburgeador 1 Lanza 2 valorMDaodstorado ?En el análisis y diseño orientado a objetos buscan ante todo jugar() lanzar() descomponer el espacio del problema por objetos. 1Juega 2 1 Juego de dados 1 Incluye EX UMBRANISOLEM UTFSM inFiucinadlizaamr(e)ntos de Ingeniería de SW 87 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 88 Análisis y diseño orientado a objetos Introducción al proceso de desarrollo Comparación con AD estructurado Definición ?Un proceso de desarrollo de software es un método de organizar las actividades relacionadas con la creación, Sistema de la biblioteca presentación y mantenimiento de los sistemas de software. ?El lenguaje UML estandariza los artefactos y la notación, pero no define un proceso oficial de desarrollo. A/D OO A/D estructurados ?Aumentar las posibilidades de aceptación generalizada de la Dcoenscceopmtopsosición por objetos o Dpreoscceosmopsosición por funciones o notación estándar del modelado, sin la obligación de adaptar el Catálogo Bibliotecario Sistema proceso oficial. ?La esencia de un proceso apropiado admite mucha variación y depende de las habilidades del personal, de la naturaleza del Libro Biblioteca Registrar Agregar Reportar Préstamos Recursos Multas problema, de las herramientas y muchos otro factores. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 89 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 90 33 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Pasos de macronivel Desarrollo Iterativo ?En un nivel alto, los pasos principales de la presentación ?Un ciclo de vida iterativo se basa en el agrandamiento y de una aplicación son los siguientes: perfeccionamiento secuencial de un sistema a través de múltiples ciclos de desarrollo de análisis, diseño, implementación y pruebas. ?Planificación y elaboración: planificar, definir los requerimientos, construir prototipos, etc. ?Tras una fase preliminar de planificación y especificación, el desarrollo pasa a la fase de construcción a través de una serie de ?Construcción: la creación del sistema. ciclos de desarrollo. ?Aplicación: la transición de la implementación del sistema a Planificación su uso. y Elaboración Construcción Aplicación Ciclo de Ciclo de Ciclo de desarrollo 1 desarrollo 2 desarrollo 3 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 91 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 92 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Desarrollo Iterativo Desarrollo Iterativo ?En cada ciclo se aborda un conjunto relativamente pequeño de requerimientos, pasando por el análisis, el Planificación diseño, la construcción y las pruebas. y Elaboración Construcción Aplicación ?El sistema va creciendo con cada ciclo que se concluye. ?Entre las ventajas de un ciclo iterativo figuran: deCsiacrlroo ldloe 1 deCsiacrlroo ldloe 2 deCsiacrlroo ldloe 3 ?La complejidad nunca resulta abrumadora. ?Se produce retroalimentación en una etapa temprana, porque la implementación se efectúa rápidamente con una parte pequeña del Perfeccionar Sincronización Análisis Diseño Construcción Prueba sistema. el plan de artefactos EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 93 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 94 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Fijación de un ciclo de desarrollo Casos de uso y los ciclos de desarrollo iterativos ?Una estrategia muy útil consiste en limitar el ciclo de ?Un caso de usoes una descripción narrativa de un proceso desarrollo a un marco temporal, un lapso rígidamente fijo. de dominio. ?Todo el trabajo ha de concluirse en ese lapso. ?Por ejemplo: Obtener libros de una biblioteca. ?Un períodoentre dos y cuatro semanas suele ser conveniente. ?Los ciclos iterativos de desarrollo se organizan a partir de los ?Para tener éxito con un programa de duración fija es requerimientos del caso de uso. necesario escoger los requerimientos con mucho cuidado y ?Se asigna un ciclo de desarrollo para implementar uno o más casos de uso o bien sus versiones simplificadas (si el caso es muy asignarle la selección al equipo de desarrollo. complejo como para ser abordado en un sólo ciclo). ?Los casos de uso deberían clasificarse, y los que ocupen Perfeccionar Sincronización Análisis Diseño Construcción Prueba los niveles más altos han de abordarse en los ciclos el plan de artefactos iniciales de desarrollo. de 2 semanas a 2 meses EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 95 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 96 44 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Fase de planificación y elaboración Fase de planificación y elaboración ?Esta fase incluye la concepción inicial, la investigación de ?Entre los artefactos generados en esta fase se pueden alternativas, la planificación, la especificación de mencionar los siguientes: requerimientos y otras actividades: ? Plan: programa, presupuesto, etc. ?Definir un plan preliminar ? Informe preliminar de la investigación: motivos, alternativas, ?Elaborar un informe preliminar de investigación necesidades de la empresa. ?Definir los requerimientos ? Especificación de los requerimientos: declaración de los ?Registrar los términos en el glosario (constante) requerimientos. ?Implementar el prototipo (opcional y aplazable) ? Glosario: diccionario (nombres de conceptos, pro ejemplo) y toda ?Definir los casos de uso (de alto nivel y esenciales) la información afín, como las restricciones y reglas. ?Definir el modelo conceptual preliminar (aplazable) ? Prototipo: sistema de prototipos cuyo fin es facilitar la comprensión ?Definir la arquitectura preliminar del sistema (constante, opcional y del problema, los problemas de alto riesgo y los requerimientos. aplazable) ?Perfeccionar el plan. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 97 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 98 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Fase de planificación y elaboración Fase de planificación y elaboración ?Entre los artefactos generados en esta fase se pueden ?El orden de la creación de artefactos no es necesariamente mencionar los siguientes: lineal como puede sugerir la lista anterior. ?Casos de uso: descripciones narrativas de los procesos de dominio. ?Podemos preparar en paralelo algunos de ellos. Esto se aplica especialmente al modelo conceptual, al glosario, a los casos de uso ?Diagramas de casos de uso: descripción gráfica de todos los casos y a los diagramas de los casos. de uso y sus relaciones. ?Los casos de uso son sometidos a un examen y, en ?Bosquejo del modelo conceptual: modelo conceptual preliminar cambio, el resto de los artefactos tienen por objeto reflejar cuya finalidad es facilitar el conocimiento del vocabulario del la información proveniente de los casos. dominio, especialmente en su relación con los casos de uso y con las especificaciones de los requerimientos. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 99 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 100 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Fase de construcción: ciclos de desarrollo Fase de construcción: ciclos de desarrollo ?La fase de construcción de un proyecto requiere varios ciclos de desarrollo a lo largo de los cuales se extiende el Ciclo de Ciclo de Ciclo de sistema. desarrollo 1 desarrollo 2 desarrollo 3 ?El objetivo final es obtener un sistema funcional que atienda debidamente los requerimientos. Perfeccionami Sincronización Análisis Diseño Construcción Prueba ento del plan de artefactos ?En un ciclo individual de desarrollo, los principales pasos se analizan y diseñan, como se señala en la figura siguiente. 1. Definir casos 2. Perfeccionar 3. Perfeccionar 4. Perfeccionar esenciales de el diagrama de el modelo el glosario uso casos conceptual 5. Definir 6. Definir los 7. Definir diagramas de contratos de diagramas de secuencia operaciones estado EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 101 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 102 55 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Fase de construcción: ciclos de desarrollo Cuando crear el modelo conceptual ?Como en el caso de los artefactos de la fase de ?El modelo conceptuales una representación de conceptos requerimientos, algunos artefactos pueden ser creados en u objetos en el dominio del problema, como Libro y paralelo, por ejemplo: Biblioteca. ?Modelo conceptual y glosario. ?Debe limitarse el esfuerzo aplicado a la creación de un ?Diagramas de interacción y diagramas de diseño de clases. modelo conceptual preliminar en la fase de planificación y elaboración, ya que en los dominios de problemas amplios, el modelo conceptual puede tornarse muy complejo. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 103 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 104 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Cuando crear el modelo conceptual Cuando crear los casos expandidos de uso ?La estrategia recomendada es generar rápidamente un ?Durante la fase de planificación y elaboración, se aconseja modelo conceptual que se centre en identificar los crear todos los casos de uso de alto nivel, pero describir conceptos obvios expresados en los requerimientos y los más importantes en el formato expandido, posponiendo posponer hasta más tarde una investigación con el resto hasta el ciclo de desarrollo en que se estudian. detenimiento. ?Por lo tanto se recomienda estudiar detenidamente, ?Otra estrategia es suspender la creación de un modelo durante la fase de planificación y elaboración sólo los conceptual hasta el inicio de los ciclos de desarrollo, lo cual casos de uso más importantes. tiene la desventaja de aplazar la complejidad. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 105 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 106 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Definición de modelos y artefactos Modelo del sistema ?UML describe modelos de sistema basado en los conceptos ?El modelo global del sistema esta constituido por: de objetos. ?Modelo de análisis: el que se relaciona con una ?Todos los diagramas de UML pueden ser divididos en dos investigación de dominio y del ámbito del problema, pero tipos. no con la solución. ?Un modelo estáticodel sistema describe las propiedades estructurales del sistema. ?Modelo de diseño: el que se relaciona con la solución ?Un modelo dinámicodescribe las propiedades del comportamiento del sistema. lógica. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 107 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 108 66 Introducción al proceso de desarrollo Introducción al proceso de desarrollo Relación entre los artefactos Relación entre los artefactos ?Scoinn simtrupiorr tloasr cmoomdoe llooss, asret edfaacnt odse psee nodregnacniiacse nm puayr a pinrveeIlnismftoiigrnmaaceri ódne Ersepqeuceifriicmaiceinótno sde importantes entre ellos. ?Por ejemplo, un diagrama de casos de uso depende de las Casos de uso: definiciones de los casos de uso. ba) )adleg uanltoos n eivseeln tocidaoless Prototipos expandidos ?Si se crea un artefacto que no tenga otros dependientes y si no se usa como entrada de otra cosa, habrá que poner Diagramas de casos de uso en tela de juicio su valor y el tiempo que se dedicó a su creación. Presupuesto, programa de Modelo conceptual actividades preliminar Glosario EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 109 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 110 Análisis y diseño orientado a objetos Análisis y diseño orientado a objetos Resumen Quiz ?¿Qué es análisis? ?¿Cuál es la diferencia entre análisis y diseño OO? ?¿Qué es diseño? ?¿Porqué UML tiene tantos diagramas? ?Análisis y diseño OO ?¿De qué sirve el “divide y vencerás” en OO? ?Uso de UML ?¿Qué es un proceso de desarrollo? ?Introducción al proceso de desarrollo ?¿Qué pasa dentro de un ciclo de desarrollo? EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 111 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 112 Fase de planificación y elaboración Fase de planificación y elaboración Contenido Especificación de requerimientos ?Especificación de Requerimientos ?Con esta actividad se quieren lograr los siguientes ?Casos de Uso: Descripción de Proceso objetivos: ?Crear los artefactos de la fase de requerimientos, por ejemplo, las ?Clasificación de los casos de uso especificaciones de funciones. ?Inicio de un ciclo de desarrollo ?Identificar y clasificar las funciones del sistema. ?Identificar y crear los atributos del sistema y relacionarlos con las funciones. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 113 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 114 77 Fase de planificación y elaboración Fase de planificación y elaboración Captura de Requerimientos Ejemplo: Punto de venta ?Requerimientos son una descripción de necesidades o ?Declaración general:el propósito de este proyecto es crear un sistema deseos para un producto. de punto de venta para ser usada en locales de venta. ?El reto consiste en definirlos de manera inequívoca, de modo quese ?Clientes:Placeres Terrenales, Ltda, vendedor multinacional de objetos detecten los riesgos y no se presenten sorpresas al momento de de relajación entregar el producto. ?Objetivos:En general, la meta es hacer más rápido el procedimiento ?Los siguientes tópicos son recomendados a ser de pago de productos, para apoyar en forma mejor, más rápida y desarrollados en esta fase: barata los procesos de servicios y negocios. Más específicamenteesto ?declaración general incluye ?clientes ?Rápido pago y entrega de comprobante a los compradores ?objetivos ?Rápido y preciso análisis de ventas ?funciones del sistema ?atributos del sistema ?Control del inventario automático EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 115 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 116 Fase de planificación y elaboración Fase de planificación y elaboración Funciones y atributos del sistema Funciones y atributos del sistema ?Funcionesdel sistema son aquellas que el sistema se ?En cambio, los atributosdel sistema son cualidades no- supone que tiene que hacer, tales como autorizar el pago funcionales del sistema, como por ejemplo, la facilidad de con las tarjetas de crédito. uso, que a menudo se confunden con las funciones del ?Estas deben ser identificadas y anotadas en grupos lógicos y sistema. cohesivos. ?Con el objeto de verificar que algún X es de verdad una ?Nótese que facilidad de uso no encaja en la oración de verificación: función del sistema, la siguiente oración deberá tener El sistema deberá hacer la facilidad de uso. sentido: ?Los atributos no deben formar parte de las especificaciones ?El sistema deberá hacer <X>. funcionales del sistema, sino de un documento independiente que ?Por ejemplo: El sistema deberá autorizar los pagos con tarjetas de especifica sus atributos. crédito. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 117 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 118 Fase de planificación y elaboración Fase de planificación y elaboración Funciones y atributos del sistema Funciones y atributos del sistema ?Las funciones deben ser clasificadas en categorías para ?Las siguientes funciones básicas del sistemas en la poder priorizarlas. aplicación del punto de venta son una muestra significativa; no pretenden en absoluto ser exhaustivas. ?Las categorías incluyen: ?Funciones Evidentes -Debe realizarse, el usuario esta consciente que se ha realizado. Ref # Función Categoría R1.1 Registrar la venta en proceso (actual): la lista de los artículosEvidente ?Funciones Ocultas-Debe realizar, pero no debe ser visible a los comprados usuarios. R1.2 Calcular el total de la venta actual, incluyendo impuestos y descuentosEvidente ?Funciones Superfluas-Opcionales; su agregación no afecta … significativamente en el costo o en otras funciones. R1.5 Registrar las ventas completadas Oculta … R1.9 Mostrar la descripción y el precio del item Evidente EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 119 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 120 88 Fase de planificación y elaboración Fase de planificación y elaboración Funciones y atributos del sistema Funciones y atributos del sistema ?Sería mejor agrupar funciones en un orden lógico, por ?Los atributosdel sistema son características o dimensiones ejemplo, todas las funciones de pago. del mismo: no son funciones. ?Por ejemplo, facilidad de uso, tolerancia a fallas, plataformas, tiempo de respuesta, etc. Ref # Función Categoría R2.1 Manejar los pagos con efectivo, capturando la cantidad entregada yEvidente entregando el monto de vuelto ?Los atributos tienen un posible conjunto de detallesde R2.2 Manejar los pagos con las tarjetas de crédito, capturando laEvidente atributos, los cuales tienden a ser valores discretos, información de la tarjeta tanto por el lector como manualmente … confusos o simbólicos, por ejemplo: R2.4 Registrar los pagos con la tarjeta de crédito en el sistema de Oculta ?Tiempo de respuesta = (psicológicamente correcto) contabilidad, para cobrarlos después a los bancos. ?Facilidad de Uso =(¿???) EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 121 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 122 Fase de planificación y elaboración Fase de planificación y elaboración Funciones y atributos del sistema Funciones y atributos del sistema ?Algunos atributos del sistema también pueden tener ?Atributos del sistema en especificaciones de las funciones restricciones de frontera del atributo, que son condiciones relacionan los atributos con las funciones que son obligatorias, generalmente dentro de un rango numérico afectados por ellos, además de definir el atributo de los valores de un atributo, por ejemplo: obligatorio u opcional. ?Tiempo de respuesta = (5 segundos cómo máximo) ?Una restricción de frontera suele ser obligatoria, pues de lo contrario significaría que no era sólida. Atributo Detalle y limitación Tiempo de respuesta (restricción de frontera) La descripción y el Ref# Función Categ. Atributo Detalles y Categ. precio aparecerán en menos de 5 segundos. Limitaciones Sistema Operativo (detalle) Microsoft Windows 95 y NT R1.9 Mostrar la Evidente Tiempo de respuesta La descripción y el Requerido descripción y el precio aparecerán en precio del item menos de 5 segundos. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 123 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 124 Fase de planificación y elaboración Fase de planificación y elaboración Casos de uso: Descripción de procesos Casos de uso: Descripción de procesos ?Objetivos: ?La técnica de casos de uso se puede aplicar tanto al análisis estructurado, como al análisis orientado a objetos. ?Identificar y escribir casos de uso ?Diseñar diagramas de casos de uso. ?Un caso de usoes un documento narrativo que describe la ?Contrastar los casos de uso de alto nivel, tanto como expandidos. secuencia de eventos de un actor (agente externo) que ?Contrastar los casos de uso esenciales con los reales. utiliza un sistema para completar un proceso. ?Los casos de uso sonhistorias o casos de utilizaciónde un sistema. ?No son exactamente los requerimientos ni las especificaciones funcionales, sino que ejemplifican e incluyen tácitamente los requerimientos en las historias que narran. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 125 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 126 99 Fase de planificación y elaboración Fase de planificación y elaboración Casos de uso: Descripción de procesos Casos de uso: Descripción de procesos ?Notación en UML ?Un caso de uso expandido muestra más detalles que uno de alto nivel Comprar productos ?este tipo de casos suelen ser útiles para alcanzar el conocimiento ?El siguiente caso de uso de alto nivel describe clara y más profundo de los procesos y de los requerimientos. concisamente el proceso de comprar artículos en una tienda cuando se emplea una terminal en el punto de venta. Caso de uso: Comprar productos en efectivo Actores: Cliente (iniciador), Cajero Propósito: Capturar una venta y su pago en efectivo. Caso de uso: Comprar productos Resumen: Un cliente llega a la caja registradora con los artículos que comprará. Actores: Cliente, Cajero El Cajero registra los artículos y recibe un pago en efectivo. Al Tipo: Primario terminar la operación, el Cliente se marcha con los artículos Descripción: Un cliente llega a la caja registradora con los artículos que comprará. comprados. Eopl eCraacjieórno, erel gCisliteran telo sse amrtaírccuhlao sc oyn lcoosb arart íeclu lioms pcoormtep. raAdlo ste.rminar la Tipo: Primario Referencias Funciones: R1.1, R1.2, R1.3, R1.7, R2.1 Cruzadas: EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 127 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 128 Fase de planificación y elaboración Fase de planificación y elaboración Ejemplo: Punto de venta Ejemplo: Punto de venta Curso Normal de Eventos Curso Normal de Eventos 7. El Cliente efectúa el pago en efectivo –el Acción de los actores Respuesta del sistema “efectivo ofrecido” –posiblemente mayor 1. Este caso de uso comienza cuando un que el total de la venta. Cliente llega a una caja de TPDV (Terminal 8. El Cajero registra la cantidad de efectivo 9. Muestra al cliente la diferencia. Genera un de Punto de Ventas) con productos que recibida. recibo. desea comprar. 10. El Cajero deposita el efectivo recibido y 11. Registra la venta concluida. 2. El Cajero registra la identificación de cada 3. Determina el precio del producto e extrae el cambio de pago. producto. incorpora a la transacción actual la El Cajero le da al Cliente el cambio y el Si hay varios productos de una misma información correspondiente. recibo impreso. categoría, el Cajero también puede introducir Se presentan la descripción y el precio del 12. El Cliente se marcha con los artículos la cantidad. producto actual. comprados. 4. Al terminar de introducir el producto, el 5. Calcula y presenta el total de la venta. Cajero indica a TPDV que se concluyo la Cursos alternativos captura del producto. ? Línea 2: introducción del identificador inválido. Indicar error. 6. El Cajero indica el total al Cliente. ? Línea 7: el cliente no tenía suficiente dinero. Cancelar la transacción de venta. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 129 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 130 Fase de planificación y elaboración Fase de planificación y elaboración Explicación del formato expandido Explicación del formato expandido ?La sección intermedia, curso normal de eventos, es la Caso de uso: Nombre del caso de uso parte medular del formato expandido Actores: Lista de actores (agentes externos), en la cual se indica quien inicia el ?Se describe en detalles la conversación interactiva entre los actores caso de uso. Propósito: Intención de caso de uso y el sistema. Resumen: Repetición del resumen de alto nivel o alguna síntesis similar. ?Un aspecto esencial de la sección es que explica la secuencia más Tipo: 1. Primario, secundario u opcional común de los eventos; no incluye situaciones alternativas. 2. Esencial o real Referencias Casos relacionados de uso y funciones también relacionadas del Cruzadas: sistema. Acción del actor Respuesta del sistema Acciones numeradas de los actores Descripciones numeradas de las respuestas del sistema. EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 131 EX UMBRANISOLEM UTFSM Fundamentos de Ingeniería de SW 132 1100
Description: