Artigos Delphi Metodologia de desenvolvimento de Software
Sistemas de software t�m desempenhado um papel cada vez mais preponderante no dia-a-dia das pessoas, e em muitas situa��es o funcionamento correto ou incorreto desses sistemas pode ser a diferen�a entre a vida e a morte. Entretanto, a constru��o de sistemas � complexa, pois deve lidar com requisitos intransigentes, restri��es de integridade e a necessidade de um vasto conhecimento sobre a aplica��o para que as intera��es esperadas entre o software e o ambiente possam ser adequadamente descritos. Quando os requisitos n�o s�o totalmente compreendidos, registrados e comunicados para a equipe de desenvolvimento, muito provavelmente, haver� discrep�ncia entre o que o sistema constru�do faz e o que ele deveria fazer.
Hoje em dia o software assume um duplo papel. Ele � o produto e ao mesmo tempo o ve�culo para entrega do produto. Como produto ele disponibiliza o potencial de computa��o presente em computador, ou mais amplamente numa rede de computadores acess�vel pelo hardware local. Quer resida em um telefone celular, quer opere em um computador de grande porte (Mainframes) o software � transformador de informa��es � produzindo, gerando, adquirindo, modificando, exibindo, ou transmitindo informa��o, que pode ser t�o simples como um bit ou t�o complexa como uma apresenta��o multim�dia. Como ve�culo usado para a entrega do produto, o software age como base para controle do computador � sistemas operacionais � para a comunica��o da informa��o e para a cria��o e o controle de outros programas.
Atualmente, o desenvolvimento de software n�o ocorre como no passado, o programador solit�rio foi substitu�do por uma equipe de especialistas com cada um se concentrando numa parte da tecnologia necess�ria para produzir uma aplica��o. No entanto, os mesmos questionamentos feitos ao programador solit�rio est�o sendo feitos nos dias atuais:
- Por que leva tanto tempo para concluir o software?
- Por que os custos de desenvolvimentos s�o t�o altos?
- Por que n�o podemos achar todos os erros antes da entrega do software aos clientes?
- Por que continuamos a ter dificuldades em avaliar o progresso enquanto o software � desenvolvido?
H� alguns anos tem-se discutido maneiras de contornar a complexidade do software, visto que a cada dia novas �reas de aplica��o t�m surgido e exigido mais confiabilidade e precis�o dos softwares j� existentes e dos que ainda vir�o a ser constru�dos. N�o h� consenso sobre qual a melhor pr�tica para o desenvolvimento de sistemas de software, mais existe um esfor�o em encontrar solu��es para reduzir as dificuldades oriundas da pr�pria natureza do software, da sua complexidade, de necessidades de cumprir seus objetivos e da rapidez com que sofre altera��es. A Engenharia de software prop�e a ado��o da disciplina para lidar com essas dificuldades, tentando reduzir ao m�ximo a influ�ncia delas no processo de desenvolvimento de software.
Engenharia de software
A Engenharia de software � uma disciplina que re�ne metodologias, m�todos e ferramentas a ser utilizadas, desde a percep��o do problema at� o momento em que o sistema desenvolvido deixa de ser operacional, visando resolver problemas inerentes ao processo de desenvolvimento e ao produto de software.
Saiba mais: Cursos de Engenharia de Software
O objetivo da Engenharia de software � auxiliar no processo de produ��o de software, de forma que o processo de origem a produtos de alta qualidade, produzidos mais rapidamente e a um custo cada vez menor. A Engenharia de software segue o conceito de disciplina na produ��o de software, fundamentado nas metodologias, que por sua vez seguem m�todos que utilizam de ferramentas autom�ticas para englobar as principais atividades do processo de produ��o.
Metodologia de desenvolvimento de software
J� faz alguns anos que o desenvolvimento de software deixou de ser sin�nimo apenas de c�digo. Hoje em dia, sabe-se que � necess�ria a utiliza��o de uma metodologia de trabalho.
Mas o que � necessariamente uma metodologia de software? Entende-se por metodologia, como a maneira � forma � de se utilizar um conjunto coerente e coordenado de m�todos para atingir um objetivo, de modo que se evite, tanto quanto poss�vel, a subjetividade na execu��o do trabalho. Fornecendo um roteiro, um processo din�mico e interativo para desenvolvimento estruturado de projetos, sistemas ou software, visando � qualidade e produtividade dos projetos.
O dicion�rio define metodologia como um conjunto de m�todos, regras e postulados empregados por uma disciplina: um procedimento particular ou conjuntos de procedimentos.
� objetivo de uma metodologia definir de forma clara �quem� faz �o que�, �quando�, �como�, e at� mesmo �onde�, para todos os que estejam envolvidos diretamente ou n�o com o desenvolvimento de software. Deve definir tamb�m qual o papel dos t�cnicos, dos usu�rios, e o da administra��o da empresa no processo de desenvolvimento. Com isso, evita-se a situa��o a qual o conhecimento sobre o sistema � de poucos, comumente apelidados, de �os donos do sistema�. Al�m disso, deve instruir um conjunto de padr�es preestabelecidos, de modo a ser evitar a subjetividade na abordagem, a fim de garantir f�cil integra��o entre os sistemas desenvolvidos. Com isso, o uso de uma metodologia possibilita:
- Ao gerente: controlar o projeto de desenvolvimento de software mantendo o rumo do projeto sobre controle para que n�o haja desvios de planejamentos de custos e prazos, que, se negligenciados ou mal conduzidos, podem por em risco o sucesso do projeto.
- Ao desenvolvedor: obter a base para produzir de maneira eficiente, software de qualidade que satisfa�a os requisitos estabelecidos.
Muitas vezes, o uso de uma metodologia � encarado como cerceamento da criatividade dos t�cnicos, ou como, acr�scimo de burocracia, leia-se documenta��es, por muitos tidos como desnecess�rio a constru��o de software. Uma metodologia n�o deve limitar a criatividade profissional, mas deve ser um instrumento que determine um planejamento sistem�tico, que harmonize e coordena as �reas envolvidas. O que limita a criatividade n�o � a metodologia, mas os requisitos de qualidade e produtividade de um projeto.
Como uma metodologia � um conjunto de m�todos, conv�m definir o que � um m�todo e qual o seu objetivo.
Um m�todo � abordagem t�cnica passo a passo para realizar uma ou mais tarefas indicadas na metodologia. Ou seja, � (s�o) o(s) procedimento(s) necess�rio(s) a ser (em) adotado(s) para atingir um objetivo. J� uma t�cnica, pode ser compreendida como sendo um modo apropriado de se investigar sistematicamente um universo de interesse ou dom�nio do problema. Para tanto, utiliza-se de uma nota��o. Como exemplo de t�cnica, temos: An�lise estruturada, An�lise Essencial, Projeto Estruturado, An�lise Orientada a Objetos.
A escolha de uma metodologia a ser utilizada no desenvolvimento, deve ser realizada com base na natureza do projeto e do produto a ser desenvolvido, dos m�todos e ferramentas a serem utilizadas e dos controles e produtos intermedi�rios desejados.
Conclus�esO uso de metodologia, mesmo que ainda n�o fortemente sedimentada, no desenvolvimento de software � de extrema import�ncia, para que o sistema constru�do atenda as necessidades dos interessados, com um m�nimo de qualidade.
Saiu na DevMedia!
- D� o pr�ximo passo ap�s o HTML/CSS!:
HTTP (Hypertext Transfer Protocol) � o protocolo base para as aplica��es web e clientes (como aplicativos mobile, entre outros) que se conectam a web APIs. Ele permite a comunica��o entre clientes e servidores atrav�s da internet. - Voc� sabe o que � requisi��o e resposta?:
Descubra o que acontece quando o navegador dispara uma requisi��o e, do outro lado, como um servidor web responde a isso. Essa � a hora de falar sobre um dos fundamentos da internet, o protocolo HTTP. - API REST + Cliente web React + Mobile:
� hora de por em pr�tica o que voc� sabe criando um projeto completo! Na s�rie de hoje vamos analisar requisitos, codificar uma API RESTful, um cliente mobile multiplataforma, um site e uma aplica��o web de modera��o.
Saiba mais sobre Engenharia de software ;)
- Guias de Engenharia de Software:
Encontre aqui os Guias de estudo sobre os principais temas da Engenharia de Software. De metodologias �geis a testes, de requisitos a gest�o de projetos! - Engenharia de Software para programadores:
Ter boas no��es sobre engenharia de Software pode alavancar muito sua carreira e a sua forma de programar. Descubra nesse guia tudo o que um programador precisa saber sobre a ci�ncia que existe por tr�s dos c�digos. - Guia de Scrum:
Com o aumento das exig�ncias dos clientes e prazos cada vez mais curtos, encontrar op��es para possibilitar o projeto, implementa��o e implanta��o de um sistema com mais qualidade e em menos tempo � fundamental. Veja a Guia Completa sobre Scrum!
Links
- POMPILHO, S. Analise Essencial: guia pr�tico de an�lise de sistemas. Rio de Janeiro, Ci�ncia Moderna, 2002.
- REZENDE, Denis Alcides. Engenharia de Software e Sistemas de Informa��o. 2. ed. Rio de Janeiro, Brasport, 2002.
- WEBSTERS Ninth Neiv Collegiate Dictionary. 1998.
- Engenharia de Software
Confira outros conte�dos:
Plano PRO
- Forma��o FullStack completa
- Projetos reais
- Professores online
- Exerc�cios gamificados
- Certificado de autoridade
Por Alessandro Em 2006