• Nenhum resultado encontrado

ENGENHARIA DE SOFTWARE

N/A
N/A
Protected

Academic year: 2021

Share "ENGENHARIA DE SOFTWARE"

Copied!
43
0
0

Texto

(1)

ENGENHARIA DE

SOFTWARE

Profª: Janaide Nogueira Curso: Sistemas de Informação

(2)

E

NGENHARIA DE

S

OFTWARE

(3)

APRESENTAÇÃO

Formação Técnica:

 Informática(IFCE-Campus Tianguá-CE) Secretária Escolar(FDR)

Graduação:

 Bacharelado em Sistemas de Informação(Ieducare) Pós-Graduação:

 Especialização em Engenharia de Software (WPÓS)  Especialização em Engenharia de Software (WPÓS)  MBA em Sistemas de Informação (ESAB)

Atividades Profissionais: Profª. Faculdade Ieducare.

(4)

EMENTA

Conceitos e princípios fundamentais.

 Ciclo de vida de software e estágios de desenvolvimento:

requisitos de software, projeto, implementação, gerenciamento e qualidade de software.

 Ferramentas e ambientes de desenvolvimento integrado.

CARGA HORÁRIA : 60 HORAS/AULA = 15 ENCONTROS

(5)

REFERÊNCIAS

PAULA FILHO, W. P. Engenharia de Software –Fundamentos, Métodos e Padrões. 2. ed. Rio de Janeiro: LTC, 2003.

PFLEEGER, S. L. Engenharia de Software –Teoria e Prática. 2. ed. São Paulo: Pearson PrenticeHall, 2004.

PRESSMAN, R.S.Engenharia de Software.6. ed. São Paulo: McGraw-Hill, 2006.

SOMMERVILLE, I. Engenharia de Software. 8. ed. São Paulo: Pearson, 2007.

(6)

METODOLOGIA DE

AVALIAÇÃO

(Nota1+Nota2+Nota3)\3= Média final;

Nota1 = (1*Exercícios + 2*Artigo)/3;

Nota2= (1*Exercícios + 2*Prova escrita)/3;

Nota2= (1*Exercícios + 2*Prova escrita)/3;

Nota3= Trabalho;

(7)

FALTAS E ATRASOS

O aluno deve evitar ao máximo ter faltas,

pois dificulta o aprendizado.

pois dificulta o aprendizado.

As aulas iniciam às 19:00 horas, o intervalo

inicia às 20:15 horas, com 15 minutos de

duração, terminando o encontro pontualmente

as 22:00 horas.

(8)

E

NGENHARIA DE

S

OFTWARE

(9)

O QUE É ENGENHARIA DE

SOFTWARE?

" É uma disciplina da engenharia que se preocupa com todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em manutenção desse sistema, depois que ele entrou em operação".(SOMMERVILLE,2007)

Com isso o engenheiro de software deve adotar um perfil sistemático e organizado para seus trabalhos e utilizar ferramentas e técnicas apropriadas, dependendo do

problema a ser resolvido e dos

(10)

OBJETIVOS DA ENGENHARIA DE

SOFTWARE

Controlar o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados;

(11)

QUAL A DIFERENÇA ENTRE

ENGENHARIA DE SOFTWARE E DE

SISTEMAS?

A Engenharia de Software é mais especifica, a de Sistemas é mais genérica. Enquanto a Engenharia de Sistemas está mais envolvida com o sistema como um todo Sistemas está mais envolvida com o sistema como um todo e seus detalhes, a Engenharia de Software é mais especifica, em especial ao hardware e software.

(12)

TIPOS DE SOFTWARE

Produtos genéricos;

(13)

O QUE É CASE?

• Compute raided software engineering (engenharia de software como auxílio de computador). Se refere a uma ampla gama de diferentes tipos de programas utilizados para apoiar as atividades de processo de utilizados para apoiar as atividades de processo de software, como a análise de requisitos, modelagem de sistema, a depuração e os testes.

• •Upper-CASE: Apoio as atividades iniciais (requisitos e projeto);

• •Lower-CASE: Apoio as atividades finais (programação, depuração e teste).

(14)

O QUE É DEPURAÇÃO DE

SOFTWARE?

É o processo de encontrar e reduzir defeitos em um software.

(15)

ATRIBUTOS DE UM BOM

SOFTWARE

O software deve oferecer aos usuários as funcionalidades e o desempenho por ele desejado, deve possuir fácil manutenção, ser eficiente...

Características Descrição

Facilidade de Manutenção Esse é um atributo crucial, porque as

15

Facilidade de Manutenção Esse é um atributo crucial, porque as modificações em um software são uma consequência inevitável de um

ambiente de negócios em constante mutação. Nível de Confiança Neste nível incluem-se as características de

confiabilidade, proteção e segurança

Eficiência O Software não deve desperdiçar os recursos do sistema, como por exemplo os ciclos do processador Facilidade de Uso O software deve ser utilizável, usuários leigos não

(16)

PROCESSO DE DESENVOLVIMENTO

