Você está na página 1de 38

INTRODUÇÃO

DISCIPLINA : ENGENHARIA DE SOFTWARE


PROF.: SUZAN K BORGES PIOVESAN

Créditos : prof. Elder Schemberguer


APRESENTAÇÃO DA DISCIPLINA

• Prof.: Suzan Kelly Borges Piovesan


• suzankpiovesan@utfpr.edu.br
• Dias de aula:
• 3ª.feira e 4ª.feira - 13h00 às 14h40
• Local: lab. E302
• Horário de Atendimento – Terça feira 17h00 – 18h00 (E301)
EMENTA DA DISCIPLINA – TÓPICOS A SEREM
ABORDADOS
• Introdução à Engenharia de Software;

• Modelos de Ciclo de Vida de Software

• Especificação de Sistemas de Software utilizando Paradigmas de Análise e Projeto de Sistemas(UML)

• Métodos Ágeis;

• Introdução à Gerência de Projetos;

• Qualidade de Software; (CMMI)

• Testes e Revisão de Software;

• Implantação de Software e Manutenção de Software (pesquisa no projeto final)


BIBLIOGRAFIA BÁSICA

• PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de software: uma


abordagem profissional. 8. ed. Porto Alegre, RS: AMGH, 2016. 940 p. ISBN
9788580555332.

• SOMMERVILLE, Ian. Engenharia de software. 10. ed. São Paulo, SP: Pearson
Prentice Hall, 2018. xi, 756 p. ISBN 9788543024974.

• ENGHOLM JÚNIOR, Hélio. Engenharia de software na prática. São Paulo,


SP: Novatec, 2010. 438 p. ISBN 9788575222171.
BIBLIOGRAFIA COMPLEMENTAR

• BROOKS JUNIOR, Frederick P. O projeto do projeto: da modelagem a implementação. Rio de


Janeiro, RJ: Elsevier, 2011. xix , 407 p. ISBN 9788535239850.
• FURLAN, José Davi. Modelagem de objetos através da UML: the unified modeling language.
São Paulo, SP: Makron Books, 1998. 329 p. ISBN 85-346-0924-1
• HIRAMA, Kechi. Engenharia de software: qualidade e produtividade com tecnologia. Rio de
Janeiro, RJ: Elsevier, 2011. xi, 210 p. ISBN 9788535248821.
• COHN, Mike. Desenvolvimento de software com scrum: aplicando métodos ágeis com
sucesso . Porto Alegre: Bookman, 2011. 496 p. ISBN 9788577808076.
• KOSCIANSKI, André; SOARES, Michel dos Santos. Qualidade de software: aprenda as
metodologias e técnicas mais modernas para o desenvolvimento de software. 2. ed. São Paulo, SP:
Novatec, 2007. 395 p. ISBN 9788575221129.
APRESENTAÇÃO DA DISCIPLINA

• Planejamento da Disciplina (Moodle – Vamos olhar!!!)


• Material da disciplina disponível no Moodle;
• Sorteio ou escolhas de temas para Seminário;
AVALIAÇÕES

• Nota
• Média Final >= 6,0
• Projeto Final parte 1(3,0) + Projeto Final parte 2(3,0)+ 2 Seminários
(3,0)+Exercícios (1,0)
• Reservado direito ao professor de possíveis ajustes.
• Frequência >= 75%
• Exame/Recuperação (opcional, porém gera uma nova media)
• (Média do Semestre + Prova Exame (todo o conteúdo))/2 >= 60
CONTEÚDO DESTA AULA

• Introdução;
• Princípios da Engenharia de Software(ES);
• Mitos da ES;
INTRODUÇÃO
Software

► Programa de computador especializado e otimizado para cálculos


científicos e de engenharia...
...programas para computadores sua respectiva documentação
(Sommerville)
► Consiste em: i) Instruções; ii) Estruturas de Dados; e iii) Informação descritiva,
virtual ou impressa (Pressman)
► Natureza “mutante” do software e papel Duplo: Produto e Veículo para
distribuir outro produto;
► Software distribui o produto mais importante da nossa era – A INFORMAÇÃO
INTRODUÇÃO

Software é desenvolvido ou passa por um processo de


