Sistemas e Programação€¦ · Sistemas e Programação Prof. Renato Rondon. Sistemas. Sistemas...

Preview:

Citation preview

Sistemas e ProgramaçãoProf. Renato Rondon

Sistemas

SistemasTeoria Geral dos Sistemas: Teoria que contribui para a unidade da ciência, ao desenvolver princípios unificadores que atravessam verticalmente os universos particulares das diversas ciências envolvidas.

SistemasSistemas de Informação: Envolve a atividade de entrada, processamento, saída, armazenamento e controle de dados para que sejam convertidos em informações.

SistemasSistemas de Informação: São compostos por:

● Recursos Humanos● Recursos de Hardware● Recursos de Software● Recursos de Dados● Recursos de Rede

SistemasSistemas de Informação: Fases e etapas:

● 1. Levantamento de Requisitos● 2. Desenvolvimento● 3. Testes● 4. Implantação● 5. Treinamento● 6. Manutenção● 7. Gestão● 8. Avaliação

Levantamento de Requisitos

Levantamento de RequisitosLevantamento de Requisitos: Descrições de como o sistema de informação deve se comportar e validar suas funcionalidades, ou seja, tudo o que o sistema deve fazer para atender às necessidades para o qual foi empreendido.

● Estudos de Viabilidade● Elicitação e Análise● Especificação● Validação

Levantamento de RequisitosEspecificação de Requisitos: É o processo de escrever os requisitos de usuário e de sistemas em um documento de requisitos.

● Os requisitos podem ser especificados de diversas formas, como, por exemplo, por meio de escrita em linguagem natural ou através do preenchimento de um formulário padrão, do tipo template.

Levantamento de RequisitosRequisitos Funcionais: Abordam o que o sistema deve fazer e como deve se comportar a certas entradas e às mais variadas situações.

● Questões relacionadas principalmente ao Cliente.

Levantamento de RequisitosRequisitos Não-Funcionais: São relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenção e tecnologias envolvidas, ou seja, características mínimas de um software de qualidade.

● Questões relacionadas principalmente ao Analista.

Levantamento de RequisitosFURPS: Em um software, existem requisitos que podem ser categorizados segundo o modelo FURPS, onde cada letra provém de uma palavra em inglês (acrônimo).

● Funcionalidade● Usabilidade● Reliabilidade (Confiabilidade)● Performance (Desempenho)● Suportabilidade

Levantamento de Requisitos(Questão) A Revisão dos requisitos determina se todos eles satisfazem os critérios de qualidade e se as Especificações dos Requisitos do Software estão claras e bem entendidas por todas as partes interessadas;

● ( ) CERTO ( ) ERRADO

Levantamento de Requisitos(Questão) Na Especificação dos Requisitos, nem todo requisito presente é um requisito a ser construído.

● ( ) CERTO ( ) ERRADO

Levantamento de Requisitos(Questão) Um cliente contratou uma empresa para desenvolver um sistema de E-Commerce. Após os levantamentos iniciais, definiu-se, de comum acordo, entre o cliente e a empresa contratada, que esse sistema terá, obrigatoriamente, os seguintes comportamentos, dentre outros: "Logar no Sistema", "Selecionar Produtos", "Listar Produtos" e "Calcular Frete". Nesse caso, tais comportamentos obrigatórios, que o sistema de E-Commerce deverá ter, são chamados de Requisitos físicos.

● ( ) CERTO ( ) ERRADO

Levantamento de Requisitos(Questão) O modelo FURPS pode ser utilizado para categorizar os requisitos não funcionais de um software.

● ( ) CERTO ( ) ERRADO

Levantamento de Requisitos(Questão) Tempo de resposta e consumo de recursos, como memória RAM e processador, são características de requisitos de um software, relacionadas, no acrônimo FURPS, à letra "P", que significa "Performance".

● ( ) CERTO ( ) ERRADO

Desenvolvimento

DesenvolvimentoDesenvolvimento: É a construção / implementação do software em si. É o processo de codificação, ou seja, quando o projeto é traduzido numa forma legível para uma máquina.

