300 likes | 439 Views
GLAO Presentation #2 CASE Architecture. Bewitched Team 15 Juin 2006. Outline. Introduction CASE Overview Strategy CASE working Special tools CASE architecture Overview Integration (Gateways) CASE development plan Gateways to develop Sequencing Conclusion. Introduction.
E N D
GLAO Presentation #2CASE Architecture Bewitched Team 15 Juin 2006 Soutenance GLAO #2
Outline • Introduction • CASE Overview • Strategy • CASE working • Special tools • CASE architecture • Overview • Integration (Gateways) • CASE development plan • Gateways to develop • Sequencing • Conclusion Soutenance GLAO #2
Introduction Soutenance GLAO #2
Context and Objectives • Context • GLAO project for CASE integration • Objectives • Demonstrate our CASE architecture • The quality of the proposed technical and methodological integration • Answering the specification needs • Its added values • Suggest a development plan for the CASE and Sygime Soutenance GLAO #2
CASE Overview Soutenance GLAO #2
CASE OverviewStrategy • BDE (Bewitched Development Environment) based on the Eclipse IDE (Integrated Development Environment) • Production of Java Web application for J2EE (JSP; Servlets) • A 3 axe strategy : • Test translations from the functional specifications • Code generation and modification • Test executions • Used with the XP (eXtrem Programming) Method (spiral development cycle) • The source code will be generated • The tests will be generated (for the majority) Soutenance GLAO #2
CASE OverviewCase Working (1/3) Soutenance GLAO #2
CASE OverviewCase Working (2/3) • The CASE works in 11 steps: • Project initialization, repository creation… • The customer provides the functional specifications • Functional specifications are translated in large view tests (functional tests) • From those tests, functional unit tests are extracted • Those tests are used in order to define modules • The dev. team defines the classes of the project and makes the first version of the Web application • Tests are added (partially automated) • Results of tests are available into BWI • The developers checkout the project and correct the detected bugs • The Web application is generated • A loop goes to the statement 7 until all the tests are not passed or the project is not finished Soutenance GLAO #2
CASE OverviewCase Working (3/3) • Key features for the use of CASE are: • BDE Tools • CASE Tools selected as part of the CASE • Eclipse, EclipseUML and the tests tools • BWI – Bewitched Web Interface • A home developed-tool providing additional features, managing the tests and the test executions • BBC – Bewitched Batch Control • A batch allowing to run the scripts for the gateways between the tools Soutenance GLAO #2
CASE OverviewSpecial Tools (1/3) - BWI • BWI – Bewitched Web Interface • Connected with several tools through many gateways • Considered as a hub • BWI has 8 major functions: • Secure login to the interface • Synchronisation of the tests with the SVN repository • Adding or modifying JUnit tests • Adding or modifying JUnitScenario tests • Viewing results of JUnit tests • Viewing results of JUnitScenario tests • Modifying of the testGen4J data.xml file • Manage repository Soutenance GLAO #2
CASE OverviewSpecial Tools (2/3) - BWI Soutenance GLAO #2
CASE OverviewSpecial Tools (3/3) - BBC • BBC – Bewitched Batch Control • Born from the idea that control of all gateways must be in only one place • BBC is a “super” batch that allows launching all scripts and batches that compose the gateways of the CASE • BBC will be automated on the server (CRON) and may be used from BWI manually • And… it makes call to other scripts with good parameters Soutenance GLAO #2
CASE Architecture Soutenance GLAO #2
CASE Architecture • Overview • Tool List • User Interfaces • Physical Architecture • Allocation in the physical architecture Soutenance GLAO #2
Overview (1/2)User Interfaces • BDE is constructed around the IDE Eclipse and the test tools • Run in a Java environment • Users will only use two tools (interfaces) • Eclipse IDE with its plug-in (EclipseUML, Subclipse, Solex) • BWI which will provide the test inputs and outputs, access to BBC Soutenance GLAO #2
Overview (2/2)Physical Architecture and Allocation • A distributed architecture imposed by the development with a team (XP) • Repository with the sources of the projects and the tests are on a server • A web server hosting the BWI tool • The BDE application on the workstations of the team members Soutenance GLAO #2
CASE Architecture • Integration • Flows diagram • Identified gateways • Costs of the gateways • Examples of gateways Soutenance GLAO #2
Integration (1/4)Flows Diagram Soutenance GLAO #2
Integration (2/4)Identified Gateways • 17 gateways have been identified Soutenance GLAO #2
Integration (3/4)Example 1 • The two complicated gateways are: • Junit-JUnitScenario Soutenance GLAO #2
Integration (4/4)Example 2 • TestGen4J - JUnit Soutenance GLAO #2
CASE development plan Soutenance GLAO #2
CASEdevelopment plan • Gateways to develop • Sequencing Soutenance GLAO #2
CASE Development Plan (1/2)Gateways to develop • 17 gateways • Only two gateways considered as long and difficult • Junit-JUnitScenario • TestGen4J - JUnit • 7 out of 17 are plug-in and don’t need work for integration • All gateways can be developed in the assigned time Soutenance GLAO #2
CASE Development Plan (2/2)Sequencing • 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 Soutenance GLAO #2
Conclusion Soutenance GLAO #2
Conclusion (1/2)Value Added • Strong interaction between project development team and customer • XP method • Web interface for collaborative work • Code generation • Main goal • Eclipse-Hibernate gateway will generate a maximum of source code • TestGen4J-Junit will be able to generate tests • A functional CASE • Reducing number of interface (BWI + Eclipse) • Scripts supervising other scripts (BBC) • A logic allocation of the tools and of the repository • Answer specific needs : Sygime • Technical and methodological quality • A repository based on SVN and data in a DataBase Soutenance GLAO #2
Conclusion (2/2)Sygime • Development Plan • Database conception (BDE) • Web Interface design (BDE) • Define functional tests (BWI) • Code generation (BDE + BBC) • Add and correct business code (BDE) • Verify test validation (BBC report) • Back 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 Soutenance GLAO #2
Questions ? Soutenance GLAO #2
CASE Development Plan (1/2)Costs of the gateways (Bonus) • The costs table has been define as follow Back Soutenance GLAO #2