Questionário sobre Engenharia de Software
1- Defina Engenharia de Software (ES) e sua aplicação.
A sociedade atual ainda sofre com inúmeras mutações, e uma delas é devido à evolução da tecnologia. As novas ferramentas tecnológicas que estão surgindo acarretam grandes mudanças, tanto para as pessoas como também para as organizações. Podemos observar tais mudanças em diversas áreas, como no contexto cientifico, medicinal, tecnológico, e também no marketing, ao qual será o foco deste artigo. Segundo o dicionário Michaelis (MICHAELIS, 1998), a definição da palavra tecnologia é o “[...] 2 Conjunto dos processos especiais relativos a uma determinada arte ou indústria. [...] 4 Aplicação dos conhecimentos científicos à produção em geral.”, ou seja, é o uso do conhecimento que adquirimos, onde o aplicamos para facilitar e aperfeiçoar determinado trabalho. O marketing está cada vez mais dependente de tecnologia e o modo como o ele é visto também está mudando. Segundo Scott Brinker (BRINKER, 2013) a tecnologia evolui exponencialmente, enquanto as empresas e pessoas evoluem absorvendo as mudanças tecnológicas logaritmicamente. As novas tecnologias e mídias digitais possibilitam que todo o tipo de usuário se conecte, expressando sua opinião, adquirindo bens, se divertindo, ou trabalhando.
1- Defina Engenharia de Software (ES) e sua aplicação.
A sociedade atual ainda sofre com inúmeras mutações, e uma delas é devido à evolução da tecnologia. As novas ferramentas tecnológicas que estão surgindo acarretam grandes mudanças, tanto para as pessoas como também para as organizações. Podemos observar tais mudanças em diversas áreas, como no contexto cientifico, medicinal, tecnológico, e também no marketing, ao qual será o foco deste artigo. Segundo o dicionário Michaelis (MICHAELIS, 1998), a definição da palavra tecnologia é o “[...] 2 Conjunto dos processos especiais relativos a uma determinada arte ou indústria. [...] 4 Aplicação dos conhecimentos científicos à produção em geral.”, ou seja, é o uso do conhecimento que adquirimos, onde o aplicamos para facilitar e aperfeiçoar determinado trabalho. O marketing está cada vez mais dependente de tecnologia e o modo como o ele é visto também está mudando. Segundo Scott Brinker (BRINKER, 2013) a tecnologia evolui exponencialmente, enquanto as empresas e pessoas evoluem absorvendo as mudanças tecnológicas logaritmicamente. As novas tecnologias e mídias digitais possibilitam que todo o tipo de usuário se conecte, expressando sua opinião, adquirindo bens, se divertindo, ou trabalhando.
1- Defina Engenharia de Software (ES) e sua aplicação.
Engenharia de software é a criação e a utilização de princípios de engenharia a fim de obter um software de maneira econômica, confiável, de qualidade e que trabalhe eficientemente em máquinas virtuais. Sua aplicação consiste em atividades básicas desenvolvidas de produtos de software como: especificação, desenvolvimento, validação e evolução.
2- Qual a diferença entre um software e um sistema? Qual dos dois conceitos é mais amplo? Por quê?
A sociedade atual ainda sofre com inúmeras mutações, e uma delas é devido à evolução da tecnologia. As novas ferramentas tecnológicas que estão surgindo acarretam grandes mudanças, tanto para as pessoas como também para as organizações. Podemos observar tais mudanças em diversas áreas, como no contexto cientifico, medicinal, tecnológico, e também no marketing, ao qual será o foco deste artigo. Segundo o dicionário Michaelis (MICHAELIS, 1998), a definição da palavra tecnologia é o “[...] 2 Conjunto dos processos especiais relativos a uma determinada arte ou indústria. [...] 4 Aplicação dos conhecimentos científicos à produção em geral.”, ou seja, é o uso do conhecimento que adquirimos, onde o aplicamos para facilitar e aperfeiçoar determinado trabalho. O marketing está cada vez mais dependente de tecnologia e o modo como o ele é visto também está mudando. Segundo Scott Brinker (BRINKER, 2013) a tecnologia evolui exponencialmente, enquanto as empresas e pessoas evoluem absorvendo as mudanças tecnológicas logaritmicamente. As novas tecnologias e mídias digitais possibilitam que todo o tipo de usuário se conecte, expressando sua opinião, adquirindo bens, se divertindo, ou trabalhando.
3- O que é domínio da aplicação (ou do problema)?
A análise do domínio pode ser definida como o processo pelo qual a informação usada para o desenvolvimento de software é identificada, capturada e organizada para que seja reutilizável quando da criação de novos sistemas. Da mesma forma, o domínio é definido por um conjunto de características que descrevem uma família de problemas para os quais uma determinada aplicação pretende dar solução.
4- De que forma a arte, a técnica, o artesanato e a indústria estão envolvidos na resolução de problemas da ES?
Indiretamente, ambos estão envolvidos na resolução de problemas.
IA arte nada mais é do que a nossa capacidade da criação.
IA técnica é nosso método de trabalho colocado em prática.
IO artesanato seria o trabalho manual, como o desenvolvedor de um software.
IE a indústria é que a nossa profissão, expecialidade.
5- Quais os “atributos” que transformam “pequenos programas” em produto para a ES?
- Expecificação: Definir restrições e funcionalidades.
- Desenvolvimento: O software deve atender as especificações.
- Validação: Garantir que o software faça o que o cliente deseja.
- Evolução: Planejamento para também atender futuramente as necessidades do cliente.
6- Cite as fases de um ciclo de vida clássico (cascata) do produto de software e comente, brevemente, o que acontece em cada uma delas.
- 1. Engenharia: Requisitos do sistema.
- 2. Análise: Especificação funcional, desempenho e interfaces.
- 3. Projeto: Estrutura de dados, arquitetura de software e procedimentos.
- 4. Teste: Programa, verificar e corrigir se existirem problemas.
- 5. Manutenção: Sistema completo com todo o suporte que for necessário.
7- Como o PMBOK pode auxiliar a ES? Qual o nome do guia “específico” da ES?
O PMBOK (Project Management Body of Knowledge pode auxiliar na estrutura de um software por ser um modelo de referência: uma estrutura de conhecimento que organiza conceitos, práticas e padrões de uma área focalizada na gestão de projetos de qualquer natureza, cobrindo assuntos como integração, escopo, tempo, custos, qualidade, recursos humanos, comunicações, riscos e aquisições.
Na verdade não existe um guia “específico” para estrutura de software e sim pode ser utilizado tanto um como outro, inclusive os conceitos do PMBOK tem coisas em comum com um outro guia que é o CMMI (Capability Maturity Model Integration), conhecido como Pentágono que o utiliza para avaliação da capacidade de seus fornecedores de software. Suas práticas não são restritas à indústria de software, podendo ser aplicadas ao desenvolvimento de outros tipos de produtos.
8- Defina projeto e sua relação como o processo (de software).
Um projeto representa a execução de um processo, e um processo é uma receita que é seguida durante a realização um projeto; em outras palavras, o projeto é o empreendimento que concretiza uma abstração, que é o processo. Não se deve confundir um processo (digamos, uma receita de bolo) com o respectivo produto (o bolo) ou com a execução do processo através de um projeto (a confecção de um bolo por determinada pessoa, em determinado dia).
Processos, pessoas e tecnologia constituem os fatores de produção, que determinam o grau de sucesso dos projetos, ou seja: se eles conseguem entregar um produto de qualidade suficiente, dentro de um prazo aceitável e com custos viáveis. Portanto, desses fatores dependem a rentabilidade e a sobrevivência das organizações produtoras.
9- O que você entende por processo de desenvolvimento de software e qual a sua importância para a qualidade dos produtos de software? Qual a diferença entre processo e projeto de software?
Um processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software. É considerado um dos principais mecanismos para se obter um software de qualidade e cumprir corretamente os contratos de desenvolvimento, sendo uma das respostas técnicas adequadas para resolver a Crise do software. Isso é muito importante para a qualidade de serviços do software, é um fator que obrigatoriamente deve estar incorporado nos processos e produtos e que está focada na garantia da qualidade por meio de testes e procedimentos de detecção de falhas. Esse enfoque pode até conseguir alcançar a qualidade do software, mas não enfoca a qualidade de todos os processos envolvidos.
10- Suponha que você iniciou suas atividades em uma empresa e lhe é solicitado desenvolver um software. Quais as suas primeiras providências, antes de colocar em prática suas habilidades de desenvolvedor?
Primeiramente temos que identificar, com a empresa, todo o tipo de informação possível para saber qual será a necessidade de uso do software e analisar quais serão os requisitos básicos para essa criação, e depois fazer um levantamento dos custos.