DesenvolvimentoAnálise de Pontos de Função: Método-padrão para a medição do desenvolvimento de software, que tem por objetivo estabelecer uma medida de tamanho do software em Pontos de Função, com base na funcionalidade a ser implementada, sob o ponto de vista do usuário.

DesenvolvimentoDesenvolvimento à Medida: Construção personalizada, corresponde diretamente aos requisitos da organização, o que normalmente implica em um grande investimento.

Desenvolvimento por Pacotes: Construção através de pacotes prontos de soluções de software já desenvolvidas anteriormente, o que implica normalmente em um trabalho maior voltado à configuração e adaptação, para adequação aos requisitos da organização.

DesenvolvimentoModelo Cascata (ou Waterfall): É baseado em ambientes físicos altamente estruturados, em que depois de uma ação as mudanças são proibitivamente caras, se não impossíveis.

DesenvolvimentoModelo Prototipação: Trabalha com um protótipo que simula o software final funcionando com base nos requisitos básicos do sistema. Para isto, é necessário executar um “miniprojeto” antes do projeto.

DesenvolvimentoModelo Espiral: Inclui explicitamente a análise de riscos e a prototipação como atividades do processo de desenvolvimento.

DesenvolvimentoModelos Ágeis

● Scrum● XP (Extreme Programming)

DesenvolvimentoControle de Versão: Ferramentas (como o Subversion, Git e o Mercurial) utilizadas no desenvolvimento para resolver três problemas:

● Registrar a evolução do projeto● Possibilitar o trabalho em equipe● Criar e manter variações do projeto

Desenvolvimento(Questão): Em uma das fases do desenvolvimento de um software, o projeto deve ser traduzido numa forma legível para uma máquina, caracterizando a etapa de análise de requisitos.

● ( ) CERTO ( ) ERRADO

Desenvolvimento(Questão): A utilização da métrica de análise baseada em pontos por função permite a previsão de diversos elementos do processo de desenvolvimento de um programa, como por exemplo o custo ou esforço necessário para projetar o software.

● ( ) CERTO ( ) ERRADO

Desenvolvimento(Questão): Sobre as características de modelos de ciclo de vida, o Modelo Espiral é baseado em ambientes físicos altamente estruturados, em que depois de uma ação as mudanças são proibitivamente caras, se não impossíveis.

● ( ) CERTO ( ) ERRADO

Desenvolvimento(Questão): O conceito de sprint aplica-se ao modelo ágil do processo de engenharia de software denominado XP.

● ( ) CERTO ( ) ERRADO

Testes

TestesTestes: Possibilita a detecção de erros, criando a oportunidade para aperfeiçoamento do software.

TestesFontes de Erros: Erros podem ser causados, por exemplo, por:

● Especificação errada e/ou incompleta dos requisitos;● Requisitos impossíveis;● Implementação errada/incompleta;● Mau desenho do sistema;● Técnica de desenvolvimento inadequada;● Erros de programação;● Interface pouco clara/inadequada, etc.

TestesAtributos qualitativos: a avaliar quanto à capacidade do Sistema de:

● Funcionalidade● Confiabilidade● Usabilidade● Eficiência● Manutenibilidade● Portabilidade

TestesFases de Teste

● Teste Unitário● Teste de Módulo● Teste de Integração● Teste de Sistema● Teste de Regressão● Teste de Aceitação

TestesTeste Caixa-Branca: É baseado em um exame rigoroso do detalhe procedimental, no qual caminhos lógicos internos ao software e colaborações entre componentes são testados. Procura exercitar todas as partes do código de um sistema.

● Teste de Caminho Básico: permite ao projetista de casos de teste originar uma medida da complexidade lógica de um projeto procedimental.

● Teste de Caminhos Independentes: consiste em exercitar, a cada novo teste, partes do software ainda não cobertas em testes anteriores.

TestesTeste Caixa-Preta: Refere-se a testes que são conduzidos na interface do software. Também chamado “teste funcional”, testa o sistema do ponto de vista do usuário, isto é, não considera a estrutura interna ou a forma de implementação do sistema.

