TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Resumo de Engenharia de Software

Por:   •  10/12/2018  •  Abstract  •  2.338 Palavras (10 Páginas)  •  303 Visualizações

Página 1 de 10

Resumo de Engenharia de software, PRESSMAN;

Capítulo 2 – Modelos de processo.

O processo de software é a metodologia, ações e tarefas necessárias para se desenvolver este tipo de produto no âmbito da alta qualidade. Sendo a abordagem adotada conforme o software é elaborado. É necessária uma sequência de passos previsíveis, que resulte em um resultado de qualidade e dentro de um prazo, esse roteiro é denominado processo de software.

Uma metodologia genérica na engenharia de software indica cinco etapas, comunicação, planejamento, modelagem, construção e entrega. Além de atividades de apoio, que são aplicadas ao longo do processo. Essa metodologia engloba também, vários fluxos de processo, dentre eles, o fluxo linear, que é executado em sequência fixa, sem retornar aos estágios anteriores. O fluxo iterativo, que repete uma ou mais atividades antes de prosseguir à outra etapa. O fluxo evolucionário que executa as atividades de forma circular, que a cada volta gera um software mais maduro. O fluxo paralelo, que executa uma ou mais atividades ao mesmo tempo.

Os modelos tradicionais, proporcionaram uma grande contribuição à estrutura no trabalho de software, forneceram um roteiro razoavelmente eficaz, embora o trabalho da engenharia de software permanece a beira do caos. A ordem pode ser um erro ao se tratar como o estado ideal da natureza, ordens absolutas geram uma ausência de mutabilidade, sendo uma desvantagem em um ambiente imprevisível. É necessário haver uma estrutura que permita a mudança, mas ao mesmo tempo coordene e gere coerência, de forma não tão rígida.

Há os modelos prescritivos, onde se estabelecem um conjunto de elementos do processo e um fluxo de trabalho, são divididos em cascata, processo incremental, evolucionário e concorrente.

O modelo cascata é utilizado quando os requisitos de um problema são bem estabelecidos e entendidos, quando todo o processo flui de uma forma linear, indo da comunicação à entrega, sendo estável ao longo do desenvolvimento. Começa pelo levantamento de necessidades, avançando ao planejamento, modelagem, construção, emprego alcançando o status de software concluído.

Figura 1: O modelo cascata

[pic 1]

É o mais antigo modelo da engenharia de software, e apresenta alguns problemas que tornam sua utilização de forma eficaz problemática. Em projetos reais raramento é seguido um fluxo sequencial, também frequentemente, é difícil estabelecer todas as necessidades inicialmente, esse modelo tem dificuldade para se adequar a incerteza natural que existe nos projetos de software, além da versão operacional só vai estar disponível próxima ao fim do projeto.

O modelo incremental, que devido à uma necessidade de ter rapidamente funcionalidades básicas, prontas para o uso utiliza de fluxos de processos lineares e paralelos, onde se aplica sequencias lineares, de forma à medida que o tempo passa, cada sequência gera “incrementais”, sendo particularmente útil quando não há pessoal o suficiente para desenvolvimento de todas as funções necessárias para um software “completo”, sendo assim, dividido em incrementos que passam por todos os estágios lineares.

Figura 2: O modelo incremental

[pic 2]

O modelo evolucionário, evolui ao longo do tempo, conforme o avanço do projeto, as necessidades mudam frequentemente, é necessário então, desenvolver versões cada vez mais completas do software. Há dois modelos comuns de processos evolucionários, a prototipação, que serve quando os requisitos estão obscuros, auxilia os interessados a compreender melhor quais são as necessidade e o que realmente será construído. É feito um projeto rápido com os aspectos já conhecidos, construindo assim um protótipo, esse ao final do seu ciclo é descartado, por sua provável ineficiência.

Figura 3: O paradigma da prototipação

[pic 3]

Outro modelo de processo evolucionário é o espiral, acoplando a natureza iterativa da prototipação com os aspectos sistemáticos e controlados do modelo cascata. Sua principal inovação é guiar o processo de desenvolvimento com base em análise de riscos e planejamentos que é realizado durante toda a evolução do desenvolvimento. Riscos são circunstâncias adversas que podem surgir durante o desenvolvimento de software impedindo o processo ou diminuindo a qualidade do produto. São exemplos de riscos: pessoas que abandonam a equipe de desenvolvimento, ferramentas que não podem ser utilizadas, falha em equipamentos usados no desenvolvimento ou que serão utilizados no produto final, etc. A identificação e o gerenciamento de riscos é hoje uma atividade importantíssima no desenvolvimento de software devido à imaturidade da área e à falta de conhecimento, técnicas e ferramentas adequadas. A abordagem em espiral é realista pelo fato do software evoluir a medida que o projeto avança, onde o desenvolvedor e cliente reagem melhor aos ricos de cada nível evolucionário.

Figura 4: O modelo espiral

[pic 4]

Os modelos concorrentes, possibilitam a representação de elementos concorrentes e iterativos de qualquer outro modelo descrito acima, essa modelagem define uma série de eventos que irão disparar transições de estado para estado para cada parte de processo, ações ou tarefas. Definindo uma rede de processos, cada um dos estados existe simultaneamente, onde eventos gerados em um ponto da rede dispara transições entre os estados.

Figura 5: O modelo concorrente

[pic 5]

Os modelos especializados incluem o baseado em componentes, métodos formais e o orientado a aspectos. O baseado em componentes enfatiza a montagem e reutilização dos componentes do projeto, os formais se destaca por uma abordagem matemática para o desenvolvimento e verificação do software. O modelo orientado a aspectos considera os interesses compartilhados que se estendem na arquitetura do sistema.

O processo Unificado é dirigido a casos práticos com foco na arquitetura, iterativo e incremental, tendo em mente uma metodologia utilizando os métodos e ferramentas da UML. Modelos pessoais e de equipe enfatizam a medição, planejamento e auto controle como forma de se alcançar o desenvolvimento de um software de forma bem-sucedida.

Capítulo 3 – Desenvolvimento Ágil.

A engenharia de software, como processo, tem seus problemas, principalmente no mundo dinâmico e mutável dos dias atuais, novas tecnologias surgem e se vão em pouco tempo, paradigmas que antes eram dados como verdadeiros são quebrados, tudo isso resultou no surgimento de uma nova abordagem no desenvolvimento de software, e por conseguinte na engenharia de software da velha guarda. Os valores dessa nova abordagem, chamada de métodos ágeis valoriza os indivíduos e suas interações acima dos processos e ferramentas, a entrega de software operacional, acima de uma documentação extensa, colaboração com o cliente, acima da negociação contratual e por fim, resposta as mudanças acima de seguir um plano comum.

...

Baixar como (para membros premium)  txt (15.9 Kb)   pdf (247.7 Kb)   docx (485.3 Kb)  
Continuar por mais 9 páginas »
Disponível apenas no TrabalhosGratuitos.com