engenharia; ele não é fabricado no sentido clássico
(Pressman, 2011).
• Desgaste: Hardware x Software
INTRODUÇÃO
CURVA DE DEFEITOS PARA HARDWARE
INTRODUÇÃO
CURVA DE DEFEITOS PARA SOFTWARE
INTRODUÇÃO
CURVA DE DEFEITOS PARA SOFTWARE

a a nç
M u d
INTRODUÇÃO
EVOLUÇÃO DO SOFTWARE
INTRODUÇÃO
EVOLUÇÃO DO SOFTWARE

1o Período 3o Período

1950 1960 1970 1980 1990

2o Período 4o Período
INTRODUÇÃO
EVOLUÇÃO DO SOFTWARE - CARACTERÍSTICAS
1ª Periodo 2º Periodo 3º Periodo 4º Periodo

Orientação Batch Multiusuário Interativo Sistemas Distribuídos Sistemas de Desktop


poderosos
Distribuição Limitada Tempo Real Hardware de Baixo Tecnologias Orientadas
Custo à
Objetos
Software Customizado Banco de Dados Microprocessadores Sistemas Especialistas
Programação Artesanal Produto de Software Impacto de Consumo Computação paralela
Sem Administração Software House “inteligência” Ferramentas CASE/
Específica embarcada : executar Redes Neurais
algumas função pré- artificiais
programadas
Sem Documentação Reutilização
Entregar junto com os exercícios do final da aula, uma pesquisa sobre exemplos de Sistemas
Operacionais/Softwares de cada período.
INTRODUÇÃO
EVOLUÇÃO DO SOFTWARE
1o Período 3o Período

1950 1960 1970 1980 1990

2o Período 4o Período

Crise do Software:
*Muitos defeitos, entregas fora do prazo
e alto custo
INTRODUÇÃO
CRISE DO SOFTWARE
INTRODUÇÃO
CRISE DO SOFTWARE
Estimativas de prazo e de custo
frequentemente 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 DO SOFTWARE

A produtividade das pessoas da área de software não tem


acompanhado a demanda por seus serviços

-Não se tinham métodos precisos para


avaliar necessidade detalhada dos
clientes... Como encontrar as pessoas
certas para desenvolver?

“Os projetos de desenvolvimento de


software normalmente são efetuados
apenas com um vago indício das
exigências do cliente”
INTRODUÇÃO
CRISE DO 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
INTRODUÇÃO
CRISE DO SOFTWARE
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
INTRODUÇÃO
CRISE DO SOFTWARE

Estimativas de prazo e de custo

Produtividade dos funcionários

Difícil suporte ao software

Qualidade de software
MARINER (1962)

Custo: 18,5 milhões dólares


Foguete com uma sonda espacial para Vênus, foi desviado de seu
percurso de voo logo após o lançamento.
Causa: Um programador, ao passar para o computador
uma fórmula que haviam lhe entregado escrita
manualmente, se esqueceu de uma barra. Sem ela, o
software tratava variações normais de velocidade como se
fossem sérios problemas, causando falhas por tentativas de
correções que acabaram por enviar o foguete fora do
curso.
3ª GUERRA MUNDIAL (1983)

O sistema de alerta precoce soviético falsamente indicou que os Estados Unidos tinham
lançado cinco mísseis balísticos.

Felizmente, o oficial de serviço soviético


tinha uma “sensação esquisita no estômago”
e fundamentalmente, se os EUA estavam
realmente atacando, eles lançariam mais de
cinco mísseis, por isso ele relatou o aparente
ataque como um alarme falso.

Causa: Um bug no software soviético falhou


ao detectar reflexos solares como falsos
mísseis.
INTRODUÇÃO
CATEGORIAS DE SOFTWARE
Software - Diversas aplicações
► Sistema : apoiam outros programas (SO e compiladores)
► Aplicação: desenvolvidos para executar no negócio de uma empresa
determinada;
► Científico: processam números(Universidades, Industriais, engenharia)
► Linha de Produto: software de prateleiras.
► Web/Mobile
► Inteligência Artificial: algoritmos não numéricos (ex.robô)
► Embarcado
INTRODUÇÃO

• Engenharia de Software (ES)


• Aplicação de uma abordagem sistemática, disciplinada e quantificável
no desenvolvimento na operação e na manutenção de software (...)”
(IEEE)
• Quais seriam algumas vantagens? Adaptabilidade... Agilidade...

