Você está na página 1de 13

Introduo Engenharia de Software

Pgina 1 de 13

Introduo Engenharia de Software


O QUE SOFTWARE?
SEGUNDO O DICIONRIO AURLIO: AQUILO QUE PODE SER EXECUTADO POR UM EQUIPAMENTO, NO CASO O HARDWARE; UM PRODUTO COMERCIALIZADO QUE CONSISTE EM UM SISTEMA DE ROTINAS E FUNES. UMA DEFINIO MAIS DIDTICA: INSTRUES (PROGRAMAS DE COMPUTADOR) QUE, QUANDO EXECUTADAS PRODUZEM A FUNO E O DESEMPENHO DESEJADOS; ESTRUTURAS DE DADOS QUE POSSIBILITAM QUE OS PROGRAMAS MANIPULEM ADEQUADAMENTE A INFORMAO; DOCUMENTOS QUE DESCREVEM A OPERAO E O USO DOS PROGRAMAS E TANTAS OUTRAS...!

EVOLUO DO SOFTWARE

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004

Introduo Engenharia de Software

Pgina 2 de 13

PARA QU DESENVOLVER SOFTWARE?


AUTOMATIZAR UM DETERMINADO PROCESSO; MELHORAR A QUALIDADE DAS INFORMAES; APOIAR DECISES ESTRATGICAS; SER UM INSTRUMENTO DE MELHORIA QUALIDADE DE VIDA DA SOCIEDADE; DAR MAIS CREDIBILIDADE AS INFORMAES; E POR A VAI... DA

APLICAES PARA O SOFTWARE


SOFTWARE BSICO: COLEO DE PROGRAMAS ESCRITOS PARA APOIAR OUTROS PROGRAMAS. EX.: COMPILADORES, GERENCIADORES DE ARQUIVOS, DRIVERS, ETC... SOFTWARE DE TEMPO REAL: SOFTWARE QUE MONITORA, ANALISA E CONTROLA EVENTOS DO MUNDO REAL. SO SISTEMAS AONDE UM RESULTADO ATRASADO NO TEM VALOR. EX.: MONITORAO DE BATIDAS CARDACAS, SISTEMA DE CONTROLE DE TRFEGO AREO, FREIOS ABS (CARROS), ETC ... SOFTWARE COMERCIAL: SISTEMAS DE OPERAES COMERCIAIS E TOMADAS DE DECISES ADMINISTRATIVAS. EX.: FOLHA DE PAGAMENTOS, CONTAS A PAGAR E A RECEBER, CONTROLE DE ESTOQUES, ETC...

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004

Introduo Engenharia de Software

Pgina 3 de 13

SOFTWARE CIENTFICO E DE ENGENHARIA: CARACTERIZADO POR ALGORITMOS DE PROCESSAMENTO NUMRICO. EX.: ASTRONOMIA, ANLISE DE FADIGA DA MECNICA DE AUTOMVEIS, MANUFATURA AUTOMATIZADA, ETC... SOFTWARE EMBUTIDO: USADO PARA CONTROLAR PRODUTOS E SISTEMAS PARA OS MERCADOS INDUSTRIAIS E DE CONSUMO. RESIDE EM MEMRIA S DE LEITURA. EX.: CONTROLE DO TECLADO DE UM MICROONDAS, CONTROLE DE COMBUSTVEL, FUNES DIGITAIS DE AUTOMVEIS, ETC... SOFTWARE DE COMPUTADOR PESSOAL: ENVOLVE PROCESSAMENTO DE TEXTOS, PLANILHAS ELETRNICAS, COMPUTAO GRFICA, MULTIMEDIA, ETC. SOFTWARE BASEADO NA WEB: PGINAS WEB RECUPERADOS POR UM BROWSER QUE INCORPORAM INSTUES EXECUTVEIS (CGI, HTML, JAVA, PERL, XML, ETC...) E DADOS. EX.: HIPERTEXTOS, FORMATOS DE UDIO, VDEO, IMAGENS, ETC... SOFTWARE DE INTELIGNCIA ARTIFICIAL: FAZ USO DE ALGORITMOS NO NUMRICOS PARA RESOLVER PROBLEMAS DE ALTA COMPLEXIDADE QUE NO SEJAM FAVORVEIS COMPUTAO OU ANLISE DIRETA. EX.: SISTEMAS ESPECIALISTAS, RECONHECIMENTO DE PADRES, REDES NEURAIS, JOGOS, ETC...

