Pular para o conteúdo principal

Postagens

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

Diferenças entre engenharia de software e as engenharias de artefatos físicos.

As engenharias mais tradicionais lidam com artefatos materiais onde propriedades físicas estão fundamentadas em teorias das ciências. O software é um artefato intelectual cuja matéria prima é a informação e o conhecimento humanos representados por códigos e linguagens. A sua construção é um processo de transformação e comunicação de representações através de seus códigos e linguagens que envolve todos os stakeholders (clientes, desenvolvedores, usuários). Nenhuma outra engenharia tem estas peculiaridades. Isto torna a ES diferenciada com processos bem particulares. Nas engenharias tradicionais, o design é tratado separadamente pelas disciplinas de desenho industrial e arquitetura (na civil). Na engenharia de software, o design, isto é a transformação de requisitos em solução, ocorre de forma integra à engenharia de requisitos, à arquitetura de software e ao design de interfaces de usuário. Nas engenharias tradicionais, o processo de verificação é quase sempre nas qualidades do artefat...

Qual a melhor linguagem de programação?

Sempre perguntaram-me qual a melhor linguagem de programação. Esta é uma pergunta difícil de responder. Recentemente, participei de uma discussão com colegas sobre quais linguagens deveriam ser ensinadas ao alunos e em qual ordem. Não tenho muita experiência com ensino de programação. Assim, não tive muito como contribuir sobre o aspecto pedagógico desta discussão. Mas dei a minha colaboração com a minha experiência e por considerar a linguagem um instrumento de interação humano-computador. Tenho apenas experiência com o auto-aprendizado de várias linguagens, em diferentes paradigmas. Comecei com Basic, do Bill Gates, e Assembly 6502, em casa. Minha motivação: aprender o que é computador. Fui para a universidade e aprendi Fortran, Pascal, Assembly 8086 e Cobol, durante graduação. Estudei C, sozinho, para meu trabalho de IC. Também auto-aprendi Prolog e LISP, para o mestrado; C++ e Java para o doutorado; e Perl, Javascript, PHP, HTML e CSS para desenvolvimento Web. Não fiz nenhum planej...

Temos seguidores?

Este blog está parado há bastante tempo, mas as estatísticas indicam que ele continua sendo visitado. Que bom! Estou me dedicando bastante na implantanção de um curso de graduacão em Engenharia de Software na UFRN . Além disso, temos projetos e aulas em andamento. Caso você ache que este blog está sendo útil e merece ser continuado, você pode enviar um comentário ou ser um seguidor. Ainda temos muito a falar sobre engenharia de software!