Você está na página 1de 49

Sejam bem-vindos!

UC: MODELOS, MÉTODOS E TÉCNICAS DE


ENGENHARIA DE SOFTWARE
Sejam bem-vindos!
UC: MODELOS, MÉTODOS E TÉCNICAS DE
ENGENHARIA DE SOFTWARE

Ciência da Computação
Sistemas de Informação
Tecnólogo em Análise e Desenvolvimento de Sistemas,
Tecnólogo em Sistemas para Internet.
Prof. MSc. Priscila Faciolli

priscila.serafim@animaeducacao.com.br
Prof. MSc. Edquel Bueno Prado
Farias
edquel.farias@animaeducacao.com.br
Prof. MSc. Edquel Bueno Prado
Farias
edquel.farias@animaeducacao.com.br
Prof. MsC. Edquel Bueno Prado Farias
Doutorando em Hospitalidade
Mestre em Informática e Gestão do Conhecimento
Pós-graduado (LATO SENSU) em Governança em Tecnologia da informação
Pós-graduado (LATO SENSU) em Docência.
Pós-graduado (LATO SENSU) em Formação Didático Pedagógica.
Bacharel em Sistemas de Informação

Docente 1: Ambiente Presencial

Edquel.farias@animaeducacao.com.br
CV: http://lattes.cnpq.br/4400977701222687
(Plano de ensino)
Ementa
• Conceitos, métodos e práticas da engenharia de
• Validação de requisitos.
software.
• Gestão de requisitos.
• Modelos de processos de software.
• Visão de análise e projeto.
• Modelo de processo cascata.
• Projeto e tipos Arquitetura de software.
• Modelo de processo de prototipação.
• Padrões de projeto.
• Modelo de processo incremental.
• Integração e entrega contínua.
• Modelo de processo espiral.
• Paradigma de desenvolvimento ágil.
• Engenharia de requisitos.
• Manifesto ágil.
• Estudo de viabilidade.
• Frameworks para desenvolvimento ágil de software.
• Levantamento de requisitos.
• Visão geral DevOps
• Análise e negociação de requisitos.
• Especificação de requisitos.
CRONOGRAMA
Docentes: Edquel Farias / Priscila Facciolli - Prática no Lab
Quarta-feira Tema / Conteúdo
15/02/2023 Semana de Acolhimento Coordenação
01/03/2023 Apresentação da disciplina e professora
08/03/2023 TechWeek
15/03/2023 Modelo de processo cascata. Modelo de processo de prototipação. Modelo de processo incremental. Modelo de processo espiral.

22/03/2023 Modelo de processo cascata. Modelo de processo de prototipação. Modelo de processo incremental. Modelo de processo espiral.
29/03/2021 Exercícios
05/04/2023 Estudo de Caso Ágil
12/04/2023 Levantamento ágil de requisitos, incluindo histórias de usuários, MVPs e testes A/B. (Templates)

19/04/2023 Levantamento ágil de requisitos, incluindo histórias de usuários, MVPs e testes A/B - (uso do Trello)
26/04/2023 Exercícios Dissertativos
04/05/2023 Revisão Prova A1
08 a 13/05 Semana de Avaliação A1
17/05/2023 Padrões de projeto. Integração e entrega contínua.
22 a 27/05 Período de 2a Oportunidade para A1 - Aulas normais
24/05/2023 Atividades de Arquitetrura de Software
31/05/2023 DevOps, incluindo controle de versões, integração e deployment contínuo (Simulado)
07/06/2023 Frameworks para desenvolvimento ágil de software. Visão geral DevOps.
14/06/2023 Revisão Prova A2
14 a 17/06 Semana de Avaliação A2
21/06/2023 Apresentação Projeto A3
26 e 27/06 Período de 2a Oportunidade para A1 - Aulas normais
28/06/2023 Dúvidas no lançamento de notas e Encerramento do semestre
Sumário Aula 1
Software;
Características do SW;
Aplicações do SW;
Evolução do SW;
Crise do SW;
Mitos do SW;
Definição de Engenharia de SW;
Elementos Fundamentais da SW;
Processos de SW;
Elementos básicos do Processo de Software;
Software

1- Instruções: quando executadas produzem a função e o


desempenho desejados

2 - Estruturas de Dados: possibilitam que os programas manipulem


adequadamente a informação

3 – Documentos: descrevem a operação e o uso dos programas


Características do Software
1. desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico

2. não se desgasta mas se deteriora

3. a maioria é feita sob medida em vez de ser montada a partir de componentes


existentes
Curva de falhas para o Hardware

“mortalidade “desgaste”
índice
de infantil”
falhas

tempo
Curva de falhas para o Hardware

curva real
índice de
mudança
falhas

curva idealizada

