Prévia do material em texto
DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES EM PYTHON Docente: Ms. Cynthia Moreira Maia Curso: Ciência da Computação 1 ● Atualmente é estudante de doutorado e pesquisadora do Cin-UFPE; ● Mestra em ciência da computação UFERSA-UERN; ● Bacharel em sistemas de informação UFERSA; ● Interesses: Aprendizagem de máquina e informática média. 2 Ementa RAD (RAPID APPLICATION DEVELOPMENT); Manipulação de Dados em Arquivos; Python com Banco de Dados; Interface Gráfica com Python; Aplicando RAD 3 Objetivos Desenvolver aplicações em Python, baseando -se na metodologia de desenvolvimento rápido de aplicações (RAD), para realizar entregas de produtos de forma célere e coesa; Implementar técnicas manipulação de dados, com base com base nas bibliotecas da linguagem de programação Python, para obter sistemas capazes de entregar persistência de dados tratados contra erros de usuários; 4 Objetivos Criar aplicações que acessam bancos de dados relacionais, utilizando as funções e/ou classes da linguagem Python, para permitir a manipulação de massas de dados armazenadas em SGBDs; Desenvolver sistemas que ofereçam interface gráfica, com base nos principais frameworks Python, para que os produtos sejam compatíveis demandas de mercado; 5 Objetivos Interpretar o processo de desenvolvimento rápido, tendo como modelo de processo de software o RAD (Rapid Apllication Development), para a utilização de ciclos curtos de desenvolvimentos iterativos e incrementais; 6 Procedimentos de Avaliação Avaliação 1 (AV1): *Prova individual com valor total de 7 (sete) pontos; *Realização de quiz avaliativo sobre os temas 1 e 2, vinculados ao conteúdo digital, com valor total de 3 (três) pontos. 7 Procedimentos de Avaliação Avaliação 2 (AV2): *Prova teórica no formato PNI Prova Nacional Integrada, com valor total de 5 pontos. *As demais atividades acadêmicas avaliativas devem somar 5 (cinco) pontos. 8 Procedimentos de Avaliação Avaliação 3 (AV3): *Contemplará todos os temas abordados pela disciplina. Será composta por uma prova no formato PNI Prova Nacional Integrada, com total de 10 pontos. 9 Bibliografia Básica 10 BANIN, Sérgio Luiz. Python 3 Conceitos e Aplicações Uma Abordagem Didática. 1. São Paulo: Érica, 2018. Disponível em: https://integrada.minhabiblioteca.com.b r/#/books/9788536530253/ PERKOVIC, Ljubomir. Introdução à Computação Usando Python Um Foco no Desenvolviamento de Aplicações. 1. Rio de Janeiro: LTC, 2016. Disponível em: https://integrada.minhabiblioteca.com.b r/#/books/9788521630937/cfi/6/2!/4/2/2 @0:0 TUCKER, Allen; NOONAN, Robert. Linguagens de Programação: Princípios e Paradigmas. 1. Porto Alegre: Grupo A Disponível em: https://integrada.minhabiblioteca.com.b r/#/books/9788563308566/cfi/0!/4/2@1 00:0.00 Calendário Acadêmico 2023.12023.1 11 Fevereiro-Junho 12 Os métodos tradicionais de desenvolvimento de software frequentemente enfrentam limitações, como longo prazo para entregas e baixa flexibilidade. Existe alguma metodologia de desenvolvimento de software que permite entrega mais rápidas e maior flexibilidade, entre outras vantagens? 13 Semana 1: ● INTRODUÇÃO AO RAD ● FASES DO RAD 14 O que é RAD? 15 Perspectivas tradicionais e ágeis no desenvolvimento de software [3] [4] Tradicional Ágil Ciclo de vida do desenvolvimento Linear Iterativo Documentação Pesado / detalhado conhecimento explícito Leve Requisitos Claramente definido e documentado Mudanças emergentes e rápidas Envolvimento do Cliente Pouco envolvimento Cliente no local é considerado como membro da equipe 16 Processo de desenvolvimento iterativo 17 Os negócios atualmente operam em um ambiente global sujeito a rápidas mudanças; Desenvolvimento e entrega rápidas, são, portanto, muitas vezes o requisito mais crítico para sistemas de software. 18 Processos de desenvolvimento rápido de software são projetados para criar software útil rapidamente. 19 “O termo Rapid Application Development ou RAD é usado para se referir a projetos baseados em prazos apertados, que usam prototipagem e combinam ferramentas de desenvolvimento de alto nível e técnicas” [1]. RAD 20 “Os defensores do RAD afirmam que ele aumenta a produtividade, reduz o tempo de entrega e ganha alto uso por causa da extensão do envolvimento do usuário no desenvolvimento” [1]. RAD 21 RAD O termo Rapid Application Development (RAD) foi introduzido na literatura por James Martin. Martin define os principais objetivos do RAD como: sistemas de alta qualidade, desenvolvimento e entrega rápidos e custos baixos [2]. 22 Critérios de adequação do projeto para uma abordagem RAD Adequado para RAD Inadequado para RAD Projeto pequeno. Poucos desenvolvedores. Documentação menos formalizada. Grande projeto. Muitos desenvolvedores. Grande base de usuários com requisitos complexos 23 RAD Fases Na abordagem de James Martin, o RAD possui quatro fases; 1. Planejamento de Requisitos 2. Design do usuário; 3. Construção; 4. Transição 24 PlanejamentoAs partes interessadas: usuários, gerentes e desenvolvedores, estudam as necessidades de negócio, escopo do projeto, requisitos do sistema, os riscos e restrições. 25 Design Com base nos requisitos identificados na fase anterior. São definidos modelos e protótipos, para representar todos os processos, entradas e saídas dos sistemas. Nessa fase, faz uso de ferramentas CASE para representação. 26 Construção Envolve a codificação com base no protótipo criado na fase anterior. Também são realizados testes unitários para garantir a qualidade do código. 27 Transição O sistema é implantado em ambiente de produção e são feitos os testes de aceitação pelo usuário. 28 Exemplo - plano de saúde Fases James Martin 1. Planejamento: identificação das funcionalidades, escopo; os tipos de planos de saúde oferecidos, os serviços. 29 1. Design: definição da arquitetura; modelagem de caso de uso, como os usuários vão interagir no sistema; prototipagem das telas de informação dos pacientes; Exemplo - plano de saúde Fases James Martin 30 Exemplo - plano de saúde Fases James Martin 1. Construção: implementação dos módulos do sistema; 31 1. Transição: o sistema é testado e preparado para ser implantado e usado pelos usuários. Exemplo - plano de saúde Fases James Martin 32 RAD Fases James Kerr, define em: 1. Modelagem de negócios; 2. Modelagem de Dados; 3. Modelagem de Processos; 4. Geração da aplicação e Teste e modificação. 33 Modelagem de negócios 1. É definido que tipo de informação abrange o negócio, quem as gera, quem utiliza e quem processa essas informações. As regras de negócio. 34 Modelagem de Dados 2. São definidos os objetos, suas características (atributos) e como se relacionam. Um modelo de dados que descreva a estrutura e as relações entre os diferentes tipos de dados que serão usados pelo sistema. 35 Modelagem de Processos 3. A equipe de desenvolvimento trabalha na criação de um modelo de processo que descreva como o software será usado pelos usuários finais. Isso pode incluir a criação de fluxos de trabalho. 4. Com base nos modelos criados na fase de modelagem, o software é gerado usando ferramentas de desenvolvimento rápido de aplicativos. Os novos componentes devem ser testados. 36 Geração da aplicação e Teste e modificação 1. Modelagem de Negócios: Entender as necessidades e objetivos do negócio. Tipos de planos oferecidos; os serviços, informações dos pacientes; 37 Exemplo - plano de saúde Fases James kerr 1. Modelagem de dados: Estrutura dos bancos de dados; Paciente: nome, endereço, renda, sexo, historico médico … 38 Exemplo - plano de saúde Fases James kerr 1. Modelagem de processos: definição dos processos envolvidos no sistema. Fluxos do processo de pagamento; cobrançade mensalidade; 39 Exemplo - plano de saúde Fases James kerr 1. Geração da aplicação e Teste e modificação: criação das funcionalidades e testes para verificar se o sistema está funcionando corretamente. Se caso for encontrado problemas o sistema é modificado. 40 Exemplo - plano de saúde Fases James kerr Reuso QualidadePrototipagem 41 RAD (RAPID APPLICATIONS DEVELOPMENT) Técnicas Iterativo Participativo Qualidade Desenvolvimento rápido 42 RAD (RAPID APPLICATIONS DEVELOPMENT) Técnicas Facilidade de implementação Maior satisfação do usuário Menor tempo de lançamento no mercado A velocidade de desenvolvimento pode resultar em um projeto mal projetado Precisa de uma equipe de desenvolvimento mais experiente Forte gerenciamento e controle de projetos necessários 43 Vantagens Desvantagens 44 RAD Atividade Um sistema de registro de notas para uma pequena instituição de ensino que, além de armazenar notas dos alunos para cada disciplina, informa se o aluno foi ou não aprovado em cada disciplina. A partir deste cenário, formem grupos de até 6 pessoas e planejem a solução conforme as fases RAD. Ao final, cada grupo deve apresentar sua proposta. 45 Referências [1] Coleman, Gerry, and Renaat Verbruggen. "A quality software process for rapid application development." Software Quality Journal 7 (1998): 107-122. [2] Martin, J. (1991) Rapid Application Development, Macmillan, USA. [3] Moniruzzaman, A. B. M., and Dr Syed Akhter Hossain. "Comparative Study on Agile software development methodologies." arXiv preprint arXiv:1307.3356 (2013). [4] SOMMERVILLE, Ian. Engenharia de Software-8ª Edição 2007. Ed Person Education, 2011. 46 Dúvidas?