Visit Broadbeans Inc., your one-stop education center


Broadbeans Inc.

We want to help make you succeed in the fast-paced world of technology. That is why, we, at Broadbeans Inc., are committed to providing customized courses uniquely tailored for each individual person or business. We want to be your one-stop education center. Because we understand that you would rather deal with one than many, we want to provide you courses that will help you and your business succeed. We provide both scheduled short courses for individuals and groups as well as custom courses for your company's training needs. We specialize in programming courses in software engineering essentials, object-oriented software engineering, Java, C++, UML, mobile application development, JavaScript, PHP/ MySQL, and Perl. We also can customize a course directly for your company. And we can be there every step of the way.

 Broadbeans Inc.
 Your one-stop
 education center.

 For more info on how 
 Broadbeans Inc. can serve
 you, contact:


Object-Oriented Software Engineering with UML, Java, and Eclipse 

Learning Objectives

The short course Object-Oriented Software Engineering with UML, Java, and Eclipse will expose students to the basics of object-oriented software engineering, including object-oriented analysis and design using UML (Unified Modeling Language), object-oriented programming using Java, all within the Eclipse environment. Laboratory sessions will equip participants with practical experience in object-oriented design, programming, and testing.

UML (Unified Modeling Language) is the standard language for object-oriented analysis and design. UML is used throughout the software project lifecycle to capture and communicate analysis and design decisions. At the end of the course, participants should be able to apply concepts and techniques necessary to effectively use system requirements captured using use cases to drive the development of a robust design model. Participants will understand the basic steps of object-oriented analysis and design, gain practical knowledge in the UML diagrams and notations, and build an object-oriented model for their project using UML.

Java is one of the most popular languages for object-oriented programming, which has become increasingly important for the development of modern, complex, large-scale software projects. Eclipse is an open-source Java IDE (Integrated Development Environment) and platform-independent software framework for rich-client applications. On completion of this subject students should be able to understand object-oriented programming features in Java, apply these features to program design and implementation, understand object-oriented concepts and how they are supported by Java, gain some practical experience of Java, understand implementation issues related to object-oriented techniques, and build a software program using Java and Eclipse.  

Upon completion of this course, the participants will be able to:

* Understand the entire software engineering project process, which consists of object-oriented analysis, design, programming and testing;
* Understand basic object-oriented programming concepts;
* Effectively use the main features of the object-oriented programming language Java;
* Gain experience in implementing object-oriented programs in Java;
* Apply an iterative, use case-driven process to the development of a robust design model;
* Use the UML to represent the design model;
* Apply the OO concepts abstraction, encapsulation, inheritance, hierarchy, modularity, and polymorphism to the development of a robust design model;
* Design and implement a software system using object-oriented software engineering paradigm.

Course Topics

DAY 1:
Software Engineering Overview
Object-Oriented Concepts
Introduction to Object-Oriented Programming with Java
* The Basics of Java
* Java Features
* Variable Declarations and Basic Data Types
* Data Encapsulation
* Overall Structure of a Class
* Class Variables
* Class Methods
* Java Documentation
* Packages and Importing
* Access Control
* Arrays
* Class Declaration
* Terminal I/O
* Exception Handling
* Constructors
* Class Hierarchy in Java
* Polymorphism
* Abstract Classes

DAY 2:
Hands-On Workshop with Java and Eclipse
Introduction to Object-Oriented Testing
* Object-Oriented Testing Strategy
* Testing Object-Oriented Code
* Class Testing
* Class Test Case Design
* Random Class Testing
* Partition Class Testing
* Integration Testing
* Random Integration Testing
* Behavioral Integration Testing
* Validation Testing
* System Testing
* Automated Testing

