Pular para o conteúdo principal

Diferenças entre os cursos de computação

Vimos na postagem anterior que existem várias propostas para formação de profissionais em nível superior na área de computação/informática.

O curso de Bacharelado em Ciência da Computação oferece uma formação mais ampla na área, cobrindo suas diferentes sub-áreas (computação gráfica, inteligência artificial, arquitetura de computadores, redes de computadores, teoria da computação, e sistemas distribuídos) e não oferece, portanto, formação específica e direcionada para a área de engenharia de software. 


O curso de Bacharelado em Sistemas de Informação oferece uma formação voltada a profissionais que desejam trabalhar na área de tecnologia de informação, cobrindo técnicas e métodos de análise de processos de negócio de empresas, e que se concentram sobretudo na produção de um tipo específico de software, os sistemas de informação. 


curso de Engenharia de Computação é voltado, principalmente, para o projeto de sistemas de hardware e sistemas de software relacionados à automação industrial, telecomunicações, e sistemas embarcados.    


A Engenharia de Software é fundamentada sobretudo na ciência da computação e na matemática [Software Engineering Curriculum ACM/IEEE, 2005]. Ao longo dos últimos anos, a área de engenharia de software e suas diferentes disciplinas têm amadurecido bastante, através da proposição de novos métodos e técnicas que possibilitem o desenvolvimento de softwares mais confiáveis, de melhor qualidade, com custo reduzido e alta produtividade. 


Buscando atingir tais objetivos, a formação do profissional de ES exige não apenas um amplo domínio de técnicas de programação modernas e avançadas, mas também o conhecimento e o domínio das diferentes disciplinas que compõem o processo de desenvolvimento de software. 


A IEEE Computer Society apresenta, em seu guia de corpo de conhecimento na área de engenharia de software [SWEBOK, 2004], as principais disciplinas que compõem a área, sendo elas: requisitos, projeto, construção, testes, manutenção de software, gerência de configuração, gestão de projetos, processos de desenvolvimento, ferramentas e métricas de engenharia de software, e qualidade de software. Cada uma destas disciplinas requer o aprendizado de técnicas e ferramentas específicas. 


A diferença de formação de profissionais nas diferentes carreiras em computação [ACM Carreers, 2009] é também destacada pela Association for Computing Machinery (ACM), a qual já reconhece explicitamente a área de engenharia de software como uma carreira na área de computação, e destaca as diferenças e necessidades de formação de profissionais em comparação com outras carreiras, tais como, ciência da computação e engenharia da computação. 


Referências



[ACM/IEEE-CS, 2005] Computing Curricula 2005 – The Overview Report. The Joint Task Force on Computing Curricula IEEE Computer Society/Association for Computing Machinery, 2005. URL: http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf

[SWEBOK, 2004] Guide to the Software Engineering Body of Knowledge, IEEE Computer Society, 2004. URL: http://swebok.org

Comentários

Anônimo disse…
Você não falou nada com nada. Que artigo é esse? Ciência da Computação tem 3 matérias, 3! de Desenvolvimento de Software e não forma pra ser Engenheiro de Software? Acho que você trocou as bolas. O Curso de Ciência da Computação só tem um apelido "software" e você fala que não faz formação? Muitos cientistas da computação vão trabalhar justamente com engenharia de software, porque é a área que eles mais dominam. Total falta de informação este artigo.

Postagens mais visitadas deste blog

Ciclo de Vida do Software

O ciclo de vida de um software descreve as fases pelas quais o software passa desde a sua concepção até ficar sem uso algum. O conceito de ciclo de vida de um software é muitas vezes confundido com o de modelo de processo (assunto do próximo artigo). Existem várias propostas e denominações para as fases do ciclo de vida de um software. Nossa proposta identifica 4 fases que são delimitadas por eventos típicos em diversos ciclos de vida. Cada fase inclui um conjunto de atividades ou disciplinas que devem ser realizadas pelas partes envolvidas. Essas fases são: Definição Desenvolvimento Operação Retirada Fase de Definição A fase de definição do software ocorre em conjunto com outras atividades como a modelagem de processos de negócios e análise de sistemas . Nesta atividade, diversos profissionais buscam o conhecimento da situação atual e a identificação de problemas para que possam elaborar propostas de solução de sistemas computacionais que resolvam tais problemas. Dentre as propostas...

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...