Baixe o app para aproveitar ainda mais
Prévia do material em texto
WBA0446_v1.0 CASE As principais ferramentas no ciclo de desenvolvimento de softwares Introdução às ferramentas para o desenvolvimento de software Bloco 1 André Olímpio Ciclo do desenvolvimento de software Testes. Implantação. Manutenção. Levantamento e análise de requisitos. Modelagem. Implementação. 1 2 3 4 5 6 Levantamento e análise de requisitos • Efetuar a coleta de dados. • Analisar se todos os dados coletados são aceitáveis. • Identificar todas as necessidades dos usuários no sistema de software a ser desenvolvido. • Elaborar uma proposta de solução. Modelagem • Transformar os resultados, obtidos na etapa anterior, em documentos capazes de serem interpretados pelos profissionais envolvidos no processo de desenvolvimento. • Nesta etapa, que toda a estruturação do software é realizada. • Engloba a modelagem do sistema e também do banco de dados. Modelagem • Modelagem do banco de dados. • Modelagem do sistema de software (desenvolvimento dos diagramas da UML). • Documentação do software. • Manual do usuário. • Help do sistema. • Definição do cronograma de implementação. Figura 1 - UML Fonte: alexmillos/iStock.com. Implementação • Codificação por meio de uma linguagem de programação escolhida pela equipe de desenvolvimento. • Codificar de forma rigorosamente igual a modelada. • O desenvolvedor deve ter a iniciativa de sempre buscar respostas para seus desafios. • Criar códigos reaproveitáveis. Testes • É a investigação do software, a fim de fornecer informações sobre sua qualidade em relação ao contexto em que este deve operar. • Encontrar seus defeitos (bugs) e corrigi-los antes da entrega definitiva do software. • Os testes finais devem ser realizados pelos usuários do sistema e não pelos desenvolvedores. Implantação • Deve ser gradativa e o acompanhamento por parte dos desenvolvedores deve ser rigoroso. • Não existe implantação sem treinamento. • Deve trabalhar a mudança de paradigma. • Não pode causar traumas aos usuários. • O novo software deve substituir o já existente. Manutenção • Entrega da versão definitiva do software. • Deve ser realizada obrigatoriamente pela equipe de desenvolvimento. • Existem dois tipos de manutenção: Corretiva: para corrigir possíveis erros. Agregativa: para agregar novos recursos ao sistema atual. Fonte: elaborada pelo autor. Arquitetura de um sistema de software Figura 2 – Arquitetura APLICAÇÃO SGBD Arquitetura de um sistema de software • Composta por: Hardware: dispositivos necessários que permitem a interação humana com a arquitetura. Software: SGBD e a aplicação. Peopleware: usuário final, DBA e desenvolvedor. Ferramentas CASE para levantamento de requisitos do sistema Bloco 2 André Olímpio ALM • Em inglês: Application Lifecycle Management. • Em português: gerenciamento do ciclo de vida de um sistema de software. • Inicia-se na concepção do sistema. • Finaliza quando houver a descontinuidade deste software. Requisitos • É um descritivo formal de cada necessidade que o cliente tenha e que deva ser resolvida por meio de uma funcionalidade do sistema. • Classificado em duas categorias: Funcional. Não funcional. Entendendo os requisitos Fonte: elaborada pelo autor. Figura 3 - Requisitos Domínio do problema. Domínio da solução. Necessidades: Características: Requisitos: Requisitos de negócio (necessidades do cliente). Recursos e comportamentos (necessidades do sistema). • Funcionais -> regras de negócio. • Não funcionais -> qualidade. Ferramenta CASE: RE-Tools • Open source. • Captura por meio de múltiplas referências: Modelagem de requisitos não funcionais. Modelagem orientada a agentes. Modelagem de processo de negócios. Suporte a UML. Ferramenta CASE: JIRA • Identificação e mapeamento de requisitos. • Visualização da ligação entre requisitos de negócio e o problema do mundo real. • Criação e visualização de uma hierarquia de requisitos. • Licença paga. Ferramenta CASE: Visure Requirement • Licença paga. • Muito utilizado em ambiente regulamentado: Setor automotivo. Setor aeroespacial. Dispositivos médicos. Gerência de energia elétrica. • Integração com outras ferramentas deste segmento e pacote Microsoft Office. Ferramentas CASE para desenvolvimento de sistema de software Bloco 3 André Olímpio Ferramenta CASE: DB-Main • Ferramenta freeware. • Análise de requisitos em modelos de BD. • Estrutura modelo entidade-relacionamento. • Normalização, integração e otimização de esquemas de dados. • Geração de códigos em linguagem SQL, a partir dos modelos. Ferramenta CASE: BrModelo • Licença freeware. • Gerenciamento de toda estrutura de modelagem de um banco de dados relacional. • Permite criar todos os modelos ER (Entidade-Relacionamento): Lógico. Conceitual. • Permite criar automaticamente um modelo a partir do outro. Ferramenta CASE: DB Design • Open source. • Multiplataforma. • Permite modelar, criar e fazer a manutenção de um sistema de banco de dados em um único ambiente. • Permite compatibilidade direta com SGBD como o MySQL. Ferramenta CASE: ERwin • Licença paga. • Gera um modelo prático de fácil implementação. • Conectividade direta com SGBD. • Permite modelar banco de dados de grande porte (Datawarehouse). UX • Em inglês: User eXperience. • Em português: experiência do usuário. • Ferramenta para criar um protótipo da interface com o usuário final da aplicação. • Esse protótipo também é chamado de wireframe. • Definir de forma antecipada toda a estrutura dos componentes da interface. Ferramenta CASE: Axure • Muito popular neste segmento. • Licença paga. • Permite a criação de wireframes clicáveis e interativos. • Permite criação de protótipos para diferentes situações e níveis de abstração. • Compartilhamento em nuvem do projeto. Ferramenta CASE: Sketch • Licença paga. • Direcionado para usuário do MacOS. • Interface muito intuitiva. • Vasta lista de plug-ins. • Sketch Mirror: pré-visualizador da interface. Programação orientada a objetos • Trata-se um conjunto de classes que definirão os objetos presentes em um sistema de software. • Cada classe determina: Comportamento (definido nos métodos). Estados possíveis (atributos) de um objeto. Relacionamento deste com outros objetos. Principais conceitos da orientação a objetos: Abstração. Atributo. Classe. Encapsulamento. Evento. Herança. Método. Objeto (instância de uma classe). Polimorfismo. Ferramenta CASE: Visual Paradigm • Licença paga. • Possui versão gratuita mais enxuta, chamada community. • Geração automática de códigos em POO, a partir do diagrama de classes da UML. • Possibilidade de engenharia reversa. Teoria em Prática Bloco 4 André Olímpio Sistema: parquímetro • Gerenciamento de estacionamento em vias públicas. • Uma cidade de 300 mil habitantes, que apresenta uma frota aproximada de 100 mil carros. • Creditar valores para serem utilizados com pagamento. • Integração para pagamentos via cartões de crédito. Norte para solução... • Identificar os requisitos funcionais e não funcionais. • Quais são as ferramentas CASE para auxiliar na modelagem e estruturação de software? • Vale lembrar que este software fará integrações com outros sistemas por meio de API’s. • Descrever a infraestrutura de back end e de front end do sistema. Dica do Professor Bloco 5 André Olímpio Outra Ferramenta CASE (ASTAH) • Inicialmente, chamada de JUDE. • É um software para modelagem de sistemas por meio da construção de diagramas da UML. • Portabilidade para outras plataformas que possuam máquina virtual Java instalada. • Muito utilizado pelos desenvolvedores. Referências • SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Education do Brasil, 2018. • PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre:AMGH, 2016. Bons estudos!
Compartilhar