עיצוב תוכנה הוא התהליך של פתרון בעיות ותכנון של
פיתוח תוכנה. פיתוח התכנון ודרך העבודה של התוכנה, נעשה לאחר שנקבעים מטרות ומפרט. התהליך של עיצוב תוכנה משלב בתוכו מרכיבים של תכנות low-level, יישום אלגוריתמים, יחד עם ארכיטקטורת תוכנה, ותכנון מופשט של מרכיבי התוכנה.