(1) O documento introduz o tema de engenharia de software, discutindo sua origem e motivação. (2) Apresenta os principais tópicos que serão abordados, incluindo a crise do software, características de software e qualidade. (3) Define engenharia de software como a aplicação sistemática de métodos científicos e empíricos para criar, melhorar e implementar software.
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 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 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
Teste de Usabilidade - Expandindo a usabilidade na sua empresaLuiz Agner
Material produzido pelos alunos da Pós em Ergodesign de Interfaces, Usabilidade e Arquitetura de Informação da PUC-Rio (2013). Mini-seminários sobre o livro "Handbook of Usability Testing" (Rubin e Chrisnell). - Prof. Luiz Agner
Teste de Usabilidade - Expandindo a usabilidade na sua empresaLuiz Agner
Material produzido pelos alunos da Pós em Ergodesign de Interfaces, Usabilidade e Arquitetura de Informação da PUC-Rio (2013). Mini-seminários sobre o livro "Handbook of Usability Testing" (Rubin e Chrisnell). - Prof. Luiz Agner
SCRUM e o FDD são Métodos Ágeis que são utilizados para desenvolvimento de software Fizemos uma pequena demonstração de como utilizar o SCRUM e FDD (Featured Driven Development – Desenvolvimento Guiada por Funcionalidade) juntos.
O SCRUM é utilizado para o Gerenciamento e o FDD como parte das práticas de Engenharia de Software. Ambos se complementam.
Esta apresentação demonstra como combinar os métodos ágeis ( SCRUM, FDD e XP) para tornar a Engenharia de Software 100% Ágil.
O SCRUM é responsável pela Gestão de Projeto, o FDD pelos requisitos de software e as práticas XP pela codificação, testes e refactoring.
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Club Alliances
Diapositives préparées par Loic Simon [IBM - Club Alliances - www.cluballiances.com] à l'occasion d'une table ronde organisée dans le cadre du Forum Opti'Cost [http://www.opticost-paris.com] sur le thème : "Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des offres plus souples et plus performantes ?"
Vortrag »Freie Software und ihre Unentbehrlichkeit in der modernen Informationsgesellschaft« von Torsten Grote (FSFE), gehalten beim Treffen der AG Digitale Demokratie am 10.10.2009 in Berlin
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
Palestra apresentada no FEMUG-ABC com o intuito de convencer os desenvolvedores da necessidade de se aprender/estudar JavaScript e como se adequar ao mercado de trabalho atual.
Versão original com anotações, links importantes e os gifs legais: https://docs.google.com/presentation/d/15St9PXpif87PIqWnIuP3Xfr-kOPJvnssWIt_cLpnoRI/edit?usp=sharing
Slides da palestra Mercado de Trabalho em Tecnologia, ministrada pelo professor Gilberto Caldeira, no Circuito TI do Senac em 2009 na unidade de Ribeirão Preto.
Semelhante a Engenharia de Software - Introdução e Motivação (Marcello Thiry) (20)
Expected Monetary Value - EMV (Project Management Series)Marcello Thiry
Project Management Course
Expected Monetary Value
EMV
Universidade do Vale do Itajaí
University of Vale do Itajaí
Univali
Incremental Tecnologia
English version
Valor Monetário Esperado - VME (Série Gerência de Projetos)Marcello Thiry
Curso de Gerência de Projetos
Valor Monetário Esperado
Universidade do Vale do Itajaí
University of Vale do Itajaí
Univali
Incremental Tecnologia
Versão em Português
Object-oriented programming Undergraduate Course Presentations
java.io streams and files in Java
University of Vale do Itajaí
Univali
Incremental Tecnologia
English version
Apresentações para as disciplinas de Orientação a Objetos (graduação)
java.io fluxos (streams) e arquivos em Java
Universidade do Vale do Itajaí
Univali
Incremental Tecnologia
Software Engineering Undergraduate Course Presentations
Software Engineering Principles
University of Vale do Itajaí
Univali
Incremental Tecnologia
English version
Software Engineering - Introduction and Motivation (Marcello Thiry)Marcello Thiry
Software Engineering Undergraduate Course Presentations
Introduction and Motivation
University of Vale do Itajaí
Univali
Incremental Tecnologia
English version
POO - Unidade 2 (parte 3) - Diagrama de Sequência (versão 1)Marcello Thiry
Material utilizado na disciplina de Programação Orientada a Objetos (animações e outros efeitos foram perdidos no carregamento). Ciência da Computação (3o período). Universidade do Vale do Itajaí - Campus Kobrasol.
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...Marcello Thiry
Material utilizado na disciplina de Programação Orientada a Objetos (animações e outros efeitos foram perdidos no carregamento). Ciência da Computação (3o período). Universidade do Vale do Itajaí - Campus Kobrasol.
POO - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)Marcello Thiry
Material utilizado na disciplina de Programação Orientada a Objetos (animações e outros efeitos foram perdidos no carregamento). Ciência da Computação (3o período). Universidade do Vale do Itajaí - Campus Kobrasol.
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)Marcello Thiry
Material utilizado na disciplina de Programação Orientada a Objetos (animações e outros efeitos foram perdidos no carregamento). Ciência da Computação (3o período). Universidade do Vale do Itajaí - Campus Kobrasol.
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)Marcello Thiry
Material utilizado na disciplina de Programação Orientada a Objetos (animações e outros efeitos foram perdidos no carregamento). Ciência da Computação (3o período). Universidade do Vale do Itajaí - Campus Kobrasol.
POO - Unidade 1 (parte 1) - Princípios e conceitos da Orientação a Objetos (v...Marcello Thiry
Material utilizado na disciplina de Programação Orientada a Objetos (animações e outros efeitos foram perdidos no carregamento). Ciência da Computação (3o período). Universidade do Vale do Itajaí - Campus Kobrasol.
Slides Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
LIVRO MPARADIDATICO SOBRE BULLYING PARA TRABALHAR COM ALUNOS EM SALA DE AULA OU LEITURA EXTRA CLASSE, COM FOCO NUM PROBLEMA CRUCIAL E QUE ESTÁ TÃO PRESENTE NAS ESCOLAS BRASILEIRAS. OS ALUNOS PODEM LER EM SALA DE AULA. MATERIAL EXCELENTE PARA SER ADOTADO NAS ESCOLAS
Atividade - Letra da música "Tem Que Sorrir" - Jorge e MateusMary Alvarenga
A música 'Tem Que Sorrir', da dupla sertaneja Jorge & Mateus, é um apelo à reflexão sobre a simplicidade e a importância dos sentimentos positivos na vida. A letra transmite uma mensagem de superação, esperança e otimismo. Ela destaca a importância de enfrentar as adversidades da vida com um sorriso no rosto, mesmo quando a jornada é difícil.
proposta curricular para educação de jovens e adultos- Língua portuguesa- anos finais do ensino fundamental (6º ao 9º ano). Planejamento de unidades letivas para professores da EJA da disciplina língua portuguesa- pode ser trabalhado nos dois segmentos - proposta para trabalhar com alunos da EJA com a disciplina língua portuguesa.Sugestão de proposta curricular da disciplina português para turmas de educação de jovens e adultos - ensino fundamental. A proposta curricular da EJa lingua portuguesa traz sugestões para professores dos anos finais (6º ao 9º ano), sabendo que essa modalidade deve ser trabalhada com metodologias diversificadas para que o aluno não desista de estudar.
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Biblioteca UCS
A biblioteca abriga, em seu acervo de coleções especiais o terceiro volume da obra editada em Lisboa, em 1843. Sua exibe
detalhes dourados e vermelhos. A obra narra um romance de cavalaria, relatando a
vida e façanhas do cavaleiro Clarimundo,
que se torna Rei da Hungria e Imperador
de Constantinopla.
proposta curricular da educação de jovens e adultos da disciplina geografia, para os anos finais do ensino fundamental. planejamento de unidades, plano de curso da EJA- GEografia
para o professor que trabalha com a educação de jovens e adultos- anos finais do ensino fundamental.
4. Aqui diz que iremos
aprender Engenharia
de Software!!
http://i0.wp.com/www.nerdglaze.com/wp-
content/uploads/2013/08/nerdy-dude.jpg?resize=450%2C305
16. marcello.thiry@gmail.com
Conjunto de programas de
computador, procedimentos e possível
documentação associada, e dados
relacionados à operação de um
sistema de computador
Software.
(IEEE Std 610.12.1990)
23. Back in the day...
Popular Science, Jan 1965, 107
Business Week,
Nov 5, 1966, 127.
http://thecomputerboys.com/?tag=crisis
http://thecomputerboys.com/?tag=crisis
25. marcello.thiry@gmail.com
Late 1960s, early 1970s...
•Vários projetos de software estavam
falhando ou sendo abandonados
• Atrasos
• Acima do orçamento
• Software não confiável e de difícil
manutenção
• Dificuldade em atender aos
requisitos dos clientes
A crise...
https://kathleenkerridge.files.wordpress.com/2015/02/depre
ssion-week-image-300x300.jpg?w=300
26. marcello.thiry@gmail.com
Late 1960s, early 1970s...
•Computadores mais potentes e linguagens
de programação mais robustas
• Crescimento da demanda
• Software mais complexos
• Mais pessoas envolvidas
A crise...
https://pamsblog666.files.wordpress.com/2011/06/computer20studies.jpg
27. marcello.thiry@gmail.com
Late 1960s, early 1970s...
•Formação de profissionais
• Metodologias
• Comunicação com clientes
• Trabalho em equipe
A crise...
http://eolocomunicacion.com/wp-content/uploads/2015/05/fusionyadquisiciondempresas-e1431067600969.png
30. marcello.thiry@gmail.com
The avionics system in the F-22 Raptor
consists of about 1.7 Million LOC
The Boeing’s 787 Dreamliner contains about 6.5
million LOC
A premium-class automobile contains close to
100 million LOC
http://spectrum.ieee.org/transportation/systems/this-car-runs-on-code
LOC = lines of software code
http://3.bp.blogspot.com/--
ae42w82PVo/VEU2EOJmQXI/AAAAAAAABoM/x5vv
azR_BQM/s1600/homer-screaming.gif
31. marcello.thiry@gmail.com
Computação ubíqua ou pervasiva?
As pessoas nem percebem mais como
a computação faz parte do dia a dia
delas
E qual o impacto
disso no software?
http://betanews.com/wp-
content/uploads/2014/09/Internet-of-things.jpg
32. marcello.thiry@gmail.com
Você percebe a relevância do
software nos dias de hoje?
E qual é o seu papel nisso tudo?
https://portalbuzzuserfiles.s3.amazonaws.com/ou-
15436/userfiles/images/pointing%20finger.jpg
34. marcello.thiry@gmail.com
(1) The application of a systematic,
disciplined, quantifiable approach to the
development, operation, and maintenance of
software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
35. marcello.thiry@gmail.com
(1) The application of a systematic,
disciplined, quantifiable approach to the
development, operation, and maintenance of
software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
36. marcello.thiry@gmail.com
(1) The application of a systematic,
disciplined, quantifiable approach to
the development, operation, and maintenance
of software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
37. marcello.thiry@gmail.com
(1) The application of a systematic,
disciplined, quantifiable approach to
the development, operation, and maintenance
of software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
38. marcello.thiry@gmail.com
(1) The application of a systematic,
disciplined, quantifiable approach to the
development, operation, and
maintenance of software; that is, the
application of engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
44. marcello.thiry@gmail.com
Frederick Phillips Brooks, Jr.
(1931-)
https://en.wikipedia.org/wiki/Fred_Brooks
“In 1986, Fred Brooks wrote the
famous paper No Silver Bullet
– Essence and Accident of
Software Engineering”
http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf
American computer architect, software
engineer, and computer scientist. He is
also the author of the seminal book
“The Mythical Man-Month (1975)”.
48. marcello.thiry@gmail.com
Apenas um
lembrete:
Acidental Acontecer ao acaso
Incidente
Brooks “refired” his paper 10 years
later in the book
The Mythical Man-Month, 20th
Anniversary Edition, 1995
problemas que os engenheiros criam e podem
resolver
Relacionado com o processo de implementação
52. marcello.thiry@gmail.com
Não existem duas partes iguais
Se elas existem, deveríamos usar sub-rotinas
Diferença com elementos usados em outros domínios
Alta quantidade de estados
Impossível
enumerar todos
53. marcello.thiry@gmail.com
Não há como abstrair completamente a
complexidade por que ela é essencial
Domínios complexos
Aviação
Telecomunicações
Sistema bancário
Área da saúde
…
Nós ainda precisaremos
modelar e implementar
estas complexidades
54. marcello.thiry@gmail.com
Consequências técnicas
Dificuldades de comunicação
Falhas no produto, custos acima do planejado, atrasos, …
Dificuldade de enumerar, entender
e antecipar todos os estados possíveis
Baixa confiabilidade, quebras de segurança
Dificuldade de manutenção
Introdução de defeitos, difícil de entender, difícil de usar
57. marcello.thiry@gmail.com
Software deve estar em conformidade
com limitações arbitrárias
Impostas por instituições humanas
e sistemas normas e regras
Sujeitas a alterações
arbitrárias
É difícil
planejar
Pode ocorrer mais
tarde no projeto
62. marcello.thiry@gmail.com
Onde está o software?
Produto intangível
http://img.gfx.no/806/806035/original.628x353.jpg
Não há uma
representação
geométrica
63. marcello.thiry@gmail.com
Nós precisamos usar diferentes
representações para modelar diferentes
aspectos do
software
Na UML 2.2
existem 14
tipos de
diagramas
http://i.stack.imgur.com/8tmN9.jpg
67. marcello.thiry@gmail.com
Alguns avanços ajudaram a
reduzir dificuldades acidentais…
Linguagens de alto-nível
Time-sharing
Ambientes e ferramentas de programação
Desenvolvimento orientado a objetos
Verificação
…
74. marcello.thiry@gmail.com
O Software se DETERIORA
quando...
introduzimos um defeito ao
modificá-lo
ocorrem mudanças no ambiente que
não puderam ser previstas pelo
projetista
80. marcello.thiry@gmail.com
x
Considere estes dois produtos...
http://hobby-armada.com/images/item/tamiya/sportscar/292.jpg
http://cdn.inaxiom.net/web/wp-content/uploads/2011/08/Ford-Ka-2011-06.jpg
84. marcello.thiry@gmail.com
Classe* é uma “categoria ou
classificação atribuída a diferentes
requisitos da qualidade para
produtos, processos ou sistemas
que têm o mesmo uso funcional”
Diferentes características técnicas
1 linha, 1 classe, ...
2 linha, 2 classe, ...
Em inglês: Grade. PMBOK (2013) adota o termo “grau”*
ISO 9000, 2015
91. marcello.thiry@gmail.com
Capacidade de um produto de software de
satisfazer às necessidades explícitas e
implícitas quando utilizado sob condições
especificadas
(ISO/IEC 25000, 2014)
Qualidade de software.
93. Artifact that is produced, is quantifiable,
and can be either an end item in itself or a
component item.
Additional words for products are material
and goods.
(PMBOK, 2013) also used by (ISO/IEC 25000, 2014)
Product.
94. marcello.thiry@gmail.com
O PMBOK diferencia os termos PRODUTO
(tangível) e SERVIÇO (intangível)
Um produto pode ser:
um componente de outro item
um aprimoramento de outro item
um item final
PMBOK - Um Guia do Conhecimento em Gerenciamento de Projetos
96. marcello.thiry@gmail.com
Capacidade de um produto de software de
satisfazer às necessidades explícitas e
implícitas quando utilizado sob condições
especificadas
(ISO/IEC 25000, 2014)
Qualidade de software.
97. marcello.thiry@gmail.com
Capacidade de um produto de software de
satisfazer às necessidades explícitas e
implícitas quando utilizado sob condições
especificadas
(ISO/IEC 25000, 2014)
Qualidade de software.
99. marcello.thiry@gmail.com
Capacidade de um produto de software de
satisfazer às necessidades explícitas e
implícitas quando utilizado sob condições
especificadas
(ISO/IEC 25000, 2014)
Qualidade de software.
100. marcello.thiry@gmail.com
E o que não
está escrito?
O que o
usuário
espera?http://www.handymanstartup.com/wp-
content/uploads/2013/02/IMG_Customer_rating_buttons.jpg
101. marcello.thiry@gmail.com
Capacidade de um produto de software de
satisfazer às necessidades explícitas e
implícitas quando utilizado sob condições
especificadas
(ISO/IEC 25000, 2014)
Qualidade de software.
107. marcello.thiry@gmail.com
Um produto de software pode ser:
De prateleira - COTS
http://tynmedia.com/tynmag/wp-content/uploads/sites/3/2015/07/comercio_electronico.jpg
108. marcello.thiry@gmail.com
Definido por uma necessidade de mercado,
disponível comercialmente e cuja adequação
para uso foi demonstrada por um largo
espectro de usuários
Software de prateleira.
COTS (commercial off-the-shelf)
(ISO/IEC 25030, 2007)
109. marcello.thiry@gmail.com
Um produto de software pode ser:
De prateleira – COTS
Sob encomenda - FD
http://www.spd-haimhausen.de/wp-content/uploads/2010/02/bausteine.jpg
110. marcello.thiry@gmail.com
Desenvolvido para uma aplicação
específica a partir de uma
especificação de requisitos do software
(ISO/IEC 25030, 2007)
Software sob encomenda.
FD (fully developed) or custom software development
111. marcello.thiry@gmail.com
Um produto de software pode ser:
De prateleira – COTS
Sob encomenda – FD
De prateleira
modificável – MOTS
http://www.sundlep.com/wp-content/uploads/2015/02/web12.jpg
112. marcello.thiry@gmail.com
Similar ao COTS, mas permite algum grau
de adaptação (modificação de suas
funcionalidades) a partir de
necessidades específicas dos usuários
Software de prateleira modificável.
MOTS (modified off-the-shelf)
118. References.
(Brooks, 1986). No Silver Bullet: Essence and Accident in Software Engineering. Proceedings of the
IFIP Tenth World Computing Conference: 1069–1076.
(Brooks, 1995). The Mythical Man-Month. Anniversary Edition. Addison Wesley.
(IEEE Std 610.12.1990). IEEE Standard Glossary of Software Engineering Terminology.
(ISO 9000, 2015). Quality management systems — Fundamentals and vocabulary.
(ISO/IEC 25000, 2014). Systems and software engineering — Systems and software Quality Requirements
and Evaluation (SQuaRE) — Guide to SQuaRE.
(ISO/IEC 25030, 2007). Software engineering — Software product Quality Requirements and Evaluation
(SQuaRE) — Quality requirements.
(PMBOK, 2013). A Guide to the Project Management Body of Knowledge (PMBOK® Guide). 5th ed. Project
Management Institute (PMI).
(Pressman, 2015). Software Engineering: A Practitioner's Approach. 8th ed. McGraw-Hill Education.
(SWEBOK, 2014). SWEBOK - Guide to the Software Engineering Body of Knowledge. Version 3.0. IEEE.