First of all thanks for responding to my queries.
I am totally with Scott regarding first Use case and PO relationship and following is my view.
A request can have more than one item (sub request) of same part which has same specification for different procurement date. In this case multiple PO will be issued to the winner.
Could you please put more light in following statement, how you can use a generalized class to represent all the part types. As per OOD you have to go with specialized classes if the behavior changes, in our case there could be 1000 for part type in future and all may have different algorithms to generate the specification.
(Specification: Complete part specification which will be given in the auction request for supplier)
I use generalization for represent all the type of parts, because the design has to be extensible.
I would like to discuss more on extensibility because that look biggest challenge to me.