• Nenhum resultado encontrado

Engenharia de Software. O Processo de Software. Prof. Michel Pires da Silva

N/A
N/A
Protected

Academic year: 2021

Share "Engenharia de Software. O Processo de Software. Prof. Michel Pires da Silva"

Copied!
34
0
0

Texto

(1)

Engenharia de Software

O Processo de Software

Prof. Michel Pires da Silva

(2)

O processo de software

Surgimento

Utilizada desde 1980

O início de sua existência foi um passo

importante para a melhoria da qualidade do software.

Proposto uma nova forma de gerencia de

projetos por meio de atividades e processos.

(3)

O processo de software

Informalmente

O processo de software pode ser compreendido como sendo o conjunto de todas as atividades necessárias para transformar os requisitos do cliente em software.

Obs: sua função não é somente criar algo novo

mas também manter produtos já existente.

(4)

O processo de software

 Compreendendo o processo

(5)

O processo de software

 Os processos existentes podem ser definidos para atividades tais como:

Desenvolvimento

Manutenção

Aquisição

Contratação

Fase de teste

(6)

O processo de software

Os passos de um processo – atividades – podem ser comparados com uma rede de informações.

Finalidade: identificar cada atividade existente

Passo 1

Passo 2

Passo 4

(7)

O processo de software

 Para que o processo de software funcione adequadamente, faz-se

necessário a utilização de um ciclo de vida.

O ciclo de vida é responsável por criar

uma ordem lógica para as atividades

(8)

O processo de software

Modelo primário “codifica-remenda”

Ciclo de vida muito utilizado por empresas que não prezam um mínimo de qualidade no software.

Empresas que não pensam em produzir

softwares em grande escala.

(9)

O processo de software

Modelo codifica-remenda

Especificação (???)

Desenvolvimento

“Produto”

(10)

O processo de software

Modelo cascata

Modelo de fácil implantação

Apresentação de uma correta execução de

sub-processos. Esses são executados em uma

estrita seqüência, o que permite demarcar

pontos de controle ao decorrer do projeto.

(11)

O processo de software

Modelo Cascata

R equis itos

A nális e

D es enho

Im plem entaç ão

T es tes

Im plantaç ão

(12)

O processo de software

Problemas do modelo cascata

Dificuldade em acomodar mudanças depois que o processo está para ser executado

Partição inflexível do cliente em estágios distintos

Dificuldade em responder a mudanças dos requisitos

É mais apropriado quando os requisitos e

produto são bem compreendidos

(13)

O processo de software

Modelos evolucionários

Desenvolvimento exploratório

O objetivo é interagir com o cliente e obter um sistema a partir de uma especificação inicial. Deve-se começar com requisitos bem compreendidos e de fácil

execução.

Prototipação descartável

O objetivo é compreender os requisitos a partir do

desenvolvimento de protótipos. Deve-se começar com requisitos mal compreendidos.

(14)

O processo de software

 Processo executado nos modelos evolucionários

Descrição Versões

Intermediárias Versão

inicial

Atividades concorrentes

Versão Especificação

Desenvolvimento

Validação

(15)

O processo de software

Problemas

Falta de visibilidade do processo

Os sistemas são mal estruturados

Conhecimentos especializados (e.g. em

linguagens para prototipação rápida) pode ser preciso – RoR por exemplo

Aplicabilidade

Sistemas interativos de pequeno e médio porte

Partes de sistemas de larga escala (e.g.

interface do usuário)

Sistemas com tempo de vida curto

(16)

O processo de software

Modelos formais

Baseado em transformações sucessivas de uma especificação matemática em um programa

executável

As transformações preservam a corretitude,

portanto é possível mostrar que o programa está de acordo com a sua especificação inicial.

Está incorporado na abordagem ‘Cleanroom’ de

desenvolvimento de software

(17)

O processo de software

 Modelos formais

Especificação

formal Programa

executável

R1 R2 R3

P1 P2 P3 P4

Transformações formais

Provas de corretitude de transformação

T1 T2 T3 T4

(18)

O processo de software

Problemas

Necessidade de conhecimentos específicos e treino para aplicar a técnica

Dificuldade para formalmente especificar alguns aspectos, tais como, a interface do usuário

Aplicabilidade

Sistemas críticos onde aspectos de segurança

são cruciais

(19)

O processo de software

Modelos orientados a reutilização

Baseado na reutilização sistemática onde o software é construído a partir de componentes existentes

Estágios do processo

Análise de componentes

Modificação de requisitos

Desenho do sistema com reutilização

desenvolvimento e integração

Esta abordagem tem grande potencial, mas,

falta ainda mais experiência para o seu uso

(20)

O processo de software

 Modelos baseados em reutilização

