I needed to classify the following RQs as a
(so I can do class diagram and use case diagram based on them later).
I wanted to know if I'm on the right track here (the bold face is my guess for each requirement):
Requirement document Purchase Commitment System.
The software is to calculate a number of details needed to purchase by a factory in order to produce its products. (Design decision)
The software must be written in C++ or Java Programming Languages on the computer IBM PC. (Design decision)
The number of products should be equal to 4. (Non-Functional Req)
A general aim in the design of the software is to improve the portability of software. (Non-Functional Req)
The system should accept as input (make as a text file) the data about a number, amount and price of detail for every type of products. (Functional Req)
A number of details for every type of products should not be less than 5.
The first and second type of products should have 2 same details. The second and fourth type of products should have one same detail. The third type of products should have 2 same details with the fourth type and one same detail with the first type of products. (Design Objective)
The operator should be logged in and logged out to the system by login and password. (Design Objective)
At the beginning an operator must provide the following items of data (a validation of input data should be provided):
The software must produce for each action of an operator a report (the report should be saved in a file by the operator's request). The report must consist of : (Functional or Design Objective Req) -A number of every detail needed to purchase.
A functional requirement tells what the software shall do. A non functional requirement tells something about how the software shall be or how well it should do what it does.
Software design is about the structure and the behavior of the software. If some statement seems arbitrary and you think the software could fulfil all the requirements but differently, then there are chances that it's more about design than requirements. A design objective tells what the design must ensure (ambiguous: at the stage of the requirements, it's difficult to make the difference between non functional requirements and design objective). A design decision is a decision on the behavior or the structure of the software.
With this in mind, here an analysis: