SlideShare una empresa de Scribd logo
Análisis
1.- Introducción
Las actividades de análisis y diseño ayudan a transformar los requerimientos iniciales en un diseño
implementable en software. Durante el análisis, partir de los casos de uso, se construye el modelo de análisis.
El modelo de análisis contiene clases y las colaboraciones entre ellas que exhiben el comportamiento
dinámico del sistema. El nivel de abstracción del modelo de análisis es todavía demasiado elevado para
permitir su implementación directa.

Contenidos
1.- Introducción
2.- Análisis de casos de uso
3.- Análisis de clases

Las clases típicamente representan objetos, p.e. carro de la compra, pedido, producto,... en el dominio de negocio. El nivel de abstracción es tal
que las clases que se puedan identificar durante el análisis podrían igualmente aplicarse a otras arquitecturas de aplicación diferentes a la de una
aplicación Web. Los procesos y objetos más importantes del dominio del problema se identifican y categorizan durante el análisis.
El análisis se focaliza en los requerimientos funcionales del sistema, ignorando por el momento las restricciones de la arquitectura del sistema.
El énfasis se pone en asegurar que los requerimientos funcionales, tal y como se expresan en los casos de uso y otros documentos, son
contemplados. Idealmente, cada requerimiento y caso de uso se vincula con las clases y paquetes que lo realizan. Este vínculo es importante para
asegurar el seguimiento entre requerimientos, casos de uso y las clases que los realizan.
Para facilitar la construcción del modelo de análisis, este se puede completar en dos pasos:
Primero se analizan los casos de uso con más detalle. Esta fase se denomina "Análisis de casos de uso" y tiene como objetivo construir
diagramas de interacción simplificados que detallan el curso de acontecimientos de cada caso de uso. Por lo tanto esta fase se centra en
los aspectos más dinámicos del modelo de análisis.
La segunda fase, denominada "Análisis de clases", se fundamenta en la primera y tiene como objetivo los elementos estáticos del modelo,
los objetos del dominio. A partir de los objetos más evidentes, identificados en el "Análisis de casos de uso", se detalla el modelo de objetos
del dominio. Este se enriquece con más elementos estáticos identificados en los casos de uso y otros documentos. Esto El modelo de objetos
se formaliza utilizando diagramas de clases.

2.- Análisis de casos de uso
El análisis de casos de uso es una actividad que se realiza cuando los casos de uso están completos o próximos a completarse. En términos del
proceso de desarrollo ICONIX esta actividad se denomina análisis de robustez. Los objetivos son:
Identificar las clases que llevarán a cabo el flujo de eventos descrito en los casos de uso.
Identificar las asociaciones entre las clases.
Los resultados principales de esta fase son diagramas de interacción, que contienen clases y relaciones entre ellas. Estos diagramas describen
como un caso de uso dado es llevado a cabo en términos de clases.
El análisis de caso de uso se inicia con la elaboración de diagramas de interacción para los casos de uso base. Estos diagramas de interacción
identifican una serie de clases básicas. Estas clases son las encargas de desarrollar de forma conjunta los comportamientos detallados en los casos
de uso. Durante el análisis de casos de uso no se entra en demasiado detalle sobre estas clases. El objetivo es mostrar como se relacionan entre
ellas. Luego, en el análisis de clases, se retoman estas clases y se entra en más detalle.
Para facilitar la creación de los diagramas de interacción del análisis, las clases identificadas se enmarcan en tres tipos: interfaz, entidad y control.
1.

Interfaz: representan los elementos de la interfaz entre el actor y el sistema.
Ejemplos de instancias de estas clases, en el contexto de la Web, pueden ser páginas Web completas.

2.

Entidad: son aquellas cosas descritas en el caso de uso pero que perduran más allá del desarrollo de los eventos del caso de uso.
Por ejemplo: pedido, cliente, producto,...

3.

Control: representan procesos, actividades del sistema que se pueden nombrar y gestionan el funcionamiento de entidades e interfaces.
Por ejemplo: procesar factura, calcular impuestos,...

