OS.bee Tutorial

From OS.bee documentation
Revision as of 13:08, 19 July 2018 by Yang (Talk | contribs) (Introduction)

Jump to: navigation, search

Introduction

This tutorial will introduce the architecture, technology and functionality of OS.bee using basic OS.bee application My1App.

My1App is a personal administration application consisting of a collection of models based on OS.bee Domain Specific Languages. It is generated by Eclipse wizards; the wizards build the Eclipse workspace, provide the basic structure and a number of consistent objects of models.

We use the "2BEE concept":

  1. describe the requirements from the point of a fictive user with using story map
  2. technically implement the requirements of user

You can step by step expand the rudimentary person administration (which has only basic configuration) with the user stories described in the story map, and then generate an employee administration based on your new person administration.


Please notice:

  • The task solutions can often be solved either by DSL code or graphic modeling. We will only present the solution with DSL code in this tutorial. You can use any one of them as you will.
  • Each tutorial user stories are independent from each other; you don’t need to totally complete the tutorial in once.

Requirement

My1App is a personal administration application consisting of a collection of models based on OS.bee Domain Specific Languages. It is generated by Eclipse wizards; the wizards build the Eclipse workspace, provide the basic structure and a number of consistent objects of models. So before executing the tutorial steps in this tutorial using My1App, the appropriate wizards must be installed. You can find more information about installation in doc of My1App.

My1App has the following basic objects:

  • The superclass BaseID, which has only one attribute identifier (id) as UUID (See UUID). It is the technical key as a basis of identification and it is an obligation for all entities.
  • The entity Person , which inherits the identifier attribute (id) from the superclass BaseID and has additional personal attributes.

The following vertically divided person-view represent the entity Person in My1App, on the left side is the Person-Table and on the right side is the Person-Dialog: Tutorial person view.png


Purpose

The task for the user of this tutorial is first the administration of personal data and then the main task is the administration of employee data.


Use cases

The personal administration should be extended by the following use cases:

  • change address
  • search person with full-name
  • establish current age of person
  • add profile picture
  • add gender
  • add marital status

The expected employee administration is described by the following use cases:

  • hire employee
  • fire employee
  • increase salary of employee
  • assign employee
  • transfer employee
  • evaluate employee


Story map

Tutorial story map 1.png
Tutorial story map 2.png

User stories

Administration of personal data

Change the address

search person with full-name

Establish current age

Add profile photo

Add gender

Add marital status

Administration of employee data

Create new entity of employee

Hire employee

Fire employee

Increase salary of employee

Assign employee

Transfer employee

Evaluate employee