modelação aula t06 engenharia de requisitos modelos estrutural e dinâmico exercícios josé...

22
Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

Upload: internet

Post on 18-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

Modelação

Aula T06Engenharia de Requisitos

Modelos Estrutural e Dinâmico

Exercícios

José Borbinha

Page 2: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

Modelação 2

Engenharia de Requisitos

Page 3: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 4: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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...

Page 5: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 6: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 7: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 8: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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!

Page 9: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 10: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 11: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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.

Page 12: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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.

Page 13: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 14: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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).

Page 15: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 16: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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.

Page 17: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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»

Page 18: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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»

Page 19: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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.

Page 20: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

Modelação 20

Desenhar o modelo do domínio correspondente ao Sistema de Gestão

da Galeria XPTO

Page 21: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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

Page 22: Modelação Aula T06 Engenharia de Requisitos Modelos Estrutural e Dinâmico Exercícios José Borbinha

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