Uml: Diagrammes de classes -- Concepts avances --- 27megaplanet20
Description des modèles de classes.
Dans cette partie sont présentés des concepts avancés:
- visibilités et autre éléments sur les attributs et opérations
- composition, association qualifiées, class associatives
- héritages avec différentes subtilités
Uml: Diagrammes de classes -- Concepts avances --- 27megaplanet20
Description des modèles de classes.
Dans cette partie sont présentés des concepts avancés:
- visibilités et autre éléments sur les attributs et opérations
- composition, association qualifiées, class associatives
- héritages avec différentes subtilités
Cette présentation, mise en scène les valeurs et les principes des méthodes agiles , ainsi qu'une présentation détaillée sur la méthode XP et la méthode Scrum.
QCM Système d'information, Base de données, design pattern MERISE et UML MOA MOE gestion de projet QCM CMMI GED ITIL Intranet Extranet Internet pattern GRASP maintenance ERP système informatique SSO norme ISO CMMI
1. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
2. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
3. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
4. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
2 TUP signifie « 2 Track Unified Process »: c’est un processus de développement logiciel qui implémente le Processus Unifié (UP).
2 TUP est un processus qui apporte une réponse aux contraintes de changement continuel imposées aux systèmes d’information de l’entreprise.
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Cette présentation, mise en scène les valeurs et les principes des méthodes agiles , ainsi qu'une présentation détaillée sur la méthode XP et la méthode Scrum.
QCM Système d'information, Base de données, design pattern MERISE et UML MOA MOE gestion de projet QCM CMMI GED ITIL Intranet Extranet Internet pattern GRASP maintenance ERP système informatique SSO norme ISO CMMI
1. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
2. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
3. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
4. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
2 TUP signifie « 2 Track Unified Process »: c’est un processus de développement logiciel qui implémente le Processus Unifié (UP).
2 TUP est un processus qui apporte une réponse aux contraintes de changement continuel imposées aux systèmes d’information de l’entreprise.
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
What is an aspect in aspect oriented requirements engineeringmeriem sari
1) The document discusses the definition of an "aspect" in aspect-oriented requirements engineering (AORE) and its relationship to aspects in aspect-oriented programming (AOP).
2) Initially, an aspect was ambiguously defined as either a crosscutting concern itself or a way to deal with crosscutting concerns.
3) The paper argues that an aspect is better defined as a mechanism for dealing with crosscutting concerns, not as a synonym for crosscutting concern.
Structural features for face recognitionmeriem sari
1) The document discusses two articles on facial recognition techniques. The first article compares a geometric feature-based approach to a template matching approach, finding recognition rates of 90% and 100% respectively. The second article compares geometric features and Gabor wavelet features, finding Gabor wavelets more powerful with recognition rates of 92.2% versus 73.3% for geometric features alone.
2) Both articles extract and analyze features from faces for recognition. The first compares positioning of facial features to whole face templates. The second analyzes geometric points versus Gabor wavelet coefficients through a multi-layer perceptron architecture.
3) Gabor wavelets were found to outperform geometric features for facial expression recognition in the second
REST Web Service
The document discusses REST (Representational State Transfer), which is an architectural style for providing standards for building web services. It introduces REST, describing that everything is considered a resource with a unique URI. Resources are manipulated through POST, GET, PUT, DELETE operations similar to CRUD. REST uses uniform interfaces and resources are transferred over HTTP. The document provides an example of creating a RESTful web service in Java using Jersey that returns "Hello World" when accessed.
Relex Smile Laser surgery : is this the end of lasik ?
Presentation at the Annual Meeting in Clinical Ophthalmology (AMICO) in Brussels, March 14 2015.
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware
This document discusses OCCIware, an open source platform for managing cloud resources using the Open Cloud Computing Interface (OCCI) standard. It introduces OCCIware Studio for designing, simulating, and developing cloud applications and services, and the OCCIware Runtime for deploying and managing those services. It then demonstrates OCCIware's capabilities for linked data analytics as a service using Docker Studio and a MongoDB cluster. Upcoming work on OCCIware includes improvements to Studio, integration with cloud management tools, and further use cases involving data centers, big data, and linked data.
Model Transformation: A survey of the state of the artTom Mens
Presentation about model transformation at the international summer school on Model-Driven Development for Distributed, Real-Time and Embedded Systems (MDD4DRES, 2009, Aussois, France).
This document discusses the importance of modeling opposites in relationships between classes. It explains that in OCL, every class-typed property has an opposite property defined. Modeling opposites explicitly supports efficient transformation modeling. For example, modeling the opposites in a QVT relation allows Eclipse QVT relations to run 30 times faster than comparable ATL transformations and with linear rather than quadratic performance scaling.
Cours multimédia interactif intégrant le Tableau Blanc Numérique destiné aux élèves de la 4.A.E.F.
Exemple de Ressource Numérique didactique réalisé à l'aide du logiciel ActivInspire de Promethean.
Frame latency evaluation: when simulation and analysis alone are not enoughRealTime-at-Work (RTaW)
This document discusses the limitations of using only simulation and analysis for evaluating worst-case frame latencies on networks like Controller Area Network (CAN) buses. It presents experimental results showing that simulation may not reveal the actual worst-case latency and that analytical models require fine-grained modeling to be accurate. The document concludes that both simulation and analysis are insufficient alone and that validating analytical models with targeted simulation of worst-case trajectories is needed.
Model Transformation A Personal PerspectiveEdward Willink
The document discusses model transformation from the perspective of the author's background in embedded systems and digital signal processing. It outlines the author's experience with diagrams and models from analog circuits to block diagrams to functional modeling. It then discusses the challenges of model transformation, including dealing with meta-model semantics, managing multiple meta-models, and improving transformation efficiency through techniques like combining multiple transformation passes. The document argues that achieving widespread re-usable transformations will require formalizing the relationships between meta-models and their semantics.
Ce cours présente le langage UML qui permet notamment de modéliser des logiciels programmés en orienté objet. Ce cours présente les diagrammes de classes qui permettent de décrire la structure d'un logiciel et les diagrammes d'activité qui permettent de décrire les aspects dynamiques de l'exécution.
A l'heure où certains s'interrogent sur l'utilité du thésaurus, une nouvelle norme internationale sur le thésaurus est en cours d'élaboration. Elle remplacera les normes monolingues et multilingues Afnor et ISO publiées entre 1981 et 1990. Le thésaurus, outil d'aide à la recherche documentaire, s'inscrit désormais dans la logique du web sémantique et de l'interopérabilité. Hélène Rabault (chef de projet chez Lexis-Nexis) et Hélène Zysman (consultante ECM chez Smile) présenteront les principales nouveautés apportées par la norme ISO 15964.
2. Définition
2
une condition ou une restriction sémantique exprimée sous forme
d’instruction dans un langage textuel.
Une contrainte:
Peut être attachée à n’importe quel élément de modèle ou liste
d’éléments de modèle.
Désigne une restriction qui doit être appliquée par une
implémentation correcte du système.
Sari Meriem Contraintes UML 1ére Année Master GL
3. Les Contraintes
3
Une contrainte peut être un corps écrit dans un langage de
contrainte qui peut être:
Naturel.
Dédié, comme OCL.
Issu d’un langage de programmation.
Sari Meriem Contraintes UML 1ére Année Master GL
4. Les Contraintes
4
Nous avons déjà vu comment exprimer certaines formes de
contraintes avec UML :
Contraintes structurelles : les attributs dans les classes, les
différents types de relations entre classes, la cardinalité, etc.
Contraintes de type : typage des propriétés, etc.
Contraintes diverses : les contraintes de visibilité, les méthodes et
classes abstraites, etc.
Sari Meriem Contraintes UML 1ére Année Master GL
5. Représentation d’une Contrainte
5
Une contrainte est représenté sous la forme d’une chaîne de texte
placée entre accolades ({}).
Une contrainte peut possédé un nom.
Le nom est présenté sous forme d’une chaîne suivie d’un double
point (:).
Le tout précédant le texte de la contrainte.
Sari Meriem Contraintes UML 1ére Année Master GL
6. Contraintes et contraintes prédéfinies
6
UML permet d’associer une contrainte à un, ou plusieurs, élément(s)
de modèle de différentes façons :
Sari Meriem Contraintes UML 1ére Année Master GL
7. Types de Contraintes
7
Invariant de Classe: une contrainte qui doit être satisfaite par
toutes les instances de la classe.
Pré-condition d’une opération: une contrainte qui doit toujours
être vrai avant l’exécution de l’opération.
Post-condition d’une opération: une contrainte qui doit toujours
être vrai après l’exécution de l’opération.
Sari Meriem Contraintes UML 1ére Année Master GL
8. OCL
8
un langage formel textuel d’expression de contraintes bien adapté
aux diagrammes d’UML.
Acronyme de: Object Constraint Language.
Existe depuis la version 1.1 d’UML.
Peut s’appliquer sur la plupart des diagrammes d’UML et en
particulier au diagramme de classes.
Simple à utiliser et non ambigüe.
Sari Meriem Diagrammes de Classes 1ére Année Master GL
9. Intérêt du OCL
9
C’est un langage formel volontairement simple d’accès.
Peut être interprété par des outils.
Représente un juste milieu entre le langage naturel et un langage
très technique (langage mathématique, informatique, …).
Il permet ainsi de limiter les ambiguïtés, tout en restant
accessible.
Une expression OCL décrit une contrainte à respecter et ne décrit
absolument pas l’implémentation d’une méthode.
Sari Meriem Contraintes UML 1ére Année Master GL
10. Typologie des contraintes OCL
10
1. Contexte (context).
2. Invariants (inv).
3. Préconditions et postconditions (pre, post).
4. Résultat d’une méthode (body).
5. Définition d’attributs et de méthodes (def et let…in).
6. Initialisation (init) et évolution des attributs (derive).
Sari Meriem Contraintes UML 1ére Année Master GL
11. Contexte (context)
11
Une contrainte est toujours associée à un élément de modèle.
C’est cet élément qui constitue le contexte de la contrainte.
Syntaxe: context <élément>
<élément> peut être une classe:
Exemple: context Compte
<élément> peut être une opération:
Exemple: context Compte::getSolde()
Sari Meriem Contraintes UML 1ére Année Master GL
12. Invariants (inv)
12
Un invariant exprime une contrainte prédicative sur un objet qui
doit être respectée en permanence.
Syntaxe: inv : <expression_logique>
Exemple: Le solde d’un compte doit toujours être positif.
context Compte
inv : solde > 0
Sari Meriem Contraintes UML 1ére Année Master GL
13. Préconditions & postconditions (pre, post)
13
Une précondition permet de spécifier une contrainte prédicative
qui doit être vérifiée avant l’appel d’une opération.
Une postcondition permet de spécifier une contrainte prédicative
qui doit être vérifiée après l’appel d’une opération.
Syntaxe:
Précondition : pre : <expression_logique>
Postcondition : post : <expression_logique>
Exemple:
context Compte::getSolde() : Real
pre : somme > 0
post : result = solde
Sari Meriem Contraintes UML 1ére Année Master GL
14. Résultat d’une méthode (body)
14
Permet de définir directement le résultat d’une opération.
Syntaxe: body : <requête>
Exemple: le résultat de l’appel de l’opération getSolde doit être
égal à l’attribut solde.
context Compte::getSolde() : Real
body : solde
Sari Meriem Contraintes UML 1ére Année Master GL
15. Définition d’attributs et de méthodes (def et let…in)
15
let permet de déclarer et de définir la valeur (i.e. initialiser) d’un
attribut qui pourra être utilisé dans l’expression qui suit le in.
def permet également de déclarer et de définir la valeur
retournée par une opération interne à la contrainte.
Syntaxe:
let <déclaration> = <requête> in <expression>
def : <déclaration> = <requête>
Sari Meriem Contraintes UML 1ére Année Master GL
16. Initialisation et évolution des attributs (init, derive)
16
init permet de préciser la valeur initiale d’un attribut.
derive précise comment la valeur de ce type d’élément évolue.
Syntaxe:
init : <requête>
derive : <requête>
Exemple:
context Personne::marié : Boolean
init : false
context Personne::age : Integer
derive : date_de_naissance - Date::current()
Sari Meriem Contraintes UML 1ére Année Master GL
17. Types et opérations utilisables dans OCL
17
I. Types et opérateurs prédéfinis
II. Types du modèle UML
III. Collections
1. Ensemble (Set)
2. Ensemble ordonné (OrderedSet)
3. Sac (Bag)
4. Séquence (Sequence) :
Sari Meriem Contraintes UML 1ére Année Master GL
19. Types du modèle UML
19
Une contrainte OCL peut référencer une valeur de type
énuméré.
Syntaxe: <nom_type_enuméré>::valeur
Exemple: la classe Personne possède un attribut genre de type
Genre. On peut donc écrire la contrainte :
context Personne
inv : genre = Genre::femme
Sari Meriem Contraintes UML 1ére Année Master GL
20. Collections
20
Il existe plusieurs sous-types du type abstrait Collection :
Ensemble (Set): collection non ordonnée d’éléments
uniques.
Ensemble ordonné (OrderedSet): collection ordonnée
d’éléments uniques.
Sac (Bag) :collection non ordonnée d’éléments
identifiables (pouvant comporter des doublons).
Séquence (Sequence): collection ordonnée d’éléments
identifiables.
Sari Meriem Contraintes UML 1ére Année Master GL
21. Accès aux attributs et aux opérations (self)
21
L’objet désigné par le contexte est également accessible par
l’expression self.
Syntaxe: self.<propriété>
Exemple: dans le contexte de la classe Compte, on peut utiliser les
expressions suivantes :
solde
self.solde
getSolde()
self.getSolde()
débiter(1000)
self.débiter(1000)
Sari Meriem Contraintes UML 1ére Année Master GL
22. Opération sur les classes
22
Toutes les opérations que nous avons décrites jusqu’ici
s’appliquaient sur des instances de classe.
OCL dispose d’une opération prédéfinie sur les classes, les
interfaces et les énumérations qui retourne l’ensemble de toutes les
instances.
Exemple:
Personne.allInstances()
Sari Meriem Contraintes UML 1ére Année Master GL
23. Opérations sur les collections
23
OCL a un grand nombre d'opérations prédéfinies sur les
collections.
Syntaxe: collection->operation
collection->collect(elem | expr) Retourne la collection des
valeurs obtenues par application de expr aux éléments de collection.
collection->select(elem | expression) Retourne le sous
ensemble des éléments pour lesquels expression est vrai.
collection->reject(elem | expression) Retourne le sous
ensemble des éléments sauf lesquels que pour eux l’expression est
vrai.
collection->forAll(elem | expr) Retourne vrai si expr est vrai
pour tous les éléments de collection.
Sari Meriem Contraintes UML 1ére Année Master GL
24. Opérations sur les collections
24
collection->exists(elem | expr) Retourne vrai si il existe au
moins un élément de collection pour lequel expr est vrai.
Autre opérations:
isEmpty: vrai si self est vide.
notEmpty: vrai si self n’est pas vide.
size(): retourne le nombre d’éléments (la cardinalité) de self.
count(elem):retourne le nombre d’occurrences de objet dans self.
includes(elem): vrai si elem dans collection
excludes(elem): vrai si self ne contient pas l’objet objet.
sum(): etourne la somme des éléments de self.
Sari Meriem Contraintes UML 1ére Année Master GL
25. Héritage de contraintes
25
Partout où une instance d'une classe est attendue, une instance
d'une sous classe peut lui être substituée.
C’est le concepte de Liskov’s Substitution Principle (LSP).
Sari Meriem Contraintes UML 1ére Année Master GL
26. Consequences de LSP
26
Pour les invariants:
Un invariant est toujours hérité par ses sous classes.
Les sousclasses peuvent renforcer l'invariant.
Les preconditions et postconditions:
Une precondition peut être weakened (contravariance).
Une postcondition peut être strengthened (covariance).
Sari Meriem Contraintes UML 1ére Année Master GL
28. Exemple
28
Dans une société, le directeur est un employé, n’est pas un
chômeur et doit avoir plus de 40 ans. De plus, une société possède
exactement un directeur et au moins un employé.
context Société inv : self.directeur->size()=1 and
not(self.directeur.chômeur) and self.directeur.age > 40 and
self.employé->includes(self.directeur)
Une personne possède deux parents, l’un est une femme et l’autre
un homme.
context Personne inv : parent->size()=2 implies
( parent->exists(genre=Genre::homme) and
parent->exists(genre=Genre::femme) )
Sari Meriem Contraintes UML 1ére Année Master GL