Testes(Questão): Na fase de testes, aquele responsável por verificar as interfaces entre as partes de uma arquitetura de um produto é o teste de unidade.

● ( ) CERTO ( ) ERRADO

Testes(Questão): Teste de software que procura descobrir erros por meio da reaplicação parcial dos testes a um programa modificado é chamado de teste de regressão.

● ( ) CERTO ( ) ERRADO

Testes(Questão): Para se assegurar que o sistema opere com a carga necessária, são realizados testes de desempenho em que se aumenta progressivamente a carga até que se possa definir se o desempenho do sistema está aceitável.

● ( ) CERTO ( ) ERRADO

Testes(Questão): Um cliente solicitou que fosse utilizada uma técnica de teste de software denominada caminhos independentes. A filosofia básica dessa técnica de teste é exercitar todos os valores limites dos domínios de cada variável.

● ( ) CERTO ( ) ERRADO

Testes(Questão): Ao adotar uma abordagem “top-down”, o executor de teste deve concentrar-se inicialmente no teste “caixa-branca”, que parte de uma visão externa do sistema.

● ( ) CERTO ( ) ERRADO

Implantação e Treinamento

Implantação e TreinamentoImplantação: Uma vez aprovado nos testes, o sistema deverá ser implantado, ou seja, colocado em produção (para uso efetivo).

Implantação e TreinamentoTreinamento: Consiste em apresentar aos usuários o novo sistema e auxiliá-los nos procedimentos que cada um deverá realizar.

Manutenção, Gestão e Avaliação

Manutenção, Gestão e AvaliaçãoManutenção: Processo de aplicar mudanças aos sistemas durante a sua vida útil, de acordo com as necessidades da organização e/ou dos utilizadores.

Manutenção, Gestão e AvaliaçãoManutenção: Tipos de Manutenção:

● Evolutiva● Adaptiva● Corretiva● Preventiva

Manutenção, Gestão e AvaliaçãoGestão: Acompanhar e garantir que o software está sendo utilizado de maneira correta pelos operadores.

Manutenção, Gestão e AvaliaçãoAvaliação: Busca medir/descrever os resultados obtidos.

Manutenção, Gestão e Avaliação(Questão): Nas etapas de desenvolvimento de um software, um dos tipos de mudanças que são encontradas durante a fase de manutenção é a adaptação.

● ( ) CERTO ( ) ERRADO

Sistemas e ProgramaçãoProf. Renato Rondon

Revisão Aula 1● Sistemas● Sistemas de Informação● Levantamento de Requisitos● Desenvolvimento● Testes● Implantação● Treinamento● Manutenção● Gestão● Avaliação

Programação

ProgramaçãoAlgoritmo: Conjunto das regras e procedimentos lógicos perfeitamente definidos que levam à solução de um problema em um número finito de etapas.

● Entrada (dados solicitados)● Processamento (dos dados, objetivando um resultado)● Saída (resultado).

Simulação

ProgramaçãoPrograma de Computador: É um conjunto de instruções ou regras que o computador deve executar de modo a realizar determinadas tarefas.

Simulação

ProgramaçãoVariáveis: Uma variável em um programa é uma abstração de uma célula ou de um conjunto de células da memória de computador.

Simulação

ProgramaçãoOperadores

● Aritméticos● Atribuição● Relacionais● Concatenação● Lógicos

Simulação

ProgramaçãoEstrutura Condicional

● Se (if)● Senão (else)

Simulação

ProgramaçãoEstrutura de Repetição

● Faça Para (for)● Enquanto Faça (while)● Repita Até (do while)

Simulação

ProgramaçãoFunções

Simulação

Programação(Questão) Considere o programa a seguir, utilizando uma linguagem hipotética: A lógica do programa está correta e, quando executado, ele apresentará o seguinte resultado: True!

if 5 > 2{

print("True!")}

● ( ) CERTO ( ) ERRADO

Programação(Questão) Considere o programa a seguir, utilizando uma linguagem hipotética: Quando executado, ele apresentará o seguinte resultado: "C", "A", "S", "A"

letras = ["C", "A", "S", "A"]for x in letras{

print(x)}

● ( ) CERTO ( ) ERRADO

Programação(Questão) Em um programa construído na linguagem C# da plataforma Microsoft .NET, um Auditor se deparou com uma condição if(x && y), em que x e y são valores booleanos (bool). Na instrução if,

● (A) caso x seja false, y não será avaliado.● (B) tanto x quanto y serão sempre avaliados.● (C) caso y seja true, x não será avaliado.● (D) somente x será avaliado.● (E) somente y será avaliado.

Programação(Questão) A linguagem escolhida pela equipe de TI foi C#.NET. Nesta linguagem, os operadores lógicos condicionais E e OU e o operador de desigualdade (diferença) devem ser escritos, respectivamente, utilizando-se

● (A) and, or e unlike● (B) &&, || e !=● (C) .and., .or. e .unlike● (D) ||, && e <>● (E) |, & e <>

Programação(Questão) a respeito das variáveis e constantes, utilizadas em diversas linguagens de programação, o número de constantes deve ser menor ou igual ao número de variáveis em um programa.

● ( ) CERTO ( ) ERRADO

Programação(Questão) Em programação, o comando while executa um bloco de comandos enquanto sua condição for verdadeira.

● ( ) CERTO ( ) ERRADO

Programação(Questão) Em programação, o comando while é idêntico ao comando do while.

● ( ) CERTO ( ) ERRADO

Programação

ProgramaçãoProgramação Estruturada: A programação estruturada é caracterizada pelos seguintes conceitos:

● Sequência● Seleção● Iteração

ProgramaçãoFunção Recursiva: Uma função que pode chamar a si própria é chamada função recursiva. Um critério de parada vai determinar quando a função deverá parar de chamar a si mesma. Isso impede que a função entre em loop.

ProgramaçãoProgramação Funcional: Enfatiza a aplicação de funções.

ProgramaçãoProgramação Orientada a Objeto: Em uma Aplicação Orientada a Objetos podem existir múltiplas instâncias de uma mesma classe. Os serviços que podem ser solicitados a um objeto são definidos pelos métodos.

● Construtor: Em programação Orientada a Objetos, o uso de um método construtor permite que se atribua valores iniciais aos atributos de uma classe quando esta é instanciada.

Simulação

ProgramaçãoPython: Criada sob o ideal de "Programação de Computadores para todos": Liberdade, Disponibilidade e Produtividade.

● Linguagem de altíssimo nível● Orientada a objeto● Tipagem dinâmica e forte● Interpretada● Interativa

ProgramaçãoR: Linguagem estatística usada para análise de dados. Utilizada por cientistas, estatísticos e analistas de dados.

ProgramaçãoEstruturas de dados

● Lista● Fila● Pilha● Mapa● Árvore

Programação(Questão) A programação estruturada é caracterizada pelos seguintes conceitos: objeto, função e interação.

● ( ) CERTO ( ) ERRADO

Programação(Questão) O uso de funções é desaconselhável no desenvolvimento estruturado, pois quebram a seqüência lógica da programação linear, objetivo principal deste modelo de desenvolvimento.

● ( ) CERTO ( ) ERRADO

Programação(Questão) Considere o algoritmo a seguir que define a função “f”. Pode-se dizer que a função “f” é uma função recursiva.

função f (n) {se n igual a 1 então retorne 0se n igual a 2 então retorne 1retorne f(n-1) + f(n-2)

}

● ( ) CERTO ( ) ERRADO

Programação(Questão) Em uma Aplicação Orientada a Objetos podem existir múltiplas instâncias de uma mesma classe.

● ( ) CERTO ( ) ERRADO

Programação(Questão) Em Programação Orientada a Objetos deve existir um e somente um objeto de uma mesma classe.

● ( ) CERTO ( ) ERRADO

Programação(Questão) Na Programação Orientada a Objetos, quem define os serviços que podem ser solicitados a um objeto são os atributos.

● ( ) CERTO ( ) ERRADO

Programação(Questão) a definição dos objetos deve ser obrigatoriamente definida no corpo do construtor.

● ( ) CERTO ( ) ERRADO

Programação(Questão) O método utilizado para inicializar objetos de uma classe quando estes são criados é denominado

● (A) void.● (B) interface.● (C) agregação.● (D) composição.● (E) construtor.

Programação(Questão) Com respeito a compiladores e interpretadores é correto afirmar que

a) o programa interpretado necessita do interpretador no momento de sua execuçãob) o compilador executa o programa-fonte à medida que o traduzc) geralmente, um programa interpretado é mais eficiente que um programa compiladod) o programa compilado necessita do compilador no momento de sua execuçãoe) o interpretador traduz o programa-fonte em código executável

Programação(Questão) Considere o programa a seguir, na linguagem Python.

if 5 > 2{print("True!")}

A sintaxe do programa está correta e, quando executado, ele apresentará o seguinte resultado. True!

● ( ) CERTO ( ) ERRADO

Programação(Questão) Considere o seguinte código, escrito na linguagem C#Assinale a alternativa quepreenche corretamente alacuna no código, de modoa fazer com que a execuçãodo método Main() imprimatodos os elementos do array lista.

● a. ( ) valor : lista[]● b. ( ) int valor = lista[]● c. ( ) valor : int in lista● d. ( ) valor in int[] lista● e. ( ) int valor in lista

Programação(Questão) Em uma lista circular o ponteiro anterior do início da lista aponta para ele mesmo, da mesma forma que o ponteiro próximo do fim da lista também aponta para ele mesmo.

● ( ) CERTO ( ) ERRADO

Programação(Questão) Uma fila é uma lista de informações com operações especiais de acesso. O acesso aos elementos da fila é feito pela extremidade oposta à da inserção, ou seja, o elemento disponível estará sempre na extremidade oposta à da inserção. Esta regra é também conhecida como LIFO (Last In First Out).

● ( ) CERTO ( ) ERRADO

Programação Web

Programação WebMVC: Padrão de projeto no desenvolvimento do software.

● Model (Modelo)● View (Visão)● Controller (Controle)

Simulação

Programação Web.NET Framework: Plataforma de desenvolvimento para criar aplicativos para web, Windows, Windows Phone, Windows Server e Microsoft Azure. Ele consiste no Common Language Runtime (CLR) e na biblioteca de classes do .NET Framework, que inclui uma ampla gama de recursos e suporte para muitos padrões do setor.

● Você pode usar diferentes linguagens de programação com o .NET Framework, incluindo C#, F# e Visual Basic.

* Fonte (https://docs.microsoft.com)

Programação WebWeb Service: é um componente de software armazenado em um computador que pode ser acessado por um aplicativo em outro computador por uma rede.

● Web Services se comunicam utilizando tecnologias como XML, JSON e HTTP.

● O SOAP permite que Web Services e clientes escritos em linguagens diferentes se comuniquem.

● Um Web Service RESTful pode retornar dados utilizando texto sem formatação.

Programação Web(Questão) Considere que a equipe de TI adotou o MVC como padrão de projeto no desenvolvimento do software. Nesse padrão, as classes da aplicação que acessam o banco de dados são representadas no componente

● (A) Controller.● (B) View.● (C) Model.● (D) Access.● (E) Business.

Programação Web(Questão) HTML é uma linguagem declarativa utilizada para criação de páginas e exibição de textos na Internet. As páginas HTML executam no servidor, e não no cliente, e é o próprio servidor que transforma os scripts HTML em ASP, permitindo assim que qualquer browser seja capaz de acessar essas páginas.

● ( ) CERTO ( ) ERRADO

Programação Web(Questão) A .NET Framework trata-se de uma arquitetura da estratégia Microsoft .NET para construir, implementar e executar aplicações e webservices.

● ( ) CERTO ( ) ERRADO