[MÚSICA] Olá! Bem-vindo ao curso Princípios de Desenvolvimento Ágil de Software. Eu sou Clovis Fernandes e hoje iremos caracterizar os tipos de usuários do contexto de user stories. A gente está falando neste caso, do que a gente está chamando de User Roles, Papéis de Usuários, Tipos de Usuários. É isso que nós vamos caracterizar na aula de hoje. Como a gente já havia mostrado pra vocês, uma user story, ela tem, pelo menos, três elementos: o who, quem é que vai interagir com o sistema, e que eu estou simbolizando aí com o bonequinho who. É uma persona que vai identificar quem interage com o sistema. A parte do what: ele vai interagir com que objetivo, ele vai fazer o quê com o sistema? E o why: por que que ele vai interagir, qual o beneficio que ele tem? Nós já havíamos também mostrado, que o propósito de uma user story é ajudar a compreender exatamente quem que está querendo interagir com o sistema. A outra coisa, também, que nós queremos, é examinar o que ele pretende fazer, qual o objetivo dessa interação. E, obviamente, o motivo. Por que? Qual a razão de eu estar querendo fazer, alcançar esse objetivo, esse resultado pra esse tipo de usuário? Isso ajuda a estruturar. Nós já havíamos mostrado essa user story. Como gerente comercial, ou seja o papel que é de gerente comercial. Você tem outros papéis. Pode ser de gerente financeiro, auxiliar de escritório, secretária, diretor comercial. Posso ter outros papéis. Neste caso, qual o resultado, o objetivo que o gerente comercial está querendo alcançar? Ele quer receber, visualizar, relatório de vendas totalizado por volume de vendas. Por que ele quer isso? Ele quer conhecer melhor os clientes da empresa. De modo a eventualmente fazer uma promoção para aqueles que têm maiores volumes de compras, que eles vendem mais. Ou então, estabelecer novas estratégias de marketing para aumentar o volume de compras de clientes que compram pouco. Esse seria o motivo, a razão, ou benefício que ele poderia obter visualizando esse tipo de relatório. Uma pergunta que sempre se faz é se o tipo do usuário é uma pessoa. Algum momento vai ser uma pessoa, mas na verdade ele vai ser conjunto de pessoas que têm alguma coisa, alguma forma de interação comum com o sistema. Tipo de usuário, user role, papel de usuário, especifica conjunto de usuários que interagem com o sistema, que têm interesse, objetivo comum. Então você vai verificar essas características de interesses de determinados usuários e vai separando o interesse de e do outro, e no fundo você acaba dando nome, que é o papel. Obviamente, determinadas pessoas podem exercer mais do que papel, dependendo da situação. Dessa minha definição que eu coloquei aqui, três coisas a gente tem que chamar a atenção, que é o conjunto, tipo de usuário, representa conjunto de usuários. O outro é que são usuários que interagem com o sistema. Você coloca pessoas que querem alguma coisa com o sistema, mas não serão elas que irão interagir diretamente com o sistema, elas não vão ser, isso não vai caracterizar como tipo de usuário. E essas pessoas ainda por cima, além de interagir, têm que ter objetivo comum, daí eu posso dar nome. É como se eu estivesse colocando nome para aquele tipo de conjunto de pessoas, que a gente chama então de user role, ou tipo de usuário, ou papel de usuário. Uma coisa importante então, pra ficar bem claro, é que o user role nem sempre é representado por pessoas. Na maioria das vezes é, mas nós vamos ter casos que não será. Então, nesse caso, o primeiro item é: podem ser seres humanos. Então eu vou ter grupos de seres humanos que interagem com o sistema com interesse comum. Também pode ser dispositivos de hardware. Eu posso ter, por exemplo, uma válvula que gerência a pressão numa caldeira, numa grande usina, e o único interesse dela é interagir com o sistema e passar a informação de quanto que está a pressão, por exemplo, naquele instante, ou a cada instante, naquela válvula. Isso vai ser bom porque alguém poderá monitorar à distância alguma coisa. Porque pode ser perigoso. Então você põe algum mecanismo, algum dispositivo. Esse é exemplo, tem vários tipos de dispositivos. O tipo de usuário também pode ser outro software. Por exemplo, sistema de pagamento, o PayPal, por exemplo, pode ser considerado tipo de usuário. Eu podia estar representando o PayPal ou qualquer outro, o UOL, e outros que existem aí. Pra começar o desenvolvimento de uma aplicação a gente primeiramente desenvolve então a Visão da Aplicação, que no nosso caso é documento de requisitos que descreve o que o sistema vai fazer, e a visão que se espera ter desse sistema, e que vai guiar todas as pessoas envolvidas: o product owner, o time de desenvolvimento, as partes interessadas, etc, no que se deve fazer nesse aplicativo. Usualmente, quando se faz uma visão da aplicação, você coloca informações sobre requisitos, funcionais e não funcionais, e também coloca informações, principalmente, sobre os tipos de usuários. Eventualmente os tipos de usuários já estão levantados. Eu simplesmente vou lá no documento visão da aplicação, que é documento de duas ou três páginas no contexto ágil, e verifico se já está lá separadinho. Simplesmente uso, o product owner vai usar isso para desenvolver as user stories. Se não tiver, está misturado lá no texto, ele vai ler esse documento e identificar os tipos de usuários. Suponha que eu tenha uma aplicação que é website para venda de e-books na internet. Nome fantasia é: Livros a Jato. Então eu teria alguns papéis que eu quero identificar. Esse exemplo eu vou depois usar, detalhar mais, outras aulas. Mas nesse momento interessaria eu simplesmente, eu tenho, por exemplo, vistante. Visitante vai ter algum interesse. Qualquer pessoa que vai visitar o site vai fazer parte desse tipo de usuário, ou papel de usuário, vai estar vivenciando o papel do usuário de visitante. Vai ter alguns direitos, no caso vai ser navegar pelo site, apenas. Eu posso ter cliente. Cliente é alguém que precisa se registrar e se logar no site para ele poder ler os livros que estão disponibilizados. Ele vai poder navegar e fazer tudo que o visitante faz, mas ele pode fazer mais, ele pode ler, o visitante não vai poder ler. Eu posso identificar também o administrador do site e assim por diante. Podia ter outros papéis, inclusive. Com isso a gente caracterizou tipos de usuários, papéis de usuários, o que a gente está chamando de user roles, pra mostrar pra vocês que são grupos de pessoas, ou dispositivos, ou softwares, que interagem com o seu sistema. Obrigado. [MÚSICA] [MÚSICA]