DEVENVOLVER AFLIO???!!!
A PALAVRA AFLIO

SOFTWARE.
FREQUENTEMENTE

UMA
EST
29/10/2004

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

Introduo Engenharia de Software

Pgina 4 de 13

Q ASSOCIADA AO DESENVOLVIMENTO DO SOFTWARE DEVIDO A UM CONJUNTO DE PROBLEMAS QUE TORNAM ESTA ATIVIDADE EM UMA ATIVIDADE RDUA E SUBJETIVA. ENTRE ELES PODEMOS CITAR: AS ESTIMATIVAS DE CUSTO FREQUENTEMENTE SO IMPRECISAS; E PRAZO

A PRODUTIVIDADE DAS PESSOAS DA REA DE SOFTWARE NO TEM ACOMPANHADO A DEMANDA POR SEUS SERVIOS; A QUALIDADE DO SOFTWARE S VEZES MENOS ADEQUADA; NO DEDICAMOS TEMPO PARA COLETAR DADOS SOBRE O PROCESSO DE DESENVOLVIMENTO; POUCOS DADOS ESTIMATIVAS; HISTRICOS PARA GUIAR

A COMUNICAO ENTRE ANALISTA E CLIENTE FREQUENTEMENTE MUITO POBRE; FALTA OU DEFICINCIA EM TCNICAS DE TESTE; A TAREFA DE MANUTENO DEVORA A MAIORIA DO ORAMENTO DESTINADO AO SOFTWARE.

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004

Introduo Engenharia de Software

Pgina 5 de 13

MAIS QUAIS SO AS CAUSAS DESTES PROBLEMAS?


O CARTER DO SOFTWARE; FALHAS HUMANAS; GERENTES SEM SOFTWARE; NENHUM BACKGROUND EM

OS PROFISSIONAIS DA REA DE SOFTWARE TM RECEBIDO POUCO TREINAMENTO FORMAL EM NOVAS TCNICAS PARA O DESENVOLVIMENTO DE SOFTWARE; RESISTNCIA MUDANA.

AONDE IREMOS CHEGAR? NO DESANIMEM!!! FELIZMENTE OS PROBLEMAS APRESENTADOS PODEM SER CORRIGIDOS.

UMA SOLUO VISTA!!!


RECONHECER OS PROBLEMAS E SUAS CAUSAS SEM
file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm 29/10/2004

Introduo Engenharia de Software

Pgina 6 de 13

DVIDA UM SOLUES.

PRIMEIRO

PASSO

EM

DIREO

NO EXISTE UMA ABORDAGEM PARTICULAR QUE SEJA MELHOR PARA A SOLUO DA AFLIO DO SOFTWARE. ENTRETANTO, AO COMBINARMOS: MTODOS ABRANGENTES PARA TODAS FASES DO DESENVOLVIMENTO; FERRAMENTAS PARA AUTOMATIZAR OS MTODOS; IMPLEMENTAO MAIS CONSISTENTE E ROBUSTA; TCNICAS PARA GARANTIA DA QUALIDADE; BOA COORDENAO ADMINISTRATIVO, E CONTROLE

EIS QUE SURGE UMA DISCIPLINA PARA O DESENVOLVIMENTO DE SOFTWARE - A ENGENHARIA DE SOFTWARE.

