Processo de desenvolvimento de software:

Quando inciamos o desenvolvimento de software temos várias perguntas:

Quais são os atividades (processos) a serem realizados? Como organizar as atividades? (atividades principais e ordem de precedência) Quais são as melhores práticas(tarefas) de execução? Como montar uma equipe de desenvolvimento? Quais serão as ferramentas utilizadas?

Engenharia de software é uma área voltada à especificação, desenvolvimento, manutenção de sistemas de software, com a aplicação de tecnologias e práticas da Engenharia, Computação, Gerência de Projetos, desenvolvimento de software e outras disciplinas, visando organização, produtividade e qualidade.

A Engenharia de Software trata de aspectos relacionados ao estabelecimento de processos, métodos, técnicas, ferramentas e ambientes de suporte ao desenvolvimento de software.

Para que tenhamos qualidade durante a produção do software, a engenharia de software dividi o desenvolvimento de software em processos:

  • Requisitos de Software (especificação)
  • Design de Software (projeto)
  • Construção do Software (Implementação)
  • Teste de Sofware (Verificação e validação)
  • Implantação (deploy)
  • Manutenção de Software(evolução).

gras

É importante relatar que a gerência de configuração, a gerência da qualidade de software e a gerência de projeto devem ser aplicadas a todas as etapas das atividades.

Um processo de desenvolvimento de software pode ser visto como um conjunto de atividades organizadas, usadas para definir, desenvolver, testar e manter um software. Dentro de cada processo vamos aprender que exite um conjunto de boas práticas de eficiência comprovada. As melhores práticas são um conjunto organizado e documentado de princípios, métodos e técnicas que aumentam a qualidade e a produtividade do desenvolvimento de software. As práticas são o que você deve fazer.

Segundo [Pressman 2016], à Engenharia de Software é uma tecnologia em 3 camadas: processos, métodos(práticas) e ferramentas e a base de todas as camadas é o foco na qualidade do software desenvolvido. Isso possibilita aos profissionais desenvolverem software de altíssima qualidade.

gras

Processos: constituem um elo de ligação que mantém juntos os métodos e as ferramentas e possibilita o desenvolvimento racional e oportuno do software de computador.É o alicerce da engenharia de software.

Métodos: proporciona os detalhes de "como fazer" para construir o software;

Ferramentas: proporcionam apoio automatizado ou semi-automatizado aos métodos (ferramentas CASE combinan software, hardware e um banco de dados).

gras

Para facilitar o entendimento de processos, vamos dar exemplo da construção de uma casa na engenharia civil:

  • Levantamento de requisitos: Definição e análise dos requisitos da casa. Como queremos a casa ? Deve-se criar uma lista detalhada das especificações da casa.
  • Projeto (Design): Elaborar e documentar o projeto da casa. Planta de uma casa, projeto arquitetônico, projeto de fundação, projeto estrutural, projeto hidro-sanitário (hidráulico e esgoto), projeto elétrico e telefônico. Identificação e projeto dos espaços e componentes (elementos) da casa.
  • Construção (Implementação): Execução da obra, construção dos espaços e componentes (elementos) da casa. Também considerar água, esgoto e energia elétrica.
  • Teste de cada espaço e componente (elemento) da casa. Também deve testar as instalações de água, esgoto e Energia elétrica. Integração de todos os espaços, componentes (elementos), água, esgoto e energia elétrica da casa. Teste dos serviços da casa.
  • Entrega da casa e validação do uso funcional da casa por parte dos moradores.
  • Manutenção da casa pelos moradores.

O engenheiro de software deve analisar o tamanho do problema a ser resolvido, verificar as restrições de desenvolvimento e dos rescurso disponivéis e adotar uma abordagem sistemática e organizada no seu trabalho, utilizando princípios, métodos, técnicas e ferrramentas

Dictionary

Bibliografia

PRESSMAN, R. S. Software engineering : a practitioner’s approach (9ª ed.). New York: Higher Education, 2016.

results matching ""

    No results matching ""