EMU: Difference between revisions

From EiffelStudio: an EiffelSoftware project
Jump to navigation Jump to search
Barnski (talk | contribs)
Trickli (talk | contribs)
mNo edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Projects]]
[[Category:Projects]]
 
[[Image:emu_logo_01.png|right|frame| EMUs: Eiffel Multi Users]]


=Overview=
=Overview=
Line 11: Line 11:


=Software Requirements Specification=
=Software Requirements Specification=
==The Parts==
You can find our SRS [[EMU/SRS|here]]
* EMU-Protocol
* EMU-Server
* EMU-Client
* EMU-IDE integration
 
==Developer Requirements==
===EMU-Protocol===
defines Client/Server communication with
* client/server states
* available messages
* client/server actions
 
===EMU-Server===
* stores and manages code-repository
* synchronizes code of clients
* manages Locking-System
* Account-System
* project update
* add/create new code (classes)
* change-logging
* optional: Media-upload
* optional: BackUp-System
* optional: Release-versions
* optional: Server-Admin-Tool
 
====Locking-System====
* list of locked code
* check if code (class) is locked
* lock / unlock code (class)
 
====Code-Synchronization====
* broadcast code-changes
* bring user code up to date
 
====Account-System====
The server uses an account-system to organize its projects and users.
Every project has its own users assigned.
 
=====Project-Accounts=====
* project name
* project-admin(s)
* user lists
* project status
* editable / creatable with a project-admin-tool
 
=====User-Accounts=====
* usernames
* used for logins
* assign locked code & changes to users
* online status
 
===Change-Log===
Every lock/unlock action is locked with following data:
* user name
* date and time
* type of action
* code element (class name)
 
===EMU-Client===
* interface for IDE and server
* provides features to login and communicate with server on an abstract base
* upload/download code elements to/from server
* notify IDE of server-messages (code-updates)
* modular / independent of IDE-integration
* optional: upload media files
 
====IDE-Notifications====
The client needs to notify the IDE of the new changes.
 
===EMU-IDE integration===
* minimal change to existing ES-classes and features.
* modular integration: activatable and removable / hideable
 


==User Requirements==
=How To=
* easy to use
A small HowTo, if you want to try our EMU: [http://n.ethz.ch/student/trickli/files/emuhowto.pdf HowTo]
* target is a small project group of up to 20 developers.
* code synchronisation process mostly hidden from user
* minimal extra work (less total work)
* better efficiency




Line 102: Line 25:
* everyone managed to compile Eiffelstudio
* everyone managed to compile Eiffelstudio


==M2: May ??? ==
==M2: May 2nd==
* To be completed by the team
* define EMU-Protocol as completely as possible


==M3: May 23rd==
* emu-server prototype
* server-administration application


==M4: May 30th==
* new EMU project wizard
* project-management tool: EMU Project Settings


=Team=
=Team=

Latest revision as of 21:15, 27 June 2006

EMUs: Eiffel Multi Users

Overview

Name

EMU stands for Eiffel Multi User.

Goal

The aim of this project is to integrate a simple repository functionality into EiffelStudio.


Software Requirements Specification

You can find our SRS here

How To

A small HowTo, if you want to try our EMU: HowTo


Milestones

M1: April 25th

  • set up mailinglist es-emu@origo.ethz.ch (Bernd)
  • wiki page up to date
  • everyone managed to compile Eiffelstudio

M2: May 2nd

  • define EMU-Protocol as completely as possible

M3: May 23rd

  • emu-server prototype
  • server-administration application

M4: May 30th

  • new EMU project wizard
  • project-management tool: EMU Project Settings

Team

Everyone interested in this project is welcome to join our mailinglist es-emu@origo.ethz.ch