En los diagramas de interacción se muestran los actores del caso de uso, las clases (interfaces, entidades y controladores) y las relaciones entre
ellos. Para facilitar las cosas se aplican estas restricciones:
Los actores sólo pueden interactuar con interfaces.
Las entidades únicamente se relacionan con controladores.
Los controladores pueden interactuar con interfaces, entidades y otros controladores.
Una forma de empezar el análisis de casos de uso es examinando el texto del caso de uso en busca de nombres y verbos. Los nombres son
candidatos a entidades. Los verbos son posibles controladores.
Por ejemplo, para el escenario principal del caso de uso "Crear nuevo cliente": El usuario solicita darse de alta como cliente. Se muestra la
pantalla de alta de cliente, el usuario introduce sus datos. Se comprueba que todo este correcto y entonces se registra el nuevo cliente en el
sistema, el análisis del caso de uso daría como resultado el diagrama de interacción (concretamente de robustez):

1 de 4
Diagrama de interacción del análisis del caso de uso "Crear nuevo cliente"
El diagrama anterior corresponde a un caso de uso muy sencillo. Normalmente, los diagramas de interacción del análisis múltiples interfaces,
controladores y entidades. Por ejemplo, si el usuario pudiese darse de alta como un cliente avanzado para lo que se le solicitan más datos, el
diagrama podría ser el siguiente:

Diagrama de interacción del análisis del caso de uso "Crear nuevo cliente avanzado"
Los diagramas de interacción del análisis pueden tomar la forma de los presentados hasta el momento (llamados diagramas de robustez) o también
la forma de los más comunes diagramas de secuencia, que también son diagramas de interacción:

Diagrama de secuencia del análisis del caso de uso "Crear nuevo cliente"
o de igual forma para el caso más complejo:

Diagrama de secuencia del análisis del caso de uso "Crear nuevo cliente avanzado"
Una vez completados los diagramas de análisis de los casos de uso, se han identificado y relacionado un conjunto de clases (categorizadas
inicialmente como interfaces, controladores y entidades). Ahora es el momento de entrar en más detalle sobre los elementos que finalmente
implementarán la aplicación, las clases. Para ello se pasa a la actividad llamada "Análisis de clases".

3.- Análisis de clases
2 de 4
El análisis de clases se inicia partiendo de las identificadas en el análisis de casos de uso. Para facilitar su manejo, las clases se organizan en
paquetes. Los paquetes son herramientas UML para organizar las herramientas de representación que también aporta UML, ya sean estas últimas
casos de uso (como ya se ha visto durante la definición de los casos de uso) o clases.
La estructura de paquetes de casos de uso desarrollada previamente se utiliza ahora como punto de partida para organizar las clases. A medida que
se avance en el análisis de clases esa estructura básica se irá enriqueciendo teniendo en cuenta los siguientes criterios para crear una estructura de
paquetes "útil":
Comprensible: cualquiera debe de ser capaz, con poco esfuerzo, de comprender la razón de la existencia de los diferentes paquetes, los
elementos que se supone contendrán y sus responsabilidades.
Cohesiva: todas las clases de un paquete forman un grupo de manera natural a algún nivel de abstracción y están por lo tanto relacionadas.
Poco acoplada: generalmente, las clases tendrán más relaciones con las clases en del mismo paquete que con las clases de otros paquetes.
Jerarquía poco profunda: las jerarquías profundas tienden a ser menos comprensibles. Por lo tanto, es mejor mantener en número de
niveles de la jerarquía bajo.
Por lo tanto, partiendo de las clases ya identificadas, se examinan los casos de uso y los requerimientos funcionales centrándose en las cosas que
se describen más que en las acciones. De esta manera se pueden identificar más clases y relaciones, además de nuevas relaciones entre las clases
ya identificadas.
Como pauta para la identificación y enriquecimiento de las clases, se estudian nuevamente los casos de uso y requerimientos. Los nombres, como
ya se ha comentado, son candidatos a constituir clases y los verbos, en este caso, operaciones de las clases. Por lo tanto, las entidades que ya se
identificaron constituyen clases. Los controladores pueden constituir clases en si mismas o pasar a ser operaciones de clases existentes o nuevas.
Finalmente, las interfaces se suelen dejar a parte durante el análisis de clases ya que se contemplarán durante el diseño de la interfaz.
Por ejemplo, para el fragmento de caso de uso "Pasar por caja":
El cliente le dice al sistema que está listo para pasar por caja. Se examina el contenido del carro de la compra y se genera una lista de todos los
productos listos para la compra. El cliente confirma la compra y comunica al sistema que la procese,
se pueden identificar unos cuantos nombre que suenan importantes y que son buenos candidatos a clases: cliente, carro de la compra, compra,...
Por otro lado las frases verbales y verbos: pasar por caja, procesar,... que indican acciones significativas del caso de uso y parecen buenas
candidatas a operaciones de clases.
A partir de las clases y operaciones identificadas, más el conocimiento del dominio aportado por los casos de uso, expertos, el equipo de
desarrollo, etc. se puede formalizar el análisis de clases en un diagrama UML. Se trata del diagrama de clases. Cada caja del diagrama representa
una clase. Está dividida en tres partes: la superior contiene su nombre, la intermedia los atributos y la inferior las operaciones.

