1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD.

Slides:



Advertisements
Similar presentations
CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
Advertisements

Idaho National Engineering and Environmental Laboratory What is a Framework? Web Service? Why do you need them? Wayne Simpson November.
Lecture # 2 : Process Models
Chapter 4 Design Approaches and Methods
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Alternate Software Development Methodologies
Free Mini Course: Applying UML 2.0 with MagicDraw.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Introduction To System Analysis and Design
Software Testing and Quality Assurance
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
Lab/Sessional -CSE-374. SYSTEM DEVELOPMENT LIFE CYCLE.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Fundamentals of Information Systems, Second Edition
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
Rapid Prototyping Model
Introduction To System Analysis and design
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Free Mini Course: Applying SysML with MagicDraw
Symposium 2001June 24, 2001 Curriculum Is Just the Beginning Chris Stephenson University of Waterloo.
Chapter 2 The process Process, Methods, and Tools
CSCI-383 Object-Oriented Programming & Design Lecture 9.
Simplicity First: Use of Tools in Undergraduate CS and IS Teaching By David Naugler and Ken Surendran Southeast Missouri State University Computer Science.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Introduction To System Analysis and Design
Introduction into component programming based on Java beans Dušan Tošić
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
IFS410 – End User Support Chapter 11 Training Computer Users.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
1 How Ricoh Has Been Trying to Adopt MDD Internally. Atsushi KITAZAKI Ricoh Company,LTD.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
PROG Developing Robust Modular Software.. Objectives What do we want? Programmatic Elements in a Business System. Logic Layer. Persistence (Data)
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
This is a personal evaluation that was carried out after the completion of my project one and two. The next slide shows the summary of the key points.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Using Open Source Projects in Higher Education: A Two-Way Certification Framework Pantelis M. Papadopoulos, United Nations University Ioannis G. Stamelos,
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Final Year Project 1 (FYP 1) CHAPTER 1 : INTRODUCTION
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Software Design and Development Development Methodoligies Computing Science.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
Core Competencies Training for Supervisors
Core Competencies Training for Supervisors
Software Life Cycle “What happens in the ‘life’ of software”
Software Quality Engineering
Two part course Software Engineering option only!
Ada – 1983 History’s largest design effort
My Life Kinetik Program
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
Presentation transcript:

1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD.

2 2 KUKI, Shohei Started working as an embedded system engineer at Ricoh in First project was UI (User Interface) common component development, where he gained experience and skills on object-oriented software modeling. Has been training new engineers to improve their abilities and skills in object-oriented software modeling, as well as creating a system of skill development in object-oriented software modeling since 2003.

3 3 Contents Background Introductory OO Development Training Road to the effective training –Use BridgePoint –Lecture the concept of domain –Iteration evaluation review Conclusion Case Example of Applying BridgePoint to OO Development Training

4 4 Background History Practical OO Development Training Initial skill level of trainees

5 5 History Trying to adopt MDD again 2003 Model based OO development(the differential development) Rose was chosen as the major tool. Practical OO development training for newly hired employees Modeling technique was learned from SMM at the beginning. Bridge Point was one of the proposed tools. Bridge Point was not chosen as the major tool. but, still automatic code generation was promising. developed a part of printer engine controller by Bridge Point with a consultant. MDD was not adopted. OMG began advocating MDA Then,proposed MDD to a production side.

6 6 Practical OO Development Training Purpose –Developing software modeling engineers –Making constitution of building the quality into software at upper process –Making a set of software as outputs Trainees –Newly hired employees who assigned as software engineers Period –About 1 year

7 7 Initial skill level of trainees Academic background –University or master course graduates Programming experience –Some have development experience, some have no knowledge of programming language example in 2004: Experience of OO development –Nobody has knowledgedevelopment C 97 % 59 % C++ 59 % 25 % Java 59 % 16 % Other language 22 % 9%9%

8 8 Introductory OO Development Training Positioning and purpose Spec of Training Spec of Subject Development plan Training style and System

9 9 Positioning and purpose Positioning –Initial training of “practical OO development training” purpose –Aware of the fun in developing embedded software –Aware of the base of OO thinking

