aula1 eng software

16
ENGENHARIA DE ENGENHARIA DE SOFTWARE (ES) SOFTWARE (ES) Defini Defini ç ç ão, Ciclo de Vida, Processo de ão, Ciclo de Vida, Processo de Desenvolvimento e Paradigmas. Desenvolvimento e Paradigmas.

Upload: portaldoestudanteads

Post on 03-Jul-2015

173 views

Category:

Documents


1 download

TRANSCRIPT

ENGENHARIA DE ENGENHARIA DE SOFTWARE (ES)SOFTWARE (ES)

DefiniDefiniçção, Ciclo de Vida, Processo de ão, Ciclo de Vida, Processo de Desenvolvimento e Paradigmas.Desenvolvimento e Paradigmas.

DEFINIDEFINIÇÇÃOÃO

Engenharia de softwareEngenharia de software éé uma uma áárea do rea do conhecimento da informconhecimento da informáática voltada para tica voltada para a especificaa especificaçção, desenvolvimento e ão, desenvolvimento e manutenmanutençção de sistemas de ão de sistemas de softwaresoftware,,aplicando tecnologias e praplicando tecnologias e prááticas de ticas de ciência ciência da computada computaççãoão, , gestão de projectosgestão de projectos e e outras disciplinas, objectivando outras disciplinas, objectivando organizaorganizaçção, produtividade e qualidade. ão, produtividade e qualidade.

OUTRA DEFINIOUTRA DEFINIÇÇÃOÃO

Engenharia de softwareEngenharia de software éé o o estabelecimento e uso de sestabelecimento e uso de sóólidos lidos princprincíípios de engenharia para que se pios de engenharia para que se possa obter economicamente um software possa obter economicamente um software que seja que seja conficonfiáávelvel e que funcione e que funcione eficientemente em meficientemente em mááquinas reais. [quinas reais. [FritzFritzBauerBauer]]

Elementos envolvidos na ESElementos envolvidos na ES

linguagens de programalinguagens de programaççãoão,,bases de dadosbases de dados,,ferramentas,ferramentas,plataformasplataformas,,bibliotecasbibliotecas,,padrõespadrões,,processos eprocessos eQualidade de SoftwareQualidade de Software

ÁÁreas de Conhecimento da ESreas de Conhecimento da ES

Requisitos de SoftwareRequisitos de SoftwareProjetoProjeto (Design) de Software(Design) de SoftwareConstruConstruçção de Softwareão de SoftwareTeste de SoftwareTeste de SoftwareManutenManutençção de softwareão de softwareGestão de ConfiguraGestão de Configuraçção de Softwareão de SoftwareGestãoGestão de Engenharia de Softwarede Engenharia de SoftwareProcessos de Engenharia de SoftwareProcessos de Engenharia de SoftwareFerramentas e MFerramentas e Méétodos de Engenharia de todos de Engenharia de SoftwareSoftwareQualidade de SoftwareQualidade de Software

A ES compreende um conjunto de etapas que A ES compreende um conjunto de etapas que envolvem menvolvem méétodos, ferramentas e todos, ferramentas e procedimentos.procedimentos.

MétodosDetalhes de como fazer -definem as características de cada etapa do desenvolvimento do software

FerramentasApoio automatizado –CASE Tools

(TPC – Vantagens de uso duma CASE; Liste alguns exemplos)

ProcedimentosDefinem a sequência em que os métodos são aplicados;Os produtos que tem que ser entregues;Estabelece as fundações –garantia de qualidadeUne as camadas tecnológicas

Ciclo de Vida clCiclo de Vida cláássico da ESssico da ES

Definição deRequisitos

Análise

Desenho

Implementação

Teste

Manutenção

PrototipaPrototipaççãoão

ÉÉ um processo que capacita o um processo que capacita o desenvolvedor a criar um desenvolvedor a criar um modelo do software que sermodelo do software que serááimplantado.implantado.

Processo de Desenvolvimento

Definição (O quê?)o que será desenvolvido

Desenvolvimento (Como?)como será desenvolvido

Manutenção (Mudanças?)que mudanças ocorrerão depois

Fase de Definição

Análise de SistemasDefine o papel de cada elemento em um sistema baseado em computador

Planeamento do ProjectoCom o escopo do software definido, riscos analisados, recursos alocados, custos estimados e tarefas definidas

Análise de RequisitosDefinição detalhada do domínio da informação e da função do software

Fase de Desenvolvimento

Desenho/Projecto do SoftwareTraduz os requisitos em representações descrevendo a estrutura de dados, arquitectura do software, procedimentos e características da interface

CodificaçãoConversão em linguagem artificial para serem executadas pelo computador

Testes do SoftwareApós a implementação, o software deve ser testado para descobrir defeitos de função, lógica e implementação

Fase de Manutenção

Correctiva–20 %É provável que o cliente encontre defeitos no software, mesmo com as melhores práticas de garantia de qualidade

Adaptativa–20 %Alterações para acomodar mudanças de ambiente –Sistema Operacional, CPU, periféricos,...

Perfectiva–60 %Estende o software além das funções originais –reconhecimento de benefícios adicionais

Fase de Manutenção

Manutenção Preventivatambém chamada Reengenharia de

SoftwareRevisões Técnicas–garantia de qualidadeDocumentação–garantir informações completasControle de Mudança–aprovação e acompanhamento

Custos de ManutenCustos de Manutenççãoão

Paradigmas de ES Paradigmas de ES -- TPCTPCIncrementalIncrementalRADRADIterativoIterativoFormalFormalEstruturadoEstruturadoLLóógicogicoEspiralEspiralEvolutivoEvolutivoOOOOCombinaCombinaççãoão de de ParadigmasParadigmasTTéécnicascnicas de de QuartaQuarta GeraGeraççãoão

BibliografiaBibliografia

PrinciplesPrinciples ofof Software Software EngineeringEngineeringManagement, AddisonManagement, Addison--WesleyWesley..

httphttp://phpmetar.incubadora.fapesp.br/portal://phpmetar.incubadora.fapesp.br/portal/Faculdade/Engenharia%20de%20Softwar/Faculdade/Engenharia%20de%20Software/Engenharia%20de%20Software%2002.pe/Engenharia%20de%20Software%2002.pdfdf, de 9/, de 9/FevFev/2007/2007

Engenharia de Software, Engenharia de Software, RogerRoger S. S. PressmanPressman, 3., 3.ªª EdiEdiççãoão..

httphttp://pt.wikipedia.org/wiki/Engenharia_de_://pt.wikipedia.org/wiki/Engenharia_de_softwaresoftware, de 9/, de 9/FevFev/2007/2007