Modelação
Aula T06Engenharia de Requisitos
Modelos Estrutural e Dinâmico
Exercícios
José Borbinha
Modelação 2
Engenharia de Requisitos
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
Modelação 4
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 5
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 6
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
Desaconselha questionários, a favor de
entrevistas
Recomenda análise de documentos existentes
Motiva prototipagem
Modelação 7
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 8
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
“normais” não é objectivo!
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...
“determinado” não é objectivo!
Modelação 9
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 10
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
“Elevada disponibilidade”
não é uma expressão objectiva
Modelação 11
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 12
...
• 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) é registada associada ao contrato da empresa cliente.
Modelação 13
Cliente Contrato
Pedido de Pessoal
Especialidade
- designação: char
Pessoal Técnico
- estado: {l ivre, reservado, atribuído}
Memo
- descrição: char
Factura
- valor: float
Anexo
* 1..*
1
**
1
* 1
1
*
1 *
11
Modelação 14
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 15
- O administrador do sistema é responsável pela inserção, actualização e remoção da informação sobre os funcionários e atribuir as permissões aos diferentes tipos de funcionários. - Os funcionários da galeria XPTO, quando autenticados, podem consultar e actualizar a sua informação pessoal. - Os funcionários são os responsáveis por inserir, actualizar a informação sobre as várias exposições, quadros, pintores e clientes da galeria. Também é responsabilidade destes funcionários a escolha do tema de cada exposição.- Apenas o administrador da galeria podem consultar a informação financeira da galeria.- Os funcionários, quando não autenticados, apenas podem consultar informação pública sobre artistas ou exposições. A informação pode ser apresentada por artista (para cada pintor/escultor são apresentadas as várias exposições em que participou) ou por exposição (para cada exposição são apresentadas as várias obras de arte expostas).- Semestralmente o administrador do sistema deve gerar um catálogo com as obras expostas nos últimos 6 meses e indicar as obras vendidas.
Actors
Administrador
Funcionário
Util izador
Primary Use Cases
Administrador
Funcionário
Util izador
Modelo de Domínio : Domain Model
Modelação 16
Primeiro, os actores
AdministradorFuncionário
Utilizador
Funcionário quando autenticado
Considera-se que um administrador é um util izador do sistema autenticado como tal.
Modelação 17
XPTO - Administrador
Criar nov o funcionário
Administrador
Actualizar funcionário
Remov er funcionário
Atribuir permissões
Consultar informação financeira
Gerir Funcionários
Gerar Catálogo
1 - Numa modelação racional a representação destes casos não seria necessária, podendo as respectivas actividades aparecer na descrição do caso "Gerir Funcionários". Representam-se assim aqui apenas por opção.
2 - Outra alternativa possível seria ainda não representar o caso "Gerir Funcionários", criando uma relação directa do actorcom estes casos (isto em vez das relações «extend»)
A opção 1 seria, à partida, a mais racional num projecto "a sério". A opção 2 seria a "mais picuinhas". A que está representada seria a "mais adequada ao que se pede no teste", embora não se deva exigir tal para considerar a resposta completamente correcta.
«extend»
«extend»
«extend»
«extend»
Modelação 18
Funcionário
(from Actors)
Consultar informação pess oal
Actual izar informaçã o pessoal
Gerir Ex posições
Gerir Artistas
Gerir Obras
Gerir Clientes
Atribuir nome da exposição
Normalmente, num projecto "a sério", não deveria ser necessário representar este caso, sendo esta actividade descrita na descrição do caso. Representa-se aqui apenas como opção de uma "resposta ao que se pede no teste"...
«extend»
«extend»
Modelação 19
Utili zador
(from Actors)
Consultar Artistas
Cons ultar Expos ições
Autenticação
A representação deste caso é redundante com a informação que já é dada no diagrama onde são representados os actores."Mal não faz", mas não deixa de ser redundante numa modelação racional.
Modelação 20
Desenhar o modelo do domínio correspondente ao Sistema de Gestão
da Galeria XPTO
Modelação 21
Os gestores da galeria de arte XPTO decidiram encomendar um sistema para a gestão das suas exposições, obras de arte, clientes e vendas.A galeria XPTO mantém permanentemente um conjunto de exposições. Cada uma das exposições deve ter 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 util izadores, o administrador e os funcionários (que podem ser de qualquer número).
Domain Objects
Administrador
Artista
Clie nte
Da ta
Empresarial
Escultor
Escul tura
Exposição
Funcio nário
Galeri a_XPTO
Individual
Obra_d e_arte
Pintor
Pintura
Sa la
Util izador
Venda
Casos de Util ização : UseCase Model
Modelação 22
Obra_de_arte
- Ano_criação: int- Autor: Artista- Data_Entra da: Data- Data_Saíd a: Data- Dimensão_Altura: float- Dimensão_Largura: float- Título: char
Artista
- CV: char- Morada: char- Nome: char- Telefone: charPintura
Escul tura
- Dimensão_Profundidade: float
Galeria_XPTO
Da ta
- Ano: int- Dia: int- Mês: int
Clie nte
Venda
- Data_Vend a: Data- Preço: float
Utili zador
Administrador
FuncionárioIndiv idual Empresarial
Pintor
Escultor
Sa la
- Nome: char
Expos ição
- Data_fech o: Data- Data_iníc io: Data- Tema: int
Data Venda0..* 1
0..* 0..*
1. .*
Data_início Data_fecho 0..*
2
0..*
1
1. .* 1. .*
Data Entrada Data Saída 0..* 1,2
1. .* 1. .*
10..*
0..*
1
1
0..*
Compra
0..*
0. .1