Interface Design In Software Engineering