Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMA DE ENSINO PRESENCIAL CONECTADO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS FELIPE DA SILVA SANTANA TREETORAH: Sistema de Controle de Reflorestamento Itaberaba - Ba 2018 FELIPE DA SILVA SANTANA Itaberaba - Ba 2018 TREETORAH: Sistema de Controle de Reflorestamento Trabalho apresentado ao Curso de Análise e Desenvolvimento de Sistemas da Universidade Pitágoras Unopar, como requisito parcial para a obtenção de média semestral nas disciplinas de Análise Orientada a Objetos II, Banco de Dados II, Programação Web I e Programação Orientada a Objetos. Orientador: Prof. Iolanda Sanches Catarino; Roberto Nishimura; Adriano Sepe; e Anderson Macedo. SUMÁRIO 1 INTRODUÇÃO.......................................................................................................3 2 DESENVOLVIMENTO...........................................................................................4 2.1 ENGENHARIA DE SOFTWARE........................................................................4 2.1.1 Análise e Projeto.............................................................................................4 2.1.1.1 Diagrama de Casos de Uso............................................................................5 2.1.1.2 Diagrama de Classes.....................................................................................6 2.1.1.3 Diagrama de Atividades..................................................................................7 2.1.1.4 Projeto de Banco de Dados..........................................................................10 2.1.1.4.1 Processo de Normalização de Dados.......................................................11 2.1.2 Implementação.............................................................................................12 2.1.2.1 Ambiente de Desenvolvimento.......................................................................12 3 CONCLUSÃO......................................................................................................15 REFERÊNCIAS...........................................................................................................16 1 INTRODUÇÃO A TreeTorah é uma indústria de papéis que se preocupa inteiramente com o meio ambiente. Uma das principais matérias-primas do processo de produção do papel é a madeira. Portanto, para conscientização de todos, em conjunto com o Ministério do Meio Ambiente foi elaborado um treinamento focado na importância da sustentabilidade. Conforme o código florestal de 1965, por meio da Lei Federal 4.771, determina a obrigatoriedade do reflorestamento para pessoas, físicas ou jurídicas, que consumam de matéria-prima florestal, como a madeira e seus derivados. Segundo a legislação, pode-se fazer a reposição florestal de duas formas: plantio próprio - ou seja, a mesma pessoa que recolhe é a mesma responsável pelo reflorestamento; e o recolhimento de valor-árvore - que consiste em terceirizar o processo através de associações de reflorestamento devidamente regulamentadas. Tendo em vista as informações acima apresentadas, foi proposto o projeto e desenvolvimento de um sistema da informação com o objetivo de controle e mapeamento de reflorestamentos. Durante o processo, serão aplicadas e desenvolvidas técnicas da engenharia de software para o projeto, documentação, construção e melhor visualização do mesmo. 3 2 DESENVOLVIMENTO Segundo Ian Sommerville, um software é um programa de computador, assim também como toda documentação inerente ao mesmo. Um sistema seria uma coleção de componentes ou módulos interdependentes que trabalham de forma conjunta para resolução de problemas específicos. Os sistemas de computador podem ser classificados em sistemas embarcados, sistemas distribuídos, sistemas da informação, entre outros. Devido à grande necessidade das organizações em armazenar e processar quantidades massivas de informações e a evolução dos microprocessadores, nasceram-se os sistemas da informação, modernizando processos e garantindo vantagens ao fator competitividade. 2.1 ENGENHARIA DE SOFTWARE Em decorrência da “crise de software” da década de 60, foi necessário estabelecer práticas mais maduras para o processo de desenvolvimento, culminando no que hoje se conhece como a Engenharia de Software. Em resumo, a engenharia de software é o emprego de técnicas da engenharia para o desenvolvimento econômico de software confiável e de qualidade. Diante dos conceitos apresentados, para a documentação e projeto do sistema de controle de Reflorestamento será utilizado alguns diagramas da UML. A UML é uma linguagem de modelagem unificada que dispõe de um conjunto de ferramentas de notação gráfica que visam especificar, documentar, visualizar e construir artefatos ao longo do processo de desenvolvimento de software. Apoia-se no desenvolvimento incremental aplicado ao paradigma da orientação a objetos. 2.1.1 Análise e Projeto A atividade de análise consiste em aplicar-se das técnicas da engenharia de requisitos para elicitação e análise dos mesmos perante as necessidades dos clientes sem ater-se a detalhes de implementação. É considerada uma atividade fundamental e de extrema importância, pois a mesma determina a viabilidade do projeto. 4 Já a atividade de Projeto consiste em documentar como o sistema deve fazer para atender os requisitos definidos na atividade anterior (FABRIS, 2017). Com base nisso, é necessário definir os aspectos físicos do sistema dependentes de implementação, considerando os recursos tecnológicos existentes. Nessa etapa, dá- se início a modelagem da arquitetura do sistema, estabelecendo e refinando as classes e componentes que compõem o mesmo, e ao projeto de banco de dados. 2.1.1.1 Diagrama de Casos de Uso Durante a tarefa de elicitação de requisitos da etapa de análise, recomenda-se a utilização do Diagrama de Casos de Uso, pertencente aos Diagramas Comportamentais da UML, para a representação em alto nível dos requisitos funcionais do sistema. O Diagrama de Casos de Uso tem como elementos principais os Atores, Casos de Uso e suas associações. Os Atores representam as entidades externas – pessoas, sistemas ou hardwares - que utilizam das funcionalidades do sistema. Já os Casos de Uso, descrevem cenários onde os usuários interagem com o mesmo. Por ser um diagrama de linguagem simples e notação “enxuta”, é o mais indicado para intermediar a validação entre analistas e clientes. Na Figura 1, podemos observar o Diagrama de Casos de Uso construído com base nas regras de negócio da TreeTorah. 5 Figura 1: Diagrama de Casos de Uso. 2.1.1.2 Diagrama de Classes O Diagrama de Classes descreve a estrutura do sistema através das classes, interfaces e seus relacionamentos. Uma classe pode ser entendida como a representação abstrata de um conjunto de elementos que compartilham de atributos e comportamentos em comum. 6 As classes presentes no Diagrama de Classes são identificadas com base nas descrições textuais narrativas dos requisitos e casos de uso documentados na etapa de Análise. Na Figura 2, podemos observar o Diagrama de Classes completo do sistema de controle de reflorestamento. Figura 2: Diagrama de Classes. 7 2.1.1.3 Diagrama de Atividades Sabendo-se que os casos de uso representam os requisitos funcionais do sistema, descrevendo o quê o sistema faz e não como., para uma visão funcional (de execução) destes casos, a UML provê o Diagrama de Atividades – uma espécie de fluxograma com componentes próprios, que tem como objetivo descrever a sequência de ações executadasem um determinado processo. Na etapa de projeto, esse diagrama é utilizado para complementar o Diagrama de Casos de Uso, descrevendo-o e fornecendo uma visão dinâmica dos cenários. Pensando nisso, elaborou-se os diagramas de atividades correspondentes as funcionalidades de Controle de Reflorestamento e Consulta de Reflorestamento, respectivamente. 8 Figura 3: Diagrama de Atividades - Controlar Reflorestamento. 9 Figura 4: Diagrama de Atividades - Consultar Reflorestamento. 2.1.1.4 Projeto de Banco de Dados Quando se fala de SIs (Sistemas da Informação), estamos falando do processamento e armazenamento de grandes quantidades de dados. Estes dados, quando devidamente tratados, transformam-se em informações valiosas para as organizações. Apoiando assim a tomada de decisão. O banco de dados é um dos componentes fundamentais de um SI, pois o mesmo é responsável por oferecer, entre outras, as propriedades de integridade e consistência dos dados quando sua estrutura é bem projetada. Segundo Consoante Silberschatz e Korth (2006, p.2), pode-se definir um banco de dados como “uma coleção de dados inter-relacionados gerando informação sobre um determinado domínio ou assunto”. Durante o projeto de banco de dados, são construídos alguns 10 modelos que fornecem diferentes visões de como os dados são estruturados. Os modelos são classificados em: conceitual, lógico e físico. O modelo conceitual é independente de SGBD (Sistema de Gestão de Banco de Dados), é também conhecido como Modelo Entidade-Relacionamento e tem a finalidade de representar as entidades, seus atributos e relacionamentos perante ao domínio de negócio para o qual está sendo modelado. Na Figura 5, podemos observar o modelo conceitual devidamente normalizado até a terceira forma normal (3FN) do Sistema de Controle de Reflorestamento. 2.1.1.4.1 Processo de Normalização de Dados O processo de normalização de dados aplica uma série de regras sobre as tabelas de um banco de dados, para verificar se o banco de dados foi bem projetado, evitando a redundância e a inconsistência dos dados. Basicamente, trata das dependências funcionais e transitivas, atributos multivalorados, e compostos. Dessa forma, evitando tabelas aninhadas e garantindo atomicidade aos dados. Figura 5: Modelo Entidade-Relacionamento. 11 2.1.2 Implementação A etapa de implementação corresponde a construção do software em si, através da codificação das classes e suas respectivas funções, respeitando os relacionamentos definidos no Diagrama de Classes. Algumas ferramentas CASE (Computer-Aided Software Engineering), fornecem a funcionalidade de geração de código com base no Diagrama de Classes. Essa funcionalidade é também conhecida como Engenharia Progressiva. A codificação se dá através de uma ou mais linguagens de programação. No caso específico do Sistema de Controle de Reflorestamento, optou-se pela linguagem de programação PHP (PHP HyperText Preprocessor). A escolha da linguagem é justificada pelo fato de a arquitetura do sistema ter aspectos cliente-servidor. 2.1.2.1 Ambiente de Desenvolvimento O ambiente de desenvolvimento foi construído com a ajuda do XAMPP – que basicamente reúne o servidor Apache, o SGBD MySQL e a linguagem PHP em uma única aplicação - em conjunto com o Visual Studio Code – um editor de códigos refinado e otimizado para construção e depuração de aplicações web modernas. Para realizar o cálculo do valor a ser pago e o número de árvores a serem repostas, criou-se as páginas “CalculadoraReflorestamento.php” e “ResultadoCalculadora.php” (Figura 6 e Figura 7), respectivamente. As páginas web foram estruturadas e estilizadas com a linguagem de marcação de hipertexto HTML (Hypertext Markup Language) e a linguagem de estilos CSS (Cascade Style Sheet). Durante o desenvolvimento, foram aplicados os pilares da Orientação a Objetos visando a segurança e o reaproveitamento de código (Figura 8 e Figura 9). Estes pilares são: abstração, encapsulamento, herança e polimorfismo. Por decisão de projeto, a arquitetura do sistema foi dividida em camadas. Aplicando-se do design pattern (padrão de projeto) DAO (Data Access Object) para determinar a camada de acesso a dados (Figura 9). Separando-a da camada de negócio, respeitando assim a divisão de responsabilidades entres os objetos. 12 Figura 6: Página "CalculdoraReflorestamento.php". Figura 7: Página "ResultadoCalculadora.php". Figura 8: Estrutura da classe "Reflorestamento". 13 Figura 9: Estrutura da classe "EstadoDAO". 14 3 CONCLUSÃO Muitos são os problemas enfrentados no desenvolvimento de software quando não há um plano ou projeto a se seguir. Resultando em estouro de prazos e consequentemente o superfaturamento de produção. Por esses e outros motivos, entende-se a importância de um software bem documentado, afinal a documentação faz parte do núcleo central de um programa, além de justificar o porquê o mesmo foi construído. A atual e crescente demanda das organizações pela gestão da informação e do conhecimento só comprova o fato de que a informação é tida como um dos ativos mais importantes atualmente se tratando de negócios. Em decorrência disso, temos o surgimento das áreas de BI (Business Inteligence) e Data Mining – que consiste em técnicas de mineração de dados. Diante do que foi exposto através deste trabalho, é nítida as técnicas e conhecimento necessários para o desenvolvimento de software confiável e de qualidade que de fato atendam às necessidades do cliente, aplicando-se das boas práticas da Engenharia de Software. Além de demonstrar a interdisciplinaridade que a área de TI (Tecnologia da Informação) consegue proporcionar. 15 REFERÊNCIAS CARDOSO, Virgínia Mara. Ferramentas para sistemas web. Londrina: Editora e Distribuidora Educacional S.A, 2017. 80 p. EDUCAÇÃO. Reflorestamento obrigatório: legislação e aplicação. Disponível em: <https://www.educacao.cc/ambiental/reflorestamento-obrigatorio-legislacao-e- aplicacao/>. Acesso em: 06 out. 2018. FABRIS, Polyanna Pacheco Gomes. Análise orientada a objetos II. Londrina: Editora e Distribuidora Educacional S.A, 2017. 184 p. _____, Henrique. POO: Os 4 pilares da Programação Orientada a Objetos. 2014. Disponível em: < https://www.devmedia.com.br/os-4-pilares-da-programacao- orientada-a-objetos/9264>. Acesso em: 06 out. 2018. IBAMA. Sobre a reposição reflorestal. 2017. Disponível em: <https://www.ibama.gov.br/flora-e-madeira/reposicao-florestal/o-que-e-reposicao- florestal>. Acesso em: 06 out. 2018. NISHIMURA, Roberto Yukio. Banco de dados I. Londrina: Editora e Distribuidora Educacional S.A, 2018. 136 p. NISHIMURA, Roberto Yukio. Banco de dados II. São Paulo: Pearson Prentice Hall, 2009. OLIVEIRA, Douglas Fujita. Banco de dados II. Londrina: Editora e Distribuidora Educacional S.A, 2018. 56 p. SEPE, Adriano. Programação orientada a objetos. Londrina: Editora e Distribuidora Educacional S.A, 2017. 176 p. 16 SUMÁRIO 1 INTRODUÇÃO 2 DESENVOLVIMENTO 2.1 ENGENHARIA DE SOFTWARE 2.1.1 Análise e Projeto 2.1.1.1 Diagrama de Casos de Uso 2.1.1.2 Diagrama de Classes 2.1.1.3 Diagrama de Atividades 2.1.1.4 Projeto de Banco de Dados 2.1.1.4.1 Processo de Normalização de Dados 2.1.2 Implementação 2.1.2.1 Ambiente de Desenvolvimento 3 CONCLUSÃO REFERÊNCIAS
Compartilhar