DAY 3:
Introduction to Object-Oriented Analysis and Design with UML
* UML Diagrams
* Class Diagrams
* Use-Case Diagrams
* Interaction Diagrams
* State Diagrams
* Activity Diagrams
* Component and Deployment Diagrams
* Design Patterns
Hands-On Workshop with EclipseUML
DAY 4:
Graphical User Interfaces
* Creating graphical user interfaces
* User interfaces using frames, panels, and simple UI components
* Swing vs. AWT
* Layout managers: FlowLayout, GridLayout, and BorderLayout
* Color and Font classes
* To use JPanel as subcontainers
Graphics Programming
*Java coordinate systems
* Graphics class
* Drawing Geometric Figures: drawString, drawLine, drawRect, fillRect, etc.
* Displaying images
Event-Driven Programming
*Event Handlers: ActionEvent, MouseEvent, KeyEvent
*Timer class
*Custom graphics programming
*JButton, JCheckBox, JRadioButton, JLabel, JTextField, JTextArea, JComboBox, JList, JScrollBar, JSlider.
*Display multiple windows in an application
Hands-On Workshop: Real System Example


Dr. Flora S. Tsai

Dr. Tsai has over 16 years of teaching experience for undergraduate software engineering subjects. She was a graduate of MIT, Columbia University, and NTU. Dr. Tsai has many years of industrial experience in software research and development in USA and Singapore. She teaches Object-Oriented Software Engineering Design, Object-Oriented Programming, and Software Engineering at the undergraduate level. She has previously conducted numerous professional short courses for the industry, including Object-Oriented Software Engineering Using UML, Java, and Eclipse, Object-Oriented Analysis & Design Using UML, Software Engineering Essentials, Object-Oriented Programming Using C++, Object-Oriented Programming Using Java, and Mobile Application Development with Java. She has edited three textbooks related to the subjects: Object-Oriented Software Engineering, Cyber Security, and E-Business Management. She was also involved in chairing the Eclipse Technology Summit, held at NTU in May 2006. Her recent awards include the 2005 IBM Faculty Award, 2007 Real-Time Innovation Award, 2010 Smarter Planet Innovation Award, and 2012 Smarter Communications Innovation Award. She was also the recipient of the 2005 Eclipse Innovation Grant for her project entitled “Object-Oriented Design and Development of an Electronic Patient Record System”. She is currently a senior member of both IEEE and ACM.


This course is intended for practitioners who want a basic understanding of object-oriented software engineering concepts, as well as hands-on practical experience applying the techniques. Includes software engineers, programmers, IT professionals, computer engineers, analysts, designers, and technical managers with some programming experience who wish to learn the theory and practice of object-oriented software engineering, object-oriented analysis and design, object-oriented programming, and achieve a solid grounding in UML design and Java programming. Preferably should have some basic understanding of object-oriented concepts.  



May 13-16, 2019


9:00am to 5:00pm 


Seattle, WA

Closing Date:

4 weeks before the course begins 

Course Fee:



Registration fees inclusive of:

  • Course materials

  • Light refreshments

  • Certificate of Completion


Note that all participants are requested to bring their own laptop to class. 

Online Course Option

Do you want to take our short courses, but cannot attend the scheduled classes? The online course option is now available for this class. Online courses have the same content as the scheduled courses, but are conducted online. Upon payment receipt, you will receive a set of course materials, email support, and one-to-one consultation (up to 3 hours) with the course instructor by phone or videoconference. Please register here or email with your preferred course and dates. Note: software licenses are NOT provided for online courses. You are required to download and install Java SDK, EclipseUML and Eclipse before beginning this online course.


Online Registration

Register Online or email


Payment Options

1. Online Payment (Visa / Mastercard / Amex / Paypal)

2. Check

3. Invoice to Company (for Company Sponsored Participants)

Cancellation & Refund Policy

Withdrawal or deferment notice must be made in writing to at least 4 weeks before the course begins.
In the event that the course is cancelled due to unforeseen circumstances, full refund will be given. Broadbeans Inc. reserves the right to substitute the course instructor with another of similar experience in case of extenuating conditions.


Participating Organizations

Institute of Infocomm Research

Singapore Polytechnic

ST Electronics Pte Ltd



For general questions or comments about the Broadbeans Inc. site, please send e-mail to

Thanks for taking the time to give us your comments.

© Broadbeans Inc.