learn about add and atam in software design