ENGENHARIA DE SOFTWARE
FRITZ BAUER - 1969 O ESTABELECIMENTO E USO DE SLIDOS PRINCPIOS DE ENGENHARIA PARA QUE SE POSSA OBTER ECONOMICAMENTE UM SOFTWARE QUE SEJA CONFIVEL E QUE FUNCIONE EFICIENTEMENTE EM MQUINAS REAIS IEEE, STD 610-1990 A APLICAO DE UMA ABORDAGEM SISTEMTICA, DISCIPLINADA E QUANTIFICVEL PARA O DESENVOLVIMENTO, OPERAO E MANUTENO DO SOFTWARE. " SEI, REPORT ON UNDERGRADUATE SOFTWARE
29/10/2004

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

Introduo Engenharia de Software

Pgina 7 de 13

, ENGINEERING 1990

EDUCATION

(CMU/SEI-90-TR-003)-

ENGENHARIA A APLICAO SISTEMTICA DE CONHECIMENTOS CIENTFICOS NA CRIAO E CONSTRUO DE SOLUES COM UM BOM CUSTOBENEFCIO PARA RESOLUO DE PROBLEMAS PRTICOS DA SOCIEDADE. ENGENHARIA DE SOFTWARE UMA FORMA DE ENGENHARIA QUE APLICA OS PRINCPIOS DA CINCIA DA COMPUTAO E MATEMTICA PARA ALCANAR SOLUES COM UM BOM CUSTOBENEFCIO PARA RESOLUO DE PROBLEMAS DO SOFTWARE. A ENGENHARIA DE SOFTWARE COMPREENDE DE UM CONJUNTO DE ETAPAS QUE ENVOLVE FERRAMENTAS, MTODOS, PROCESSOS E TEM COMO ALICERCE A TUDO ISTO O CONTROLE DA QUALIDADE.

MTODOS: PROPORCIONAM OS DETALHES DE "COMO FAZER" PARA CONSTRUIR O SOFTWARE. FERRAMENTAS:FORNECEM SUPORTE AUTOMATIZADO OU SEMI-AUTOMATIZADOS AOS MTODOS. PROCESSOS: A FUNDAO DA ENGENHARIA DE SOFTWARE, PROVENDO A SUSTENTAO E RELACIONAMENTOS ENTRE AS CAMADAS FOCO NA QUALIDADE: GARANTE TODA
29/10/2004

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

Introduo Engenharia de Software

Pgina 8 de 13

Q QUALIDADE DO SOFTWARE GERADO.