tempo
Aplicações do Software
BÁSICO programas de apoio a outros programas
DE TEMPO REAL monitora, analisa e controla eventos do
mundo real
COMERCIAL operações comerciais e tomadas de
decisões administrativas
CIENTÍFICO E DE algoritmos de processamento de números
ENGENHARIA
EMBUTIDO controla produtos e sistemas de mercados
industriais e de consumo
DE COMPUTADOR processamento de textos, planilhas
PESSOAL eletrônicas, diversões, etc.
DE INTELIGÊNCIA algoritmos não numéricos para resolver
ARTIFICIAL problemas que não sejam favoráveis à
computação ou à análise direta
Crise de Software
Refere-se a um conjunto de problemas encontrados no desenvolvimento
de software:
(1) As estimativas de prazo e de custo freqüentemente são imprecisas
“Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento
de software”
“Sem nenhuma indicação sólida de produtividade, não podemos avaliar com
precisão a eficácia de novas ferramentas, métodos ou padrões”
Crise de Software
(2) A produtividade das pessoas da área de software não tem
acompanhado a demanda por seus serviços
“Os projetos de desenvolvimento de software normalmente são efetuados apenas
com um vago indício das exigências do cliente”
Crise de Software
A qualidade de software às vezes é menos que adequada
Só recentemente começam a surgir conceitos quantitativos sólidos de garantia
de qualidade de software
(4) O software existente é muito difícil de manter
A tarefa de manutenção devora o orçamento destinado ao software
A facilidade de manutenção não foi enfatizada como um critério importante
Crise de Software

✓estimativas de prazo e de custo 


✓produtividade das pessoas 
✓qualidade de software 
✓software difícil de manter 
Preocupação: Sistematizar o processo de
criação e manutenção de software.
Engenharia de Software
Definições

 Boehm: Engenharia de software envolve a aplicação


prática de conhecimento científico para o projeto e
construção de programas de computador e a
documentação associada necessária para desenvolvê-
los, operá-los e mantê-los.

20
Engenharia de Software
Definições

 IEEE Standard Glossary of Software Engineering


terminology: Engenharia de software é uma
abordagem sistemática para o desenvolvimento,
operação, manutenção de software

Software: programas de computador, procedimentos,


regras, documentação possivelmente associada, e
dados sobre sua operação.

21
abrange um conjunto de três elementos fundamentais:
Métodos, Ferramentas e Procedimentos

Principais metas: melhorar a qualidade de produtos de


software, aumentar a produtividade do pessoal técnico e
aumentar a satisfação do cliente.

22
Elementos fundamentais da
Engenharia de Software

Métodos: proporcionam os detalhes de como fazer


para construir o software
Ementa
Engenharia de Software

Ferramentas: dão suporte automatizado


aos métodos.
existem atualmente ferramentas para sustentar cada
um dos métodos
quando as ferramentas são integradas é estabelecido
um sistema de suporte ao desenvolvimento de software
chamado CASE - Computer Aided Software Engineering
Ementa
Engenharia de Software

Procedimentos: constituem o elo de


ligação entre os métodos e ferramentas
 seqüência em que os métodos serão aplicados
 produtos que se exige que sejam entregues
 controles que ajudam assegurar a qualidade e coordenar as
alterações
 marcos de referência que possibilitam administrar o progresso
do software.
Engenharia de Software

conjunto de etapas que envolve


métodos
ferramentas
procedimentos

Essas etapas são conhecidas como componentes de CICLO DE VIDA


DE SOFTWARE
ou Processo de Software

26
Processos de Software

Segundo Sommerville “.. Um processo de software é

um conjunto de atividades e resultados associados

que levam á produção de um produto de software”.

Embora existam muitos processos de software

diferentes, há atividades fundamentais comuns a

todos eles, são elas:

27
Etapas principais do Processo de Software

 Planejamento e estimativa de projeto


 Análise de requisitos de software e de sistemas
 Projeto da estrutura de dados
 Algoritmo de processamento
 Codificação
 Teste
 Manutenção
Elementos básicos do Processos de
Software
▪ Levantamento de Dados;

▪ Análise de Requisitos;

▪ Implementação;

▪ Testes;

▪ Implantação;

▪ Manutenção.
Processo de Software –
Levantamento de Dados

▪ Obter com o maior nível de detalhes toda a necessidade do


cliente para o desenvolvimento do sistema.

▪ Isso pode ser dar de diversas formas:


▪ Questionários;

▪ Entrevistas;

▪ Reuniões, etc

30
Processo de Software –
Análise de Requisitos

▪ Nada mais é do que após toda informação coletada na fase


anterior será feita uma análise pela equipe de Analistas para ser
definido o que é importante e tem que ser aproveitado e o que
pode ser descartado.

31
Processo de Software –
Projeto

▪ Nesta fase, é empregado toda a parte de análise estruturada,


sendo utilizado três ferramentas importantes que são:

▪ Diagrama de fluxo de dados;

