O documento discute a importância de se ter uma visão crítica da arquitetura de software, abordando tópicos como: (1) quem é responsável e afetado pela arquitetura e para que ela serve; (2) a definição de arquitetura de software como conjunto de decisões que influenciam como o software afeta seu contexto; (3) os motivos para se aprender arquitetura, como promover qualidade e ter decisões conscientes.
Apresentação de alguns conceitos do primeiro capítulo do livro "Design de interação: além da interação homem-computador". Uma introdução aos fundamentos do design de interface, exposta na aula de Projeto de Interfaces Multimídia, no curso de Desenho Industrial da Universidade Federal de Santa Maria.
O documento discute o processo de design de interação, destacando suas características-chave como foco no usuário e critérios de usabilidade. Apresenta modelos de ciclo de vida como o modelo simples de design de interação e o modelo de ciclo de vida em engenharia de usabilidade.
Design de Interação, Experiência do Usuário e Usabilidade - 2010Mourylise Heymer
O documento discute os conceitos de experiência do usuário (UX), design de interação e usabilidade. Ele explica que UX surgiu da ergonomia e incorpora aspectos da psicologia e outros campos. O termo "experiência do usuário" foi cunhado por Donald Norman em 1990. O documento também descreve modelos conceituais de UX como o de Jesse James Garrett e como o design de interação, interface e informação atuam nos diferentes níveis desses modelos.
O processo de design de interação envolve identificar as necessidades dos usuários, desenvolver soluções alternativas iterativamente, e construir versões interativas para avaliação. É importante entender os usuários e seus objetivos desde o início, observando soluções de outros para inspiração e usando critérios de usabilidade e feedback dos usuários para selecionar a melhor alternativa.
1) A disciplina apresenta os conceitos e métodos de prototipação.
2) As aulas incluem tipos de protótipos, interação, fluxo, modelagem física e apresentações.
3) Os alunos serão divididos em equipes para criar um projeto final aplicando os conceitos aprendidos.
Design de Interação: O que você tem a ver com isso?!Monica Possel
Apresentação feita na Semana de Informática da Univille - Universidade da Região de Joinville.
Sobre o assunto Design de Interação e a ligação entre desenvolvedores e designers.
Apresentação de alguns conceitos do primeiro capítulo do livro "Design de interação: além da interação homem-computador". Uma introdução aos fundamentos do design de interface, exposta na aula de Projeto de Interfaces Multimídia, no curso de Desenho Industrial da Universidade Federal de Santa Maria.
O documento discute o processo de design de interação, destacando suas características-chave como foco no usuário e critérios de usabilidade. Apresenta modelos de ciclo de vida como o modelo simples de design de interação e o modelo de ciclo de vida em engenharia de usabilidade.
Design de Interação, Experiência do Usuário e Usabilidade - 2010Mourylise Heymer
O documento discute os conceitos de experiência do usuário (UX), design de interação e usabilidade. Ele explica que UX surgiu da ergonomia e incorpora aspectos da psicologia e outros campos. O termo "experiência do usuário" foi cunhado por Donald Norman em 1990. O documento também descreve modelos conceituais de UX como o de Jesse James Garrett e como o design de interação, interface e informação atuam nos diferentes níveis desses modelos.
O processo de design de interação envolve identificar as necessidades dos usuários, desenvolver soluções alternativas iterativamente, e construir versões interativas para avaliação. É importante entender os usuários e seus objetivos desde o início, observando soluções de outros para inspiração e usando critérios de usabilidade e feedback dos usuários para selecionar a melhor alternativa.
1) A disciplina apresenta os conceitos e métodos de prototipação.
2) As aulas incluem tipos de protótipos, interação, fluxo, modelagem física e apresentações.
3) Os alunos serão divididos em equipes para criar um projeto final aplicando os conceitos aprendidos.
Design de Interação: O que você tem a ver com isso?!Monica Possel
Apresentação feita na Semana de Informática da Univille - Universidade da Região de Joinville.
Sobre o assunto Design de Interação e a ligação entre desenvolvedores e designers.
O documento discute protótipos de baixa e alta fidelidade, explicando que protótipos de alta fidelidade apoiam a avaliação de todos os detalhes de um design, mas requerem mais tempo e recursos para serem construídos, enquanto protótipos de baixa fidelidade não apoiam a avaliação de todos os detalhes mas necessitam de pouco tempo e recursos para serem construídos e apoiam a avaliação do modelo conceitual.
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
O documento discute os desafios da engenharia de software, incluindo a dificuldade de acompanhar a demanda por novos programas e manter programas existentes, a dependência da economia em software, e os altos custos de software, especialmente de manutenção.
O documento descreve os principais conceitos de engenharia de software, incluindo: (1) as camadas de engenharia de software focadas em qualidade, processos, métodos e ferramentas; (2) os modelos de processo de desenvolvimento de software como linear seqüencial, prototipação, incremental e espiral; (3) o Rational Unified Process (RUP) como um modelo de processo iterativo e incremental baseado em componentes e casos de uso.
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Renato Leal
Engenharia de software é introduzida, discutindo projetos de software que falharam e os desafios da área. Um bom processo de software deve considerar requisitos, projeto, teste e manutenção.
O documento discute metodologias e métodos de design de interação, enfatizando que a metodologia é o estudo crítico dos métodos com base em perspectivas teóricas. Aborda a importância da criatividade no design e como a contradição é inerente ao processo de design, não devendo ser evitada, mas sim aproveitada. Também apresenta exemplos de produtos que exploram fobias de forma a estimulá-las ou tentar curá-las.
O documento discute os principais componentes, tipos e problemas do software, incluindo estimativas imprecisas de prazo e custo, baixa qualidade e produtividade. Também aborda as causas destes problemas, como a falta de experiência de gerentes e treinamento formal de desenvolvedores, além da mitologia em torno do software que pode levar a expectativas irrealistas.
O documento apresenta o programa de uma disciplina de engenharia de software, descrevendo os tópicos abordados em cada capítulo, como conceitos básicos, processos de desenvolvimento de software, requisitos, gerenciamento de projetos e qualidade. Referências bibliográficas e o cronograma da disciplina também são apresentados.
O documento discute a história e os fundamentos da engenharia de software. Apresenta a agenda da aula, que inclui explicar por que engenharia de software, resumir brevemente sua história e mostrar um vídeo sobre software. Também discute como a engenharia de software surgiu para lidar com a "crise do software" na década de 1960 e melhorar a qualidade e gerenciamento de projetos de software.
O documento apresenta uma introdução ao design de interação, abordando tópicos como:
1) Quem fala no curso, seu conteúdo e objetivos;
2) Diferentes abordagens de design de interação em comparação com engenharias;
3) A importância da pesquisa com usuários para o design centrado no humano.
O documento discute técnicas de prototipagem rápidas, especificamente protótipos em papel. Estes permitem testar designs de forma barata e rápida nos primeiros estágios do processo de design. Protótipos em papel podem avaliar a navegação, layout, fluxo de telas e outros elementos importantes de um projeto antes de investir em um protótipo digital. O documento fornece diretrizes para criar protótipos em papel e usar esta técnica de forma efetiva.
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Pedro de Vasconcellos
O documento discute protótipos e o processo de design de produtos. Resume que protótipos são representações limitadas de um design que permitem testes com usuários, e que existem protótipos de baixa e alta fidelidade. Também discute design conceitual, no qual requisitos são transformados em um modelo inicial, e design físico, que produz detalhes da interface.
O Diferencial e as Tendências do Design de InteraçãoUTFPR
O documento discute as tendências do design de interação, abordando os modelos de desenvolvimento de produtos centrados em engenharia, marketing ou design. Também apresenta exemplos de projetos desenvolvidos por estudantes que exploram novas abordagens como interfaces tangíveis e mobilidade. Por fim, descreve as atividades do Instituto Faber-Ludens de design de interação.
Workshop - Design de Interfaces para Dispositivos MóveisDaniel Lugondi
O documento descreve um workshop sobre design de interface para dispositivos móveis. O workshop discute tópicos como entendimento do usuário, prototipagem, flat design, grids, e apresenta contatos de especialistas.
O documento compara metodologias de desenho industrial e design de interação, identificando pressupostos e abordagens distintas. As metodologias de desenho industrial enfatizam processos não lineares e implícitos versus abordagens mais prescritivas e racionais no design de interação inicial. O documento conclui que o design de interação evoluiu para se aproximar mais do desenho industrial.
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
1) A fase de desenvolvimento no ciclo de vida dos softwares envolve atividades destinadas à produção do software, incluindo design, programação e testes.
2) O design especifica como o software irá funcionar por meio de diagramas, projetos da interface com o usuário, arquitetura dos componentes e algoritmos.
3) Os requisitos de software definem o que o cliente deseja, enquanto o design de software especifica como esses requisitos serão atendidos na perspectiva do usuário.
O documento discute princípios e práticas para melhorar a agilidade e qualidade de projetos de software. Ele explora tópicos como engenharia de software versus arte, filosofias como o Toyota Production System e o Manifesto Ágil, e práticas como comunicação, propriedade coletiva de código e integração contínua. O documento também discute a importância da aprendizagem ativa e da adaptação contínua para o sucesso de projetos.
O documento apresenta o método Scrum, uma metodologia ágil para desenvolvimento de software. Discute as vantagens das metodologias ágeis em relação às clássicas, como entregas frequentes de funcionalidades e discussões diárias. Também explica os processos, termos e características principais do Scrum, como Sprints curtos e reuniões diárias.
O documento apresenta conceitos sobre usabilidade, incluindo:
(1) Uma introdução sobre usabilidade, definindo-a como a facilidade de uso de um produto;
(2) Uma breve história da usabilidade, mencionando o desenvolvimento da Interação Humano-Computador e do Design Centrado no Usuário nas décadas de 1980 e 1990;
(3) Metas de usabilidade importantes como utilidade, eficácia e eficiência.
O documento discute:
1) A história da engenharia de software e como surgiu para resolver a "crise do software";
2) Os principais modelos de processo de desenvolvimento de software como cascata, espiral e incremental;
3) As metodologias ágeis que enfatizam entregas evolutivas e colaboração com o cliente.
1) O documento discute formas de aplicar a arquitetura de software em equipes ágeis e projetos de grande escala.
2) Apresenta os conflitos potenciais entre arquitetura de software e metodologias ágeis e formas de resolvê-los, como comunicação e documentação ágil.
3) Discutem técnicas como Scrum of Scrums para coordenar múltiplas equipes ágeis em projetos grandes e a importância de iterações na arquitetura ágil.
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Pedro Castilho
O documento discute fundamentos de arquitetura de software, incluindo: (1) O que é arquitetura de software e como estruturar sistemas em módulos, (2) A importância da modularidade e dependências entre módulos, (3) Preocupações arquiteturais como performance, escalabilidade e manutenibilidade.
1) O documento apresenta Rodrigo Branas, um especialista em Java com mais de 10 anos de experiência.
2) Discutem-se os problemas da abordagem tradicional de modelagem de software, como suposições altas e falta de feedback.
3) Defende-se uma abordagem incremental e iterativa de modelagem, com foco no código como modelo e feedback constante.
O documento discute protótipos de baixa e alta fidelidade, explicando que protótipos de alta fidelidade apoiam a avaliação de todos os detalhes de um design, mas requerem mais tempo e recursos para serem construídos, enquanto protótipos de baixa fidelidade não apoiam a avaliação de todos os detalhes mas necessitam de pouco tempo e recursos para serem construídos e apoiam a avaliação do modelo conceitual.
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
O documento discute os desafios da engenharia de software, incluindo a dificuldade de acompanhar a demanda por novos programas e manter programas existentes, a dependência da economia em software, e os altos custos de software, especialmente de manutenção.
O documento descreve os principais conceitos de engenharia de software, incluindo: (1) as camadas de engenharia de software focadas em qualidade, processos, métodos e ferramentas; (2) os modelos de processo de desenvolvimento de software como linear seqüencial, prototipação, incremental e espiral; (3) o Rational Unified Process (RUP) como um modelo de processo iterativo e incremental baseado em componentes e casos de uso.
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Renato Leal
Engenharia de software é introduzida, discutindo projetos de software que falharam e os desafios da área. Um bom processo de software deve considerar requisitos, projeto, teste e manutenção.
O documento discute metodologias e métodos de design de interação, enfatizando que a metodologia é o estudo crítico dos métodos com base em perspectivas teóricas. Aborda a importância da criatividade no design e como a contradição é inerente ao processo de design, não devendo ser evitada, mas sim aproveitada. Também apresenta exemplos de produtos que exploram fobias de forma a estimulá-las ou tentar curá-las.
O documento discute os principais componentes, tipos e problemas do software, incluindo estimativas imprecisas de prazo e custo, baixa qualidade e produtividade. Também aborda as causas destes problemas, como a falta de experiência de gerentes e treinamento formal de desenvolvedores, além da mitologia em torno do software que pode levar a expectativas irrealistas.
O documento apresenta o programa de uma disciplina de engenharia de software, descrevendo os tópicos abordados em cada capítulo, como conceitos básicos, processos de desenvolvimento de software, requisitos, gerenciamento de projetos e qualidade. Referências bibliográficas e o cronograma da disciplina também são apresentados.
O documento discute a história e os fundamentos da engenharia de software. Apresenta a agenda da aula, que inclui explicar por que engenharia de software, resumir brevemente sua história e mostrar um vídeo sobre software. Também discute como a engenharia de software surgiu para lidar com a "crise do software" na década de 1960 e melhorar a qualidade e gerenciamento de projetos de software.
O documento apresenta uma introdução ao design de interação, abordando tópicos como:
1) Quem fala no curso, seu conteúdo e objetivos;
2) Diferentes abordagens de design de interação em comparação com engenharias;
3) A importância da pesquisa com usuários para o design centrado no humano.
O documento discute técnicas de prototipagem rápidas, especificamente protótipos em papel. Estes permitem testar designs de forma barata e rápida nos primeiros estágios do processo de design. Protótipos em papel podem avaliar a navegação, layout, fluxo de telas e outros elementos importantes de um projeto antes de investir em um protótipo digital. O documento fornece diretrizes para criar protótipos em papel e usar esta técnica de forma efetiva.
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Pedro de Vasconcellos
O documento discute protótipos e o processo de design de produtos. Resume que protótipos são representações limitadas de um design que permitem testes com usuários, e que existem protótipos de baixa e alta fidelidade. Também discute design conceitual, no qual requisitos são transformados em um modelo inicial, e design físico, que produz detalhes da interface.
O Diferencial e as Tendências do Design de InteraçãoUTFPR
O documento discute as tendências do design de interação, abordando os modelos de desenvolvimento de produtos centrados em engenharia, marketing ou design. Também apresenta exemplos de projetos desenvolvidos por estudantes que exploram novas abordagens como interfaces tangíveis e mobilidade. Por fim, descreve as atividades do Instituto Faber-Ludens de design de interação.
Workshop - Design de Interfaces para Dispositivos MóveisDaniel Lugondi
O documento descreve um workshop sobre design de interface para dispositivos móveis. O workshop discute tópicos como entendimento do usuário, prototipagem, flat design, grids, e apresenta contatos de especialistas.
O documento compara metodologias de desenho industrial e design de interação, identificando pressupostos e abordagens distintas. As metodologias de desenho industrial enfatizam processos não lineares e implícitos versus abordagens mais prescritivas e racionais no design de interação inicial. O documento conclui que o design de interação evoluiu para se aproximar mais do desenho industrial.
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
1) A fase de desenvolvimento no ciclo de vida dos softwares envolve atividades destinadas à produção do software, incluindo design, programação e testes.
2) O design especifica como o software irá funcionar por meio de diagramas, projetos da interface com o usuário, arquitetura dos componentes e algoritmos.
3) Os requisitos de software definem o que o cliente deseja, enquanto o design de software especifica como esses requisitos serão atendidos na perspectiva do usuário.
O documento discute princípios e práticas para melhorar a agilidade e qualidade de projetos de software. Ele explora tópicos como engenharia de software versus arte, filosofias como o Toyota Production System e o Manifesto Ágil, e práticas como comunicação, propriedade coletiva de código e integração contínua. O documento também discute a importância da aprendizagem ativa e da adaptação contínua para o sucesso de projetos.
O documento apresenta o método Scrum, uma metodologia ágil para desenvolvimento de software. Discute as vantagens das metodologias ágeis em relação às clássicas, como entregas frequentes de funcionalidades e discussões diárias. Também explica os processos, termos e características principais do Scrum, como Sprints curtos e reuniões diárias.
O documento apresenta conceitos sobre usabilidade, incluindo:
(1) Uma introdução sobre usabilidade, definindo-a como a facilidade de uso de um produto;
(2) Uma breve história da usabilidade, mencionando o desenvolvimento da Interação Humano-Computador e do Design Centrado no Usuário nas décadas de 1980 e 1990;
(3) Metas de usabilidade importantes como utilidade, eficácia e eficiência.
O documento discute:
1) A história da engenharia de software e como surgiu para resolver a "crise do software";
2) Os principais modelos de processo de desenvolvimento de software como cascata, espiral e incremental;
3) As metodologias ágeis que enfatizam entregas evolutivas e colaboração com o cliente.
1) O documento discute formas de aplicar a arquitetura de software em equipes ágeis e projetos de grande escala.
2) Apresenta os conflitos potenciais entre arquitetura de software e metodologias ágeis e formas de resolvê-los, como comunicação e documentação ágil.
3) Discutem técnicas como Scrum of Scrums para coordenar múltiplas equipes ágeis em projetos grandes e a importância de iterações na arquitetura ágil.
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Pedro Castilho
O documento discute fundamentos de arquitetura de software, incluindo: (1) O que é arquitetura de software e como estruturar sistemas em módulos, (2) A importância da modularidade e dependências entre módulos, (3) Preocupações arquiteturais como performance, escalabilidade e manutenibilidade.
1) O documento apresenta Rodrigo Branas, um especialista em Java com mais de 10 anos de experiência.
2) Discutem-se os problemas da abordagem tradicional de modelagem de software, como suposições altas e falta de feedback.
3) Defende-se uma abordagem incremental e iterativa de modelagem, com foco no código como modelo e feedback constante.
O documento discute a importância da sustentabilidade no desenvolvimento de software. Apresenta o conceito de código sustentável e como ele envolve a adoção de padrões e práticas que promovam a modularidade, reutilização e flexibilidade. Também descreve situações não sustentáveis como falta de instruções ou documentação e como implementar práticas de código sustentável como arquitetura, ferramentas e processos que permitam a evolução contínua do software.
O documento fornece uma introdução aos conceitos fundamentais de engenharia de software, incluindo:
1) Uma definição de software e suas características como invisibilidade, complexidade e mutabilidade;
2) Os principais modelos de processo de desenvolvimento de software e a importância da modelagem;
3) Os paradigmas orientados a objetos que dominam o desenvolvimento de software atual.
O documento fornece uma introdução sobre engenharia de software, abordando os seguintes pontos em menos de 3 frases:
1) Define software e suas características como invisibilidade, complexidade e mutabilidade.
2) Apresenta os principais modelos de desenvolvimento de software, paradigmas como orientação a objetos, e conceitos como classe, objeto e mensagem.
3) Discutem princípios da engenharia de software como encapsulamento e polimorfismo aplicados na modelagem orientada a objetos.
Aula 1
O que é software?
Quem faz o software?
Por que um software é importante?
Quais são os passos para se fazer um software?
Como tenho certeza que fiz um software corretamente?
O documento introduz os conceitos de engenharia de software, definindo-a como uma disciplina dedicada ao desenvolvimento sistemático de software. Apresenta as características, formas e mitos relacionados ao software, além de traçar um breve histórico da evolução do software. Também define os objetivos da engenharia de software e a diferença entre esta disciplina e a engenharia de sistemas, apresentando princípios, processos, modelagem e diagramas relacionados ao desenvolvimento de software.
Aula Teste Fatec Engenharia de Software IIIDalton Martins
O documento discute a importância da arquitetura de software no desenvolvimento de projetos de TI. Apresenta os principais problemas enfrentados por projetos, como falta de comunicação entre equipes, e argumenta que a arquitetura de software pode ajudar a documentar a complexidade dos sistemas e facilitar a compreensão compartilhada entre os diferentes atores envolvidos.
TDC 2012 - Fishbowl conversation sobre ArquiteturaLeandro Daniel
Slides com resumo do que aconteceu na sessão "fishbowl conversation" sobre arquitetura no TDC 2012, com a participação dos palestrantes e congressistas da trilha de arquitetura.
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
O documento apresenta brevemente os palestrantes Daniel Cukier e Rafael Prikladnicki, seus contextos acadêmicos e experiências com métodos ágeis. Também traz a agenda da apresentação "Introdução a Métodos Ágeis de Desenvolvimento de Software" com tópicos como princípios, problemas com abordagens tradicionais e alguns métodos ágeis.
Fundamentos Engenharia de Software.pptxRoberto Nunes
O documento fornece uma visão geral da engenharia de software, discutindo sua definição, objetivos, evolução histórica, desafios, práticas e mitos relacionados. É apresentada uma introdução aos principais conceitos, incluindo processos de software, métodos, ferramentas CASE e perfis profissionais.
O documento discute o conceito de DevOps, definindo-o como uma metodologia que promove a comunicação entre desenvolvedores de software e operações de TI. A metodologia busca produzir software de forma rápida e contínua através da integração entre as equipes. Além disso, discute os perfis profissionais relacionados a DevOps e as mudanças necessárias nas organizações para a adoção da metodologia.
O documento discute a jornada de um desenvolvedor para aplicar os princípios SOLID em projetos de software ágil. Apresenta os cinco princípios SOLID (SRP, OCP, LSP, ISP e DIP) e discute como aplicá-los de forma iterativa para melhorar a estrutura e legibilidade do código, focando em simplicidade, limpeza e expressividade. Também aborda como detectar problemas de projeto e como o software pode "apodrecer" devido a mudanças não planejadas.
A importancia de IHC no desenvolvimento de softwareFlavia Negrao
O documento discute a importância da interação humano-computador (IHC) no desenvolvimento de software. Apresenta a trajetória da IHC desde os primórdios da computação até hoje, quando usuários não especialistas usam diversos dispositivos eletrônicos. Também aborda conceitos como usabilidade, objetivos da IHC e como a área deve ser incorporada no processo de desenvolvimento para garantir sistemas intuitivos e de fácil uso.
O documento discute a engenharia de software, incluindo sua definição, características, evolução, aplicações, causas da "crise de software" e respostas a ela. Em particular, o documento descreve como a aplicação sistemática de processos de engenharia de software pode ajudar a superar problemas como atrasos, custos elevados e baixa qualidade.
Software fácil de usar não é difícil de programarHarlley Oliveira
O documento discute técnicas para desenvolver software que seja compatível com o modelo mental do usuário, incluindo entrevistas, questionários, prototipação, testes de usabilidade, card sorting e log. Também apresenta as dez dicas heurísticas de Nielsen para projeto de interface do usuário.
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquitetoLeandro Daniel
O documento discute a importância da arquitetura de software evolucionária e do design emergente. A arquitetura é constituída pelas decisões mais difíceis de mudar e deve haver o mínimo possível delas. Uma abordagem evolucionária envolve começar com um pequeno código e acrescentar funcionalidades gradualmente, permitindo que o design se desenvolva.
Este documento apresenta uma introdução sobre design de interfaces de usuário, abordando tópicos como: compreender a importância de centrar o design no usuário; conhecer os princípios do projeto centrado no usuário; e conhecer técnicas que auxiliam a projetar para o usuário.
O documento discute conceitos fundamentais de design centrado no usuário, usabilidade, comunicabilidade e experiência do usuário no contexto de projeto de software. Aborda a importância de focar nas necessidades do usuário, avaliar a perspectiva do usuário e garantir que os sistemas sejam fáceis de usar e compreender.
Semelhante a Arquitetura de Software - Uma Visão Crítica (20)
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
2. Quem sou eu?
- Desenvolvedor há 12 anos
- Atualmente “Desenvolvedor Gerente”
- Compiladores
- Aplicativos
- Embarcados
- Um pouco de tudo
- Cozinheiro nas horas vagas
3. O que faço atualmente
- CTO - linkedin.com/company/comadre
- Arquiteto
- Líder técnico
- Pau pra toda obra
4. Sobre o que vamos falar hoje
- Por que uma visão crítica?
- O que é arquitetura de software?
- Por que aprender arquitetura de software?
- Para quem é a arquitetura de software?
- Arquitetando sem perder a agilidade
- Como desenvolver pensamento arquitetural?
5. Sobre o que NÃO vamos falar hoje
- Linguagens de programação
- Ferramentas
- UML
- Como montar um sistema que faz X
7. Por que uma visão crítica?
- Quem é responsável pela arquitetura?
- Quem é afetado pela arquitetura?
- Para que serve a arquitetura?
- O que, afinal, significa arquitetar um sistema?
8. Por que uma visão crítica?
- Quem é responsável pela arquitetura?
- Quem é afetado pela arquitetura?
- Para que serve a arquitetura?
- O que, afinal, significa arquitetar um sistema?
12. Por que uma visão crítica?
- Quem é responsável pela arquitetura?
- Quem é afetado pela arquitetura?
- Para que serve a arquitetura?
- O que, afinal, significa arquitetar um sistema?
14. Quem é afetado pela arquitetura?
Arquiteto(a) Devs
Público-alvo
15. Por que uma visão crítica?
- Quem é responsável pela arquitetura?
- Quem é afetado pela arquitetura?
- Para que serve a arquitetura?
- O que, afinal, significa arquitetar um sistema?
17. No modelo tradicional,
a arquitetura é uma
forma de gerir o
trabalho dos devs.
Para que serve a arquitetura?
18. Queremos propor que
a arquitetura seja
pensada de forma
colaborativa.
Para que serve a arquitetura?
19. Para que serve a arquitetura?
- Quem é responsável pela arquitetura?
- Quem é afetado pela arquitetura?
- Para que serve a arquitetura?
- O que, afinal, significa arquitetar um sistema?
34. Por que aprender arquitetura de software?
- Características do software e promoção de qualidade
- Decisões conscientes e inconscientes
- Coordenação, comunicação e vocabulário
- O valor da arquitetura na carreira
35. Por que aprender arquitetura de software?
- Características do software e promoção de qualidades
- Decisões conscientes e inconscientes
- Coordenação, comunicação e vocabulário
- O valor da arquitetura na carreira
41. Por que aprender arquitetura de software?
- Características do software e promoção de qualidades
- Decisões conscientes e inconscientes
- Coordenação, comunicação e vocabulário
- O valor da arquitetura na carreira
45. Tornar a arquitetura
colaborativa e ágil é uma
forma de entender,
visualizar e controlar o
impacto das decisões
Decisões conscientes e inconscientes
46. Por que aprender arquitetura de software?
- Características do software e promoção de qualidades
- Decisões conscientes e inconscientes
- Coordenação, comunicação e vocabulário
- O valor da arquitetura na carreira
47. Por que aprender arquitetura de software?
- Características do software e promoção de qualidades
- Decisões conscientes e inconscientes
- Coordenação, comunicação e vocabulário
- O valor da arquitetura na carreira
49. Para quem é a arquitetura de software?
- Níveis de abstração e visões de sistema
- O modelo C4
- Contextos
- Containers
- Componentes
- Código
- Níveis de abstração, modularidade e coesão
50. Para quem é a arquitetura de software?
- Níveis de abstração e visões de sistema
- O modelo C4
- Contextos
- Containers
- Componentes
- Código
- Níveis de abstração, modularidade e coesão
56. Preocupações no nível de contextos
- Quem são os stakeholders do sistema?
- Com quais outros sistemas o sistema interage?
- Quais os interesses de cada stakeholder?
- Quais são as necessidades de cada sistema?
- O que pode levar o contexto a mudar?
58. Preocupações no nível dos containers
- Quem são os produtos que precisamos construir?
- Quais necessidades cada produto irá cumprir?
- Quem irá interagir com cada sistema?
- Quem irá construir cada sistema?
- Como o processo de produção dos sistemas irá interagir com a estrutura da
empresa?
- O que pode levar os containers a mudarem?
60. Preocupações no nível dos componentes
- Qual a responsabilidade de cada componente? (1 por componente)
- Cada componente define uma unidade coesa?
- Cada componente define uma unidade desacoplada?
- As fronteiras entre os componentes são bem-definidas?
- O que pode levar os componentes a mudarem?
62. Preocupações no nível de código
- Qual a responsabilidade de cada classe/módulo/entidade? (1 por entidade)
- O código segue boas práticas?
- As fronteiras entre os componentes são bem-definidas?
- Aqui já estamos saindo da Arquitetura e entrando na Engenharia de
Software!
65. Arquitetando sem perder a agilidade
- Design é redesign
- Decisões são experimentos
- Fazer é aprender
- Padrões são fundamentos
- Quanto design é design demais?
66. Arquitetando sem perder a agilidade
- Design é redesign
- Decisões são experimentos
- Fazer é aprender
- Padrões são fundamentos
- Quanto design é design demais?
68. Arquitetando sem perder a agilidade
- Design é redesign
- Decisões são experimentos
- Fazer é aprender
- Padrões são fundamentos
- Quanto design é design demais?
69. Você vai errar. Pense
em decisões de
arquitetura como
hipóteses.
Decisões são experimentos
70. Arquitetando sem perder a agilidade
- Design é redesign
- Decisões são experimentos
- Fazer é aprender
- Padrões são fundamentos
- Quanto design é design demais?
71. O seu contexto é único.
Apenas fazendo você vai
saber o que funciona
nele.
Fazer é aprender
72. Arquitetando sem perder a agilidade
- Design é redesign
- Decisões são experimentos
- Fazer é aprender
- Padrões são fundamentos
- Quanto design é design demais?
75. Padrões são bases.
Encaixe eles na sua
arquitetura, não encaixe
sua arquitetura nos
padrões.
Padrões são fundamentos
76. Arquitetando sem perder a agilidade
- Design é redesign
- Decisões são experimentos
- Fazer é aprender
- Padrões são fundamentos
- Quanto design é design demais?
79. Como desenvolver pensamento arquitetural?
- Empatia e investigação
- Divergência e convergência
- Desenvolva sua biblioteca de padrões
- Modelos mentais
80. Como desenvolver pensamento arquitetural?
- Empatia e investigação
- Divergência e convergência
- Desenvolva sua biblioteca de padrões
81. Como desenvolver pensamento arquitetural?
- Empatia e investigação
- Divergência e convergência
- Desenvolva sua biblioteca de padrões
82. Como desenvolver pensamento arquitetural?
- Empatia e investigação
- Divergência e convergência
- Desenvolva sua biblioteca de padrões
84. Em resumo
- Arquitetura existe em um contexto
- Arquitetura é feita para pessoas
- Arquitetura é sobre comunicação e decisões
- Pessoas diferentes precisam ver níveis diferentes do sistema
- Padrões são bases
- Arquitetura ágil é um processo de iteração