DE SOFTWARE

O Conjunto de atividades associadas geram um produto de software. Há quatro atividades de processos fundamentais comuns a todos os processos de software que são:

 Especificação do software;  Desenvolvimento do software; 16  Desenvolvimento do software;  Validação do software;  Evolução do software.

(17)

CICLO DE VIDA DE

DESENVOLVIMENTO DE

SOFTWARE

O CVDS descreve como o software deve ser desenvolvido, ou seja, define a ordem global das atividades e propõe uma estratégia de desenvolvimento.

17

estratégia de desenvolvimento.

Simplificando: Todo desenvolvimento de um software é

caracterizado por fases que quando colocadas em sequência obtêm-se um Ciclo de Vida do Sistema.

(18)

MODELO BALBÚRDIA

No início da computação, poucos programadores

seguiam algum tipo de metodologia baseando-se, em

sua maioria, na própria experiência. Era o que

chamamos hoje de Modelo Balbúrdia,

que são

sistemas desenvolvidos na informalidade sem nenhum

tipo de projeto ou documentação.

18

tipo de projeto ou documentação.

Nesse modelo, o software tende a entrar num ciclo

de somente duas fases: o de implementação e de

implantação. E os ajustes ao software para atender

aos novos requisitos, sempre são em clima de

urgência e de stress, motivados por vários fatores, e

principalmente por pressão política.

(19)

MODELO CASCATA

(20)

MODELO CASCATA

O modelo em Cascata a fase seguinte não deve se iniciar até que a fase precedente tenha sido concluída;

Na prática os estágios se sobrepõem e trocam informações entre si;

20

entre si;

A principal desvantagem do modelo em cascata é a dificuldade de acomodação das mudanças depois que o processo está em andamento. Uma fase tem de estar completa antes de passar para a próxima;

(21)

DESVANTAGENS DO MODELO

CASCATA

Particionamento inflexível do projeto em estágios

distintos, dificulta a respota aos requisitos de mudança do cliente;

Este modelo é apropriado somente quando os requisitos são bem compreendidos, e quando as mudanças forem

21

são bem compreendidos, e quando as mudanças forem bastante limitadas durante o desenvolvimento do sistema; Poucos sistemas de negócio têm requisitos estáveis;

(22)

DESVANTAGENS DO MODELO

CASCATA

Pode não permitir a visão real do processo em andamento. Dois universos:

Universo que se refere ao processo em andamento; Universo que se refere às mudanças que deveriam ser aplicadas, mas não são pelo fato do modelo não

22

aplicadas, mas não são pelo fato do modelo não incorporar em sua dinâmica.

(23)

FASES DO MODELO CASCATA

Análise e definição de requisitos; Projeto de sistema e software;

Implementação e teste de unidade; Integração e teste de sistema;

Operação e manutenção;

23

(24)

MODELO EVOLUCIONÁRIO

Tem como base a idéia de desenvolver uma

implementação inicial, expôr o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas

versões, até que um sistema adequado tenha sido desenvolvido.

24

(25)

TIPOS DE MODELO

EVOLUCIONÁRIO

DESENVOLVIMENTO EXPLORATÓRIO;

(26)

MODELO EVOLUCIONÁRIO:

DESENVOLVIMENTO

EXPLORATÓRIO

O desenvolvimento se inicia com as partes do sistema que estão bem compreendidas adicionar novas características à medida que forem propostas pelo

26

características à medida que forem propostas pelo cliente.

(27)

TIPOS DE MODELO

EVOLUCIONÁRIO

PROTOTIPAÇÃO DESCARTÁVEL;

(28)

MODELO EVOLUCIONÁRIO:

PROTOTIPAÇÃO DESCARTÁVEL

O objetivo é compreender os requisitos de sistema. Deve iniciar com requisitos mal compreendidos para

esclarecer o que é realmente necessário.

(29)

DESVANTAGENS DA

PROTOTIPAÇÃO DESCARTÁVEL

 Falta de visibilidade do processo;

 Os sistemas são frequentemente mal estruturados;

(30)

DESENVOLVIMENTO ORIENTADO A

REUSO

Baseado em reuso sistemático onde sistemas são integrados a partir de componentes existentes.

Estágios do processo:

•Análise de componentes;

30

•Análise de componentes; •Modificação de requisitos;

•Projeto de sistema com reuso; •Desenvolvimento e integração.

(31)

DESENVOLVIMENTO ORIENTADO A

REUSO

Vantagens do Desenvolvimento Orientado a Reuso

-Reduzir a quantidade de software a ser desenvolvida; -Reduzir custos;

31

-Reduzir custos; -Reduzir riscos.

Problema do Desenvolvimento Orientado a Reuso

(32)

ITERAÇÃO DE PROCESSO

-Requisitos de sistema SEMPRE evoluem no curso de um projeto e, sendo assim, a iteração de processo, onde estágios iniciais são retrabalhados, é sempre parte do processo dos sistemas de

grande porte.

32

grande porte.

-A iteração pode ser aplicada a qualquer um dos modelos genéricos do processo.

