Ресурс:
Принципы разработки программного обеспечения