Você está na página 1de 7

ENGENHARIA DE SOFTWARE

Cristiano Gley Carvalho Moreira


cgsoft@hotmail.com
Engenharia de Software
Prof. Francisco William

RESUMO
Neste artigo so apresentados os conceitos bsicos da Engenharia de Software, definindo os
pontos bsicos para o seu entendimento. Com uma definio precisa sobre o conceito de Engenharia
de Software.
Quanto maior o conhecimento sobre as metodologias de elaborao e acompanhamento de
um sistema, melhor ser a anlise a fim de encontrar uma que seja a mais apropriada para o
ambiente do projeto que se deseja desenvolver. A Engenharia de Software, por sua vez, engloba
caractersticas e estratgias simples que tem atendido de forma satisfatria muitas organizaes, na
atualidade.

Palavras Chaves: Organizaes, Engenharia de Software, conhecimento, sistema.

INTRODUO

Atualmente toda atividade envolvendo desenvolvimento de software vem em uma crescente


importncia. Muitos programas utilizados nas mais diversas reas dos mais diversos conhecimentos
humano tem gerado uma crescente demanda por solues na informatizao.

Visando a melhoria e qualidade dos produtos de software aumentando a produtividade no


processo de desenvolvimento, surgiu a Engenharia de Software. A Engenharia de Software envolve
em seu processo os mtodos, tcnicas, ferramentas e ambientes de suporte de desenvolvimento de
software.
O software agora ultrapassou o hardware como a chave para o sucesso de muitos sistemas
baseados em computador. Seja o computador usado para dirigir um negcio, controlar um produto
ou capacitar um sistema, o software um fator que diferencia. O interesse pelas informaes
oferecidas pelo software (e bancos de dados relacionados) diferencia uma empresa de seus
concorrentes. O projeto e a capacidade de ser "amigvel ao ser humano" de um produto de software
diferenciam-no dos produtos concorrentes que tenham funo idntica em outros aspectos. A
inteligncia e a funo oferecidas pelo software muitas vezes diferenciam dos produtos de consumo
ou indstrias idnticas. o software que pode fazer a diferena.

ENGENHARIA DE SOFTWARE DEFINIO

A engenharia de software uma derivao da engenharia de sistemas e de hardware. Ela


abrange um conjunto de trs elementos fundamentais - mtodos, ferramentas e procedimentos - que
possibilita ao gerente o controle do processo de desenvolvimento do software e oferece ao
profissional uma base para a construo de software de alta qualidade produtivamente.
Atualmente, essas tecnologias e prticas englobam linguagens de programao, banco de
dados, ferramentas, plataformas, bibliotecas, padres, processos e a questo da Qualidade de
Software.
Os mtodos de engenharia de software proporcionam os detalhes de "como fazer" para
construir o software. Os mtodos envolvem um amplo conjunto de tarefas que incluem:
planejamento de projeto, anlise de requisitos de software e de sistemas, projeto da estrutura de
dados, arquitetura de programa e algoritmo de processamento, codificao, teste e manuteno.

MTODOS ENGENHARIA DE SOFTWARE


Um mtodo a maneira de como chegar a uma atividade requerida por um modelo de ciclo
de vida, visando otimizar a execuo das atividades que foram especificadas.
Mtodo baseado na Decomposio de Funes: Os tipos de modelos que representam as
funes so: DFD (Diagrama de Fluxo de Dados) se caracteriza pela decomposio
hierrquica de processos. MHT (Modelo Hierrquico de Tarefas) se baseia na
decomposio hierrquica de tarefas.

Mtodo baseado na Estrutura de Dados: Abordagem baseada na decomposio de um


problema a partir dos dados. Exemplos de tipos de modelos dessa classe: MER
(Modelagem Entidade-Relacionamento).
Mtodo de Anlise baseado na Orientao a Objeto. Os tipos de modelos que
representam essa classe so: UML (Unified Process) notao de modelagem,
independente de processos de desenvolvimento. Cenrios

A ORGANIZAO EM UM DESENVOLVIMENTO DE SOFTWARE


PEQUENO CENTRO DE DESENVOLVIMENTO

A evoluo do hardware e software mudou significativamente o processo de


