Enterprise Architect SparxSystems

21
1

Transcript of Enterprise Architect SparxSystems

1

PRERREQUISITOS

Preferiblemente experiencia en UML o en los diagramas a los que brinda soporte la herramienta, es requeridapara el trabajo con ella;Adicionalmente conocer sobre proceso de desarrollo de software, específicamente en Análisis, Diseño OO, e ingeniería de software es deseable.

2

Objetivos

EA para acompañar un proceso de desarrollo• Usar EA como parte de las fases de inicio y elaboración para acompañar el proceso de desarrollo• Usar EA con el fin de modelar vistas de arquitectura bajo enfoque 4+1EA característica de trazabilidad• Con el fin de observar la forma en la cual se van llenando los modelos a partir de iteración a lo largo de los

ciclos y cómo los EA para Generar documentación:• A partir de los modelos creados generar series de entregables.EA para generar código• A partir de los modelos creados generar código fuente

Proximas sesiones:

•Views 4+1•UML Profiles•Extensiones

•Profiles: BPM/Simulacion•Test Management•Otros

•TeamWork: DBMS + Versioncontrol•Enterprise architecture•SOA> SOMF•MDG•Automation

3

4

Definiciónes una herramienta de análisis y diseño intuitiva, flexible y poderosa para construir software robusto y mantenible. Desde la recolección de requerimientos, pasando por el análisis, modelado, implementación y pruebas hasta despliegue y mantenimiento, Enterprise Architect es una herramienta de modelado UML rápida, rica en funcionalidad, multiusuario, que conduce el éxito de su proyecto de software

[Tomado de EA user’s guide]

5

6

7

There are two major groupings of UML diagrams:

· Structural Diagrams which depict the structural elements composing a system or function, reflecting the static relationships of a structure, or run-time architectures

· Behavioral Diagrams which show a dynamic view of the model, depicting the behavioral features of a system or business process

8

9

10

Se enumera el listado de necesidades del sistema a construir, mediante la definicion de requisitosRequirement Definition (Definición de requisitos): essentially what the system, application or business process is required to do; para el caso:Se trata de un negocio que comercializa articulos por internet. La idea es que permita• Buscar un articulo• Permite seleccionarlo • Permite comprarlo• Permite pagarlo con la tarjeta

• Administrar compradores y usuarios privilegiados• Administrar el listado de los productos en stock

11

A partir del enunciado, la idea del taller es trabajar sobre los temas indicados en la figura:

12

INSTALACIÓN• Descargar e instalar la herramienta• Existe un editor y un visualizadorREQUIREMENTS

• BasicPath• Create New Project, name=”Project01”

• [Talk about DBMS connection or open from EAP file differences]• [Talk about model patterns – template to make layout for the project]• Cancel the model-pattern

• Add View (name=“VistaFuncional”, type=“UseCase”)• Add Package (name=“Requisitos”)• Add Diagram (name=“RequirementsDiagram”)

• Edit Diagram• Add Element (Requirement [REQ-0001: gestionar productos: Permite administrar el listado

de productos que se tienen en la tienda virtual] y Requirement [REQ-0002: buscar productos: permite mostrar los productos existentees en la tienda que tienen existencia en inventario], REQ-003: llevar la contabilidad de los productos)

• Prioritize requirements• (Requirement Status colors, states [Project / Settings / Project Types / General

Types …]). • Validar que para el tipo de elemento “Requirements la opción esté habilitada”

• Por defecto esta opción está deshabilitada [Habilitar en Tools/Options > Objects / ShowStatusColorsOnDiagrams]

• Ir a Tools Specification Manager y cambiar la priorización• Counters [Project / Settings / AutoNames and counters …] Ajustar Para Requirements (prefijo REQ,

apply on creation chequeado, numero 001) y para UseCases con prefijo CUS• Add Element (Agregar 2 requirement adicionales REQ-001TestCounter, REQ-002 TestCounter):

Validar que el counter funciona, e indicar que cuando eliminan un elemento de un diagrama, sólo lo están escondiendo del árbol de elementos con los que trabajan. indicar la diferencia entre instanciar un objeto y su representación; eliminar usando la combinación CTRL+SUPR

• ShowNotes: [rightClickOnDiagram> Properties / Elements / ShowCompartments : Notes]• AddTaggedValue [Project/Settings/UMLTypes/TaggedValue Types i.e: evolucionTag:

{Type=CheckList;Values=PasoA1,PasoA2,PasoA3} ]• Ir a un requerimiento y en el panel de propiedades, En el tab “Tags” incluir un valor para incluir en

el requerimiento seleccinoado• Element Numbering [rightClickOnPackage:Advanced/TurnonElementNumbering]• ListView [Diagram/Aalternate View/ List View …]• AuditView [Project / AuditView + AuditSettings/EnableAuditting: Crear un req y luego volver a abrir]

13

USE CASES• Add Package [Name:CasosDeUso]• ImportRequirementsCSV [

• (1)Sobre el paquete, la opción import/export y subopción CSV import export• luego (2) crear la specification “import_usecases”, delimiter = “;”, nombre de archivo

import_usecases.csv y default direction import; default types UseCase.• Type• Name• Notes

• incluir al menos el type (4) realizar la importacion]. Usar el archivo de ejemplo para importar.• AddUseCaseDiagram• AddActor [Name: GestorBodega]• AddActor [Name: Cliente]• CreateCUS [Name: CrearProducto] y relacionarlo con actor GestorBodega• CreateCUS[Name:CrearOrden, Name:Pagar,Name:PagarConPSE]. Relacionarlos con actor Cliente• Include, Extends (Hacer una relacion de extend desde PagarConPSE hacia Pagar)• AddRequirementFromCus

