Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIP EAD Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia PROJETO DE SISTEMA DE RESERVAS DE EQUIPAMENTOS MULTIMIDIAS AMERICANA 2020 UNIP EAD Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia PROJETO DE SISTEMA DE RESERVAS DE EQUIPAMENTOS MULTIMIDIAS Nome(s) completo(s) do(s) aluno(s): RA(s): Curso: Análise e Desenvolvimento de Sistemas Semestre: 3º Semestre AMERICANA 2020 RESUMO O presente projeto consiste na criação de um sistema para reservas de equipamentos multimidias de uma instituição de ensino, com a finalidade de controlar os equipamentos multimidias e os ambientes de aprendizagem. O estudo desenvolvido tem como intuito, demonstrar como funciona o processo de engenharia de software. O trabalho apresenta técnicas e metodologias existentes que podem ser usadas para todos as etapas dos processos de desenvolvimento. Além do embasamento teórico, é exposta a implementação prática, aprofundando assim o conhecimento por meios concretos. Palavras-chave: reserva,sistemas,engenharia ABSTRACT The present project consists of the creation of a system for reserves of multimedia equipment of a teaching institution, with the purpose of controlling the multimedia equipment and the learning environments. The developed study aims to demonstrate how the software engineering process works. The work presents existing techniques and methodologies that can be used for all stages of the development process. In addition to the theoretical basis, practical implementation is exposed, thus deepening knowledge through concrete means. Keywords: reserve, systems, engineering. SUMÁRIO RESUMO ........................................................................................................................................ 3 ABSTRACT ................................................................................................................................... 4 1 Introdução ................................................................................................................................... 7 2 Desenvolvimento......................................................................................................................... 8 2.1 Contextualização do Caso .................................................................................................. 8 2.2 Objetivo do Projeto............................................................................................................. 8 3 ECONOMIA E MERCADO .................................................................................................... 9 3.1 Empresa ................................................................................................................................ 9 3.2 Agentes Econômicos ......................................................................................................... 10 3.3 Viabilidade Econômica e Financeira do Projeto.......................................................... 10 3.4 Gerenciamento do Tempo do Projeto ............................................................................ 12 4 ENGENHARIA DE SOFTWARE......................................................................................... 13 4.1 Qualidade de Software ................................................................................................ 13 4.2 Modelos de Melhorias de Processos de Projetos de Software ............................... 14 4.3 Projeto MPS-BR - Melhoria de Processos do Software Brasileiro ...................... 15 4.4 IHC - Interação Humano–Computador ........................................................................ 17 4.4 Engenharia de Requisitos ........................................................................................... 17 4.5 Requisitos e Classificação dos Requisitos................................................................. 18 4.6 Regras de Negócios (RN)............................................................................................. 19 4.7 Prototipagem................................................................................................................. 20 4.8 Testes de Software ....................................................................................................... 21 4.8.1 Roteiro de Testes .................................................................................................... 22 5 Programação orientada a objetos..................................................................................... 22 5.1 Linguagem de Modelagem de Sistemas - UML (Unified Modeling Language – linguagem de modelagem unificada) .................................................................................... 24 6 Projeto de Desenvolvimento .............................................................................................. 25 6.1 Introdução ..................................................................................................................... 25 6.2 Escopo do Produto ....................................................................................................... 26 6.3 Visão Geral do Documento ......................................................................................... 26 6.4 Descrição Geral ............................................................................................................ 26 6.5 Requisitos do Sistema .................................................................................................. 26 6.5.1 Requisitos Funcionais ............................................................................................ 27 6.5.2 Requisitos Não Funcionais .................................................................................... 29 6.5.3 Regras de Negócio ................................................................................................. 30 6.6 Telas do Sistema ........................................................................................................... 31 6.6.1 Tela Principal – Acesso ............................................................................................... 31 6.6.2 Menu Opções ............................................................................................................... 32 6.6.3 Tela de Consultas de Reservas ................................................................................... 33 6.6.4 Tela Nova Reserva - 1º Etapa Data e Horário ........................................................... 33 6.6.5 Tela Nova Reserva - 2º Etapa Equipamentos ............................................................ 34 6.6.6 Nova Reserva – 3º Etapa Local .................................................................................. 34 6.6.7 Nova Reserva – 4º Etapa Confirmação ...................................................................... 35 6.6.8 Roteiro de Testes ......................................................................................................... 35 6.7 Levantamento de Custos e Análise de Viabilidade Econômica ............................ 38 7 Conclusão ............................................................................................................................. 41 8 Referências ........................................................................................................................... 42 7 1 INTRODUÇÃO Esse Projeto Integrado Multidisciplinar trata-se de criação de um sistema de reservas de equipamentos multimidias. O presentetrabalho visa descrever toda prática que envolve os processos de análise e desenvolvimento de sistemas dentro do projeto. Para o desenvolvimento deste projeto foi necessário um estudo mais aprofundado sobre a construção de software, qualidade de software e melhorias dos processos de desenvolvimento e utilização de ferramentas para desenvolvimento de protótipos. Logo, o objetivo deste projeto é identificar quais os requisitos funcionais e não funcionais para o sistema que foi solicitado a ser desenvolvido, criar uma estrutura conforme as metodologias de engenharia, apresentação gráfica de telas prototipação conforme a disciplina de Projeto de interface com usuário. O método de pesquisa utilizado para elaboração do projeto foi baseado nas disciplinas de Economia e Mercado, Engenharia de Software II, Projeto de Interface com Usuários e Programação Orientada a Objetos I, foram também realizadas pesquisas de conteúdos bibliográficos, e leitura na internet de artigos relacionados. Com base nas disciplinas estudadas é apresentado um projeto estruturado, abordaremos com a conceituação teórica das disciplinas e no final o desenvolvimento do projeto. 8 2 DESENVOLVIMENTO 2.1 Contextualização do Caso Antigamente, o professor para ministrar suas aulas utilizava apenas giz, lousa, livros e seu conhecimento para apresentar o conteúdo de sua disciplina aos seus alunos. Considerando Serviço Social o aumento de informações a serem apresentadas em cada disciplina, o comportamento da nova geração dos alunos que são totalmente ligados à tecnologia e às ferramentas de interação humano-computador, a área educacional está aderindo gradativamente na utilização ferramentas audiovisuais para apoiar a dinâmica das aulas dos Colégios de Ensino Fundamental e Médio. O Colégio Vencer Sempre disponibiliza equipamentos de informática e vídeo (tais como datashow, TV com VCR, TV com DVD, Projetor de Slides, Sistemas de Áudio- Microfone, Caixa Amplificada, Notebooks, Kits Multimídia etc.), como ferramentas de apoio para aulas e palestras, aos professores e coordenadores da instituição, alocando-os em salas de aula e auditórios, a pedido antecipado dos colaboradores. O Sistema de reservas de empréstimo de equipamentos e recursos audiovisuais tem como propósito agilizar e controlar o empréstimo de equipamentos e recursos de apoio aos professores e dos demais colaboradores que necessitem utilizar os recursos mencionados. 2.2 Objetivo do Projeto O objetivo geral desse projeto é apresentar um sistema para a gestão das reservas dos equipamentos multimidias de uma escola. Os objetivos específicos proposto são: a) permitir o controle dos cadastros gerais dos equipamentos da escola; b) permitir a reserva dos equipamentos; c) O sistema será acessado através do Site da escola, no qual será exigida autenticação de usuário; d) Sistema Web: O professor poderá realizar, de qualquer lugar, operações tais como: 1. Reserva de Sala e equipamentos; 2. Consulta de Sala e equipamentos; e) Impressão de Relatórios sempre atualizados e instantaneamente; f) Implantação de níveis de acesso para usuários como: 9 1. Administrador: terá total controle sobre o Sistema, podendo gerenciar usuários, cadastrar e consultar salas, equipamentos, turno, fazer reservas e gerar relatórios; 2. Professor: poderá realizar as reservas e consultar. g) disponibilizar informação ao responsável pela gestão das reservas em relação a movimentação e manutenção dos equipamentos; h) disponibilizar informações das reservas e dos equipamentos. 3 ECONOMIA E MERCADO A ciência da escassez ou das escolhas. A economia é uma ciência social, tanto quanto a ciência política, a psicologia e a sociologia. Ela pode ser definida como estudo da alocação (utilização) dos recursos escassos na produção de bens e serviços para a satisfação das necessidades ou dos desejos humanos. (MENDES, 2004) O mercado é um local ou ambiente social/ virtual, no qual agentes econômicos, realizam transações econômicas, isto é, uma troca de bens e serviços entre particulares, empresas ou outro tipo de organização, por uma unidade monetária ou por outros bens. A existência do mercado é de grande importância no desenvolvimento da economia, da sociedade e das instituições, além de ser a principal atividade econômica do homem. Na verdade, um indivíduo sozinho é incapaz de cobrir com suas necessidades, por isso interage com os outros a fim de compartilhar o que tem em abundância por aquilo que carece. 3.1 Empresa Segundo Santana, et al (2019, p.32) - Pode‑se conceituar empresa como toda atividade econômica organizada, para a produção ou circulação de bens (produtos) ou de serviços. O Colégio Vencer Sempre caracteriza como uma empresa prestadora de serviços educacionais. O setor de prestação de serviços tem adquirido relevante importância no cenário econômico atual. Os serviços são conceituados como bens especiais não tangíveis, prestados por pessoas ou empresas. 10 3.2 Agentes Econômicos Os Agentes Econômicos são todas as entidades com autonomia, capaz de realizar operações econômicas e de deter valor econômico. Quando no exercício das funções, estabelecem-se interações e relações entre os agentes, criando-se um circuito econômico Segundo Mendes et al. (2015): são pessoas de natureza física ou jurídica que, através de suas ações, contribuem para o funcionamento do sistema econômico, seja este capitalista ou socialista. Podem ser: Empresas, Família ou Governo. • Empresa: inclui todos os agentes encarregados de produzir e comercializar bens e serviços, ligados por sistemas de informação e influenciados por um ambiente externo. • Família: inclui todos os indivíduos e unidades familiares da economia e que, no papel de consumidores, adquirem os mais diversos tipos de bens e serviços para o atendimento de suas necessidades. • Governo: inclui todas as organizações que, direta ou indiretamente, estão sob o controle do Estado, nas suas esferas: federal, estadual ou municipal. Os Agentes econômicos identificados nesse projeto são: as Empresas Privadas Fornecedor do Sistema e o Cliente Colégio Vencer Sempre. 3.3 Viabilidade Econômica e Financeira do Projeto A análise de viabilidade econômica e financeira é um estudo que consiste em avaliar e medir, os custos e benefícios de determinado projeto ou investimento. Irá comparar os retornos que poderão ser obtidos com os investimentos demandados, para decidir se vale a pena ou não investir. É uma ferramenta capaz de fornecer informações a respeito da sua rentabilidade e qual o seu impacto na empresa. Seu objetivo é prever ou antecipar os cenários otimistas e pessimistas de um plano. Para realização desse estudo, segundo Guia-PMBOK é utilizado o Business Case do Projeto. “Estudo documentado de viabilidade econômica usado para determinar a validade dos benefícios de um componente ainda sem definição suficiente, usado como base 11 para a autorização de outras atividades de gerenciamento de projetos. (Guia PMBOK® – 6ª. Edição , 2018, Pág 29) Para o desenvolvimento de um business case template, basicamente são essenciais quatro tópicos, para um documento bem elaborado, que irá fornecer informações sobre riscos e recompensas envolvidos na tomada de ação, com abordagens viáveis para a implantação do projeto: • Números: quais são as receitas para tocar esse projeto e as despesas e resultados esperados financeiramente após implementação deste novo produto, serviço ou solução para um problema? • Pessoas: quais são os profissionais que farão parte do projeto? Há profissionais especializados em cada setor necessário do projeto? Quem vai dar o respaldo? • Mercado: qual é o momento e comportamento do mercado para esse projeto? Tem demanda? Vai inovar? Vai gerar interesse? Baseado em quê? Estudose pesquisas? • Produtos ou serviço: o que esse novo produto ou serviço vai oferecer de inovação ou benefício para os usuários? O que vai solucionar? O business case precisa reunir os benefícios, as desvantagens, custos e riscos da situação atual e projeção do futuro. Podemos conceituar investimento financeiro como a aplicação de capital com a expectativa de um benefício futuro. O primeiro passo para justificar novos investimentos é alinha-los à estratégia da organização. Para que o investimento proporcione impacto efetivo, ele precisa estar integrado à estratégia de negócio, ou seja, ele precisa estar diretamente associado com os objetivos organizacionais do momento. Ao implementar tecnologias sem a preocupação de relacioná-las ao negócio, a empresa corre risco de implementar algo caro e inútil para a realidade. Devemos utilizar dos cálculos de indicadores financeiros: • Valor presente líquido (VPL); • Retorno do investimento (ROI); • Taxa interna de retorno (TIR); • Período de reembolso (PDR); e • Relação de custo-benefício (RCB). https://www.profissionaisti.com.br/2015/01/os-profissionais-de-ti-estao-alinhados-ao-planejamento-estrategico/ https://www.profissionaisti.com.br/2015/01/os-profissionais-de-ti-estao-alinhados-ao-planejamento-estrategico/ 12 Apresentando bons resultados nestes indicadores, você consegue demonstrar à alta gestão que seu projeto não é um custo por completo e, sim, um investimento para a organização. 3.4 Gerenciamento do Tempo do Projeto Gerenciamento do cronograma do projeto / Project Schedule Management. O gerenciamento do cronograma do projeto inclui os processos necessários para gerenciar o término pontual do projeto. (Guia PMBOK® – 6ª. Ed. 2018. P. 711) O objetivo do gerenciamento do tempo de projeto é descrever os processos requeridos para o término do projeto, garantindo que ele cumpra com os prazos definidos em um cronograma de atividades, e assim diminuir as possibilidades de que o projeto venha a extrapolar os prazos, gerando insatisfação, aumentando os custos e a tensão na equipe. Os principais processos desta gestão são: 1. Planejar o Gerenciamento do Cronograma: É o processo responsável por estabelecer as políticas, os procedimentos que serão utilizados e a documentação que será utilizada no planejamento, desenvolvimento, gerenciamento, execução e controle do cronograma do projeto. 2. Definir as Atividades: consiste em identificar e documentar as ações/atividades especificas a serem realizadas para produzir os diversos tangíveis do projeto. 3. Sequenciar as Atividades: responsável por identificar e documentar os relacionamentos, as dependências entre as atividades do projeto. Este processo define uma sequência lógica para a realização do trabalho. 4. Estimar os Recursos das Atividades: Este processo identifica o tipo, quantidade e características dos recursos exigidos para concluir a atividade, permitindo uma estimativa de custos e duração mais exatas. 5. Estimar as Durações das Atividades: Este processo fornece uma quantidade de tempo necessário para concluir cada atividade. 6. Desenvolver o Cronograma: Este processo realiza a inclusão das atividades do cronograma, suas durações, recursos, disponibilidades de recursos e os relacionamentos lógicos. 13 7. Controlar o Cronograma: Este processo fornece meios para reconhecimento dos desvios com relação ao caminho planejado e tomada de medidas corretivas e preventivas para com isso minimizar os riscos. 4 ENGENHARIA DE SOFTWARE Podemos definir que a engenharia de software como uma disciplina de engenharia ou como uma área do conhecimento da computação cujo foco está em todos os aspectos práticos da produção de um sistema de software desde os estágios iniciais da especificação do sistema até sua manutenção. Utiliza-se da aplicação de tecnologias e práticas de gerências de projetos e outras disciplinas. O Institute of Electrical and Eletrônics Engenineers - IEEE (SWEBOK, 2004) apresenta a seguinte definição: “engenharia de software é (1) a aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção de software; isto é, a aplicação de engenharia de software; (2) o estudo das abordagens como de (1)”. Segundo uma definição proposta por Fritz Bauer (apud Pressman, Roger S, 2011, Pag.39): [Engenharia de software é] o estabelecimento e o emprego de sólidos princípios de engenharia de modo a obter software de maneira econômica, que seja confiável e funcione de forma eficiente em máquinas reais. 4.1 Qualidade de Software Existem muitas definições para o termo qualidade de software propostas na literatura, sob diferentes pontos de vista. A Qualidade é um termo que pode ter diferentes interpretações. Definições segundos autores ou instituições regulamentadoras: Para Sommerville (2008) podemos definir que a Garantia de qualidade consiste em estabelecer procedimentos e padrões que conduzam ao desenvolvimento de software de alta qualidade. 14 Para Pressman (2011) a definição de Qualidade de software está relacionada com a conformidade a requisitos funcionais e de desempenho que foram explicitamente declarados, a padrões de desenvolvimento documentados, e a características implícitas que são esperadas de todo software desenvolvido por profissionais. Qualidade de software (software quality) Totalidade das funcionalidades e características de um produto de software que se baseia na sua habilidade de satisfazer as necessidades declaradas ou implícitas. Ver também: qualidade Referência: pós ISO 9126 (ISTQB®, 2018, Pág. 21) Qualidade (Quality) Grau até o qual um componente, sistema ou processo atende aos requisitos especificados e/ou às necessidades e expectativas do usuário/consumidor. Referência: ISO 24765 (ISTQB®, 2018, Pág. 20) A qualidade de software está diretamente ligada com a qualidade do processo através do qual o software é desenvolvido, portanto, para se ter qualidade em um produto de software é necessário ter um processo de desenvolvimento bem definido, que deve ser documentado e acompanhado [Swebok, 2004]. 4.2 Modelos de Melhorias de Processos de Projetos de Software A busca pela qualidade e melhoria contínua do produto é um dos principais motivos para que as empresa que desenvolvem software, procurem investir na melhoria de seus processos de desenvolvimento. A melhoria deste processo traz grandes benefícios, aumentando a qualidade de seus produtos e diminuindo os esforços para produzi-los e mantê-los. Atualmente no mercado existem normas, referências e modelos internacionalmente reconhecidos que podem ser aplicados na empresa ou instituição, como por exemplo, o Capability Maturity Model for Development (CMMI-DEVI-DEV), o MPS.BR-SW (Melhoria de Processo do Software Brasileiro) e a norma ISO/IEC 15504. • O CMMI-DEV foi criado no final da década de 1980 pelo SEI (Software Engineering Institute) dos Estados Unidos, para a avaliação da capacidade dos seus fornecedores de software. 15 • O MPS.BR-SW, foi elaborado por pesquisadores brasileiros em 2003, visando à melhoria dos processos de desenvolvimento de software de empresas de micro, pequeno e médio porte brasileiras. • A norma ISO/IEC 15504 possui uma estreita relação com o modelo CMMI, pois apresenta uma estrutura para a realização de avaliações de processos semelhante ao modelo. A aplicação de um programa de melhoria de processos não é simples. O objetivo principal desses modelos é que as organizações conheçam e melhorem seus processos de desenvolvimento de software auxiliando na implementação de práticas definidas. Mas esses modelos apresentam apenas metas ou estruturas necessárias para que um processo de desenvolvimento tenha excelência na qualidade de seus produtos, mas não determinam como implantaras melhorias necessárias no processo de desenvolvimento 4.3 Projeto MPS-BR - Melhoria de Processos do Software Brasileiro O MPS-BR (Melhoria de Processos do Software Brasileiro) é um modelo de qualidade de processo criado em 2003 pela Associação para Promoção da Excelência do Software Brasileiro (SOFTEX) para melhorar a capacidade de desenvolvimento de software nas empresas brasileiras. Para a definição do MPS-BR levou em consideração normas e modelos internacionalmente reconhecidos como CMMI (Capability Maturity Model Integration), e nas normas ISO/IEC 12207 e ISO/IEC 15504 e na realidade do mercado brasileiro de software. Os níveis de maturidade no modelo MPS-BR estabelecem patamares de evolução dos processos. O nível de maturidade em que se encontra uma organização permite prever o seu desempenho futuro ao executar um ou mais processos. O modelo define sete níveis de maturidade: A (Em Otimização); B (Gerenciado Quantitativamente); C (Definido); D (Largamente Definido); E (Parcialmente Definido); 16 F (Gerenciado); G (Parcialmente Gerenciado). Figura 1 – Tabela dos níveis de maturidade do MPS BR Fonte: Promove1 (2020). A escala de maturidade inicia-se no nível G e progride até o nível A. Para cada um destes sete níveis de maturidade é atribuído um perfil de processos que indicam onde a organização deve colocar o esforço de melhoria. O progresso e o alcance de um determinado nível de maturidade do MR-MPS-SW se obtêm quando são atendidos os propósitos e todos os resultados esperados dos respectivos processos e os resultados esperados dos atributos de processo estabelecidos para aquele nível. A divisão em 7 estágios tem o objetivo de possibilitar uma implementação e avaliação adequada as micros empresas, pequenas e médias empresas. A possibilidade de se realizar avaliações considerando mais níveis também permite uma visibilidade dos resultados de melhoria de processos em prazos mais curtos. A implantação do modelo MPS-BR tem como principal benefício o melhoramento na qualidade dos produtos aumentando assim a competitividade da empresa em relação aos outros produtos da mesma linha de mercado. 1 Disponivel < https://www.promovesolucoes.com/quais-sao-os-niveis-de-maturidade-do-mps-br/ > . Consultado em 09/04/2020. https://www.promovesolucoes.com/quais-sao-os-niveis-de-maturidade-do-mps-br/ 17 4.4 IHC - Interação Humano–Computador A interação entre seres humanos e máquinas acontece através da interface do utilizador, formada por software e hardware, se unem para realizar uma tarefa especifica, visando a atingir um objetivo. O IHC (Interação humano–computador) é o estudo da interação entre seres humanos e computadores. É uma matéria interdisciplinar que relaciona a ciência da computação, artes, design, ergonomia, psicologia, sociologia, semiótica, linguística, e áreas afins. Possui objetivo de desenvolver ou melhorar a segurança, utilidade, eficácia e usabilidade de produtos interativos computacionais. A tecnologia deve ser usada sempre para maximizar as habilidades dos seres humanos, e o uso de computadores deve ser o mais simples, seguro e agradável possível. Criação de sistemas difíceis de usar pode inviabilizar o sucesso de softwares que poderiam ser bastante úteis. Os critérios definidos de qualidade em IHC, para o uso de um sistema são: • Usabilidade: facilidade de aprendizado e uso da interface, bem como a satisfação do usuário em decorrência desse uso; • Experiencia do usuário: está relacionado com os sentimentos e emoções dos usuários; • Acessibilidade: remoção das barreiras que impedem mais usuários de serem capaz de acessar a interface do sistema e interagirem com ele; • Comunicabilidade: responsabilidade de o designer comunicar ao usuário suas intenções de design e a lógica que rege o comportamento da interface. 4.4 Engenharia de Requisitos A engenharia de requisitos é um processo que engloba todas as atividades que contribuem para a produção de um documento de requisitos, pelo qual os requisitos de um produto de software são coletados, analisados, documentados e gerenciados ao longo de todo o ciclo de vida do software. 18 Antes de iniciar qualquer trabalho técnico, é uma boa ideia aplicar um conjunto de tarefas de engenharia de requisitos. Estas levam a um entendimento de qual será o impacto do software sobre o negócio, o que o cliente quer e como os usuários finais irão interagir com o software. (PRESSMAN, 2011, Pág. 126) Também de acordo com Pressman (2011, p. 127), os requisitos são na verdade uma ponte entre o projeto e a construção do sistema, é um processo que identifica as necessidades do negócio e as restrições do projeto. Ou seja, com os requisitos é possível que o desenvolvimento do sistema tenha um ponto de partida. Especificação de software ou engenharia de requisitos é o processo de compreensão e definição dos serviços requisitados do sistema e identificação de restrições relativas à operação e ao desenvolvimento do sistema. A engenharia de requisitos é um estágio particularmente crítico do processo de software, pois erros nessa fase inevitavelmente geram problemas no projeto e na implementação do sistema. O processo de engenharia de requisitos tem como objetivo produzir um documento de requisitos acordados que especifica um sistema que satisfaz os requisitos dos stakeholders. Requisitos são geralmente apresentados em dois níveis de detalhe. Os usuários finais e os clientes precisam de uma declaração de requisitos em alto nível; desenvolvedores de sistemas precisam de uma especificação mais detalhada do sistema. (SOMMERVILLE, 2011, Pág. 24). 4.5 Requisitos e Classificação dos Requisitos De acordo com Paula Filho (2000, P.13) - Os requisitos são as características que definem os critérios de aceitação de um produto. A engenharia tem por objetivo colocar nos produtos as características que são requisitos. Os Requisitos são além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com o(s) usuário(s). De forma mais geral um requisito é uma condição necessária para satisfazer um objetivo. O glossário de engenharia de software do IEEE [IEE90] define requisito como: 1. Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar um objetivo. 2. Uma condição ou capacidade que deve ser satisfeita ou possuída por um sistema ou componente do sistema para satisfazer um contrato, um padrão ou uma especificação. 3. Uma representação documentada de uma condição ou capacidade como em (1) ou (2). Existem dois tipos de classificação de requisitos: Requisitos Funcionais (RF) e Requisitos Não-Funcionais (RNF). 19 1. Requisitos Funcionais (RF): Preocupam-se com a funcionalidade e os serviços do sistema, ou seja, as funções que o sistema deve fornecer para o cliente e como o sistema se comportará em determinadas situações Requisitos funcionais. São declarações de serviços que o sistema deve fornecer, de como o sistema deve reagir a entradas específicas e de como o sistema deve se comportar em determinadas situações. Em alguns casos, os requisitos funcionais também podem explicitar o que o sistema não deve fazer. (SOMMERVILLE, 2011, Pág. 59). 2. Requisitos Não-Funcionais (RNF): Definem propriedades e restrições do sistema como tempo, espaço, linguagens de programação, versões do compilador, SGBD, Sistema Operacional, método de desenvolvimento etc . Estão divididos em três categorias: • Requisitos de Processo: Os requisitos de processo são restrições que estão relacionadas com o processo de desenvolvimento do sistema; • Requisitos de Produto: Os requisitos de produto são restrições que especificam as características desejadas que o sistema deve fornecer; • Requisitos Externos: Osrequisitos externos são restrições derivadas do local que o sistema está sendo desenvolvido. Requisitos não funcionais. São restrições aos serviços ou funções oferecidos pelo sistema. Incluem restrições de timing, restrições no processo de desenvolvimento e restrições impostas pelas normas. Ao contrário das características individuais ou serviços do sistema, os requisitos não funcionais, muitas vezes, aplicam-se ao sistema como um todo. (SOMMERVILLE, 2011, Pág. 59). 4.6 Regras de Negócios (RN) As regras de negócio (RN) são premissas e restrições aplicadas a uma operação comercial de uma empresa, que precisam ser atendidas para que o negócio funcione da maneira esperada. As regras de negócio definem como o sistema fará o atendimento às necessidades/exigências definidas. No contexto da Engenharia de Software, é tratada como um Requisito de Software, por ser algo que sem ela, o software não existe. 20 As regras de negócio (RN) definem a forma de fazer o negócio: O QUE, ONDE, QUANDO, POR QUE e COMO será feito, refletindo a política interna, o processo definido e/ou as regras básicas de comportamento de conduta, ou seja, é um conjunto de instruções que os usuários já seguem e que o sistema a ser desenvolvido deve contemplar. As restrições, validações, condições e exceções do processo são exemplos clássicos de regras de negócio. Uma regra de negócio não necessariamente será refletida no sistema como uma funcionalidade, mas ela com certeza determinará o comportamento de uma ou mais funcionalidades do sistema. As regras podem assumir muitas formas, de simples decisões booleanas a decisões que envolvem regras de lógica mais complexas. 4.7 Prototipagem Prototipação Segundo Sommerville (P.30,2011), um protótipo é uma versão inicial de um sistema de software usada para experimentar opções de projeto e descobrir mais sobre o problema e suas possíveis soluções. Tem como objetivo facilitar o entendimento dos requisitos de uma aplicação. Além disso, ela permite apresentar conceitos e funcionalidades do software de modo simplificado, é possível propor uma solução adequada para o problema do cliente, aumentando sua percepção de valor. O usuário poderá avaliar como os recursos estarão distribuídos, a organização do layout e outros itens que impactam na experiência de uso. A prototipação pode ser utilizada como aliada no processo de desenvolvimento pelo fato dos desenvolvedores poderem usá-la como parâmetro para produzir uma versão final de alta fidelidade com os requisitos levantados, ajustes poderão ser feitos no projeto para adequar às expectativas e alinhar aos objetivos , além de proporcionar aos usuários um nível de experiência com o uso do software, podendo, ao mesmo tempo, avaliar as experiências dos usuários e contribuir para a construção de um sistema interativo. Dessa forma, a qualidade final da ferramenta é otimizada. 21 4.8 Testes de Software A definição de Validação, Verificação (V&V) e Teste - abrange muitas das atividades relacionadas com a GQS - Garantia da Qualidade de Software. Validação de software ou, mais genericamente, verificação e validação (V&V), tem a intenção de mostrar que um software se adequa a suas especificações ao mesmo tempo que satisfaz as especificações do cliente do sistema. (SOMMERVILLE, 2011, Pág. 27). O teste de software é um elemento de um tópico mais amplo, muitas vezes conhecido como verificação e validação (V&V). Verificação refere-se ao conjunto de tarefas que garantem que o software implementa corretamente uma função específica. Validação refere-se a um conjunto de tarefas que asseguram que o software foi criado e pode ser rastreado segundo os requisitos do cliente. (PRESSMAN, 2011, Pág. 402) A Verificação - Fizemos o software corretamente? É uma atividade, a qual envolve a análise de um sistema para avaliar e certificar, se o que foi planejado realmente foi realizado, ou seja, se os requisitos funcionais e não funcionais documentados foram implementados. E pode ser realizada para especificação de sistemas, para avaliar se os requisitos estão sendo documentados corretamente e ainda prever falhas ou inconsistências entre requisitos. A Validação - Fizemos o software correto? A validação é a certificação de que o sistema atende as necessidades e expectativas do cliente , ou seja, se os requisitos, independente do que foi planejado, estão sendo implementados para atender a regra de negócio do cliente, se o sistema é realmente aquilo que o cliente quer e está pagando para ter. A validação final do sistema é realizada pelo próprio cliente ou usuário. O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados fictícios. Os resultados do teste são verificados à procura de erros, anomalias ou informações sobre os atributos não funcionais do programa. (SOMMERVILLE, 2011, Pág. 144). Teste é um conjunto de atividades que podem ser planejadas com antecedência e executadas sistematicamente. Por essa razão, deverá ser definido para o processo de software um modelo (template) para o teste — um conjunto de etapas no qual pode- se colocar técnicas específicas de projeto de caso de teste e métodos de teste. (PRESSMAN, 2011, Pág. 402) O Teste de Software - O software tem defeitos! É considerado uma técnica dinâmica de verificação e validação, pois o software é executado com dados de teste e seu comportamento é analisado. Diferentemente da inspeção de software ou, também chamada de 22 revisão por pares, que é considerada uma técnica estática, pois não é necessário executar o software em um computador. 4.8.1 Roteiro de Testes “Caso de Teste: conjunto de valores de entrada, pré-condições de execução, resultados esperados e pós-condições de execução, desenvolvidas para um determinado objetivo ou condição de teste.” (ISTQB®, 2018, Pág. 9) O Roteiro ou Caso de teste é uma descrição detalhada do passo a passo, da maneira de realizar testes manuais em softwares. É elaborado a partir dos documentos de especificação de um determinado caso de uso, como: especificação funcional, guia de interface e modelagem do banco de dados. Ele é importante no momento da execução dos testes, pois o testador consegue realizar uma sequência de passos de forma prática, sem a necessidade de consultar todos os documentos de especificação no momento dos testes, podendo ficar focado apenas em executar os testes. O objetivo da documentação do caso de teste é especificar e comunicar as condições específicas que precisam ser validadas para permitir uma avaliação do sistema. Um bom modelo de caso de teste mantém a consistência do artefato de teste para a equipe de teste e facilita a compreensão dos casos de teste por todas as partes interessadas. O roteiro de teste também pode ser conhecido como: projeto de teste, especificação de teste ou script de reste. 5 PROGRAMAÇÃO ORIENTADA A OBJETOS A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema e os modelos são usados para se comunicar com os clientes. Modelagem de sistema é o processo de desenvolvimento de modelos abstratos de um sistema, em que cada modelo apresenta uma visão ou perspectiva, diferente do sistema. A modelagem de sistema geralmente representa o sistema com algum tipo de notação gráfica, que, atualmente, quase sempre é baseada em notações de UML (linguagem de modelagem unificada, do inglês Unified Modeling Language). (SOMMERVILLE, 2011, pag.96). 23 O desenvolvimento de software é extremamente amplo. No mercado atual, existem diversas linguagens de programação, que seguem diferentes paradigmas. Um desses paradigmas é a Orientação a Objetos, que consiste na construção de módulos independentes ouobjetos que podem ser facilmente substituídos, modificados e reutilizados. Um sistema orientado a objetos é composto de objetos interativos que mantêm seu próprio estado local e oferecem operações nesse estado. A representação do estado é privada e não pode ser acessada diretamente, de fora do objeto. Processos de projeto orientado a objetos envolvem projetar as classes de objetos e os relacionamentos entre essas classes. Essas classes definem os objetos no sistema e suas interações. Quando o projeto é concebido como um programa em execução, os objetos são criados dinamicamente a partir dessas definições de classe. Sistemas orientados a objetos são mais fáceis de mudar do que os sistemas desenvolvidos com abordagens funcionais. (SOMMERVILLE, 2011, pag.139) A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como Java, C#, Python e C++. Cada uma delas possui uma abordagem diferente do problema que as torna muito boas para alguns tipos de aplicações e não tão boas para outros. É caracterizada pela representação de cada elemento em classes e objetos. Esse tipo de representação procura aproximar o sistema que está sendo criado ao que é observado no mundo real, e um objeto contém características e ações, assim como vemos na realidade. Os pilares da Programação Orientada a Objetos (POO): • Classes são espécies de montadoras de objetos, que definem suas características como, quais funções são capazes de realizar e quais os atributos que o objeto possui. Essa forma de programar permite ao usuário resolver problemas utilizando conceitos do mundo real. • Objeto é uma instancia gerada a partir de uma classe. Um objeto é identificado a partir dos métodos e dos atributos que possui. • Abstração: consiste em um dos pontos mais importantes dentro de qualquer linguagem Orientada a Objetos. Como estamos lidando com uma representação de um objeto real (o que dá nome ao paradigma), temos que imaginar o que esse objeto irá realizar dentro de nosso sistema. São três pontos que devem ser levados em consideração nessa abstração: identidade, propriedades e métodos; • Encapsulamento: é o ato de esconder do usuário os processos internos de um objeto, classe ou método. É uma das principais técnicas que define a 24 programação orientada a objetos. Se trata de um dos elementos que adicionam segurança à aplicação em uma programação orientada a objetos pelo fato de esconder as propriedades, criando uma espécie de caixa preta. • Herança: O reuso de código é uma das grandes vantagens da programação orientada a objetos. Muito disso se dá por uma questão que é conhecida como herança. Essa característica otimiza a produção da aplicação em tempo e linhas de código. • Polimorfismo: Outro ponto essencial na programação orientada a objetos é o chamado polimorfismo. Na natureza, vemos animais que são capazes de alterar sua forma conforme a necessidade, e é dessa ideia que vem o polimorfismo na orientação a objetos. Como sabemos, os objetos filhos herdam as características e ações de seus “ancestrais”. Entretanto, em alguns casos, é necessário que as ações para um mesmo método sejam diferentes. Em outras palavras, o polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai. 5.1 Linguagem de Modelagem de Sistemas - UML (Unified Modeling Language – linguagem de modelagem unificada) UML (Unified Modeling Language – linguagem de modelagem unificada) é “uma linguagem-padrão para descrever/documentar projeto de software. A UML pode ser usada para visualizar, especificar, construir e documentar os artefatos de um sistema de software- intensivo” (BOOCH; RUMBAUGH; JACOBSON, 2005). Ela surgiu em 1994 da fusão de três grandes métodos de modelagem: o método de Booch, o método OMT (Object Modeling Technique) de Jacobson, e o método OOSE (Object- Oriented Software Engineering) de Rumbaugh. A UML permite que você "desenhe" uma "planta" do seu sistema. Não é um método de desenvolvimento, é uma linguagem de modelagem única, comum e amplamente utilizável, que possui como objetivos: • Auxiliar na análise e desenvolvimento de sistemas orientados a objetos, computacionais ou não; 25 • Aumentar a produtividade; • Otimizar as etapas que envolvem o desenvolvimento de um sistema, aumentando assim a qualidade do produto a ser implementado. Ela independe da ferramenta em que o aplicativo será desenvolvido. A ideia e prover uma visão lógica de todo o processo de forma a facilitar a implementação física do mesmo. O objetivo então é descrever "o que fazer", "como fazer", "quando fazer" e "porque deve ser feito". É necessária a elaboração completa de um dicionário de dados, para descrever todas as entidades envolvidas, refinando, com isso, os requisitos funcionais de um aplicativo ou projeto de software. A UML é composta de vários tipos de diagramas que são usados para demonstrar, graficamente, o funcionamento do sistema. Conforme o UML ORG, possui catorze tipos de diagramas, divididos em duas grandes categorias: Estruturais (7 diagramas) e comportamentais (7 diagramas). Os diagramas de estrutura servem para representar a parte estática de um sistema de software. São eles: Diagrama de Classes, Diagrama de Objetos, Diagrama de Componentes, Diagramas de Instalação, Diagramas de Pacotes e Diagramas de Estrutura Composta. Os diagramas comportamentais servem para representar a parte dinâmica de um sistema de software. São eles: Diagrama de Caso de Uso, Diagrama de Sequência, Diagrama de Estados, Diagrama de Atividades e Diagrama de Comunicação 6 PROJETO DE DESENVOLVIMENTO Roteiro de documentação de especificação de requisitos para um sistema de reservas de equipamentos multimidia para uma instituição educacional. 6.1 Introdução Este documento especifica os requisitos do “Sistema de Reservas de Equipamentos Multimidias do Colégio Vencer Sempre”, fornecendo aos projetistas e desenvolvedores as informações necessárias para o projeto e implementação e também como o sistema deve se 26 comportar informando os passos que devem ser efetuados para a realização dos testes e homologação do sistema. 6.2 Escopo do Produto O sistema tem como objetivo agilizar e auxiliar no gerenciamento das reservas de equipamentos multimidias e recursos de apoio aos professores e dos demais colaboradores que necessitem utilizar os recursos mencionados. 6.3 Visão Geral do Documento Este documento apresenta uma descrição geral do sistema, e logo em seguida descreve suas funcionalidades especificando as entradas e saídas para todos os requisitos funcionais. Faz também uma descrição sucinta dos requisitos não funcionais contidos neste sistema. 6.4 Descrição Geral O Sistema de Reserva de Equipamentos Multimidias é um sistema local que pode ser locado na Internet, que roda nos diversos navegadores (browsers) de internet existentes. O Sistema atenderá toda a demanda de reserva sem gerar conflito de 2 professores reservarem o mesmo equipamento. A grande melhoria como mencionado acima, é a agilidade e facilidade que o sistema de Reserva fará por ser Web e de fácil acesso via qualquer computador e porque não Smartphone e Tablets. 6.5 Requisitos do Sistema As definições utilizadas neste documento para estabelecer a prioridade dos requisitos, foram adotadas as denominações: • Essencial: são requisitos sem qual o sistema não entra em funcionamento. São requisitos imprescindíveis, que têm que ser implementados impreterivelmente. 27 • Importante: são requisitos sem qual o sistema entra em funcionamento, mas de forma não satisfatória. Requisitos importantes devem ser implementados, mas, se não forem, o sistema poderá ser implantado e usado mesmo assim. • Desejável: são requisitos que não comprometeas funcionalidades básicas do sistema, isto é, o sistema pode funcionar de forma satisfatória sem ele. Podem ser deixados para versões posteriores do sistema, caso não haja tempo hábil para implementá-los na versão que está sendo especificada. Abreviações: • RF: requisito funcional; • RNF: requisito não funcional; • RN: Regra de Negócio. 6.5.1 Requisitos Funcionais Requisito [RF001] Título Cadastro de Usuário Descrição O Professor deverá se cadastrar como usuário do sistema do Departamento Multimidia. Entrada Informar Nome de usuário, E-mail e senha. Processo O acesso ao sistema é feito pelo website do Colégio Vencer Sempre, acesse http://www.colegiovencersempre.edu.br. Na página de acesso, o novo usuário deverá preencher o formulário, localizado no lado direito da página e clicar no botão Cadastre. Após a inserção e confirmação dos dados, o sistema envia uma envia uma mensagem com instruções para validar o cadastro da conta. O cadastro será incluído no banco de dados. Saída Mensagem de confirmação bem sucedido do cadastro caso tenha sido efetuado com sucesso, senão, mensagem de erro. Prioridade Essencial Requisito [RF002] Título Usuário Administrador Descrição O sistema deve conter um usuário do Tipo Administrador, que será responsável administração dos cadastros de usuários, de inclusão de salas, pelos cadastros de equipamentos, geração de relatórios e pela definição de permissões. Entrada Nome de usuário, E-mail e senha. Processo O cadastro será incluído no banco de dados. Saída Mensagem de confirmação bem sucedido do cadastro caso tenha sido efetuado com sucesso, senão, mensagem de erro. Prioridade Essencial 28 Requisito [RF003] Título Consultar Reserva Descrição O sistema deve permitir que qualquer pessoa possa consultar as reservas feitas. Na tela principal do sistema ao acessar irá listar os agendamentos existentes naquele dia, na lateral esquerda irá apresentar um Calendário para consultar outras datas. Entrada Selecionar no calendário o mês e data Processo Verificação no Banco de dados das reservas existentes para aquele período selecionado Saída O sistema listará as reservas do período selecionado. Prioridade Essencial Requisito [RF004] Título Registrar a Reserva Descrição O Usuário deverá registrar a Reserva utilizando o Calendário e clicando no botão Reservar. Entrada Selecionar no calendário o mês e data e clicar no botão Reservar Processo O Usuário deverá registrar a Reserva clicando primeiro na data desejada no calendário, localizado no lado esquerda da tela, e após através do botão "Reservar”, localizado no canto superior direito da tela principal. Saída O Sistema irá direcionar para Nova Reserva Prioridade Essencial Requisito [RF005] Título Nova Reserva -1º Etapa - Horário Descrição O Sistema deve oferecer as opções dos Períodos de Reservas: Manhã, tarde ou Noite. O usuário deverá definir o período de reserva. Entrada Selecionar qual período irá precisar do equipamento e clicar no botão avançar Processo Será exibida os Períodos de Reservas: Manhã, Tarde ou Noite Saída O sistema listará os períodos definidos pelos usuários. Prioridade Essencial Requisito [RF006] Título Nova Reserva - 2º Etapa - Equipamentos Descrição Nesta etapa o usuário irá selecionar os equipamentos que deseja reservar. Entrada Selecionar Equipamentos Processo 1 - Escolha o Tipo de Equipamento 2 - Serão exibidos os equipamentos disponíveis naquele tipo. 3 - Clique no sinal de + ao lado de um equipamento para colocá-lo na sua reserva. 3.1 - Clique no sinal de para remover equipamentos da sua reserva. 4 - Repita estes procedimentos para adicionar outros equipamentos 5 - Clique em avanças quando tiver com os equipamentos desejados na lista de selecionados. Saída O sistema listará os equipamentos selecionados pelo usuário do Sistema. 29 Prioridade Essencial Requisito [RF007] Título Nova Reserva - 3º Etapa - Local Descrição Nesta etapa o usuário irá selecionar onde os equipamentos deverão ser instalados. Entrada Selecionar Local de Utilização dos Equipamentos e Curso Processo 1 - Selecione o local onde os Equipamentos devem ser instalados. 2 - Informe os cursos que está relacionado com a reserva 3 - Caso seja necessário, adicione outras informações no campo de Observações. 4 - Clique no botão RESERVAR AGORA para confirmar a sua reserva. Saída O sistema deverá apresentar os locais disponíveis e cursos que já foram previamente cadastrados. Prioridade Essencial Requisito [RF008] Título Nova Reserva - 4º Etapa - Confirmação da Reserva Descrição Nesta etapa o usuário já concluiu o processo e tem os dados da reserva Entrada Recibo Reserva Processo O Recibo da Reserva poderá ser enviado por e-mail ou impresso. Saída O sistema irá exibir a mensagem que a Reserva foi realizada com sucesso e exibirá as informações em tela. Prioridade Essencial Requisito [RF009] Título Cancelamento da Reserva Descrição O Usuário poderá realizar o cancelamento de suas reservas. O usuário somente conseguirá cancelar reservas que ele mesmo efetuou. Não será possível realizar cancelamentos das reservas de outros usuários. Entrada Cancelamento Processo 1 - Selecione no Calendário o mês e dia para listar as reservas 2 - A reserva do Usuário estará destacada na cor "Vermelha" 3 - Clique no botão "Cancelar Reservar" Saída Exibirá mensagem Cancelamento de Reserva Registrado com sucesso! Prioridade Essencial 6.5.2 Requisitos Não Funcionais Requisito Tipo Título Descrição Prioridade [RNF01] Requisitos de Processo Processo de Desenvolvimento O processo RUP será utilizado como metodologia de desenvolvimento do sistema. Essencial 30 [RNF02] Requisitos de Processo Linguagem de Programação A interface web do sistema será desenvolvida com uso de JSP (Java Server Pages), enquanto o restante do sistema será desenvolvido utilizando a linguagem de programação Java. Essencial [RNF03] Requisitos de Processo Banco de Dados O sistema deverá utilizar um banco de dados gratuito. Essencial [RNF04] Requisitos de Produto Performance - Tempo de Resposta O sistema deverá responder às requisições dos usuários em um tempo não superior a 20 segundos. Todos os relatórios devem ser gerados em menos de 5s Importante [RNF05] Requisitos de Produto Performance - Concorrência O sistema deverá suportar a carga de até 50 acessos simultâneos. Essencial [RNF06] Requisitos de Produto Desempenho Embora não seja um requisito essencial ao sistema, deve ser considerada por corresponder a um fator de qualidade de software. Importante [RNF07] Requisitos de Produto Segurança - Confidencialidade Para terem acesso às funcionalidades do sistema, os usuários cadastrados deverão possuir login e senha. Deverá haver uma política de segurança que assegure que, a cada mês, a senha de cada um dos usuários citados expire e precise ser renovada. Essencial [RNF08] Requisitos de Produto Segurança - Disponibilidade O sistema deverá estar disponível 24 horas por dia. Importante [RNF09] Requisitos de Produto Usabilidade - Acesso O sistema deve ter alta portabilidade, devendo ser visualizado por qualquer browser da web. Essencial [RNF10] Requisitos de Produto Usabilidade - Ajuda online O sistema deverá prover ajuda online aos usuários. Importante [RNF11] Requisitos de Produto Usabilidade - Mensagem de Erro Caso um usuário acesse alguma funcionalidade de maneira indevida, a mensagem de erro exibida pelo sistema deverá ser construtiva e objetiva. Com isso, o usuário saberá como proceder e não terá dificuldades no uso desta funcionalidade. Essencial [RNF12] Requisitos de Produto Usabilidade - Interface como Usuário O sistema deverá prover uma interface com o usuário que seja intuitiva, prática e fácil de usar. O Sistema deve ter uma alta usabilidade, uma vez que será utilizado por todos os professores, com diferentes graus de conhecimentos em informática. Importante [RNF13] Requisitos Externos Tempo de Desenvolvimento O tempo gasto com o desenvolvimento do sistema não deverá ser maior que 4 meses e 12 dias, ou seja, não deverá superar em 10% o tempo estimado no Estudo de Viabilidade. Essencial [RNF14] Requisitos Externos Custo O custo de desenvolvimento e manutenção do sistema não poderá exceder o valor de R$ 12.000,00 estimado no Estudo de Viabilidade. Essencial 6.5.3 Regras de Negócio Requisitos Descrição 31 [RN01] O sistema não deverá permitir efetuar a reserva do mesmo equipamento na mesma data e horário. [RN02] O sistema não deverá permitir excluir um equipamento cadastrado. [RN03] Para que o funcionário possa efetuar o login no sistema ele precisa estar ativo [RN04] O sistema deverá exibir as opções de calendário diário, semanal e mensal para a agenda de reservas. [RN05] O sistema deve apresentar os dados das reservas já efetuadas para cada horário da agenda. [RN06] Disponibilidade para todos: Para realizar a consulta o sistema deve ter uma base de acesso para todos os usuários para realizar consulta, sem precisar de acesso de user e senha para tal procedimento. 6.6 Telas do Sistema Serão apresentadas algumas das telas do sistema da forma que o usuário irá visualizar graficamente para utilização. Para ilustrar o sistema que foi desenvolvido, serão apresentadas algumas telas como: listagem de reservas feitas, tela de reserva e escolha de equipamentos. 6.6.1 Tela Principal – Acesso O acesso ao sistema é feito pelo website do Colégio Vencer Sempre, acesse http://www.colegiovencersempre.edu.br. Na página de acesso, o novo usuário deverá preencher o formulário, localizado no lado direito da página e clicar no botão Cadastre. Após a inserção e confirmação dos dados, o sistema envia uma envia uma mensagem com instruções para validar o cadastro da conta. 32 Figura 01 - Tela Principal – Acesso Fonte: Elaborado pelo autor (2020). 6.6.2 Menu Opções Na figura 02 será apresentado o Menu de Opções na lateral esquerda, com a opção de Reservas Multimidias. Figura 02 – Home – Menu Opções Fonte: Elaborado pelo autor (2020). 33 6.6.3 Tela de Consultas de Reservas Na figura 03 aparecem os horários já reservados, com a data, nome do professor, sala, turno. Pode-se ainda cancelar a reserva. Figura 03 – Consultas Reservas Fonte: Elaborado pelo autor (2020). 6.6.4 Tela Nova Reserva - 1º Etapa Data e Horário Na figura 04 serão escolhidas as informações para efetuar a reserva como: data, período e definir o horário. Figura 04 – Nova Reserva - 1º Etapa Data e Horário Fonte: Elaborado pelo autor (2020). 34 6.6.5 Tela Nova Reserva - 2º Etapa Equipamentos Na figura 05 serão escolhidos os tipos de equipamentos. Figura 05 – Nova Reserva – 2º Etapa Equipamentos Fonte: Elaborado pelo autor (2020). 6.6.6 Nova Reserva – 3º Etapa Local Na figura 06 serão escolhidos o local de instalação dos equipamentos e o curso. Figura 06 – Nova Reserva – 3º Etapa Local Fonte: Elaborado pelo autor (2020). 35 6.6.7 Nova Reserva – 4º Etapa Confirmação Na figura 07 será exibida a mensagem de reserva e terá a opção de impressão ou enviar por e-mail. Figura 07 – Nova Reserva – 4º Etapa Confirmação Fonte: Elaborado pelo autor (2020). 6.6.8 Roteiro de Testes Nome do Projeto SISTEMA DE RESERVAS DE EQUIPAMENTOS AUDIOVISUAIS CASO DE TESTE Título do teste: Teste a funcionalidade de cadastro de login usuário Descrição: Verificar se está cadastrando o usuário corretamente e gravando no banco de dados Procedimento Inicial: Acessar a URL http://www.colegiovencersempre.edu.br. ID Etapas do Teste Dados de teste Resultado esperado 1 Navegue até a opção Ainda não tem conta? O acesso ao sistema é feito pelo website do Colégio Vencer Sempre, acessar a URL - http://www.colegiovencersempre.edu.br. Acessar a página 36 2 Informe seu nome completo Exemplo: João da Silva O usuário consiga digitar seu nome 3 Forneça e-mail válido Usuário = exemplo@gmail.com Consiga digitar o endereço de e- mail 4 Fornecer senha válida Senha: 1234 Consiga digitar a senha 5 Clique no botão Cadastre Registro salvo no banco de dados Título do teste: Teste a funcionalidade de login Descrição: Verificar login com nome de usuário e senha válidos Procedimento Inicial: acessar a URL <xxxxx> com usuário e senha cadastrado ID Etapas do Teste Dados de teste Resultado esperado 1 Navegue até a página de login O acesso ao sistema é feito pelo website do Colégio Vencer Sempre, acessar a URL http://www.colegiovencersempre.edu.br. O usuário deve poder fazer o login 2 Forneça um nome de usuário válido Usuário = exemplo@gmail.com Credencial pode ser inserido 3 Fornecer senha válida Senha: 1234 Credencial pode ser inserido 4 Clique no botão Login Usuário logado Título do teste: Teste a funcionalidade Consulta de Reservas Descrição: Verificar se o usuário está conseguindo realizar as consultas Procedimento Inicial: Acessar a URL <xxxxx> com usuário e senha cadastrado. Usuário deverá estar logado. ID Etapas do Teste Dados de teste Resultado esperado 1 Na tela principal no Menu de Opções a Esquerda, selecione a opção de Reservas Multimidias > Consultas Acesso a página de Consultar da Agenda das Reservas 2 Verificação no Banco de dados das reservas existentes para aquele período selecionado 1 - Selecione no Calendário o mês e dia para listar as reservas O sistema listará as reservas do período selecionado Título do teste: Teste a funcionalidade Registrar a Reserva mailto:example@gmail.com mailto:example@gmail.com 37 Descrição: Verificar se o usuário está conseguindo acessar o módulo de registro de reservas e registrar sua reserva Procedimento Inicial: Acessar a URL <xxxxx> com usuário e senha cadastrado. Usuário deverá estar logado. ID Etapas do Teste Dados de teste Resultado esperado 1 Na tela principal no Menu de Opções a Esquerda, selecione a opção de Reservas Multimidias > Reservas Acesso a página de Inclusão de Nova Reserva 2 Selecionar no calendário o mês e data O Usuário deverá registrar a Reserva clicando primeiro na data desejada no calendário, localizado no lado esquerda da tela, e após através do botão "Reservar”, localizado no canto superior direito da tela principal. O Usuário deverá ser direcionado para Nova Reserva 3 1º Etapa - Horário Selecionar qual período irá precisar do equipamento Será exibida os Períodos, selecionar e clicar no botão avançar Deverá apresentar em tela a lista dos períodos cadastrados e selecionados pelo usuário. 4 2º Etapa – Equipamentos - Nesta etapa o usuário irá selecionar os equipamentos que deseja reservar. 1 - Escolha o Tipo de Equipamento 2 - Serão exibidos os equipamentos disponíveis naquele tipo. 3 - Clique no sinal de + ao lado de um equipamento para colocá- lo na sua reserva. 3.1 - Clique no sinal de para remover equipamentos da sua reserva. 4 - Repita estes procedimentos para adicionar outros equipamentos 5 - Clique em avanças quando tiver com os equipamentos desejados na lista de selecionados. Deverá apresentar em tela a lista dos equipamentos selecionados pelo usuário. 5 3º Etapa – Local - Nesta etapa o usuário irá selecionar onde os equipamentos deverão ser instalados. 1 - Selecione o local onde os Equipamentos devem ser instalados. 2 - Informe os cursos que estárelacionado com a reserva 3 - Caso seja necessário, adicione outras Deverá apresentar em tela a lista dos locais disponíveis e cursos 38 informações no campo de Observações. 4 - Clique no botão RESERVAR AGORA para confirmar a sua reserva. 6 4º Etapa - Confirmação da Reserva - Nesta etapa o usuário já concluiu o processo e tem os dados da reserva O usuário poderá realizar a visualização do Recibo da Reserva. O Recibo da Reserva poderá ser enviado por e- mail ou impresso. Através dos ícones da Impressora e E-mail. Envio do Recibo por e-mail ou impressão. Título do teste: Teste a funcionalidade de Cancelamento da Reserva Descrição: Verificar se está o usuário consegue cancelar Procedimento Inicial: Acessar a URL <xxxxx> com usuário e senha cadastrado. Usuário deverá estar logado. ID Etapas do Teste Dados de teste Resultado esperado 1 Na tela principal no Menu de Opções a Esquerda, selecione a opção de Reservas Multimidias > Consultas Acesso a página de Consultar da Agenda das Reservas 2 Verificação no Banco de dados das reservas existentes para aquele período selecionado 1 - Selecione no Calendário o mês e dia para listar as reservas O sistema listará as reservas do período selecionado 3 Cancelamento 1 - A reserva do Usuário estará destacada na cor "Vermelha" 2 - Clique no botão "Cancelar Reservar" Exibirá mensagem Cancelamento de Reserva Registrado com sucesso! 6.7 Levantamento de Custos e Análise de Viabilidade Econômica A Viabilidade econômica é análise entre o custo de desenvolvimento e os benefícios após implementação do projeto (custo-benefício). O estudo de viabilidade acontece após a especificação de requisitos de negócio, ou seja, é o segundo passo do processo de engenharia de requisitos. 39 Custo Estimado para Desenvolvimento do Sistema de Reservas Despesas Fixas Mensais Item 1 Qtd. Valor Unitário (R$) Valor Total (R$) Salário Programadores 2 R$ 3.000,00 R$ 6.000,00 Salário Designer 1 R$ 1.000,00 R$ 1.000,00 Salário Analista de Sistemas 1 R$ 2.500,00 R$ 2.500,00 Aluguel 1 R$ 500,00 R$ 500,00 Energia 1 R$ 160,00 R$ 160,00 Água 1 R$ 30,00 R$ 30,00 Telefone/Internet 1 R$ 200,00 R$ 200,00 Material de Escritório 1 R$ 100,00 R$ 100,00 Material de Limpeza 1 R$ 100,00 R$ 100,00 Manutenção Limpeza 1 R$ 200,00 R$ 200,00 Total R$ 10.790,00 ***(Os Salários acima incluem Encargos Sociais) Fonte: Elaborado pelo autor (2020). Hardware e Software Item 1 Qtd. Valor Unitário (R$) Valor Total (R$) Hardware 2 R$ 1.650,00 R$ 3.300,00 Sistema Operacional 2 R$ 600,00 R$ 1.200,00 Ferramentas de desenvolvimento 2 R$ 600,00 R$ 1.200,00 Ferramentas de Modelagem 1 R$ 2.500,00 R$ 2.500,00 Total R$ 8.200,00 Custo Anual (20% do Total) R$ 1.640,00 Custo mensal R$ 136,67 Fonte: Elaborado pelo autor (2020). Custos Totais no Período de Desenvolvimento Mês Valor Total (R$) Mês 1 R$ 4.967,00 Mês 2 R$ 4.967,00 Total R$ 9.934,00 Fonte: Elaborado pelo autor (2020). Treinamento Mês Valor Total (R$) Treinamento 1 Mês R$ 800,00 Visita Manutenção R$ 100,00 Total R$ 900,00 Fonte: Elaborado pelo autor (2020). 40 Custo Total Periodo Valor Total (R$) 1º Ano R$ 10.734,00 Custos do Desenvolvimento + Investimentos + Treinamento 2º Ano R$ 1.200,00 Manutenção Mensal 3º Ano R$ 1.200,00 Manutenção Mensal 4º Ano R$ 1.200,00 Manutenção Mensal 5º Ano R$ 1.200,00 Manutenção Mensal Total R$ 15.534,00 Fonte: Elaborado pelo autor (2020). Análise de Retorno do Investimento - Valores em Reais (R$) Taxa mínima ret. Inv. = 8% Ano 1 Ano 2 Ano 3 Ano 4 Ano 5 Custos de Desenvolvimento -9.934,00 0,00 0,00 0,00 0,00 Custos de Operação e Manutenção -800,00 -1.200,00 -1.200,00 -1.200,00 -1.200,00 Fator de Desconto (8%) 1,00% 0,93% 0,86% 0,79% 0,74% Custos Corrigidos -10734,00 -1111,11 -1028,81 -952,60 -882,04 Custos Acumulados -10734,00 -11845,11 -12873,92 -13826,52 -14708,55 Benefícios do Sistema 6200,00 6200,00 6200,00 6200,00 6200,00 Fator de Desconto (8%) 1,00% 0,93% 0,86% 0,79% 0,74% Benefícios Corrigidos 6200,00 5740,74 5315,50 4921,76 4557,19 Benefícios Acumulados 6200,00 11940,74 17256,24 22178,00 26735,19 Resultado Acumulado (Valor Atual Líquido) -4534,00 95,63 4382,32 8351,48 12026,63 Retorno de Investimento ROI = (retorno - investimento) /investimento 81,77% Período de Retorno (Payback) 2,65 Fonte: Elaborado pelo autor (2020). Gráfico 01 – Análise de Viabilidade Econômica Fonte: Elaborado pelo autor (2020). -10000,00 0,00 10000,00 20000,00 1 2 3 4 5 Analise de Viabilidade Economica Resultado Acumulado Retorno de Investimento ROI = (retorno - investimento)/investimento Período de Retorno (Payback) 41 7 CONCLUSÃO O sistema desenvolvido para controle de reserva de equipamentos multimidias e salas teve como intuito fornecer aos usuários do sistema a possibilidade de efetuar a reserva via internet de uma forma integrada e bem organizada. Com isso pretendeu-se prover, através da informatização da agenda de reserva, os meios para que a instituição reduza custos com materiais, melhorando a qualidade do serviço e otimização dos processos internos. Este projeto ajudou a melhorar o conhecimento no processo de análise e desenvolvimento de sistemas, compreender que o processo de criação de uma solução informatizada para um colégio ou qualquer outro tipo de empresa é um processo complexo, pois exigem conhecimento, muita informação, documentação e planejamento para decisões adequadas. O desenvolvimento de sistemas utilizando as metodologias da engenharia de software, possibilita visualizarmos um panorama de todas as etapas do projeto, permitindo a inserção de pontos de controle onde é necessário, melhorando a qualidade do que está sendo projetado. O ato de efetuar testes em tudo que construímos e usamos é algo natural do ser humano, isso porque temos um instinto natural de saber se as coisas funcionam corretamente. O processo de testar tem se mostrado ao longo dos séculos a maneira mais eficiente de verificar se algo está se comportando de forma correta. Produtos de software não fogem a esta regra. Isso porque mesmo o sistema que foi minunciosamente projetado e construído não está livre de apresentar falhas, defeitos e erros. Com o referencial teórico foi possível aprofundar o conhecimento para o estudo de caso permitindo assim, que os objetivos propostos fossem realmente alcançados. 42 8 REFERÊNCIAS BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. The Unified Modeling Language User Guide. 2. ed.: Addison-wesley, 2005. GONÇALVES, Robson Neves. ESTUDO COMPARATIVO ENTRE O PMBOK E OS MÉTODOS ÁGEIS APLICADOS AO: GERENCIAMENTO DE PROJETOS DE SOFTWARE. 2018. 62 f. TCC (Graduação) - Curso de Mba em Gerenciamento de Projetos, Fundação Getúlio Vargas, Salvador, 2018. Disponível em: <https://www15.fgv.br/network/tcchandler.axd?tccid=8000>. Acesso em: 04 Abril 2020. IEEE 1028. IEEE standard for software reviews and audits. EUA: Institute of Electrical Electronic Engineers Standards, 2008. INSTITUTE, Project Management. Um Guia do Conhecimento em Gerenciamento de Projetos (Guia PMBOK® – 6ª. Edição.). Brasil: Project Management Institute - Pmi, 2018. 756 p. ISTQB®, International Software Testing Qualifications Board. Glossário de Termos de Teste de Software. Brasil: Bstqb, 2018. Tradução realizada pela WG Tradução do BSTQB da versão 3.2 do ISTQB Glossary of Testing Terms. Disponível em: https://www.bstqb.org.br/uploads/glossario/glossario_ctfl_3.2br.pdf. Acesso em: 08 abr. 2020. IVO, Olavo. Linguagem e Técnicas de Programação. São Paulo: Unip, 2014. Livro Texto. MARCHIORI, Patricia Zeni. A ciência da informação: compatibilidade no espaço profissional. Caderno de Pesquisas emAdministração, São Paulo, v.9, n.1, p.91-101, jan./mar, 2002. MENDES, Carlos Magno et al. Introdução à economia. 2015. 186 f. TCC (Graduação) - Curso de Bacharelado em Administração Pública, Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – Capes, Universidade Aberta do Brasil – Uab, Florianópolis, 2015. Disponível em: https://educapes.capes.gov.br/bitstream/capes/401353/1/introducao_a_economia-3ed- miolo-online-atualizado.pdf. Acesso em: 02 abr. 2020. MENDES, Judas Tadeu Grassi. Economia Fundamentos e aplicações. 2. ed. São Paulo: Pearson Prentice Hall, 2004. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Loader/1090/pdf. Acesso em: 01 abr. 2020. PAULA FILHO, Wilson de Pádua. Engenharia de Software: fundamentos, métodos e padrões. São Paulo: LTC, 2000. PETERS, JAMES F. et al. Engenharia de Software, Rio de Janeiro, Ed. Campus,2002. PMI. PMBOK - Um Guia do Conhecimento em Gerenciamento de Projetos (Guia PMBoK®) / Project Management Institute - PMI. 5.ed. São Paulo: Saraiva, 2014. PRESSMAN, Roger S.. Engenharia de Software: Uma Abordagem Profissional. 7. ed. Porto Alegre: Amgh, 2011. 43 project of the IEEE Computer Society Professional Practices Committee. Disponível em: <http://www.swebok.org/>. Acesso em 07 de abril de 2020. RAMOS, Eliane; GHODDOSI, Nader. GERENCIAMENTO DE PROJETOS DE SOFTWARE: Gerenciamento tradicional versus gerenciamento ágil. 2016. Disponível em: <https://publicacao.uniasselvi.com.br/index.php/TI_EaD/article/view/1615/744>. Acesso em: 08 de abril de 2020. RIBEIRO, André Luiz Dias; ARAKAKI, Reginaldo. Gerenciamento de Projetos Tradicional x Gerenciamento de Projetos Ágil: Uma análise comparativa. 3º Congresso Internacional de Gestão de Tecnologia e Sistemas de Informação e 11th World Continuos Auditing Conference. São Paulo, 2006. SANTANA, Márcio Antoni; BARALHAS, Carla Batista. Ética e legislação profissional. São Paulo: Editora Sol, 2015. 188 p. (Série Didática). Este volume está publicado nos Cadernos de Estudos e Pesquisas da UNIP. SOFTEX. Guia Geral MPS de Software: mps.br - melhoria de processo do software brasileiro. Brasil: Softex, 2012. Disponível em: https://www.softex.br/wp- content/uploads/2013/07/MPS.BR_Guia_Geral_Software_2012-c-ISBN-1.pdf. Acesso em: 07 abr. 2020 SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011. STAIR, Ralph M.; REYNOLDS, George W.. Princípios de sistemas de informação: uma abordagem gerencial. 6. ed. Tradução Flávio Soares Corrêa da Silva, Giuliano Mega e Igor Ribeiro Sucupira. São Paulo: Pioneira Thomson Learning, 2006. SWEBOK. GUIDE TO THE SOFTWARE ENGINEERING BODY OF KNOWLEDGE. 2004 version. Project of the ieee computer society professional practices committee. Disponível em: <http://www.swebok.org/>. Acesso em: 07 abr. 2020. VASCON CELOS, Alexandre Marcos Lins de; ROUILLER, Ana Cristina; Teresa Maria Maciel de; MACHADO, Cristina Ângela Filipak. INTRODUÇÃO À ENGENHARIA DE SOFTWARE E À QUALIDADE DE SOFTWARE. 2006. 163 f. Monografia (Especialização) - Curso de Curso de Pós graduação “lato Sensu” (especialização) À Distância Melhoria de Processo de Software, Universidade Federal de Lavras - Ufla, Lavras - Mg, 2006. Disponível em: <http://www.facape.br/jocelio/es/apostilas/Mod.01.MPS_Engenharia&QualidadeSoftware_V. 28.09.06.pdf>. Acesso em: 10 nov. 2019.
Compartilhar