(Laboratório de Software) resumo 30 linhas
Soluções para a tarefa
Resposta:
Antes de começarmos a elaborar nossos projetos, como forma de introduzir os
conteúdos da apostila, vamos apresentar de forma bem rápida algumas metodologias de
desenvolvimento de software, tendo como base o processo de desenvolvimento de software
vistos na disciplina de POO/Java. Fica a critério do professor aprofundar os conhecimentos
sobre o assunto com os alunos através de seminários.
1.1. Metodologia de Desenvolvimento de Software
Uma metodologia de desenvolvimento de software (ou processo de software) é um
conjunto estruturado de práticas (atividades) e resultados associados que auxiliam na produção
de software. Dentre as várias atividades associadas, existem por exemplo a análise de
requisitos e a codificação. O resultado do processo é um produto que reflete a forma como o
processo foi conduzido. Esses processos tem por objetivo a garantia da qualidade do software.
Embora existam vários processos para o desenvolvimento de software, algumas
atividades fundamentais são comuns a todos eles [Sommerville (2003)]:
Especificação de Software: definição das funcionalidades (requisitos) e das
restrições do software. Geralmente é uma fase em que o desenvolvedor conversa
com o cliente para definir as características do novo software.
Projeto e Implementação de Software: o software é produzido de acordo com as
especificações. Nesta fase são propostos modelos através de diagramas, e estes
modelos são implementados em alguma linguagem de programação.
Validação de Software: o software é validado para garantir que todas as
funcionalidades especificadas foram implementadas.
Muitas organizações desenvolvem software sem usar nenhum processo. Geralmente
isso ocorre porque os processos tradicionais não são adequados às realidades das organizações.
Em particular, as organizações pequenas e médias não possuem recursos suficientes para
adotar o uso de processos pesados. Por esta razão, muitas organizações não utilizam nenhum
processo. O resultado desta falta de sistematização na produção de software é a baixa
qualidade do produto final, além de dificultar a entrega do software nos prazos e custos
predefinidos e inviabilizar a futura evolução do software.
Existem vários processos de software definidos na literatura da Engenharia de Software.
É comum mesmo algumas organizações criarem seu próprio processo ou adaptar algum
processo à sua realidade. Dentre os vários processos existentes, existem as metodologias
tradicionais, que são orientadas a documentação, e as metodologias ágeis, que procuram
desenvolver software com o mínimo de documentação