وقتی بهت یه برنامه میدن ، اول از همه باید کلی بشینی تحلیل کنی که این برنومه چه ورودی هایی داره و یا می تونه داشته باشه. (از همه مهمتر!!! باید از ورود داده های نامطلوب جلوگیری کنی - اگه نکنی در مرحله پردازش دچار کلی دردسر می شی)
بعد از اینکه مرحله اول تموم شد ، مرحله دوم که مختص برنامه نویس هاست شروع می شه این بخش فقط در انحصار برنامه نویس هاست - هرگونه سعی به نفوذ برای بدست آوردن کد های این مرحله توسط کاربران در کشور های دیگه جرم محسوب می شه و مجازات سنگینی هم داره - قاعدتاً وقتی یک چیزی بخواد بنا بشه یک نقشه و یک روالی داره همینطوری که اگه ساختمانی بخواد ساخته شه نقشه و نقشه هایی رو نیازمنده ، در برنامه نویسی ما به نقشه می گیم: الگوریتم! که در اون داده خام رو به خروجی مطلوب تبدیل میکنیم. حالا براساس نیاز کد ها نوشته می شن و بعدش هم به زبان ماشین تبدیل میشن و در اختیار کاربران قرار می گیرن و کاربران با دادن داده های خام ، خروجی های مطلوب رو می گیرن (مرحله سوم)
پس می تونیم بگیم کل نرم افزار ها رو میشه در سه بخش خلاصه کرد:

