C A Software Engineering Approach