Engenharia De Software
Trabalho Escolar: Engenharia De Software. Pesquise 862.000+ trabalhos acadêmicosPor: Jerffersonrenan • 29/8/2014 • 1.437 Palavras (6 Páginas) • 272 Visualizações
Engenharia de Software: Uma abordagem sobre alguns modelos utilizados atualmente na produção de softwares
1
RESUMO
Modelos são abstrações da realidade necessárias em qualquer atividade da engenharia. O software, por ser uma ferramenta invisível e conceitual, mais do que qualquer outra, precisa ser construído com base em modelos. Existem diversos tipos de modelos de software, cada um deles proporcionando visões e níveis de abstração distintos. Diagramas são a forma mais utilizada de modelagem na Engenharia de Software. Modelos de software são construídos para uma ampla visualização do sistema a ser produzido, permitindo uma melhor compreensão do mesmo.
Cada tipo de modelo especificado aqui possui vantagens e desvantagens, porém cada um se adequa melhor a um tipo de situação, seja se tratando de custo quanto de tempo gasto para a fabricação do software.
O modelo cascata requer menos tempo e menos recursos financeiros e humanos, além disso é recomendável sua utilização quando os requisitos de um determinado problema são bem conhecidos. Uma forma de utilizar esse modelo é quando precisamos fazer adaptações ou aperfeiçoamentos em um sistema já existente.
Já o modelo incremental se faz necessário quando os requisitos iniciais de software são razoavelmente definidos, nesse modelo usa-se uma estratégia de planejamento em que várias partes do sistema são desenvolvidas em paralelo, e integradas quando completas.
Palavras chave: Modelos de software.
INTRODUÇÃO
O software é o meio que permite ao ser humano organizar, processar e identificar suas informações de maneira eficaz e ágil, sem se preocupar em processar dados manualmente, deixando tudo a cargo do computador, é essa automatização de processos que permite a diminuição de stress e ao mesmo tempo o aumento de produtividade e consequentemente dos lucros da empresa.
Contudo para se obter um software de qualidade e que não seja complexo para o usuário final, que geralmente é leigo, é preciso fazer uma análise dos requisitos no qual possibilite avaliar as necessidades da empresa, trazendo por fim um produto que atenda a esses requisitos e que ao mesmo tempo possua uma documentação para posteriores manutenções ou atualizações no sistema.
Portanto, a Engenharia de Software cria metodologias de produção para atender às necessidades tantos das empresas que requerem o software quanto do próprio software, desde o levantamento de requisitos até a sua finalização.
Existem inúmeras metodologias para o desenvolvimento de um projeto, mas temos os modelos de desenvolvimento, que falando em um modo de herança, seriam os pais das metodologias. O modelo de desenvolvimento é dividido em três partes principais, o desenvolvimento em Cascata, Iterativo e Incremental. O desenvolvimento em cascata é o mais tradicional dos três, por parecer ser mais simples e organizado, porém durante o desenvolvimento do projeto pode ocorrer inúmeras falhas decorrentes do uso desse modelo, por isso veio os métodos Iterativo e Incremental, com a ideia de substituir o modelo Cascata e acabar com as suas falhas, mas como nada é perfeito eles também tem as suas falhas, cada modelo será desmistificado adiante para melhor se entender as vantagens e desvantagens de se usá-los na produção se um software.
MODELO CASCATA
Idealizado por Royce em 1970, é o mais antigo modelo de desenvolvimento utilizado para desenvolver um software, e seu ciclo de vida é uma sistemática sequencial composta pelo planejamento, análise, projeto, desenvolvimento, teste e manutenção. Essas características fazem do modelo uma base para todos os outros, é uma espécie de pai. Suas características são os processos contínuos, no qual o produto é finalizado após todos os processos sequenciais realizados.
Os modelos posteriores na verdade são melhorias realizadas mais criteriosamente, sobre os paradigmas do desenvolvimento. Nesse modelo as atividades do processo de desenvolvimento são estruturadas em uma cascata onde a saída de uma etapa é a entrada para a próxima, e assim sucessivamente até a entrega do produto final.
Vantagens:
Torna o processo de desenvolvimento estruturado;
Tem uma ordem sequencial de fases;
Cada fase cai em cascata na próxima e cada fase deve estar terminada antes do início da seguinte;
Todas as atividades identificadas nas fases do modelo são fundamentais e estão na ordem certa;
Esta abordagem é atualmente a norma e provavelmente permanecerá por um tempo, mas temos o Desenvolvimento Ágil chegando com muita força na maioria das empresas de grande porte;
Desvantagens:
Não fornece feedback entre as fases e não permite a atualização ou redefinição das fases anteriores;
Não suporta modificações nos requisitos;
Não prevê a manutenção;
Não permite a reutilização;
É excessivamente sincronizado;
Se ocorrer um atraso todo o processo é afetado;
Demora muito para ser entregue o software;
MODELO INCREMENTAL
O modelo incremental foi proposto como uma resposta aos problemas encontrados no modelo em cascata. Um processo de desenvolvimento segundo essa abordagem divide o desenvolvimento de um produto de software em ciclos. Em cada ciclo de desenvolvimento, podem ser identificadas as fases de análise, projeto, implementação e testes. Essa característica contrasta com a abordagem clássica, na qual as fases de análise, projeto, implementação e testes são realizadas uma única vez.
A noção de processo incremental corresponde à ideia de “aumentar” (alargar) pouco-a-pouco o âmbito do sistema. Uma boa imagem para este atributo é a de uma mansão que foi construída por sucessivos incrementos a partir de uma primeira casa
...