Duas abordagens (relacionadas) -Entrega incremental;

(33)

ENTREGA INCREMENTAL

Ao invés de entregar o sistema como uma única entrega, o desenvolvimento e a entrega são separados em incrementos, sendo que cada incremento fornece parte da funcionalidade solicitada.

Os requisitos de usuário são priorizados e os

requisitos de prioridade mais alta são incluídos nos incrementos

33

requisitos de prioridade mais alta são incluídos nos incrementos iniciais.

(34)

VANTAGENS DA ENTREGA

INCREMENTAL

O valor pode ser entregue para o cliente com cada

incremento e, desse modo, a funcionalidade de sistema é disponibilizada mais cedo.

O incremento inicial age como um protótipo para auxiliar a elicitar os requisitos para incrementos posteriores do sistema.

34

elicitar os requisitos para incrementos posteriores do sistema. Riscos menores de falha geral do projeto.

Os serviços de sistema de mais alta prioridade tendem a receber mais testes.

(35)

EXTREME PROGRAMMING

Uma abordagem baseada no desenvolvimento e na entrega de incrementos de funcionalidade muito pequenos.

Baseia-se no aprimoramento constante de código, no

envolvimento do usuário na equipe e no desenvolvimento e programação em pares.

35

(36)

DESENVOLVIMENTO EM ESPIRAL

O processo é representado como uma espiral ao invés de uma sequência de atividades como realimentação.

Cada loop na espiral representa uma fase no processo. Sem fases definidas, tais como especificação ou projeto;

Os riscos são explicitamente avaliados e resolvidos ao longo do

36

Os riscos são explicitamente avaliados e resolvidos ao longo do processo.

(37)

DESENVOLVIMENTO EM ESPIRAL

(38)

DESENVOLVIMENTO EM ESPIRAL

Setores do Desenvolvimento em Espiral -Definição de objetivos:

-Objetivos específicos para a fase são identificados. -Avaliação e redução de riscos:

-Riscos são avaliados e atividades são realizadas para reduzir os

38

-Riscos são avaliados e atividades são realizadas para reduzir os riscos-chave.

-Desenvolvimento e validação

Um modelo de desenvolvimento para o sistema, que pode ser qualquer um dos modelos genéricos, é escolhido.

-Planejamento

(39)

DESENVOLVIMENTO EM ESPIRAL

Atividades de Processo - Especificação de software;

- Projeto e implementação de software; - Validação de software;

- Evolução de software.

39

(40)

DESENVOLVIMENTO EM ESPIRAL

Atividades de Processo - Especificação de software;

- Projeto e implementação de software; - Validação de software;

- Evolução de software.

40

(41)

PROCESSO DE SOFTWARE

-Como definir o modelo de processo do software? -Como definir a iteração do projeto?

(42)

PROCESSO DE SOFTWARE

“Uma empresa de produção de calçados deseja automatizar o setor de estoque e contrata um serviço terceiriza do para

desenvolver um software que atenda as necessidades. A princípio, existem muitos riscos no projeto, pois o setor de

estoque apresentar e quisito pouco definido. O cliente pretende

42

estoque apresentar e quisito pouco definido. O cliente pretende esclarecer o quanto antes os requisitos que ainda não estão

(43)

PROCESSO DE SOFTWARE

“Uma rede de hotéis deseja renovar o sistema de controle de

hospedagem e contrata um serviço terceirizado para desenvolver um software que atenda as necessidades. A princípio, os

requisitos estão muito bem definidos, pois a empresa possui um sistema anterior que facilita o entendimento. O cliente pretende

43

sistema anterior que facilita o entendimento. O cliente pretende ter um acompanhamento modular do desenvolvimento do

Referências

Documentos relacionados

Outra variável importante a ser analisada e estudada é a velocidade superficial da fase vapor no interior do tubo de destilação, estando diretamente ligada ao

No presente estudo, identificamos três variantes raras do tipo missense potencialmente patogênicas em heterozigose no GHSR p.Ser84Ile; p.Val182Ala e p.Ala358Thr em quatro pacientes

Objetivo: Uma fita de celulose bacteriana, processado a partir da cana-de-açúcar, foi avaliado como envoltório de reforço da parede uretral, em modelo animal, com o fito

Determinação da distância focal através da divergência de raios paralelos A tabela a seguir mostra os valores obtidos experimentalmente com o espelho convexo.. A quantidade

Neste contexto, este trabalho visa apresentar uma contribuição para aprofundar a discussão da relação entre parâmetros físico-químicos e ecotoxicológicos de

In the present study, we investigated the role of autophagy machinery in modulating rMC response under HG conditions (mimicking diabetic milieu). We revealed that MCs exposed to

Já o Ministério do Turismo (2010), divulga não apenas as atribuições gerais que o guia deve cumprir, mas também as atribuições específicas de acordo com a

do produto foi maior, pode ser visto uma reação do controlador e uma mudança na referência de corrente para rejeitar esse evento o mais rápido possível, por isso, nessa