Partes de una clase de un diagrama de clases UML
Además, las clases se relacionan entre sí según se especifique en los casos de uso y en el conocimiento adquirido sobre el dominio. Existen
múltiples tipos de relaciones entre clases, destacaremos:
Generalización: también conocida como herencia. Permite reutilizar el comportamiento de las clases. La clase padre (destino de la flecha)
es más general que la clase hija. Esta última tiene todo el comportamiento de la clase padre (lo reutiliza) y añade nuevo comportamiento
más específico.
Asociación: relaciona instancias de clases. La instancia de una de las clases necesita información de una instancia de la otra clase para
llevar a cabo su comportamiento. Se representa como un segmento que conecta las dos clases. Se puede dar nombre a los dos extremos del
segmento y también cuantificar la cardinalidad de la relación. Con cuantas instancias de la segunda clase se relaciona cada instancia de la
primera, un valor del estilo 1, 1..*, 0..* que se coloca en el extremo del segmento más próximo a la segunda clase. Y viceversa, con cuantas
instancias de la primera clase se relaciona una de la primera.
Agregación: es un tipo especial de asociación en el cual se distingue un todo y una parte. Una instancia de una clase (todo) se relaciona con
una colección de instancias de la otra clase (parte) que la primera agrega. Una agregación se representa con un segmento con un extremo en
forma de diamante apuntando hacia la clase que representa el todo.

3 de 4
Diagrama de clases de análisis
Es importante destacar, llegados a este punto, que los diferentes diagramas son vistas de un modelo común de la aplicación. Por lo tanto no se
desarrollan de forma aislada. Cambios en uno pueden enriquecer la visión dada por otros. En el caso de los diagramas utilizados en el análisis, una
vez que se ha detallado el diagrama de clases, tanto las nuevas clases como las operaciones (como nombres de las flechas que van hacia los
objetos que las contienen) pueden mostrarse en los diagramas de interacción previos. Así se consigue un modelo más rico del sistema.
Por ejemplo, ver el diagrama de interacción correspondiente al caso de uso "Pasar por caja" al que se ha añadido la operación identificada para el
carro de la compra "calcularTotal" como el nombre de la flecha (invocación) que va desde el controlador a la entidad correspondientes.

Diagrama de interacción del análisis enriquecido con operaciones del análisis de clases
© Copyright Roberto García González, Universitat de Lleida, 2010

4 de 4

Más contenido relacionado

La actualidad más candente (18)

Mis diapositivas uml
Mis diapositivas umlMis diapositivas uml
Mis diapositivas uml
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaugh
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Dominio
DominioDominio
Dominio
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
D Iagramas U Ml
D Iagramas U MlD Iagramas U Ml
D Iagramas U Ml
 
0 todo
0 todo0 todo
0 todo
 
