33
1 2009-01-15 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science and Engineering, University of Mälardalen, Västerås, Sweden and at the Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia (year 2003/2004). For all other purposes, authors’ written permission is needed! The purpose of these materials is to help students in better understanding of lectures in DSD and not their replacement! NOTICE!

12009-01-15 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer

Embed Size (px)

Citation preview

12009-01-15

• These materials are prepared only for the students enrolled in

the course Distributed Software Development (DSD) at the

Department of Computer Science and Engineering,

University of Mälardalen, Västerås, Sweden and at the Faculty

of Electrical Engineering and Computing, University of Zagreb,

Croatia (year 2003/2004).

• For all other purposes, authors’ written permission is needed!

• The purpose of these materials is to help students in better

understanding of lectures in DSD and not their replacement!

NOTICE!

22009-01-15

Selected Topics in Software Engineering -

Distributed Software Development

32009-01-15

ASN.1 to CSV converter generatorFinal Presentation

2009-01-15

MDH:

Guido Di Campli

Giovanni Piemontese

Paolo D’Amelio

FER:

Ivan Škugor

Željko Krpetić

Željko Knežević

Steering group: Igor Čavrak at FERRikard Lang at MDHM.Sc. Branko Beslać (Ring datacom)

What we will talk about?

• Requirements

• Design evolution

• Project work summary

• Experiences from the project

• Testing

• Software demonstration

42009-01-15

Requirements

Requirement Finished

Generate converter without a need for additional programming

YES

ANSI C compilant YES

ASN.1 grammar presentation in the GUI

YES

Grammar entity selection YES

Output format Requirement changed

52009-01-15

Design evolution

62009-01-15

1. solution

72009-01-15

2. solution

82009-01-15

3. solution

92009-01-15

Final solution

102009-01-15

BER

• Modified ANS1C

1123-04-19

ASN.1

• Preprocessed with ASN1C

1223-04-19

XSL generator

• Takes Xpath formats as input

• Generates XSL file– XSL is used for XML to CSV conversion using

XSLT

• Returns string status

132009-01-15

Basic idea

• Linearize XML file– Root nodes at same level are represented as

one (or more rows) in CSV file– Root nodes that are not in the same level are

left empty

142009-01-15

Example XML<?xml version="1.0" encoding="utf-8"?>

<C T="[APPLICATION 1]">

<P T="[APPLICATION 41]">02</P>

<P T="[APPLICATION 38]">HRVVI</P>

<P T="[APPLICATION 45]">+0200</P>

<C T="[APPLICATION 2]">

<C T="[APPLICATION 4]">

<P T="[APPLICATION 34]">29340011</P>

<P T="[APPLICATION 19]">00</P>

</C>

<C T="[APPLICATION 4]">

<P T="[APPLICATION 34]"> 2934 </P>

<P T="[APPLICATION 19]">00</P>

</C>

<C T="[APPLICATION 4]">

<P T="[APPLICATION 34]"> 3432972f </P>

<P T="[APPLICATION 19]">00</P>

</C>

</C>

</C>

152009-01-15

Example Xpaths

C[@T='[APPLICATION 1]' and @name='Nrtrde']/P[@T='[APPLICATION 41] ' and @type='OCTET STRING']

C[@T='[APPLICATION 1]' and @name='Nrtrde']/P[@T='[APPLICATION 38]' and @type='OCTET STRING']

C[@T='[APPLICATION 1]']/C[@T='[APPLICATION 2]']/C[@T='[APPLICATION 4] ' and @name='mtc']/P[@T='[APPLICATION 34]' and @type='OCTET STRING']

C[@T='[APPLICATION 1]']/C[@T='[APPLICATION 2]']/C[@T='[APPLICATION 4]' and @name='mtc']/P[@T='[APPLICATION 19]' and @type='OCTET STRING']

162009-01-15

Example of output CSV

Nrtrde,02,HRVVI, ,

mtc , , ,29340011,00

mtc , , ,2934 ,00

mtc , , , 3432972f,00

172009-01-15

Project Work Summary

Activityw45 w46 w47 w48 w49 w50 w51 w52 w1 w2 w3

Project plan                  

Requirements analysis & definition                  

System Design                  

Tree view generator                  

Converter generator                  

GUI                  

Integration                  

Testing                  

Final Product                  

182009-01-15

Project status : Finished

Working hours

192009-01-15

Member W45 W46 W47 W48 W49 W50 W51 W02 Total

Ivan 12 4 7 11 21 17 22 50 144

Željko Kr 13 4 15 14 14 11 14 20 105

Željko Kn 7 8 24 12 35 25 10 10 131

Guido 7 12 24 15 15 31 17 25 145

Giovanni 10 12 19 15 15 32 17 25 145

Paolo 7 12 22 15 15 31 17 25 144Total 56 52 111 82 115 147 97 155 814

Total Working Hours

202009-01-15

Cost of 1 hour is 25€

Total hours 814

Total project cost is:28.490€

Current Planned Cost 27000€

Current Actual Cost 28490€

Planned Project Cost 29000€

Forecasted Project Cost 29000€

Experiences from the project• Tools of communication are:

• How to reach each member:

Ivan Škugor: Msn, Google, Video Conference

Željko Krpetić: Msn, Google, Skype, Video Conference, Telephone

Željko Knežević: Msn, Google, Video Conference

Guido Di Campli: Msn, Google, Skype, Video Conference

Giovanni Piemontese: Msn, Google, Skype, Video Conference

Paolo D’Amelio: Msn, Google, Skype, Video Conference

212009-01-15

Experiences from the project

Time:

• Time was spent in the right manner

• Changing requirements entailed more time

Improvements for next time:

• Start immediatly with conference

• Try to talk everyone with customer

222009-01-15

Experiences from the project

232009-01-15

TREEVIEW GENERATOR

GUIXSL

GENERATOR

Workload division:

Use Case diagram 1/2

242009-01-15

= Done

= Almost done or needs improvements

= Not Done

252009-01-15

= Done

= Almost done or needs improvements

= Not Done

Use Case diagram 2/2

Sequence diagram

262009-01-15

Testing 1/2

272009-01-15

GUI

XSL GENERATOR

Random TestingExplorarory TestingNormal TestingIntegration TestingFault InjectionState TransitionStress TestingPerformance Testing

Random TestingExplorarory TestingNormal TestingIntegration TestingState Transition

Random TestingExplorarory TestingNormal TestingIntegration TestingState TransitionStress TestingPerformance TestingFaulty Testing

TREEVIEW GENERATOR

Testing 2/2

282009-01-15

Test Verdict Comment

Random Testing Pass Tested funcionalities works

Exploratory Testing Not Passed Problems fixed

Normal Testing Pass Tested funcionalities works

Integration Testing Pass Tested funcionalities works

Falt Injection Testing Pass Tested funcionalities works

State Transition Testing Pass Tested funcionalities works

Stress Testing 1 Test not passed Bug found

Performance Testing Pass Tested funcionalities works

Faulty Testing Pass Possibility to force the system

292009-01-15

Fallback solution

302009-01-15

Requirements and Design

312009-01-15

Application installation routine:

Software Support

• We will provide 10 hours of free support to our customer

322009-01-15

332009-01-15