Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman
Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman Engenharia de Software Pressman
Princípios da engenharia de software (marcello thiry)Marcello Thiry
Apresentações para as disciplinas de Engenharia Software (graduação)
Princípios da Engenharia de Software
University of Vale do Itajaí
Univali
Incremental Tecnologia
Versão em Português
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Marcello Thiry
Material de aula das disciplinas de Engenharia de Software
Introdução e Motivação
Universidade do Vale do Itajaí
Univali
Incremental Tecnologia
Versão em Português
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?
Princípios da engenharia de software (marcello thiry)Marcello Thiry
Apresentações para as disciplinas de Engenharia Software (graduação)
Princípios da Engenharia de Software
University of Vale do Itajaí
Univali
Incremental Tecnologia
Versão em Português
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Marcello Thiry
Material de aula das disciplinas de Engenharia de Software
Introdução e Motivação
Universidade do Vale do Itajaí
Univali
Incremental Tecnologia
Versão em Português
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?
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
E-Book em português com coleções de artigos do Portal TechNet Wiki sobre Test Manager.
Sobre o e-Book: Artigos do Test Manager
Esse e-Book tem como objetivo trazer artigos do Portal do TechNet Wiki, selecionados por assuntos e ordem, ajudando a comunidade com informações relevantes sobre determinado assunto, soluções, ferramentas, tecnologia ou conjunto de processos.
Sobre o conteúdo do e-Book
Esse e-Book aborda o tema “Testes de Software” utilizando as soluções de Application Lifecycle Management da Microsoft. A solução da Microsoft em Testes de Software é independente de qual a linguagem de programação que o software foi escrito ou ambiente a ser testado. O e-Book divide-se em três seções com coleções de artigos em seu formato original extraídos do Portal do TechNet Wiki Brasil.
Iniciando
Artigos que abordam de forma geral, o que é testes de software e como definir o escopo de projeto de seu teste de software.
Planejando e Executando
Artigos relacionados a como configurar, planejar e executar seus testes de software, ambientes e gestão de configuração.
QCon Rio - Mudando o foco: de processos para pessoasIgor Macaubas
Nesta palestra, será compartilhada a evolução da agilidade na Globo.com, que saiu do foco de processos e passou a focar em cultura e pessoas.
Mostraremos como estamos dando os próximos passos na direção de uma agilidade acelerada na empresa, sem perder de vista os principais valores e princípios do manifesto ágil
Também será tratado o nosso case da transmissão ao vivo da Copa do Mundo 2014 pela internet, e como essa mudança de foco nos ajudou a fazer desse projeto um sucesso.
Apresentações utilizadas no painel sobre "Desenvolvimento Colaborativo de Software" realizado em 31/03/2008 sob o patrocínio de Jorge Steffens, CEO Datasul.
Redes de Computadores - GT 6 - Apresentação Semináriojuniinhoor
Apresentação do GT 6 - Redes de Computadores, da matéria Fundamentos da Computação para S.I, ministrada pelo Prof PhD Rogério Patrício na UFS. Integrantes: Davi Freire, Douglas Deda, Rafael Italo e Valdir Junior. Temas abordados: Internet das coisas e Ubiquidade | Domótica: Projeto de casas, escritórios e edifícios inteligentes | Serviços e Aplicações de Cidades Inteligentes. 16/08/2017.
Essa apresentação fala sobre software livre e software público. Retrata as características do Portal do Software Público Brasileiro e alguns software que se encontram hospedados nesse portal.
Ethical Decisions in a Wicked World: The Role of Technologists, Entrepreneurs...Claudia Melo
In this talk, we will discuss the meaning of wicked problems and current strategies to approach them, since reductionism and solutionism paradigms do not work.
We will discuss ethics and how it brings a crucial set of principles that help us navigate complexity. What are the main ethical issues (on tensions?) that technologists need to be particularly aware of, as they are already generating unintended results in the context of complex global wicked problems.
This discussion leads us to a call to action, when we will take a look in some of the current initiatives that support technologists to deal with wicked problems in a more ethical way. For instance, EthicalOS and Ethical Design.
Our goal is to understand what are the things we can learn (and unlearn) and start (and stop) doing to be better equipped on this journey. Not only as technologists, but as entrepreneurs, leaders of organizations, and society members.
O papel da Agilidade na Economia Digital Descrição, Agile Day, ScopusClaudia Melo
Organizações de todo o mundo têm realizado transformações digitais para tornarem-se não apenas mais eficientes, mas mais inovativas e estratégicas em plena Economia Digital. A explosão de novos métodos e tecnologias como métodos ágeis, entrega contínua, serviços online, big data, social media, mobile ou cloud computing sem dúvida expande as oportunidades de alcance dessas transformações. Nesta talk veremos o papel da agilidade nas estratégias de transformação digital das organizações e como dar passos concretos para ser mais ágil.
Diálogo TCU: Governos em Transformação DigitalClaudia Melo
Por meio da inovação e do governo digital, as administrações públicas em todo o mundo podem ser mais eficientes, oferecerem melhores serviços e responder às exigências de transparência e prestação de contas. Governos de vários países têm realizado transformações digitais para tornarem-se não apenas mais eficientes, mas mais estratégicos. A explosão de novos métodos e tecnologias como métodos ágeis, entrega contínua, serviços online, big data, social media, mobile ou cloud computing sem dúvida expande as oportunidades de alcance dessas transformações. Nesta talk veremos algumas das estratégias bem-sucedidas de transformação digital em governos, além de ações estratégicas comuns. No final, questiono sobre o quanto nós, brasileiros, acreditamos que podemos fazer isso acontecer (e, sim, claro que podemos, mas acreditamos?).
Ethics and Sustainability for Techies and EntrepreneursClaudia Melo
The challenges of the Digital Age creates a sea of opportunities for technologists and entrepreneurs. Developing (digital) solutions transforms the economic, political, cultural, and social reality of countries.
I gave this talk at "Camp de Ecoinovação Agrotech", promoted by UN Environment Brazil, SEBRAE, and Embrapa as an introduction to ethics and sustainability aimed at entrepreneurs and technologists who want to learn how to position themselves as professionals in the face of so many challenges and opportunities of the 21st century.
#CampDeEcoinovação #DesafioAgrotech #MeioAmbiente
A Method for Evaluating End-User Development TechnologiesClaudia Melo
Presentation at Americas Conference on Information Systems, 2017. Paper abstract:
End-user development (EUD) is a strategy that can reduce a considerable amount of business demand on
IT departments. Empowering the end-user in the context of software development is only possible
through technologies that allow them to manipulate data and information without the need for deep
programming knowledge. The successful selection of appropriate tools and technologies is highly
dependent on the context in which the end-user is embedded. End-users should be a central piece in any
software package evaluation, being key in the evaluation process in the end-user development context.
However, little research has empirically examined software package evaluation criteria and techniques in
general, and in the end-user development context in particular. This paper aims to provide a method for
technology evaluation in the context of end-user development and to present the evaluation of two
platforms. We conclude our study proposing a set of suggestions for future research.
CSBC'2017 - Diversidade de Gênero na Computação Claudia Melo
As diferenças globais entre gêneros vêm sendo alvo de inúmeras discussões, pesquisas e ações. De acordo com estudo do Fórum Econômico Mundial, não há paridade entre homens e mulheres no que diz respeito à participação e oportunidade econômica, educação, capacitação política e saúde e sobrevivência. Esse resultado se repete tanto globalmente quanto nacionalmente, desde o primeiro relatório anual publicado em 2006.
O gap de gênero estende-se à área de Computação, com características peculiares. Nos EUA, por exemplo, a participação de mulheres em computação vem caindo nas últimas décadas, as mulheres lá ocupam 25% do mercado de tecnologia. No Brasil, as mulheres ocupam 20%. Por outro lado, a Computação nunca foi tão importante economicamente como é hoje, na chamada Economia Digital. Como construir o futuro digital com tamanha inequidade de gênero no setor? Além disso, a própria conceituação de gênero de forma binária limita as discussões e inclusão de todas as pessoas com enorme potencial na área.
Este painel trará representantes de diversas áreas de conhecimento relacionadas às questões de gênero na Computação, com o objetivo principal de ampliar o conhecimento dos participantes no tema e refletir sobre os problemas da área. A universidade tem papel importante na linha de vida feminina e vamos discutir iniciativas existentes (e também as possíveis) desde o 1o e 2o graus, na própria universidade, nas empresas, em ONGs e no governo.
Painel:
Profa. Dra. Claudia Melo (UnB e Mulheres na Tecnologia)
Prof. Dr. Cristiano Maciel (UFMT e Meninas Digitais)
Profa. Dra. Debora Abdalla (UFBA e Onda Digital)
Gabriela Mattos (PyLadies São Carlos e Women@Comp)
Gabriele Garcia (Co-founder Think Twice)
The challenges of the Digital Age creates a sea of opportunities for technologists. Developing software transforms the economic, political, cultural, and social reality of countries.
On the one hand, a larger part of the population does not know the downside of IT, which does not decrease our great responsibility. On the other hand, technologists do not always know how to make ethical decisions in day-to-day systems development. There is also a long discussion about the role of technology in the sustainability of the planet: after all, when IT is good or bad?
This lecture is an introduction to ethics and sustainability aimed at technologists who want to learn how to position themselves as professionals in the face of so many challenges and opportunities of the 21st century.
O mindset ágil traz mudanças importantes na forma e nas prioridades da gestão de projetos e produtos. Esta aula convidada mostra as principais mudanças na forma de entender gestão, além de exemplos de planejamento em diferentes níveis de detalhamento. A partir de trabalho científico recente sobre princípios de gestão ágil, discutimos 4 princípios gerais que norteiam times ágeis. Liderança no contexto ágil também é discutida.
Exploring the frontiers of Agile Development in the Digital EraClaudia Melo
www.claudiamelo.org
Exploring implications on agile software development research and science on the Digital Era. Socio-technical systems and transdisciplinarity as possible new ways to conduct valuable research.
Web.br 2016 Keynote presentation. How technology shapes society and society shapes technology, way before the Internet. In the Digital Era, our web technologies increases the biases we already have. It's our choice what technologies we want to build and which society we want to shape.
Organizações usam, frequentemente, Indicadores-chave de Desempenho (ou KPIs) e métricas de forma disfuncional, o que resulta na manipulação das medições, redução do desempenho, comportamentos indesejáveis e foco em coisas sem importância. Apresentamos 9 armadilhas comuns que nós vemos organizações e gerentes caírem e 9 formas de evitá-las.
Vou contar a história sobre como os Métodos ágeis surgiram para ajudar times e organizações a entregarem software mais rápido e com maior qualidade, em um mercado extremamente competitivo e turbulento. Não basta usarmos práticas e tecnologias do mundo ágil para atingirmos os objetivos de um time, projeto ou produto de software. É preciso *ser* ágil, abraçar valores e princípios ágeis. Neste bate-papo, vou compartilhar um pouco da minha experiência sobre agilidade e dar dicas que podem ajudar os futuros profissionais de tecnologia a se posicionarem frente aos desafios atuais e serem, de fato, ágeis.
Governos em transformação digital: novas tecnologias e métodos, velhos desafi...Claudia Melo
www.claudiamelo.org/digitaltransformation
Por meio da inovação e do governo digital, as administrações públicas em todo o mundo podem ser mais eficientes, oferecerem melhores serviços e responder às exigências de transparência e prestação de contas. Governos de vários países têm realizado transformações digitais para tornarem-se não apenas mais eficientes, mas mais estratégicos. A explosão de novos métodos e tecnologias como métodos ágeis, entrega contínua, serviços online, big data, social media, mobile ou cloud computing sem dúvida expande as oportunidades de alcance dessas transformações. Nesta talk veremos algumas das estratégias bem-sucedidas de transformação digital em governos, assim como (velhos conhecidos) problemas que insistem em aparecer em iniciativas de mudança. Talvez seja a hora de resolvermos os problemas fundamentais primeiro.
Minicurso: Uma Introdução ao Desenvolvimento de Software LeanClaudia Melo
O curso aborda: Motivação, Histórico, Valores, Princípios, Práticas, Pergunte aos Poppendieck e um pouco de Lean Startup.
Foi ministrado durante o SBQS 2012 e também está disponível em: http://www.agilcoop.org.br/sites/ime.usp.br.agilcoop/files/sbqs-slides.pdf
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
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).
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.
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.
1. 1
ENGENHARIA DE SOFTWARE - AULA 01
INTRODUÇÃO À ENGENHARIA
DE SOFTWARE
PROF. DRA. CLAUDIA MELO
08/Mar/2018
@claudia_melo claudiamelo.org
2. 2
O QUE É SOFTWARE?
• São programas de computadores, em suas
diversas formas, além da documentação
associada.
• Um programa é um conjunto de soluções
algorítmicas, codificadas em uma linguagem
de programação, executado em uma máquina
real (hardware).
• Software é um produto conceitual e lógico. É
empacotamento de conhecimento.
Características
• Invisível
• Complexo
• Mutável
• Em conformidade com o
ambiente
[Brooks, F. No Silver Bullet]
1o software foi escrito por Ada Lovelace, século 19
3. 3
QUÃO BOM DEVE SER O SOFTWARE?
•Manutenibilidade: O software deve ser escrito de forma
que possa evoluir para atender às necessidades dos
clientes.
•Confiança e proteção: A confiança do software inclui
confiabilidade, proteção e segurança.
•Eficiência: O software não deve desperdiçar os recursos
do sistema, como memória e ciclos do processador.
•Aceitabilidade: O software deve ser aceitável para o
tipo de usuário para o qual foi projetado.
4. 4
O QUE É ENGENHARIA DE SOFTWARE?
•Disciplina dedicada a todos os aspectos da produção de
software [Sommerville, 2011].
•Aplicação de teoria, modelos, formalismos, técnicas e
ferramentas da ciência da computação e áreas afins
para o desenvolvimento sistemático de software.
• Aplicação de métodos, técnicas e ferramentas para o
gerenciamento do processo de desenvolvimento.
5. 5
QUANDO ISSO SURGIU PARA A HUMANIDADE?
•Surgimento do termo: 1968, Conferência da OTAN, por
Margaret Hamilton* (líder do time de software, Apollo 11).
•Objetivo: resolver a “Crise do Software”
•Software é entregue atrasado, acima do custo, com
falhas. Enquanto o hardware fica mais barato (Lei de
Moore), o custo do software só aumenta.
*Detalhes em: https://www.nasa.gov/50th/50th_magazine/scientists.html
6. 6
AINDA ESTAMOS EM CRISE?
SIM!
Inúmeras falhas de projetos ainda
existem (e os sistemas são cada vez mais
complexos).
Milhões e bilhões desperdiçados em UM
único sistema!
http://www.bbc.co.uk/news/uk-politics-24130684
http://www.independent.co.uk/life-style/health-and-families/health-news/nhs-pulls-the-plug-on-its-11bn-it-system-2330906.html
http://www.computerweekly.com/news/2240187478/Why-agile-development-failed-for-Universal-Credit
8. SIM!
Inúmeras falhas de projetos ainda
existem (e os sistemas são cada vez
mais complexos).
Milhões e bilhões desperdiçados em
UM único sistema!
8
AINDA ESTAMOS EM CRISE?
MAS…
Não estamos perdidos!
Há inovação acelerada da arte de desenvolve software
e forte comunidade global
(Internet, Conferências, Grupos)
—> somos muito bons em formar comunidade!
(obrigada, pessoal do SW livre, por nos ensinar isso :-)
9. 9
IDEIA CENTRAL DA ENGENHARIA DE SW: PROCESSOS
•É um conjunto de atividades que leva ao
desenvolvimento do produto software
•Um processo define:
•Quem faz, o que faz e quando fazer
•Nem sempre diz como fazer
• Não existe um processo ideal
•Organizações desenvolvem seus próprios processos
10. 10
MODELOS DE PROCESSOS
•Oferecem um roteiro:
• Definem atividades para o
desenvolvimento do software
• Especificam os produtos de
cada atividade
• Indicam os papéis das
pessoas envolvidas
•Exemplos de Modelos de processo:
•Cascata
•Iterativo incremental
•Espiral (RUP)
•Prototipagem
•Métodos ágeis
16. A NATUREZA DO TRABALHO MUDOU NO SÉCULO 21
Otimização
Mecânico
Centrado em processo
Estável, previsível
Indivíduo
Eficiência
Adaptação
Orgânico
Centrado em pessoas
Turbulento, difícil de prever
Time
Trabalho do conhecimento
Produtividade
=
Saída/Entrada
Produtividade do
Trabalhador do conhecimento
Claudia Melo (2013). Productivity of agile teams: an empirical evaluation of factors and monitoring processes
http://www.teses.usp.br/teses/disponiveis/45/45134/tde-25052015-120242/en.php
17. 17
QUEM FAZ SOFTWARE?
• Usuários finais (End-user development)
• Times profissionais com múltiplos
papéis:
• Desenvolvedores/as (DEVs)
• Analistas de qualidade (QAs)
• Analistas de negócio (BAs)
• Designer de experiência do usuário (UXers)
• Gerentes de projeto (PMs)
• Clientes (ou Product Owners)
• Múltiplas formações
18. 18
A PROFISSÃO
• Altíssima demanda por engenheiros/
as de software qualificados/as
• Mercado global, múltiplos tipos de
organizações
• Times de variados tamanhos e
dispersão geográfica
• Serviço/Produto > Projeto
• Mobile First
• Complexidade! Complexidade!
Complexidade!
• Adaptabilidade
• Experiência do usuário
19. 19
CYBERETHICS DEFINITION AND SOME INITIATIVES
https://on.acm.org/c/Code-2018
"Computers are essen(ally a
malleable, universally applicable
tool, so the poten(al applica(ons
for human acAon and
consequent ethical issues are
novel and almost limitless”
“Study of moral, legal, and social
issues involving cybertechnology”
“[…] formulaAon and jusAficaAon
of policies for the ethical use of
such technology"
20. 20
SOME EXAMPLES OF CYBERTECH
CONTROVERSIES
Innovation is a result of the combination and evolution of complementary
technologies.
CYBERTECHNOLOGIES CONTROVERSIAL PRACTICES OR FEATURES, FROM A MORAL PERSPECTIVE
Data Science Discoveries in data mining, propensity and group privacy.
Cloud Compu8ng Consumer privacy, reliability of services, data ownership, and technology
neutrality.
Algorithms Misguided evidence leading to bias; Unfair outcomes leading to discrimina8on,
transforma8on effects leading to challenges for autonomy, and traceability leading
to moral responsibility.
Digital Business Models Intellectual property rights, economic market impact and customer rela8onship.
Internet; IoT; Mobile;
Social
Individual privacy preferences, access controls, emergent social conven8ons and
infrastructures for government surveillance.
SoFware and Society;
Cyberlaw
Cryptocurrency, net neutrality, proprietary code and content and freedom of
speech.
Secure SoFware
Engineering
Purposeful human errors injec8on, soFware piracy and soFware development for
espionage, extor8on, vandalism and theF.
Ar8ficial Intelligence;
Robo8cs
Machine learning, bias in natural language processing and robots as sexual
partners, caregivers, and servants.
C. d. O. Melo and T. C. de Sousa, "Reflections on Cyberethics Education for Millennial Software Engineers," 2017 IEEE/ACM 1st International Workshop
on Software Engineering Curricula for Millennials (SECM), Buenos Aires, 2017, pp. 40-46.