Universidade Federal de Pernambuco
Centro de Informática
Disciplina: Engenharia de Software
Prova: 1
Aluna: Priscilla Kelly M. Vieira.
1. Na engenharia de software, ao longo das últimas décadas, verificam-se autores que se baseiam nos resultados da Engenharia para construírem princípios fundamentais que visam a padronização de práticas (A exemplo de: manter o compromisso de melhorar o processo, usar uma quantidade menor e melhor de pessoas, utilizar práticas/técnicas modernas de programação). Obs.: Princípios são regras admitidas como base de uma ciência. Acredita-se também que o desenvolvimento de princípios pode colaborar para diferenciar a Engenharia de Software das outras áreas da computação, auxiliando programas de formação. Este processo de concepção pode se basear muitas vezes em descobertas ou abstrações relacionadas com atividades na área, conduzindo a "boas/melhores práticas". Neste escopo emerge uma questão:
- Como identificar, após a obtenção de resultados de um estudo preliminar, as melhores práticas que podem nortear o princípio do "compromisso de melhorar o processo"?
Possível Resposta: Neste contexto surge uma grande dificuldade que é identificar quais foram ou quais seriam os princípios que otimizariam um projeto de software. Adicionalmente, além de serem detectadas quais poderiam ser estas melhores práticas, como garantir de forma segura que este conjunto de práticas pode ser generalizado para qualquer projeto, ou pelo menos um subconjunto pode ser aplicado a qualquer projeto.
Ainda é importante destacar que a observação d melhores práticas em projetos pode ser enviesada pelas pessoas que estão no projeto, tal como em qual tempo (época) elas estão sendo observadas. Outro ponto importante é em relação às tecnologias que aquele grupo de pessoas está tendo acesso.
2. Ainda no contexto anterior, pode-se afirmar que as melhores práticas são voláteis, ou seja, variam ao passar dos anos?
Possível Resposta: A princípio sim. Partindo do pressuposto que algumas boas práticas foram identificadas e podem ser aplicadas como base de uma ciência, no contexto da computação estas práticas são totalmente voláteis. Variando com o tempo e as tecnologias que o grupo de pessoas possui. Neste sentido, é possível que as boas práticas que foram definidas na década de 80não sejam as mais adequadas, nem tão pouco representem a mesma realidade, para projetos da década de 90.
3. Em Eden (2007), Three Paradigms of Computer Science, é realizada uma discussão sobre os paradigmas que a ciência computação pode ser embasada. Neste sentido, discuti-se os ramos baseados em matemática, engenharia e/ou inteligência artificial. Diante do exposto, pode-se discutir se ciência da computação é uma área fim ou meio do conhecimento?
Possível Resposta: A ciência da computação é uma área derivada formada por diversas áreas primárias, como matemática, física, relações. Estando assim em uma combinação de área complexas para solucionar problemas comuns da sociedade. Neste contexto pode-se afirmar que a computação, nos moldes que a definem o seu surgimento até hoje, é uma área meio para solucionar problemas.
Adicionalmente, podemos definir que computação não se restringe apenas a novas tecnologias, se considerarmos que tecnologia é qualquer atividade ou objeto que facilita a vida do homem. Como exemplo, destaca-se o surgimento do fogo, uma nova tecnologia que não está diretamente ligada com a área de computação como ciência.
4. Considerando as boas práticas para desenvolvimento de softwares. O avanço da ciência depende das pessoas e do tempo?
Possível Resposta: Sim, de acordo com alguns trabalhos que definem boas práticas. Estas foram definidas segundo observações das práticas e dos resultados obtidos em cada projeto. Estes resultados foram determinados com bons ou ruins, a partir da definição de metas de como se poderia melhorar cada um dos produtos.
É importante destacarmos que esta boa prática observada e determinada pode está diretamente ligada com as pessoas que executaram as atividades e seus conhecimentos ao longo da vida, tal como suas experiências e estudos.
Adicionalmente, estas melhores práticas podem serem determinadas pelo tempo em que foram definidos, com a conjectura mundial e as tecnologias utilizadas como meio para a obtenção do produto.
5.Admitindo um dos princípios de boa prática para desenvolvimento de software: Manter o compromisso de melhorar o processo e assumindo que práticas são regras admitidas como base de uma ciência. Podemos generalizar que este é um princípio de qualquer área da computação?
Possível Resposta: A princípio sim. A computação pode ser definida segundo 3 (três) paradigmas: racionalista, tecnocrata e científico. No entanto, independente de qual paradigma se segue, o objetivo principal é a resolução correta de problemas. Neste sentido, independente do paradigma, a computação é dividida em áreas, o objetivo destas áreas é trabalharem em conjunto para a corretude adequada e melhoria do produto final.