▪ Dicionário de dados;

▪ Prototipação.

32
Processo de Software –
Implementação
▪ Os desenvolvedores receberão todo material desenvolvido na
fase anterior e irão transferir toda a lógica e toda a diagramação
para linha de código, aplicando a linguagem adequada para o
desenvolvimento real do sistema.

▪ Pode-se fazer novas solicitações do usuário de última hora para


o sistema.

33
Processo de Software – Testes

▪ Após todo o desenvolvimento realizado é chegada a hora do


teste, onde será testado todo os módulos que compõe o
sistema.

▪ Passaremos tela a tela testando as funcionalidades e colhendo


os resultados apresentados, caso ocorra falhas as mesmas serão
corrigidas imediatamente.

34
Processo de Software –
Implantação
▪ Com o sistema pronto para utilização do cliente, temos antes da
“entrega do software”, de treiná-lo, instalar o sistema no
ambiente do cliente e acompanhar a utilização do novo software
por um tempo até que o cliente consiga conduzir os trabalhos
sozinhos.

35
Processo de Software -
Manutenção
▪ Todos os defeitos encontrados no software durante a utilização
do software pelo cliente, será reportado á Analistas de Suporte
(Help Desks), que analisaram e testarão o problema, e caso o
defeito seja detectado, encaminharão para a equipe de
desenvolvimento para acerto e posterior liberação da rotina em
funcionamento para o cliente.

36
FIM

Até a próxima aula!!!


37
Básica
BIBLIOGRAFIA (Plano de ensino)
PRESSMAN, Roger; MAXIM, Bruce. Engenharia de Software. Uma abordagem profissional. 8a. Ed. Bookman, 2016.
https://integrada.minhabiblioteca.com.br/#/books/9788580555349/cfi/3!/4/2@100:0.00
SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
https://bv4.digitalpages.com.br/?term=engenharia%2520de%2520software&searchpage=1&filtro=todos&from=busca&page=_14&section=0#/legacy/276
LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e desenvolvimento iterativo. 3. ed Porto Alegre:
Bookman, 2007.
https://integrada.minhabiblioteca.com.br/#/books/9788577800476/cfi/0!/4/2@100:0.00

Complementar
PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática. 2. ed. São Paulo: Prentice Hall, 2004.
https://bv4.digitalpages.com.br/?term=engenharia%2520de%2520software&searchpage=1&filtro=todos&from=busca#/legacy/476
FOGGETTI, Cristiano. Gestão Ágil de Projetos. Pearson, 2015.
https://bv4.digitalpages.com.br/?term=desenvolvimento%2520%25C3%25A1gil&searchpage=1&filtro=todos&from=busca&page=-7&section=0#/legacy/22131
MEDEIROS, Ernani. Desenvolvendo Software com UML 2.0. São Paulo: Pearson Education, 2004.
https://bv4.digitalpages.com.br/?term=uml&searchpage=1&filtro=todos&from=busca&page=-20&section=0#/legacy/2921
FERREIRA, Simone Bacellar Leal; NUNES, Ricardo Rodrigues Nunes. e-Usabilidade. LTC, 2008.
https://integrada.minhabiblioteca.com.br/#/books/9788521206392/cfi/0!/4/2@100:0.00
FOWLER, Martin; SCOTT, Kendall. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 3ª. ed. Porto Alegre: Bookman,
2004.
https://integrada.minhabiblioteca.com.br/#/books/9788560031382/cfi/6/2!/4/2@0:0.131
D ata s
IMPORTANTES

08 a 13/05 14 a 17/06 21 a 27/06


Avaliação A1 Avaliação A2 Avaliação A3
D ata s
IMPORTANTES

22 a 27/05 26 a 27/06
2ª oportunidade A1 2ª oportunidade
Avaliação A2
08:50 ás 09:40: 1º período de aula
09:40: às 10:00: Intervalo
10:00 às 11:40: 2º período de aula
14:00 ás 14:50: 1º período de aula
14:50: às 15:10: Intervalo
15:10 às 16:50: 2º período de aula
19:00 às 20h15: 1º período de aula
20:15 às 20:35: Intervalo
20:35 às 21:50: 2º período de aula
CONTATOS DOS COORDENADORES
DE GRANDE ÁREA

Prof. Guilherme Duarte de Barros


guilherme.d.barros@animaeducacao.com.br
Câmpus Vila Olímpia

Profa. Daniele Maria Pilla Junqueira Cafange


daniele.cafange@animaeducacao.com.br
Câmpus Paulista

Lilian Montanari (coordenadora interina)


lilian.montanari@animaeducacao.com.br
Gerente do Campus Mooca
“Educação não transforma o mundo. Educação muda
as pessoas. Pessoas transformam o mundo.”
Paulo Freire

Bom semestre!
PARCERIAS

Você também pode gostar