Ambiguity identification and resolution in software development: a linguistic approach to improve the quality of systems