System and Software Architecting
System and software engineers, architects, and analysts, as well as system or software project managers learn to streamline their model-driven system and software architecting skills. Participants gain the most important aspects of system and software architecting using a model-driven approach. This course emphasizes the overall methodology and the purposes for which certain things are done, and why and how certain UML/SysML artifacts are used to achieve these purposes.
The course provides practical design patterns and analysis/design methods to bridge the gap between the general methodology and practical architecture designs. Several comprehensive system and software architecting examples illustrate an end-to-end view of system and software architecture analysis/design methodology as well as practical skills. In addition, multiple laboratory sessions provide participants with enhanced hands-on experiences of system and software architecting processes, including a guided comprehensive architecture design and optimization process for a project of the participant’s choice. Mini Quality Attributes Workshops (QAW) and mini Architecture Tradeoff Analysis Method (ATAM) sessions are conducted as part of the participant’s comprehensive project for architecture evaluation/optimization and validation.
A comparison of SEI, IBM, and Telelogic architecting methodology/ process also is provided. A combination of open-source and commercial UML tools is used to provide participants the hands-on experience of comprehensive architecture development.
The following are distributed on the first day of the course:
- Systems Engineering with SysML/UML: Modeling, Analysis, Design, Tim Weilkiens (The OMG Press, 2008)
- Schaum’s Outline of UML, Simon Bennett, John Skelton, and Ken Lunn (McGraw-Hill, 2004)
- Lecture notes, which are for participants only and are not for sale.
Coordinator and Lecturer
Rongsheng (Ken) Li, PhD, Boeing Senior Technical Fellow, Boeing Defense, Space and Security Systems, El Segundo, California. Dr. Li has over 25 years of experience and is a recognized expert in the field of guidance, navigation, and control system design/analysis; software architecting, design, and implementation; and system integration. He has been with Boeing for the last 14 years and was previously manager of the system analysis department at BAE Control Systems. Dr. Li is the primary developer of several national high-precision spacecraft attitude determination systems as well as numerous integrated GPS/inertial navigation systems in the industry. He has 35 issued U.S. patents and more than 34 patent applications pending related to guidance, navigation, and control. He also has authored numerous technical papers and reports. Dr. Li has developed and taught several technical courses, including Spacecraft Attitude Determination and Object-Oriented Real-Time GN&C Software Design in C++ for multiple Boeing sites in Southern California; and System and Software Architecting, GPS Principles and Applications, and Spacecraft Attitude Control for UCLA Extension.
Two Fundamental Strategies: Wisdom from Heaven?
- What can we learn from the architecture of the universe?
- What can we learn from the growth of life?
System/Software Architecting: Learn From What You May Already Be Doing
- “Going back to the basics,” how to develop your own little system
- Architecture development process learned from “going back to the basics”
— Deciding on the ultimate objective
— Deciding how the system is used (usage design/analysis)
— Deciding what system capabilities/functionalities are needed to support the usage (functional design/analysis)
— Deciding how the system can be built by a number of components (system decomposition)
— Figuring out what is required of the components and how they work together (requirement flow-down and system integration)
— Evaluating the quality of the different architecture candidates (quality attributes)
Introduction to UML and SysML, and UML/SysML Tools
- Introduction to UML and SysML
- Using open-source UML/SysML tools
- Concept of architecture views
- Representing system context in UML
- Representing usage (use case) in UML
- From usage (use case) to functions using UML/SysML
- Representing candidate system decomposition in UML/SysML
- Deriving flowing-down requirements in UML/SysML
Lab Session 1: Simple System/Software Architecting Using UML/SysML Tool
Architecting Complex Systems
- Limitations of the human brain and how to deal with the reality
- Concept of level of abstraction: how to make complex things look simple
- Architecting a complex system by recursively applying skills we already learned
Lab Session 2: Architecting Complex Systems Using UML/SysML Tool
Quality Attributes and Design Patterns; Architecture Evaluation/Validation/Optimization Process
- What is a good architecture?
- How to derive quality attributes and quality attribute scenarios, Quality Attribute Workshop (QAW)
- Typical quality attributes for system architecture
- Typical quality attributes for software architecture
- Architecture design patterns and tactics
- Architecture evaluation and ATAM
- Architecture validating and architecture optimization
- Architecture design and optimization process summary
- Comparison of SEI (ADD), IBM Rational (RUP), and IBM Telelogic Harmony Methodology
Practical and Useful Design Patterns: Examples and Applications
- Patterns for complexity management
- Gang of 4 software design patterns
- Inter-component communication design patterns
- More on architecture views
- IEEE 1471 framework
- 4+1 views
- DODAF views
Introduction to RUP (Rational Unified Process)/RUP-SE and OpenUP
- Life cycle aspect and architecture aspect of RUP
- Key characteristics of RUP
- RUP best practices
- RUP-SE best practices
Enterprise Architecture and Product-Line Architecture
- Architecture for core assets-based development
- Enterprise architecture
- Product-line architecture
- Service-oriented architecture (SOA) and similar approaches
Selected Examples Based on Student Recommendations
- Candidate examples are in the following categories: large-scale system architecture, real-time embedded control system software, and SOA-based enterprise IT architecture.
Guided End-to-End Student Project
- Mini use-case workshops
- Mini-Quality Attributes Workshops (QAW)
- From use case to functions
- System decomposition
- Requirement flow down
- Static and dynamic architecture modeling
- Mini-ATAM workshops
Presentations of Student Projects
Summary and Review
For more information contact the Short Course Program Office:
firstname.lastname@example.org | (310) 825-3344 | fax (310) 206-2815