Presentation slides - SoberIT

streakconvertingSoftware and s/w Development

Dec 13, 2013 (3 years and 8 months ago)

70 views

www.simupedia.fi

Bringing

power

of
simulation

to the
public

About Simupedia


Web portal to the simulation system Simantics


Bringing the power of simulations to the general public


Everyone can create their own model or run existing ones


Creating a community for simulation users and
model/solver developers


Users can use Simupedia registered or unregistered with
limited access


Site administrators has tools for keeping the site organized


About Simupedia


Simantics editor and player are used to run or
edit the models


There’s a solver(s) for each model


Solvers are running on a different server


Simupedia
-
application architecture

4

Simupedia uses Java Struts 2 framework which is based on Model
-
View
-
Controller 2 (MVC 2) Architecture


In Struts 2 every web page has an own action class, which can be
easily tested with JUnit. After action is executed, the actual
visualization is done in .jsp pages.


Picture from: http://www.ibm.com/developerworks/webservices/library/ws
-
arcstruts/

Struts 2 provides also a large
amount of functionalities to
help web development.


For database access we are
using Hibernate and the
actual database is MySQL.

Simupedia.fi Infrastructure



Simupedia server

Apache


Web server

Jboss
Application
Server

Simantics server
cluster

Internet

Simupedia

Web
app

Database

Simupedia Infrastructure


Simupedia is running on JBoss


Application
server


Using Apache as an frontend provides
possibility for easy JBoss clustering with
Apache’s loadbalancer


Currently running on MySql database, but can
be ported into any other database because of
Hibernate

DEMO


A demo from a normal user point of view


A demo from an administrator point of view

Results of this Project

Project
progress

Evaluation

of the
goals

Evaluation

of the
quality

Used

resources

Results

Project lifecycle


Planning Phase


Understanding the domain


Gathering the requirements


Prototyping


Implementation 1


Actual implementation starts


The plan was to get the public side ready


Implementation 2


The coding continues


QA had a stronger influence in this iteration

Evaluation of the goal 1

Customer goal 1:
”a youtube
-
like public simulation
site”

Verification criteria:


Users can run experiments,
create new models with model editor, publish the
created models and add comments to experiments
and models. The system can also be used as a
marketing channel by solver developers and for
advertisement
-
space for different companies”





Project plan, 3.1:Goal 1.

…Evaluation of the goal 1.


This goal cannot entirely be achieved without the
Simantics player and editor


All the supporting functionalities has been
implemented


We’ve made a player/editor
-
emulator to prove that
our system works


The system supports an easy advertisement
integration to the site via Struts
-
tiles.

Evaluation of the goal 2

Customer goal 1:


A professional site build on the
public site


Verification criteria:


The system has tools for team
working to help the advanced model development
and publishing.”







Project plan, 3.1:Goal 2.


…Evaluation of goal 2.


Some of the features got implemented but
some of them didn’t finish until the deadline.

Evaluation of the quality


Project size: 14920 loc including xml
-

and
properties
-
files


Bugs found: 20


Critical: 2


Major: 16


Minor: 2


Bugs fixed: 17

Evaluation of the quality

Description

Severity

Code execution in form fields

critical

out of memory:
permGen

major

getting a new password via email
does not work

Major

Long experiment
description/keyword

Minor

Used resources

Description

Realized

Planned

Left

Joni

JP

Nina

Ville

Antti

Juha

Oleg

Ferran

Sum (whole project)

968,9

1199,45

230,55

142,5

160,5

127

136

97,25

101

119,15

84,5

Sum (PP
-
iteration)

141,5

141,5

0

49

37,5

26

2

10

2

10

4

Sum (Implementation 1)

358,75

358,75

0

36,5

67

47

51,25

37

30,5

55,5

34

Sum (Implementation 2)

468,65

699,2

230,55

57

56

54

82,75

50,25

68,5

53,65

46,5

0
200
400
600
800
1000
1200
1400
23/9/2007
23/10/2007
23/11/2007
23/12/2007
23/1/2008
23/2/2008
Hours

Total Burndown

Realized
Used resources

24%

4%

9%

5%

47%

9%

2%

Realized/categories

Project Management
Design
Quality assurance
Project infrastructure
Programming
Documenting
Studying
Results


Simupedia is up and running on address
www.simupedia.fi


Some of the group functionalities didn’t get
finished because of the deadline


Documentation for customer


Technical documentation (how to install, setup
and develop the system)


Javadoc

Work practices & tools

Work Practices


Weekly coding sessions provided to be useful


The problems can be solved better in a group



Slicing up the iteration into smaller pieces


Helps you keep your project on time


You can set a theme to a every sprint to
emphasize certain areas of the project

Work Practices


Risk management


One team member leaves the team


Project manager couldn’t walk nearly for two
months


Simantics integration



Only the Simantics integration had some impact
on this project, but we manage to minimize it with
an player/editor
-
emulator

Development Tools

Tool

Version

JBoss


Application server

4.2.1.GA

Hibernate

3.2.5GA

Struts2 framework

2.0.9

Ant

1.6.5

Eclipse

3.3.1

Eclipse


Subclipse

plug
-
in

1.2.4

JUnit

Tomcat



Application

server

5.x, 6.x

MySQL

5.0.45

Other tools


IRC


MediaWiki


Email


TRAC


Thank You.