Modelo Conceptual UML
Modelo Conceptual UMLModelo Conceptual UML
Modelo Conceptual UML
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Herramientas De Modelado
Herramientas De ModeladoHerramientas De Modelado
Herramientas De Modelado
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboracion
 
Sem 8 Modelo De Analisis
Sem 8 Modelo De AnalisisSem 8 Modelo De Analisis
Sem 8 Modelo De Analisis
 
Diagramas uml10
Diagramas uml10Diagramas uml10
Diagramas uml10
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 

Destacado (20)

Setad
SetadSetad
Setad
 
publicidad en internet
publicidad en internetpublicidad en internet
publicidad en internet
 
el tenedor
el tenedorel tenedor
el tenedor
 
Trabajo inteligencia emocional_jose_antonio_vial_pdf
Trabajo inteligencia emocional_jose_antonio_vial_pdfTrabajo inteligencia emocional_jose_antonio_vial_pdf
Trabajo inteligencia emocional_jose_antonio_vial_pdf
 
Fucs presentacion taller internet
Fucs presentacion taller internetFucs presentacion taller internet
Fucs presentacion taller internet
 
Presentacion sobre la drogadiccion
Presentacion sobre la drogadiccionPresentacion sobre la drogadiccion
Presentacion sobre la drogadiccion
 
Ejercicio de contabilidad
Ejercicio de contabilidadEjercicio de contabilidad
Ejercicio de contabilidad
 
J:\documento de smelling\tarea\computador
J:\documento de smelling\tarea\computadorJ:\documento de smelling\tarea\computador
J:\documento de smelling\tarea\computador
 
Jaime plancha 2010
Jaime plancha 2010Jaime plancha 2010
Jaime plancha 2010
 
Setad
SetadSetad
Setad
 
Día%20 del%20libro[1]
Día%20 del%20libro[1]Día%20 del%20libro[1]
Día%20 del%20libro[1]
 
Presentación123
Presentación123Presentación123
Presentación123
 
Cultura organizacionl
Cultura organizacionlCultura organizacionl
Cultura organizacionl
 
Presentacion medios de pago
Presentacion medios de pagoPresentacion medios de pago
Presentacion medios de pago
 
Chinirama - Presentacion Sponsors Generica
Chinirama - Presentacion Sponsors GenericaChinirama - Presentacion Sponsors Generica
Chinirama - Presentacion Sponsors Generica
 
Presentacion
PresentacionPresentacion
Presentacion
 
Ejercico 2 evelin
Ejercico 2 evelinEjercico 2 evelin
Ejercico 2 evelin
 
Que es un blog
Que es un blogQue es un blog
Que es un blog
 
Legislación informática en colombia
Legislación informática en colombiaLegislación informática en colombia
Legislación informática en colombia
 
Uso del sitio web Biblioteca Orton
Uso del sitio web Biblioteca OrtonUso del sitio web Biblioteca Orton
Uso del sitio web Biblioteca Orton
 

Similar a 3 analisis

Implementacion informatica
Implementacion informaticaImplementacion informatica
Implementacion informatica
Luis Stifler
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
Messenger Adictos
 
14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii
Julio Pari
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologias
Josafat Mtz
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
joalmerca6
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetos
joalmerca6
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
Julio Pari
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
Julio Pari
 
Modelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones webModelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones web
MaritzaD
 
planeacion de software
planeacion de softwareplaneacion de software
planeacion de software
Maria Lopez
 

Similar a 3 analisis (20)

Diagrama de dominio armando
Diagrama de dominio armandoDiagrama de dominio armando
Diagrama de dominio armando
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clases
 
Semana8 soft ii
Semana8 soft iiSemana8 soft ii
Semana8 soft ii
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
 
Metodologia de iconix jhon poo
Metodologia de iconix jhon pooMetodologia de iconix jhon poo
Metodologia de iconix jhon poo
 
Implementacion informatica
Implementacion informaticaImplementacion informatica
Implementacion informatica
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologias
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetos
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaugh
 
