Hi,
It's highly difficult to describe UML diagrams here, I suggest you to kindly Google it what is UML diagram and how to build the UML diagram, before drawing any diagram you have to know the basic structure how your code looks like after implement the application, and what are all the classes / methods/ properties are you going to use in that.
Once you know all the above, not exactly at-least some draft version then start to implement it by referring below link
http://creately.com/blog/diagrams/uml-diagram-types-examples/
And coming back to your second question why"?" after int?
the reason behind is, for example the return value is null then it won't throw any error if you are using "?" we call it as Coolease, check in Google coolease in c#.
Hope this helps you...
--------------------------------------------------------------------------------
Give respect to your work, Instead of trying to impress your boss.
N@veen
Blog : http://naveens-dotnet.blogspot.in/