Clase modelo

Download Report

Transcript Clase modelo

SysML
Juan Carlos Olivares Rojas
MSN: [email protected]
[email protected]
http://antares.itmorelia.edu.mx/~jcolivar/
@jcolivares
Social Network: Facebook, LinkedIn. G+
Introducción
• Hasta hace poco no existí un lenguaje de
modelado común para diversas áreas de la
ingeniería que trabajan bajo un enfoque de la
Teoría General de Sistemas.
• Un grupo de expertos (OMG y otras
disciplinas) unieron esfuerzos por estandarizar
un lenguaje común de modelado universal de
sistemas. Para ello se basaron en UML 2.0
Introducción
• Muchos proyectos del área de TICs no
necesariamente se enfocan al desarrollo de
software.
• SysML no sólo puede modelar software
(aunque se recomienda UML que es más
específico), puede modelar cualquier tipo de
sistema.
• Los proyectos actuales y no sólo de TICs son
multidsciplinarios.
Introducción
• La Ingeniería en Sistemas como tal se
caracteriza por la definición de los
requerimientos
de
los
clientes,
la
documentación, diseño y validación de los
sistemas.
• Todos estos procesos pueden llevarse acabo
con SysML.
• SysML es un lenguaje visual para especificar,
comunicar y documentar sistemas.
Introducción
• La mayoría de las herramientas de modelado
de software y de diagramación empiezan a
incluir SysML dentro de sus plantillas.
Relación con UML
UML 2
SysML
UML4SysML
UML
UML
reused
by 2
Reuse
SysML
SysML
extensions to
UML
(1, 2)
UML
not required
by SysML
(UML UML4SysML)
SysML Profile
6
Jerarquía de Diagramas
SysML
Diagram
Structure
SysML:
Requirements
SysML:
Parametric
Activity
SysML:
SysML
Block Definition Internal Block
Package
Behaviour
Use Case
State Machine
Interaction
UML 1.x
UML 2.0
SysML:
Sequence
4 Pilares de SysML
1. Estructura
2. Comportamiento
sd ABS_ActivationSequence [Sequence Diagram]
stm TireTraction [State Diagram]
m1:Brake
d1:Traction
Modulator
Detector
LossOfTraction
detTrkLos()Gripping
sendSignal()
Slipping
RegainTraction
modBrkFrc(traction_signal:boolean)
modBrkFrc()
definition
use
sendAck()
3. Requerimientos
4. Parametrico
8
Diagramas de Paquetes
• Se utilizan para organizar los modelos
• Generalmente se agrupan los elementos del
mismo tipo en un paquete, aunque la
organización depende de los autores del
modelado, ya que se puden agrupar por
diagramas, etc.
Ejemplo D. Paquetes
pkg SampleModel [by diagram type]
pkg SampleModel [by level]
pkg SampleModel [by IPT]
Use Cases
Enterprise
Architecture
Team
Requirements
System
Requirements
Team
Behavior
Logical Design
IPT A
Structure
Physical
Design
IPT B
EngrAnalysis
Verification
IPT C
Por tipos de Diagramas
Por jerarquías
Por equipos de Desarrollo
Diagrama de Bloques
• Son los elementos básicos de la estructura del
proyecto:
– Hardware
– Software
– Datos
– Procedimientos
– Personas
«block»
BrakeModulator
Compartment
Label
allocatedFrom
«activity»Modulate
BrakingForce
values
DutyCycle: Percentage
• Los bloques definen las propiedades,
operaciones, restricciones de cada elemento
del proyecto. Son análogo a las clases en UML
D. Definición de Bloques
D. de Bloques Internos
• Define el uso de los bloques de forma interna
Diagramas Paramétricos
• Se
usan
para
expresar
restricciones
(generalmente ecuaciones) entre propiedades
de los bloques
• Se utilizan para realizar análisis, ayudando a
identificar factores críticos.
Ejemplo D. Paramétrico
Diagramas de Actividades
• Son idénticos a UML y modelan los flujos de
trabajos de un proceso. Son la versión
moderna de los diagramas de flujo
act Operate Car
Turn Key
to On
:Driving
Turn Key
to Off
Brake Pressure
«continuous»
«continuous»
Brake Pressure
«continuous»
Braking Pressure
:Braking
«controlOperator»
:Enable on Brake
Pressure > 0
Modulation
Frequency
«continuous»
«optional »
«continuous»
Modulation
Frequency
:Monitor Traction
{control}
Interacción
• Los diagramas de secuencia muestran la
representación de mensajes entre los bloques
(interacción).
• Son indénticos a los de UML pero más reducios
ya que no se tiene contemplados los diagramas
de tiempo, interacción global y comunicaciones
de UML 2.0
Ejemplo D. Secuencia
sd StartVehicleWhiteBox
ecu:PowerControlUnit
epc:ElectricalPowerController
1: StartVehicle
1.1: Enable
1.2:ready
Máquinas de Estado
• Representan generalmente el ciclo de
vida de un bloque.
• Generalmente modelan los eventos
ocurridos en el sistema (transición de
estados): disparadores, guardianes,
actuadores, etc.
• Son los mismos que en UML 2.0
Ejemplo D. Estado
stm HSUVOperationalStates
keyOff/
Off
start[in neutral]/start engine
shutOff/stop engine
Operate
Idle
accelerate/
when (speed = 0)
releaseBrake/
Accelerating/
Cruising
Braking
engageBrake/
Nominal
states only
D. Casos de Uso
• Describen la funcionalidad de un sistema
• Se recomienda que vayan acompañados de
una descripción formal del caso de uso
• Son idénticos a UML.
Ejemplo D. Casos de Uso
uc HSUV _ UseCases
[Operational Use Cases
]
HybridSUV
Flat _ Tire
«extend»
Drive _ The _ Vehi
«include»
Accelerate
cle
Driver
«include»
Steer
«include»
Park
«include»
Brake
Diagrama de Requerimientos
• El estereotipo «requirement» representa un
requerimiento basado en texto.
• Este tipo de diagrama modela una jerarquía de
requerimientos.
• Este tipo de diagrama no está presente en UML
2.X pero se recomienda su uso para el
desarrollo de Software.
Ejemplo D. Requerimientos
req [package] HSUVRequirements [HSUV Specification]
HSUVSpecification
«requirement»
Eco-Friendliness
RefinedBy
«useCase» HSUVUseCases::Accelerate
«requirement»
Performance
«requirement»
Power
«deriveReqt»
«requirement»
Braking
«requirement»
FuelEconomy
«requirement»
Acceleration
«requirement»
Emissions
Id = “R1.2.1”
text = “The vehicle shall meet Ultra-Low
Emissions Vehicle standards.”
VerifiedBy
«testCase» MaxAcceleration
SatisfiedBy
«block» PowerSubsystem
Referencias
• SysML, http://www.sysml.org/specs/Consultado
en Julio de 2011
¿Preguntas?