desenvolvimento e a estrutura das organizaes. Com a chegada e barateamento dos PCs, muitas
empresas de pequeno e mdio porte puderam adquirir computadores e contratar pequenas equipes
para automatizar seus processos. Assim, as funes realizadas de formas distintas e comearam a
ser fundidas no ambiente de desenvolvimento e produo. Figuras importantes (e que
posteriormente passaram at mesmo a incorporar carreiras organizacionais) surgiram como o
programalista (programador + analista) e o anador (analista + programador).

Sistemas como folha de pagamento, contas a pagar, contabilidade, controle de estoque, entre
outros, invadiram as pequenas e mdias empresas. A funo supervalorizada de quem produzia
software tornou-se algo to comum como um escriturrio ou um contador.

Todavia, qual foi o problema destes pequenos centros de desenvolvimento? Em primeiro


lugar tinha-se um cliente (usurio) alheio s dificuldades do desenvolvimento de software, que
acreditava que qualquer programador resolveria a automao de sua empresa. E em segundo lugar,
um grupo de desenvolvimento imaturo metodologicamente e, em sua maioria, descompromissado
com o futuro do produto que confeccionavam. Esses dois pontos trouxeram diversos problemas para
a informtica. Muitas empresas, em pouco tempo, se viram merc de um software inopervel ou
de difcil/impossvel manuteno. Poucos empresrios passaram a confiar em quem produzia
software para solucionar os problemas ou melhorar a produtividade de seu negcio. Criou-se uma
lacuna entre quem precisava do software e quem o produzia.

QUALIDADE DE SOFTWARE

Na viso de um usurio um produto de software boa qualidade se ele satisfizer suas


necessidades, sendo fcil de usar, eficiente e confivel. Isto uma viso de observao externa do
produto. Mas para um desenvolvedor, um produto de boa qualidade tem de ser fcil de manter,
sendo uma observao interna. Para um cliente o produto de software

J para um cliente, o produto de software deve agregar valor a seu negcio (qualidade em
uso). Em ltima instncia, podemos perceber que a qualidade um conceito com mltiplas facetas
(perspectivas de usurio, desenvolvedor e cliente) e que envolve diferentes caractersticas (por
exemplo,

usabilidade,

confiabilidade,

eficincia,

manuteno,

portabilidade,

segurana,

produtividade) que devem ser alcanadas em nveis diferentes, dependendo do propsito do


software. Por exemplo, um sistema de trfego areo tem de ser muito mais eficiente e confivel do
que um editor de textos. Por outro lado, um software educacional a ser usado por crianas deve
primar muito mais pela usabilidade do que um sistema de venda de passagens areas a ser operado
por agentes de turismo especializados.
O que h de comum nas vrias perspectivas discutidas acima que todas elas esto focadas
no produto de software. Ou seja, estamos falando de qualidade do produto. Para isto, o produto final
deve ser avaliado para que no apresente uma abordagem indesejvel para o pessoal de
desenvolvimento de software, tendo em vista que a constatao do que foi feito anteriormente de
que o software no apresenta a qualidade desejada pode implicar na necessidade de refazer grande
parte do trabalho. necessrio, pois, que a qualidade seja incorporada ao produto ao longo de seu
processo de desenvolvimento. De fato, a qualidade dos produtos de software depende fortemente da
qualidade dos processos usados para desenvolv-los e mant-los.
Seguindo uma tendncia de outros setores, a qualidade do processo de software tem sido
apontada como fundamental para a obteno da qualidade do produto. Abordagens de qualidade de
processo, tal como a srie de padres ISO 9000, sugerem que melhorando a qualidade do processo
de software, possvel melhorar a qualidade dos produtos resultantes.

A premissa por detrs dessa afirmativa a de que processos bem estabelecidos, que
incorporam mecanismos sistemticos para acompanhar o desenvolvimento e avaliar a qualidade, no
geral, conduzem a produtos de qualidade.

Um processo de software, em uma abordagem de Engenharia de Software, envolve diversas


atividades que podem ser classificadas quanto ao seu propsito em:

Atividades de Desenvolvimento (ou Tcnicas ou de Construo): so as atividades


