portifolio engsoftware

Download Portifolio ENGSOFTWARE

Post on 25-Jun-2015

123 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

CURSO SUPERIOR DE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS ROSANGELA CATHIA SILVA COSTA ANTONIO DE PADUA LINO DANTAS EDUARDOSERGIO DA SILVA ATHAN GIL RAMISON SANTOS EVANGELISTA DE CASTRO JONATHAS MARCELLO GUIMARAES DE SOUZA WALLACE DIAS BEZERRA

ATIVIDADE DE PORTFLIOATIVIDADE DE PRODUO TEXTUAL

Juazeiro-BA 2010

ROSANGELA CATHIA SILVA COSTA

ANTONIO DE PADUA LINO DANTAS EDUARDOSERGIO DA SILVA ATHAN GIL RAMISON SANTOS EVANGELISTA DE CASTRO JONATHAS MARCELLO GUIMARAES DE SOUZA WALLACE DIAS BEZERRA

ATIVIDADE DE PORTFLIOATIVIDADE DE PRODUO TEXTUAL

Trabalho apresentado ao Curso (Tecnlogia em Analise e Desenvolvimento de Sistemas) da UNOPAR Universidade Norte do Paran, para a disciplina [ENGENHARIA DE SOFTAWARE] Orientador: Prof. Luis Flavio Perini

Juazeiro-BA 20-10-2010 SUMARIO

1 INTRODUO 2- CONCEITO 3- DESENVOLVIMENTO SOFTWARE 3.1 Processo de Desenvolvimento de Software Sistematizado 3.1.1 Fases do Desenvolvimento de Software 3.1.1.1 Fase de Definio 3.1.1.2 Fase de Desenvolvimento 3.1.1.3 Fase de Manuteno 3.2 MODELOS DE PROCESSO DE SOFTWARE 3.2.1Modelo Sequencial Linear 3.2.2Modelo de Prototipagem 3.2.3Modelo RAD Rapid Application Development 3.3 MODELOS DE PROCESSOS EVOLUCIONRIOS 3.3.1 Modelo Incremental 3.3.2 Modelo Espiral 3.4 METODOLOGIAS DE DESENVOLVIMENTO TRADICIONAIS OU PESADAS 3.4.1 RUP Rational Unified Process 3.5 METODOLOGIAS DE DESENVOLVIMENTO GEIS OU LEVES 3.5.1 Extreme Programming XP 3.5.2 Feature driven development FDD 3.5.2.1 SCRUM 4 CONCLUSO 5- REFERENCIAS

INTRODUO

Este trabalho prope uma anlise comparativa de duas frentes destas metodologias, as tradicionais, que tm como caracterstica a grande quantidade de documentos gerados, atrasando o desenvolvimento do projeto, e as metodologias geis, que se opem s tradicionais evitando, sempre que possvel, a documentao e focando a codificao do projeto. Para isso linguagens para modelagem do sistema, como a UML, foram criadas. Alm das linguagens, principalmente, foram desenvolvidas metodologias de desenvolvimento de software, onde passos eram detalhados para que o processo de desenvolvimento seguisse um padro e assim atingisse a qualidade necessria. Com o tempo, as metodologias se tornaram mais complexas e distintas melhorando a qualidade do produto, independente do foco do sistema sempre haveria uma metodologia para manter a qualidade. Este trabalho prope uma anlise comparativa de duas frentes destas metodologias, as tradicionais, que tm como caracterstica a grande quantidade de documentos gerados, atrasando o desenvolvimento do projeto, e as metodologias geis, que se opem s tradicionais evitando, sempre que possvel, a documentao e focando a codificao do projeto.

2 - Conceito

Desde a Crise do Software, que forou com que as Software Houses realizadas sem projetos de desenvolvimento de Software de uma maneira mais profissional e organizada, gerando uma documentao para acompanhar o produto, muitas metodologias para esse desenvolvimento surgiram. Linguagens foram criadas para modelar e facilitar o entendimento do produto pelo cliente e pela prpria empresa desenvolvedora. Essa documentao gerada a partir na anlise da especificao dos projetos, era acompanhada de um mtodo de desenvolvimento para especificar ao cliente o que seria desenvolvido e como isso seria feito. Foi ento que surgiram Mtodos para visualizar o processo de desenvolvimento, dividindo-o em etapas, sempre com foco na qualidade final do produto. Os processos sempre comeavam com uma primeira etapa de Anlise, onde os requisitos eram estabelecidos de acordo com a necessidade do cliente. Depois da Anlise, tem-se a Modelagem que gera os documentos necessrios e por ltimo o Desenvolvimento e a fase de Testes. Levando-se em considerao que o processo de desenvolvimento bastante mutvel, pois o surgimento de novos requisitos (tanto funcionais como no funcionais) por parte do cliente normal, assim como a no conformidade de algumas solicitaes, era necessrio alterar constantemente a documentao e o produto em si. Isso demandava muito tempo. Para circular esse problema de constantes alteraes, assumindo que essas mudanas fazem parte do processo de desenvolvimento surgiram os Mtodos geis, aqueles com foco no cdigo e otimizados para alteraes de requisitos, como a Extreme Programming, esses mtodos tambm prezam pela qualidade do Software, mas a sua filosofia de desenvolvimento diferente, dando nfase principalmente no cdigo, sendo que as alteraes necessrias no devem acarretar em tanto tempo gasto. Com o surgimento recente de novas Metodologias de Desenvolvimento de Software MDS, que dividiram o processo de desenvolvimento de Software, para organiz-lo, planej-lo e facilitar o entendimento do mesmo,