• Con el cus Pagar, Properties/Rules/Requirements/ Crear requerimiento REQ-0021:Permitir pagar un producto por internet)

• RightClick en el requerimiento recién creado y seleccionar la opción “MoveExternal” / [<<realize >> relation para el requerimiento REQ-0021]

• AddScenarios• Agragar scenarios tipo SystemResponseInteraction

• Agregar el siguiente path al cus CrearOrden: Para ello abrir el archivo “Project01_scenario_desc.txt” y copiarlo al clipboard.

• Seleccíonar el tab “Structured Specification”. Dar click derecho en uno de los cuadros que se abren y decirle “Create structure from clipboard text/new line delimited”. Deben verse los siguientes pasos

• (1) usuario selecciona el carrito de compras• (2) System:verifica que el usuario actual esté autenticado• (3) System: muestra informacion relacionada con la orden • (4) User: confirma la orden

• Agregar alterno en el paso2 Carechimba no autenticado• (1) Guarda link de orden• (2) Redirecciona a pagina de login

• Agregar excepcion en paso 2: Si no existen productos• (1) Muestra mensaje informativo no existen prods

• ActivityDiagram description• [Generar el diagrama de actividades asociado a los pasos del escenario]. Apra ello pararse

en el flujo básico y dar la opción “Generate Diagram” > “activity Diagram”

14

• Agregar nuevo paquete llamado “UseCaseRealization” con un diagrama de tipo usecase• Dentro de él incluir el caso de uso pagar y el requisito REQ021. Qué tipo de relación tienen?• Ahora arrastrar los casos de uso 002, 003, 004 y el requisito “gestionar productos”. Crear relación de

realización entre estos casos de uso y hacia el requerimiento• TraceRequirement

• RelationshipMatrix [Tools/RelationshipMatrix: • Source:UseCase, type UseCase• Target:Requirement, Type Requirement]• Link Type: realization• >> Cuáles requisitos no tienen caso de uso? / Cuáles casos de uso no tienen requisito?

• TraceabilityWindow• Pasarse al diagrama de los casos de uso. • Habilitar el panel de trazabilidad [View/Traceability]• Seleccionar el caso de uso “pagar” y validar sus relaciones

• Crear Diagrama Nuevo; de casos de uso [Insertar Cus Pagar + RightClick + Insert Related Elements, hasta nivel 4], seleccionar “all” y dar click en OK

• Project Glossary [Project / Glossary]• Crear término tienda virtual y crear un tipo de ítem “Business”

• Documentation• GenerateDocumentation (RTF, HTML)

• [seleccionar el paquete «requisitos», click derecho indicando “Documentation/GenerateDocumentation” ]

• Luego generar en rtf, seleccionando la plantilla “Requirements Report / Summary”]• CustomizeDocumentation• DocumentationModel (Crear paquete Reqs-Administracion y adicionarle el requerimiento “Gestionar

Productos”] luego seleccionar paquete Requisitos, rightClick: Add Diagram, de tipo “Extended/Documentation”. Luego agregar master-document. Despues, Add elementModelDocument – Arrastrar un paquete sobre “model document”-, Luego seleccionar el elemento e ir a Project/Documentation/RTF Report…)

• Export to XMI• UseCase Estimation Through UseCasePoints

• [Project / UseCaseMetrics]• [Settings / Project Types / Estimation Factors > Environment Complexity Factors]

• Security (EnterpriseArchitect_UserManagement)• [Project / Security > EnableSecurity] [key={C27378C8-6CD8-4efa-92F8-4E0E4F1A8B65} ] (@see

http://www.sparxsystems.com/resources/corporate/index.html) [user=admin/pwd=password]• UI Elements (UserInterface: NewDiagram: show elements to model user interface).

• Advertir> cuando todo queda muy bonito, a veces el usuario no tiene la oportunidad de intervenir como debería

• UI HandDrawn Mode [rigltClickDiagram «Pagar», Diagram/HandDrawn]• BaseLines [SelectPackage + PackageControl/BaseLines…/] AddCus

[SelectDiagram+RightClick/CompareToBaseLine…+ShowDifferences]• Compact / Transfer Project [Tools/DataManagement/ProjectTransfer]

15

16

17

18

DIAGRAMA ESTADOS• AddDiagram (Behavior:StateDiagram)• AddElements: Encendido, Apagado • AddConnectors: click /dbl-click• Diagram-RightClick: StateChart Editor / Table (State-NextState)

DIAGRAMA SECUENCIA Y COMUNICACIÓN• Equivalencia de este diagrama con el de comunicación

DIAGRAMA-CLASES• Creación de clases, atributos, metodos• Generación de código

ESTEREOTIPOSCómo manejarlos y para qué sirven

Ejemplo manejo estereotipo con shapescript: Crear claseAddStereotypeSettings/UmlTypes… | SelectStereotype | OverrideAppearance ShapeScript | Edit : shape main { setfillcolor(255,0,0); rectangle(0,0,90,30); ellipse(0,30,90,60);} Transformaciones que se pueden realizar

Forma de crear profiles

19

20

21