Papyrus for Education
NOTE: Currently under construction.
If you want to stay tuned with this initiative, subscribe to the mailing list (more info here: https://dev.eclipse.org/mailman/listinfo/papyrus4edu)
For more details contact Jean-Michel Bruel.
Links and general information
Papyrus4Education is now available as a Papyrus Mars extra. To install it :
- You need the Mars version of Papyrus (see https://eclipse.org/downloads/index-developer-installer.php for eclipse mars,
and http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/mars for Papyrus installation)
- Use this update site: http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/mars/extra/
- Then select Papyrus Extra Other and select the feature (see below)
- To start Papyrus4Education select Preferences > Papyrus > ViewPoints Connfiguration
NOTE: The feature has been published with 0.7.0 version since the work is still in progress, the current implementation should follow the following feature description.
The repo of the project is here: https://git.eclipse.org/c/papyrus/org.eclipse.papyrus.git/. Contributions welcome!
List of concepts
Here is an initial list of concepts.
`Initial` means that the concept should be available from scratch, `Basics` means that those concepts are taught to beginners, but most of the time in a second step. `Advanced` will be those almost never taught but useful.
The `Class Diagram` is often the first one (easy to make exercises).
- Class - Association - Property - Operation - Comments - Multiplicity
- Generalization/Specialization - Order of reading - AggregationKind - AssociationClass - DataType - Dependency - Navigability - Ownership - Enumeration - Interface - MultiplicityElement - Operation - Package - VisibilityKind
Use Case Diagram
The `Use Case Diagram` is the next one (or first) because it is easy to understand by people without a technical background and because it has been widely used in modern software engineering for decades.
- Actor - UseCase
- Extend - Include
The `Sequence Diagram` is most of the time used as the first dynamic model. Each use case is supposed to be described by at least one DS. At first, we do "System Seq. Diag." where there are only actors plus a fake "system" participant, to represent interactions at high level.
- Participant - Message - Response
- CombinedFragments (opt,alt,par,ref) - Synchronous/Asynchronous messages
The `State Machine Diagram` is very often taught because you can use it for other teaching classes (networks, system, etc.).
- State - InitialState - FinalState - Transition (event,gard,action)
- StateMachine - Region
I don't teach `Activity Diagrams`, as some don't teach sequence diagram instead. But when I do, I only teach very basic notions.
- Activity - InitialNode - ActivityFinal - ControlFlow