“Area da Engenharia que se preocupa com todos os aspectos do


desenvolvimento de um software” (Sommerville)
INTRODUÇÃO
CRISE DO SOFTWARE

• Conceito Engenharia de Software


• Fritz Bauer (1969): A engenharia de software
é o estabelecimento e uso de sólidos
princípios de engenharia a fim de obter um
software que seja confiável e que funcione
de forma econômica e eficiente em máquinas
reais.
INTRODUÇÃO

Ok... Mas por que ES?


► Crise do Software (1960 - 1970)
► Questões que ainda permanecem

• Por que a conclusão de um software leva tanto


tempo?
• Por que os custos de desenvolvimento são altos?
• Dificuldades em encontrar todos os erros ANTES DE ENTREGAR o
software
• Dificuldade em medir progresso e manutenção
PRINCÍPIOS DA ES

LAYOUT EM CAMADAS ES (PRESSMAN)


PRINCÍPIOS DA ES

Atividades Comuns
Atividades de Apoio
► Comunicação
► Controle e Acompanhamento do Projeto
► Planejamento
► Gestão de Riscos
► Modelagem
► Gerenciamento de Configuração
► Construção
► Ações de garantia da Qualidade
► Entrega
PRINCÍPIOS DA ES

 Ética na ES
► Confidencialidade
► Direitos de propriedade intelectual
► Competências em projetos
► Mau uso das competências informática/computação:

 Jogos na máquina do empregador? :P

 Disseminação de malware
 Código de ética da ES
► https://www.computer.org/cms/Publications/c
ode-of-ethics.p
df
MITOS NA ES - GERÊNCIA

MITO 1: Um bom manual, repleto de padrões regras, fornecerá a equipe tudo que ela precisa saber
► Desenvolver software não é fazer bolo, e essa base teórica pode não ajudar muito.
► Os clientes são diferentes, os projetos são diferentes, os programadores são diferentes, as
prioridades dependem do projeto... TUDO é diferente!

MITO 2: Se o cronograma atrasar,coloca-se mais programadores e fica em dia


► Acrescentar pessoas em um projeto atrasado vai atrasá-lo ainda mais. Ex: barco
afundando!

MITO 3: Terceirizar um projeto é garantia de tranquilidade e nenhum trabalho


► Se você não conseguiu, como terceiros podem fazê-lo? Ainda assim, há necessidade de
auditoria/acompanhamento-
MITOS NA ES - CLIENTE

MITO 1: Pode-se construir um software observando seu propósito geral- Os


detalhes podem ser fornecidos posteriormente
► O detalhamento inicial determinará o que é mais adequado em todas as
etapas
► Conhecendo as premissas, a probabilidade de sucesso no projeto é maior
MITO 2: Os requisitos de projeto mudam sempre, mas tais mudanças podem
ser facilmente adaptadas
MITOS NA ES - PROGRAMADORES

• MITO 1: Se funciona, nosso trabalho pode ser considerado como completo

► Documentação ? Acompanhamento? Treinamento? Suporte? ...

• MITO 2: Se o programa não está finalizado e “rodando”, não posso avaliar sua
qualidade
► Qualidade via linhas de código, pela modulação do software, segurança,
estruturação, ...

• MITO 3: O único produto a ser entregue ao cliente é código executável

• MITO 4: A ES faz criar uma documentação volumosa e desnecessária que acarretará


em atrasos
► Planejamento é fundamental!
Sobre Atrasos...
EM RESUMO... A ES busca minimizar os vários problemas de comunicação que podem (e vão) existir!

37 / 15

Para que a análise ocorra de uma forma


eficiente são aplicadas técnicas tanto
para a coleta quanto para identificação
de requisitos.
EXERCÍCIOS

• Fazer uma pesquisa sobre Softwares ou Sistemas Operacionais que podem se encaixar em
cada fase da Evolução do Software e descreve-los.
• Ler o arquivo disponibilizado Código de Ética elencar 4 princípios que lhe chamaram
mais atenção, explique-os e fale qual é sua importância (arquivo disponível no Moodle
completo em inglês e resumido no site https://sites.google.com/view/oatecweb/c
%C3%B3digos-de-%C3%A9tica/ieee),

Você também pode gostar