IBM Course Code: WD150G
In this 3-day course, students learn how to adopt an object-oriented (OO) approach to software development. The course is designed for experienced developers coming to Java from non object-oriented languages such as COBOL, RPG, or C. It is also appropriate for those who are new to programming.
Through a combination of instructor-led lectures and hands-on exercises, students take a case study through the stages of object-oriented requirements gathering, analysis, and design using the Unified Modeling Language (UML). Students learn how the Java language supports object-oriented programming, and how object-oriented designs can be implemented in Java. Numerous hands-on exercises and demonstrations provide practical experience with OO development from analysis and design to implementation.
This course includes topics such as interpreting UML diagrams, recognizing Java constructs that enable object-orientation, and how design patterns can improve the implementation of applications. The course also provides an overview of different software development methodologies that can be applied to the development of object-oriented applications.
This course prepares students for further training in the Java programming language by providing a sound foundation in OO principles.
What You'll Learn
- State the advantages of an object-oriented approach to software development
- Describe essential object-oriented concepts and terminology
- Perform OO requirements gathering, analysis, and design
- Describe the role of Unified Modeling Language (UML) in object-oriented analysis and design
- Read the most commonly used types of UML diagrams
- Create UML use case, class, and sequence diagrams
- Describe the impact of designing an application that can accommodate changes and the approaches to support such designs
- Create Java classes that implement an object-oriented design
- Apply Java language constructs that enable and enforce OO-related concepts such as data encapsulation, strict typing and type conversion, inheritance, and polymorphism
- Explain how design patterns can improve the implementation of OO designs
- Describe the incremental and iterative process for developing applications using object technology and how it differs from traditional approaches (for example, waterfall) to application development
- Compare the Rational Unified Process (RUP) and Agile approach as software development methodologies
Who Needs to Attend
This basic course is designed for architects, designers, analysts, developers, testers, administrators, managers, and project managers who will use object-oriented technology to build applications.
There are no prerequisites for this course.
There are no follow-ons for this course.
- Introduction to object-oriented programming
- Exercise: Identifying candidate objects in a case study
- Object concepts
- Exercise: Identifying classes and methods in a case study
- Key principles of object-oriented programming
- Exercise: Identifying classes and associations in a case study
- Introduction to UML
- Development project life cycle
- Requirements and use cases
- Exercise: Identifying actors and use cases
- Java technology overview
- Demonstration: Programming Java with the SDK
- Introduction to the Java language
- Demonstration: Using the software development platform
- Exercise: Java programming - Defining some classes
- OO analysis - Static UML diagrams
- Exercise: Finding candidate objects and creating a class diagram
- OO analysis - Dynamic UML diagrams
- Exercise: Developing sequence diagrams
- OO design for implementation - Associations
- Exercise: Refining the design for a case study (optional)
- OO design for implementation - Inheritance
- Exercise: Java programming - Implementing a design
- Designing for change
- Exercise: Java programming - Improving the implementation
- Course summary