devices like keyboards and mice that let us interact with the software
enters data and commands into the computer. examples: keyboard, mouse, touch screen, microphone, webcam, etc.
are the mechanism for capturing the desired behavior for the system that is under development, but they do not specify how the behavior is to be implemented.