UNIDAD I. TRANSICIÓN DEL ANÁLISIS HACIA EL DISEÑO.
 UNIDAD I.  TRANSICIÓN DEL ANÁLISIS HACIA EL DISEÑO.  UNIDAD I.  TRANSICIÓN DEL ANÁLISIS HACIA EL DISEÑO.
UNIDAD I. TRANSICIÓN DEL ANÁLISIS HACIA EL DISEÑO.
 
Jose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemasJose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemas
 
04 casos de uso
04   casos de uso04   casos de uso
04 casos de uso
 
Modelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones webModelado de analisis para aplicaciones web
Modelado de analisis para aplicaciones web
 
planeacion de software
planeacion de softwareplaneacion de software
planeacion de software
 

Último

Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
ansomora123
 

Último (20)

Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.pptLa Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 

3 analisis

  • 1. Análisis 1.- Introducción Las actividades de análisis y diseño ayudan a transformar los requerimientos iniciales en un diseño implementable en software. Durante el análisis, partir de los casos de uso, se construye el modelo de análisis. El modelo de análisis contiene clases y las colaboraciones entre ellas que exhiben el comportamiento dinámico del sistema. El nivel de abstracción del modelo de análisis es todavía demasiado elevado para permitir su implementación directa. Contenidos 1.- Introducción 2.- Análisis de casos de uso 3.- Análisis de clases Las clases típicamente representan objetos, p.e. carro de la compra, pedido, producto,... en el dominio de negocio. El nivel de abstracción es tal que las clases que se puedan identificar durante el análisis podrían igualmente aplicarse a otras arquitecturas de aplicación diferentes a la de una aplicación Web. Los procesos y objetos más importantes del dominio del problema se identifican y categorizan durante el análisis. El análisis se focaliza en los requerimientos funcionales del sistema, ignorando por el momento las restricciones de la arquitectura del sistema. El énfasis se pone en asegurar que los requerimientos funcionales, tal y como se expresan en los casos de uso y otros documentos, son contemplados. Idealmente, cada requerimiento y caso de uso se vincula con las clases y paquetes que lo realizan. Este vínculo es importante para asegurar el seguimiento entre requerimientos, casos de uso y las clases que los realizan. Para facilitar la construcción del modelo de análisis, este se puede completar en dos pasos: Primero se analizan los casos de uso con más detalle. Esta fase se denomina "Análisis de casos de uso" y tiene como objetivo construir diagramas de interacción simplificados que detallan el curso de acontecimientos de cada caso de uso. Por lo tanto esta fase se centra en los aspectos más dinámicos del modelo de análisis. La segunda fase, denominada "Análisis de clases", se fundamenta en la primera y tiene como objetivo los elementos estáticos del modelo, los objetos del dominio. A partir de los objetos más evidentes, identificados en el "Análisis de casos de uso", se detalla el modelo de objetos del dominio. Este se enriquece con más elementos estáticos identificados en los casos de uso y otros documentos. Esto El modelo de objetos se formaliza utilizando diagramas de clases. 2.- Análisis de casos de uso El análisis de casos de uso es una actividad que se realiza cuando los casos de uso están completos o próximos a completarse. En términos del proceso de desarrollo ICONIX esta actividad se denomina análisis de robustez. Los objetivos son: Identificar las clases que llevarán a cabo el flujo de eventos descrito en los casos de uso. Identificar las asociaciones entre las clases. Los resultados principales de esta fase son diagramas de interacción, que contienen clases y relaciones entre ellas. Estos diagramas describen como un caso de uso dado es llevado a cabo en términos de clases. El análisis de caso de uso se inicia con la elaboración de diagramas de interacción para los casos de uso base. Estos diagramas de interacción identifican una serie de clases básicas. Estas clases son las encargas de desarrollar de forma conjunta los comportamientos detallados en los casos de uso. Durante el análisis de casos de uso no se entra en demasiado detalle sobre estas clases. El objetivo es mostrar como se relacionan entre ellas. Luego, en el análisis de clases, se retoman estas clases y se entra en más detalle. Para facilitar la creación de los diagramas de interacción del análisis, las clases identificadas se enmarcan en tres tipos: interfaz, entidad y control. 1. Interfaz: representan los elementos de la interfaz entre el actor y el sistema. Ejemplos de instancias de estas clases, en el contexto de la Web, pueden ser páginas Web completas. 2. Entidad: son aquellas cosas descritas en el caso de uso pero que perduran más allá del desarrollo de los eventos del caso de uso. Por ejemplo: pedido, cliente, producto,... 3. Control: representan procesos, actividades del sistema que se pueden nombrar y gestionan el funcionamiento de entidades e interfaces. Por ejemplo: procesar factura, calcular impuestos,... En los diagramas de interacción se muestran los actores del caso de uso, las clases (interfaces, entidades y controladores) y las relaciones entre ellos. Para facilitar las cosas se aplican estas restricciones: Los actores sólo pueden interactuar con interfaces. Las entidades únicamente se relacionan con controladores. Los controladores pueden interactuar con interfaces, entidades y otros controladores. Una forma de empezar el análisis de casos de uso es examinando el texto del caso de uso en busca de nombres y verbos. Los nombres son candidatos a entidades. Los verbos son posibles controladores. Por ejemplo, para el escenario principal del caso de uso "Crear nuevo cliente": El usuario solicita darse de alta como cliente. Se muestra la pantalla de alta de cliente, el usuario introduce sus datos. Se comprueba que todo este correcto y entonces se registra el nuevo cliente en el sistema, el análisis del caso de uso daría como resultado el diagrama de interacción (concretamente de robustez): 1 de 4
  • 2. Diagrama de interacción del análisis del caso de uso "Crear nuevo cliente" El diagrama anterior corresponde a un caso de uso muy sencillo. Normalmente, los diagramas de interacción del análisis múltiples interfaces, controladores y entidades. Por ejemplo, si el usuario pudiese darse de alta como un cliente avanzado para lo que se le solicitan más datos, el diagrama podría ser el siguiente: Diagrama de interacción del análisis del caso de uso "Crear nuevo cliente avanzado" Los diagramas de interacción del análisis pueden tomar la forma de los presentados hasta el momento (llamados diagramas de robustez) o también la forma de los más comunes diagramas de secuencia, que también son diagramas de interacción: Diagrama de secuencia del análisis del caso de uso "Crear nuevo cliente" o de igual forma para el caso más complejo: Diagrama de secuencia del análisis del caso de uso "Crear nuevo cliente avanzado" Una vez completados los diagramas de análisis de los casos de uso, se han identificado y relacionado un conjunto de clases (categorizadas inicialmente como interfaces, controladores y entidades). Ahora es el momento de entrar en más detalle sobre los elementos que finalmente implementarán la aplicación, las clases. Para ello se pasa a la actividad llamada "Análisis de clases". 3.- Análisis de clases 2 de 4
  • 3. El análisis de clases se inicia partiendo de las identificadas en el análisis de casos de uso. Para facilitar su manejo, las clases se organizan en paquetes. Los paquetes son herramientas UML para organizar las herramientas de representación que también aporta UML, ya sean estas últimas casos de uso (como ya se ha visto durante la definición de los casos de uso) o clases. La estructura de paquetes de casos de uso desarrollada previamente se utiliza ahora como punto de partida para organizar las clases. A medida que se avance en el análisis de clases esa estructura básica se irá enriqueciendo teniendo en cuenta los siguientes criterios para crear una estructura de paquetes "útil": Comprensible: cualquiera debe de ser capaz, con poco esfuerzo, de comprender la razón de la existencia de los diferentes paquetes, los elementos que se supone contendrán y sus responsabilidades. Cohesiva: todas las clases de un paquete forman un grupo de manera natural a algún nivel de abstracción y están por lo tanto relacionadas. Poco acoplada: generalmente, las clases tendrán más relaciones con las clases en del mismo paquete que con las clases de otros paquetes. Jerarquía poco profunda: las jerarquías profundas tienden a ser menos comprensibles. Por lo tanto, es mejor mantener en número de niveles de la jerarquía bajo. Por lo tanto, partiendo de las clases ya identificadas, se examinan los casos de uso y los requerimientos funcionales centrándose en las cosas que se describen más que en las acciones. De esta manera se pueden identificar más clases y relaciones, además de nuevas relaciones entre las clases ya identificadas. Como pauta para la identificación y enriquecimiento de las clases, se estudian nuevamente los casos de uso y requerimientos. Los nombres, como ya se ha comentado, son candidatos a constituir clases y los verbos, en este caso, operaciones de las clases. Por lo tanto, las entidades que ya se identificaron constituyen clases. Los controladores pueden constituir clases en si mismas o pasar a ser operaciones de clases existentes o nuevas. Finalmente, las interfaces se suelen dejar a parte durante el análisis de clases ya que se contemplarán durante el diseño de la interfaz. Por ejemplo, para el fragmento de caso de uso "Pasar por caja": El cliente le dice al sistema que está listo para pasar por caja. Se examina el contenido del carro de la compra y se genera una lista de todos los productos listos para la compra. El cliente confirma la compra y comunica al sistema que la procese, se pueden identificar unos cuantos nombre que suenan importantes y que son buenos candidatos a clases: cliente, carro de la compra, compra,... Por otro lado las frases verbales y verbos: pasar por caja, procesar,... que indican acciones significativas del caso de uso y parecen buenas candidatas a operaciones de clases. A partir de las clases y operaciones identificadas, más el conocimiento del dominio aportado por los casos de uso, expertos, el equipo de desarrollo, etc. se puede formalizar el análisis de clases en un diagrama UML. Se trata del diagrama de clases. Cada caja del diagrama representa una clase. Está dividida en tres partes: la superior contiene su nombre, la intermedia los atributos y la inferior las operaciones. Partes de una clase de un diagrama de clases UML Además, las clases se relacionan entre sí según se especifique en los casos de uso y en el conocimiento adquirido sobre el dominio. Existen múltiples tipos de relaciones entre clases, destacaremos: Generalización: también conocida como herencia. Permite reutilizar el comportamiento de las clases. La clase padre (destino de la flecha) es más general que la clase hija. Esta última tiene todo el comportamiento de la clase padre (lo reutiliza) y añade nuevo comportamiento más específico. Asociación: relaciona instancias de clases. La instancia de una de las clases necesita información de una instancia de la otra clase para llevar a cabo su comportamiento. Se representa como un segmento que conecta las dos clases. Se puede dar nombre a los dos extremos del segmento y también cuantificar la cardinalidad de la relación. Con cuantas instancias de la segunda clase se relaciona cada instancia de la primera, un valor del estilo 1, 1..*, 0..* que se coloca en el extremo del segmento más próximo a la segunda clase. Y viceversa, con cuantas instancias de la primera clase se relaciona una de la primera. Agregación: es un tipo especial de asociación en el cual se distingue un todo y una parte. Una instancia de una clase (todo) se relaciona con una colección de instancias de la otra clase (parte) que la primera agrega. Una agregación se representa con un segmento con un extremo en forma de diamante apuntando hacia la clase que representa el todo. 3 de 4
  • 4. Diagrama de clases de análisis Es importante destacar, llegados a este punto, que los diferentes diagramas son vistas de un modelo común de la aplicación. Por lo tanto no se desarrollan de forma aislada. Cambios en uno pueden enriquecer la visión dada por otros. En el caso de los diagramas utilizados en el análisis, una vez que se ha detallado el diagrama de clases, tanto las nuevas clases como las operaciones (como nombres de las flechas que van hacia los objetos que las contienen) pueden mostrarse en los diagramas de interacción previos. Así se consigue un modelo más rico del sistema. Por ejemplo, ver el diagrama de interacción correspondiente al caso de uso "Pasar por caja" al que se ha añadido la operación identificada para el carro de la compra "calcularTotal" como el nombre de la flecha (invocación) que va desde el controlador a la entidad correspondientes. Diagrama de interacción del análisis enriquecido con operaciones del análisis de clases © Copyright Roberto García González, Universitat de Lleida, 2010 4 de 4