Pular para o conteúdo principal

A Engenharia de Software e os Cursos de Computação

A UFRN é uma das pioneiras no Brasil a oferecer uma graduação em Engenharia de Software. O curso iniciou suas turmas em 2010 e conta com cerca de 100 alunos matriculados. Já existem outros cursos semelhantes na UFG, a UNB, a Unipampa, a UFC e outras.

O curso de Engenharia de Software da UFRN tem sua base na computação e na matemática, mas foca sua parte aplicada nas diversas atividades práticas necessárias para os profissionais da área. Para saber mais você pode visitar a página do curso.

Mas você sabe a diferença entre o curso de ES e os outros cursos de computação. Vamos começar aqui alguns esclarecimentos numa série de postagens.

A Computação é uma área ou disciplina bastante abrangente que envolve a fundamentação teórica das construções computacionais, o desenvolvimento de tecnologias que viabilizam processos computacionais, a aplicação do conhecimento teórico e das tecnologias na construção de soluções práticas para problemas da sociedade e o estudo dos fenômenos individuais e sociais resultantes das tecnologias computacionais.

Além de ser uma área bastante abrangente, a computação têm evoluído de forma bastante rápida desde a primeira metade do século 20, quando importantes avanços no campo teórico e no desenvolvimento tecnológico caracterizaram a computação como um importante campo de estudo e de atuação profissional.
Com toda esta evolução, é fundamental que a formação de cientistas, engenheiros, técnicos e outros profissionais da computação evolua para acompanhar os novos desafios que eles vão encontrar.

Existem diversas denominações de cursos na área de computação. As principais sociedades de computação no mundo (a Association for Computing Machiney – ACM, a Association for Information Systems – AIS, e a Computer Society do Institute for Electrical-Electronic Engineering – IEEE-CS) uniram forças e concluíram em 2005 um trabalho que apresenta um currículo de referência para a área de computação [ACM/AIS/IEEE-CS, 2005]. Nesta proposta, estas sociedades propõem cinco possíveis cursos de graduação para a área da computação, apresentando suas diferenças, perfis dos formandos, competências e habilidades. Esta proposta é resultado de uma análise que considerou que as propostas anteriores não atendiam às demandas do mercado de trabalho da atualidade.

Segundo a força-tarefa da ACM, AIS e IEEE-CS, os cursos de graduação em computação podem ser:

·       Engenharia de Computação
·       Ciência da Computação
·       Sistemas de Informação
·       Engenharia de Software
·       Tecnologia da Informação
No Brasil, a Sociedade Brasileira de Computação (SBC) tem atuado junto ao Conselho Nacional de Educação (CNE) e a Secretaria de Ensino Superior (SESU), ambos ligados ao Ministério da Educação na definição das diretrizes curriculares. Para as três primeiras denominações de cursos, a proposta de diretrizes já é bastante conhecida e para Engenharia de Software as diretrizes estão em elaboração.
Nas próximas postagens, vamos apontar as características de cada um destes cursos.

Comentários

Postagens mais visitadas deste blog

O Modelo Espiral

O objetivo do modelo espiral é prover um metamodelo que pode acomodar diversos processos específicos. Isto significa que podemos encaixar nele as principais características dos modelos vistos anteriormente, adaptando-os a necessidades específicas de desenvolvedores ou às particularidades do software a ser desenvolvido. Este modelo prevê prototipação, desenvolvimento evolutivo e cíclico, e as principais atividades do modelo cascata. Sua principal inovação é guiar o processo de desenvolvimento gerado a partir deste metamodelo com base em análise de riscos e planejamento que é realizado durante toda a evolução do desenvolvimento. Riscos são circunstâncias adversas que podem surgir durante o desenvolvimento de software impedindo o processo ou diminuindo a qualidade do produto. São exemplos de riscos: pessoas que abandonam a equipe de desenvolvimento, ferramentas que não podem ser utilizadas, falha em equipamentos usados no desenvolvimento ou que serão utilizados no produto final, etc.

O Modelo Evolutivo

O modelo evolutivo descreve um processo na qual o software deve ser desenvolvido de forma a evoluir a partir de protótipos iniciais. Para entender melhor este modelo é importante entender o que é prototipação (ou prototipagem). Prototipação é uma abordagem baseada numa visão evolutiva do desenvolvimento de software, afetando o processo como um todo. Esta abordagem envolve a produção de versões iniciais - "protótipos" - de um sistema futuro com o qual pode-se realizar verificações e experimentações para se avaliar algumas de suas qualidades antes que o sistema venha realmente a ser construído. Objetivos da Prototipação Num projeto de software várias questões podem ser respondida com a construcão de protótipos. Nas situações típicas de desenvolvimento podemos distinguir entre diferentes objetivos na prototipação: Exploratória - é quando o protótipo é usado para ajudar a esclarecer requisitos dos usuários com respeito ao sistema futuro. Uma prototipação também é exploratória

Sistemas Computacionais

Um sistema computacional (ou baseado em computador) é aquele que automatiza ou apóia a realização de atividades humanas através do processamento de informações. Um sistema baseado em computador é caracterizado por alguns elementos fundamentais. Hardware Software Informações Usuários Procedimentos ou Tarefas Documentação O hardware corresponde às partes eletrônicas e mecânicas (rígidas) que possibilitam a existência do software, o armazenamento de informações e a interação com o usuário. A CPU, as memórias primária e secundária, os periféricos, os componentes de redes de computadores, são exemplos de elementos de hardware. Um único computador pode possibilitar a existência de diversos sistemas e um sistema pode requisitar diversos computadores. O software é a parte abstrata do sistema computacional que funciona num hardware a partir de instruções codificadas numa linguagem de programação. Estas instruções permitem o processamento e armazenamento de informações na for