aula-01 de engenharia de software uespi 2011-1

Upload: erivesr

Post on 08-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 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