Anda di halaman 1dari 7

Engenharia de Software na Atualidade

Jonatas Corra de Almeida


Instituto Federal de So Paulo (IFSP) Bragana Paulista SP Brasil
Anlise e Desenvolvimento de Sistemas ADS

Resumo. Este artigo descreve de forma sucinta a importncia da
engenharia de software na atualidade, de forma em que o
desenvolvimento de software se destaca na sociedade contempornea.
Valorizando sempre a preocupao com a qualidade do produto, o
software. Descreve tambm os processos e modelos de processos no
desenvolvimento de software para atingir o objetivo de qualidade de
software.
Abstract. This article describes briefly the importance of software
engineering today, where the development of software is well-known
and used over the world. Highlights the concern with the quality of
product software. Describes the processes and process models in
software development reach the goal of software quality.
1. A criao
Nos ltimos anos, o desenvolvimento de aplicativos e software em geral
aumentou significantemente, devido a sua grande importncia na sociedade
contempornea. O uso cada vez maior de computadores pessoais e nas diversas
reas do conhecimento humano tem gerado uma crescente demanda por solues
que automatizem os diversos processos.
Na rea de desenvolvimento de software iniciantes tem o costume de
confundir desenvolvimento com programao, pois estes esto em fase de
aprimorar suas habilidades no raciocnio logico na resoluo de pequenos
problemas. Mas quando se deparam com problemas mais complexos requerem
maior conhecimento e habilidades j que o uso de uma abordagem individual,
centrada na programao no mais indicado.
Segundo Falbo (Prof. COPPE/UFRJ), com intuito de melhorar a qualidade do
software em geral e aumentar a produtividade no desenvolvimento de tais produtos,
surgiu a engenharia de software. o estabelecimento responsvel pelas tcnicas e
praticas para o desenvolvimento de software cobrindo uma ampla rea de
aplicaes e diferentes tipos de dispositivos, tais como sistemas de informao
corporativos, sistemas e portais Web, aplicaes em celulares.
2. Engenharia de Software
A imposio de mtodos sistemticos com o uso adequado de ferramentas e
tcnicas diretamente levada pela engenharia de software, assim pode ser levado
em considerao o problema a ser resolvido, as necessidades dos clientes e os
recursos disponveis.
Durante os ltimos anos, essa rea com suas diferentes disciplinas tm
amadurecido intensamente, atravs da proposio de novos mtodos e tcnicas que
possibilitem o desenvolvimento de softwares mais confiveis, de melhor qualidade,
com custo reduzido e alta produtividade. A rea est fundamentada, sobretudo na
cincia da computao e na matemtica.
A motivao os desenvolvedores usarem dos processos descritos pela
Engenharia de Software definitivamente a qualidade. Todos os processos
descritos nas diferentes tcnicas e formas de desenvolvimentos buscam o mesmo
objetivo, a qualidade do software, qualidade que vai desde a produo at a entrega
do produto (software). necessrio, segundo Falbo (2005), que a qualidade seja
incorporada ao produto ao longo de seu processo de desenvolvimento. E que, de
fato, a qualidade dos produtos de software depende fortemente da qualidade dos
processos usados para desenvolv-los e mant-los.
Segundo Falbo, um processo de software pode ser classificado quanto ao seu
propsito em:
Tcnicas de Desenvolvimento: so as atividades relacionadas
diretamente ao processo de desenvolvimento do software, assim, que
podem contribuir diretamente para o desenvolvimento do produto de
software que ser entregue ao cliente. So exemplos de atividades de
desenvolvimento: especificao e anlise de requisitos, projeto e
implementao
Procedimentos de gerncia: so relacionadas ao acompanhamento
gerencial do projeto e ao planejamento, assim como realizao de
estimativas, elaborao de cronogramas, anlise dos riscos do projeto
etc.
Processor de Garantia da Qualidade: so sempre relacionadas com a
garantia da qualidade do produto em desenvolvimento e do processo
de software utilizado, tais como revises e inspees de produtos
(intermedirios ou finais) do desenvolvimento.

