Escolar Documentos
Profissional Documentos
Cultura Documentos
Varginha 2009
Trabalho de concluso de curso apresentado Faculdade Cenecista de Varginha como parte dos requisitos para obteno do grau de Bacharel em Sistemas de Informao.
Varginha 2009
Trabalho apresentado ao Curso de Bacharel em Sistemas de Informao da Faculdade Cenecista de Varginha como parte dos requisitos para concluso do curso. Submetida aprovao da banca examinadora composta pelos seguintes membros:
_________________________________ Membro
_____________________________________ Membro
Varginha,
de
de 2009
Dedico este trabalho em primeiro lugar a Linus Torvalds, por ter sido uma inspirao para que eu continuasse buscando aprimorar meus conhecimentos em Engenharia de Software. Dedico tambm ao Presidente Lula, que me fez acreditar que sendo brasileiro, eu no deveria desistir nunca. Obviamente que os nomes de pessoas e empresas constantes nesta monografia foram propositalmente alterados para preservar identidades e marcas.
RESUMO
Esta monografia tem por finalidade o desenvolvimento do Library System LibSys em benefcio da Biblioteca da HARVARD BUSINESS SCHOOL. Para tanto ela se sustenta e elaborada contemplando todas as etapas necessrias para o desenvolvimento, slido e eficiente, de projetos de sistemas de informao, culminando em um sistema com qualidade, atendendo plenamente as expectativas da instituio beneficiada.
ABSTRACT
This work aims to develop the Management System Library LIBSYS to the library of the Harvard Business School. To do so it supports and is elaborated addressing all steps necessary to develop a robust and efficient design of data systems, culminating in a system with quality and, fully achieving the institution expectations.
Keywords:
Design
of
data
systems,
Software
Engineering.
SUMRIO 1 Contextualizao................................................................................................... 11 1.1 Descrio do Projeto .......................................................................................... 11 1.2 Objetivo do Projeto ............................................................................................. 13 1.3 Justificativa para o Projeto ................................................................................. 13 1.4 Levantamento preliminar de requisitos ............................................................... 13 1.5 Estimativa de Tamanho de Software .................................................................. 17 2 Plano do Projeto ................................................................................................... 27 2.1 Plano de Processo de Desenvolvimento ............................................................ 27 2.2 Cronograma ....................................................................................................... 28 2.3 Plano de Recursos Humanos ............................................................................. 30 2.4 Plano de Recursos Gerais ................................................................................. 30 2.5 Plano de Custo................................................................................................... 31 2.6 Plano de Gerncia de Riscos ............................................................................. 32 2.7 Plano de Garantia da Qualidade ........................................................................ 35 2.8 Plano de Testes ................................................................................................. 42 3 Especificao de Requisitos ................................................................................. 45 3.1 Requisitos do Cliente ......................................................................................... 45 3.2 Requisitos do Software ...................................................................................... 46 4 Modelagem e Anlise ............................................................................................ 77 4.1 Consideraes Preliminares............................................................................... 77 4.2 Modelagem Adotada .......................................................................................... 77 4.3 Diagrama de Casos de Uso ............................................................................... 79 4.4 Diagrama de Classes ......................................................................................... 80 4.5 Diagrama de Seqncia ..................................................................................... 81 4.6 Diagramas de Estado ......................................................................................... 96 4.7 Diagrama de Tabelas e Relacionamentos (D.T.R) ............................................. 97 5 Modelagem de Projeto .......................................................................................... 98 5.1 Consideraes Iniciais ....................................................................................... 98 5.2 Arquitetura do software ...................................................................................... 98 5.3 Estrutura de Dados .......................................................................................... 101 5.4 Detalhes Procedimentais ................................................................................. 104
6 Processo de Testes ............................................................................................ 105 6.1 Consideraes Gerais sobre os testes ............................................................. 105 6.2 Projeto de Testes ............................................................................................. 105 7 Implementao e Testes ..................................................................................... 113 7.1 Implementao................................................................................................. 113 7.2 Realizao dos Testes ..................................................................................... 117 8 Documentao .................................................................................................... 125 8.1 Consideraes Preliminares............................................................................. 125 8.2 Manual de Instalao ....................................................................................... 125 8.3 Manual do Sistema .......................................................................................... 125 9 Fechamento do Projeto ....................................................................................... 126 9.1 Consideraes Preliminares............................................................................. 126 9.2 Resultados Alcanados .................................................................................... 126 10 Consideraes Finais ........................................................................................ 130 Referncias Bibliogrficas ...................................................................................... 132 Anexo I Tabelas relativas ao FPA ....................................................................... 133
LISTA DE FIGURAS
Figura 1 - Modelo Clssico ou Cascata ........................................................... 27 Figura 2 - Fluxo do processo de gerenciamento de riscos ............................... 32 Figura 3 - Mapeamento entre os grupos de processo e o PDCA ..................... 36 Figura 4 - Viso geral do gerenciamento de qualidade do projeto ................... 39 Figura 5 - Relacionamento entre documentos de teste (CRESPO, et al) ......... 43 Figura 6- Mapa de Atores ................................................................................ 50 Figura 7- Diagrama de Casos de Uso .............................................................. 51 Figura 8- Modelo conceitual de dados ............................................................. 71 Figura 9- Diagramas da UML ........................................................................... 77 Figura 10- D.T.R .............................................................................................. 96 Figura 11- Modelo MVC ................................................................................... 99 Figura 12- MOR de Item, Mapa, Peridico, Livro e Multimdia ....................... 101 Figura 13- MOR de Obra, Categoria e Autor.................................................. 101 Figura 14 - D.T.R ........................................................................................... 102 Figura 15 - Pessoa ........................................................................................ 103
LISTA DE TABELAS
Tabela 1 - Despesas com Mo-de-obra ........................................................... 30 Tabela 2 - Despesas com software .................................................................. 30 Tabela 3 - Despesas Gerais ............................................................................ 31 Tabela 4 - Despesas de Hardware .................................................................. 31 Tabela 5 - Despesas do Projeto....................................................................... 31 LISTA DE QUADROS Quadro 1 Benefcios do software .................................................................. 14 Quadro 2 Definies e siglas ........................................................................ 15 Quadro 3 Interface de usurio ...................................................................... 15 Quadro 4 - Itens para clculo do FPA .............................................................. 17 Quadro 5 - Entradas Externas ......................................................................... 20 Quadro 6 - Sadas Externas ............................................................................ 21 Quadro 7 - Arquivos Lgicos Internos .............................................................. 21 Quadro 8 - Consultas Externas ........................................................................ 22 Quadro 9 - Produtividade por linguagem ......................................................... 23 Quadro 10 - Clculo do Fator de Ajuste ........................................................... 24 Quadro 11 - Clculo do FPA No-Ajustado ..................................................... 25 Quadro 12 - Resultado final do FPA ................................................................ 25 Quadro 13 - Atividades do Projeto ................................................................... 28 Quadro 14 Plano de Recursos Humanos ...................................................... 29 Quadro 15 Plano de Risco ............................................................................ 33 Quadro 16 - Pessoa......................................................................................... 72 Quadro 17 - Tipo_Pessoa ................................................................................ 72 Quadro 18 - Turma .......................................................................................... 72
Quadro 19 - ITEM ............................................................................................ 73 Quadro 20 - Peridico ...................................................................................... 73 Quadro 21- Multimdia ..................................................................................... 73 Quadro 22 - Mapa............................................................................................ 73 Quadro 23 - Livro ............................................................................................. 73 Quadro 24 Emprstimo ................................................................................. 74 Quadro 25 - Reserva ....................................................................................... 74 Quadro 26 - Obra_Categoria .......................................................................... 74 Quadro 27 Autor ........................................................................................... 74 Quadro 28 - Categoria ..................................................................................... 74 Quadro 29 - Obra............................................................................................. 74 Quadro 30 Obra_Autor ................................................................................. 74 Quadro 31 Pessoa_Turma ............................................................................ 75 Quadro 32 Reserva_Obra ............................................................................. 75 Quadro 33 Item_emprestimo ........................................................................ 75 Quadro 34 - Log .............................................................................................. 75 Quadro 35 - Mdulos ....................................................................................... 75
12
1 Contextualizao
1.1 Descrio do Projeto
O projeto de desenvolvimento de um software, requisito final do curso de bacharel em Sistemas de Informao, se desenvolve com intuito de melhorar e agilizar, a partir da informatizao das atividades administrativas da biblioteca da HARVARD BUSINESS SCHOOL, instituio beneficiada, sendo que todas as atividades rotineiras da referida biblioteca so executadas de forma manual, demandando um grande esforo e perda de tempo por parte das bibliotecrias da escola. vlido ressaltar ainda que a direo da escola no podia contar com informaes e relatrios acerca da situao do acervo e dos usurios da biblioteca, pois tais informaes e relatrios so gerados atravs de uma longa e difcil pesquisa pelo acervo e fichas de papel presentes at ento. Diante dessa situao foi proposto um projeto denominado LibSys (Sistema de Biblioteca) que culminaria com a informatizao da biblioteca da escola. O sistema resolveria os problemas supracitados e traria grande benefcio para a Instituio. A partir das entrevistas com a diretora e as bibliotecrias, foram obtidas as informaes necessrias para que pudesse ser traado todo o contexto que o sistema seria inserido, alm de caracterizar todas as suas necessidades principais como: Permitir o cadastramento de todo acervo da biblioteca, alm dos livros didticos fornecidos pelo governo estadual alm de administrar o emprstimo dos mesmos; Servir aos alunos, funcionrios e a comunidade no intuito de encontrar a obra desejada de forma rpida e precisa, para que esses possam ser beneficiados pela reserva e emprstimo; Atender diretoria e bibliotecrias, gerando informaes consistentes a respeito de todo acervo da biblioteca e da situao de cada usurio dentro desse contexto; Organizar a biblioteca de forma que se tenha um atendimento eficiente e eficaz para com os usurios em geral.
13
14
de uma conversa informal com a bibliotecria, em que nessa conversa puderam abstrair os seguintes requisitos: O LibSys dever gerenciar a biblioteca da escola, controlando reservas, emprstimos e devolues de todos os itens do acervo, livros de literatura, revistas, fitas VHS, DVDs, mapas alm dos livros didticos emprestados aos alunos pelo governo estadual, sendo que esses so emprestados anualmente e no permitem reservas; Manuteno do cadastro do acervo (incluir, excluir, alterar, consultar); Manuteno do cadastro de usurios (incluir, excluir, alterar, consultar), gerenciado por um usurio com permisso de administrador, com atualizao anual ou sempre que se fizer necessrio; Dever ser opcional a impresso de comprovante no ato do emprstimo, reserva e devoluo; Os emprstimos dos itens do acervo sero efetuados aos alunos pelo prazo de sete dias, exceto os livros didticos, que sero emprestados at o final de cada ano. Caso o aluno no cumpra o prazo, dever ser suspenso para efetuar novos emprstimos pelo mesmo prazo do atraso; O LibSys dever ter uma opo de alterar o estado de suspenso do usurio para realizar novos emprstimos, mediante a situaes excepcionais, administrador; que necessitar de permisso do usurio
1.4.1 Escopo do sistema 1.4.1.1 Nome do sistema e de seus componentes principais Nome do Sistema: LIBRARY SYSTEM - LIBSYS
Nome de seus principais componentes: 01 Controle de Usurios; 02 Controle de Acervo; 03 Controle Emprstimos; 04 Controle de Reservas; 05 Relatrio de Usurios;
15
06 Relatrio de Acervo; 07 Relatrio de Emprstimos; 08 Relatrio de Inadimplncia; 09 Relatrio de Reservas; 1.4.1.2 Limites do software O software aqui especificado foi solicitado na verso desktop devido s caractersticas e a estrutura de funcionamento da biblioteca e, portanto, no atender aos seguintes requisitos: Sistema disponvel na Web: Sua no implantao se deve atual situao de falta de estrutura para tal. A escola no pode contar com recursos por parte do estado para oferecer conexo Internet para a biblioteca. Sistema integrado em rede local: Devido indisponibilidade de outros microcomputadores. Porm o sistema dever ser capaz de trabalhar em rede, pois o acrscimo de outros estaes de trabalho pode proporcionar no futuro maior dinamismo para o uso dirio do sistema, tanto pelas bibliotecrias e alunos quanto pela direo e professores.
1.4.1.3 Benefcios do software: Esse tpico visa expor os benefcios que viro com a implantao do LibSys.
N benefcio 01 02 03 04 05 06 07 Benefcio Automatizao de processos Controle de usurio Controle de acervo Banco de dados Rapidez e eficincia no atendimento Controle de inadimplncia Consultas base de dados Valor para o cliente desejvel essencial essencial essencial (histrico de operaes) essencial essencial desejvel
16
17
O FPA foi escolhido pela equipe do projeto para dimensionar o tamanho desta aplicao. Para que tal tcnica pudesse ser utilizada foi tomado como base os requisitos de dados (RD), necessrios ao sistema, que foram extrados junto ao cliente. So eles: RD01: Os alunos devem possuir os seguintes dados: cdigo, nome do aluno, data de nascimento, endereo (logradouro, nmero, complemento, bairro, cep, cidade e estado), nome do responsvel, telefone fixo, telefone celular, e-mail, turma e srie em que estuda, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao e (ativo, inativo ou suspenso);
RD02: Os funcionrios devem possuir os seguintes dados: cdigo, nome do funcionrio, data de nascimento, endereo (logradouro, nmero, complemento, bairro, cep, cidade e estado), telefone fixo, telefone celular, e-mail, CPF, cargo que ocupa na escola, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao e (ativo, inativo ou suspenso);
RD03: Os leitores da comunidade devem possuir os seguintes dados: cdigo, nome do usurio, data de nascimento, endereo (logradouro, nmero, complemento,
18
bairro, cep, cidade e estado), telefone fixo, telefone celular, e-mail, CPF, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao e status (ativo, inativo ou suspenso) ;
RD04: Os livros devem possuir os seguintes dados: cdigo, ttulo, isbn, ms, ano, nmero, edio, editora, categoria, rea, descrio, estado (disponvel ou indisponvel), tipo (didtico ou literatura), obs, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao;
RD05: Os peridicos devem possuir os seguintes dados: cdigo, ttulo, issn, ms, ano, edio, editora, periodicidade, categoria, descrio, estado (disponvel ou indisponvel), obs, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao; RD06: Os CDs, DVDs e VHs devem possuir os seguintes dados: cdigo, ttulo, tempo, categoria, descrio, estado (disponvel ou indisponvel), obs, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao;
RD07: Os Mapas devem possuir os seguintes dados: cdigo, ttulo, descrio, estado (disponvel ou indisponvel), obs, data da incluso do registro, data da ltima alterao e o login do funcionrio responsvel pela ltima alterao;
RD08: Os emprstimos devem possuir os seguintes dados: cdigo, data do emprstimo, data de devoluo, cdigo do leitor, cdigo do item (livro, peridico, multimdia ou mapa) e o login do funcionrio responsvel pelo emprstimo;
RD09: As reservas devem possuir os seguintes dados: cdigo, data da reserva, cdigo do leitor, cdigo da obra e o login do funcionrio responsvel pela reserva;
19
1.5.1 Clculo Preliminar dos Pontos de Funo Tomando como base os requisitos preliminares fornecidos pelo cliente podese aplicar o FPA (Function Point Analysis) da seguinte maneira: 1.5.1.1 Identificao das Funes Arquivos Lgicos Internos: Cadastro de Alunos Cadastro de Usurios da Comunidade Cadastro de Funcionrio Cadastro de Usurios Cadastro de Livros Cadastro de Peridicos Cadastro de Multimdia Cadastro de Mapa Cadastro de Emprstimo Cadastro de Reservas Arquivos de Interface Externa: Entradas Externas: Nenhum Incluir Aluno Editar Aluno Excluir Aluno Incluir Funcionrio Editar Funcionrio Excluir Funcionrio Incluir Usurio da Comunidade Editar Usurio da Comunidade Excluir Usurio da Comunidade Incluir Livro Editar Livro Excluir Livro Incluir Peridicos
20
Editar Peridicos Excluir Peridicos Incluir Multimdia Editar Multimdia Excluir Multimdia Incluir Mapa Editar Mapa Excluir Mapa Efetuar Emprstimo Efetuar Devoluo Efetuar Reserva Cancelar Reserva
Sadas Externas:
Relao de Alunos Relao de Usurio da Comunidade Relao de Funcionrios Relao de Livros Relao de Peridicos Relao de Multimdia Relao de Mapas Relao de Emprstimos Relao de Reservas Relao de Inadimplncia
Consultas Externas
Consulta de Aluno Consulta de Usurio da Comunidade Consulta de Funcionrio Consulta de Livros Consulta de Peridicos Consulta de Multimdia Consulta de Mapas Consulta de Emprstimos Consulta de Reservas Tela de Help
21
No FPA, cada nvel de complexidade possui um peso, sendo assim, deve-se multiplicar o nmero de ocorrncias de uma funo pelo peso correspondente ao nvel de complexidade, como mostrado a seguir. A tabela com a complexidade das entradas externas, arquivos lgicos internos, consultas externas, arquivos de interface externa e das sadas externas se encontra no Anexo 2.
Entradas Externas Descrio da Funo Incluir Aluno Editar Aluno Excluir Aluno Incluir Funcionrio Editar Funcionrio Excluir Funcionrio Incluir Usurio da Comunidade Editar Usurio da Comunidade Excluir Usurio da Comunidade Incluir Livro Editar Livro Excluir Livro Incluir Peridicos Editar Peridicos Excluir Peridicos Incluir Multimdia Editar Multimdia Excluir Multimdia Incluir Mapa Editar Mapa Excluir Mapa Efetuar Emprstimo Efetuar Devoluo Efetuar Reserva Cancelar Reserva Total Formulrio Interface Externa : Total de Simples : Total de Mdios : Total de Complexos : Quadro 5 - Entradas Externas Qtde Arquivos 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 4 1 25 11 12 2 Qtde Itens 23 23 3 22 22 3 21 21 3 23 23 3 23 23 3 16 16 3 13 13 3 10 3 9 3 Grau da Funo Mdio Mdio Simples Mdio Mdio Simples Mdio Mdio Simples Mdio Mdio Simples Mdio Mdio Simples Mdio Mdio Simples Simples Simples Simples Complexo Simples Complexo Simples
22
Sadas Externas Descrio da Funo Relao de Alunos Relao de Usurios da Comunidade Relao de Funcionrio Relao de Livros Relao de Peridicos Relao de Multimdia Relao de Mapas Relao de Emprstimos Relao de Reservas Relao de Inadimplncia Qtde Arquivos 1 1 1 1 1 1 1 4 4 4 Qtde Itens 16 16 16 12 12 9 7 10 9 10 Grau da Funo Simples Simples Simples Simples Simples Simples Simples Complexo Complexo Complexo
Total Formulrio Interface Externa : Total de Simples : Total de Mdios : Total de Complexos : Quadro 6 - Sadas Externa
10 7 0 3
Arquivos Lgicos Internos Descrio da Funo Cadastro de Alunos Relao de Usurios Relao de Funcionrio Relao de Usurios da Comunidade Cadastro de Livros Cadastro de Peridicos Cadastro de Multimdia Cadastro de Mapa Cadastro de Emprstimo Cadastro de Reservas Total Arquivos Lgicos Internos : Total de Simples : Total de Mdios : Total de Complexos : Quadro 7 - Arquivos Lgicos Internos Registros Lgicos 1 1 1 1 1 1 1 1 1 1 10 10 0 0 Qtde Itens 20 8 19 18 20 20 13 10 7 6 Grau da Funo Simples Simples Simples Simples Simples Simples Simples Simples Simples
Consultas Externas Qtde Descrio da Funo Arquivos Consulta de Aluno 1 Consulta de Funcionrio 1 Consulta de Usurio da Comunidade 1
Qtde Itens 23 22 21
23
Consulta de Livros Consulta de Peridicos Consulta de Multimdia Consulta de Mapas Consulta de Emprstimos Consulta de Reservas Tela de Help Total Formulrio Interface Externa : Total de Simples : Total de Mdios : Total de Complexos : Quadro 8 - Consultas Externas
1 1 1 1 4 4 1 10 3 5 2
23 23 16 13 10 9 1
O quadro a seguir traz informaes acerca da produtividade de trabalho de acordo com as linguagens de programao.
Produtividade por Linguagem Ambiente/Linguagem Mainframe COBOL NATURAL CICS Assembler Laser Xerox DOS Batch Files LTD Micro e Cliente/Servidor Visual Basic Delphi CLIPPER DB CLIPPER EXCEL C C ++ BASIC Visual C++ Access ORACLE SQL UNIX Shell Scripts Visual Gen WEB/Documentos VBScript ASP HTML 26,4 h 13,2 h 13,2 h 26,4 h 30 h 26,4 h 30 h 8,8 h 8,8 h 13,2 h 8,3 h 4,4 h 26,4 h 13,2 h 26,4 h 8,8 h 8,8 h 13,2 h 8,3 h 8,8 h 8,3 h 12 h 12 h 8,3 h 17,6 h 8,8 h 8,8 h 17,6 h 30 h 17,6 h 30 h 6,8 h 6,8 h 8,8 h 5,9 h 3,3 h 17,6 h 8,8 h 17,6 h 6,8 h 6,8 h 8,8 h 5,9 h 6,8 h 5,9 h 12 h 12 h 5,9 h 13,2 h 6,6 h 6,6 h 13.2 h 30 h 13,2 h 30 h 5,7 h 5,7 h 6,6 h 4,3 h 2,6 h 13,2 h 6,6 h 13.2 h 5,7 h 5,7 h 6,6 h 4,3 h 5,7 h 4,3 h 12 h 12 h 4,3 h
1
24
Para encontrar o fator de ajuste, deve-se estimar o nvel de influncia para cada uma das caractersticas da aplicao relacionadas. Caractersticas da Aplicao: 1. COMUNICAO DE DADOS; 2. FUNES DISTRIBUDAS; 3. DESEMPENHO; 4. CARGA DE CONFIGURAO; 5. VOLUME DE TRANSAES; 6. ENTRADA DE DADOS ON LINE; 7. EFICINCIA DO USURIO FINAL; 8. ATUALIZAO ON LINE; 9. PROCESSAMENTO COMPLEXO; 10. REUTILIZAO; 11. FACILIDADE DE IMPLANTAO; 12. FACILIDADE OPERACIONAL; 13. MLTIPLOS LOCAIS; 14. FACILIDADE DE MUDANA;
O Nvel de influncia de cada caracterstica dado por uma escala de 0 a 5: 0 = No existe nenhuma influncia; 1 = Pouca influncia; 2 = Influncia moderada; 3 = Influncia mdia; 4 = Influncia significativa; 5 = Grande influncia;
25
As Consideraes sobre nvel de influncia para cada uma das caractersticas foram levadas em considerao de acordo com o IFPUG (International Function Point Users Group).
Clculo do Fator de Ajuste Caractersticas Gerais das Aplicaes Comunicao de Dados (funcionar em um nico microcomputador) Processamento Distribudo (no ocorrer) Performance (no tem nenhum requisito especial) Utilizao do Equipamento (no existe nenhuma restrio especial) Volume de Transaes (baixo) Entrada de Dados On-Line (cerca de 30% das transaes so entradas de dados online) Interface com o Usurio (Menor nmero de telas para executar as funes e utilizao de mouse) Atualizao On-Line (Atualizao on-line de mais de trs arquivos lgicos de controle) Processamento Complexo (no) Reutilizao de Cdigo (somente dentro da aplicao) Facilidade de Implantao (nenhuma considerao especial, s procedimentos de configurao de banco de dados) Facilidade Operacional (Backup orientado) Mltiplos Locais (no) Facilidade de Mudanas (no) Nvel de Influncia Total ( NI ) Fator de Ajuste ( FA ) Nvel de Influncia
0 0 0 0 1
2 0 1
26
Pontos de Funo No-Ajustados Complexida Total Quantidade de Funcional Complexidade Simples 10 * 7 = 70 Mdia 0 * 10 = 0 Arquivo Lgico Interno Complexa 0 * 15 = 0 Tipo de Funo Simples Mdia Complexa Simples Mdia Complexa Simples Mdia Complexa 0 0 0 11 12 2 7 0 3 3 5 2 * 5= 0 * 7= 0 * 10 = 0 * 3 = 33 * 4 = 48 * 6 = 12 * 4 = 28 * 5= 0 * 7 = 21 * 3= 9 * 4 = 20 * 6 = 12 Total Tipo
70
Interface Externa
Entrada Externa
93
Sada Externa
49
Simples Mdia Consulta Externa Complexa Total Ponto de Funo No-Ajustados Quadro 11 - Clculo do FPA No-Ajustado
41 253
Resultados do Clculo por FPA Estimativa do Tamanho 1 Pontos Funo no-Ajustados 2 Fator de Ajuste 3 Pontos de Funo Ajustados Estimativa de Esforo Fator hh/pf (Utilizao da Linguagem Delphi e considerando a 4 produtividade baixa). 5 Esforo total em hh (hora/homem) 8,8 * 195 = (Considerando aproximadamente: 4 horas por dia, 5 dias por 6 semana e 4,5 semanas por ms) Esforo total em hm (homem/ms) 1.716/90 = Estimativa de Prazo 7 8 Equipe composta por 1 integrante: WILLIAN HENRY GATES III + um auxiliar Tamanho da Equipe = 253 0,77 195
27
2 Plano do Projeto
2.1 Plano de Processo de Desenvolvimento
A construo e desenvolvimento deste projeto seguiro a metodologia orientada a objetos. Essa escolha foi condicionada devido aos aspectos que seguem nas consideraes de Pressman (2002), em seu livro Engenharia de Software (5 edio). Tal metodologia visa representar o problema do mundo real e traduzir a uma soluo que o software, de modo que sua construo, seja de forma modularizada (informao e processamento), proporcionando um maior
entendimento pela equipe de desenvolvimento. Assim como foi discutido pela equipe, a caracterstica da metodologia orientada a objetos facilitar nas possveis manutenes necessrias no ciclo de vida do software. O desenvolvimento de um software envolve diversas fases, em que em cada uma delas, so desenvolvidas vrias atividades. O encadeamento especfico das fases para a construo do software d-se o nome de Modelo de Ciclo de Vida e a diferena entre um e outro est na maneira como as diversas fases so encadeadas (Pressman 2002). O paradigma de ciclo de vida adotado no desenvolvimento do LibSys ser o ciclo de vida clssico e segundo Pressman (2002) s vezes chamado de modelo cascata, sendo considerado o mais antigo e um dos mais usados da engenharia de software. De acordo com a proposta inicial de Royce (1970), considerado o inventor do modelo em cascata, o modelo se caracteriza por possuir um caminho seqencial entre uma fase de desenvolvimento e a seguinte ao longo da anlise, projeto, codificao, teste e manuteno. Modelado em funo do ciclo de engenharia convencional, o ciclo de vida clssico, distingue as seguintes atividades: levantamento de requisitos e anlise de requisitos, projeto, implementao, testes e implantao. Entretanto, apesar de seqencial, a proposta de Royce prev possveis retroalimentaes de uma fase para a fase anterior (figura 1). Estas retro-alimentaes teriam o objetivo de reparar eventuais inconsistncias em resultados produzidos em atividades anteriores, tendo em vista que muitas vezes difcil para o cliente declarar todas as exigncias explicitamente.
28
Ainda que no decorrer do tempo, essa proposta de retro-alimentaes caiu em desuso, a equipe decidiu adotar esse modelo levando em considerao a baixa complexidade do software a ser desenvolvido, alm do fato que os requisitos no mudam a todo o momento.
2.2 Cronograma
A palavra cronograma, conforme descrito em dicionrios da lngua portuguesa, significa uma representao grfica da previso de execuo de um trabalho, no qual figuram os prazos para execuo das diversas fases. O gerenciamento do tempo do projeto, segundo o PMBOK (2004), inclui os processos necessrios para realizar o trmino do projeto no prazo. O tamanho e tempo do projeto LibSys foram estimados baseados na metodologia Function Point Analysis (FPA), ou popularmente conhecida como pontos de funo, que de acordo com Pressman (2006), foi desenvolvido por Allan Albrecht em 1979.
29
Id Nome da tarefa
Durao
Incio
Trmino
1 2 3 4 5
5 dias 2 dias 3 dias 10 dias 27 dias 15 dias 15 dias 22 dias 90 dias 90 dias 15 dias 5 dias
Seg 02/02/09 Seg 02/02/09 Qua 04/02/09 Seg 09/02/09 Seg 02/03/09
Sex 06/02/09 Ter 03/02/09 Sex 06/02/09 Sex 20/02/09 Ter 07/04/09
Contato com o cliente Contextualizao Planejamento do Projeto Especificao Detalhada de requisitos/Reviso dos Planos 6 Modelagem de Analise 7 Modelagem de Projeto 8 Especificao do Processo de Testes 9 Implementao 10 Codificao 11 Realizao e Analise dos Testes 12 Documentao e Pr-Operao
Qua 08/04/09 Qui 28/04/09 Qua 29/02/09 Sex 20/05/09 Qui 21/05/09 Sex 19/06/09 Seg 22/06/09 Sex 16/10/09 Seg 22/06/09 Sex 16/10/09 Seg 19/10/09 Seg 09/11/09 Sex 06/11/09 Sex 13/11/09
A durao do projeto mencionado no quadro anterior tem sua diviso e durao das fases baseados na ordem cronolgica de desenvolvimento de um sistema seguindo os padres da engenharia de software e de acordo com o ciclo de vida adotado, neste caso Cascata ou Clssico.
30
O Projeto contar tambm com a utilizao dos seguintes softwares: MS Project 2003; Case Studio 2; Borland Delphi 7; Firebird 1.5; Rational Rose 2003.
31
Salrio Hora Salrio ms (200 h/m) (R$) (R$) 5.867,58 2.479,17 1.842,99 1.379,56 1.359,27 12.928,57 29,34 12,40 9,21 6,90 6,80 64,65
12,93
858
22.860,24
12,93
1.716
22.860,24
Obs.: Para obter o custo de mo-de-obra da equipe foi considerada a mdia salarial dos cinco cargos apresentados na tabela 1, levando-se em considerao que a equipe composta por dois integrantes, desempenhando estes as atribuies de todos os cargos supramencionados, trabalhando duzentos e vinte e um dias e quatro horas por dia.
Obs.: Os softwares que apresentam custos iguais a zero se devem ao fato da instituio de ensino possuir a licena acadmica e os disponibilizar para o uso dos alunos.
1 2
http://www.curriculum.com.br/00.asp acessado: 03/09/2009. Salrio mdio nacional http://www142.ibm.com/software/dre/ecatalog/detail.wss?locale=en_US&synkey=M221280M46834Z 27 acessado: 03/09/2009. Valor de $4,640.00 com dlar a R$ 1,62, perfazendo um total de: R$ 7.516,80. O custo da ferramenta foi rateado para 20 projetos para melhor diluir os custos.
Obs.: O custo com despesas gerais foi estimado seguindo a experincia da equipe. 2.5.4 Hardware Hardware
Descrio Notebook Micro Computadores Desktop Total Custo unitrio (R$) 1.500,00 1.500,00 3.000,00 Unidades 1 2 3 Valor (R$) 1.500,00 3.000,00 4.500,0020=225,00
Obs.: Devido a depreciao e defasagem de configurao dos equipamentos em aproximadamente 4 (quatro) anos e a uma previso de realizao de 5 (cinco) projetos por ano utilizando os hardwares, o custo com foi rateado para 20 projetos.
33 positivos e diminuir a probabilidade de eventos adversos ao projeto. Baseando-se ainda no PMBOK, os processos para gerenciar os riscos so compostos por: Planejamento do gerenciamento de riscos deciso de como abordar, planejar e executar as atividades de gerenciamento de riscos de um projeto; Identificao de riscos determinao dos riscos que podem afetar o projeto e documentao de suas caractersticas; Anlise qualitativa de riscos priorizao dos riscos para anlise ou ao adicional subseqente atravs de avaliao e combinao de sua probabilidade de ocorrncia e impacto; Anlise quantitativa de riscos anlise numrica do efeito dos riscos identificados nos objetivos gerais do projeto; Planejamento de respostas a riscos desenvolvimento de opes e aes para aumentar as oportunidades e reduzir as ameaas aos objetivos do projeto;
Monitoramento e controle de riscos acompanhamento dos riscos identificados, monitoramento dos riscos residuais, identificao dos novos riscos, execuo de planos de respostas a riscos e avaliao da sua eficcia durante todo o ciclo de vida do projeto.
Com base no fluxo apresentado, pode-se definir o quadro a seguir para o monitoramento dos riscos, que trata da rea afetada, do modo pelo qual o processo
Em 19/08/2009
http://www.euax.com.br/artigos/2006.017-FMEA_Gestao_Riscos.pdf
acessado
em
34 pode falhar, dos efeitos da falha, do impacto provocado pela falha e das aes recomendadas para evitar que as falhas ocorram.
Plano de Riscos
Efeito da falha Probabilid ade de ocorrncia at 100% Exposio de 0 a 100 Mdia de 0 a 100 Aes Recomendadas
rea Afetada
Modo da falha
Impacto
Escopo
O cliente solicita novas implementaes durante aprovao das regras de negcio, respeitando o escopo previamente estabelecido. Recursos financeiros insuficientes
1- Analisar impacto que ser causado pela mudana. 2 - Negociar uma alterao no prazo com cliente caso necessrio. 3 - Replanejar o projeto.
Custo
Falta de recursos financeiros para continuidade do projeto Horas de trabalho previamente planejadas extrapoladas.
20%
80
50
Mdia
1 - Rever o oramento com o cliente. 2 - Solicitar a suspenso formal do projeto 1 - Acompanhar as correes. 2 - Considerar folgas no prazo planejado para evitar atrasos. 1 - Solicitar liberao imediata dos recursos humanos para o projeto 2 - Solicitar outros recursos. 3 - Renegociar a data de entrega. 4 - Solicitar a suspenso formal do projeto. 1 - Atribuir ao gerente do projeto a centralizao da comunicao formal do projeto. 2 Na impossibilidade de contar com o gerente, indicar o Analista como responsvel. 1- Reparar o hardware. 2 - Substituir o hardware inadequado ou com problemas. 1- Gerar novamente as informaes
50%
70
60
Alta
50%
90
70
Alta
30%
60
45
Alta
Infraestrutura de Hardware
30%
30
30
Baixa
Infraestrutura de
20%
20
20
Baixa
35
software informaes gerando alto ndice de retrabalho corrompidas/perdid as a partir das cpias de segurana. 2 - Refazer o que foi corrompido ou perdido. 3 - Solicitar a suspenso formal do projeto. 1- Encerrar o projeto 2 - Encontrar novo cliente 3 - Iniciar outro projeto
20%
60
40
Alta
A prioridade ser dada aos riscos que apresentam maior mdia em relao probabilidade de ocorrncia, exposio e que apresente maior impacto. A equipe do projeto deve estar atenta e disponibilizar recursos para prevenir e controlar riscos como impossibilidade de contar com recursos humanos, pois este apresenta uma mdia de 70, alm de poder causar um grande impacto no projeto caso venha a ocorrer.
36 Segundo Pressman (2006) a meta da garantia da qualidade fornecer gerncia os dados necessrios para que se informem da qualidade do produto, possibilitando uma maior compreenso e confiana de que a qualidade de tal produto est satisfazendo suas metas. A Garantia da Qualidade de Software (GQS) tambm a base do Capability Maturity Model (CMM), cujo objetivo fornecer aos vrios nveis de gerncia a adequada visibilidade dos projetos, dos processos de desenvolvimento e dos produtos gerados, o que resultar no desenvolvimento de alta qualidade. Para alcanar seus objetivos, a rea chave do processo GQS orienta a atuao das equipes responsveis pelo desenvolvimento de software, objetivando incorporar comportamentos e aes, dentre elas: O planejamento de um Plano de GQS para o projeto de acordo com um procedimento documentado; Executar as atividades de acordo com o Plano de GQS; Participar da preparao e reviso do plano do projeto, dos procedimentos e dos padres; Revisar as atividades de Engenharia de Software para verificar seu cumprimento; Verificar os artefatos gerados para observar a sua conformidade com os padres e procedimentos; Relatar periodicamente os resultados das atividades de GQS para a equipe do projeto; Documentar e tratar as no conformidades identificadas nas atividades e nos produtos de trabalho, conforme o procedimento documentado; Conduzir revises peridicas das atividades de GQS e de seus resultados com o grupo GQS do cliente; Buscar uma melhoria contnua no processo de desenvolvimento de software.
37 2.7.1 Implementando a Garantia de Qualidade O ciclo PDCA, desenvolvido por Walter A. Shewart na dcada de 20, mais conhecido como Ciclo de Deming, por ter sido amplamente difundido por este, considerada uma tcnica simples que visa o controle do processo podendo ser utilizado de maneira contnua para o gerenciamento das atividades de uma organizao. um mtodo que busca controlar para alcanar resultados eficazes e confiveis nas atividades de uma organizao, mostra eficincia na forma de apresentar uma melhoria no processo, busca padronizar as informaes do controle da qualidade, evitando erros lgicos nas anlises e tornando as informaes mais fceis de serem entendidas. O PDCA se apresenta como uma seqncia de atividades percorridas de maneira cclica para melhoria contnua das atividades, e conseqentemente, da qualidade do produto. As atividades bsicas desse ciclo so: P (plan: planejar); D (do: fazer, executar); C (check: verificar, controlar); A (act: agir, atuar corretivamente).
Figura 3 - PDCA
38 Conforme o PMBOK (2004), a natureza integradora dos grupos de processo mais complexa que o ciclo bsico do PDCA (figura 3), sendo que o grupo de processos de planejamento corresponde ao componente planejar do PDCA. Ainda de acordo com o PMBOK (2004 , p. 40)
O grupo de processos de execuo corresponde ao componente fazer e o grupo de processos de monitoramento e controle corresponde aos componentes verificar e agir. Alm disso, como o gerenciamento de um projeto um esforo finito, o grupo de processos de iniciao inicia esses ciclos e o grupo de processos de encerramento os finaliza. A natureza integradora do gerenciamento de projetos exige a interao do grupo de processos de monitoramento e controle com todos os aspectos dos outros grupos de processos.
A garantia da qualidade consiste tambm nas funes de auditoria e elaborao de relatrios de gesto do projeto e tem por objetivo fornecer os dados necessrios sobre a qualidade dos produtos e identificao de problemas, sendo de responsabilidade do gerente de projeto solucion-los, utilizando-se dos recursos necessrios garantia das questes relativas qualidade (PRESSMAN, 2006). O custo da qualidade de software inclui todos os custos decorrentes da realizao de atividades relacionadas qualidade. Podem esses custos ser dividido em custos com preveno, diagnstico e falhas. O PMBOK (2004) discorre sobre o gerenciamento da qualidade incluindo os seguintes processos: Planejamento da Qualidade: identificar os padres de qualidade que so relevantes ao projeto e determinar como implement-los; Realizar a garantia da qualidade: aplicar as atividades de qualidade programadas para que possam garantir que todos os processos necessrios para atender aos requisitos do projeto sejam empregados;
39 Realizar o controle da qualidade: monitorar os resultados especficos do projeto com o objetivo de determinar se esses esto de acordo com os padres de qualidade e identificar de forma a eliminar as causas de um desempenho considerado insatisfatrio. A figura 4 retirada do PMBOK (2004), permite uma viso mais detalhada do processo de gerenciamento da qualidade do projeto:
2.7.2 Atividade para Garantia da Qualidade Pautando-se em Pressman (2006), o controle de qualidade inclui um ciclo de realimentao no processo de trabalho que criou o produto. As atividades de controle podem ser totalmente automatizadas, totalmente manuais ou uma
40 combinao de ferramentas automatizadas e interao humana. O conceito-chave do controle de qualidade que todos os produtos de trabalho tm especificaes definidas e mensurveis, com as quais se pode comparar o resultado de cada processo. O ciclo de realimentao essencial para minimizar os defeitos produzidos. Ser criada para esse projeto uma Equipe de Qualidade de Software (EQS), que ser formada pelo integrante participante do projeto. Fica com a incumbncia de efetuar um check-list (lista para ser analisada ou checada) nas seguintes reas de desenvolvimento: Engenharia de Sistemas; Planejamento do Projeto de Software; Anlise de Requisitos de Software; Projeto de Software; Codificao e Testes de Software.
muitos elementos do sistema. A seguinte lista de conferncia trata de algumas das reas de preocupao mais importantes: 1. As funes principais so definidas de uma forma delimitada e sem ambigidades? 2. As interfaces entre os elementos do sistema esto definidas? 3. As melhores alternativas foram selecionadas? 4. A soluo tecnologicamente vivel? 5. Foi estabelecido um mecanismo de validao e verificao para o sistema? 6. H consistncia entre todos os elementos do sistema?
Planejamento do Projeto de Software A reviso do Plano de Projeto de Software estabelece um grau de risco
para seguinte lista de conferncia: 1. O escopo do software definido e delimitado sem ambigidade? 2. A terminologia clara? 3. Os recursos so adequados para o escopo? 4. Os recursos esto prontamente disponveis? 5. Os riscos em todas as categorias importantes foram definidos?
41 6. Um plano de gerenciamento dos riscos est em andamento? 7. As tarefas so definidas e colocadas em seqncia adequadamente? 8. A base para a estimativa de custos razovel? 9. Os oramentos e prazos finais predefinidos so realsticos? 10. O cronograma consistente?
capacidade de rastreamento dos requisitos, consistncia do sistema e na exatido do modelo de anlise. A seguinte lista de conferncia deve ser analisada: 1. O domnio de informao completo, consistente e acurado? 2. A diviso do problema em parties completa? 3. As interfaces externas e internas so adequadamente definidas? 4. O modelo de dados reflete adequadamente os objetos de dados, seus atributos e relaes? 5. Todos os requisitos so rastreveis em nvel de sistema?
Projeto de Software
As revises de projeto de software concentram-se no projeto de dados, arquitetura e procedimental. A reviso avalia a converso dos requisitos em projeto de dados e arquitetural e concentra-se na corretude procedimental dos algoritmos quando forem implementados nos mdulos do programa. Para isso a seguinte lista de conferncia apresentada: 1. Os requisitos de software se refletem na arquitetura de software? 2. conseguida uma efetiva modularidade? 3. Os mdulos so funcionalmente independentes? 4. A estrutura de dados consistente com o domnio da informao? 5. A estrutura de dados consistente com os requisitos de software? 6. Os fatores de qualidade foram explicitamente avaliados? 7. O algoritmo executa a funo desejada? 8. O algoritmo est logicamente correto? 9. As estruturas de dados locais foram adequadamente definidas?
42 Codificao
Uma lista para verificao do cdigo pode ser um meio efetivo de verificar a corretude do algoritmo: 1. O projeto foi adequadamente traduzido em cdigo? 2. H erros de ortografia ou tipogrficos? 3. As convenes de linguagem foram utilizadas adequadamente? 4. Existe concordncia em relao aos padres de codificao quanto ao estilo de linguagem, comentrios e cabealhos? 5. H comentrios incorretos ou ambguos? 6. Os tipos de dados e a declarao de dados so apropriados?
A Lista de conferncia para o Plano de Teste foi dividida em duas: uma para os planos de teste e outra para o procedimento de testes .
43 A capacidade de acompanhar os critrios/requisitos de validao foi estabelecida como parte da anlise de requisitos de software? As principais funes so logo demonstradas? O plano de testes consistente com o plano de projeto global? Um cronograma de teste foi explicitamente definido? O teste de fadiga para o software foi especificado?
Lista de conferncia para o procedimento de testes: Foram especificados tanto os testes de caixa preta? Foram testados todos os caminhos lgicos independentes? Foram identificados e listados casos de teste com seus resultados esperados? O tratamento de erros ser testado? Os valores-limites sero testados? A temporizao e o desempenho sero testados? Foi especificada uma variao aceitvel dos resultados esperados?
A tcnica de teste adotado pela equipe, Teste de Caixa Preta, ou teste comportamental focaliza os requisitos funcionais do software. Isto , o teste permite ao Engenheiro de Software derivar conjuntos de condies de entrada que vo exercitar plenamente todos os requisitos funcionais do software (Pressman, 2006). Esse teste tenta encontrar erros da seguinte categoria:
Funes incorretas ou omitidas; Erros de interface; Erros de estrutura de dados ou de acesso base de dados; Erros de comportamento ou desempenho; Erros de iniciao ou trmino.
De acordo com o padro IEEE 829, que descreve o conjunto de documentos utilizados nas atividades de teste de um produto de software, temos a seguinte estrutura (figura 5):
44
2.8.1 Tipo de Teste Os testes efetuados sobre o comportamento das aplicaes ou testes das funcionalidades de um sistema so chamados de Testes Funcionais. Esse teste muito importante para que possa ser executado no momento em que se resolve validar uma aplicao. O objetivo verificar se o sistema executa corretamente suas funes normais, bem como a integridade e armazenamento dos dados inseridos no sistema. Portanto, os casos de testes sero desenvolvidos e introduzidos no sistema; as sadas sero examinadas para testar sua correo.
Funcionais
45
3 Especificao de Requisitos
3.1 Requisitos do Cliente
3.1.1 Descrio Geral do Cliente A HARVARD BUSINESS SCHOOL uma instituio pblica de ensino vinculada ao governo estadual do estado de Minas Gerais, localizada Rua Joo Bressane, 220, no bairro Centro na cidade de Campanha em MG. Hoje a instituio possui 111 funcionrios e 1.792 alunos, divididos em 3 turnos (751 manh, 729 tarde e 312 noite), cursando os ensinos fundamental e mdio. A biblioteca cujos esses alunos e a comunidade se beneficiam, possui
aproximadamente 6.000 itens em seu acervo. Alm das atividades de ensino, oferece tambm comunidade e aos alunos e professores a utilizao de sua Biblioteca disponibilizando seus recursos. Segue o nome, funo e o papel dos participantes deste projeto: Nome: Marcos Fernando Rosa Funo: Vice - Diretor Papel: Responsvel pelo projeto por parte do cliente Nome: WILLIAN HENRY GATES III Funo: Analista Desenvolvedor Papel: Executor 3.1.2 Requisitos do Cliente O LibSys, Sistema de Gerenciamento de Biblioteca, dever: RC01. O sistema deve ser implementado como uma aplicao desktop, preparada para trabalhar com multiusurio;
RC02. O sistema deve controlar emprstimos, devolues e reservas de itens do acervo (RF 10);
RC03. O sistema deve ser capaz de gerenciar os seguintes itens do acervo: Livros (de literatura e didticos), revistas, Fitas VHS, DVDs e Mapas (RF 09);
46 RC04. O Sistema deve fornecer relatrios de controle e gerncia da biblioteca (RF 14);
RC06. O sistema deve permitir incluso, excluso e edio de operadores do sistema (RF 10);
RC07. As senhas devem ser armazenadas criptografadas na base de dados (RF 07); RC08. Deve ser opcional a impresso de comprovantes no ato do emprstimo e devoluo;
3.1.3 Restries R01. Os recursos de hardware devero ser aproveitados da prpria Biblioteca; R02. O software deve estar disponvel no perodo de funcionamento da
instituio; R03. O sistema deve ser reiniciado normalmente caso haja eventual falha no fornecimento de energia ao microcomputador; R04. O sistema deve ser tolerante a falhas, prevendo-as sempre que possvel e auxiliando o usurio com mensagens de erro consistentes.
47
Manuteno de Pessoas Funcionalidade que o sistema dever possuir para permitir aos operadores a incluso, excluso, alterao e consulta das pessoas que utilizam biblioteca. Manuteno de Categoria Funcionalidade que o sistema dever possuir para permitir aos operadores a incluso, excluso, alterao e consulta das categorias que estaro associadas s obras da biblioteca. Manuteno de Autor Funcionalidade que o sistema dever possuir para permitir aos operadores a incluso, excluso, alterao e consulta dos autores que estaro associados s obras da biblioteca. Manuteno de Turma Funcionalidade que o sistema dever possuir para permitir aos operadores a incluso, excluso, alterao e consulta das turmas que estro associadas aos alunos. Manuteno de Obras Funcionalidade que o sistema dever possuir para permitir aos operadores a incluso, excluso, alterao e consulta das obras do acervo da biblioteca. Manuteno de Itens Funcionalidade que o sistema dever possuir para permitir aos operadores a incluso, excluso, alterao e consulta dos itens do acervo da biblioteca. Mdulo de Reservas Funcionalidade que o sistema dever possuir para comportar as transaes dirias de reservas e cancelamento das. Mdulo de Emprstimos Funcionalidade que o sistema dever possuir para comportar as transaes dirias de emprstimos e devoluo dos itens cadastrados. Mdulo de Matrcula Funcionalidade que o sistema dever possuir para matricular os alunos usurios da biblioteca em suas respectivas turmas.
48 Emisso de Relatrios O sistema dever disponibilizar aos operadores a opo de emisso dos relatrios de: tipo de pessoas, pessoas, categorias, autores, itens, obras, emprstimos, reservas e matrculas. 3.2.2 Requisitos No Funcionais Segundo Sommerville (2005), requisitos funcionais so restries sobre os servios ou as funes oferecidas pelo sistema. Usabilidade
RNF01 - O sistema dever apresentar uma boa facilidade na realizao das operaes; Segurana
RNF03 - O sistema ter perfis diferenciados para cada operador, gerenciados por um operador administrador;
RNF05 - Garantir a integridade das informaes armazenadas em seu Banco de Dados. Robustez
RNF06 - O sistema dever ser multiusurio (permitir o acesso de um ou mais usurios simultaneamente);
RNF07 - Dever ser previsto o tratamento de exceo que garanta a integridade dos dados;
RNF08 - As falhas devero ser apresentadas ao usurio mantendo um padro de interface, em que todas devem ser traduzidas para o portugus.
Tecnolgicos
RNF10 - O sistema dever ser implantado como uma aplicao desktop (RC01);
49
3.2.3 Requisitos Funcionais 3.2.3.1 Relao de Requisitos Funcionais RF01 - O software dever identificar e validar usurios com seus respectivos perfis;
RF02 - O software dever apresentar ao usurio somente as opes do menu para os quais ele tenha permisso de acesso;
RF03 - necessrio efetuar login no sistema para que qualquer usurio opere o mesmo;
RF04 - A impresso de comprovante deve ser opcional aos usurios no final das transaes;
RF05 - O software dever permitir ao administrador incluir, excluir e alterar usurios e perfis;
Tipo de Pessoa; Pessoa; Turma; Categoria; Obra; Autor; Item; Matrcula; Reservas;
50 Emprstimos; Devolues;
RF08 - O sistema dever permitir a realizao de emprstimos dos itens do acervo pelo perodo de 7 dias, exceto os livros didticos que sero emprestados at o final do ano letivo.
RF09 - O sistema dever bloquear o leitor em atraso de realizar novos emprstimos por perodo igual ao do atraso na devoluo;
RF10 - A excluso e alterao de qualquer informao devero ser confirmadas antes de ser efetivada;
RF11 - O sistema dever tratar a entrada de dados pelo operador como: validao de datas, campos com preenchimento obrigatrio; RF12 O sistema dever imprimir os seguintes relatrios:
Tipo de Pessoa; Pessoa; Turma; Categoria; Obra; Autor; Item; Matrcula; Reservas; Emprstimos; Devolues;
Pessoa: Pode ser aluno, funcionrio ou pessoa da comunidade. Pode realizaras funes pblicas do sistema, como consulta ao acervo.
Pessoa do tipo Administrador: Funcionrio responsvel por manter atualizadas as informaes necessrias ao funcionamento do sistema, operando todas as funcionalidades, exceto a manuteno do cadastro de operadores e relatrios especficos.
52
53
Atores Prioridade Pr-condies Tigger Fluxo Principal 1. O operador seleciona a opo no menu Cadastros/Bsicos/Tipo de Pessoas; 2. O Sistema apresenta a tela de Tipo de Pessoa; 3. O operador seleciona a operao desejada, podendo ser: 3.1. Alterar 3.1.1.O operador dever localizar a informao que deseja alterar seguindo os procedimentos relacionados no item [FP 3.3]; 3.1.2. O sistema exibe as informaes do tipo de pessoa escolhido 3.1.3.O sistema dever alterar o formulrio para o modo de edio; 3.1.4.O operador dever informar os dados solicitados para efetuar a alterao das informaes do tipo de pessoa seguindo os seguintes critrios; 3.1.4.1. O preenchimento de todos os campos obrigatrio, exceto o cdigo que no pode ser alterado; 3.1.5.O operador dever selecionar a operao desejada, podendo ser: 3.1.5.1. O operador confirma a alterao dos dados clicando no boto Alterar; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema atualiza as informaes do tipo de pessoa no banco de dados e retorna ao [FP2]; 3.1.5.2 O operador cancela a operao de alterao dos dados do tipo de pessoa clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.2. Incluir 3.2.1.O operador dever clicar no boto Incluir; 3.2.2.O Sistema dever alterar o formulrio para o modo de incluso; 3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de um novo tipo de pessoa seguindo os seguintes critrios: 3.2.3.1. O preenchimento do campo descrio obrigatrio, sendo que o cdigo gerado de forma automtica; 3.2.3.2. Os outros campos vem previamente com o valor Zero; 3.2.4.O operador dever selecionar a operao desejada, podendo ser: 3.2.4.1. O operador confirma a incluso dos dados clicando no boto incluir; nesse momento, o sistema dever efetuar a validao dos dados informados [FA2]; Caso as informaes fornecidas estejam corretas, o Sistema inclui as informaes do tipo de pessoa no banco de dados e retorna [FP2]; Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP 3.2.3]; 3.2.4.2. O operador cancela a operao de incluso dos dados do tipo de pessoa clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.3. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos os tipos, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item.
54
3.3.5.Para exibir todos os dados do item siga o [FP 3.4]. 3.4. Consultar 3.4.1.Para escolher o tipo de pessoa desejada seguir os procedimentos relacionados no item [FP3.3]; 3.4.2.Clique no boto consultar para exibir todos os dados do item. 3.5. Excluir 3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos relacionados no [FP 3.3]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes do tipo de pessoa, atualmente selecionada, do banco de dados, com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso das informaes do tipo de pessoa, dever ser validado o procedimento de excluso atravs do [FA3] Caso o processo de excluso seja vlido, as informaes sobre o tipo de pessoa sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. Caso algum campo no seja informado, o sistema agir da seguinte maneira: 1.1 Se o campo for a descrio, o sistema no altera e considera a descrio anterior; 1.2 Sendo qualquer dos outros campos, o sistema considera que o usurio deseja alterar para o valor zero; [FA2] Validao das informaes fornecidas 1. Se o campo descrio no for informado, apresentar mensagem A descrio no pode estar vazia; [FA3] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada ao tipo de pessoa. Caso existam informaes vinculadas ao tipo de pessoa apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir. Extenses: No existem. Ps-Condies: Manuteno do tipo de pessoa efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo de identificao do tipo de pessoa ser gerado automaticamente pelo sistema.
55
3.1.3.O sistema dever alterar o formulrio para o modo de edio; 3.1.4.O operador dever informar os dados solicitados para efetuar a alterao das informaes da Pessoa seguindo os seguintes critrios; 3.1.4.1. O nome da Pessoa de preenchimento obrigatrio; 3.1.4.2. O endereo da Pessoa de preenchimento obrigatrio; 3.1.4.3. O Tipo de Pessoa de preenchimento obrigatrio; 3.1.5.O operador dever selecionar a operao desejada, podendo ser: 3.1.5.1. O operador confirma a alterao dos dados clicando no boto Alterar; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema atualiza as informaes da Pessoa no banco de dados e retorna ao [FP2]; Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP 3.1.4]; 3.1.5.2. O operador cancela a alterao dos dados da Pessoa clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. Incluir 3.2.1.O operador dever clicar no boto Incluir; 3.2.2.O Sistema dever alterar o formulrio para o modo de incluso; 3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de uma nova Pessoa seguindo os seguintes critrios: 3.2.3.1. O nome da Pessoa de preenchimento obrigatrio; 3.2.3.2. O endereo da Pessoa de preenchimento obrigatrio; 3.2.3.3. O Tipo de Pessoa de preenchimento obrigatrio; 3.2.4.O operador dever selecionar a operao desejada, podendo ser: 3.2.4.1. O operador confirma a incluso dos dados clicando no boto incluir; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema inclui as informaes da Pessoa no banco de dados e retorna [FP2]; Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP 3.2.3]; 3.2.4.2. O operador cancela a alterao dos dados da Pessoa clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos as pessoas, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. Consultar 3.4.1.Para escolher a pessoa desejada seguir os procedimentos relacionados no [FP3.3]; 3.4.2.Clique no boto consultar para exibir todos os dados do item. Excluir 3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos relacionados no [FP 3.3]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes da pessoa, atualmente selecionada, do banco de dados, com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso das informaes da pessoa, dever ser validado o procedimento de excluso atravs do [FA2] Caso o processo de excluso seja vlido, as informaes sobre a pessoa
3.2.
3.3.
3.4.
3.5.
56
sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. O sistema far a verificao da validade das informaes fornecidas conforme as regras abaixo: 1.1 Caso o nome da Pessoa no seja informado, apresentar a mensagem O nome de preenchimento obrigatrio; 1.2 Caso o endereo da Pessoa no seja informado, apresentar a mensagem O endereo de preenchimento obrigatrio; 1.3 Caso o tipo da Pessoa no seja informado, apresentar a mensagem Informe o tipo da Pessoa; [FA2] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada a Pessoa. Caso existam informaes vinculadas a Pessoa apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir. Extenses: UC02 Manutenir Tipo de Pessoa Ps-Condies: Manuteno da Pessoa efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo de identificao da Pessoa ser gerado automaticamente pelo sistema.
57
3.2. Incluir 3.2.1.O operador dever clicar no boto Incluir; 3.2.2.O Sistema dever alterar o formulrio para o modo de incluso; 3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de uma nova Turma seguindo os seguintes critrios: 3.2.3.1. O Turno da Turma de preenchimento obrigatrio; 3.2.3.2. A Srie da Turma de preenchimento obrigatrio; 3.2.3.3. O Ano-Base da Turma de preenchimento obrigatrio; 3.2.3.4. Letra da Turma de preenchimento obrigatrio; 3.2.4.O operador dever selecionar a operao desejada, podendo ser: 3.2.4.1. O operador confirma a incluso dos dados clicando no boto Incluir; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema inclui as informaes da Turma no banco de dados e retorna [FP2]; Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP3.2.3]; 3.2.4.2. O operador cancela a operao de alterao dos dados da Turma clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.3. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos as turmas, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. 3.3.5.Para exibir todos os dados do item siga o [FP 3.4]. 3.4. Consultar 3.4.1.Para escolher a turma desejada seguir os procedimentos relacionados no item 3.3; 3.4.2.Clique no boto consultar para exibir todos os dados do item. 3.5. Excluir 3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos relacionados no [FP3.3]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes da Turma, atualmente selecionada, do banco de dados, com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso as informaes da Turma, dever ser validado o procedimento de excluso atravs do [FA2] Caso o processo de excluso seja vlido, as informaes sobre a Turma sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. O sistema far a verificao da validade das informaes fornecidas conforme as regras abaixo: 1.1 Caso o Turno da Turma no seja informado, apresentar a mensagem Informe o Turno da Turma; 1.1 Caso Srie da Turma no seja informado, apresentar a mensagem Informe a srie da Turma; 1.2 Caso Ano Base da Turma no seja informada, apresentar a mensagem Informe o Ano-
58
Base da Turma; 1.3 Caso a Letra da Turma no seja informada, apresentar a mensagem Informe a Letra da Turma; [FA2] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada a Turma. Caso existam informaes vinculadas a Turma apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir. Extenses: No existem. Ps-Condies: Manuteno da Turma efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo da turma gerado automaticamente de acordo com os dados escolhidos no outros campos, ex: Turno = tarde, ano-base = 2009, letra da turma = A e srie = 7 fica 7AT-2009.
59
no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.3. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos as Categorias, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. 3.3.5.Para exibir todos os dados do item siga o [FP 3.4]. 3.4. Consultar 3.4.1.Para escolher a Categoria desejada seguir os procedimentos relacionados no [FP3.3]; 3.4.2.Clique no boto consultar para exibir todos os dados do item. 3.5. Excluir 3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos relacionados no [FP3.3]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes da categoria, atualmente selecionada, do banco de dados, com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso as informaes da categoria, dever ser validado o procedimento de excluso atravs do [FA2] Caso o processo de excluso seja vlido, as informaes sobre a categoria sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. Caso a descrio da categoria no seja informado, apresentar a mensagem Informe a descrio da categoria; [FA2] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada categoria. Caso existam informaes vinculadas categoria apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir. Extenses: No existem. Ps-Condies: Manuteno da Categoria efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo de identificao da categoria ser gerado automaticamente pelo sistema.
60
A categoria deve estar previamente cadastrada. Tigger O usurio acessa as opes de obras Fluxo Principal 1. O operador seleciona a opo no menu Cadastros/Obras; 2. O Sistema apresenta a tela de Obras; 3. O operador seleciona a operao desejada, podendo ser: 3.1. Alterar 3.1.1.O operador dever localizar a informao que deseja alterar seguindo os procedimentos relacionados no [FP3.3]; 3.1.2. O sistema exibe as informaes da obra escolhida; 3.1.3.O sistema dever alterar o formulrio para o modo de edio; 3.1.4.O operador dever informar os dados solicitados para efetuar a alterao das informaes da obra seguindo os seguintes critrios; 3.1.4.1. O ttulo da obra de preenchimento obrigatrio; 3.1.4.2. O ISBN de preenchimento obrigatrio, no mnimo um; 3.1.4.3. Para mudar a associao de autores e categorias preciso salvar a obra, caso tenha ela sofrido alguma alterao; 3.1.4.4. Clique no link inserir categoria e autor; 3.1.4.5. aberta uma janela com os campos de autor e categoria para alterao da obra; 3.1.4.6. O autor de preenchimento obrigatrio, no mnimo um; 3.1.4.7. A categoria de preenchimento obrigatrio, no mnimo um; 3.1.5.O operador dever selecionar a operao desejada, podendo ser: 3.1.5.1. O operador confirma a alterao dos dados clicando no boto Alterar; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema apresentar uma caixa de dilogo solicitando a confirmao da alterao das informaes da obra, atualmente selecionada, com a seguinte mensagem: "Confirma alterao da informao? e atualiza as informaes da obra no banco de dados e retorna ao [FP2]; Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP3.1.4]; 3.1.5.2. O operador cancela a operao de alterao dos dados da Obra clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.2. Incluir 3.2.1.O operador dever clicar no boto Incluir; 3.2.2.O Sistema dever alterar o formulrio para o modo de incluso; 3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de uma nova obra seguindo os seguintes critrios: 3.2.3.1. O ttulo da obra de preenchimento obrigatrio; 3.2.3.2. O ISBN de preenchimento obrigatrio, no mnimo um; 3.2.3.3. Para associar autores e categorias preciso salvar a obra; 3.2.3.4. Clique no link inserir categoria e autor; 3.2.3.5. aberta uma janela com os campos de autor e categoria para o trmino do cadastro de obra; 3.2.3.6. O autor de preenchimento obrigatrio, no mnimo um; 3.2.3.7. A categoria de preenchimento obrigatrio, no mnimo um; 3.2.4.O operador dever selecionar a operao desejada, podendo ser: 3.2.4.1. O operador confirma a incluso dos dados clicando no boto Incluir; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema inclui as informaes da obra no banco de dados e retorna ao [FP2]; Caso Contrrio o controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP3.2.3]; 3.2.4.2. O operador cancela a operao de incluso dos dados da obra clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.3. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos as Obras, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar;
61
3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. 3.3.5.Para exibir todos os dados do item siga o [FP 3.4]. 3.3.6.O Sistema retornar ao [FP2] aps o operador selecionar um registro. 3.4. Consultar 3.4.1.Para escolher a obra desejada seguir os procedimentos relacionados no item 3.3; 3.4.2.Clique no boto consultar para exibir todos os dados do item. 3.5. Excluir 3.5.1.O operador dever localizar a informao que deseja excluir seguindo os procedimentos relacionados no [FP3.3]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes da obra, atualmente selecionada, do banco de dados, com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso as informaes da obra, dever ser validado o procedimento de excluso atravs do [FA2] Caso o processo de excluso seja vlido, as informaes sobre a obra sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. O sistema far a verificao da validade das informaes fornecidas conforme as regras abaixo: 1.1. Caso o ttulo da obra no seja informado, apresentar a mensagem Informe o ttulo da obra; 1.2. Caso o autor no esteja cadastrado, a tela de associao de autor e categoria ter um link para o Cadastro de Autor (UC07, 3.3); 1.3. Caso a categoria no esteja cadastrada, a tela de associao de autor e categoria ter um link para o Cadastro de Categoria (UC05,3.3). [FA2] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada obra. Caso existam informaes vinculadas a obra apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir. Extenses: No existem. Ps-Condies: Manuteno da obra efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo de identificao da obra ser gerado automaticamente pelo sistema.
62
1 O operador seleciona a opo no menu Cadastros/Autor; 2. O Sistema apresenta a tela de autor; 3. O operador seleciona a operao desejada, podendo ser: 3.1. Alterar 3.1.1.O operador dever localizar a informao que deseja alterar seguindo os procedimentos relacionados no [FP3.3]; 3.1.2. O sistema exibe as informaes do autor escolhido 3.1.3.O sistema dever alterar o formulrio para o modo de edio; 3.1.4.O operador dever informar os dados solicitados para efetuar a alterao das informaes do autor seguindo os seguintes critrios; 3.1.4.1. O nome do autor de preenchimento obrigatrio; 3.1.5.O operador dever selecionar a operao desejada, podendo ser: 3.1.5.1. O operador confirma a alterao dos dados clicando no boto Alterar; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema atualiza as informaes do Autor no banco de dados e retorna ao [FP2]; Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao item [FP3.1.4]; 3.1.5.2. O operador cancela a operao de alterao dos dados do autor clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.2. Incluir 3.2.1.O operador dever clicar no boto Incluir; 3.2.2.O Sistema dever alterar o formulrio para o modo de incluso; 3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de um novo autor seguindo os seguintes critrios: 3.2.3.1. O nome do autor de preenchimento obrigatrio; 3.2.4.O operador dever selecionar a operao desejada, podendo ser: 3.2.4.1. O operador confirma a incluso dos dados clicando no boto Incluir; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema inclui as informaes do autor no banco de dados e retorna [FP2]; Caso Contrrio o controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP3.2.3]; 3.2.4.2. O operador cancela a operao de incluso dos dados do autor clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.3. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos os Autores, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. 3.3.5.Para exibir todos os dados do item siga o [FP 3.4]. 3.4. Consultar 3.4.1.Para escolher o Autor desejado seguir os procedimentos relacionados no [FP3.3]; 3.4.2.Clique no boto consultar para exibir todos os dados do item. 3.5. Excluir 3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos relacionados no [FP3.3]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes do autor, atualmente selecionado, do banco de dados,
63
com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso as informaes do autor, dever ser validado o procedimento de excluso atravs do [FA2] Caso o processo de excluso seja vlido, as informaes sobre o Autor sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. Caso o nome do autor no seja informado, apresentar a mensagem Informe o nome do autor; [FA2] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada ao autor. Caso existam informaes vinculadas ao autor apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir. Extenses: No existem. Ps-Condies: Manuteno do autor efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo de identificao do autor ser gerado automaticamente pelo sistema.
64
3.2. Incluir 3.2.1.O operador dever clicar no boto Incluir; 3.2.2.O Sistema dever alterar o formulrio para o modo de incluso; 3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de um novo item seguindo os seguintes critrios: 3.2.3.1. O estado de conservao de preenchimento obrigatrio; 3.2.3.2. O Status inicial de preenchimento obrigatrio; 3.2.3.3. O tipo do item de preenchimento obrigatrio; 3.2.4.O operador dever selecionar a operao desejada, podendo ser: 3.2.4.1. O operador confirma a incluso dos dados clicando no boto Incluir; nesse momento, o sistema dever efetuar a validao dos dados informados [FA1]; Caso as informaes fornecidas estejam corretas, o Sistema inclui as informaes do item no banco de dados e retorna ao [FP2]; Caso Contrrio o controle do fluxo dever retornar ao formulrio a fim de que o operador corrija as informaes fornecidas, retornando ao [FP3.2.3]; 3.2.4.2. O operador cancela a operao de incluso dos dados do item clicando no boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas e retorna ao [FP2]. 3.3. Pesquisar 3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos os itens, caso operador queira utilizar algum filtro basta preencher e clicar no boto Buscar; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. 3.3.5.Para exibir todos os dados do item siga o [FP 3.4]. 3.4. Consultar 3.4.1.Para escolher o item desejado, seguir os procedimentos relacionados no [FP 3.3]; 3.4.2.Clique no boto consultar para exibir todos os dados do item. 3.5. Excluir 3.5.1.O operador dever localizar a informao que deseja excluir seguindo os procedimentos relacionados no [FP 3.4]; 3.5.2.O operador dever clicar no boto Excluir; 3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da excluso das informaes do item, atualmente selecionada, do banco de dados, com a seguinte mensagem: "Confirma excluso da informao? Caso o usurio confirme a excluso as informaes do item, dever ser validado o procedimento de excluso atravs do [FA2] Caso o processo de excluso seja vlido, as informaes sobre o item sero apagadas do banco de dados e o Sistema retornar ao [FP2]; Caso Contrrio a operao ser cancelada e o controle do Sistema retornar ao [FP2]; Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar ao [FP2]. Fluxo Alternativo [FA1] Validao das informaes fornecidas 1. Caso o estado de conservao no seja informado, apresentar a mensagem Informe o estado de conservao da obra; 2. Caso o tipo do item no seja informado, apresentar a mensagem Informe o tipo do item; [FA2] Excluso de informaes 1. O Sistema dever verificar se existe alguma informao vinculada ao item. Caso existam informaes vinculadas ao item apresentar a mensagem Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir.
65
Extenses: No existem. Ps-Condies: Manuteno do item efetuada com xito. Regras de Negcio: 1. [RN1] O cdigo de identificao do item ser gerado automaticamente pelo sistema.
Tigger Fluxo Principal 1. O operador seleciona a opo no menu Controle/ Matricula; 2. O Sistema apresenta a tela de controle de matricula; 3. O Operador seleciona a operao desejada, podendo ser: 3.1. Adicionar Alunos a Turma 3.1.1.O operador dever localizar a informao da turma em que deseja adicionar o aluno seguindo os procedimentos relacionados no [FP 3.3]; 3.1.2.O sistema exibe uma turma; 3.1.3.O sistema exibe uma lista de alunos de acordo com a turma selecionada; 3.1.4.O operador ento clica em adicionar alunos na turma para adicionar o(s) aluno(s) a turma; 3.1.5.O sistema ir para a tela de incluso de alunos na turma selecionada; 3.1.6.O operador dever localizar a informao do aluno em que deseja incluir na turma seguindo os procedimentos relacionados no [FP 3.4]; 3.1.7.O operador clica em incluir Alunos; 3.1.8.O sistema exibe uma mensagem alunos includos com sucesso; 3.2. Mudar a Turma do Aluno 3.2.1.O operador dever localizar a informao do aluno que deseja mudar de turma seguindo os procedimentos relacionados no [FP 3.3]; 3.2.2.O sistema exibe uma lista de alunos de acordo com a turma selecionada; 3.2.3.O operador seleciona uma nova turma para o aluno; 3.2.4.O operador ento clica em incluir para mudar a turma do aluno; 3.2.5.O sistema exibe a seguinte mensagem Matricula alterada com sucesso, deseja alterar mais?; Caso queira o operador clica em sim, o Sistema atualiza as informaes na tabela Pessoa_Turma no banco de dados e retorna ao [FP2] e retorna ao [FP3.2.1]; Caso Contrrio o Sistema atualiza as informaes na tabela Pessoa_Turma no banco de dados e retorna ao [FP2]; 3.3. Pesquisar 3.3.1.Caso operador queira utilizar algum filtro basta selecionar a Turma; 3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido item. 3.3.5.O Sistema sempre exibir os alunos de acordo com a Turma selecionada; 3.3.6.O Sistema retornar ao [FP 3.1.2] aps o operador selecionar um registro. 3.4. Pesquisar 3.4.1.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que busca realizada com resultados em que o argumento de pesquisa esteja em qualquer parte; 3.4.2.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da
66
pesquisa informado; Caso no seja encontrada informao para o argumento de pesquisa informado, a grid de resultado aparece vazia; 3.4.3.Para selecionar um registro especifico o usurio deve clicar no cone selecionar, ou clicar em marca todos; 3.4.4.O Sistema retornar ao [FP 3.1.7] aps o operador selecionar um registro. Extenses: No existem. Ps-Condies:
Atores Prioridade Pr-condies Tigger Fluxo Principal 1. O operador seleciona a opo no menu Controle/Emprstimos; 2. O Sistema apresenta a tela de controle de Emprstimo; 3. O operador tem a opo de: 3.1 Emprestar 3.1.1 O operador dever localizar a informaes do item ou da pessoa seguindo os procedimentos relacionados no [FP3.2]; 3.1.2 O operador seleciona cdigo ou nome da pessoa e logo aps item a ser emprestado; 3.1.3 O operador clica na opo Emprestar. 3.1.4 O Sistema vai para o [UC16] e se a Pessoa possuir um estado que o impea de efetuar um emprstimo, o sistema exibir a mensagem Pessoa impossibilitada de efetuar emprestimos!. Caso Contrrio o sistema exibe a mensagem Emprstimo efetuado com sucesso. Deseja imprimir o comprovante?. 3.1.4.1 Caso o operador escolha a opo SIM, o sistema segue para o [UC13]. Caso contrrio o sistema retorna ao [FP2]. 3.1.5 O estado do item atualizado para emprestado; 3.2 Pesquisar 3.3.1 O sistema exibe na tela uma 2 grids de pessoas e obras reservadas; 3.3.3 O operador pode pesquisar com mais detalhes a pessoa clicando no link de pesquisa do mesmo; 3.3.3.1 Caso o operador queira detalhes obra o sistema ir para o (UC06, 3.3) e retornar com a obra selecionada. 3.3.4.1 Caso o operador queira detalhes da pessoa o sistema ir para o (UC03, 3.3) e retornar com a pessoa e sus respectivos emprstimos. Fluxo Alternativo [FA1] Pessoa ou item impossibilitados para emprstimos 1. Vai para o [UC16] e se a Pessoa possuir um estado que o impea de efetuar algum emprstimo, o sistema exibir a mensagem Emprstimo indisponvel no momento: motivo XXXXXX. 2. Vai para o [UC15] e se o item no estiver disponvel para ser emprestado, o sistema exibir a mensagem Item indisponvel no momento: motivo XXXXXX. Extenses: Emitir comprovante. Ps-Condies: Obra reservada com sucesso. Reserva cancelada com sucesso. Regras de Negcio: 1. A Pessoa s poder efetuar o emprstimo de um item se no possuir impedimento. Extenses: Emitir comprovante. Ps-Condies: Item emprestado com sucesso.
68
2. O operador seleciona a opo de devoluo de itens; 3. O sistema exibe um formulrio para pesquisa de Pessoas (UC2, 3.3); 4. O sistema identifica a lista de condies da Pessoa (itens emprestados e itens reservados) [FA1] e [FA2]; 5. O operador seleciona o item a ser devolvido; 6. O operador clica na opo devolver item; 7. O sistema exibe a mensagem Item devolvido com sucesso; 8. O item fica disponvel para novo emprstimo. Fluxo Alternativo 1 Itens no localizados 1.1 Caso no exista nenhum item emprestado a Pessoa o operador encerra o caso de uso. 2 Devoluo fora do prazo 2.1 Caso a devoluo esteja ocorrendo fora do prazo, o sistema exibe a mensagem Item devolvido com X dias de atraso; Extenses: Emitir comprovante. Ps-Condies: Item devolvido com xito. Regras de Negcio: 1. Caso a devoluo ocorra fora do prazo o sistema dever mudar o estado do Pessoa para bloqueado e impedi-lo de efetuar emprstimos ou reservas pelo prazo igual ao do atraso.
Tigger Fluxo Principal 1. Aps a efetivao das operaes de reserva e emprstimo o operador seleciona a opo Emitir comprovante; 2. O operador seleciona a opo desejada; Caso o operador escolha SIM o sistema imprimir o comprovante na impressora padro. Caso Contrrio O caso de uso encerrado. Fluxo Alternativo Extenses: Ps-Condies: Comprovante emitido. Regras de Negcio: 1. Caso operao for Reserva comprovante com o seguinte layout: nome da biblioteca, ttulo Comprovante de Reserva(s), cdigo da Pessoa, nome da Pessoa, data da reserva, hora da reserva, cdigo da reserva, cdigo da obra, ttulo da obra e previso para emprstimo. 2. Caso operao for Emprstimo comprovante com o seguinte layout: nome da biblioteca, , ttulo Comprovante de Emprstimo(s), cdigo do Pessoa, nome do Pessoa, data do emprstimo, hora do emprstimo, cdigo do emprstimo, cdigo do item, nome da obra, data para devoluo e termo de compromisso do Pessoa. 3. O comprovante deve ser impresso em duas vias, e ambas devem estar devidamente assinadas, sendo uma de posse da Pessoa e outra da biblioteca.
Atores Prioridade
69
Pr-condies Operaes realizadas corretamente no sistema Tigger O operador emite relatrio Fluxo Principal 1. O operador seleciona a opo no menu Relatrios/Reservas, Emprstimos ou Etiquetas. 2. O sistema exibe a opo com o nome dos relatrios; 3. O operador seleciona a opo desejada; 4. O sistema exibe tela para configurao do relatrio: Campos desejados; Opo de filtros; Opo de ordenao; 5. O sistema monta o relatrio e o exibe na tela; 6. O operador seleciona as opes: Salvar em arquivo, Imprimir ou Cancelar. 7. O operador pode tambm gerar um relatrio a partir dos cadastros bsicos clicando no boto Imprime Listagem disponvel em cada um. 8. O sistema monta o relatrio e o exibe na tela; 9. O operador seleciona as opes: Salvar em arquivo, Imprimir ou Cancelar. Fluxo Alternativo No existem Extenses: No existem. Ps-Condies: Relatrio emitido. Regras de Negcio:
70
Regras de Negcio: 1. Pessoa bloqueada no pode efetuar emprstimo ou reservas; 2. Pessoa liberada deve ser validada para emprstimo desde que no possua mais emprstimos do que permitido para seu perfil e no possuam emprstimos em atraso; 3. Pessoa liberada deve ser validada para reserva desde que no possua mais reservas do que permitido para seu perfil
3.2.4 Requisitos de Dados Os dados devem estar normalizados at a terceira forma normal, ou seja, requer que no haja dependncias funcionais no-triviais de atributos que no sejam chave, em qualquer coisa, exceto um superconjunto de uma chave candidata, conforme descreve Date (2004), e as tabelas devem ser criadas de forma a manter a integridade referencial entre elas. 3.2.4.1 Relao de Requisitos de Dados
RD01: O Tipo de Pessoa deve possuir os seguintes dados: Acesso, descrio, ID Tipo de Pessoa, numero de emprstimos, prazo de emprstimos, numero de reservas e prazo de reservas;
RD02: A Pessoa deve possuir os seguintes dados: ID Pessoa, ID Tipo de Pessoa, nome do usurio, data de nascimento, endereo (logradouro, nmero, complemento, bairro, cidade e uf e cep), telefone fixo, telefone celular, status, e-mail, CPF, obs, data de desbloqueio, login e senha;
RD03: O Item deve possuir os seguintes dados: IdItem, IdObra, status, Estado de Conservao, Obs e tipo;
RD04: O Livro deve possuir os seguintes dados alm dos dados do item: IdItem e tipo do livro;
RD05: Os peridicos devem possuir os seguintes dados alm dos dados do item: IdItem, e periodicidade;
RD06: O Multimdia deve possuir os seguintes dados alm dos dados do item: tipo multimdia, idItem e tempo;
71 RD07: O Mapa deve possuir os seguintes dados alm dos dados do item: tipo mapa e iditem;
RD09: O item_emprstimo deve possuir os seguintes dados: IdEmprstimo, IdItem, DataParaDevoluo, DataDevolvida e IdItememprstimo;
RD11: A reserva_obra deve possuir os seguintes dados: idObra, IdReserva, IdReservaObra, Status, DataProvavel, Dataexpira e IdItem;
RD12: A turma deve possuir os seguintes dados: IdTurma, Turno, AnoBase, Letra, Serie e Ensino;
RD15: A Obra deve possuir os seguintes dados: IdObra, ISBNISNN, Ttulo, Descrio, Edio, Editora e Ano;
RD18: A Pessoa_Turma deve possuir os seguintes dados: IdPessoa, IdTurma, Sala, Atual, IdPessoaTurma e data do cadastro;
3.2.4.3
Entidades e Atributos
PESSOA
Atributo IdPessoa IdTipoPessoa Nome DtNasc Logradouro Numero Complemento Bairro Cep Cidade UF Telefone Celular email Status Obs
Tipo Iteger Integerr String Date String Integer String String String String String String String String String Blob
Descrio Identificador interno do aluno no sistema Identificador da tabela Tipo_Pessoa Nome do aluno Data de nascimento Nome do logradouro (Rua, Av., etc) Nmero Complemento do endereo Bairro Cep Cidade Unidade Federativa = Estado Telefone fixo Telefone mvel Correio eletrnico Status da pessoa = Liberado ou Bloqueado Informaes complementares desejadas
73
CPF DataBloqueio Acesso Senha String Date String String Cadastro Pessoa Fsica Data de bloqueio da pessoa Permisso da pessoa ao sistema Senha para logar no sistema
Quadro 16 Pessoa TIPO_PESSOA Atributo IdTipoPessoa Descrio NumeroEmprestimos PrazoEmprestimo NumeroReservas PrazoReserva Acesso Controle Tipo Integer String Integer Integer Integer Integer String Integer Descrio Identificador interno do tipo de pessoa Descrio do tipo de pessoa Determina o numero mximo de emprstimos Numero de dias para emprstimo Nmero mximo de reservas Nmero de dias para reservas Permisso ao sistema do tipo de pessoa Identificador da tabela Modulos
Quadro 17 Tipo_Pessoa TURMA Atributo IdTurma Turno AnoBase Letra Serie Ensino Tipo Integer String Integer String Integer String Descrio Identificador interno da turma Manh, Tarde ou Noite Ano de operao da turma Identificador adicional das turmas Srie da turma Fundamental ou mdio
74
IdItem IdObra DataCadastro Status EstadoConservacao OBS Tipo Integer Integer Date String String String String Identificador interno do litem no sistema Identificador da tabela obra Data de cadastro do item Reservado, emprestado ou disponvel Estado de conservao do item Observaes adicionais sobre o item Livro, Mapa, Peridico ou Multimidia
Quadro 19 Item PERIDICO Atributo Periodicidade IdItem Tipo String Integer Descrio Periodicidade Identificador da tabela Item
Quadro 20 Peridico
MULTIMDIA Atributo TipoMultimidia Tempo IdItem Tipo Integer Time Integer Descrio Descrio da multimdia Tempo de durao Identificador da tabela Item
Quadro 21 Multimdia MAPA Atributo TipoMapa IdItem Tipo String Integer Descrio Descrio do mapa Identificador da tabela Item
Quadro 22 Mapa LIVRO Atributo TipoLivro IdItem Tipo String Integer Quadro 23 Livro EMPRSTIMO Atributo IdEmprestimo DataEmprestimo HoraEmprestimo IdPessoa Tipo Integer Date Time Integer Descrio Identificador interno do emprstimo no sistema Data do efetivo emprstimo Hora do efetivo emprstimo Identificador da tabela Pessoa Descrio Livro literrio ou Didtico Identificador da tabela Item
Quadro 24 Emprstimo
75
RESERVA Atributo IdReserva IdPessoa Data Tipo Integer Integer Date Descrio Identificador interno da reserva no sistema Identificador da tabela Pessoa Data da reserva
Quadro 25 Reserva
OBRA_CATEGORIA Atributo IdCategoria IdObra Tipo Integer Integer Descrio Identificador da tabela Categoria Identificador da tabela Obra
Quadro 26 Obra_Categoria
AUTOR Atributo IdAutor Nome Tipo Integer String Descrio Identificador interno do autor Nome do autor
Quadro 27 Autor CATEGORIA Atributo IdCategoria Descricao Tipo Integer String Descrio Identificador interno da categoria Descrio resumida da categoria
Quadro 28 Categoria OBRA Atributo IdObra IsbnIsnn Titulo Descricao Edicao Editora Ano Tipo Integer String String String String String Integer Descrio Identificador interno da Obra Cdigo individual da obra Titulo da obra Descrio resumida da Obra Edio da Obra Editora da Obra Ano de publicao da obra
Quadro 29 Obra OBRA_AUTOR Atributo IdObra IdAutor Tipo Integer Integer Descrio Identificador da tabela Obra Identificador da tabela Autor
Quadro 30 Obra_Autor
76
PESSOA_TURMA Atributo IdTurma IdPessoa Sala Atual IdPessoaTurma DataCadastro Tipo Integer Integer String String Integer Date Descrio Identificador da tabela Turma Identificador da tabela Pessoa Sala fsica de lotao Sim/No Identificador interno da tabela Pessoa_Turma Data da matricula
Quadro 31 Pessoa_Turma RESERVA_OBRA Atributo IdObra IdReserva IdReservaObra Status DataProvavel Tipo Integer Integer Integer String Date Descrio Identificador da tabela Obra Identificador da tabela Reserva Identificador interno da tabela Reserva_Obra Status da reserva (aguardando...) Data provvel para emprestimo
Quadro 32 Reserva_Obra ITEM_EMPRESTIMO Atributo IdEmprestimo IdItem DataParaDevolucao DataDevolvida IdItemEmprestimo Tipo Integer Integer Date Date Integer Descrio Identificador da tabela Emprestimo Identificador da tabela Item Data prevista para devoluo do item emprestado Data efetiva da devoluo Identificador interno da Tabela Item_Emprestimo
Quadro 33 Item_Emprestimo LOG Atributo IdLog Tabela Operacao Query Tipo Integer String String String Quadro 34 Log MODULOS Atributo Controle Incluir Alterar Excluir Consultar Descricao Tipo Integer String String String String String Descrio Identificador interno do mdulo Permisso para incluir Permisso para alterar Permisso para excluir Permisso para consultar Consideraes sobre o mdulo Descrio Identificador interno do log Tabela que o operador acessou Operao realizada na tabela (Update, Delete, Insert ou Select) SQL realizada
Quadro 35 Modulos
77
4 Modelagem e Anlise
4.1 Consideraes Preliminares
Segundo BOOCH (2006), o objetivo de realizar uma fase de anlise conseguir modelar o problema a ser solucionado, resultando em uma descrio precisa e completa acerca dos requisitos extrados em fases anteriores e das condies presentes no problema que o projeto se prope a resolver. O paradigma adotado neste projeto ser a Modelagem Orientada a Objetos, sendo esse o mtodo de anlise que enquadra os dados do problema de uma perspectiva de classe e objetos, e, de acordo com BOOCH (2006), sem sombra de dvidas, uma parte no fluxo principal do desenvolvimento de um sistema, pois tem provado seu valor para construo de sistemas em diversos domnios de problemas, englobando todos os graus de tamanho e complexidade.
78 A UML uma linguagem de visualizao, sendo mais que um punhado de smbolos grficos, onde por trs de cada smbolo empregado na notao UML h uma semntica bem definida, de tal forma que o desenvolvedor pode us-la para escrever seu modelo, e qualquer outro desenvolvedor, ou at mesmo outra ferramenta, ser capaz de interpret-lo sem ambigidades. tambm uma linguagem para especificao, documentao, visualizao e desenvolvimento de sistemas orientados a objetos, pois sintetiza os principais mtodos existentes, sendo considerada uma das linguagens mais expressivas para modelagem desse tipo de sistemas. Por meio de seus diagramas possvel representar sistemas de software sob diversas perspectivas de visualizao. Alm disso, ela facilita a comunicao de todas as pessoas envolvidas no processo de desenvolvimento de um sistema por apresentar um vocabulrio simples (BOOCH, 2006). 4.2.1 Principais Diagramas Um modelo descreve completamente um sistema em uma determinada perspectiva.
O modelo representado por um ou mais diagramas, onde cada um pode ser visto como uma viso dentro de um modelo. Um diagrama, por sua vez, pode ser representado de vrias formas, dependendo de quem ir interpret-lo.
79
80
81
OBS: O Emprstimo s pode ser realizado se houver a participao de Pessoas e de Itens, sendo assim, h a necessidade da classe EMPRESTIMO ser composta dos objetos PESSOA e ITEM.
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Figura 10 D.T.R
98
5 Modelagem de Projeto
5.1 Consideraes Iniciais
Para esse Projeto ser utilizado o banco de dados FireBird 2.1 e a linguagem de programao Delphi 7. Quanto arquitetura, para Jazayeri et al. (2000) ela tida como uma ferramenta para lidar com a complexidade do software alm de enfatizar que ela deve satisfazer os requisitos funcionais e no funcionais do sistema, incrementando a definio de que arquitetura de software o conjunto de componentes e seus relacionamentos. Portanto, possvel notar que ela mais do que a descrio dos componentes que a compem e do relacionamento entre eles.
99
O padro utilizado para implementar a arquitetura em camadas ser o Model View Controller (MVC) que um dos designs patters mais conhecido de todos. Basicamente uma aplicao que segue o MVC dividida em trs camadas: Model: significa modelo, que uma classe que representa as informaes do domnio de negcios da aplicao. View: significa visualizao, nesta camada teremos a definio da interface com o usurio, como os campos que sero organizados e distribudos na tela. Controller: significa controle, portanto, nesta camada teremos a manipulao dos inputs do usurio, sua interpretao e a execuo das tarefas correspondentes. Esta camada formada por um conjunto de objetos que trocam informaes com a View e tratam de atualizar o modelo de dados (Model) de acordo com a ao do usurio.
View
Controller
Model
Modelo MVC
Segue abaixo um exemplo da diviso das camadas (MVC) representada no projeto, sendo que este padro ser o mesmo para a maioria das classes: untCadastroCategoria: classe para representar a interface ou viso, far pequenas validaes de interface, como por exemplo, validar alguns dos campos preenchidos pelo usurio na tela de cadastro. responsvel por instanciar um objeto e pass-lo para a classe de domnio efetuar suas devidas operaes sobre ele; untPesquisaCategoria: tambm faz parte interface ou viso, assim como a anterior, far pequenas validaes de interface, instanciar um ou uma lista de objetos, ser uma classe de interface para pesquisa; Categoria: representa a classe de domnio, far o papel de controle possuindo o acesso aos objetos com os mtodos getteres e setteres
100
alm de possuir validaes e regras de negcio ou controle. responsvel por passar o objeto para a classe DAO; categoriaDAO: classe que representa o modelo, faz o acesso aos dados via SQL. Recebe o objeto da classe de domnio e faz suas operaes de acesso ao banco de dados para manipular tal objeto.
VIEW
CONTROLLER
MODEL
BANCO DE DADOS
As outras classes que seguiro este padro so: Tipo_Pessoa; Pessoa; Turma; Item; Multimdia; Livro; Peridico; Mapa; Obra; Autor; Categoria; Reserva; Emprstimo.
101
Impedncia (< ingls impedance < to impede = "imped-[ir]" + "-ncia" [sufixo substantivador]), genericamente, significa uma medida de impedimento ou oposio. Disponvel em: http://dicionario.babylon.com/
102
103
Figura 14 DTR
104
5.3.2 Layout das Tabelas O layout das tabelas do Banco de Dados seguiram o padro apresentado abaixo, na tabela Pessoa.
Figura 15 Pessoa
Singleton: Assegura que uma classe possua somente uma instncia e fornece um ponto global de acesso a essa instncia.
105
6 Processo de Testes
O processo de testes um componente crucial em um processo de qualidade de software alm de ser uma das atividades mais desafiadoras e custosas cumpridas durante o desenvolvimento e manuteno de um produto de software. Para Pressman (2006), uma estratgia de teste de software integra mtodos de projeto de casos de teste em uma planejada srie de passos, que resultam em uma construo bem-sucedida do software. Tal estratgia visa fornecer um roteiro que descreve os passos a serem conduzidos como parte do teste, quando esses passos so planejados e depois executados, e quanto de esforo, recurso e tempo sero necessrios.
6.2.1 Itens de Teste e Caractersticas que Sero Testadas Itens de Teste Efetuar Login o Login; o Logouf. Incluso, alterao e excluso de informaes no banco de dados: o Tipo de pessoa; o Pessoa; o Turma;
Por SHALLOWAY, Alan; TROTT, James R.. EXPLICANDO PADRES DE PROJETO. So Paulo: Bookman, 2004 p. 258.
106
o Categoria; o Obra; o Autor; o Item (livro, mapa, peridico ou multimdia); o Operador; o Associao de Aluno e Turma; o Reserva; o Emprstimo; o Devoluo. Emisso de comprovante: o Reserva ; o Emprstimo; o Devoluo. Emisso de relatrio: o Obras; o Pessoas; o Reserva; o Emprstimo; o Devoluo. Caractersticas que Sero Testadas Caractersticas Funcionalidades Descrio Verificar se o sistema executa corretamente suas funes normais, alm da integridade e armazenamento dos dados inseridos no sistema. Portanto, os casos de testes sero desenvolvidos e introduzidos no sistema; as sadas sero examinadas para testar sua correo.
6.2.2 Abordagem de Teste Foram definidos todos os Casos de Uso para o projeto LibSys no item 3.2.3.4. A partir deles, sero observados os fluxos de dados principais e alternativos atravs de Diagramas de Atividades UML e sero criados casos e procedimentos de testes que avaliam todos os caminhos dos fluxos observados para cada Caso de Uso com o objetivo de test-lo pelo menos uma vez.
107
6.2.3 Casos e Procedimentos de Teste 6.2.3.1 Caso de Uso Efetuar Login Descrio Teste de acesso ao sistema com login e senha incorretos. Teste de acesso ao sistema com login correto e senha incorreta. Teste de acesso ao sistema com login incorreto e senha correta. Teste de acesso ao sistema com login e senha corretos.
Identificador Caso de teste Autenticar com login e senha UC01CT01 incorretos. Autenticar com login correto e UC01CT02 senha incorreta. Autenticar com login incorreto e UC01CT03 senha correta. Autenticar com login e senha UC01CT04 corretos. 6.2.3.2
Caso de Uso Manutenir Tipo de Pessoa Descrio Teste de incluso/alterao de tipo de pessoa com todos os campos do formulrio preenchidos de forma correta. Teste de incluso/alterao de tipo de pessoa sem o preenchimento ou com preenchimento incorreto dos campos do formulrio. Teste de excluso de tipo de pessoa que tenha pessoa associada a ele.
Identificador Caso de teste UC02CT01 Incluir/Alterar tipo de pessoa com todos os campos do formulrio preenchidos de forma correta UC02CT02 Incluir/Alterar tipo de pessoa sem o preenchimento dos campos do formulrio, ou sendo os mesmos preenchidos de forma incorreta. UC02CT03 Excluir um tipo de pessoa que tenha pessoa associada a ele. 6.2.3.3 Caso de Uso Manutenir Pessoa
Identificador Caso de teste UC03CT01 Incluir/Alterar pessoa com todos os campos do formulrio preenchidos de forma correta UC03CT02
UC03CT03
UC03CT04
Incluir/Alterar pessoa sem o preenchimento dos campos do formulrio, ou sendo os mesmos preenchidos de forma incorreta. Excluir uma pessoa que tenha Teste de excluso de pessoa reserva associado a ela. que tenha reserva associado a ela. Excluir uma pessoa que tenha Teste de excluso de pessoa emprstimo associado a ela. que tenha emprstimo associado a ela.
Descrio Teste de incluso/alterao de pessoa com todos os campos do formulrio preenchidos de forma correta. Teste de incluso/alterao de pessoa sem o preenchimento ou com preenchimento incorreto dos campos do formulrio.
108
6.2.3.4
Caso de Uso Manutenir Turma Descrio Teste de incluso/alterao de turma com todos os campos do formulrio preenchidos de forma correta. Teste de incluso/alterao de turma sem o preenchimento ou com preenchimento incorreto dos campos do formulrio.
Identificador Caso de teste UC04CT01 Incluir/Alterar turma com todos os campos do formulrio preenchidos de forma correta UC04CT02
UC04CT03 6.2.3.5
Incluir/Alterar turma sem o preenchimento dos campos do formulrio, ou sendo os mesmos preenchidos de forma incorreta. Excluir uma turma que tenha Teste de excluso de turma que aluno associado a ela. tenha aluno associado a ela. Caso de Uso Manutenir Categoria
Identificador Caso de teste UC05CT01 Incluir/Alterar categoria com todos os campos do formulrio preenchidos de forma correta UC05CT02
UC05CT03 6.2.3.6
Incluir/Alterar categoria sem o preenchimento dos campos do formulrio, ou sendo os mesmos preenchidos de forma incorreta. Excluir uma categoria que tenha Teste de excluso de categoria obra associada a ela. que tenha obra associada a ela. Caso de Uso Manutenir Obra Descrio Teste de incluso/alterao de obra com todos os campos do formulrio preenchidos de forma correta. Teste de incluso/alterao de obra sem o preenchimento ou com preenchimento incorreto dos campos do formulrio. Teste de excluso de obra que tenha item associada a ela. Teste de excluso de obra que tenha reserva associada a ela.
Descrio Teste de incluso/alterao de categoria com todos os campos do formulrio preenchidos de forma correta. Teste de incluso/alterao de categoria sem o preenchimento ou com preenchimento incorreto dos campos do formulrio.
Identificador Caso de teste UC06CT01 Incluir/Alterar obra com todos os campos do formulrio preenchidos de forma correta UC06CT02 Incluir/Alterar obra sem o preenchimento dos campos do formulrio, ou sendo os mesmos preenchidos de forma incorreta. Excluir uma obra que tenha item associada a ela. Excluir uma obra que tenha reserva associada a ela. Caso de Uso Manutenir Autor
Identificador Caso de teste Descrio UC07CT01 Incluir/Alterar autor com todos Teste de incluso/alterao de
109
UC07CT02
UC07CT03 6.2.3.8
os campos do formulrio autor com todos os campos do preenchidos de forma correta formulrio preenchidos de forma correta. Incluir/Alterar autor sem o Teste de incluso/alterao de preenchimento dos campos do autor sem o preenchimento ou formulrio, ou sendo os com preenchimento incorreto dos mesmos preenchidos de forma campos do formulrio. incorreta. Excluir um autor que tenha obra Teste de excluso de autor que associada a ela. tenha obra associada a ela. Caso de Uso Manutenir Item Descrio Teste de incluso/alterao de item com todos os campos do formulrio preenchidos de forma correta. Teste de incluso/alterao de item sem o preenchimento ou com preenchimento incorreto dos campos do formulrio.
Identificador Caso de teste UC08CT01 Incluir/Alterar item com todos os campos do formulrio preenchidos de forma correta UC08CT02
UC08CT03
Incluir/Alterar item sem o preenchimento dos campos do formulrio, ou sendo os mesmos preenchidos de forma incorreta. Excluir um item que tenha Teste de excluso de item que emprestimo associada a ele. tenha emprestimo associada a ele. Caso Associar Aluno a Turma a uma de forma a uma de forma aluno de
6.2.3.9
Identificador Caso de teste UC09CT01 Associar aluno determinada turma correta. UC09CT02 Desassociar aluno determinada turma correta. UC09CT03 Mudar a turma do forma correta. 6.2.3.10
Descrio Teste de associao de aluno a uma determinada turma de forma correta. Teste de desassociao de aluno de uma determinada turma de forma correta. Teste de mudana da turma do aluno de forma correta.
Caso de Uso Efetuar Reserva Descrio Teste de incluso de reserva com todos os campos do formulrio preenchidos de forma correta. Teste de reserva sem o preenchimento da obra a ser reservada. Teste de incluso de reserva sem o preenchimento da pessoa
Identificador Caso de teste UC10CT01 Incluir uma reserva com todos os campos do formulrio preenchidos de forma correta. UC10CT02 Incluir reserva sem o preenchimento da obra a ser reservada. Incluir reserva sem o preenchimento da pessoa que
UC10CT03
110
UC10CT04
esta realizando a reserva. Incluir reserva com todos os campos do formulrio preenchidos de forma correta e imprimir o comprovante. Incluir reserva com todos os campos do formulrio preenchidos de forma correta e no imprimir o comprovante. Incluir uma reserva para uma pessoa que esteja impossibilitada de efetuar reservas. Incluir um reserva com mais de duas obras para uma pessoa. Incluir reserva de uma obra que possua item disponvel para emprstimo. Cancelar uma reserva de forma correta. Caso de Uso Efetuar Emprstimo
UC10CT05
UC10CT06
UC10CT07
UC10CT08
UC10CT09 6.2.3.11
que esta realizando a reserva. Teste de incluso de reserva com todos os campos do formulrio preenchidos de forma correta e imprimir o comprovante. Teste de incluso de reserva com todos os campos do formulrio preenchidos de forma correta e no imprimir o comprovante. Teste de incluso de reserva para uma pessoa que esteja impossibilitada de efetuar reservas. Teste de incluso de reserva com mais de duas obras para uma pessoa. Teste de incluso de reserva de uma obra que possua item disponvel para emprstimo. Teste de cancelamento de reserva de forma correta.
Identificador Caso de teste UC11CT01 Incluir emprstimo com todos os campos do formulrio preenchidos de forma correta. UC11CT02 Incluir emprstimo sem o preenchimento do item a ser emprestado. Incluir emprstimo sem o preenchimento da pessoa que esta realizando o emprstimo. Incluir emprstimo com todos os campos do formulrio preenchidos de forma correta e imprimir o comprovante. Incluir emprstimo com todos os campos do formulrio preenchidos de forma correta e no imprimir o comprovante. Incluir um emprstimo para uma pessoa que esteja
UC11CT03
UC11CT04
UC11CT05
UC11CT06
Descrio Teste de incluso de emprstimo com todos os campos do formulrio preenchidos de forma correta. Teste de incluso de emprstimo sem o preenchimento do item a ser emprestado. Teste de incluso de emprstimo sem o preenchimento da pessoa que esta realizando o emprstimo. Teste de incluso de emprstimo com todos os campos do formulrio preenchidos de forma correta e imprimir o comprovante. Teste de incluso de emprstimo com todos os campos do formulrio preenchidos de forma correta e no imprimir o comprovante. Teste de incluso de emprstimo para uma pessoa que esteja
111
UC11CT07
impossibilitada de efetuar emprstimos. Incluir um emprstimo com mais de trs itens para uma pessoa.
UC11CT08
impossibilitada de efetuar emprstimos. Teste de incluso de emprstimo com mais de trs itens para uma pessoa Incluir um emprstimo e Teste de incluso de emprstimo verificar se a data de devoluo e verificar se a data de ser 7 dias aps o emprstimo. devoluo ser 7 dias aps o emprstimo. Caso de Uso Efetuar Devoluo Descrio Teste de incluso de devoluo com todos os campos do formulrio preenchidos de forma correta. Teste de incluso de devoluo sem o preenchimento do item a ser devolvido. Teste de incluso de devoluo sem o preenchimento da pessoa que esta devolvendo o item. Teste de incluso de devoluo com todos os campos do formulrio preenchidos de forma correta e imprimir o comprovante. Teste de incluso de devoluo com todos os campos do formulrio preenchidos de forma correta e no imprimir o comprovante. Teste de incluso de devoluo fora do prazo de 7 dias.
6.2.3.12
Identificador Caso de teste UC12CT01 Incluir devoluo com todos os campos do formulrio preenchidos de forma correta. UC12CT02 Incluir devoluo sem o preenchimento do item a ser devolvido. Incluir devoluo sem o preenchimento da pessoa que esta devolvendo o item. Incluir devoluo com todos os campos do formulrio preenchidos de forma correta e imprimir o comprovante. Incluir devoluo com todos os campos do formulrio preenchidos de forma correta e no imprimir o comprovante. Incluir uma devoluo fora do prazo de 7 dias.
UC12CT03
UC12CT04
UC12CT05
UC12CT06 6.2.3.13
Caso de Uso Emitr Comprovante Descrio Teste de emisso do comprovante no ato da reserva. Teste de emisso do comprovante no ato do emprstimo. Teste de emisso do comprovante no ato da devoluo.
Identificador Caso de teste UC13CT01 Solicitar emisso do comprovante no ato da reserva. UC13CT02 Solicitar emisso do comprovante no ato do emprstimo. UC13CT03 Solicitar emisso do comprovante no ato da devoluo. 6.2.3.14 Caso de Uso Gerar Relatrio
Descrio
112
UC14CT01
UC14CT02
UC14CT03
UC14CT04
UC14CT05
UC14CT06
UC14CT07
UC14CT08
UC14CT09
UC14CT10
Solicitar emisso do relatrio de obras com todos os filtros do relatrio preenchidos de forma correta. Solicitar emisso do relatrio de obras sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Solicitar emisso do relatrio de pessoas com todos os filtros do relatrio preenchidos de forma correta. Solicitar emisso do relatrio de pessoas sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Solicitar emisso do relatrio de emprstimos com todos os filtros do relatrio preenchidos de forma correta. Solicitar emisso do relatrio de emprstimos sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Solicitar emisso do relatrio de reservas com todos os filtros do relatrio preenchidos de forma correta. Solicitar emisso do relatrio de reservas sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Solicitar emisso do relatrio de reservas com todos os filtros do relatrio preenchidos de forma correta. Solicitar emisso do relatrio de devoluo sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Caso de Uso Validar Item
Teste de emisso do relatrio de obras com todos os filtros do formulrio preenchidos de forma correta. Teste de emisso do relatrio de obras sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Teste de emisso do relatrio de pessoas com todos os filtros do relatrio preenchidos de forma correta. Teste de emisso do relatrio de pessoas sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Teste de emisso do relatrio de emprstimos com todos os filtros do relatrio preenchidos de forma correta. Teste de emisso do relatrio de emprstimos sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Teste de emisso do relatrio de reservas com todos os filtros do relatrio preenchidos de forma correta. Teste de emisso do relatrio de reservas sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio. Teste de emisso do relatrio de reservas com todos os filtros do relatrio preenchidos de forma correta. Teste de emisso do relatrio de devoluo sem o preenchimento ou com preenchimento incorreto dos filtros do relatrio.
6.2.3.15
Identificador Caso de teste UC15CT01 Solicitar um item (disponvel) para emprstimo. UC15CT02 Solicitar um item (emprestado) para emprstimo.
Descrio Teste de validao de um item (disponvel) para emprstimo. Teste de validao de um item (emprestado) para emprstimo.
113
Solicitar um item (reservado) para emprstimo. Solicitar um item (disponvel) para reserva. Solicitar um item (emprestado) para reserva. Solicitar um item (reservado) para reserva. Caso de Uso Validar Pessoa
Teste de validao de um item (reservado) para emprstimo Teste de validao de um item (disponvel) para emprstimo. Teste de validao de um item (emprestado) para emprstimo. Teste de validao de um item (reservado) para emprstimo
Identificador Caso de teste UC16CT01 Emprestar um item pessoa (ativa). UC16CT02 Emprestar um item pessoa (bloqueada). UC16CT03 Emprestar um item pessoa (inativa). UC16CT04 Reservar uma obra pessoa (ativa). UC16CT05 Reservar uma obra pessoa (bloqueada). UC16CT06 Reservar uma obra pessoa (inativa).
Descrio para uma Teste de validao de pessoa (ativa) para emprstimo. para uma Teste de validao de pessoa (bloqueada) para emprstimo. para uma Teste de validao de pessoa (inativa) para emprstimo para uma Teste de validao de pessoa (ativa) para emprstimo. para uma Teste de validao de pessoa (bloqueada) para emprstimo. para uma Teste de validao de pessoa (inativa) para emprstimo
6.2.4 Critrios de Aprovao ou Falha do Projeto Todos os procedimentos de teste devero ser seguidos e todos os casos de teste neles envolvidos devero apresentar os resultados esperados.
7 Implementao e Testes
7.1 Implementao
Foram implementadas 61 Units, conforme relacionado no quadro abaixo: Identificao das Units untCadastroAutor untPesquisaAutor Autor Descrio / Funo Implementao do frmCadastroAutor Implementao do frmPesquisaAutor Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco
AutorDAO
114
CategoriaDAO
ObraDAO
PessoaDAO
TipoPessoaDAO
de dados Implementao do frmCadastroCategoria Implementao do frmPesquisaCategoria Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o bando de dados Implementao do frmCadastroItens Implementao do frmPesquisaItens Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Implementao a camada responsvel pela interao com o banco de dados Implementao do frmCadastroObras Implementao do frmPesquisaObras Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Implementao do frmCadastroPessoas Implementao do frmPesquisaPessoas Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Implementao do frmCadastroTipoPessoa Implementao do frmPesquisaTipoPessoa Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados
115
ReservaDAO
TurmaDAO
TurmaDAO
Implementao do frmCadastroReservas Implementao do frmPesquisaReservas Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Implementao do frmListagemReservas Implementao do frmExibeReservas Implementao do frmCadastroTurma Implementao do frmPesquisaTurma Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Implementao do frmCadastroEmprestimo Implementao do frmPesquisaTurma Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Implementao do frmCadastroMatricula Implementao do frmPesquisaMatricula Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o bando de dados Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o bando de dados
LivroDAO
Peridico
PeriodicoDAO
116
Multimdia
Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Classe que Implementa a camada de controller, em que toda a regra de negcio se encontra (mtodos e validaes) Classe que Implementa a camada responsvel pela interao com o banco de dados Classe responsvel por fazer a conexo com o banco de dados Classe que implementa o frmControleAcesso, responsvel por delimitar o acesso aos usurios do sistema de acordo com o administrador Classe que implementa o frmListagemDesbloqueados, responsvel por exibir a relao de pessoas desbloqueadas do sistema Classe que Implementa a camada responsvel pela interao com o banco de dados Classe que contm algumas funes, como validar de datas, converter strings...
MultimidiaDAO
Mapa
MapaDAO
ConectaBD untControleAcesso
untListagemDesbloqueados
VerificaDesbloqueio
untBiblioteca
7.1.1 Alocao dos Mdulos aos Elementos Segue uma indicao sucinta da alocao das units aos elementos da arquitetura projetada no captulo 5 deste documento: Elemento arquitetural Model Mdulo AutorDao CategoriaDAO ItemDAO ObraDAO PessoaDAO LivroDAO MapaDAO MultimidiaDAO PeriodicoDAO TipoPessoaDAO
117
Controller
View
ReservaDAO EmprestimoDAO TurmaDAO VerificaReservas VerificaDesbloqueios Autor Categoria Item Turma Obra Pessoa TipoPessoa Reserva Emprstimo Livro Mapa Peridico Multimdia untBiblioteca untCadastroAutor untPesquisaAutor untCadastroCategoria untPesquisaCategoria untCadastoItens untPesquisaItens untCadastroTurma untPesquisaTurma untCadastroMatricula untPesquisaMatricula untCadastroObras untPesquisaObras untCadastroPessoas untPesquisaPessoas untCadastroTipoPessoa untPesquisaTipoPessoa untCadastroReservas untListagemReservas untReservas untExibeReservas untCadastroEmprestimo untEmprestimos untControleAcesso untListagemDesbloqueados
7.2
118
7.2.1 Incidentes de Teste 7.2.1.1 Caso de Uso UC01 Efetuar Login PT01 Passou PT02 Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos 7.2.1.2
Caso de Uso UC02 - Manutenir Tipo de Pessoa PT03 Cadastro/Bsico/Tipo de Pessoa Passou PT04 Cadastro/Bsico/Tipo de Pessoa Falhou; Se no preencher o campo descrio aparece a mensagem A descrio no pode estar vazia; Depois a mensagem Tipo de Pessoa cadastrada com sucesso!, e retorna para a tela de pesquisa. PT05 Cadastro/Bsico/Tipo de Pessoa Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos
Caso de Uso UC03 - Manutenir Pessoa PT03 Cadastro/ Pessoas Passou PT04 Cadastro/ Pessoas Passou PT05 Cadastro/ Pessoas Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos 7.2.1.4
119
Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos
Passou PT04 Cadastro/ Turma Passou PT05 Cadastro/ Turma Falhou; Quando uma turma possui algum vnculo o sistema no a exclui, porm a mensagem de erro volta como turma excluda com sucesso. Arrumar para Ocorreu uma erro durante a excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir
7.2.1.5
Caso de Uso UC05 - Manutenir Categoria PT03 Cadastro/ Categoria Passou PT04 Cadastro/ Categoria Passou PT05 Cadastro/ Categoria Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos 7.2.1.6
Caso de Uso UC06 - Manutenir Obra PT03 Cadastro/ Obra Passou PT04 Cadastro/ Obra Passou PT05 Cadastro/ Obra Falhou; No est desabilitando os campos para excluso; Ao tentar excluir uma obra que tem itens vinculados a ela, aparece a mensagem Ocorreu uma falha durante a
excluso da informao. Verifique a existncia de informaes vinculadas ao registro que deseja excluir, mas aps esta aparece outra Obra Excluda
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos
120
com sucesso!
fato a obra. 7.2.1.7 Caso de Uso UC07 - Manutenir Autor PT03 Cadastro/Bsico/ Autor Passou PT04 Cadastro/Bsico/ Autor Passou PT05 Cadastro/Bsico/ Autor Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos 7.2.1.8
Caso de Uso UC08 - Manutenir Item PT03 Cadastro/ Itens Passou PT04 Cadastro/ Itens Passou PT05 Cadastro/ Itens Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos 7.2.1.9
Caso de Uso UC09 - Associar Pessoa a Turma PT03 Controle/ Matrcula Passou PT04 Controle/ Matrcula Passou
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos
7.2.1.10 Caso de Uso UC10 - Efetuar Reserva Procedimento de teste Mapeamento Menu Passos PT03 Controle/Reservas Passou
121
Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos
PT04 Controle/Reservas Passou PT06 Controle/Reservas Passou PT08 Controle/Reservas Passou PT09 Controle/Reservas Passou PT10 Controle/Reservas Passou
7.2.1.11 Caso de Uso UC11 - Efetuar Emprstimo Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos PT03 Controle/Emprstimo Passou PT04 Controle/ Emprstimo Passou PT06 Controle/ Emprstimo Passou PT09 Controle/ Emprstimo Passou PT10 Controle/ Emprstimo Passou
7.2.1.12 Caso de Uso UC12 - Efetuar Devoluo Procedimento de teste Mapeamento Menu PT03 Controle/ Devoluo
122
Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos
Passou PT04 Controle/ Devoluo Passou PT09 Controle/ Devoluo Passou PT10 Controle/ Devoluo Passou
7.2.1.13 Caso de Uso UC13 - Emitir Comprovante Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu Passos PT03 Ao efetuar uma reserva, emprstimo ou devoluo o sistema dar a opo emitir ou no o comprovante. Passou PT04 Ao efetuar uma reserva, emprstimo ou devoluo o sistema dar a opo emitir ou no o comprovante. Passou
7.2.1.14 Caso de Uso UC14 - Gerar Relatrio Procedimento de teste Mapeamento Menu PT03 O usurio seleciona a opo do menu Relatrios/Obras ou Relatrios/Pessoas ou Relatrios/Emprstimos ou Relatrios/Reservas Passou PT04 O usurio seleciona a opo do menu Relatrios/Obras ou Relatrios/Pessoas ou Relatrios/Emprstimos ou Relatrios/Reservas Passou PT11 O usurio seleciona a opo do menu Relatrios/Obras ou Relatrios/Pessoas ou Relatrios/Emprstimos ou Relatrios/Reservas Passou
Passos
123
7.2.1.15 Caso de Uso UC15 - Validar Item Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu PT06 Ao efetuar uma reserva ou emprstimo o sistema dever validar o item. Passou PT07 Ao efetuar uma reserva ou emprstimo o sistema dever validar o item.
7.2.1.16 Caso de Uso UC16 - Validar Pessoa Procedimento de teste Mapeamento Menu Passos Procedimento de teste Mapeamento Menu PT06 Ao efetuar uma reserva ou emprstimo o sistema dever validar a pessoa. Passou PT07 Ao efetuar uma reserva ou emprstimo o sistema dever validar a pessoa.
7.2.2 Resumo dos Testes Procedimento UC01 UC02 UC03 UC04 UC05 UC06 UC07 UC08 UC09 UC10 UC11 UC12 UC13 UC14 UC15 UC16 Resultado Passou Falhou Passou Falhou Passou Falhou Passou Passou Passou Passou Passou Passou Passou Passou Passou Passou Data Execuo 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 17/11/2009 Data Re-Execuo 18/11/2009 18/11/2009 18/11/2009
7.2.3 Consideraes Sobre Realizaes dos Testes Todos os mdulos implementados do LibSys foram testados conforme item anterior. Durante a execuo, foram feitas pequenas mudanas no layout de alguns
124
formulrios, e mensagens exibidas aos usurios com o objetivo de melhorar a sua funcionalidade.
125
8 Documentao
8.1 Consideraes Preliminares
Neste captulo, so apresentadas as informaes necessrias operao do LibSys.
8.2
Manual de Instalao
8.2.1 Consideraes Preliminares Para a instalao do LibSys foi entregue ao cliente uma mdia CD-R, na qual encontra-se gravado um executvel Install_LibSys.exe gerado atravs da ferramenta Inno Setup 5. Neste mesmo CD-R encontra-se o Manual de instalao. 8.2.1.1 Pr-requisitos para Instalao
O LibSys necessita para ser instalado que o cliente possua o sistema operacional Microsoft Windows.
8.3
Manual do Sistema
O Manual usurio do LibSys est disponvel no CD-R entregue ao Cliente.
126
9 Fechamento do Projeto
9.1 Consideraes Preliminares
Nesta etapa foram realizadas medies de tempo referentes s tarefas realizadas pela bibliotecria antes da implantao do LibSys e aps sua implantao, com o objetivo de avaliar o ganho real de tempo obtido com a utilizao do sistema.
9.2
Resultados Alcanados
9.2.1 A Coleta de Dados A coleta dos dados foi realizada tomando-se por base duas situaes: uma existente antes da implantao do sistema e outra, aps sua implantao. Para tanto foram analisados os seguintes aspectos: 1. Levantamento de emprstimos em atraso: Tempo gasto para fazer o levantamento dos emprstimos de itens que no foram devolvidos na data prevista; 2. Pesquisa no acervo: Tempo gasto para fazer a pesquisa de um item no acervo; 3. Emprstimo de itens: Tempo gasto efetuar o emprstimo de um item. As tabelas a seguir apresentam as tomadas de tempo relativas execuo das tarefas acima relacionadas realizadas antes da implantao do LibSys.
Levantamento de emprstimos em atraso Medio Data Data Inicial Data Final 1 14/09/2009 14/09/2009 18/09/2009
Tempo 5 dias
127
Medio 1 2 3 4
Pesquisa no Acervo Data Hora Inicial Hora Final 18/09/2009 19:50 19:55 18/09/2009 20:15 20:24 18/09/2009 20:53 20:57 18/09/2009 21:03 21:10 Emprstimo de Itens Data Hora Inicial Hora Final 18/09/2009 18:00 18:12 18/09/2009 18:12 18:22 18/09/2009 18:30 18:44 18/09/2009 19:01 19:14
Medio 1 2 3 4
As tabelas a seguir apresentam a coleta de dados aps a implantao do LibSys. Os tempos medidos foram tomados a partir do momento em que cada operao se fez necessrio. Levantamento de emprstimos em atraso Medio Data Hora Inicial Hora Final 1 17/11/2009 19:33:12 19:35:00 Pesquisa no Acervo Data Hora Inicial Hora Final 17/11/2009 19:30:00 19:30:29 17/11/2009 19:47:02 19:47:50 17/11/2009 19:59:52 20:00:28 17/11/2009 20:09:00 20:09:16 Emprstimo de Itens Data Hora Inicial Hora Final 17/11/2009 19:33:00 19:34:14 17/11/2009 19:40:50 19:42:00 17/11/2009 19:43:04 19:44:20 17/11/2009 19:45:00 19:46:29
Tempo 0:1:48
Medio 1 2 3 4
Medio 1 2 3 4
128
9.2.2 Tratamento e Anlise dos Dados A partir dos grficos apresentados abaixo, foi verificado um aumento na produtividade, que se deve reduo do tempo para a execuo das tarefas monitoradas. Com relao ao levantamento de emprstimos em atraso, o processo automatizado proporcionou maior confiabilidade e agilidade na obteno das informaes, pois o procedimento realizado manualmente dependia do
conhecimento das bibliotecrias que detinham as informaes sobre os quantitativos de emprstimos, existindo registros individuais de cada bibliotecria a cerca desses levantamentos. Atualmente os quantitativos de emprstimos em atraso esto disponveis a qualquer momento no LibSys, o que garante total flexibilidade a diretora da escola na obteno das informaes, que so geradas automaticamente pelo sistema. O Grfico 1 - Levantamento de em atraso apresenta o resultado das medies realizadas:
Em relao tarefa de pesquisa no acervo, foi tambm verificado um ganho de tempo e preciso, pois antes quando necessitava de pesquisar uma obra, no se sabia se a mesma estava emprestada, se estava difcil de localizar, ou at mesmo se existia.
129
Atualmente consegue se saber o estado real de uma determinada obra, onde ela se encontra e ainda uma rpida localizao. O Grfico 2 - Pesquisa no Acervo apresenta o resultado das medies realizadas:
Pesquisa no Acervo
600 500 400 Tempo em 300 segundos 200 100 0 1 2 Medies 3 4 Antes Depois
No que se refere ao processo de emprstimo de itens, foi tambm verificado um ganho de tempo e preciso, pois alm do tempo gasto para pesquisar uma obra e efetuar o emprstimo o controle do processo era feito manualmente e por mais de uma pessoa o que causava um descontrole em todo o processo. No se tinha a informao imediata da situao do leitor, se estava com emprstimo em atraso ou se tinha alguma reserva em seu nome. Atualmente se consegue rapidamente localizar uma obra, verificar o estado da mesma (emprestada, reservada ou disponvel), validar o leitor (liberado ou bloqueado) e efetuar o emprstimo na certeza de que os dados relativos a ele sero armazenados e estaro disponveis, confiveis e ntegros.
Emprstimo de Itens
1000 800 Tempo em segundos 600 400 200 0 1 2 Medies 3 4 Antes Depois
130
9.2.3 Concluso A partir da anlise dos grficos apresentados no item anterior constata-se que houve uma queda significativa nos tempos necessrios para a realizao das tarefas medidas. possvel verificar que o cliente se sente mais seguro e mais tranqilo no desempenho de suas funes, tendo as informaes armazenadas em um nico local, alm de sempre disponveis por meio do sistema. Tambm de se notar a receptividade do usurio frente a implantao do LibSys, quando percebeu os benefcios trazidos pelo sistema.
10 Consideraes Finais
Ao longo do planejamento deste Projeto, foram colocados em prtica os ensinamentos recebidos, em sala de aula, referentes s disciplinas de Engenharia de Softtware, Controle de Qualidade, Banco de Dados, Anlise de Sistemas e Linguagens de Programao, sendo possvel a real aplicao dos contedos ministrados pelos professores. Traando um paralelo entre a teoria da sala de aula e a prtica no desenvolvimento da etapa de planejamento do projeto, pode-se dizer que o contedo disponibilizado pelos professores serviu de ponto de partida para a execuo dos trabalhos e que a sua concluso s foi possvel aps o aprofundamento dos ensinamentos anteriormente recebidos. Durante a etapa de implementao, foram encontrados diversos desafios, que se trabalhou para que fossem superados. Por exemplo, a construo de um projeto em Delphi seguindo a metodologia orientada a objetos, exigiu muito esforo de aprendizagem, o que foi alcanado em um curto espao de tempo, sendo isso possvel devido ajuda de colegas mais experientes. De forma geral, preciso destacar que este projeto contribui de maneira significativa para minha formao profissional, pois se sustenta e elaborado contemplando todas as etapas necessrias para o desenvolvimento, slido e eficiente, de projetos de sistemas de informao. O fechamento deste projeto foi a etapa mais gratificante para mim, uma vez que pude perceber que tal projeto culminou em um sistema que veio a atender as
131
132
Referncias Bibliogrficas
BOOCH, Grady et al. UML: Guia do Usurio. 2 edio So Paulo: Campus, 2006. CRESPO, Adalberto Nobiato et al. Uma Metodologia para Teste de Software no Contexto da Melhoria. Campinas, 2004. DATE, C.J. Introduo a Sistemas de Bancos de Dados. 8. ed. So Paulo: Campus, 2004. 896 p. JAZAYERI, M.; RAN, A.; LINDEN, F. Software Architecture for Product Families. Addison Wesley, 2000. PRESSMAN S. Roger. Engenharia de software. 5. ed. So Paulo. McGraw-Hill.2002. PRESSMAN S. Roger. Engenharia de software. 6. ed. So Paulo. McGraw-Hill.2006. Projetc Management Institute, Inc. Guia PMBOK. 3 ed. Four Campus Boulevard. Newtown Square, Pennsylvania. 2004. RAMOS, Eliani Figueir. Utilizao da FMEA para Gesto de Riscos em Projetos. Disponvel em: <http://www.euax.com.br/artigos/2006.017FMEA_Gestao_Riscos.pdf>. Acesso em: 20 ago. 2009. SANTOS, Ielder Oliveira Carneiro Dos. CONSTRUO DE UM FRAMEWORK DE PERSISTNCIA DE OBJETOS. Vitria Da Conquisa Ba, 2006. Disponvel em: <http://www.fieb.org.br/iel/bitec/Arquivos/2006/IELDER_OLIVEIRA_CARNEI RO_DOS_SANTOS.pdf>. Acesso em: 10 mar. 2009. SOMMERVILLE Ian. Engenharia de Software. 6. Ed. So Paulo, 2005. SOUSA, Jnio Plcido de A. Ciclo PDCA: Um instrumento para. Disponvel em: <http://www.pmies.org.br/v2/centraladm/artigos/arquivos/2009_Ciclo_PDCA_-_Um_instrumento_para_melhoria_continua.pdf>. Acesso em: 20 ago. 2009.
133
134