Você está na página 1de 20

Por que Engenharia de Software?

O est presente, explicitamente ou mesmo sem notar, em todos os aspectos de nossa vida, inclusive nos sistemas crticos que afetam nossa vida e o nosso bem estar. Por isso, a engenharia mais importante do que nunca. As boas praticas da Engenharia de Software devem assegurar que o software tenha uma contribuio positiva em nossas vidas.

Por que Engenharia de Software?


O engenheiros de software deve utilizar seu conhecimento sobre computadores e computao na resoluo de problemas.

Portanto, essencial entender primeiro a natureza do problema.

Resolvendo Problemas Anlise versus sntese de um problema:

Resolvendo Problemas
Uma vez analisado o problema, deve elaborar a soluo processo de sntese

Resolvendo Problemas Mtodo ou tcnica:


produo de um resultado; Ex. Um chefe de cozinha pode preparar um molho empregando ingredientes sequencialmente combinados em uma ordem e momento especfico, de tal maneira que o molho engrosse, mas no coagule. procedimento para a

O procedimento para preparar o molho envolve a preocupao com os ingredientes e o tempo, mas pode no depender do tipo de equipamento de cozinha utilizado.

Resolvendo Problemas
Ferramenta: instrumento ou sistema automatizado ou semi-automatizado para realizar alguma tarefa. Ex. A utilizao de uma mq. de escrever ou um computador para escrever cartas, pq. os documentos resultantes so mais fceis de ler do que os manuscritos.

Entretanto, nem sempre necessria uma ferramenta p/ se fazer alguma coisa bem. Uma tcnica culinria pode melhorar a qualidade do molho, independente da vasilha ou colher utilizada.

Resolvendo Problemas
Procedimento: como uma receita: a combinao de ferramentas e tcnicas. Ex.: os planos de testes descrevem os procedimentos de teste; eles dizem quais ferramentas sero utilizadas em quais conjuntos de dados e sob quais circunstncias.

Resolvendo Problemas
Paradigma: como um estilo de cozinhar; representa uma abordagem ou filosofia p/ construo de software. Ex. como distingue a cozinha francesa da chinesa, pode distinguir os paradigmas do desenvolvimento orientados a objetos do paradigma procedural.

Qual tem sido o grau de sucesso?

Qualquer hacker pode escrever um cdigo p/ fazer alguma coisa funcionar, mas so necessrios a tcnica e o entendimento de um engenheiro de software p/ produzir cdigos q/ sejam robustos, fceis de entender e manter.

Qual tem sido o grau de sucesso?

Qualidade Terminologias
Erro: erro humano; Defeito: resultado do erro evidenciado em algum desenvolvimento ou manuteno do produto; Falha: divergncia entre o comportamento requerido para o sistema e o comportamento real.

Como o erro humano causa uma falha.

Perspectivas de Garvin sobre qualidade


Viso transcendental: algo que podemos reconhecer, mas no definir; Viso do usurio: convenincia para propsito pretendido; Viso do fabricante: conformidade com especificao; Viso do produto: relao com as caractersticas inerentes ao produto; Viso do mercado: dependncia de quanto os consumidores esto dispostos a pagar.

Abordagem de sistemas
Os projetos que so desenvolvidos no existem no vazio.

Abordagem de sistemas
Identificar atividades e objetos. Definir as relaes e fronteiras do sistema. Considerar sistemas inter-relacionados.

Sistema de produo de contracheques

Construindo uma casa versus um software


Identificar e analisar os requisitos Produzir e documentar todo o projeto Detalhar as especificaes Identificar e projetar os componentes Construir cada componente Testar cada componente Integrar os componentes Fazer as modificaes finais Manuteno contnua Anlise e definio dos requisitos Projeto do sistema Projeto do programa Escrever os programas Testes das unidades Teste de integrao Teste do sistema Entrega do sistema Manuteno

Como a ES tem se modificado?

Fatores-chave que mudaram a prtica da engenharia de software (Wasserman)


Aspecto crtico do tempo para entrega do produto ao mercado, no caso de produtos comerciais; Mudanas na economia da computao (reduo dos custos de hardware e aumento nos custos de desenvolvimento e manuteno); Disponibilidade poderosa da computao em desktops Aumento das redes locais e remotas; Disponibilidade e adoo da tecnologia orientada a objetos; Uso de interfaces grficas;

Disciplina de engenharia de software de Wasserman


Abstrao Mtodos e notaes de anlise e projeto Prottipo da interface com o usurio Arquitetura de software Processo de software Reuso Medio Ferramentas e ambientes integrados

Exemplos de sistema de informao


Piccadily Television: TV regional britnica;
Anunciante comercial tem diversas alternativas:
Propagandas de bebidas alcolicas s podem ser apresentadas depois das 21 horas; Se um ator est em um programa, ento um anncio com o mesmo autor no pode ser transmitido antes de 45 minutos aps o trmino do programa; Se um anncio para a classe de produtos est programado para um dado intervalo comercial, ento nenhum outro anncio para outro produto dessa mesma classe pode ser apresentado nesse intervalo; Taxa depende do valor de tempo comprado.

Software determina o controle de tempo do anncio

Você também pode gostar