המתודולוגיה הזו היא בין הפופולריות ביותר.
למתודולוגיה זו ארבעה שלבים:
1. זיהוי והגדרת המחלקות והאובייקטים בצורה אבסטרקטית.
2. הגדרת המימוש הסמנטי של האובייקטים והמחלקות.
3. הגדרת יחסי הגומלין בין המחלקות והאובייקטים השונים.
4. מימוש בקוד של המחלקות והאובייקטים.
המתודולוגיה הזו מוגדרת לא כתהליך פשוט של מספר צעדים שצריך לבצע, אלא יותר כפיתוח שגדל כתוצאה מהפעלה חוזרת ונשנית של ארבעת השלבים, ע"י זיקוק ההיבטים הלוגיים, תהליך העיצוב והפיתוח חוזר שוב ושוב.
כדי לזהות מחלקות ואובייקטים באופן מופשט, צריך למצוא את האבסטרקציה של הבעיה בעולם האמיתי (לפי הטרמינולוגיה של התחום בעולם האמיתי) ואת המנגנונים החשובים שמתארים את ההתנהגות של האובייקטים.
כדי להגדיר את הסמנטיות (המשמעות), נגדיר את התכלית של האובייקטים והמחלקות שזיהינו. כדי לבצע את השלב הזה בפיתוח בצורה טובה, נתבונן בכל אובייקט בפרספקטיבה של העולם החיצוני.
להגדרת יחסי הגומלין, נזהה איך אובייקטים עובדים אחד עם השני. בשלב זה גם נקבעת ההורשה.
למימוש המחלקות והאובייקטים, נבנה אותם בתוך מודולים. התהליך של שלב זה נפסק כשאין יותר אבסטרקציות פרימיטיביות או כאשר המחלקות והאובייקטים יכולים להיות ממומשים מתוך רכיבי תוכנה קיימים ע"י שימוש בהורשה למשל.
אחד הטיעונים כנגד המתודולוגיה הזאת, הוא שהכלליות באה על חשבון הפרטים. כלומר, המתודולוגיה הזאת מספקת תיאור לרוחב יותר מאשר תיאור לעומק.
מצד שני, יתרון גדול של המתודולוגיה זה שהיא מספקת עיצוב לשימוש חוזר. כלומר, ניתן לעשות שימוש חוזר בעתיד ברכיבים שעיצבת.