====== Especificação Funcional: Cadastro de Livros ====== ===== Resumo ===== Esta especificação descreve os requisitos utilizados como base para o desenvolvimento do módulo de Cadastro de Livros do software Tecsystem School e suas principais operações. ===== Descrição ===== O Cadastro de Livros reúne todas as informações dos livros (Dados gerais, Informações adicionais e Histórico) e constitui um módulo centralizado para a realização de todas as operações relativas aos mesmos. Através deste módulo é possível incluir novos livros, excluir um livro cadastrado, editar e visualizar os dados dos livros cadastrados, entre outras. Ao acessar este módulo, o sistema deve exibir uma lista com os livros já cadastrados para facilitar as operações de exclusão, edição e visualização dos dados, já que para isso é necessário indicar qual é o livro que será utilizado. Esta lista, que deve exibir os dados mais importantes de cada livro, também deve permitir a organização e o filtro dos livros por qualquer campo que esteja visível, além de permitir que o usuário oculte/exiba campos, imprima e exporte o conteúdo da lista. ==== Dados do Livro ==== Um livro deve possuir os seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |**__Dados gerais__** ||||| |Identificação |Código ou valor que identifica o livro na biblioteca da escola. | Texto | 20 | Sim | |Data de aquisição |Data que o livro foi adquirido pela escola. | Data | 08 | Não | |Título |Título do livro. | Texto | 100 | Sim | |Código de barras |Número do código de barras do livro. | Número | - | Não | |Subtítulo |Subtítulo do livro. | Texto | 100 | Não | |Autores |Nome do(s) autor(es) do livro. | Texto | 100 | Sim | |Código Cutter |Código que indica a autoria do livro. | Texto | 40 | Não | |Nº do exemplar |Número que identifica o exemplar do livro. | Número | - | Não | |ISBN |Número internacional que identifica o livro (International Standard Book Number). | Texto | 20 | Não | |ISSN |Número internacional que identifica o livro (International Standard Serial Number).| Texto | 20 | Não | |Localização |Localização do livro na biblioteca. | Texto | 30 | Não | |Emprestado |Identifica se o livro está emprestado ou não. | Marcar/Desmarcar | - | Não | |**__Edição__** ||||| |Editora |Nome da editora do livro. | Texto | 60 | Não | |Edição |Número da edição do livro. | Texto | 20 | Não | |Volume |Volume do livro. | Texto | 20 | Não | |Coleção |Coleção do livro. | Texto | 100 | Não | |Nº de páginas |Número de páginas do livro. | Texto | 20 | Não | |Ano |Ano de publicação do livro. | Número | - | Não | |**__Classificação__** ||||| |Categoria |Tipo de gênero do livro. | Texto | 30 | Não | |CDD/Classificação |Idade classificatória do livro. | Texto | 60 | Não | |Idioma |Idioma que o livro foi publicado. | Texto | 30 | Não | |**__Assuntos__** ||||| |Assunto |Assunto do livro. | Texto | 100 | Não | |**__Resenha__** ||||| |Resenha |Resumo crítico do livro. | Texto | 1000 | Não | |**__Informações adicionais__** ||||| |Inativo |Identifica se o livro está inativo ou não. | Marcar/Desmarcar | - | Não | |Data |Data que o livro foi inativado pela escola. | Data | 08 | Não | |Motivo |Motivo que o livro foi inativado pela escola. | Texto | 100 | Não | |Observações |Observações referentes ao livro. | Texto | 1000 | Não | ==== Inclusão, alteração e exclusão de livros ==== Todos os livros existentes na biblioteca da escola, podem ser cadastrados como um livro, desde que possuam o conjunto mínimo de dados (campos obrigatórios) necessários. O sistema também deve permitir que os dados de um livro previamente cadastrado sejam modificados. A exclusão de um livro também deverá ser permitida, desde que este não esteja emprestado. Caso esteja emprestado, o sistema deverá avisar ao usuário que o livro está emprestado e não deve permitir sua exclusão. ===== Configurações e preferências do usuário ===== Não aplicável. ===== Pontos de verificação ===== ==== Na inclusão/alteração de livros: ==== * Após a inclusão de um livro este deverá ser exibido imediatamente na lista de livros cadastrados; * Após a alteração de um livro este deverá ser exibido imediatamente nos dados do livro na lista de livros cadastrados; * O sistema não deve permitir que o usuário salve um livro sem que todos os campos obrigatórios estejam preenchidos; === Identificação do livro === * O sistema não deve permitir que o usuário salve um livro com identificação que já está sendo usada por outro livro; === Data de aquisição === * O sistema não deve permitir que o usuário salve um livro com a data de aquisição superior à data atual; === Código de barras === * O sistema deve incrementar o valor do campo ao incluir um livro, a cada exemplar incluído, um novo código (único, maior que o anterior) deve ser gerado; * O sistema não deve permitir que o valor se repita para outro livro; * O sistema deve permitir que o usuário altere o valor do campo; === Código Cutter === * O sistema deve permitir que o usuário informe letras maiúsculas/minúsculas; === Nº do exemplar === * O sistema deve exibir o valor "1" no campo, como padrão ao incluir um livro, e ser incrementado à medida em que o livro for duplicado; === Emprestado === * O sistema deve exibir desmarcado o campo Emprestado, assim que o livro é incluído no sistema; === Informações adicionais / Inativo === * O sistema deve mostrar desabilitados e vazios os campos Data e Motivo quando a opção Inativo estiver desmarcada; * O sistema deve mostrar habilitados e obrigar o preenchimento dos campos Data e Motivo quando a opção Inativo estiver marcada; * O sistema deve validar a data de inativação do livro, não permitindo informar uma data posterior à data atual; * O sistema deve validar a data de inativação do livro, não permitindo informar uma data anterior à data de aquisição do livro, quando esta estiver preenchida; * O sistema deve permitir inativar um livro mesmo quando este estiver emprestado, porém não será permitido emprestá-lo ou prorrogá-lo quando ele estiver inativo. ==== Na inclusão/alteração de assuntos: ==== * Após a inclusão de um assunto este deverá ser exibido imediatamente na lista de assuntos cadastrados; * Após a exclusão de um assunto este deverá ser removido imediatamente da lista de assuntos cadastrados; * O sistema não deve permitir que o usuário salve um assunto sem que todos os campos obrigatórios estejam preenchidos; * O sistema não deve permitir que o usuário salve um assunto que já existe para o livro; ===== Observações ===== Nenhuma informação adicional. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~