Upload
erivesr
View
217
Download
0
Embed Size (px)
Citation preview
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
1/30
Prof. Erivelton da Silva RochaGraduao: Licenciatura Plena em Computao
Especialista em Engenharia de Sistemas
1
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
2/30
Engenharia de SoftwareAula - 01
2
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
3/30
Nos Anos 40, quando se iniciou a evoluo dos
sistemas computadorizados, grande parte dos esforos
eram concentrados no desenvolvimento de hardwares.A medida que as tecnologias foram sendo dominadas,
as preocupaes se voltaram, no incio dos anos 50,
para desenvolvimento de sistemas operacionais e foi
quando surgiu as linguagens de programao de alto
nvel. 3
Introduo
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
4/30
Necessidade cada vez maior de desenvolver grandes sistemas;
A falta de experincia e no adequao dos mtodos de
desenvolvimento existentes para pequenos programa;
Crise do Software na dcada de 60.
4
Conseqncias:
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
5/30
5
- ORIENTAO AORIENTAO ABATCHBATCH
-- DISTRIBUIODISTRIBUIOLIMITADALIMITADA
-- SOFTWARESOFTWARECUSTOMIZADOCUSTOMIZADO
-- MULTIUSURIOMULTIUSURIO- TEMPO REAL-- BANCO DEBANCO DE
DADOSDADOS-- PRODUTO DEPRODUTO DESOFTWARESOFTWARE
-- SIST
EMASSIST
EMASDISTRIBUIDOSDISTRIBUIDOS--INTELIGENCIAINTELIGENCIA-- HARDWARE DEHARDWARE DEBAIXO CUSTOBAIXO CUSTO-- IMPACTO DEIMPACTO DECONSUMOCONSUMO
-- SIST
EMAS DE DESKSIST
EMAS DE DESK--TOP PODEROSOTOP PODEROSO--TECNOLOGIASTECNOLOGIASORIENTADAS AORIENTADAS AOBJETOSOBJETOS--REDES NEURAISREDES NEURAIS--COMPUTAOCOMPUTAO
PARALELAPARALELA
O PAPEL EVOLUTIVO DO SOFTWARE
1950 1960 1970 1980 1990 2000
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
6/30
Uma Perspectiva Industrialy
Para controlar os custos no desenvolvimento do hardwareeram institudos fortes padres tcnicos e exigida cuidadosaatividade de anlise e projeto antes que alguma ciosa fosseconstruda. A engenharia de hardware.
yO programador aprendia seu oficio por meio de tentativas eerro. O mundo do software era virtualmente indisciplinado.
y Hoje, a distribuio dos custos mudou, o software freqentemente o item de maior custo.
y A preocupao relativa ao software e maneira pela qual ele desenvolvido levou adoo de prticas de Engenharia deSoftware.
6
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
7/30
PRINCIPAIS ASPECTOS DO SOFTWARE
7
Software: Definies e caractersticas
Pode-se definir o software, numa forma clssica, como
sendo: um conjunto de instrues que, quando executadas,
produzem a funo e o desempenho desejados, estruturas de
dados que permitam que as informaes relativas ao problema a
resolver sejam manipuladas adequadamente e a documentao
necessria para um melhor entendimento da sua operao e uso.
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
8/30
O que Engenhariade Software?
O estabelecimento e o uso de slidos princpiosde engenharia para que se possa obter umsoftware economicamente vivel, que sejaconfivel e que funcione eficientemente emmquinas reais. (Bauer 197 )
Pressman (1995) destaca que, ainda que vriasdefinies tenham sido dadas Engenharia de Software,todas reforam a exigncia da disciplina de engenharia nodesenvolvimento de sistemas.
8
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
9/30
Dentro desta tica, para melhor caracterizar o significadode software, importante levantar algumas particularidades do
software:
o software concebido e desenvolvido como resultado de umtrabalho de engenharia e no manufaturado no sentido clssico;
o software no se desgasta, ou seja, ao contrrio da maioria dosprodutos, o software no se caracteriza por um aumento napossibilidade de falhas medida que o tempo passa (comoacontece com a maioria dos produtos manufaturados);
a maioria dos produtos de software concebida inteiramente
sob medida, sem a utilizao de componentes pr-existentes.
9
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
10/30
O que Engenharia de Sistemas?
y A Engenharia de Sistemas mais genrica e abrangente doque a Engenharia de Software.
y Por ela ser mais antiga, esta mais envolvida com sistema comoum todo e seus detalhes.
y A Engenharia de Software mais especfica no que tange os
componentes do sistema, em especial ao hardware e osoftware.
10
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
11/30
O que a Engenharia de Software Abrange?
Abrange um conjunto de trs elementos fundamentais: Mtodos,Ferramentas e procedimentos.
Mtodos detalham como fazer para se construir o software;
As ferramentas proporcionam apoio automatizado ou semi-automatizado aosmtodos;
E os procedimentos constituem o elo de ligao que mantm junto os
mtodos e suas ferramentas, e possibilita um processo de desenvolvimentoclaro, eficiente , visando garantir ao desenvolvedor e seus clientes a produode um software de qualidade.
11
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
12/30
12
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
13/30
Mtodo de Engenharia de Software XMetodologia
y uma abordagem estruturada para desenvolvimento deSoftware.
y Podemos definir como uma Abordagem Estruturada aestratgia de desenvolver algo com uma estruturapreviamente estruturada, ou baseada nas melhoresprticas.
y No existe um mtodo ideal.
y Existem vrios mtodos na Engenharia de Software, maspoucas Metodologias.
13
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
14/30
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
15/30
Software um item de alto custo e em progressivo aumento. Os softwares tm um importante papel no bem-estar da
sociedade
Dessa forma, a engenharia de software assume papel crticopara garantir que tarefas, dados, pessoas e tecnologias estejam
apropriadamente alinhadas para produzir um sistema efetivo e
eficiente.
15
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
16/30
Teoria de Sistemas Interdependncia de Sistemas
y uma coleo significativa de componentes inter-relacionados,
que trabalham em conjunto para atingir alguns objetivos
(Sommerville).
y organizado para realizar certo mtodo, procedimento ou
controle ao processar informaes.
y Automatiza ou apia a realizao de atividades humanas atravs
do processamento de informaes.
16
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
17/30
17
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
18/30
Atributos de um bom Software
y Os atributos de um bom Software refletem seu
comportamento quando em funcionamento, a estrutura e
a organizao do programa fonte,e tambm adocumentao associada (Sommerville).
y
Como exemplos temos o tempo de resposta do software consulta de um usurio e a facilidade de compreenso do
cdigo do programa. Esses mesmos exemplos tambm
podem ser chamados de atributos no funcionais.18
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
19/30
O software deve proporcionar ao usurio a
funcionalidade e o desempenho requeridos e deve ser
passvel de manuteno, confivel, eficiente e de fcil
uso.
19
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
20/30
20
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
21/30
Crise do Software e o incio da Engenharia de Software
y A crise do software, termo usado nos anos 70, referia-se as
dificuldades do desenvolvimento de software da poca. Por
haver um rpido crescimento da demanda por software,imaginava-se que com toda a complexidade no
desenvolvimento, haveria uma forte crise. Com a inexistncia
da Engenharia de Software nessa poca, no haviam tcnicas
estabelecidas para o desenvolvimento de sistemas que
funcionassem adequadamente ou que pudessem ser validadas.
21
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
22/30
A Crise do Software
y Durante as primeiras eras do software, o desenvolvimentoera feito de forma totalmente desorganizada.
y No era feito nenhum projeto, planejamento, ou anlise derequisitos e o software no era documentado.
y
O software era simplesmente produzido conforme oconhecimento e experincia pessoal do programador
22
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
23/30
A Crise do Software
y Com o tempo, o desenvolvimento desorganizado levou adiversos problemas.
y O principal problema quando surgiram erros ou eranecessria ou desejada alguma mudana no software.
y
Como o cdigo no era documentado e no obedecia anenhuma estrutura formal, apenas o desenvolvedorconseguia entender e modific-lo
23
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
24/30
A Crise do Software
y Em alguns casos, quando a mudana era realizada muito tempo aps o
desenvolvimento do software, mesmo o prprio desenvolvedor tinha
dificuldades para entender o cdigo que ele mesmo desenvolveu.
y Assim, as mudanas eram altamente custosas.
y Ao conjunto de problemas encontrados no desenvolvimento de
software deu-se inicialmente o nome de crise do software, sendo
posteriormente chamado de aflio crnica
24
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
25/30
25
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
26/30
Desenvolver software no somentemodelar e escrever cdigo. criar
aplicaes que resolvam os problemasdos usurios. fazer isto dentro do
prazo, de forma precisa e com altaqualidade. Logo, com a crise desoftware, os desafios para a criaoda disciplina de Engenharia deSoftware eram muito grandes.
(AMBLER, 1988)
26
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
27/30
Alguns dos tpicos problemas que essa novadisciplina enfrentou foram:
Identificar adequadamente os requisitos do Sistema, ou seja,saber o que o software deve fazer;
Que ferramentas, linguagem, sistema operacional usar;
Como diminuir os tempos e custos de desenvolvimento;
Prever falhas antes da entrega final;
Como fazer manuteno e controlar verses;
Dificuldades de prever o progresso durante odesenvolvimento;
27
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
28/30
28
Inexistncia de histrico, ou documentao, no
desenvolvimento de Sistemas;
Comunicao com os usurios precria;
Conceitos quantitativos inexistentes tais como confiabilidade,
qualidade e reusabilidade;
Manuteno, no software existente, com difcil execuo.
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
29/30
y Desafios da Engenharia de Software
29
8/6/2019 Aula-01 de Engenharia de Software UESPI 2011-1
30/30
Atividade1. O que Engenharia de Software?. Qual a diferena entre Engenharia de Software e Engenharia de
Sistemas?3. O que um mtodo de Engenharia de Software?4. Quais so os atributos de um bom Software5. Quais so os desafios enfrentados pela Engenharia de Software?6. Com suas palavras fale a respeito da crise do software?7. O que voc entende por modelo Balbrdia?
30