diretamente relacionadas ao processo de desenvolvimento do software, ou seja, que
contribuem diretamente para o desenvolvimento do produto de software a ser entregue ao
cliente. So exemplos de atividades de desenvolvimento: especificao e anlise de
requisitos, projeto e implementao.

Atividades de Gerncia: so aquelas relacionadas ao planejamento e acompanhamento


gerencial do projeto, tais como realizao de estimativas, elaborao de cronogramas,
anlise dos riscos do projeto etc.

Atividades de Garantia da Qualidade: so aquelas 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.

As atividades de desenvolvimento formam a espinha dorsal do desenvolvimento e, de maneira


geral, so realizadas segundo uma ordem estabelecida no planejamento. As atividades de gerncia e
de controle da qualidade so, muitas vezes, ditas atividades de apoio, pois no esto ligadas
diretamente construo do produto final: o software a ser entregue para o cliente, incluindo toda a
documentao necessria. Essas atividades, normalmente, so realizadas ao longo de todo o ciclo de
vida, sempre que necessrio ou em pontos pr-estabelecidos durante o planejamento, ou pontos de
controle.

MODELOS DE CICLO DE VIDA DO PROCESSO DE SOFTWARE


MODELO CASCATA

O modelo de ciclo de vida mais antigo e tambm um dos mais usados o chamado modelo
cascata (ou clssico). Foi derivado de modelos existentes em outras engenharias e considera que o
processo de desenvolvimento de software composto por vrias etapas que so executadas de
forma sistemtica e sequencial.
Durante a etapa de Definio de Requisitos os servios, as metas e as restries impostas ao
sistema so identificados junto aos usurios do software. Nessa etapa, os requisitos identificados
tambm so analisados de modo a remover inconsistncias.

MODELO DE PROTOTIPAGEM DESCARTVEL

O objetivo principal desse modelo entender os requisitos do sistema. Tem sido usado com
sucesso para validar partes do sistema (Interface Grfica e aspectos do sistema relacionados
arquitetura ex: desempenho, portabilidade etc.). Como na programao exploratria, a primeira
etapa prev o desenvolvimento de um programa (prottipo) para o usurio experimentar. No
entanto, ao contrrio da programao exploratria, o prottipo ento descartado e o software deve
ser reimplementado na etapa seguinte, usando qualquer modelo de ciclo de vida (ex: cascata).

CONCLUSO

A Engenharia de Software uma disciplina que est envolvida com todos os aspectos da
produo de software, desde a sua concepo at a sua entrega, operao e manuteno.
Vale ressaltar que o objetivo maior da Engenharia de Software produzir software de
qualidade, dentro do prazo e no custo desejado pelo cliente. Diversos motivos dificultam o uso
desses padres, dentre eles o fato de que a definio e uso de um processo de software envolve uma
complexa inter-relao de fatores organizacionais, culturais, tecnolgicos e econmicos.
No que se refere ao gerenciamento de projetos de software especificamente, pode-se
concluir que apesar do esforo da comunidade de engenharia de software em definir modelos e

padres para a construo de um efetivo processo de gerenciamento de projetos, a maioria ainda


sente dificuldade em definir os seus processos e no gerenciam os seus projetos de forma
satisfatria.
Por fim, conclui-se que impulsionado pelas mudanas tecnolgicas os produtos, seus
processos associados mudaram no decorrer das ltimas dcadas. Atualmente, as fbricas de
software so medidas por dois fatores que esto relacionados a qualquer outro tipo de indstria:
qualidade de seus produtos e capacidade de ser cada vez mais produtiva. Essa a essncia atual
para a sobrevivncia e sucesso de uma empresa de software. Nesse contexto, a Engenharia de
Software tem sido cada vez mais considerada pela comunidade de software por oferecer uma
excelente contribuio.

REFERNCIAS

PORTAL ENGENHARIA DE SOFTWARE. Fundamentos da Engenharia de Software.


Disponvel em: <
http://portalengenhariadesoftware.blogspot.com.br/search/label/Fundamentos%20da%20Engenharia
%20de%20Software> Acessado em: 07/05/2015.

WIJIPDIA. Engenharia de Software. Disponvel em:


<http://pt.wikipedia.org/wiki/Engenharia_de_software> Acessado em: 07/05/2015.