3. Processos de Software
A fim de manter a qualidade da produo de um software e garantir tambm
um software de qualidade preciso seguir algumas normas, algumas regras comuns
a todos aqueles que querem ter seu software com certificado de qualidade.
O processo de software definido, por Macoratti.net, como um conjunto de
atividades uniformizadas a serem aplicadas sistematicamente que se encontram
agrupadas em fases, cada uma das quais com os seus intervenientes com
responsabilidades, que possui diversas entradas e produz diversas sadas. Isto ,
define quem faz o qu, quando e como para atingir certo objetivo.
3.1 Fases de um processo de software
Para Schwartz (1975) as principais fases de um processo de software so:
Especificao de Requisitos: traduo da necessidade ou requisito
operacional para uma descrio da funcionalidade a ser executada.
Projeto de Sistema: traduo destes requisitos em uma descrio de todos os
componentes necessrios para codificar o sistema.
Programao (Codificao): produo do cdigo que controla o sistema e
realiza a computao e lgica envolvida.

Verificao e Integrao (Verificao): verificao da satisfao dos requisitos
iniciais pelo produto produzido. A escolha de um modelo de ciclo de vida (ou modelo
de processo) o ponto departida para a definio de um processo de
desenvolvimento de software. Um modelo de ciclo de vida organiza as macro
atividades bsicas, estabelecendo precedncia e dependncia entre as mesmas.
Cada atividade deve ser associada tcnicas, ferramentas e critrios de qualidade,
entre outros, formando uma base slida para o desenvolvimento. Embora diferentes
projetos requeiram processos com caractersticas especficas para atender s suas
particularidades, possvel estabelecer um conjunto de ativos de processo a ser
utilizado na definio de processos de software de uma organizao. Sendo estas
sequncias de fases citadas logo acima, no precisam ser necessariamente
executas nesta ordem e muito menos somente estas, podem ser adicionadas outras
fases conforme a demanda do projeto.
3.1.1 Atividades do processo de software
Nas fases de procedimento do software definido so executadas as atividades
bsicas para que sejam atingidos os objetivos propostos. Segundo Pressman (1997)
estas atividades constituem um conjunto mnimo para se obter um produto de
software, sendo elas.
Especificao
Engenharia de Sistema: estabelecimento de uma soluo geral para o
problema, envolvendo questes extra software.
Anlise de Requisitos: levantamento das necessidades do software a ser
implementado. A Anlise tem como objetivo produzir uma especificao de
requisitos, que convencionalmente um documento.
Especificao de Sistema: descrio funcional do sistema. Pode incluir um
plano de testes para verificar adequao.
Projeto
Projeto Arquitetural: onde desenvolvido um modelo conceitual para o
sistema, composto de mdulos mais ou menos independentes.
Projeto de Interface: onde cada mdulo tem sua interface de comunicao
estudada e definida.
Projeto Detalhado: onde os mdulos em si so definidos, e possivelmente
traduzidos para pseudocdigo.
Implementao
Codificao: a implementao em si do sistema em uma linguagem de
computador.
Validao
Teste de Unidade e Mdulo: a realizao de testes para verificar a
presena de erros e comportamento adequado a nvel das funes e
mdulos bsicos do sistema.
Integrao: a reunio dos diferentes mdulos em um produto de software
homogneo, e a verificao da interao entre estes quando operando em
conjunto.
Manuteno e Evoluo
Nesta fase, o software em geral entra em um ciclo iterativo que abrange
todas as fases anteriores. Desta forma as atividades relacionadas a um
processo de software esto diretamente vinculadas com a produo do
software como produto final. Mantendo o propsito principal que a
qualidade. Traveses da organizao destas atividades concentram-se
energias das pessoas envolvidas em atividades especificas sempre
focando as pessoas na qualidade.

3.1.2 Modelos de Processo de Desenvolvimento de Software
Os modelos de processos de desenvolvimento de software surgiram pela
necessidade dedar resposta s situaes a analisar, porque s na altura em que
enfrentamos o problema que podemos escolher o modelo.
Modelo cascata: tem como principal caracterstica a sequncia de
atividades onde cada fase transcorre completamente e seus produtos
so vistos como entrada para uma nova fase.
Modelo espiral: srie de pequenos ciclos, cada um finalizando um
verso de um software executvel. O modelo em espiral assume que o
processo de desenvolvimento ocorre em ciclos, cada um contendo
fases de avaliao e planejamento, onde a opo de abordagem para
a prxima fase (ou ciclo) determinada.
Modelo de do processo de desenvolvimento iterativo e incremental:
mais prtico dividir o trabalho em partes menores ou iteraes. Cada
iterao resultar num incremento. O princpio subjacente ao processo
incremental e iterativo que a equipa envolvida possa refinar e alargar
paulatinamente a qualidade, detalhe e mbito do sistema envolvido.
Modelo de Prototipagem: ideia bsica deste modelo que ao invs de
manter inalterados os requisitos durante o projeto e codificao, um
prottipo desenvolvido para ajudar no entendimento dos requisitos.
Este desenvolvimento passa por um projeto , codificao e teste,
sendo que cada uma destas fases no executada formalmente.