Modelos de Processo
UMA LINGUAGEM DE MODELAGEM NO SUFICIENTE PRECISAMOS TAMBM DE UM PROCESSO DE DESENVOLVIMENTO LINGUAGEM DE MODELAGEM + PROCESSO DE DESENVOLVIMENTO = MTODO (OU METODOLOGIA) DE DESENVOLVIMENTO UM PROCESSO DE DESENVOLVIMENTO, DEFINE QUEM FAZ O QUE, QUANDO E COMO, PARA ATINGIR UM CERTO ALVO VEREMOS OS DETALHES DE UM PROCESSO AO LONGO DA DISCIPLINA POR ENQUANTO, S UMA INTRODUO AS GRANDES FASES DE QUALQUER PROCESSO DE DESENVOLVIMENTO PLANEJAMENTO PLANEJAMENTO DEFINIO DE REQUISITOS, CONSTRUO DE PROTTIPOS (OPCIONAL) ELABORAO CONSTRUO DOS MODELOS A PARTIR A DEFINIO DOS REQUISITOS CONSTRUO DO SISTEMA (INCLUI CODIFICAO E TESTES) IMPLANTAO (COLOCAR EM PRODUO, TREINAR
file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm 29/10/2004

Introduo Engenharia de Software

Pgina 9 de 13

( USURIOS, ...)

PROCURAREMOS UTILIZAR O RUP NA DISCIPLINA!

MODELO CASCATA
MODELO MAIS ANTIGO E AMPLAMENTE UITILIZADO; MODELADO EM FUNO DO CICLO DA ENGENHARIA CONVENCIONAL; REQUER UMA ABORDAGEM SISTEMTICA E SEQENCIAL PARA O DESENVOLVIMENTO DE SOFTWARE; CADA ATIVIDADE UMA FASE EM SEPARADO; O PRODUTO DE UMA FASE ALIMENTA A OUTRA.

PROTOTIPAO
POSSIBILITA QUE O DESENVOLVEDOR CRIE UM MODELO DO SOFTWARE QUE DEVE SER CONSTRUDO IDEALMENTE, O MODELO (PROTTIPO) SERVE COMO
file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm 29/10/2004

Introduo Engenharia de Software

Pgina 10 de 13

, ( ) UM MECANISMO PARA IDENTIFICAR OS REQUISITOS DE SOFTWARE PROTTIPO EM PAPEL OU SISTEMA QUE RETRATA A INTERAO COM O USURIO PROTTIPO QUE IMPLEMENTE ALGUMAS FUNES EXIGIDAS PROTTIPO SERVE COMO MECANISMO PARA IDENTIFICAR OS REQUISITOS DO SOFTWARE

MODELO EM ESPIRAL
DESENVOLVIDO PARA ABRANGER AS MELHORES CARACTERSTICAS DOS MODELOS EM CASCATA E ESPIRAL A CADA ITERAO AO REDOR DO ESPIRAL UMA VERSO MAIS COMPLETA DO SOFTWARE

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004

Introduo Engenharia de Software

Pgina 11 de 13

DESENVOLVIDA INTRODUO ANLISE DE RISCOS REFLETE MAIS O MUNDO REAL

MODELO ITERATIVO E INCREMENTAL


HOJE, CONSIDERADO ERRADO TER UM PROCESSO QUE GERE UM "BIG BANG!" NO SE DEVE TER O SOFTWARE INTEIRO FUNCIONANDO POR INTEIRO NO PRIMEIRO RELEASE O RISCO GRANDE DEMAIS!

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004

Introduo Engenharia de Software

Pgina 12 de 13

UM PROCESSO DE DESENVOLVIMENTO DEVE SER: ITERATIVO (TER VRIAS ITERAES NO TEMPO) INCREMENTAL (GERAR NOVAS VERSES INCREMENTADAS A CADA RELEASE) UMA ITERAO DURA ENTRE 2 SEMANAS E 2 MESES MOTIVOS: SEMPRE TEM ALGO PARA ENTREGAR PARA O CLIENTE APRESSADO (A LTIMA ITERAO) OS REQUISITOS MUDAM COM TEMPO E UM PROCESSO ITERATIVO MANTM FREQUENTES CONTATOS COM O CLIENTE O QUE AJUDA A MANTER OS REQUISITOS SINCRONIZADOS ALTAMENTE MOTIVADOR PARA A EQUIPE DE DESENVOLVIMENTO (E O CLIENTE) VER O SOFTWARE FUNCIONANDO CEDO O QUE FEITO A CADA ITERAO (LEMBRANDO DO FOCO DO NOSSO ESTUDO)? ANLISE (REFINAMENTO DE REQUISITOS, REFINAMENTO DO MODELO CONCEITUAL) PROJETO (REFINAMENTO DO PROJETO ARQUITETURAL, PROJETO DE BAIXO NVEL) IMPLEMENTAO (CODIFICAO E TESTES) GERNCIA (PROJETO, CONFIGURAO, MUDANA) TRANSIO PARA PRODUTO (DOCUMENTAO, INSTALAO, ...)

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004

Introduo Engenharia de Software

Pgina 13 de 13

Introduo Engenharia de Software programa prxima

file://C:\Curso_Goiania\Material_Hilmer\UnB\2004.2\intro\intro.htm

29/10/2004