Overview of Software Engineering
Overview of Object-Oriented Design (OOD)
Overview of Object-Oriented Programming (OOP)
Overview of Requirements
Gathering and Analysis
Domain-Driven Design, Tackling Complexity in the heart of Software; Eric Evans; Addison-Wesley; 2004.
Patterns, Principles, and Practices of Domain-Driven Design; Scott Millett with Nick Tune; Wrox; 2013.
Analysis Patterns: Reusable Object Models; Martin Fowler; Addison-Wesley; 1997.
DDD Community: http://dddcommunity.org/
The Unified Modeling Language: http://www.uml-diagrams.org/