4. Estimativas
Antes mesmo de serem iniciadas as atividades tcnicas de um projeto, o
gerente e a equipe de desenvolvimento devem estimar o trabalho a serem
realizados, os recursos necessrios, o tempo de durao e, por fim, o custo do
projeto. Apesar das estimativas serem um pouco de arte e um pouco de cincia,
esta importante atividade no deve ser conduzido desordenadamente. As
estimativas podem ser consideradas a fundao para todas as outras atividades de
planejamento de projeto Para alcanar boas estimativas de prazo, esforo e custo,
existem algumas opes, segundo Falbo:
1.Postergar as estimativas at o mais tarde possvel no projeto.
2.Usar tcnicas de decomposio.
3.Usar um ou mais modelos empricos para estimativas de custo e esforo.
4.Basear as estimativas em projetos similares que j tenham sido concludos.
Quando se fala em estimativas, est-se tratando na realidade de diversos
tipos de estimativas: tamanho, esforo, recursos, tempo e custos. Geralmente, a
realizao de estimativas comea pelas estimativas de tamanho. A partir delas,
estima-se o esforo necessrio e, na sequncia, alocam-se os recursos necessrios,
elabora-se o cronograma do projeto (estimativas de tempo) e, por fim, estima-se o
custo do projeto.
5. Implantao e testes
muito importante, segundo Falbo que haja padres organizacionais para a
fase de implementao. Esses padres devem ser seguidos por todos os
programadores e devem estabelecer, dentre outros, padres de nomes de variveis,
formato de cabealhos de programas e formato de comentrios, recuos e
espaamento, de modo que o cdigo e a documentao a ele associada sejam
claros para quaisquer membros da organizao. Ainda que padres sejam muito
importantes, deve-se ressaltar que a correspondncia entre os componentes do
projeto e o cdigo fundamental, caracterizando-se como a mais importante
questo a ser tratada. O projeto o guia para a implementao, ainda que o
programador deva ter certa flexibilidade para implement-lo como cdigo Aps a
implantao hora dos testes, teste uma atividade de verificao e validao do
software e consiste na anlise dinmica do mesmo, isto , na execuo do produto
de software com o objetivo de verificar a presena de defeitos no produto e
aumentar a confiana de que o mesmo est correto Porem, mesmo se um teste no
detectar defeitos, isso no quer dizer necessariamente que o produto um produto
de boa qualidade. Muitas vezes, a atividade de teste empregada pode ter sido
conduzida sem planejamento, sem critrios e sem uma sistemtica bem definida,
sendo, portanto, os testes de baixa qualidade.

6. Definio
Engenharia de software a disciplina do conhecimento humano que tem por
objetivo definir e exercitar processos, onde humanos esto atuando como mquinas,
mtodos, os denominados planos de processos, ferramentas e ambientes, que so
mquinas apoiando processos e mtodos. para construo de software que
satisfaa necessidades de cliente e usurio dentro de prazos e custos previsveis.
Atravs de processos de software, que descrevem atividades padronizadas sendo
estas aplicadas sistematicamente e agrupadas em fases, cujas quais possuem
diferentes entradas e diversas sadas como soluo, juntamente com pessoas
altamente capacitadas as equipes de desenvolvimento conseguem manter uma
qualidade do software. imprescindvel o desenvolvimento de software nos dias
atuais sem o uso da engenharia de software. A concorrncia devido a globalizao,
e o crescente do numero de usurios de computadores trazem aos desenvolvedores
uma rdua tarefa de criar aplicativos (solues) com qualidade e adequado as
necessidades dos usurios.
Referncias Bibliogrficas
Falbo, Ricardo: http://www.inf.ufes.br/~falbo/download/aulas/es-g/2005-
1/NotasDeAula.pdf
PRESSMAN, R. S., Software engineering: A practitioner's approach. 4th. ed.
McGraw-Hill, 1997. p. 22-53.
SCHWARTZ, J. I., Construction of software. In: Practical Strategies for Developing
Large Systems
Menlo Park: Addison-Wesley, 1st. ed., 1975.Macoratti.net O processo de Software,
http://www.macoratti.net/proc_sw1.html

Anda mungkin juga menyukai