CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA DISCIPLINA: ENGENHARIA DE SOFTWARE PROFESSOR(A): MONALESSA PERINI BARCELLOS CÓDIGO: INF02810 E-MAIL: MONALESSA@INF.UFES.BR 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 Prioridade Requisitos s <<RFXX ou RNXX>> <<descrição>> <<valores possíveis:, 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 Caso de Uso Ações Possíveis Observações Requisitos <<identificador do caso de uso>> <<nome do caso de uso>> <<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 Identificador <<identificador do caso de uso>> <<nome do caso de uso>> <<informações relevantes sobre como efetuar a consulta>> <<ids dos requisitos tratados pelo caso de uso, separados por vírgula>> Demais Casos de Uso Identificador do Caso de Uso: <<identificador do caso de uso>> Caso de Uso: << nome do caso de uso >> Sucinta: << descrição do propósito do caso de uso em um único parágrafo >> <<nome do fluxo de eventos normal>> <<descrição da precondição>> <<descrição do fluxo de eventos, usando formato enumerado>> <<nome do fluxo de eventos normal relacionado>> Variante <<passo do fluxo normal - denominação da variante>> <<descrição do fluxo de eventos, usando formato enumerado>> <<nome do fluxo de eventos normal relacionado>> <<passo do fluxo normal - condição de exceção>> <<descrição do fluxo de eventos, usando formato enumerado>> Requisitos s: <<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 Prioridade Depende de RF01 RF02 RF03 O sistema deve permitir o registro de cursos, indicando seu código, sua descrição e suas séries. 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. 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. RN07 RF01, RN03, RN06, RN11 RF01, RF02 RN01, RN02, RN04, RN05, RN08 RF04 O sistema deve permitir o registro de notas de alunos. RF03, RN09 RF05 RF06 O sistema deve permitir o registro de professores, informando seu nome, CPF, RG, endereço, telefone, e-mail e data de admissão. O sistema deve permitir registrar a demissão de um professor, informando a data em que ela ocorreu. Média RF07 O sistema deve permitir consulta ao histórico de notas dos alunos. Média RF02, RN10 RF05 RF01, RF02, RF03, RF04 Regras de Negócio Identificador Prioridade Depende de RN01 RN02 RN03 RN04 O sistema deve gerar um número de matrícula único para cada aluno. Um aluno só pode se matricular em uma turma de uma determinada série se tiver sido aprovado na série anterior. 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. Um aluno não pode matricular ao mesmo tempo em turmas que apresentem conflito de horários. RN05 Será aprovado o aluno que receber nota maior ou igual a 7,0. RN06 Turmas que possuem alunos matriculados não podem ser excluídas. RN07 RN08 RN09 Não podem ser excluídos cursos ou séries que tenham turmas com alunos matriculados. Alunos que tenham se matriculado em alguma turma não podem ser excluídos. As notas dos alunos podem variar de 0 a 10, com precisão de uma casa decimal. RN10 Professores alocados a alguma turma não podem ser excluídos RN11 Um professor não pode ser alocado ao mesmo tempo em turmas que apresentem conflito de horários. RN06
2.2 Diagrama de Casos de Uso Casos de Uso Cadastrais Identificador Caso de Uso Ações Possíveis Observações Requisitos CU01 Cadastrar Série I, A, C, E [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. CU02 Cadastrar Curso I, A, C, E [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. CU03 Cadastrar Turma I, A, C, E [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 Caso de Uso Observações Requisitos CU04 Consultar Histórico de Notas 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. RF07
Identificador do Caso de Uso: CU05 Caso de Uso: Registrar Nota Sucinta: Este caso de uso permite o registro de nota para uma aluno. Registrar nota 1. O professor informa o aluno para o qual deseja registrar a nota. 2. Os dados do aluno são exibidos. 3. O professor informa a nota do aluno para a turma na qual ele se encontra matriculado atualmente. 4. O sistema registra os dados. Alterar nota 1. O professor informa o aluno para o qual deseja alterar a nota. 2. O sistema exibe os dados do aluno. 3. O professor informa a turma na qual deseja alterar a nota do aluno. 4. O professor informa a nota. 5. O sistema registra os dados. Excluir nota 1. O professor informa o aluno para o qual deseja excluir a nota. 2. O sistema exibe os dados do aluno. 3. O professor informa a turma na qual deseja alterar a nota do aluno. 4. O professor exclui a nota do aluno. 5. O sistema registra os dados. Registrar nota Variante 1. O professor registra 1. O professor informa a turma para a qual deseja notas para os alunos de registrar nota. uma turma. 2. O sistema exibe os dados dos alunos daquela turma. 3. O professor informa as notas de cada aluno. 4. O sistema registra os dados. Registrar nota 3. Dados inválidos 3a - Uma mensagem de erro é exibida, retornando ao passo 3 para correção da informação inválida. Alterar nota 4. Dados inválidos 4a - Uma mensagem de erro é exibida, retornando ao passo 4 para correção da informação inválida. Requisitos s: RF04, RN05, RN09
Identificador do Caso de Uso: CU06 Caso de Uso: Cadastrar Professor Sucinta: Este caso de uso permite a inclusão, alteração e exclusão de professores, bem como o registro de sua demissão. Incluir professor 6. A secretária indica nome, CPF, RG, endereço, telefone, e-mail e data de admissão do professor. 7. O sistema registra os dados. Alterar dados de professor 1. A secretária informa o professor para o qual se deseja alterar dados. 2. A secretária informa os dados que deseja alterar. 3. O sistema registra as alterações. Consultar dados professor 1. A secretária informa o nome do professor (ou parte do nome). 2. O sistema exibe os dados do professor. Excluir professor 1. A secretária informa o professor que deseja excluir. 2. Os dados do professor são apresentados e é solicitada confirmação. 3. O sistema exclui o professor. Registrar demissão de professor 1. A secretária informa o professor para o qual se deseja registrar a demissão. 2. A secretária informa a data de demissão do professor. 3. O sistema registra os dados. Variante Consultar dados professor 2. Existência de mais de um professor 2a. O sistema exibe os nomes dos professores que atendem à parte do nome fornecida como entrada. 2.b. A secretária seleciona um professor. 2.c. O sistema exibe os dados do professor. Incluir professor 1. Dados inválidos 1a - Uma mensagem de erro é exibida, retornando ao passo 1 para correção da informação inválida. Alterar dados professor 2. Dados inválidos 2a - Uma mensagem de erro é exibida, retornando ao passo 2 para correção da informação inválida. Excluir professor Registrar demissão de professor 3. Professor alocado em turma 3.a Uma mensagem de erro é exibida informando que não é possível excluir o professor, pois ele está alocado a turmas. 2. Dados inválidos 2.a Uma mensagem é exibida informando que a data de demissão deve ser posterior à de admissão. Requisitos s: RF05, RF06, RN10
Identificador do Caso de Uso: CU07 Caso de Uso: Alocar Professor Sucinta: Este caso de uso permite a alocação e troca de professores em turmas. Alocar professor 1. A secretária informa o professor que deseja alocar à turma e a data de alocação. 2. O sistema registra os dados. Trocar professor 1. A secretária informa a data de saída do professor até então alocado à turma. 2. A secretária informa o professor que deseja alocar à turma e a data de alocação. 3. O sistema registra os dados. Não há. Alocar professor 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. Trocar professor 1. Dados inválidos 1.a O sistema informa que a data de saída do professor deve ser superior à data de alocação. Trocar professor 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 s: RF02, RN03, RN11
Identificador do Caso de Uso: CU08 Caso de Uso: Matricular Aluno Sucinta: Este caso de uso permite a matrícula de alunos em turmas, bem como a alteração, exclusão e consulta a alunos. Matricular aluno 1. A secretária indica nome, CPF, RG, endereço, telefone e e-mail do aluno. 2. A secretaria informa a turma na qual o aluno será matriculado. 3. O sistema gera o número de matrícula do aluno e registra os dados. Alterar aluno 1. A secretária informa o aluno para o qual deseja alterar dados. 2. A secretária informa os dados que deseja alterar. 3. O sistema registra as alterações. Consultar dados aluno 1. A secretária informa o nome do aluno (ou parte do nome). 2. O sistema exibe os dados do aluno. Excluir aluno 1. A secretária informa o aluno que deseja excluir. 2. Os dados do aluno são apresentados e é solicitada confirmação. 3. O sistema exclui o aluno. Matricular aluno Consultar dados aluno Variante 1. O aluno existe no sistema. 2. Existência de mais de um aluno 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. Matricular aluno 1. Dados inválidos 1a - Uma mensagem de erro é exibida, retornando ao passo 1 para correção da informação inválida. Matricular aluno 1. Falta de prérequisito 2a O sistema informa que o aluno não pode ser matriculado na turma, pois não cursou ou foi reprovado na turma da série anterior. Alterar dados aluno 2. Dados inválidos 2a - Uma mensagem de erro é exibida, retornando ao passo 2 para correção da informação inválida. Excluir aluno 3. Aluno matriculado em turma 3.a Uma mensagem de erro é exibida informando que não é possível excluir o aluno, pois ele está matriculado em turmas. Requisitos s: RF03, RN01, RN02, RN04, RN08.