Software Engineering Methods and HCI Design
The development and use of principles, methods and tools to design and develop, economically and optimally, software systems that are aesthetically pleasing, efficient, reliable and usable for the purposes for which they were designed.
Principles: Include principles of usability, design and construction, They should lead to the formulation of criteria by which the quality of the design can be tested.
Methods: provide the process model for software development
Tools: languages, notations, semi-libraries and toolkits.