Duration:40 hours Who Can Benefit: Students who can benefit from this course are system architects, software engineers, systems analysts, and designers responsible for the conception and creation of object-oriented software applications. Prerequisites: To succeed fully in this course, students should be able to: • Understand object-oriented concepts and methodology • Demonstrate a general understanding of programming, preferably using the Java programming language • Understand the fundamentals of the systems development process Related Courses Before: • Java Technology for Structured Programmers (SL-265) • Java Programming Language (SL-275) After: • Java Programming Language Workshop (SL-285) • Developing Architectures for Enterprise Java Applications (SL-425) • Java EE Patterns (SL-500) Module 1 - Introducing the Software Development Process • Describe the Object-Oriented Software Development (OOSD) process • Describe how modeling supports the OOSD process • Explain the purpose, activities, and artifacts of the following OOSD workflows: Requirements Gathering, Requirements Analysis, Architecture, Design, Implementation, Testing, and Deployment Module 2 - Examining Object-Oriented Technology • Describe how OO principles affect the software development process • Describe the fundamental OO principles Module 3 - Choosing an Object-Oriented Methodology • Explain the best practices for OOSD methodologies • Describe the features of several common methodologies • Choose a methodology that best suits your project
Module 4 - Determining the Project Vision • Interview business owners to determine functional requirements of the software system • Analyze interview results to identify NFRs, risks, and constraints • Create a project Vision document from the results of the interviews and risk analysis Module 5 - Gathering the System Requirements • Plan for the process of gathering requirements • Plan for the stakeholder interviews to validate and refine the FRs and NFRs from the Vision document • Document the system in the System Requirements Specification (SRS) from all requirements sources Module 6 - Creating the Initial Use Case Diagram • Identify and describe the essential elements in a UML Use Case diagram • Develop a Use Case diagram for a software system based on the SRS • Record Use Case scenarios for architecturally significant Use Cases Module 7 - Refining the Use Case Diagram • Document a Use Case and its scenarios in a Use Case form • Recognize and document Use Case and Actor inheritance • Recognize and document Use Case dependencies • Identify the essential elements in an Activity diagram • Validate a Use Case with an Activity diagram Module 8 - Determining the Key Abstractions • Identify a set of candidate key abstractions • Identify the key abstractions using CRC analysis Module 9 - Constructing the Problem Domain Model • Identify the essential elements in a UML Class diagram • Construct a Domain model using a Class diagram • Identify the essential elements in a UML Object diagram • Validate the Domain model with one or more Object diagrams Module 10 - Creating the Analysis Model Using Robustness Analysis • Explain the purpose and elements of the Design model • Identify the essential elements of a UML Collaboration diagram • Create a Design model for a use case using Robustness analysis • Identify the essential elements of a UML Sequence diagram • Generate a Sequence diagram view of the Design model Module 11 - Introducing Fundamental Architecture Concepts • Justify the need for the architect role • Distinguish between architecture and design • Describe the SunTone Architecture Methodology Module 12 - Exploring the Architecture Workflow • Describe the Architecture workflow • Describe the diagrams of the key architecture views • Select the Architecture type • Create the Architecture workflow artifacts Module 13 - Creating the Architectural Model for the Client and Presentation • Explore user interfaces • Document a graphical user interface (GUI) application in the Client tier of the Architecture model • Document a web user interface (Web UI) application in the Presentation tier of the Architecture model Module 14 - Creating the Architectural Model for the Business Tier • Explore distributed object-oriented computing • Document the Business tier in the Architecture model Module 15 - Creating the Architectural Model for the Resource and Integration Tiers • Document the persistence mechanism in the Resource tier of the Architecture model • Document the persistence integration mechanism in the Integration tier of the Architecture model Module 16 - Creating the Solution Model • Create a Solution model for a GUI application • Create a Solution model for a Web UI application Module 17 - Refining the Domain Model • Refine the attributes of the Domain model • Refine the relationships of the Domain model • Refine the methods of the Domain model • Declare the constructors of the Domain model Module 18 - Applying Design Patterns to the Solution Model • Define the essential elements of a software pattern • Describe the Composite pattern • Describe the Strategy pattern • Describe the Observer pattern • Describe the Abstract Factory pattern
Module 19 - Modeling Complex Object State Using Statechart Diagrams • Model object state • Describe techniques for programming complex object state
|