10 Spec of Training Subject Pathfinder ※ Hardware LEGO MindStorms OS legOS Trainees Newly hired employees who assigned as software engineers initial skill of trainees Exp. of software development: about 70% Exp. of OO development:0% Period About 10 days ※ This subject is the same as the one used for UML robot contest. (requested spec is simplified) URL of UML robot contest: (Japanese Version Only)

11 Spec of Subject Pathfinder –Self-steering vehicle –running along the line Proceed Stop Pause for 2 seconds Detect line Detect out-of-track –Maintenance Correct threshold level of sensors Check motors

12 Development plan Achieving functions incrementally Basic func.Proceed, stop and detect line Additional func. 1 Detect out-of-track (in 2002 and 2003) Pause for 2 seconds (in 2004) Additional func. 2 Check motors (in 2002 and 2003) Correct threshold level of sensors (in 2004)

13 Training style and system Training style –Lecture + exercise(group work) Promote understanding by many exercises Training system –lecturer Give lectures –advisers Support reviews 2 advisers for about 3 groups –trainees Form a group with 4 to 6 members

14 Road to the effective training

15 We did various kaizen rate of achievement of total groups year functions Basic func.100% Additional func. 180%100% Additional func. 20%80%100% UP! Not good progress Little time for analysis Not best progress Kaizen1: use BridgePoint Kaizen2: Lecture the concept of domain Kaizen3: Iteration evaluation review

16 Result in 2002 No group could achieve additional func. 2 rate of achievement of total groups year functions 2002 Basic func.100% Additional func. 180% Additional func. 20% No group could achieve additional function2 despite my efforts in preparing this function!

17 Problem in 2002 problem –Not good progress Many trainees deadlocked at design and implementation –Some trainees didn’t have experience of programming –Little time for analysis cause –Mismatching between training level and trainee’s skill level Especially, design and implementation were difficult for the trainees We used Rose as development tool, with which implementation is necessary

18 Kaizen1 in 2003: using BridgePoint Changed development tool –Switched from Rose to BridgePoint With BridgePoint, design and implementation is not necessary

19 Result in 2003 Speed up of development rate of achievement of total groups Had a lot of time for analysis year functions Basic func.100% Additional func. 180%100% Additional func. 20%80% UP! But some groups could not achieve additional function2

20 Problem in 2003 problem –Not best progress Couldn’t separate semantics –pathfinder and device Model quality varied depending on each group cause –Didn’t lecture the concept of domain Concept of domain and bridge was not understood well –Lack of quality management Couldn’t take hold of each group

21 Example : mixed semantics

22 Kaizen2 in 2004: lecture the concept of domain Added the concept of domain lecture to program –Increased training days, lecture and exercise

23 Example: separated semantics

24 Problem in 2003 problem –Not best progress Couldn’t separate semantics –pathfinder and device Model quality varied depending on each group cause –Didn’t lecture the concept of domain Concept of domain and bridge was not understood well –Lack of quality management Couldn’t take hold of each group

25 Kaizen3 in 2004: Iteration evaluation review Iteration evaluation review –Review for outputs in each iteration –We can take hold of each group’s status and quality of outputs. –Late group can increase the speed by doing some review intensively

26 Result in 2004 All groups achieved all functions! –Could shift the semantics –Developed the models in excess of a certain level rate of achievement of total groups year functions Basic func.100% Additional func. 180%100% Additional func. 20%80%100%

27 Comments from trainee Satisfaction level No data Comment sample Very satisfactoryI learned how we should do the group work Very satisfactoryPathfinder was a fun as a subject Very satisfactoryNow, I can understand the flow of OO development

28 We accomplished the purpose Aware of the fun in developing embedded software –All groups achieved all functions Aware of the base of OO thinking –Focused on analysis –Could shift the semantics –Developed the models in excess of a certain level

29 Conclusion

30 What we learned about education Take care of trainee’s skill level ! –Newly hired employees may not have implementation skill Focus OO thinking ! –Take a lot of time to analyze –Beginners cannot separate semantics Make trainees be fun to develop software ! –Rapid development BridgePoint is an excellent tool for education and future development

31 Thank you for listening! Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD.