Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Me. Edson Moreno UNIDADE I Fundamentos de Engenharia de Software O termo engenharia de software surgiu em meados de 1960, em resposta à crise do software vivida na época. A crise do software foi gerada por um rápido aumento da demanda do produto software e que devido à inexistência de técnicas, padrões e normas, o desenvolvimento do software não tinha fôlego para atender a essa demanda. Em uma tentativa de solucionar o problema. O desenvolvimento do software passou a ter características fundamentadas na engenharia. O software se estabeleceu como uma ferramenta importante na estratégia competitiva das empresas e corporações e ainda hoje as necessidades de software são altas. Nesse contexto, a Unidade I da disciplina Fundamentos de Engenharia de Software trata dos fundamentos da engenharia de software, suas características, princípios, problemas, projetos e avanços nessa área. Introdução Fundamentos da Engenharia de Software identificam a dualidade entre a engenharia de software e a engenharia de sistemas, e apresenta o produto software de computador. Nesse capítulo, serão abordados os seguintes itens: Engenharia de software Engenharia de sistemas O produto software Fábrica de software Características do software 1 Fundamentos da engenharia de software ALECRIM, Emerson. IBM anuncia primeiro chip com tecnologia de 5 nanômetros. Disponível em: https://tecnoblog.net/216125/ibm-chip-5-nanometros/, 05/06/2017. Acesso em: 13 dez. 2020. A Engenharia de Software projeta e constrói o produto software de computador. Abrange programas que executam em computadores de qualquer tamanho, arquitetura ou volume de processamento. Combinam-se dados de vários tipos. As informações são apresentadas em diversas formas: impressas, virtuais ou convertidas em comandos de sensores da mecatrônica. A convergência de sistemas computacionais com diversas interfaces e meios de comunicação geram questões complexas para os engenheiros de software: hardware diferente, diversos ambientes operacionais, regras do negócio que mudam constantemente, adaptações a novas tecnologias e interfaces, e a ligação de todos estes elementos. Engenharia de software A engenharia de software usa o conhecimento e resultados de diversas áreas, fornece outros problemas de estudo e auxilia na resolução de problemas. “O mundo moderno não poderia existir sem o software. Infraestruturas e serviços nacionais são controlados por sistemas computacionais, e a maioria dos produtos elétricos inclui um computador e um software que o controla” (SOMMERVILLE, 2011). O software é desenvolvido ou passa por um processo de engenharia, não é um produto industrializado. Os problemas de qualidade de hardware podem ser corrigidos pela substituição de peças, o que não ocorre com o software. O software é um produto produzido a partir de perguntas e respostas, que levam à modelagem de componentes que fornecem detalhes para codificação. O custo do software está concentrado no trabalho de engenharia, que, por sua vez, contempla os seguintes itens: Especificação, documentação e procedimentos; Análise, projeto, codificação, implementação, testes, diagnósticos e implantação; Suporte ao cliente/usuário. Engenharia de software – Processo de engenharia e custo Qual o preço do software? A engenharia de sistemas trata da integração dos elementos que compõem os sistemas computacionais: software, hardware, pessoal, base de dados e redes de computadores. A integração desses elementos dá suporte ao software. Cada elemento da engenharia de sistemas em estudo possui suas características próprias referentes: ao projeto, modelos, procedimentos e documentos específicos do elemento em desenvolvimento. Engenharia de sistema Fonte: MORENO (2020). Infraestrutura projetada pela engenharia de sistemas para atender a aplicação de controle de estoques. Cliente – PC Computer Fonte: MORENO (2020). Cliente – SO Windows Cliente – Browser <<MySQL>> Nó 2 – Server Computer 2 Server – SOR Linux Web Server – Apache/Tomcat <<JPS>> Server – App-Controle de estoque <<MySQL>> Server-SGBD MySQL Server – SOR Windows Web – Server – Microsoft IIs <<HTML>> Server – Gerenciador de Telas <<HTML>> Server – Gerenciador de Contas <<TCP/IP>> <<HTTP>> <<TCP/IP>> <<DNS>> <<JSP>> <<HTML>> Nó – Server Computer 1 No teste de uma determinada funcionalidade, todas as funções estavam testadas e operacionais em ambiente restrito. Contudo, o software deve ser implantado em uma rede local de computadores. Para saber o desempenho, é necessário avaliar o software em ambiente de rede e acesso aos dados. Ambiente operacional: 1. O processamento do software é feito na estação e a base de dados está no servidor. 2. Múltiplos acessos a funções podem ocorrer em múltiplas estações de computadores. Questões a serem levantadas: 1. Existem outras funções do software que está sendo processado no servidor? 2. Como está o desempenho da CPU para o SGBD processar a chamada de dados? 3. A banda de rede está compatível com o tráfego de dados? Engenharia de sistema: Análise de infraestrutura de TI para software O produto software tem sido responsável por grandes avanços da humanidade. O uso inteligente da informação e ideias inovadoras passam a ser prioridades para o crescimento das empresas. O software muda o modo como as empresas são operadas, como as pessoas trabalham e como a tecnologia da informação apoia as operações empresariais e as atividades de trabalho do usuário final. O software propiciou melhorias na tecnologia, na educação, no entretenimento, nos sistemas produtivos, na ciência e na engenharia. O produto software I Ferramentas digitais começaram a ser usadas nas atividades da sociedade e em uma espécie de aceitação global “a sociedade da informação reconfigura o modo de ser, agir, se relacionar e existir dos indivíduos” (KOHN, 2007). Software de computadores continua a ser a tecnologia única mais importante no cenário mundial” (PRESSMAN, 2011). O software continua sendo construído por encomenda. No mundo do software, novos componentes são criados dia a dia e criados com o princípio de ser reusado. A reusabilidade do software é uma métrica que avalia o quanto um programa ou parte dele pode ser usado em outras aplicações. Antes de idealizar o produto software, um escopo do sistema deve ser determinado. Só após dimensionar o tamanho, a complexidade e as exigências de processamento do sistema é que será possível projetar o software. O produto software II Caso de estudo: Implementação de interface e imagem 3D. Um sistema para uma clínica médica com imagens em 2D vai passar a trabalhar com novas interfaces e imagens em 3D. Questões a serem resolvidas. As imagens 3D e informações associadas exigem um desempenho maior do que um sistema com imagens 2D. Que software dá para usar do antigo sistema? Quais as tecnologias e programas que deverão ser implementados no sistema? Tecnologias modernas, avançadas e criativas não existiriam sem o software. O que faz do software o produto mais importante desta era. Das alternativas abaixo, qual delas expressa a definição do software? a) É um conjunto de normas e padrões responsável pela inteligência empresarial e que bem elaborado permite a tomada de decisão. b) É a organização de programas que formam um produto que reflete uma base de conhecimento pronta para ser utilizada. c) Especifica o próprio computador, ou seja, é formado pela infraestrutura da tecnologia da informação que dará apoio às operações do usuário. d) Especifica o sistema de informação com base em padrões da qualidade, tais como a ISO 9126 ou ISO 25000. e) São instruções intelectualmente organizadas. Interatividade Tecnologias modernas, avançadas e criativas não existiriam sem o software. O que faz do software o produto maisimportante desta era. Das alternativas abaixo, qual delas expressa a definição do software? a) É um conjunto de normas e padrões responsável pela inteligência empresarial e que bem elaborado permite a tomada de decisão. b) É a organização de programas que formam um produto que reflete uma base de conhecimento pronta para ser utilizada. c) Especifica o próprio computador, ou seja, é formado pela infraestrutura da tecnologia da informação que dará apoio às operações do usuário. d) Especifica o sistema de informação com base em padrões da qualidade, tais como a ISO 9126 ou ISO 25000. e) São instruções intelectualmente organizadas. Resposta O software possui um duplo papel na produção, pode constituir um produto completo ou pode também ser o veículo de melhora de outro produto: Software como produto completo Produtos genéricos. Produto sob encomenda (ou personalizados). Software como veículo de melhora de outro software Plug-ins e módulos de extensões. Software completo que pode ser adaptado a outro software. Software como veículo de melhora de um produto industrial Produtos industriais que passam a ser automatizados pela computação. Realidade aumentada. Internet das Coisas (IoT – Internet of Things) O produto software – Tipos de produção de software I Fonte: Acervo pessoal. O produto software – Explore Como o software vai mudar a interação e análise do ambiente e dos elementos que o compõem COMPUTERWORLD. Realidade aumentada é vista como solução por empresários. Computerworld. Disponível em: https://computerworld.com.br/2020/04/07/realidade-aumentada-e-vista-comosolucao- por-empresarios/, 07/04/2020. Acesso em 11 abr. 2020. Saiba automatizar as coisas pela internet DIGICOMP. Internet das coisas: como ela otimiza os recursos na Indústria? Digicomp Engenharia e Tecnologia. Disponível em: https://digicomp.com.br/internet-das-coisas-como-ela-otimiza-os-recursos-naindustria/. Acesso em 11 abr. 2020. Atualmente, uma enorme indústria de software tornou-se fator dominante nas economias do mundo industrializado. Equipes de especialistas em software, cada qual se concentrando numa parte da tecnologia necessária para distribuir uma aplicação complexa, substituíram o programador solitário de antigamente (PRESSMAN, 2011). Fábrica de software Grandes fábricas de software IBM. Home Page. IBM®. Disponível em: https://www.ibm.com/br-pt. Acesso em 11 abr. 2020. MICROSOFT. Microsoft ®. Home Page. Disponível em: https://www.microsoft.com/pt-br/. Acesso em: 11 abr. 2020. TOTVS. TOTVS ®. Home Page. Disponível em: https://www.totvs.com/. Acesso em: 11 abr. 2020. SAP. Home Page. SAP ®. Disponível em https://www.sap.com/brazil/index.html. Acesso em: 11 abr. 2020. Não estamos sozinhos Aumento contínuo em quantidade e diversidade da demanda Projetos de desenvolvimento de software são muitas vezes iniciados sem a clara especificação das necessidades do cliente e com uma avaliação imprecisa. Índice baixo de planejamento do software Dificuldades em integrar diversas soluções implicam em falhas ou omissões no planejamento do software, o que gera um aumento de custo na entrega do software construído. Inexperiência dos desenvolvedores A experiência é adquirida ao longo do tempo e a cada projeto tende a constituir uma experiência única, que pouco contribui para assegurar o sucesso de projetos subsequentes. Mantenabilidade do sistema Mantenabilidade é a característica de um componente, produto, equipamento ou sistema de receber manutenção, dentro de um determinado período a um custo preestabelecido. Fábrica de software: Problemas no desenvolvimento do software Os desenvolvedores enfrentam “três principais desafios da engenharia de software” (SOMMERVILLE, 2003 e 2011): 1. O desafio do legado – Sistemas antigos acumulam grande volume de eventos e quantidade de dados que não podem ser descartados. O desafio é fazer manutenção e atualização de sistemas antigos. 2. O desafio da heterogeneidade – A escalabilidade computacional se depara com diferentes tipos de arquiteturas e sistemas operacionais. O desafio é desenvolver software em diversas arquiteturas computacionais. 3. O desafio do fornecimento – Entregar sistemas em curto espaço de tempo. Fábrica de software – Problemas enfrentados pelos fabricantes de software Fonte: https://www.portallos.com.br/2010/11/10/como -funciona-a-internet/ Hierarquia e análise do produto software pela tecnologia da informação: Características do software Fonte: MORENO (2020); PRESSMAN (2002). A hierarquia e análise do produto software leva a sua construção. O objetivo da análise é verificar os requisitos de cada componente que dará suporte ao software. Produto: SOFTWARE Software Hardware Dados Rede Dados Função Comportamento Característica Engenharia de requisitos (visão do mundo) Requisito de processamento Engenharia de componentes (visão de domínio) Modelagem da análise e projeto (visão do elemento) Programa Engenharia de Software Construção e integração (visão detalhada) A dualidade do software com o hardware permite a construção de sistemas computacionais cada vez mais avançados, contudo o que realmente justifica a função do computador é o software. O hardware é manufaturado e se desgasta. A manutenção se dá pela substituição de peças. “O software não se desgasta, mas se deteriora” (PRESSMAN, 2011), e é desenvolvido por processos de engenharia. Características do software – Dualidade do software com o hardware ♣ “Mortalidade infantil” “Desgaste” “Estabilidade” Fonte: PRESSMAN (2011). Índice de Falhas Índice de Falhas Curva de falhas do software Aumento da taxa de falhas devido a efeitos colaterais Mudanças Curva Real Tempo Tempo Curva Idealizada Devido às mudanças causadas no software, no acompanhamento de sua evolução são registradas versões e releases. Versões – registros do software feitos sobre as mudanças que ocorrem quando o software está em desenvolvimento. Release (lançamento) – registro da versão que é liberada para o usuário. Características do software – Acompanhamento das mudanças Após várias mudanças causadas no software, o software deve ser reestruturado: Fazer limpeza dos dados. Fazer limpeza dos códigos redundantes. Atualizar hardware. Atualizar com novas versões o sistema operacional e as linguagens de programação. Gerar novos algoritmos. Adaptar de forma correta as antigas e novas funcionalidades com base em uma nova arquitetura. Durante o desenvolvimento do software, várias mudanças ocorrem. O desenvolvedor deve manter o controle destas mudanças por meio da atividade de versionamento, das quais se destacam o controle das versões e releases. Assinale a alternativa que corresponde à definição de release de software. a) É a versão revisada pelo cliente, pronta para adaptações de funcionalidades e/ou correções de falhas. b) O release é constantemente gerado à medida que atualizações são feitas por parte do desenvolvedor ou on-line. c) O release especifica a aplicação de patchs ou service packs na aplicação. d) O registro da versão ocorre quando o software está em fase de desenvolvimento e testes, sendo que o release é o registro da versão que possui o menor número de falhas. e) Várias versões são geradas no desenvolvimento do software, o release é o registro da versão que é distribuída para os clientes. Interatividade Durante o desenvolvimento do software, várias mudanças ocorrem. O desenvolvedor deve manter o controle destas mudanças por meio da atividade de versionamento, das quais se destacam o controle das versões e releases. Assinale a alternativa que corresponde à definição de release de software. a) É a versão revisada pelo cliente, pronta para adaptações de funcionalidades e/ou correções de falhas. b) O release é constantemente gerado à medida que atualizações sãofeitas por parte do desenvolvedor ou on-line. c) O release especifica a aplicação de patchs ou service packs na aplicação. d) O registro da versão ocorre quando o software está em fase de desenvolvimento e testes, sendo que o release é o registro da versão que possui o menor número de falhas. e) Várias versões são geradas no desenvolvimento do software, o release é o registro da versão que é distribuída para os clientes. Resposta Em princípios do desenvolvimento de sistemas, são mostradas as particularidades do software, o ambiente computacional de desenvolvimento, os perfis dos profissionais que atuam no desenvolvimento e os problemas que estes profissionais enfrentam dia a dia. Neste capítulo, serão abordados os seguintes itens: Aplicações e desenvolvimento de sistemas computacionais Ambiente computacional Problemas de relacionamento entre a gerência, cliente e desenvolvedor Projeto e construção do software 2 Princípios do desenvolvimento de sistemas Fonte: SBG. Sistema de Gestão ERP Completo. Disponível em: http://www.sbg.com.br/, 2015. Acesso em: 13 dez. 2020. O objetivo e conteúdo de informação são fatores importantes na determinância da natureza de um aplicativo (REZENDE, 2005). Nessa perspectiva, é necessário avaliar cinco características essenciais referentes à capacidade e usabilidade do software: Captação de dados Processamento dos dados Apresentação da informação Segurança Desempenho Aplicações e desenvolvimento de sistemas computacionais WHITE, Sarah K. Os 10 profissionais de tecnologia mais desejados em 2020 (e como contratá-los). Disponível em: https://cio.com.br/gestao/os-10-profissionais-de-tecnologia- mais-desejados-em-2020-e-como-contrata-los/, 14/01/2020. Acesso em: 13 dez. 2020. No ERP, as avaliações das características de capacidade e usabilidade do software são feitas por módulos. Na análise do negócio, o princípio básico é dividir este sistema em módulos. Isto é chamado de modularidade. Na análise do sistema, um módulo surge a partir do momento em que cada componente que o constitui adquire sua independência funcional. Aplicações – Método de Análise de um Sistema ERP Visão do Analista de Negócios Visão do Engenheiro de Software. ADMINISTRAÇÃO CONTABILIDADE MARKETING Aprovação de Pagamentos Aprovação de Pedidos Controle dos Negócios Planejamento Empresarial Análise de Custos Caixa Controle de Pedidos Contas a Pagar Contas a Receber Faturamento Análise dos Negócios Especificação do Negócio Exploração das Informações Perfil do cliente Propaganda e Publicidade DOCUMENTOS GERADOS (Relatórios) Balanços Gráficos Lista de Nomes Estatísticas Notas Tabela de valores BANCO DE DADOS CLIENTE - BROWSER SERVIDOR SOR SOR Conta do Usuário Telas SERVIDOR APP Administração Contabilidade Marketing Documentos Gerados SERVIDOR SGBD Fonte: MORENO (2020). Software aplicativo para microcomputador – continua a representar os mais inovadores projetos de interfaces com seres humanos de toda a indústria de software. Software básico (firmware) – programas que dão apoio a outros programas e são usados para o controle de dispositivos computadorizados. Possuem forte interação com o hardware, normalmente chamado de driver. Uma das categorias de firmware é o software embarcado que reside em memória ROM (software embutido (embedded software)). Software de tempo real (real time) – software que monitora, analisa e controla eventos do mundo real e que interage com ambiente externo. A IoT – Internet of Things (Internet das coisas) é uma das aplicações. Aplicações – Áreas do conhecimento e a amplitude do desenvolvimento I Fonte: Acervo pessoal. Software científico e de engenharia – voltado para processamento de números complexos. A realidade aumentada é uma das aplicações. Software empresarial – e-business (ERP, CRM e SCM) é o de maior aplicação nos negócios. Tecnologias de destaque nessa área: é o Big Data e o BI (Business Intelligence). Software para web – é uma extensão do e-business, sendo que a maior parte do processamento é feito em servidores e abrange: WebApps, e-commerce (B2B, B2C e C2C) e Cloud Computing são as aplicações mais comuns. Software de inteligência artificial – Para resolver problemas complexos do conhecimento. Uma tecnologia inovadora que passa a ter grande aplicação são as redes neurais. Aplicações – Áreas do conhecimento e a amplitude do desenvolvimento II Fonte: https://www.aerotime.aero/26835- How-crisis-reshuffled-biggest-airlines-in- the-world Algumas disciplinas têm similaridades com a engenharia de software e se confundem, como é o caso da engenharia de sistemas. Boa parte dos métodos e técnicas são semelhantes, contudo, são disciplinas distintas. Veja o exemplo: Aplicações – Similaridade da Engenharia de software com a engenharia de sistemas I Na visão da engenharia de sistemas, a análise da bomba de insulina é apresentada em um diagrama de blocos, mostrando os componentes de hardware e o fluxo de controle da bomba de insulina. Fonte: SOMMERVILLE (2011). Sensor Display 1 BombaMódulo de agulha Relógio Controlador Alarme Display 2 Reservatório de insulina Fonte de energia Na visão da engenharia de software, a análise da bomba de insulina é apresentada em um modelo de negócio com um diagrama de atividades. O modelo representa algumas funções de interface com o usuário e com o hardware, que devem ser apresentadas pelo software. Aplicações – Similaridade da Engenharia de software com a engenharia de sistemas II Fonte: SOMMERVILLE (2011). Sensor de sangue Açúcar no sangue Analisar a leitura do sensor Calcular insulina Registro de insulina Dose de insulina Registro de dose Processar comandos da bomba Dados da bomba Controlar bomba de insulina Bomba de insulina Foi entregue ao departamento de TI uma lista de pedidos de software. Cada pedido pode ser obtido no comércio e/ou ser desenvolvido. O TI precisa separar as ordens de serviços por setor, de modo a associar o pedido a determinada área de software. I – Adaptar um nobreak de resposta de 300 mseg ao servidor de um Data Center. II – Adquirir software para o controle do almoxarifado. III – Para o marketing é necessário um editor de fotos e imagens. IV – Um novo escâner foi adquirido, mas não está funcionando nos computadores. Alternativas: a) Aplicativo para microcomputador, básico, científico e de engenharia, e inteligência artificial. b) Básico, web, empresarial e tempo real. c) Científico e de engenharia, aplicativo para microcomputador, tempo real e básico. d) Inteligência artificial, básico web e tempo real. e) Tempo real, empresarial, aplicativo para microcomputador, básico. Interatividade Foi entregue ao departamento de TI uma lista de pedidos de software. Cada pedido pode ser obtido no comércio e/ou ser desenvolvido. O TI precisa separar as ordens de serviços por setor, de modo a associar o pedido a determinada área de software. I – Adaptar um nobreak de resposta de 300 mseg ao servidor de um Data Center. II – Adquirir software para o controle do almoxarifado. III – Para o marketing é necessário um editor de fotos e imagens. IV – Um novo escâner foi adquirido, mas não está funcionando nos computadores. Alternativas: a) Aplicativo para microcomputador, básico, científico e de engenharia, e inteligência artificial. b) Básico, web, empresarial e tempo real. c) Científico e de engenharia, aplicativo para microcomputador, tempo real e básico. d) Inteligência artificial, básico web e tempo real. e) Tempo real, empresarial, aplicativo para microcomputador, básico. Resposta O desenvolvimento do software não se baseia apenas na construção de programas de computador. É necessário um controle rígido de procedimentos, padrões e normas que devem ser documentados para o acompanhamento e controle dos serviços. Cada projeto de softwarepossui suas características próprias para um elenco de pessoas envolvidas, nomeadas de analistas do negócio, que representam o cliente e o usuário, interessados no software. Ambiente computacional Fonte: MORENO (2020). Requisitos Especificação e Modelo do Negócio Analista do Sistema Analistas de Negócio Quando os ideais dos stakeholders conflitam, o que é comum, surgem vários problemas de relacionamento das partes envolvidas no projeto, devido a áreas de conhecimentos diferentes. Caso: Cliente – Na construção do código estamos atrasados com o cronograma, podemos contratar mais programadores? Fato: Atualmente os cronogramas para o desenvolvimento de software ainda são imprecisos, não é um processo manufaturado, é um trabalho de engenharia. Outro programador deverá conhecer antes o projeto, estudar o ambiente de desenvolvimento para poder trabalhar. E quando a codificação está atrasada, não há tempo para isso. Problemas de relacionamento entre a gerência e o desenvolvedor Problemas de relacionamento entre a gerência e o desenvolvedor Caso: Cliente – Preciso que coloque um botão para extrair o relatório de fornecedores, o mais rápido possível. Fato: Uma definição inicial ruim é a principal causa de fracasso dos esforços de desenvolvimentos de software. Dominar a informação, função, desempenho, interfaces, restrições de projeto e critérios de validação é fundamental, mesmo para implementar um simples botão. Porque este botão estará vinculado a uma função do software, que pode ainda não existir ou não foi especificada nos requisitos funcionais. Pode ainda necessitar de acessar um dado que não existe ou não está implementado no SGBD. Fonte: https://www.ordissinaute.fr/foru m/2014-09-25- humour?page=0%2C345 Problemas de relacionamento entre desenvolvedores Caso: Desenvolvedor – preciso entregar logo o programa funcionando para o cliente. Só assim termino o projeto. Fato: Os dados de indústrias indicam que entre 50% e 70% de todo o esforço gasto num programa será despendido depois que ele for entregue pela primeira vez ao cliente. Fonte: https://www.ordissinaute.fr/foru m/2014-09-25- humour?page=0%2C345 A engenharia de software é uma tecnologia em camadas e que deve estar fundamentada em um comprometimento organizacional com a qualidade (PRESSMAN, 2011). A qualidade determina padrões e normas a serem aplicadas pela engenharia de software. A qualidade leva à cultura de melhoria contínua dos processos e abordagens cada vez mais efetivas para a engenharia de software. Exemplo: NBR ISO/IEC 25010: Requisitos e avaliação de qualidade de sistemas e software. Projeto e construção do software I Fonte: PRESSMAN (2002). Projeto e construção do software II Processo – O processo define o controle do gerenciamento do projeto por meio de modelos de processos, tais como: cascata, incremental, prototipagem, espiral, RUP, PSP e TSP. Métodos – Incluem um amplo conjunto de tarefas que abrange gestão de equipes, análises de requisitos, projeto, construção de programas, teste, entrega, suporte e manutenção. É o caso da metodologia ágil SCRUM e a matriz de responsabilidades do PMBOK. Ferramentas – Fornecem apoio automatizado ou semiautomatizado aos métodos e processos. A ferramenta CASE (Computer Aided Software Enginnering) é a mais completa. Os frameworks e ferramentas de modelagem também fazem parte desse conjunto. Fonte: PRESSMAN (2002). Funciona no domínio da aplicação. Usa basicamente um conjunto de classes e interfaces decompostas em quadros com seus respectivos códigos. Projeto e construção do software – Ferramenta framewok Netbeans Fonte: MORENO (2020). Ambiente de trabalho na codificação e modelagem de software com o framework NetBeans. De acordo com Pressman (2011), a engenharia de software é uma tecnologia em camadas, e que deve estar fundamentada em um comprometimento organizacional com a qualidade. Uma destas camadas é o método. Assinale a alternativa com o conceito de método. a) São responsáveis por manter integradas as camadas de tecnologia. b) Incluem um amplo conjunto de tarefas que abrangem análises de requisitos, projeto, construção de programas, teste e manutenção. c) Fornecem apoio automatizado ou semiautomatizado à construção de software eficiente. d) Determinam o processo de software consistente baseado em metas, atividades e procedimentos de planejamento. e) Representam a qualidade a ser implementada no produto software. Interatividade De acordo com Pressman (2011), a engenharia de software é uma tecnologia em camadas, e que deve estar fundamentada em um comprometimento organizacional com a qualidade. Uma destas camadas é o método. Assinale a alternativa com o conceito de método. a) São responsáveis por manter integradas as camadas de tecnologia. b) Incluem um amplo conjunto de tarefas que abrangem análises de requisitos, projeto, construção de programas, teste e manutenção. c) Fornecem apoio automatizado ou semiautomatizado à construção de software eficiente. d) Determinam o processo de software consistente baseado em metas, atividades e procedimentos de planejamento. e) Representam a qualidade a ser implementada no produto software. Resposta Fonte: PRESSMAN (2002). KOHN, Karen; MORAES, Cláudia Herte de. O impacto das novas tecnologias na sociedade: conceitos e características da Sociedade da Informação e da Sociedade Digital. INTERCOM, 2007. Disponível em: https://www.intercom.org.br. Acesso em: 04 abr. 2020. PRESSMAN, Ph.D. Roger S. Engenharia de Software: uma abordagem profissional. 7. ed. Rio de Janeiro: McGraw-Hill, 2011. REZENDE, Denis Alcides. Engenharia de software e sistemas de informação. 3. ed. Rio de Janeiro: Brasport, 2005. SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011. Referências ATÉ A PRÓXIMA!
Compartilhar