Pular para o conteúdo principal

Postagens

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.  O  curso de Engenharia de Computação é voltado, principalmente, para o projeto de sistemas de hardware e sistemas de software relaciona...

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

Padrões de Projeto

Padrões de projeto (em inglês, Design Patterns) são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software. A proposta original de padrões veio do trabalho de Christopher Alexander na área de arquitetura. Sua definição para padrões é que "Cada padrão é uma regra (esquema) de três partes que expressa uma relação entre um certo contexto, um problema, e uma solução". O contexto descreve uma situação no desenvolvimento na qual existe um problema. O problema que ocorre repetidamente no contexto deve também ser descrito bem como as forças (requisitos, restrições e propriedades) associadas a ele. A solução descreve uma configuração ou estrutura de componentes e suas interconexões, obedecendo às forças do problema. As forças , denominação dada por Alexander, descrevem: os requisitos que caracterizam o problema e que a solução deve satisfazer, as ...

Usando cenarios para descobrir requisitos

O levantamento de informações sobre as tarefas e os usuários pode ser melhor realizado quando os analistas procuram descrever situações do processo de trabalho. Os métodos baseados em cenários consistem de uma coleção de narrativas de situações no domínio que favorecem o levantamento de informações, a identificação de problemas e a antecipação das soluções. Cenários são uma maneira excelente de representar, para clientes e usuários, os problemas atuais e as possibilidades que podem surgir. Os cenários têm como foco as atividades que as pessoas realizam nas organizações possibilitando uma perspectiva mais ampla dos problemas atuais onde o sistema será inserido, explicando porque ele é necessário. Eles proporcionam um desenvolvimento orientado a tarefas possibilitando maior usabilidade do sistema. Não é objetivo dos cenários oferecer uma descrição precisa, mas provocar a discussão e estimular novos questionamentos. eles permitem também documentar o levantamento de informações a respe...

O emprego dos sonhos nos Estados Unidos é ser engenheiro de software.

Engenharia de software, uma profissão que envolve o design e a criação de software para diversos dispositivos desde sistemas operacionais a aplicativos de telefones celulares e videogames, foi classificado como o  melhor emprego de 2011 nos EUA pelo relatório Jobs Rated da CareerCast. Foram analisadas 200 diferentes profissões em uma ampla variedade de indústrias e foram analisados níveis de habilidades e salários de acordo com cinco critérios: ambiente de trabalho, esforço físico, estresse, salários e perspectivas. O objetivo do estudo é indicar qual emprego é mais gratificante para a maioria dos empregados (e não apenas para os mais bem sucedidos). O que torna a engenharia de software como a melhor opção são as possibilidades de duas indústrias em expansão: sistemas Web e Computação-em-Nuvem. Um grande número de empresas está investindo em desenvolver aplicações para smartphones e tablets que fazem uso de recursos situados na "nuvem", ou seja, em servidors ligados à inter...

O que é Arquitetura de Software?

A arquitetura de software é descrição abstrata, na forma de modelos, de diferentes visões do sistema em termos de unidade (partes) que interagem entre si. Arquitetura não é uma fase do desenvolvimento, mas o resultado das decisões de design sobre a estrutura e o comportamento do software. Mesmo que esta atividades não tenha sido deliberadamente realizada, vale ressaltar que: Todo software tem uma arquitetura A arquitetura pode ser analisada por diferentes pontos de vista   (visões arquiteturais) A arquitetura deve dar suporte à funcionalidade do sistema (requisitos funcionais) e deve estar em conformidade com a qualidade (requisitos não-funcionais). O design arquitetural é o processo de tomar as decisões que visa definir estrutura e comportamento para atender aos requisitos funcionais e não-funcionais. Um bom arquiteto deve conhecer diferentes modelos e estilos de arquitetura e saber aplica-los de forma a atender aos requisitos. Um dos princípios básicos para orga...

Design de software, de IHC e o Ipad

Já dissemos anteriormente que o desenvolvimento de software deve começar pelo seu design. O design de um software interativo consiste na elaboração do seu modelo conceitual, na representação visual de seus elementos e na forma de interação com as suas funcionalidades. Para entender isso na prática vejamos os vídeos da apresentação do Ipad . O Steve Jobs está falando o tempo todo sobre como humanos podem interagir com programas que já conhecemos há tempos: player de mp3, player de vídeos, leitor de emails, browser de páginas Web, visualizador de fotos, leitor de livros eletronicos (e-reader), e outros. Existem dois aspectos importantes: 1. Jobs está o tempo todo chamando a atenção sobre com podemos interagir com estes programas com os dedos, sentando numa poltrona ou sofá, e ter uma experiência de uso . 2. Os diferentes produtos foram idealizados para uma plataforma única, compartilhando alguns elementos comuns Ou seja, houve um design destes programas, com seus elementos visuais e int...