CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA DISCIPLINA: ENGENHARIA DE SOFTWARE CÓDIGO: INF02810 PROFESSOR(A): MONALESSA PERINI BARCELLOS E-MAIL: [email protected] Atividade 5 Tema: Levantamento e Especificação de Requisitos 1) Esta atividade deve ser realizada por dois alunos ou por dois grupos de alunos. Passo 1: Cada aluno (ou grupo) deve pensar em um software do qual seria usuário e para o qual contrataria uma empresa para desenvolver. Deve ser produzida uma lista de requisitos que o software deverá atender. Passo 2: Um dos alunos (ou grupo) deve assumir o papel da empresa contratada e fazer perguntas ao outro, que deve assumir o papel de contratante, para identificar os requisitos do software. Esses requisitos devem ser registrados pela contratada em uma lista de requisitos. Passo 3: O Passo 2 deve ser repetido, invertendo-se os papéis desempenhados pelos alunos (ou grupos). Passo 4: As listas de requisitos produzidas por cada aluno (ou grupo) de cada software devem ser confrontadas. São similares? O que há de diferente? Os requisitos foram satisfatoriamente identificados? O que contribuiu ou prejudicou o levantamento dos requisitos? 2) Considere o texto a seguir: Uma instituição de ensino de línguas deseja implantar um sistema para gerenciar suas atividades. A instituição oferece cursos de Inglês, Espanhol, Italiano e Francês. Cada curso é organizado em séries, que são subsequentes. A cada semestre, a instituição abre turmas para cada série dos cursos, com um número limitado de vagas em cada turma e um professor alocado. Cada turma tem dias e horários específicos para as aulas. Caso seja necessário (por exemplo, demissão de professor), pode-se mudar o professor alocado para uma turma. Nesse caso, deve-se registrar o histórico da alocação do professor, isto é, quando o professor começou e terminou de dar aulas na turma. Quando o semestre letivo se encerra, registra-se a nota do aluno para que, se aprovado, ele possa se rematricular em uma turma da série subsequente. Para ser aprovado, o aluno deve ter uma nota maior ou igual a 7,0. Somente professores podem registrar notas de alunos. São realizadas consultas ao histórico de notas dos alunos. Essas consultas podem ser realizadas para um único aluno ou para todos os alunos de uma dada turma. Suponha que você é o analista encarregado de elaborar o Documento de Requisitos para o sistema. 2.1) Identifique requisitos funcionais e regras de negócio para o sistema a ser desenvolvido. Liste-os usando o formato: Identificador <<RFXX ou RNXX>> Descrição <<descrição>> Prioridade Requisitos Relacionados <<valores possíveis: Alta, Média ou Baixa>> <<ids dos requisitos relacionados, separados por vírgula>> 2.2 Elabore um diagrama de casos de uso e faça a descrição dos descrição dos casos de uso usando o formato: Casos de Uso Cadastrais Identificador <<identificador do caso de uso>> Caso de Uso <<nome do caso de uso>> Ações Possíveis Observações Requisitos <<alguma combinação dos valores I,A,C,E, indicando, respectivamente Inclusão, Alteração, Consulta e Exclusão>> <<informações sobre as ações, iniciando com a indicação da ação entre colchetes (p.ex., [I] para a ação de Inclusão)>> <<ids dos requisitos tratados pelo caso de uso, separados por vírgula>> Casos de Uso de Consulta Caso de Uso Observações Requisitos <<informações relevantes sobre como efetuar a consulta>> <<ids dos requisitos tratados pelo caso de uso, separados por vírgula>> Identificador <<identificador do caso de uso>> <<nome do caso de uso>> Demais Casos de Uso Identificador do Caso de Uso: <<identificador do caso de uso>> Caso de Uso: << nome do caso de uso >> Descrição Sucinta: << descrição do propósito do caso de uso em um único parágrafo >> Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal <<nome do fluxo de eventos normal>> Pré-condição Descrição <<descrição da precondição>> <<descrição do fluxo de eventos, usando formato enumerado>> Fluxos de Eventos Variantes Nome do Fluxo de Eventos Normal Relacionado <<nome do fluxo de eventos normal relacionado>> Variante Descrição <<passo do fluxo normal - denominação da variante>> <<descrição do fluxo de eventos, usando formato enumerado>> Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado <<nome do fluxo de eventos normal relacionado>> Condição de Exceção Descrição <<passo do fluxo normal - condição de exceção>> <<descrição do fluxo de eventos, usando formato enumerado>> Requisitos Relacionados: <<identificadores dos requisitos relacionados ao caso de uso, separados por vírgula>> Solução Atividade 5 – Questão 2 Obs.: O objetivo desta atividade é iniciar a prática de identificação de requisitos considerando um cenário hipotético e bastante limitado. Vários aspectos do cenário de uma instituição de ensino de línguas real foram omitidos. Assim, os requisitos identificados não são suficientes para um sistema de informação de apoio ao cenário real, pois limitam-se ao que está descrito na questão. 2.1 Requisitos Funcionais Identificador Descrição Prioridade Depende de RF01 O sistema deve permitir o registro de cursos, indicando seu código, sua descrição e suas séries. Alta RN07 RF02 O sistema deve permitir o registro de turmas, indicando seu código, descrição, a que curso pertencem, a que série se referem, dia e horário das aulas, número de vagas e professor. Alta RF01, RN03, RN06, RN11 RF03 O sistema deve permitir o registro da matrícula de alunos em turmas, incluindo número de matrícula, nome, endereço, telefone e e-mail. Alta RF01, RF02 RN01, RN02, RN04, RN05, RN08 RF04 O sistema deve permitir o registro de notas de alunos. Alta RF03, RN09 RF05 O sistema deve permitir o registro de professores, informando seu nome, CPF, RG, endereço, telefone, e-mail e data de admissão. Alta RF02, RN10 RF06 O sistema deve permitir registrar a demissão de um professor, informando a data em que ela ocorreu. Média RF05 RF07 O sistema deve permitir consulta ao histórico de notas dos alunos. Média RF01, RF02, RF03, RF04 Regras de Negócio Identificador Descrição Prioridade RN01 O sistema deve gerar um número de matrícula único para cada aluno. Alta RN02 Um aluno só pode se matricular em uma turma de uma determinada série se tiver sido aprovado na série anterior. Alta RN03 O sistema deve registrar a troca de professor de uma turma, indicando as datas em que o professor começou e terminou de dar aulas na turma. Alta RN04 Um aluno não pode matricular ao mesmo tempo em turmas que apresentem conflito de horários. Alta RN05 Será aprovado o aluno que receber nota maior ou igual a 7,0. Alta RN06 Turmas que possuem alunos matriculados não podem ser excluídas. Alta RN07 Não podem ser excluídos cursos ou séries que tenham turmas com alunos matriculados. Alta RN08 Alunos que tenham se matriculado em alguma turma não podem ser excluídos. Alta RN09 As notas dos alunos podem variar de 0 a 10, com precisão de uma casa decimal. Alta RN10 Professores alocados a alguma turma não podem ser excluídos Alta RN11 Um professor não pode ser alocado ao mesmo tempo em turmas que apresentem conflito de horários. Alta Depende de RN06 2.2 Diagrama de Casos de Uso Casos de Uso Cadastrais Identificador Caso de Uso Ações Possíveis CU01 Cadastrar Série I, A, C, E CU02 Cadastrar Curso I, A, C, E CU03 Cadastrar Turma I, A, C, E Observações Requisitos [I]: Informar código e descrição da série. [E]: Séries que tenham turmas com alunos matriculados não podem ser excluídas. [I]: Informar código, descrição e séries. Caso a série não esteja cadastrada, incluir Cadastrar Série. [E]:Cursos que tenham turmas com alunos matriculados não podem ser excluídas. [I]: Informar código, descrição, curso, série, dia e horário das aulas, número de vagas, ano e período. Incluir caso de uso Alocar Professor. [A]: Para alterar o professor, incluir caso de uso Alocar Professor. [E]: Turmas que tenham alunos matriculados não podem ser excluídas. RF01, RF02, RN07 RF01, RN07 RF02, RN06 Casos de Uso de Consulta Identificador CU04 Caso de Uso Consultar Histórico de Notas Observações A consulta ao histórico de notas será realizada informando-se uma (ou uma combinação) das seguintes informações: matrícula do aluno, nome do aluno (ou parte do nome) e turma. A consulta pode retornar o histórico de um único aluno ou o histórico de todos os alunos de uma dada turma. Como resultado são apresentados: matrícula do aluno, nome do aluno, nome do curso, turma, ano e período da turma e nota do aluno. Requisitos RF07 Identificador do Caso de Uso: CU05 Caso de Uso: Registrar Nota Descrição Sucinta: Este caso de uso permite o registro de nota para uma aluno. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Registrar nota Pré-condição Descrição 1. 2. 3. 4. 1. Alterar nota 2. 3. 4. 5. 1. Excluir nota 2. 3. 4. 5. O professor informa o aluno para o qual deseja registrar a nota. Os dados do aluno são exibidos. O professor informa a nota do aluno para a turma na qual ele se encontra matriculado atualmente. O sistema registra os dados. O professor informa o aluno para o qual deseja alterar a nota. O sistema exibe os dados do aluno. O professor informa a turma na qual deseja alterar a nota do aluno. O professor informa a nota. O sistema registra os dados. O professor informa o aluno para o qual deseja excluir a nota. O sistema exibe os dados do aluno. O professor informa a turma na qual deseja alterar a nota do aluno. O professor exclui a nota do aluno. O sistema registra os dados. Fluxos de Eventos Variantes Nome do Fluxo de Eventos Normal Registrar nota Variante Descrição 1. O professor registra 1. notas para os alunos de uma turma. 2. 3. 4. O professor informa a turma para a qual deseja registrar nota. O sistema exibe os dados dos alunos daquela turma. O professor informa as notas de cada aluno. O sistema registra os dados. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Registrar nota Condição de Exceção 3. Dados inválidos Alterar nota 4. Dados inválidos Descrição 3a - Uma mensagem de erro é exibida, retornando ao passo 3 para correção da informação inválida. 4a - Uma mensagem de erro é exibida, retornando ao passo 4 para correção da informação inválida. Requisitos Relacionados: RF04, RN05, RN09 Identificador do Caso de Uso: CU06 Caso de Uso: Cadastrar Professor Descrição Sucinta: Este caso de uso permite a inclusão, alteração e exclusão de professores, bem como o registro de sua demissão. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Incluir professor Pré-condição Descrição 6. Alterar dados de professor 7. 1. Consultar dados professor 2. 3. 1. 2. 1. 2. Excluir professor 3. 1. Registrar demissão de professor 2. 3. A secretária indica nome, CPF, RG, endereço, telefone, e-mail e data de admissão do professor. O sistema registra os dados. A secretária informa o professor para o qual se deseja alterar dados. A secretária informa os dados que deseja alterar. O sistema registra as alterações. A secretária informa o nome do professor (ou parte do nome). O sistema exibe os dados do professor. A secretária informa o professor que deseja excluir. Os dados do professor são apresentados e é solicitada confirmação. O sistema exclui o professor. A secretária informa o professor para o qual se deseja registrar a demissão. A secretária informa a data de demissão do professor. O sistema registra os dados. Fluxos de Eventos Variantes Nome do Fluxo de Eventos Normal Relacionado Consultar dados professor Variante Descrição 2. Existência de mais 2a. O sistema exibe os nomes dos professores que de um professor atendem à parte do nome fornecida como entrada. 2.b. A secretária seleciona um professor. 2.c. O sistema exibe os dados do professor. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Incluir professor Condição de Exceção 1. Dados inválidos Alterar dados professor 2. Dados inválidos Excluir professor 3. Professor alocado em turma Registrar demissão de professor 2. Dados inválidos Requisitos Relacionados: RF05, RF06, RN10 Descrição 1a - Uma mensagem de erro é exibida, retornando ao passo 1 para correção da informação inválida. 2a - Uma mensagem de erro é exibida, retornando ao passo 2 para correção da informação inválida. 3.a Uma mensagem de erro é exibida informando que não é possível excluir o professor, pois ele está alocado a turmas. 2.a Uma mensagem é exibida informando que a data de demissão deve ser posterior à de admissão. Identificador do Caso de Uso: CU07 Caso de Uso: Alocar Professor Descrição Sucinta: Este caso de uso permite a alocação e troca de professores em turmas. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Alocar professor Pré-condição Descrição 1. 2. 1. Trocar professor 2. 3. A secretária informa o professor que deseja alocar à turma e a data de alocação. O sistema registra os dados. A secretária informa a data de saída do professor até então alocado à turma. A secretária informa o professor que deseja alocar à turma e a data de alocação. O sistema registra os dados. Fluxos de Eventos Variantes Não há. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Alocar professor Trocar professor Trocar professor Condição de Exceção Descrição 2. Conflito de horários 2a. O sistema exibe uma mensagem informando que o professor já está alocado a uma turma com conflito de horário com a turma atual. 1. Dados inválidos 1.a O sistema informa que a data de saída do professor deve ser superior à data de alocação. 2. Conflito de horários 2a. O sistema exibe uma mensagem informando que o professor já está alocado a uma turma com conflito de horário com a turma atual. Requisitos Relacionados: RF02, RN03, RN11 Identificador do Caso de Uso: CU08 Caso de Uso: Matricular Aluno Descrição Sucinta: Este caso de uso permite a matrícula de alunos em turmas, bem como a alteração, exclusão e consulta a alunos. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Matricular aluno Pré-condição Descrição 1. 2. 3. Alterar aluno 1. Consultar dados aluno 2. 3. 1. 2. 1. 2. Excluir aluno 3. A secretária indica nome, CPF, RG, endereço, telefone e e-mail do aluno. A secretaria informa a turma na qual o aluno será matriculado. O sistema gera o número de matrícula do aluno e registra os dados. A secretária informa o aluno para o qual deseja alterar dados. A secretária informa os dados que deseja alterar. O sistema registra as alterações. A secretária informa o nome do aluno (ou parte do nome). O sistema exibe os dados do aluno. A secretária informa o aluno que deseja excluir. Os dados do aluno são apresentados e é solicitada confirmação. O sistema exclui o aluno. Fluxos de Eventos Variantes Nome do Fluxo de Eventos Normal Relacionado Matricular aluno Consultar dados aluno Variante 1. O aluno existe no sistema. 2. Existência de mais de um aluno Descrição 1a. O sistema exibe os dados do aluno. 2a. O sistema exibe os nomes dos alunos que atendem à parte do nome fornecida como entrada. 2.b. A secretária seleciona um aluno. 2.c. O sistema exibe os dados do aluno. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Matricular aluno Matricular aluno Alterar dados aluno Excluir aluno Condição de Exceção 1. Dados inválidos Descrição 1a - Uma mensagem de erro é exibida, retornando ao passo 1 para correção da informação inválida. 1. Falta de pré2a – O sistema informa que o aluno não pode ser requisito matriculado na turma, pois não cursou ou foi reprovado na turma da série anterior. 2. Dados inválidos 2a - Uma mensagem de erro é exibida, retornando ao passo 2 para correção da informação inválida. 3. Aluno matriculado 3.a Uma mensagem de erro é exibida informando que em turma não é possível excluir o aluno, pois ele está matriculado em turmas. Requisitos Relacionados: RF03, RN01, RN02, RN04, RN08.