Object- oriented and classical software engineering