Please enable JavaScript.
Coggle requires JavaScript to display documents.
DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO - Coggle Diagram
DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO
LINGUAGENS DE PROGRAMAÇÃO
Ferramenta capaz de efetuar comunicação lógica
entre humanos e máquinas
C
Java
Python
Classificação das Linguagens de Programação
Paradigma Funcional
Cada
entrada
há apenas um elemento no conjunto de contradomínio
saída
Haskell, Elixir, Clojure
Paradigma Imperativo
Descreve a computação como ações
(comandos)
que mudam o estado
(variáveis)
de um programa
Programas imperativos são uma sequência de comandos para o computador executar
Python, C, Java, Ruby
Paradigma Orientado a Objeto
Todo o fluxo lógico do programa se baseia em quais objetos existem e como eles interagem entre si
C++, C#
Paradigma Lógico
Tem sua base lógica num subconjunto da lógica
Enfatiza a descrição declarativa de um problema
Prolog
GRÁFICOS E TABELAS DE POPULARIDADE
Gráfico TIOBE
Gráficos de popularidade de linguagens
Ranking IEEE Spectrum
Manter o público informado sobre as últimas
análises e descobertas tecnológicas
É capaz de identificar quais tipos de aplicação estão sendo mais utilizadas por tais linguagens
METODOLOGIAS TRADICIONAIS
Se baseiam em métodos orientados à documentação, também conhecidos como métodos pesados
São amplamente usadas em projetos de larga escala onde os requerimentos podem ser decididos anteriormente
Modelo Cascata
Comunicação
Planejamento
Modelagem
Construção
Entrega
O cliente recebe o que foi pedido, não permitindo mudanças ao longo do desenvolvimento
Comunicação só ocorre nas etapas finais, o que não é ideal em situações onde o cliente não tem uma boa ideia do produto final
Modelo Incremental
É tratado o desenvolvimento de softwares como blocos de funções que, quando unidas, definem o software em sua versão mais completa
É bem-vindo quando se tem uma
equipe limitada de desenvolvedores
Modelo Evolucional
O software é desenvolvido especialmente para receber posteriormente melhorias e correções: é um processo que visa a evolução do software.
Prototipação
Modelo Aspiral
Acompanha o software mesmo após ele ter sido finalizado pela equipe de desenvolvimento, e o acompanha até a retirada do software do mercado
METODOLOGIAS ÁGEIS
Buscam lidar com mudanças, evitando o gasto de tempo e recursos na fase de planejamento inicial e focando em entregar resultados para o cliente o mais rápido possível
As decisões são feitas baseadas na comunicação direta com o usuário
Manifesto Ágil
Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano
Extreme Programming
Objetivo principal é levar ao extremo um conjunto de boas práticas na área de engenharia de software, tais como teste e integrações constantes, revisão, refatoração e simplicidade
O XP prega que a atividade central do projeto é a
Codificação
, que os
Testes
servem de especificação de requisitos, e que a
Comunicação
oral entre os desenvolvedores é peça fundamental.
Valores do XP
Feedback
Coragem
Simplicidade
Coach
Comunicação
Scrum
É um framework dentro do qual pessoas podem lidar com problemas adaptativos complexos, ao mesmo tempo em que fornecem produtos de mais alto valor (para o cliente) possível
Pode não ser a melhor opção para equipes distribuídas em diferentes lugares, visto que é muito focado em comunicação e interação entre a equipe e o cliente
atua no foco do gerenciamento do projeto
Fases do Scrum
Uma série de ciclos chamados de Ciclos de Sprint
Finalização do projeto
Planejamento simples e geral dos objetivos do projeto
Feature Driven Development
Busca o desenvolvimento por funcionalidade, ou seja, por um requisito funcional do sistema e é prático para o trabalho em projetos iniciais ou em projetos com codificações já existentes
Atua muito bem em conjunto com o Scrum
FDD atua no processo de desenvolvimento do projeto
Cinco processos básicos
Programação e teste orientado a objetos
Desenho orientado a objetos
Planejamento incremental
Decomposição funcional
Análise orientada por objetos
Microsoft Solutions Framework
Abordagem adaptável que visa à entrega bem-sucedida de soluções de tecnologia com maior rapidez, número reduzido de pessoas e menor risco, possibilitando resultados de maior qualidade
Trabalhar em busca de uma visão compartilhada
Capacitar os membros da equipe
Promover uma comunicação aberta
Estabelecer responsabilidades com clareza e de forma compartilhada
Entregar valor incremental
Ficar em estado de alerta, prever e se adaptar à mudança
Investir na qualidade
Aprender com todas as experiências
Estabelecer parcerias com clientes internos e externos
Dynamic System Development Model
Método de desenvolvimento iterativo e incremental que enfatiza o envolvimento constante do usuário
É aplicado em projetos de Sistemas caracterizados pelos cronogramas e custos limitados
Seu objetivo é entregar softwares no tempo e com custo estimados através do controle e ajuste de requisitos ao longo do desenvolvimento
Princípios do DSDM
Eficácia
Feedback
Reversibilidade
Previsibilidade
Ausência de Testes no escopo
Comunicação
Entregas
Autonomia
Envolvimento