I'm taking Software Engineering class and my professor is absolutely terrible at explaining anything. It's only the 3rd week and me and my group mates are already deeply confused.
We were given a script for the software of a parking lot and were also given a template with a grid. This grid has 3 columns: requirement number/id, type of requirement (functional or quality, or restriction), and the requirement itself. The title of this template is "User Requirements" and according to the theory classes, this is:
High level description, high level declaration. Declarations in natural language, along with diagrams of the services of the system and its restrictions. Written for the client.
I looked up these "User requirements" in the chosen bibliography and couldn't find anything by that name. What I did find was "High level description" and something in these lines, with the same definition as the quoted one.
At first I thought there were the parts of the software that were related to the user input and user interaction because later we will have to do something called "System requirements". According to the theory class:
Detailed description of each function, inputs and outputs, and operational exceptions. [whatever this means] Defines details of the implementation and can be part of a contract between the client and the provider. Written for the development team but the client may still be able to understand them.
The examples given here were pretty much in the same lines as the ones given for the "user requirements" except that they started with "The system must do xyz" and the others start with "The client should be able to xyz".
Then we were given another template, called "Document of Specification of Requirements" with a bunch of bullet points where we are supposed to write an introduction about this "system", the "User's functional requirements" (which I assume are the "User requirements" that fit under the "functional" type)) organized by "themes", the external interfaces of the system, the quality requirements and the restrictions, the user interfaces of the system, and lastly the "Detailed requirements" (I assume these are the "system requirements") and the "Distribution of requirements by theme".
We've asked the professor and we were given a very long winded explanation of what we asked and many other things we didn't ask, and ended up even more confused. What I did get was that "User requirements" are "for the client" and the "System requirements" are for the engineers, even though the examples in the theory are nearly identical. I suppose the latter involve technical details and such. The professor also told us that the "User requirements" are supposed to be "converted" into "System requirements". Most if not all my group except for me are repeating this class and judging by the level of confusion, I'm having a pretty bad feeling.
Can someone explain to me what my professor may be trying to do here and what these "user requirements" and supposed to be, as opposed to "System requirements", and why do we have to organize the requirements by theme twice, and what are the "Detailed Requirements"?
Honestly I don't even know what I am doing anymore. If anyone could explain to me briefly what I am supposed to be doing so I can have an idea of what my professor is trying to do, that'd be great.
Thanks.