Especificação de requisitos

Modificação de requisitos

Desenhar sistema

c/ reutilização Desenvolvimento Integração Validação do

sistema Análise de

componentes

(21)

O processo de software

 Os modelos clássicos em engenharia não possuem um grande atrativo que é deixar que o cliente participe da fase de construção de seu produto, por exemplo:

Como consultor de idéias

Como usuário de teste por meio de

protótipos.

(22)

O processo de software

Modelos denominados Incrementais

Ao contrário de entregar o sistema de uma só vez, o desenvolvimento e a entrega é realizada a partir de incrementos onde cada incremento corresponde a uma das funcionalidades do sistema

É definida uma prioridade entre os requisitos, e os requisitos de prioridade mais alta são

incluídos nos incrementos iniciais

Uma vez que o desenvolvimento de um

incremento é iniciado, seus requisitos são

(23)

O processo de software

Modelos baseados em prototipação

Possibilita que o desenvolvedor crie um modelo do software a ser construído.

Ideal para identificar os requisitos de software.

Protótipo em papel ou sistema que retrata a interação com o usuário.

Protótipo que implemente algumas funções exigidas.

(24)

O processo de software

(25)

O processo de software

Modelo em espiral:

processo é representado como uma espiral em vez de sequência de atividades

Cada volta da espiral representa uma fase do processo

Não há fases fixas como especificação e desenho - as voltas na espiral são determinadas pelo que é requerido

Riscos são explicitamente avaliados e resolvidos no

processo

(26)

Planejar fases seguintes

Determinar objetivo, alternativas e

restrições

Avaliar alternativas, identificar e resolver

os riscos

Desenvolver e verificar o próximo Custo Acumulado

Progresso entre as fases

(27)

O processo de software

Vantagens do modelo espiral

O cliente não tem que esperar até que todo o sistema seja concluído

Incrementos iniciais agem como um protótipo que ajuda a analisar os requisitos de

incrementos posteriores

Menor risco de fracasso geral do projeto

Os serviços de prioridade mais alta são

testados exaustivamente

(28)

O processo de software

Técnicas de quarta geração (4GT)

Abrangem um amplo conjunto de ferramentas

Seu objetivo é prover uma interface de trabalho ao desenvolvedor.

A ferramenta então gera automaticamente, o código-fonte, tendo como base o que o

desenvolvedor especificou.

(29)

O processo de software

Sua utilização permite uma diminuição no ciclo de vida do software.

Coleta de requisitos

Estratégia de projeto

Implementaçã o usando

4GT

Teste

4GT

EX.: IBM RUP

(30)

O processo de software

 Para transformar a implementação feita pela 4GT em produto, basta:

Realizar testes cuidadosos

Desenvolver uma documentação significativa

Executar todas as demais atividade de

“transcrição” que também são exigidas.

(31)

O processo de software

Desvantagens

As ferramentas não são mais fáceis de se usar do que as linguagens de programação.

O código fonte gerado por tais ferramentas não é muito eficiente.

A complexidade de sua utilização aumenta

conforme o sistema cresce.

(32)

O processo de software

Qual o melhor modelo para se utilizar no desenvolvimento de software?

Os Modelos evolucionários são bons para produtos novos ou já conhecidos?

Quando utilizar o modelo em cascata e

por que?

(33)

O processo de software

Para pensar

Sempre busque soluções adequadas ao problema

Faça a Engenharia de Software trabalhar a seu

favor, pense como utiliza-la, duvide da teoria e leve- a eficientemente para a prática.

Acabei o meu banho.

MM...

rápido.Foi

(34)

Engenharia de Software

O Processo de Software

Referências

Documentos relacionados

Esse modelo foi derivado de modelos de atividade de engenharia com o fim de estabelecer ordem no desenvolvimento de grandes produtos de software.. Comparado com outros modelos de

Observando o perfil de TPR do catalisador RuKL (figura 88), onde as temperaturas da primeira análise de TPR alcançaram valores de 222°C e 262°C e comparando com os

Soares apud BONILLA, 2005, p.100 considera O que não foi percebido ainda pela comunidade escolar é que o acesso é uma condição necessária, mas insuficiente para as transformações

O professor Rosilmar informou que, no dia 16/11, aconteceu, no campus de Jaguaribe, uma reunião para recepcionar os servidores e o evento contou com a presença

A partir da análise de elementos textuais (verbais e não verbais), podemos fazer considerações acerca das representações no nível das práticas discursivas e sociais. É

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

Z observado que grande parte dos pacientes com anemia aplásicaJ a hipocelularidade da medula Kssea resulta de uma mediação imunolKgicaJ sendo o curso dessa doença possui

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