Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha Engenharia de Requisitos Modelação 2 Sobre Requisitos • Qual dos seguintes requisitos não deve ser considerado um requisito funcional? – A – R1: O utilizador deve poder seleccionar o número de fichas a imprimir por página – B – R2: As impressões devem sair na impressora que o utilizador seleccionar – C – R3: O utilizador deve poder seleccionar o número de fichas a imprimir por página, entre um mínimo de 1 e um máximo de 20 – D – R4: As impressões devem ser produzidas para impressoras HP suportando PCL (Printer Controle Language) • Qual dos seguintes requisitos não deve ser considerado um requisito não funcional? – A – R1: A interface de utilizador deve respeitar as recomendações da WAI (Web Accessibility Initiative) – B – R2: O utilizador deve poder alterar em qualquer momento a língua com que quer interagir com o sistema, podendo escolher qualquer uma das suportadas. – C – R3: O tempo de resposta do sistema a qualquer comando do utilizador não deve ultrapassar os 5 segundos – D – R4: A interface do sistema deve suportar interacções em língua Portuguesa e em língua Inglesa Modelação 3 Sobre Requisitos • Qual dos seguintes requisitos não deve ser considerado um requisito funcional? – A – R1: O utilizador deve poder seleccionar o número de fichas a imprimir por página – B – R2: As impressões devem sair na impressora que o utilizador seleccionar – C – R3: O utilizador deve poder seleccionar o número de fichas a imprimir por página, entre um mínimo de 1 e um máximo de 20 – D – R4: As impressões devem ser produzidas para impressoras HP suportando PCL (Printer Controle Language) • Qual dos seguintes requisitos não deve ser considerado um requisito não funcional? – A – R1: A interface de utilizador deve respeitar as recomendações da WAI (Web Accessibility Initiative) – B – R2: O utilizador deve poder alterar em qualquer momento a língua com que quer interagir com o sistema, podendo escolher qualquer uma das suportadas. – C – R3: O tempo de resposta do sistema a qualquer comando do utilizador não deve ultrapassar os 5 segundos – D – R4: A interface do sistema deve suportar interacções em língua Portuguesa e em língua Inglesa Infelicidade: Dependendo do contexto do problema em concreto, esta formulação também poderia ser considerada adequada para a classificar como um RF... Modelação 4 Sobre Requisitos • Num projecto de desenvolvimento de um sistema de informação para uma pequena empresa que está em expansão, para substituição de um sistema existente, com o qual os utilizadores estão satisfeitos mas o qual já não suporta a nova carga de trabalho nem o desenvolvimento de novas funções necessárias, já razoavelmente definidas mas com vários aspectos práticos ainda em debate, quais das técnicas de levantamento de requisitos seriam à partida as mais adequada para se ponderem utilizar? – A – Questionários, JAD (Joint Application Design) e Prototipagem – B – Análise de documentos, Entrevistas e Questionários – C – Questionários, Entrevistas e JAD (Joint Application Design) – D – Análise de documentos, Entrevistas e Prototipagem Modelação 5 Recomenda análise de documentos existentes Sobre Requisitos Desaconselha questionários, a favor de entrevistas • Num projecto de desenvolvimento de um sistema de informação para uma pequena empresa que está em expansão, para substituição de um sistema existente, com o qual os utilizadores estão satisfeitos mas o qual já não suporta a nova carga de trabalho nem o desenvolvimento de novas funções necessárias, já razoavelmente definidas mas com vários aspectos práticos ainda em debate, quais das técnicas de levantamento de requisitos seriam à partida as mais adequada para se Motiva prototipagem ponderem utilizar? – A – Questionários, JAD (Joint Application Design) e Prototipagem – B – Análise de documentos, Entrevistas e Questionários – C – Questionários, Entrevistas e JAD (Joint Application Design) – D – Análise de documentos, Entrevistas e Prototipagem Modelação 6 Sobre Requisitos • Excluindo a existência de qualquer assumpção ou definição específica relevante para os mesmos, qual dos seguintes requisitos deve ser considerado o mais consistente ou completo? – A – R1: O desenho e concretização da interface de utilizador deve seguir as recomendações normais de acessibilidade – B – R2: O utilizador deve poder escolher qual a língua com que quer interagir com a interface do sistema – C – R3: O tempo de resposta do sistema a qualquer comando do utilizador não deve ultrapassar os 5 segundos – D – R4: A interface do sistema deve suportar interacções num conjunto determinado de línguas Modelação 7 Qual o leque de possibilidades? Quantas línguas suporta o sistema? Que expectativas pode ter o utilizador? Este requisitos necessita de algo mais para o justificar... Sobre Requisitos “normais” não é objectivo! • Excluindo a existência de qualquer assumpção ou definição específica relevante para os mesmos, qual dos seguintes requisitos deve ser considerado o mais consistente ou completo? – A – R1: O desenho e concretização da interface de utilizador deve seguir as recomendações normais de acessibilidade – B – R2: O utilizador deve poder escolher qual a língua com que quer interagir com a interface do sistema – C – R3: O tempo de resposta do sistema a qualquer comando do utilizador não deve ultrapassar os 5 segundos – D – R4: A interface do sistema deve suportar interacções num conjunto determinado de línguas “determinado” não é objectivo! Modelação 8 Sobre Requisitos • Numa fase de análise de requisitos um chefe de equipa deixou uma curta nota a um colaborador dizendo que um dos seguintes requisitos devia ser revisto, não indicando qual nem a razão. Diga qual deve ser: – A – R1: O sistema de gestão de base de dados deve ser ter interface ODBC (Open Data Base Connectivity) – B – R2: O servidor de base de dados deve ter capacidade para responder a 100 transacções por segundo – C – R3: O servidor de base de dados deve ter uma elevada disponibilidade – D – R4: A base de dados deve ser replicada num servidor alternativo em cada 24 horas • Qual das seguintes afirmações está correcta. – A – Analisando um caso de uso é possível determinar se este descreve uma actividade manual ou computorizada – B – Uma relação de inclusão num diagrama de caso de uso representa uma inclusão opcional de um caso de uso noutro caso de uso – C – Um actor num diagrama de caso de uso representa sempre um utilizador humano do sistema – D – O conceito de herança num diagrama de caso de uso é definido por uma relação de generalização Modelação 9 Sobre Requisitos • “Elevada disponibilidade” não é uma expressão objectiva Numa fase de análise de requisitos um chefe de equipa deixou uma curta nota a um colaborador dizendo que um dos seguintes requisitos devia ser revisto, não indicando qual nem a razão. Diga qual deve ser: – A – R1: O sistema de gestão de base de dados deve ser ter interface ODBC (Open Data Base Connectivity) – B – R2: O servidor de base de dados deve ter capacidade para responder a 100 transacções por segundo – C – R3: O servidor de base de dados deve ter uma elevada disponibilidade – D – R4: A base de dados deve ser replicada num servidor alternativo em cada 24 horas • Qual das seguintes afirmações está correcta. – A – Analisando um caso de uso é possível determinar se este descreve uma actividade manual ou computorizada – B – Uma relação de inclusão num diagrama de caso de uso representa uma inclusão opcional de um caso de uso noutro caso de uso – C – Um actor num diagrama de caso de uso representa sempre um utilizador humano do sistema – D – O conceito de herança num diagrama de caso de uso é definido por uma relação de generalização Modelação 10 Desenhar o diagrama de casos de uso que capture as funcionalidades do seguinte sistema • • • A empresa de QualityResources é uma empresa focada na gestão de recursos humanos qualificados e pretende um sistema de informação para suportar processos que se descrevem de seguida. A QualityResources negoceia contratos com as empresas clientes de forma a providenciar recursos humanos temporários com uma determinada especialidade profissional e por um determinado custo. Por exemplo, a QualityResources tem um contrato com uma companhia de exploração de gás natural no qual acordou fornecer geólogos com grau académico de mestre por 6,000 € por mês. Quando uma empresa cliente da QualityResources precisa de contratar temporariamente um empregado especializado, envia um pedido de pessoal de acordo com o contrato previamente negociado com a QualityResources. Quando o pedido de pessoal é recebido pelo gestor de contratos da QualityResources, este procura na base de dados de contratos o número de contrato indicado no pedido e, usando a informação da base de dados, revê os termos e condições do contrato para determinar se o pedido de pessoal é válido. O pedido de pessoal é considerado válido se o contrato não expirou e a especialidade de pessoal técnico requisitado está referido no contrato. Se o pedido de pessoal não é válido, o gestor de contratos devolve o pedido de pessoal à empresa cliente anexando a justificação da não validade desse pedido. Se o pedido de pessoal é válido, o gestor de contratos insere esse pedido na base de dados de pedidos de pessoal, colocando o seu estado como pendente. Após a inserção na base de dados o pedido de pessoal é enviado para o departamento de recursos. Modelação 11 ... • O departamento de recursos procura na base de dados de pessoal técnico com as características referidas no pedido de pessoal. Caso seja encontrado um candidato com as habilitações e disponibilidade necessárias, e com o seu estado dado como livre, o seu registo na base de dados é actualizado para reservado. Caso não seja possível encontrar ou não esteja disponível qualquer indivíduo com os requisitos necessários, o departamento de recursos anexa ao pedido de pessoal um memo no qual se explica a impossibilidade de satisfazer o pedido. Todos os pedidos de pessoal são enviados depois para o departamento de contratações. • Se o pedido de pessoal chegar ao departamento de contratações com alguém proposto, este contacta o possível interessado e acorda com ele/ela os detalhes da contratação temporária. Se a contratação for acordada, esse indivíduo é registado na base de dados como atribuído, sendo logo anexada ao pedido de pessoal a factura da contractação temporária. Se a contratação não for acordada, é anexado ao pedido de pessoal um memo com essa explicação, passando o candidato para o estado de livre. Finalmente, o pedido de pessoal, com todos os anexos, é enviado para o gestor de contratos. Este fecha o pedido de pessoal e notifica a empresa cliente do resultado. Por último, toda a documentação produzida (pedido de pessoal com respectivos anexos) é 12 registada associada ao contratoModelação da empresa cliente. 1 * * Cliente 1..* Especialidade Contrato 1 1 * 1 1 Pessoal Técnico Pedido de Pessoal * Memo - descrição: char 1 * * Anexo designação: char 1 - estado: {livre, reservado, atribuído} Factura - valor: float Modelação 13 Desenhar o diagrama de casos de uso que capture as seguintes funcionalidades do Sistema de Gestão da Galeria XPTO • Os gestores da galeria de arte XPTO decidiram encomendar um sistema para a gestão das suas exposições, obras de arte expostas, clientes e vendas. • Cada exposição tem sempre um tema base, por exemplo “pinturas impressionistas”, e engloba um conjunto de obras de arte que podem ser pinturas ou esculturas. Para cada exposição é necessário manter a data de início e de fecho, a sala onde irá decorrer e as obras expostas. Sobre cada obra exposta é necessário saber o seu título, as dimensões, o autor (ou autores), ano em que foi terminada, data de entrada na galeria, preço base e data de saída da galeria (a saída pode-se verificar por venda ou retirada pelo autor). Para cada autor (pintor ou escultor) é necessário saber a seu nome, morada, um telefone e breve curriculum vitae. • A galeria XPTO mantém também uma lista de contactos de clientes, que podem ser entidades individuais ou empresarias. • Por cada venda o sistema deve manter registo dos compradores, a data de venda e o preço acordado. • O sistema tem duas classes de utilizadores, o administrador e os funcionários (que podem ser de qualquer número). Modelação 14 Modelação 15 Primeiro, os actores Modelação 16 Modelação 17 Modelação 18 Modelação 19 Desenhar o modelo do domínio correspondente ao Sistema de Gestão da Galeria XPTO Modelação 20 Modelação 21 Modelação 22