I'm working on my first ever software project. Being the only one working on it, I'm making the work breakdown structure and I know requirement gathering is an important phase in the development process. What I can't wrap my head around is how exactly is a software requirement different from a feature that the system needs to have. Also, what sets a feature and a requirement apart from an objective or an aim of the project.
How can I classify something as a requirement, feature or objective?
Is requirement just the technical term? Because I see them classified further into functional, non-functional and more, but a feature is always a feature and I've not come across any classifications.
For instance, I'm doing this project alone and as a developer, I have to familiarize myself with some technologies; in my case, I'm planning to learn ASP.NET Core MVC, does it count as one of the requirements of my project?
I see the term requirements used in a very broad sense, wherein when talking about say, system and hardware requirements, it is quite obvious that they are not features or objectives. The ambiguity stems when requirements are said to be what a user wants to see in a system, which exactly as per my understanding, is what a feature is.