Upload
rodney-powell
View
215
Download
1
Embed Size (px)
Citation preview
http://www.sigl.epita.net
15/06/2006Soutenance GLAO #2slide 1
BEWITCHED
GLAO Presentation #2GLAO Presentation #2CASE ArchitectureCASE Architecture
Bewitched TeamBewitched Team
15 Juin 200615 Juin 2006
15/06/2006Soutenance GLAO #2slide 2
BEWITCHED
OutlineOutline
• IntroductionIntroduction• CASE OverviewCASE Overview
– StrategyStrategy– CASE workingCASE working– Special toolsSpecial tools
• CASE architectureCASE architecture– OverviewOverview– Integration (Gateways)Integration (Gateways)
• CASE development planCASE development plan– Gateways to developGateways to develop– SequencingSequencing
• ConclusionConclusion
15/06/2006Soutenance GLAO #2slide 4
BEWITCHED
Context and ObjectivesContext and Objectives
• ContextContext– GLAO project for CASE integrationGLAO project for CASE integration
• ObjectivesObjectives– Demonstrate our CASE architectureDemonstrate our CASE architecture
• The quality of the proposed technical and methodological The quality of the proposed technical and methodological integrationintegration
• Answering the specification needsAnswering the specification needs• Its added valuesIts added values
– Suggest a development plan for the CASE and SygimeSuggest a development plan for the CASE and Sygime
15/06/2006Soutenance GLAO #2slide 6
BEWITCHED
CASE OverviewCASE OverviewStrategyStrategy
• BDE (BDE (BBewitched ewitched DDevelopment evelopment EEnvironment) based on the nvironment) based on the Eclipse IDE (Integrated Development Environment)Eclipse IDE (Integrated Development Environment)
• Production of Java Web application for J2EE (JSP; Servlets)Production of Java Web application for J2EE (JSP; Servlets)
• A 3 axe strategy :A 3 axe strategy :– Test translations from the functional specificationsTest translations from the functional specifications– Code generation and modificationCode generation and modification– Test executionsTest executions
• Used with the XP (eXtrem Programming) Method (spiral Used with the XP (eXtrem Programming) Method (spiral development cycle)development cycle)
• The source code will be generatedThe source code will be generated• The tests will be generated (for the majority)The tests will be generated (for the majority)
15/06/2006Soutenance GLAO #2slide 7
BEWITCHED
CASE OverviewCASE OverviewCase Working (1/3)Case Working (1/3)
15/06/2006Soutenance GLAO #2slide 8
BEWITCHED
CASE OverviewCASE OverviewCase Working (2/3)Case Working (2/3)
• The CASE works in 11 steps:The CASE works in 11 steps:1.1. Project initialization, repository creation…Project initialization, repository creation…
2.2. The customer provides the functional specificationsThe customer provides the functional specifications
3.3. Functional specifications are translated in large view tests Functional specifications are translated in large view tests (functional tests)(functional tests)
4.4. From those tests, functional unit tests are extractedFrom those tests, functional unit tests are extracted
5.5. Those tests are used in order to define modulesThose tests are used in order to define modules
6.6. The dev. team defines the classes of the project and makes the The dev. team defines the classes of the project and makes the first version of the Web applicationfirst version of the Web application
7.7. Tests are added (partially automated)Tests are added (partially automated)
8.8. Results of tests are available into BWIResults of tests are available into BWI
9.9. The developers checkout the project and correct the detected The developers checkout the project and correct the detected bugsbugs
10.10.The Web application is generatedThe Web application is generated
11.11.A loop goes to the statement 7 until all the tests are not passed A loop goes to the statement 7 until all the tests are not passed or the project is not finishedor the project is not finished
15/06/2006Soutenance GLAO #2slide 9
BEWITCHED
CASE OverviewCASE OverviewCase Working (3/3)Case Working (3/3)
• Key features for the use of CASE are:Key features for the use of CASE are:1.1. BDE ToolsBDE Tools
– CASE Tools selected as part of the CASECASE Tools selected as part of the CASE– Eclipse, EclipseUML and the tests toolsEclipse, EclipseUML and the tests tools
2.2. BWI – Bewitched Web InterfaceBWI – Bewitched Web Interface– A home developed-tool providing additional features, A home developed-tool providing additional features,
managing the tests and the test executionsmanaging the tests and the test executions
3.3. BBC – Bewitched Batch ControlBBC – Bewitched Batch Control– A batch allowing to run the scripts for the gateways A batch allowing to run the scripts for the gateways
between the toolsbetween the tools
15/06/2006Soutenance GLAO #2slide 10
BEWITCHED
CASE OverviewCASE OverviewSpecial Tools (1/3) - BWISpecial Tools (1/3) - BWI
• BWI – BWI – BBewitched ewitched WWeb eb IInterfacenterface– Connected with several tools through many gatewaysConnected with several tools through many gateways– Considered as a Considered as a hubhub
• BWI has 8 major functions:BWI has 8 major functions:– Secure login to the interfaceSecure login to the interface– Synchronisation of the tests with the SVN repositorySynchronisation of the tests with the SVN repository– Adding or modifying JUnit testsAdding or modifying JUnit tests– Adding or modifying JUnitScenario testsAdding or modifying JUnitScenario tests– Viewing results of JUnit testsViewing results of JUnit tests– Viewing results of JUnitScenario testsViewing results of JUnitScenario tests– Modifying of the testGen4J data.xml fileModifying of the testGen4J data.xml file– Manage repositoryManage repository
15/06/2006Soutenance GLAO #2slide 11
BEWITCHED
CASE OverviewCASE OverviewSpecial Tools (2/3) - BWISpecial Tools (2/3) - BWI
15/06/2006Soutenance GLAO #2slide 12
BEWITCHED
CASE OverviewCASE OverviewSpecial Tools (3/3) - BBCSpecial Tools (3/3) - BBC
• BBC – BBC – BBewitched ewitched BBatch atch CControlontrol
• Born from the idea that control of all gateways Born from the idea that control of all gateways must be in only one placemust be in only one place
• BBC is a “super” batch that allows launching all BBC is a “super” batch that allows launching all scripts and batches that compose the gateways scripts and batches that compose the gateways of the CASEof the CASE
• BBC will be automated on the server (CRON) and BBC will be automated on the server (CRON) and may be used from BWI manuallymay be used from BWI manually
• And… it makes call to other scripts with good And… it makes call to other scripts with good parametersparameters
15/06/2006Soutenance GLAO #2slide 14
BEWITCHED
CASE CASE ArchitectureArchitecture
• OverviewOverview– Tool ListTool List– User InterfacesUser Interfaces– Physical ArchitecturePhysical Architecture– Allocation in the physical Allocation in the physical
architecturearchitecture
15/06/2006Soutenance GLAO #2slide 15
BEWITCHED
Overview (1/2)Overview (1/2)User InterfacesUser Interfaces
• BDE is constructed around BDE is constructed around the IDE Eclipse and the the IDE Eclipse and the test toolstest tools
• Run in a Java environmentRun in a Java environment
• Users will only use two Users will only use two tools (interfaces)tools (interfaces)– Eclipse IDE with its plug-in Eclipse IDE with its plug-in
(EclipseUML, Subclipse, (EclipseUML, Subclipse, Solex)Solex)
– BWI which will provide the BWI which will provide the test inputs and outputs, test inputs and outputs, access to BBCaccess to BBC
Eclipse
EclipseUML JUnit
TestGen4J
JUnitScenario
Solex
Javadoc
Hibernate
Subclipse
Tomcat
XML Buddy
BWI
BBC
SVN
Hansel
Designing toolsTest tools Transversal toolsInterface
tools
15/06/2006Soutenance GLAO #2slide 16
BEWITCHED
Overview (2/2)Overview (2/2)Physical Architecture and Physical Architecture and
AllocationAllocation• A distributed architecture imposed by the development with a team (XP)A distributed architecture imposed by the development with a team (XP)• Repository with the sources of the projects and the tests are on a serverRepository with the sources of the projects and the tests are on a server• A web server hosting the BWI toolA web server hosting the BWI tool• The BDE application on the workstations of the team membersThe BDE application on the workstations of the team members
15/06/2006Soutenance GLAO #2slide 17
BEWITCHED
CASE CASE ArchitectureArchitecture
• IntegrationIntegration– Flows diagramFlows diagram– Identified gatewaysIdentified gateways– Costs of the gatewaysCosts of the gateways– Examples of gatewaysExamples of gateways
15/06/2006Soutenance GLAO #2slide 18
BEWITCHED
Integration (1/4)Integration (1/4)Flows DiagramFlows Diagram
Eclipse
BWI
JUnit
BEA Workshop
Tomcat
Javadoc
Solex
Hansel
JUnitScenarioSubclipse
EclipseUML
TestGen4J
Tests
SVN
Hibernate Synchronizer
Eclipse Environment
Server
MySQL
Repository
Workstation
ECP-IP
ECP-IP
ECP-IP
ECP-IPECP-IP
ECP-IP
ECP-IP
ECP-IP
ECP-OF
ECU-IF
JVD-IF
JUT-IF
JUT-OF
TG4-IF
TG4-OF
SLX-IC
BWF-IF
ECU-OF
HBS-IC
HBS-ID
SVN-IF
SVN-IF
TCT-IF
TCT-OW
JUT-IF
JUT-IF
JUT-OF
JUT-IF
SVN-OF
SVN-OF
BWF-IF
15/06/2006Soutenance GLAO #2slide 19
BEWITCHED
Integration (2/4)Integration (2/4)Identified GatewaysIdentified Gateways
• 17 gateways have 17 gateways have been identifiedbeen identified Code Type
Unidirection
al
Bidirectional
JUnit-Hansel JUT.HSL Tech. x
JUnit-JUnitScenario JUT.JUS Tech. x
TestGen4J-JUnit TG4.JUT Tech. x
Eclipse-JUnit ECP.JUT Tech, Meth. x
Eclipse-Solex ECP.SLX Tech, Meth. x
Eclipse-SVN ECP.SVN Tech, Meth. x
Eclipse-Javadoc ECP.JVD Tech x
Eclipse-HibernateSynchronizer ECP.HBS Tech, Meth. x
Eclipse-Tomcat ECP.TCT Tech. x
Eclipse-BEA Workshop ECP.JER Tech, Meth. x
Tomcat-JBoss TCT.JBS Tech. x
EclipseUML-Eclipse ECU.ECP Tech, Meth. x
EclipseUML-MySQL ECU.MYS Tech. x
HibernateSynchronizer-MySQL HBS.MYS Tech, Meth. x
BWI-JUnit BWI.JUT Tech, Meth. x
BWI-JUnitScenario BWI.JUS Tech, Meth. x
BWI-SVN BWI.SVN Tech, Meth. x
15/06/2006Soutenance GLAO #2slide 20
BEWITCHED
Integration (3/4)Integration (3/4)Example 1Example 1
• The two complicated gateways The two complicated gateways are:are:1.1. Junit-JUnitScenarioJunit-JUnitScenario
JUnitScenario
scenario.xml
Batch JUS
Script JUS
result.txt result.xml
Tool Program
Legend
BBC
Call
I/O
*Test.java
Fichier.jar
Maven
BBC
JUnit
15/06/2006Soutenance GLAO #2slide 21
BEWITCHED
Integration (4/4)Integration (4/4)Example 2Example 2
2.2. TestGen4J - JUnitTestGen4J - JUnit
JUnit
Tool Program
Legend
Call
I/O
TestGen4J
build.sh
project.jar
*.java
*Test.java data.xml
Maven
resultTest*.xml
BBC
BBC
15/06/2006Soutenance GLAO #2slide 23
BEWITCHED
CASECASEdevelopment plandevelopment plan
• Gateways to developGateways to develop• SequencingSequencing
15/06/2006Soutenance GLAO #2slide 24
BEWITCHED
CASE Development Plan (1/2)CASE Development Plan (1/2)Gateways to developGateways to develop
• 17 gateways17 gateways
• Only two gateways Only two gateways considered as long and considered as long and difficultdifficult– Junit-JUnitScenarioJunit-JUnitScenario– TestGen4J - JUnitTestGen4J - JUnit
• 7 out of 17 are plug-in 7 out of 17 are plug-in and don’t need work for and don’t need work for integrationintegration
• All gateways can be All gateways can be developed in the assigned developed in the assigned timetime
Cost
JUnit-Hansel 7
JUnit-JUnitScenario 9
TestGen4J-JUnit 9
Eclipse-JUnit 1
Eclipse-Solex 3
Eclipse-SVN 1
Eclipse-Javadoc 1
Eclipse-HibernateSynchronizer 7
Eclipse-Tomcat 1
Eclipse-BEA Workshop 1
Tomcat-JBoss 1
EclipseUML-Eclipse 1
EclipseUML-MySQL 6
HibernateSynchronizer-MySQL 2
BWI-JUnit 6
BWI-JUnitScenario 6
BWI-SVN 5
15/06/2006Soutenance GLAO #2slide 25
BEWITCHED
CASE Development Plan (2/2)CASE Development Plan (2/2)SequencingSequencing
• The first tool to be developed will be BWI, which is a hub between several tools
• After, all the missing script for each gateways will be developed
• To finish, Batches and BBC will be created allowing to control all the CASE from one place
• Estimated time for the entire CASE development is 4 weeks with 5 people according the costs table
15/06/2006Soutenance GLAO #2slide 27
BEWITCHED
Conclusion (1/2)Conclusion (1/2)Value AddedValue Added
• Strong interaction between project development team and Strong interaction between project development team and customercustomer– XP methodXP method– Web interface for collaborative workWeb interface for collaborative work
• Code generationCode generation– Main goalMain goal– Eclipse-Hibernate gateway will generate a maximum of source codeEclipse-Hibernate gateway will generate a maximum of source code– TestGen4J-Junit will be able to generate testsTestGen4J-Junit will be able to generate tests
• A functional CASEA functional CASE– Reducing number of interface (BWI + Eclipse)Reducing number of interface (BWI + Eclipse)– Scripts supervising other scripts (BBC)Scripts supervising other scripts (BBC)– A logic allocation of the tools and of the repositoryA logic allocation of the tools and of the repository– Answer specific needs : SygimeAnswer specific needs : Sygime
• Technical and methodological qualityTechnical and methodological quality– A repository based on SVN and data in a DataBaseA repository based on SVN and data in a DataBase
15/06/2006Soutenance GLAO #2slide 28
BEWITCHED
Conclusion (2/2)Conclusion (2/2)SygimeSygime
• Development PlanDevelopment Plan1.1. Database conception (BDE)Database conception (BDE)2.2. Web Interface design (BDE)Web Interface design (BDE)3.3. Define functional tests (BWI)Define functional tests (BWI)4.4. Code generation (BDE + BBC)Code generation (BDE + BBC)5.5. Add and correct business code (BDE)Add and correct business code (BDE)6.6. Verify test validation (BBC report)Verify test validation (BBC report)7.7. Back to 3 for more functionalitiesBack to 3 for more functionalities
• Web Interface will be generated• Controlled Security• Automated database access• Low development costs• Quality assurance via tests and iterative development
15/06/2006Soutenance GLAO #2slide 30
BEWITCHED
CASE Development Plan (1/2)CASE Development Plan (1/2)Costs of the gateways (Bonus)Costs of the gateways (Bonus)
• The costs table has been define as follow
Costs tables Estimated time Approximate work for this cost
0 - Inexistent Gateway
1 Immediate Existing gateway (generally plug-in or compatible formats)
2 0,5h Gateway possible with configuration
3 1h Gateway possible with existing intermediate tools
4 4h Files can be formatted to helped integration
5 1d One connector is needed
6 2d Several connector are needed
7 4d Several connector are needed with external tools
8 1week A connector changing a file is needed
9 2-3weeks Write of several connectors with multiple files manipulation
10 1year Part of tools to rewrite
Back