A Uma Abordagem Antológica
Por: 1005458 • 20/5/2015 • Artigo • 2.443 Palavras (10 Páginas) • 182 Visualizações
Engenharia de Software – Uma Abordagem Antológica
Alexandre Silveira de Sousa, Diego Silva, Hallein C. S. da Rosa, Jayson N. de Melo
Universidade do Sul de Santa Catarina – (UNISUL)
Palhoça - SC
alexandre1111@gmail.com, diego.avai@gmail.com, hallein@unisu.br jayson@unisul.br
Abstract
This article presents aspects and concepts related to the Engineering of Software, presenting the concepts, classic cycle of life of software, prototypical, model spiral and techniques of fourth generation in accordance with some famous authors. Inside of the boarding made on the classic cycle of life of software or cascade model it describes six phases of the development. In this article is presented a equivalence relation between concepts and methods used in the Engineering of Software.
Resumo.
Este artigo apresenta aspectos e conceitos relacionados à Engenharia de Software, apresentando os conceitos, ciclo de vida clássico do software, prototipação, modelo espiral e técnicas de quarta geração de acordo com autores renomados. Dentro da abordagem feita sobre o ciclo de vida clássico do software ou modelo cascata descreve-se a seis fases do desenvolvimento. Apresenta-se também neste artigo uma relação de equivalência entre conceitos e métodos utilizados na Engenharia de Software.
1. Conceitos de Engenharia de Software
Uma das primeiras definições relacionadas à Engenharia de Softwares, segundo Pressman (1995), surgiu na primeira grande conferencia sobre o assunto o autor Fritz Bauer definiu como sendo “o estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais”. Segundo ASSIS (1995), o IEEE conceitua a engenharia de software como sendo a aplicação de uma abordagem sistemática, disciplinada e quantificável, ao desenvolvimento operação e manutenção do software, isto é, uma forma de abordagem para o desenvolvimento e construção de software.
Neste artigo iremos abordar alguns paradigmas relacionados a Engenharia de Software, fazendo uma analogia entre conceitos e métodos utilizados.
1.1 Classes da Engenharia de Software
A Engenharia de Software segundo Pressman (1995), é dividida em três elementos fundamentais são eles: métodos, ferramentas e procedimentos. Com estes três elementos bem definidos a gerência do projeto consegue conduzir o andamento do desenvolvimento, tendo uma base para a construção de software de alta qualidade produtivamente.
Os métodos de engenharia de software englobam uma série de tarefas que incluem: planejamento e estimativa de projeto, análise de requisistos de software e de sistemas, projeto da estrutura de dados, arquitetura de programação e algoritimo de processamento, codificação teste e manutenção.
As ferramentas de engenharia de software fornecem apoio automatizado aos métodos, quando essas ferramentas são utilizadas de forma integrada onde a informação de uma possa ser utilizada pela outra, é denominada engenharia de software auxiliada por computador, ou seja, as ferramentas CASE (Computer-Aided Software Engineering).
Os procedimentos da engenharia de software é descrito como a ligação entre os métodos e as ferramentas proporcionando o desenvolvimento racional e oportuno do software de computador. Esses procedimentos são a definição de como e quando os métodos serão aplicados no desenvolvimento do projeto.
2. Ciclo de Vida Clássico
O ciclo de vida clássico, também conhecido como modelo cascata, segue uma abordagem sequencial contendo seis fases de desenvolvimento, são elas:
Análise e engenharia de sistemas: é a fase onde são levantados os requisitos para todos os elementos do sistema prossguindo com a atribuição de certo subconjunto desses requisitos ao software. É uma visão fundamental quando o software tem que fazer interface com outros elementos (hardware, pessoas e bancos de dados).
Análise de requisito de softwares: este processo é itensificado e concentrado especificamente no software, sendo um dos processos mais importantes no desenvolvimento do projeto. Segundo Caperna (1998), a especificação de requisitos é uma etapa essencial do processo de desenvolvimento de software, uma especificação de requisitos inadequada é responsável por boa parte dos erros detectados no decorrer do desenvolvimento de sistemas. A análise de requisitos se estrutura em três vertentes como defende Sayão (2005), os requisitos funcionais, que descrevem o que o sistema deve prover, ou seja, estão ligados a funcionalidade do software, os requisitos não-funcionais, que definem restrições ou qualidades que o sistema deve possuir, e por último os requisitos inversos, que definem situações e estados que o sistema jamais deve assumir.
Projeto: essa etapa do projeto segundo Pressman (1995), é composta por quatro vertentes: estrutura de dados, arquitetura de software, detalhes procedimentais e caracterização de interface. Este processo traduz as exigências numa representação do software sendo analisada sua qualidade antes mesmo da codificação. Este processo é todo documentado e torna-se parte integrante do software.
Codificação: há a necessidade do projeto ser traduzido de forma legível por máquina, e a etapa de codificação é a responsável por esta tradução.
Testes: Após a codificação começa a fase dos testes, que é uma etapa onde são testados os aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas, concentrando-se também nos aspectos funcionais externos, ou seja, realizando testes para descobrir erros e garantir que a entrada definida produza resultados reais que concordem com os resultados exigidos.
Manutenção: essa etapa se aplica após a entrega do software, onde o cliente detectará erros, ou o próprio software terá que se adaptar a uma nova funcionalidade, ou ainda pelo acréscimo de novas funcionalidades no sistema. Nesta fase as etapas anteriores do ciclo clássico são novamente efetuadas, só que desta vez em um sistema já em funcionamento.
A figura abaixo ilustra o funcionamento do ciclo de vida clássico ou modelo cascata segundo Pressman (1995):
[pic 1]
Figura 1 - Ciclo de Vida Clássico
O primeiro modelo publicado do processo de desenvolvimento de software originou-se de outros processos de engenharia (Royce, 1970). Segundo Sommerville (2003) os principais estágios do modelo retratam as atividades de desenvolvimento fundamentais:
Análise e definição de requisitos: As funções, as restrições e os objetivos do sistema são estabelecidos por meio da consulta aos usuários do sistema. Em seguida, são definidos em detalhes e servem como uma especificação do sistema.
...