existem agora duas principais reas de atuao, o Desenvolvimento chamado Tradicional, com embasamento na Anlise e Projeto, mantendo tudo em documentos, porm se tornando lento para mudanas, e o Desenvolvimento gil, baseado em cdigo, totalmente adaptvel a mudanas nos requisitos, entretanto fraco na parte contratual e de documentos. O trabalho faz um comparativo entre as Metodologias de Desenvolvimento Tradicional e o gil, analisando pontos fortes e fracos de cada uma e os pontos em comum.

3 Desenvolvimento do software Na dcada de 70, a atividade desenvolvimento de software era executada de forma desorganizada, desestruturada e sem planejamento, gerando um produto final de m qualidade, pois no existia documentao ou era entregue fora do prazo ou o levantamento de tempo e esforo no correspondia com a real necessidade. Muitas vezes, esta atividade no satisfazia as necessidades do cliente, desperdiando recursos da empresa e aumentando gastos, que no viriam a ser compensa- dores para o cliente, demandando tempo, esforo e dinheiro, essa poca ficou conhecida com Crise do Software [PRESSMAN 02]. A partir deste cenrio, surgiu a necessidade de tornar o Desenvolvimento de Software como um processo estruturado, planejado e padronizado, para que as necessidades fossem atendidas e os gastos com informatizao de processos de informaes se tornassem compensadores. Para o atendimento desta padronizao, surgiram Metodologias de Desenvolvimento, que dividem o processo de desenvolvimento em fases prdefinidas. Essas Metodologias se adequam s caractersticas organizacionais e ao ambiente de desenvolvimento implementado em uma organizao, ao paradigma de desenvolvimento e ao tipo de plataforma que o Software deve ser desenvolvido, e s caractersticas dos projetos: o tempo que pode ser gasto e a real necessidade do cliente, a fim de estimar custos e prazos reais. Entretanto, a Crise do Software perdura at hoje, onde, mesmo com tcnicas avanadas de desenvolvimento e padres consolidados na rea de criao de Softwares, ainda existem caractersticas da poca da Crise, como Projetos atrasados, erros de estimativa de custos e de tempo, que tornam o Processo, ainda que sistematizado, passvel de muitos erros. 3.1 - Processo de Desenvolvimento de Software Sistematizado

No incio da padronizao do Processo de Desenvolvimento, foram mantidos conceitos tpicos de Engenharia, que ajudaram a sistematizar o processo, e mais tarde, criando a Engenharia de Software. Fritz Bauer [PRESSMAN 02] define a Engenharia de Software como: A criao e utilizao de slidos princpios da Engenharia a fim de obter software de

maneira econmica, que seja confivel para trabalhar eficientemente em mquinas reais. Engenharia a anlise, o projeto, a construo (desenvolvimento), a verificao e a gesto de elementos tcnicos. O Processo de Desenvolvimento de Software, assim como qualquer outro, tem um compromisso com qualidade, sendo que esse enfoque na qualidade se desenvolveu com o passar do tempo, dando surgimento a mtodos e abordagens de Engenharia de Software cada vez amadurecidos, para gerar produtos de qualidade melhor e a menores custos. A Engenharia de Software dividida em camadas, que tem como foco principal a qualidade final do produto gerado, e como maneira de chegar at ela o aperfeioamento do Processo de Desenvolvimento, que consiste na criao de documentos, artefatos e marcos capazes de representar o contexto do software, levando em considerao recursos, ferramentas, prazos, restries, e outros aspectos que envolvem o desenvolvimento de um produto de software [PRESSMAN]. Para auxiliar nesse processo existem Mtodos de Engenharia de Software que fornecem tcnicas de construo, que abrangem a anlise de requisitos, projetos, construo de programas, testes e manuteno. E ainda as Ferramentas, que servem apenas para fornecer apoio automatizado para processos e mtodos. Numa viso geral do processo de desenvolvimento de um software pode-se subdivid-lo em trs fases genricas, ou seja, independem da rea de aplicao, tamanho ou complexidade do projeto. 3.1.1 Fases do Desenvolvimento de Software Numa viso geral do processo de desenvolvimento de software, a literatura especializada costuma subdividi-lo em trs fases genricas, ou seja, independem da rea de aplicao, tamanho ou complexidade do projeto. Estas trs fases sero detalhadas a seguir [SOMMERVILLE ]. 3.1.1.1 Fase de Definio

uma das fases principais do projeto, pois onde se procura identificar funcionalidades, restries, validaes, interfaces e, principalmente, os requisitos-chave, que o projeto necessita. uma fase de muita interao com o cliente para validar todas as informaes por ele passadas e com ele coletadas, a fim de que todos os requisitoschave sejam atendidos de maneira correta no decorrer da implementao do produto de software. composta de trs sub-tarefas principais, que so executadas independente dos mtodos utilizados nesta fase, que podem variar de acordo com o paradigma usado. As sub-tarefas so: a Engenharia de Sistemas, que visa entender e definir objetivos do sistema; o Planejamento do Projeto, que tenta determinar com o mximo de exatido, custos, tempo, esforo e recursos que so necessrios para concluso d