@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false

autonumber

'hide footbox
actor "Human Resources\n Manager" as HRM
participant ":GenerateTeamProposalUI" as UI
participant ":GenerateTeamProposalController" as CTRL

activate HRM

    HRM -> UI : asks to create a new team proposal
    activate UI

        UI --> HRM : request the maximum and minimum team size
    deactivate UI

    HRM -> UI : types requested size
    activate UI

        UI -> CTRL** : generate
        activate CTRL

        UI -> CTRL : listSkills()
        activate CTRL

            ref over CTRL
                List Skills

            end

            CTRL --> UI : skills
        deactivate CTRL

    loop
        UI --> HRM: shows the list of skills and asks you to \nselect one that you need for that task
    deactivate UI

    HRM -> UI: select the skill
    activate UI

    end

        UI --> HRM: shows all data and requests confirmation
    deactivate UI

    HRM -> UI: confirms data
    activate UI

        UI -> CTRL: getCollaborators()
        activate CTRL

            ref over CTRL
                Get Collaborators

            end

            CTRL --> UI: collaborators
        deactivate CTRL

        UI -> CTRL: generateTeamProposal(minimumSize, maximumSize, skills, collaborators)
        activate CTRL

            ref over CTRL
                Generate Team Proposal

            end

            CTRL --> UI: team
        deactivate CTRL

        UI --> HRM: show the team recommendation
    deactivate UI

    HRM -> UI: accepts team recommendation
    activate UI

        UI --> HRM: displays operation success
    deactivate UI

deactivate HRM

@enduml