Engenharia de Software - Fazer melhor o software e fazer o software melhor

A grande competitividade no mercado torna as empresas cada vez mais dependentes de seus sistemas de informação. Construir estes sistemas em tempo hábil e com a qualidade exigida por estes clientes sofisticados e exigentes com baixo custo é o desafio.

[ Hits: 27.704 ]

Por: Adilson Santos da Rocha em 10/03/2004


Processo de desenvolvimento



A função de um processo de desenvolvimento é basicamente definir quem irá fazer o que e como deve ser feito para que o objetivo "construir um software ou melhorar um já existente" seja alcançado.

As vantagens de utilizar um processo de desenvolvimento formal documentado são inúmeras entre elas estão:
  • Oferece um guia para definir as atividades da equipe;
  • Especifica quais artefatos devem ser construídos e desenvolvidos;
  • Direciona as tarefas individuais e da equipe como um todo;
  • Oferece critérios para monitoração e medição dos produtos e atividades do projeto;
  • Provê linhas gerais para os usuários e desenvolvedores;
  • Reduz riscos e torna os projetos mais previsíveis;
  • Provê visões comuns a equipe de desenvolvimento;
  • Serve como um template que pode ser reutilizado, criando novas instâncias do mesmo.

Normalmente uma equipe de desenvolvimento cria seu próprio processo de desenvolvimento, o que é muito eficaz e normalmente contribui para uma maior disseminação da cultura de planejar.

Alguns pontos a considerar na hora de criar seu próprio processo de desenvolvimento:
  • Tamanho da organização.
  • Natureza da aplicação.
  • Prioridades relativas, facilidades a oferecer, prazo de entrega....
  • Formalidade: determinar o grau de formalidade de acordo com o tamanho da equipe, a velocidade com que a equipe se modifica e complexidade e tamanho do projeto. Isto impede que requisitos de sistemas, compromissos assumidos, etc. não seja desconsiderado. Quanto mais formal o processo, menos possibilidades de erros, porém deve-se cuidar para que não se tenha um processo engessado.
  • Complexidade do sistema: em sistemas de complexidade muito grande e interessante que o processo de desenvolvimento seja iterativo para que o mesmo problema seja analisado várias vezes e por várias pessoas em tempos diferentes, nestes caso a documentação é extremamente importante e normalmente apresenta bom resultado.
  • Equipe: não só tamanho da equipe de desenvolvimento deve ser considerado na elaboração de um processo de desenvolvimento, as áreas de especialidade de cada membro e principalmente o grau de conhecimento da equipe no domínio do problema e da tecnologia a ser utilizada.

Baseando-se neste fatores e vários outros a considerar, como riscos de sucessos, fatores críticos, etc. e utilizando técnicas e ferramentas da ES, criamos nosso Workflow, que é o processo de desenvolvimento. A produção e a qualidade dos softwares aumentam em muito quando se usa um processo de desenvolvimento conciso.

Página anterior     Próxima página

Páginas do artigo
   1. Senta que lá vem história
   2. Processo de desenvolvimento
   3. Concluindo, mas não terminando
Outros artigos deste autor

Aumente sua produção em PHP

PDO - Introdução e conceitos

Ninguém planeja fracassar, mas muitos fracassam por não planejar

Leitura recomendada

Trabalhando conteúdo dinâmico com Smarty

Relatórios com PHP e XSLT - Conceitos iniciais e utilização básica

Administrando usuários no GNU/Linux e Samba via web com PHP

Método de Newton e PHP

Criando um ambiente de desenvolvimento web livre com Eclipse e PHP

  
Comentários
[1] Comentário enviado por _simmons_ em 10/03/2004 - 11:44h

Fala Adílson, parabéns pelo artigo . Eu frequento um outro fórum de Linux e tem um cara que é desenvolvedor .Net , ele "prega" que não existe nenhum tipo de Framework para Linux , seu próximo artigo vai mostrar algo desse tipo ? Ou algo semelhante, eu não entendo muito dessa parte de desenvolvimento de software em equipe, mas pelo que andei lendo , um framework é como um conjunto de "mini aplicações" que já estão prontas e você só vai adicionando elas ao projeto central, sem precisar mexer com o código, ser for isso mesmo gostaria que você desse o nome desses softwares e se tudo isso que eu falei não é viagem..hehe.. Falou. []s


André Michi

[2] Comentário enviado por asrocha em 10/03/2004 - 12:01h

E ai _simmons_!!
Valeu!!
Bom isso tudo que vc falou nao é uma viagem!! framework é quase isso na verdade sao metodologias e ferramentas e tecnicas para se desenvolver um software, esses "mini-aplicativos" eu entendo que são os design partners - se eu estiver errado algem me corrige ok !!
Quanto a nao exititem frameworks para windows isso nao e verdade pois os frameworks a maioria são independentes de plataforma linguagem ou paradgma. um frame work que eu uso é o mvc que é apenas uma maneira de como desenvolver componentes separados para a aplicação
no meu proximo artigo que esta em construção vou tentar como construir uma aplicação em php usando mvc
[][][]
asrocha

[3] Comentário enviado por _simmons_ em 10/03/2004 - 12:56h

Valeu Adilson, fico esperando seu próximo artigo. []s

André Michi

[4] Comentário enviado por JuNiOx em 11/03/2004 - 00:39h

ae, legal o artigo...

teria documentação sobre modelo de desenvolvimento V e W ?

valew

[5] Comentário enviado por asrocha em 11/03/2004 - 10:38h

JuNiox,
Eu desconheço estes modelo de desenvolvimento ou conheço por outros nomes talvez!
falow

[6] Comentário enviado por zach em 14/03/2004 - 09:28h

Olá pessoal

Antes eu achava um pouco viagem, mas as taís "métricas de softaware" nos balizam na construção de um bom software. Da mesma forma que certa vez recebi um artigo sobre 10 regras que deveriam ser respeitadas para a construção de um site com qualidade. Que estiver interessado, contate-me em pvt.

Abraços.

[7] Comentário enviado por presto em 26/12/2006 - 16:22h

Excelente artigo!!! =D

Todos aqueles que criticam ferrenhamente os "abusivos" preços da Microsoft muitas vezes ignoram que a Engenharia de Software é parte importantíssima da produção. É, também, uma das partes mais caras do ciclo de desenvolvimento.

Não quero defender ou atacar ninguém. Procuro sempre observar os dois lados da moeda! =]

[]s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts