Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMA DE ENSINO INFORMÁTICA Fundamentos de Computação - Parte II Livro Eletrônico 2 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Sumário Apresentação ................................................................................................................................... 4 Fundamentos de Computação (Foco: Software) , Análise Funcional e Prototipação ...... 5 O Que é um Sistema de Informação? .......................................................................................... 5 Atividades Básicas de um Sistema de Informação .................................................................. 6 Componentes de um Sistema de Informação ........................................................................... 8 Tipos de Sistemas de Informação em Ambiente Empresarial ............................................. 17 Aplicações e Aplicativos em Dispositivos Móveis ................................................................. 26 Fases e Etapas de Sistema de Informação ..............................................................................28 Processo de Software ...................................................................................................................31 Modelo em Cascata ......................................................................................................................31 Modelo Incremental ..................................................................................................................... 32 Prototipação (chamada também como Prototipagem) ........................................................ 33 Modelo Espiral ............................................................................................................................... 36 RAD (Rapid Application Development – Desenvolvimento Rápido de Aplicação) ......... 37 RUP (Rational Unified Process) ..................................................................................................38 Visão Geral Sobre o Processo de Desenvolvimento de Software ...................................... 39 Modelagem de Negócio (Também chamada de Modelagem de Processos de Negócio, Análise do Domínio ou Análise do Negócio) ...........................................................40 Engenharia de Requisitos ............................................................................................................40 Análise .............................................................................................................................................40 **Projeto (Desenho) ..................................................................................................................... 50 Implementação ..............................................................................................................................51 Testes .............................................................................................................................................. 52 Homologação ................................................................................................................................. 52 Manutenção ................................................................................................................................... 52 Resumo ............................................................................................................................................ 53 Prototipação................................................................................................................................... 56 O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 3 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Questões Comentadas na Aula .................................................................................................. 58 Questões de Concurso ................................................................................................................. 59 Gabarito ........................................................................................................................................... 76 Referências ..................................................................................................................................... 77 O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 4 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA ApresentAção Olá, querido(a) amigo(a), meus cumprimentos! Que tal buscarmos inspiração na ÁGUIA! Em nossas vidas, muitas vezes temos que nos resguardar por algum tempo para dar início ao difícil processo de ren ovação, arrancando as velhas e pesadas penas, desprendendo de nossos vícios, conscientes do caminho a percorrer para enfrentar os desafios vindouros. Temos difíceis escolhas no decorrer de nossas trajetórias, no entanto, ao final, vale todo o sacrifício! Lembre-se sempre de que a LIBERDADE é uma conquista, o SUCESSO é um prêmio e a RENOVAÇÃO é o ÚNICO CAMINHO PARA SE CHEGAR AOS NOSSOS OBJETIVOS! Rumo então à aula que contempla os principais tópicos relacionados a Fundamentos de Computação (Foco: Software) , Análise Funcional e Prototipação. Em caso de dúvidas, acesse o fórum do curso ou entre em contato. Um abraço, Profa Patrícia Quintão Instagram: @coachpatriciaquintao WhatsApp: (31) 99442.0615 O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 5 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA FUNDAMENTOS DE COMPUTAÇÃO (FOCO: SOFTWARE) , ANÁLISE FUNCIONAL E PROTOTIPAÇÃO o Que é um sistemA de informAção? Um sistema é um grupo de componentes inter-relacionados que trabalham juntos rumo a uma meta comum, recebendo insumos e produzindo resultados num processo organizado de TRANSFORMAÇÃO. Um Sistema de Informação (SI) contém informação sobre uma organização e seu ambien- te. Podem auxiliar gerentes e usuários a analisar problemas, criar novos produtos e serviços e visualizar questões complexas. Organização: recursos e ações direcionados a objetivos. Ações Conjunto de componentes inter-relacionados trabalhando juntos para coletar (recuperar), processar, armazenar e distribuir informação com a finalidade de facilitar o planejamento, o controle, a coordenação, a análise e o processo decisório em empresas e organizações. Ambiente Fornecedores Órgãos reguladores Acionistas Consumidores Competidores Sistemas de informação • Trata-se de um sistema que provê procedimentos para registrar e tornar disponível in- formação, sobre parte de uma organização, para apoiar atividades relacionadas com a própria organização. Obs.: � Um dos principais desafios dos Sistemas de Informação é assegurar a qualidade e agilidade da informação, imprescindível para as corporações e seus gestores. � Com relação às necessidades dos gestores em relação à informação: � agilidade => disponível no tempo certo; � confiabilidade => coesa, correta. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgaçãoou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 6 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Sistemas de informação ajudam as organizações a: • Alcançar grandes eficiências pela automatização de partes dos processos. • Repensar e aperfeiçoar processos. AtividAdes BásicAs de um sistemA de informAção As atividades básicas que produzem as necessidades de informação da organização são detalhadas a seguir (O’BRIEN, 2006): • Entrada (ou input): envolve a captação/coleta de dados brutos de dentro da organização ou de seu ambiente externo. − A entrada precisa ser criteriosa (dados corretos/completos) para alcançar a saída desejada. − Pode ter vários formatos (ex.: Em um sistema de marketing a entrada poderia ser as respostas dos clientes nas pesquisas; cartões de ponto dos empregados para SI que irá produzir contracheques etc.). − Pode ser manual ou automatizada (ex.: Um scanner de uma mercearia que interpreta códigos de barras e registra preço do produto). • Processamento: ação de converter (transformar) dados brutos em forma significativa (informação). Pode incluir a realização de cálculos, comparações, tomadas de ações alternativas. • Saída (ou output): transferência da informação processada para pessoas ou atividades onde será usada. − Várias formas: relatórios impressos, apresentações gráficas, vídeos, sons ou dados a serem enviados a outros Sistemas de Informações. − Frequentemente, a saída de um sistema pode ser usada como entrada para outros Sistemas de Informações. • Feedback: dados sobre o desempenho de um sistema. − Podem indicar erros/problemas. Ex.: a quantidade de horas trabalhadas por um em- pregado inserida errada, como 400 em vez de 40 horas, em uma semana. − Importante para gerência/tomada de decisão. Ex.: Saída de um SI pode indicar que os níveis de estoque para alguns itens estão baixos. − Um SI pode ser proativo, fazendo a previsão de eventos futuros para evitar problemas. Pode ser usado para estimar as vendas futuras e pedir mais estoque antes que ocorra uma escassez. • Controle: envolve monitoração e avaliação do feedback e ajustes nos componentes (caso tenha necessidade) . Ex.: Um gerente de vendas exerce controle quando realoca vendedores para novos territórios de vendas depois de avaliar o feedback sobre seu desempenho de vendas. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 7 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA A figura seguinte mostra as principais atividades necessárias em um sistema de informa- ção para produzirem as informações que precisam para tomar as decisões, controlar opera- ções, analisar problemas e criar novos produtos ou serviços. Entrada Processar Classificar Organizar Calcular Saída Feedback Agências reguladoras Acionistas Concorrentes Fornecedores Clientes AMBIENTE ORGANIZAÇÃO Figura - O sistema recebe os dados de um dispositivo de ENTRADA onde é PROCESSADO e em seguida enviado para um dispositivo de SAÍDA. Vamos a um exemplo de concessionária de veículos com fábrica para melhor entendimen- to dos conceitos aqui apresentados. Imagine que estou utilizando um sistema para emissão de pedidos de peças via Internet, junto à fábrica. No Sistema de Informação usado para requisição de peças, a entrada de dados brutos do revendedor consiste no número da peça, sua descrição e a quantidade de cada peça pedida, juntamente com o nome do revendedor e o seu número de identificação. O computador processa estes dados comparando cada número de peça e a quantidade de cada peça requisitada com o montante de cada peça disponível em estoque, e programa a remessa da peça ao distribuidor. Se a peça não estiver no estoque, o computador notifica a fábrica para produzir mais daquele artigo. Os documentos e relatórios online para o revendedor confirmando que aquele pedido foi recebido e a data prevista de remessa são a saída. Assim, o sistema proporciona informação significativa, tais como as listas das quais o revendedor requisitou cada peça, o número total de peças pedidas diariamente à fábrica de Puebla, o número e o tipo de peças pedidas por cada distribuidor, ou o número de peças em estoque. Fácil, não é mesmo! O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 8 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA componentes de um sistemA de informAção • Banco de Dados: é uma coleção organizada de dados e informações, guardados de uma maneira organizada para uso posterior. • Rede: um sistema de conectividade que viabiliza o compartilhamento de recursos entre computadores diferentes. • Pessoas: são o elemento mais importante dos SIs. Incluem os profissionais e os usuá- rios finais. • Procedimentos: incluem as estratégias, políticas, métodos e regras usadas pelas pes- soas para operar o Sistema. • Hardware: consiste no equipamento do computador e periféricos usados para executar as atividades de entrada, processamento e saída. • Software: consiste nos programas de computador, que permitem o processamento de dados no hardware. Figura. Componentes de um SI A seguir, algumas definições para software, retiradas da literatura. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 9 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA • Software é “a parte lógica do sistema de computação que é armazenada eletronicamen- te. É composto por um ou mais programas que capacitam o hardware a realizar tarefas específicas” (Marçula et al., 2005). • Software é um conjunto de instruções (algoritmos) que, quando executadas, fornecem as características, as funções e o desempenho desejados para um sistema, para um programa ou para uma aplicação. • Já Deitel (2005) ressalta que “os computadores processam dados sob o controle de conjuntos de instruções denominados programas de computador. Esses programas orientam o computador por meio de conjuntos ordenados de ações especificadas pelos programadores de computador. (...) os programas que executam em um computador são chamados de software”. • Conforme visto, o termo software está relacionado aos programas (conjunto de progra- mas ou apenas um programa específico) executados no computador. E um programa corresponde a uma sequência lógica de ações, que, após serem executadas, apresen- tam um resultado, que pode ser correto ou não. Um programa é formado por linhas sequenciais que nem sempre são executadas na ordem em que aparecem, pois pode ocorrer que determinada linha possua um desvio para outro local. Exemplos de softwares: − Microsoft OneNote: oferece um bloco de anotações digital para capturar e organizar tudo em seus dispositivos. Anote suas ideias, controle as anotações de sala de aula e reunião, faça recortes da Web ou uma lista de tarefas, além de desenhar e esboçar suas ideias. − Windows Live Messenger: software de comunicação entre usuários, assim como o MSN Messenger eMessenger Plus!Live. − e-Mule: software de compartilhamento dearquivos entre usuários, assim como o Li- meWire, Ares Galaxy. − AVG Antivírus Free: software de verificação do computador à procura de vírus, assim como o Avast! Home Edition, dentre outros. − Google Earth: software de imagens de satélite e mapas do mundo (inclusive Lua, Marte e Sistema Solar). − Google Maps: mostra em tempo real informações acerca do trânsito de uma região. Se eventos locais estão acontecendo nas proximidades, às vezes eles afetam seus trajetos de viagem ou horários de deslocamento diário. O Google Maps informa você sobre esses eventos. Não é possível desativar as notificações, mas elas desapare- cem quando os eventos terminam. − É possível visualizar, no Google Maps, os lugares já visitados, e detalhes sobre even- tos futuros. Você pode consultar o Google Maps para encontrar detalhes sobre even- O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 10 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA tos futuros, como voos, reservas em restaurantes ou aluguel de carros. Nele também é possível encontrar informações relacionadas, como programas de descontos ou fidelidade de que você participa. Essas informações podem aparecer: ◦ nos seus resultados de pesquisa; ◦ nas sugestões abaixo da caixa de pesquisa; ◦ com os detalhes de um lugar; ◦ no seu mapa; ◦ em “Seus lugares”. − O Google Maps conta com o recurso offline também há um certo tempo. Assim, os usuários podem armazenar em seus dispositivos rotas predefinidas, que poderão ser acessadas sem a necessidade de uma conexão com a internet. Por fim, cabe desta- car que fornece imagens também de informações visuais dos planetas, luas etc. WhatsApp Messenger: permite definir uma rota e compartilhá-la com um grupo de pes- soas. Com o recurso, é possível guiar contatos perdidos, mostrar para amigos como chegar até pontos turísticos de uma cidade ou compartilhar caminhos com várias pessoas. Em apps como o WhatsApp, o destinatário recebe um link que leva até o mapa do trajeto e pode visualizar uma rápida descrição, com ponto de saída e de chegada. O mesmo texto é inse- rido em posts nas redes sociais por meio das opções de compartilhamento. Com relação a chamadas de voz via aplicativo WhatsApp Messenger, é correto afirmar que tanto no sistema Android quanto no IOS (Iphone) o aplicativo é gratuito, não sendo necessário efetuar paga- mento para utilizá-lo. No WhatsApp Messenger não são permitidas ligações para números de emergência, como o 190. São possíveis apenas ligações para usuários que utilizam o número de celular e que tenham instalado o WhatsApp no seu celular. WinRAR: software de compactação de arquivos no formato RAR que opera com outros formatos, como ZIP e TAR. Windows Media Player 11: software para reprodução de conteúdo multimídia, como mú- sicas e vídeos. Bitly: útil para encurtar links ou verificar as análises de cliques. Gerenciadores de downloads (como: Download Accelerator Plus, Orbit Downloader, Free Download Manager etc.) permitem que usuários consigam baixar arquivos de forma mais rápida e confiável. Também possuem recursos que permitem dividir um arquivo maior (como de 100 Mb) para que, em caso de necessidade, o download desse arquivo possa ser feito em vários dias ou semanas, evitando ter que recomeçar tudo de novo em caso de instabilidade na conexão. Para que um computador possa desempenhar uma tarefa é necessário que esta seja de- talhada passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br http://www.techtudo.com.br/tudo-sobre/whatsapp-messenger.html 11 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Podemos concluir então que um programa de computador nada mais é que um algoritmo escrito numa forma compreensível pelo computador, ou um conjunto de instruções que o com- putador reconhece para a realização de uma determinada tarefa. 001. (IADES/ARCON-PA/CONTROLADOR DE SERVIÇOS PÚBLICOS/2018) O Google Maps e o Google Earth revolucionaram a forma de navegação e de visualização de mapas no mundo. A respeito desses aplicativos, assinale a alternativa correta. a) O aplicativo Google Maps só funciona em tempo real, não sendo possível salvar mapas para consulta off-line. b) O Google Maps fornece imagens apenas do planeta Terra. c) É possível definir uma rota e compartilhá-la pelo WhatsApp Messenger a um grupo de seis pessoas. d) O Google Maps não mostra em tempo real informações acerca do trânsito de uma região. e) É possível visualizar, no Google Maps, os lugares já visitados, mas não os futuros, mesmo que incluídos na Agenda Google. a) Errado. O Google Maps conta com o recurso offline há um certo tempo. Assim, os usuários podem armazenar em seus dispositivos rotas predefinidas, que poderão ser acessadas sem a necessidade de uma conexão com a internet. b) Errado. O Google Maps fornece imagens também de informações visuais dos plane- tas, luas etc. c) Certo. É possível definir uma rota e compartilhá-la pelo WhatsApp Messenger a um grupo de pessoas. Com o recurso, é possível guiar contatos perdidos, mostrar para amigos como chegar até pon- tos turísticos de uma cidade ou compartilhar caminhos com várias pessoas. Em apps como o WhatsApp, o destinatário recebe um link que leva até o mapa do trajeto e pode visualizar uma rápida descrição, com ponto de saída e de chegada. O mesmo texto é inserido em posts nas redes sociais por meio das opções de compartilhamento. d) Errado. O Google Maps mostra em tempo real informações acerca do trânsito de uma região. Se eventos locais estão acontecendo nas proximidades, às vezes eles afetam seus trajetos de viagem ou horários de deslocamento diário. O Google Maps informa você sobre esses eventos. Não é possível desativar as notificações, mas elas desaparecem quando os eventos terminam. e) Errado. É possível visualizar, no Google Maps, os lugares já visitados, e detalhes sobre even- tos futuros. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br http://www.techtudo.com.br/tudo-sobre/whatsapp-messenger.html 12 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Você pode consultar o Google Maps para encontrar detalhes sobre eventos futuros, como voos, reservas em restaurantes ou aluguel de carros. Nele também é possível encontrar informações relacionadas, como programas de descontos ou fidelidade de que você participa. Essas informações podem aparecer: • nos seus resultados de pesquisa; • nas sugestões abaixo da caixa de pesquisa; • com os detalhes de um lugar; • no seu mapa; • em “Seus lugares”. Letra c. Obs.: � Aplicativo portátil: um tipo de software que não requer a instalação no computador para ser executado. Ao ser iniciado, o aplicativo portátil executa diretamente do dis- positivo (Exemplo: pendrives) no qual está armazenado. Uma classificação para software é destacada a seguir (BONIFÁCIO, 2006): • Software Aplicativo: programa utilizado na execução de tarefas específicas, voltadas aos usuários. Exemplos: • editores de texto (Word 2016, LibreOffice Writer etc.); • planilhaseletrônicas (Excel 2013, BrOffice Calc etc.); • programas de gerenciamento de bancos de dados (Microsoft Access, Microsoft Sql Server, Oracle, Sybase, MySql etc.); • tocadores de áudio e vídeo (Windows Media Player etc.); • programas para navegação na Internet, também conhecidos como Browsers (Internet Explorer, Mozilla Firefox, Netscape Navigator, Opera etc.); • programas gráficos (Adobe Photoshop, Corel Draw etc.); • programas desenvolvidos especificamente para atender a rotinas específicas, tais como: Sistema de Contabilidade, Sistema de requisição de materiais etc. • Software Básico (ou de Sistema) : são programas utilizados para o funcionamento do sistema. Ele é capaz de gerar um ambiente de interação entre máquina e usuário. Ex.: sistema operacional, linguagens de programação, compiladores etc. − Sistemas operacionais: software responsável pelo gerenciamento do hardware e pela interface com o usuário. Estabelece a plataforma sobre a qual os programas são executados. É formado por um conjunto de rotinas (procedimentos) que ofere- O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 13 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA cem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio sistema. Exemplo de sistemas operacionais: Windows Vista, Windows 10, Windows 7, Windows 2008 Server, Linux, Unix, OS/2. − Ferramentas de programação: softwares utilizados para a criação de outros softwa- res. − As instruções dadas ao computador possuem regras e uma sintaxe própria, como uma linguagem tipo português ou inglês. − Infelizmente, um computador só é capaz de seguir programas que estejam escritos em linguagem de máquina, que normalmente é obscura e desconfortável. A lingua- gem de máquina é a linguagem natural do computador, definida pelo seu projeto de hardware. As instruções do programa, escritas em linguagem de máquina, consistem em uma série de dígitos binários. Como estão mais próximas da linguagem do com- putador, são muito complexas para o entendimento humano. − Os seres humanos, entretanto, acham mais conveniente escrever os programas em linguagem de nível mais elevado, como o Pascal por exemplo. As linguagens de alto nível são linguagens que otimizam o processo de programação por utilizar instruções mais parecidas com a linguagem humana (inglês cotidiano) e notações matemáticas comuns. Exemplo de linguagens de alto nível: C, C++, .NET, Visual Basic, Pascal e Java. Obs.: � É interessante notar que, quanto mais próxima da linguagem humana (alto nível) é uma linguagem de programação, mais fácil e produtivo é o processo de desenvolvimento, e mais lento é o processo de tradução das instruções. Obs.: � Por outro lado, quanto mais distante da linguagem humana (baixo nível) é uma lingua- gem de programação, mais rápido é o processo de tradução, e mais lento é o processo de desenvolvimento de programas. − Tradutor de linguagens de programação: é um programa que recebe como entrada um programa escrito em uma linguagem de programação (dita linguagem fonte) e produz como resultado as instruções deste programa traduzidas para linguagem de máquina (chamada linguagem objeto). − Os programas escritos em linguagens de baixo ou alto nível precisam ser traduzidos automaticamente para programas equivalentes em linguagem de máquina. − Se a linguagem do programa fonte é uma linguagem de montagem (Assembly), que utiliza abreviações para representar operações elementares, o tradutor é chamado de Montador (Assembler). O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 14 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA − Os tradutores que traduzem os programas escritos em linguagem de alto nível são os compiladores e os interpretadores. Portanto, há duas maneiras de se traduzir um programa feito em uma linguagem de alto nível para a linguagem de máquina: a com- pilação e a interpretação. Compiladores . Na compilação todo o trabalho de tradução é feito antes de se executar o programa. Interpretadores . Na interpretação, os programas de linguagem de alto nível são executados diretamente e traduzidos por um interpretador (em tempo de execução!). • Utilitários são programas que permitem a manutenção dos recursos da máquina, como ajustes em discos, memória, conserto de outros programas etc. Exemplos: − Softwares Antivírus Ex.: McAfee, Kasper, F-Secure,Norton, Panda, Symantec, Sygate Kaspersky, F-Prot, Nod32,- TrendMicro, Avast!, AVG, Bitdefender, Avira Antivir Personal. − Programas para desfragmentação de arquivos. Ex.: Defrag, Diskeeper ou DK etc. − Utilitários de compactação (compressão) de arquivos: reduz o tamanho de um arqui- vo sem prejudicar os dados. A maioria deles funciona pesquisando o arquivo a procu- ra de padrões extensos e frequentemente repetidos e substituindo estes padrões por códigos menores. Quando descompactado, o utilitário restaura o padrão extenso em que cada código é encontrado. Ex.: WinRAR, Winzip, PKzip (compressão sem perdas), 7-zip, Tar. O tempo de duração para se transferir um arquivo compactado de um computador para outro ou para um dispositivo qualquer de armazenamento é inferior ao tempo de transferência dos arquivos descompactados. Os arquivos compactados serão menores, e sua transferência mais rápida! Obs.: � Quanto maior a compressão, menor será o seu arquivo, porém a velocidade do proces- so também cairá. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 15 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Software livre e tópicos relacionados A seguir, detalhamos a classificação de software que leva em consideração a sua forma de aquisição e distribuição (BONIFÁCIO, 2006). Cabe destacar que os itens dessa classificação não são excludentes entre si, ou seja, podem se combinar. • Software de Código Fonte Aberto (Open Source) : programas que têm seu código fonte aberto. Qualquer um pode baixar o código fonte do programa, estudá-lo ou mesmo aper- feiçoá-lo. • Open Source não é a mesma coisa que de domínio público! Um programa Open Source continua pertencendo ao seu criador e a quem ajudou no seu desenvolvimento. • Software Livre (Free Software) : é um conceito mais amplo que o de Open Source. Sof- tware livre é o software disponível com a permissão para qualquer um usá-lo, estudá-lo, copiá-lo e distribuí-lo, seja na sua forma original ou com modificações, gratuitamente ou com custo. Em particular, isso significa que o código fonte deve estar disponível. • Software livre se refere à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. Mais precisamente, ele se refere a quatro tipos de liberdade, definidas pela Free Software Foundation, para os usuários do software: (Liberdade nº 0) A liberdade de executar o programa, para qualquer propósito. (Liberdade nº 1) A liberdade de estudar como o programa funciona, e adaptá- lo para as suas necessidades. O acesso ao código fonte é um pré-requisito para esta liberdade. (Liberdade nº 2) A liberdade de redistribuircópias de modo que você possa ajudar ao seu próximo. (Liberdade nº 3) A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. O acesso ao código-fonte é um pré-requisito para esta liberdade Obs.: � É importante não confundir software livre com software grátis! A liberdade associada ao software livre de copiar, modificar e redistribuir independe de gratuidade. Existem programas que podem ser obtidos gratuitamente, mas que não podem ser modifica- dos, nem redistribuídos. Exemplos de licença para Software Livre: O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 16 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA • GNU GPL (GNU General Public License) , ou simplesmente GPL, é a designação da licen- ça para software livre idealizada no final da década de 80, no âmbito do projeto GNU da Free Software Foundation (FSF). A GPL é a licença com maior utilização por parte de projetos de software livre, em grande parte devido à sua adoção para o Linux. Em termos gerais, a GPL foi criada para preservar as 4 liberdades inerentes ao Software Livre; • APACHE (ASF – Apache Software Foundation) exige a inclusão do aviso de copyright e disclaimer (aviso legal ou termo de responsabilidade encontrado comumente em men- sagens eletrônicas e páginas da internet, informando os direitos do leitor e as responsa- bilidades assumidas ou não pelo autor). • Software de Domínio Público: é software não protegido por copyright (direitos de cópia) . • Software Protegido com Copyleft: trata-se de um software livre cujos termos de distri- buição não permitem que distribuidores incluam restrições adicionais quando eles re- distribuem ou modificam o software. Isso significa que toda cópia do software, mesmo que tenha sido modificada, precisa ser software livre. • A principal função do copyleft não é colocar proibições, esta regra não entra em conflito com as liberdades; na verdade, ela as protege (garante as liberdades nativas do software livre!). • Para proteger um software com copyleft, utilizam-se licenças de copyleft. Um exemplo de licença com essa característica é a GPL (GNU General Public License) , que é a licença utilizada pelo Linux, por exemplo. • Software Livre Não Protegido por Copyleft: vem do autor com permissão para redistri- buir e modificar, e também para incluir restrições adicionais a ele. • Software Semi-livre: é aquele que não é livre, mas vem com permissão para indivíduos usarem, copiarem, distribuírem e modificarem para fins não lucrativos. • Software Proprietário: é aquele que não é livre ou semi-livre. Seu uso, redistribuição ou modificação é proibido, ou requer que você peça permissão, ou é restrito de tal forma que você não possa efetivamente fazê-lo livremente. • Freeware: programas que permitem redistribuição, mas não modificação (seu código fonte não está disponível)! Alguns programas trazem banners publicitários que cobrem os custos do desenvolvimento do software, outros são gratuitos apenas para pessoas físicas ou uso não comercial. É o popular “software gratuito”, e muitas vezes são utilizados como estratégia de marke- ting (o desenvolvedor oferece uma versão gratuita e outra paga, a qual apresenta mais recur- sos que a gratuita) . Alguns programas trazem banners publicitários que cobrem os custos do desenvolvimento do software, outros são gratuitos apenas para pessoas físicas ou uso não comercial. Nesse tipo de software, apenas os executáveis estão disponibilizados, e não seu código- -fonte. Como exemplo, imagine que a Coca-Cola irá oferecer gratuitamente seu refrigerante O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 17 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA aos consumidores, mas mesmo assim ninguém saberá como ela é feita. Isso porque a em- presa não liberaria a fórmula do produto. Nesse exemplo, a fórmula da Coca-Cola seria o código-fonte. DICA! Muita atenção Observe que não é considerado como software livre, portanto não é correto utilizar o termo freeware para referir-se a softwa- re livre. • Shareware: são distribuídos gratuitamente, mas com algum tipo de limitação (restrições de tempo de uso ou de limitação de recursos), para serem testados pelos usuários. Se o usuário decidir continuar a usar o software deverá efetuar o pagamento da licença, para liberação de todas as suas funcionalidades. É uma “amostra grátis” para despertar o “desejo” pelo programa e incentivar a compra da versão comercial completa. A ideia é justamente mostrar ao usuário como o software trabalha, para que o mesmo adquira a versão completa (mediante pagamento), caso haja interesse. Baseadas nas limita- ções, podemos encontrar duas sub-categorias principais (FAURI, 2009): • Trial: os programas oferecem todos os seus recursos, mas por um tempo limitado (ge- ralmente de 15 a 30 dias); • Demo: alguns recursos estão completos, sendo necessário pagar para usufruir dos res- tantes. Os jogos geralmente são divulgados sob essa licença. • Software Comercial: desenvolvido visando à obtenção de renda por meio do uso do software. Obs.: � Comercial e proprietário não são termos equivalentes! A maior parte dos softwares comerciais é proprietária, mas existem softwares livres comerciais, por exemplo. tipos de sistemAs de informAção em AmBiente empresAriAl Existem muitos tipos de sistemas de informação no mundo real. Todos eles utilizam recur- sos de hardware, software, rede e pessoas para transformar os recursos de dados em produtos de informação. A seguir, listamos as principais classificações. • Sistema de Processamento de Transações (SPT) − Sistema administrativo básico que atende ao nível operacional. − Registra as transações rotineiras necessárias ao funcionamento da empresa. − Comumente encontrado em todas as empresas automatizadas. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br http://www.dinx.com.br/2009/08/diferencie-as-licencas-de-softwares-existentes-freeware-shareware-open-source/ http://www.dinx.com.br/2009/08/diferencie-as-licencas-de-softwares-existentes-freeware-shareware-open-source/ 18 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA − Objetivo principal: processar dados, isto é, fazer cálculos, armazenar e recuperar da- dos (consultas simples), ordenar e apresentar de forma simples para os usuários. Exemplos: • Sistemas de cadastro em geral (inclusão, exclusão, alteração e consulta) , como de clien- tes, produtos, fornecedores etc. • Sistemas de Contabilidade Geral (contas a pagar e a receber, balanços, fluxo de caixa etc.); • Sistema de folha de pagamento, controle de estoque (PDV); • Sistemas Financeiros (controle saldo, aplicações etc.). • Sistema de Informação Gerencial (SIG) − Fornece aos usuários finais administrativos produtos de informação que apoiam grande parte de suas necessidades de tomada de decisão do dia a dia. Os SIGs for- necem uma diversidade de informações pré-especificadas (relatórios) e exibições em vídeo para a administração que podem ser utilizadas para ajudá-los a tomar tipos estruturados maiseficazes de decisões diárias. − Foco: produzir relatórios gerenciais (pagamento a fornecedores, desempenho de ven- das, níveis de estoque e outros) com vistas à eficiência operacional (“Fazer as coisas direito”). Exemplo de relatório de um SIG − Focalizam a informação, disponibilizada aos usuários por meio de relatórios ou con- sultas, que normalmente utilizam banco de dados. − Possibilitam a comparação de resultados para estabelecer as metas da companhia. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 19 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA − Permitem a identificação de áreas com problemas e oportunidades de aprimoramen- to. − Os produtos de informação fornecidos aos gerentes incluem exibições em vídeo e relatórios que podem ser providos: por solicitação; periodicamente, de acordo com uma tabela pré-determinada e/ou sempre que houver a ocorrência de condições ex- cepcionais. Gerente Estação de trabalho da administração Programas de Aplicação SGBDs Banco de Dados empresariais − Subsistemas de Informações Gerenciais: ◦ SIG Financeiro; SIG Industrial; ◦ SIG de Marketing; SIG de Recursos Humanos; ◦ SIG Contábil etc. Exemplo de interação entre SPT e SIG • SAD - Sistema de Apoio à Decisão (em inglês: DSS - Decision Support System) − Fornece aos gerentes apoio interativo de informações durante o processo de tomada de decisão. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 20 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA − Concentra-se em fornecer informações de forma interativa para apoiar tipos especí- ficos (não usuais) de decisões por parte de cada gerente. Oferece suporte à tomada de decisão de problemas específicos, que se alteram com rapi- dez e que não são facilmente especificados com antecedência. Exemplos: • Sistema de Apoio à Decisão para Diagnósticos Médicos. • Outros exemplos incluem uma financiadora que verifica o crédito de um solicitador de crédito ou de uma firma de engenharia que tem um grande projeto e quer saber se podem ser competitivos com os atuais custos. − Embora os SADs usem informações internas obtidas do SPT (Sistema de Processa- mento de Transações) e do SIG (Sistema de Informação Gerencial), frequentemente recorrem a informações de fontes externas, tais como o valor corrente das ações ou os preços dos produtos dos concorrentes. • Sistemas de Apoio ao Executivo (SAe) − São sistemas de informação para executivos (nível estratégico). − Possibilitam que os executivos da alta administração interajam diretamente com o sistema para obter informações que atendam às suas necessidades específicas. − Fazem uso intensivo de dados do meio ambiente interno e externo da empresa, con- templando acesso a serviços de banco de dados no mercado financeiro e empresarial disponíveis. Ex.: Vendas do concorrente, capacidade de produção de outras empresas etc. Resumindo, veja a relação entre Sistemas de Informações e o Apoio a Atividades Orga- nizacionais. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 21 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Outras Classificações relacionadas a Sistemas de Informações: • Sistemas de Informação Integrados ou Interfuncionais • Os Sistemas de Informações no mundo real são normalmente combinações integradas de vários tipos de sistemas de informação. Sistemas de apoio ao executivo (SAEs) Sistemas gerenciamento (SIGs) Sistemas de apoio à decisão (SADs) Sistemas de trabalhadores do conhecimento (STCs e SAEs) Sistemas de processamento de transações (SPTs) O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 22 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA • Deve-se ressaltar que cada um dos diferentes sistemas pode ter componentes que são usados por níveis e grupos organizacionais que não fazem parte do grupo principal a que foram designados. Uma secretária pode encontrar uma informação em um SIG ou um gerente médio pode precisar extrair dados de um SPT. • Business Intelligence: sistemas e processos integrados para transformar os dados cole- tados em grandes quantidades em informações mais fáceis de ler pelo nível estratégico da empresa, gerando mais praticidade no estabelecimento de planos de negócios para a instituição. • Sistema Integrado de Gestão, também conhecido como Sistema de Gestão Integrada ou ERP (Enterprise Resource Planning): é um sistema de informação com módulos in- tegrados que dão suporte a diversas áreas operacionais, tais como vendas/marketing, manufatura/ produção, finanças, contabilidade e recursos humanos. − Os sistemas integrados podem reunir todos os principais processos de negócios de uma empresa em um único software de sistema que permite que a informação flua sem descontinuidade pela organização. − Esses sistemas podem incluir transações com clientes e fornecedores. Processos de negócios Processos de negócios Processos de negócios Processos que abrangem toda a empresa Recursos humanos Vendas e marketing Finanças Fabricação Contabilidade Sistema empresa Fornecedores Clientes Fr on te ira s or ga ni za ci on ai s Fr on te ira s or ga ni za ci on ai s SEM um ERP implantado na empresa, a informação é processada INDIVIDUALMENTE em cada área da empresa, gerando assim retrabalho, erros, alto custo, redução dos lucros e perda de produtividade da empresa. • E-business: negociação feita pela Internet que não envolve necessariamente uma tran- sação comercial. É a união entre estratégias de negócio e tecnologia via Web. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 23 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA • E-business refere-se a uma definição mais ampla de Comércio Eletrônico, envolvendo não apenas a compra e venda de bens e serviços, mas também o atendimento a clien- tes, colaboração com parceiros empresariais, realização de e-learning e transações ele- trônicas dentro de uma organização (TURBAN, JR e POTTER, 2005). Negócios Eletrônicos englobam Comércio Eletrônico Ambiente de Negócios Eletrônicos G2G B2C C2B Fonte: O Livro Verde. Sociedade da Informação no Brasil B2G G2B C2G G2C B2B C2C Governo Empresa Empresa Governo Consumidor Consumidor • E-commerce (Comércio Eletrônico): consiste na realização de negócios por meio da In- ternet, incluindo a venda de produtos e serviços físicos, entregues off-line, e de produtos que podem ser digitalizados e entregues on-line, nos segmentos de mercadoconsumi- dor, empresarial e governamental. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 24 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Segundo Laudon e Laudon (2007) “existem diferentes maneiras de classificar as transações de comércio eletrônico”, na qual estão envolvidas 3 partes: governo, empresa e consumidor. A seguir, exemplificamos algumas relações entre esses agentes: • Business to Consumer (B2c) - Comércio Eletrônico Empresa-Consumidor: é a forma mais comum de comércio que envolve a empresa vendendo seus produtos e serviços e o consumidor querendo adquiri-los. Figura. Site das Lojas Americanas como exemplo de B2C • Business to Business (B2b) - Comércio Eletrônico Empresa-Empresa − Esse tipo de comércio eletrônico é realizado entre empresas que vendem ou com- pram produtos ou serviços pela Web. − Por muitos anos, as empresas usaram sistemas proprietários para o e-commerce em- presa-empresa (B2b) . Agora elas estão recorrendo à tecnologia de Web e Internet. Eliminando processos em papel ineficientes para encontrar os produtos e serviços a preços mais baixos, os sites Web empresa-empresa podem proporcionar aos par- ticipantes economias que podem variar entre 5 e 45 por cento (LAUDON e LAUDON, 2007). O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 25 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA • Consumer to Consumer (C2c) - Comércio Eletrônico Consumidor-Consumidor: é uma referência ao comércio eletrônico que se desenvolve entre usuários pessoas físicas da Internet. Atualmente considera-se a “terceira onda” do comércio eletrônico. Figura. Site do Mercado Livre como exemplo de C2C • Government to Consumer (G2c) e Consumer to Government (C2G): transações envol- vendo governo e consumidores finais. Referente àquelas iniciativas no campo do gover- no eletrônico, voltadas para o provimento de informações e serviços aos cidadãos, bem como de interação direta entre o cidadão e o governo e inclusão digital, considerando tanto meios virtuais e/ou físicos. Exemplos: pagamento de impostos, serviços de comu- nicação. • Business to Government (B2G): transações envolvendo empresas e governo e Govern- ment-to-business (G2b) : transações envolvendo governo e empresas. Referente àque- las iniciativas no campo do governo eletrônico, voltadas para o provimento de informa- ções e serviços às empresas. Exemplos: as compras pelo Estado por meio da internet por meio de pregões e licitações, tomada de preços etc. (Torres, 2004, p. 48). Os exem- plos comuns de B2G são licitações e compras de fornecedores. • Government to Government (G2G): transações entre governo e governo. Operações inter- nas e relações intergovernamentais. • M-commerce (Comércio Móvel): apresenta duas características que o diferencia do e-commerce: mobilidade (os usuários podem carregar os aparelhos móveis para onde quer que vão) e alcance amplo (que permite que as pessoas possam ser alcançadas a qualquer hora) (TURBAN e KING, 2004, p. 270). O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 26 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA AplicAções e AplicAtivos em dispositivos móveis • A sigla “app” é uma abreviatura do termo “aplicação de software”. • Aplicação móvel ou aplicativo móvel, também conhecida como app, é um software de- senvolvido para ser instalado em um dispositivo eletrônico móvel, como um PDA, telefo- ne celular, smartphone ou um leitor de MP3. • Esta aplicação pode ser instalada no dispositivo, ou se o aparelho permitir, descarrega- da pelo usuário por meio de uma loja on-line, tais como Google Play, App Store ou Win- dows Phone Store. • Uma parte das aplicações disponíveis são gratuitas, enquanto outras são pagas. • Algumas aplicações são exclusivamente gratuitas ou têm versões gratuitas, enquanto outras são comercializadas a valores relativamente e de forma geral acessíveis. • A mesma aplicação pode custar um valor diferente dependendo do dispositivo para o qual é descarregada, isto é, a mesma aplicação pode ter um custo diferente para iOS, para Android ou outro sistema operacional. • Geralmente, são descarregadas (é feito o download) da plataforma para um dispositivo de destino, como um iPhone, smartphones com sistema operacional Android, Windows Phone, para tablets e computadores portáteis (laptop computer) ou desktop computer. • As apps tem o propósito de facilitar o dia-a-dia de seu usuário, fornecendo-lhe as mais diversas funcionalidades com infinitas possibilidades. • As apps podem ser utilizadas em qualquer dispositivo móvel podendo, ou não, ter a funcionalidade da geolocalização de forma a tornar a App mais relevante para ser utili- zada no local e no momento em que é utilizada. O exemplo dos mapas é o clássico, mas também pode servir para obter vales de descontos de lojas nas proximidades ou para sugerir pontos de interesse para o usuário. • O desenvolvimento de aplicações para dispositivos móveis, envolve processos mais ou menos complicados, a complexidade dos processos é reflexo da experiência do criador e proporcional à estrutura e configurações do software a ser produzido, ao número de dispositivos distintos em que estas vão operar, às especificações do hardware e às pla- taformas que as vão disponibilizar. • Para desenvolver aplicações para dispositivos móveis é preciso dominar uma das lin- guagens de programação. − Atualmente, a linguagem Java é pioneira em aplicativos voltados para o sistema ope- racional Android. − A linguagem Swift foi criada especialmente para desenvolver aplicativos para iOS, plataforma da Apple. Além de Java e Swift, é possível desenvolver aplicações com Python, C, C# etc. • Podemos definir 3 tipos de aplicativos, são eles: O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 27 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA − Aplicativos nativos: desenvolvidos exclusivamente para uma plataforma específi- ca, como o iOS ou o Android. O WhatsApp, o Facebook e o Uber são exemplos de aplicativos nativos. São aplicativos recomendados, e geralmente possuem melhor desempenho. ◦ Nesse contexto, uma aplicação criada para a plataforma Android não funcionará no iOS. ◦ Nos aplicativos nativos é possível utilizar os recursos existentes no smartphone, como câmera, GPS etc. − Web Apps: não é um aplicativo real. Os web Apps são executados pelo navegador e, uma vez que o programa reconhece que o usuário esteja acessando o site por meio de um Smartphone, se adapta a ele. ◦ Não estão disponíveis para instalação nas Apps Stores. São desenvolvidos utili- zando HTML5, CSS e Javascript. − Aplicativos híbridos: é uma junção de um aplicativo nativo e um Web App, gerando assim uma aplicação multiplataforma. Estão disponíveis nas Apps Stores. Netflixé um exemplo de aplicativo híbrido. São desenvolvidos na linguagem HTML5, CSS e Javascript. • Distribuição: − A App Store, loja de aplicações para a plataforma iOS, foi a primeira distribuidora e definiu o padrão para os vários serviços de distribuição das aplicações. − A Google Play é uma loja de software online internacional desenvolvida pela Google para dispositivos Android. − A Amazon App store opera como um distribuidor alternativo do sistema operacional Android. − A Windows Store foi introduzida pela Microsoft para as plataformas Windows 8 e Windows RT. • Existem algumas diferenciações importantes dentro do universo dos aplicativos móveis, as mais comuns são: − Aplicativos públicos: liberados em suas respectivas lojas, seja ela Apple Store para iOS e/ou Google Play para Android. − Aplicativos privados (ou corporativos): desenvolvidos especificamente para empre- sas, não sendo liberados em lojas de aplicativos convencionais. − Aplicativos nativos: desenvolvidos especificamente para uma plataforma SO móvel. Fornecem uma aparência consistente e oferecem mais segurança, no entanto, demo- ram mais para se desenvolver e precisam ser desenvolvidos para cada plataforma. Desta forma, costumam ser mais custosos para uma empresa ou pessoa física. − Aplicativos híbridos: aplicativos web desenvolvidos em HTML5 e JavaScript. São ba- sicamente sites que se comportam como aplicativos (utilizando design e funcionali- dades parecidas com apps). O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 28 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Exemplos de aplicativos: WhatsApp O aplicativo é referência no compartilhamento de notícias e também serve como comuni- cação entre empresas e clientes, facilitando e agilizando para ambos. Nubank É a nova operadora de cartões de crédito e possui muitos diferenciais em comparação com as demais operadoras de cartões, a começar pela ausência de uma agência física. Abso- lutamente tudo é feito online e com a rapidez que a internet proporciona, por meio de um app disponível para Android e iOS. O cartão Nubank, surpreendentemente, não cobra anuidade e nenhuma outra taxa. Isso é possível graças ao modelo de negócio 100% digital, que permite a eles cortar custos com agências e estruturas caras, além da papelada, já que a burocracia é menor. Uber O Uber chegou ao Brasil há pouco tempo mudou a forma de transporte convencional, mas a empresa existe desde 2009, com o aplicativo sendo lançado no ano seguinte. Faz parte da categoria de carona paga, em que os usuários solicitam o serviço por meio de smartphones. O sistema oferece transporte de qualidade, com preço justo e reduzindo o tempo de espera. Ele conta com a tecnologia de localização, de modo que o passageiro pode verificar o percurso. O pagamento também é facilitado, sendo realizado automaticamente por cartão de crédito — ou por dinheiro, dando mais opções aos clientes. Spotify O Spotify é o aplicativo responsável por revolucionar o modo de ouvir músicas. Conta com as opções livre ou paga — a segunda opção, com 20 milhões de usuários. É considerado o maior acervo de músicas do mundo. iFood O mercado gastronômico também ganhou o reforço de aplicativos, sendo que o iFood é o de maior destaque entre eles. O sistema permite que o usuário verifique cardápios on-line e faça pedidos, sendo que a comida é entregue no endereço indicado. AirBnb O AirBnb revolucionou a rede de hotelaria, ao aliar a tecnologia ao ramo. Sendo a maior rede hoteleira sem possuir nenhum hotel ou quarto, o Airbnb contribuiu para a mudança orga- nizacional vista por meio dos aplicativos. fAses e etApAs de sistemA de informAção • O ciclo de vida de um software, entre outras características, está relacionado aos está- gios de concepção, projeto, criação e implementação (CESPE/Unb-2013). • Nesse contexto, Sommerville destaca as quatro atividades fundamentais do processo de software, comuns a todos eles, que são: O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br https://pt.wikipedia.org/wiki/WhatsApp https://pt.wikipedia.org/wiki/Nubank https://pt.wikipedia.org/wiki/Uber https://pt.wikipedia.org/wiki/Spotify https://pt.wikipedia.org/wiki/IFood https://pt.wikipedia.org/wiki/Airbnb 29 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Especificação de Software São definidas as funcionalidades do software e restrições para sua operação. Projeto e Implementação de Software O software que atenda à especificação deve ser produzido. Validação de Software O software deve ser avaliado para garantir que ele faça o que o cliente deseja. Evolução do Software O software evolui para atender às necessidades de mudança do cliente. • Segundo o autor, essas atividades são organizadas de modo diferente nos diversos pro- cessos de desenvolvimento. Como exemplo, no modelo em cascata são organizadas em sequência, ao passo que, no desenvolvimento evolucionário, elas são intercaladas. Como essas atividades serão organizadas dependerá do tipo de software, pessoas e estruturas organizacionais envolvidas. • As atividades metodológicas são complementadas pelas atividades de apoio, como: controle e acompanhamento do projeto, administração de riscos, garantia da qualidade, gerenciamento da configuração de software, dentre outras. Deve-se notar ainda um aspecto do processo de software importante nesse contexto, cha- mado fluxo de processo, destacado a seguir. Fluxo de Processo O fluxo de processo descreve como são organizadas as atividades metodológicas, bem como as ações e tarefas que ocorrem dentro de cada atividade em relação à sequência e ao tempo. 1) Fluxo de Processo Linear Executa cada uma das cinco atividades metodológicas em sequência, começando com a de comunicação e terminando com a entrega (ou emprego, ou implantação). Figura. Fluxo de Processo Linear. Fonte: Pressman (2011) 2) Fluxo de Processo Iterativo Repete uma ou mais das atividades antes de prosseguir para a seguinte, conforme listado na próxima figura. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 30 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Figura. Fluxo de Processo Iterativo. Fonte: Pressman (2011) 3) Fluxo de Processo Evolucionário Executa as atividades de forma “circular”. Cada volta pelas cinco atividades conduz a uma versão mais completa do software. Figura. Fluxo de Processo Evolucionário. Fonte: Pressman (2011) 4) Fluxo de Processo Paralelo Executa uma ou mais atividades em paralelo com outras atividades (como por exemplo a modelagem para um aspecto do software poderia ser executada em paralelo com a constru- ção de um outro aspecto do software) . Figura. Fluxo de Processo Paralelo. Fonte: Pressman (2011) O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 31 de 78www.grancursosonline.com.brFundamentos de Computação - Parte II INFORMÁTICA processo de softwAre É um conjunto de atividades, cuja meta é o desenvolvimento ou a evolução do software. No processo de software define-se um pequeno número de atividades de arcabouço apli- cáveis ao desenvolvimento de qualquer software, independente do seu tamanho e complexida- de. A seguir, apresentamos diferentes modelos prescritivos de processo de software. Todos os modelos de processo de software, segundo Pressman (2011) podem acomodar as atividades metodológicas genéricas, aqui apresentadas, porém, cada um deles dá uma ên- fase diferente a essas atividades e define um fluxo de processo que invoca cada atividade metodológica de forma diversa. Há vários processos de desenvolvimento propostos. Bezerra (2007) destaca que é um consenso na comunidade de desenvolvimento de software o fato de que não existe o melhor processo de desenvolvimento, aquele que melhor se aplica a todas as situações de desenvol- vimento. Segundo o autor, cada processo tem suas particularidades em relação ao modo de arranjar e encadear as atividades de desenvolvimento. Vamos ao estudo dos principais, importantes para a prova. modelo em cAscAtA Também chamado de clássico, ou linear, é o mais tradicional processo de desenvolvimen- to de software. Esse modelo sugere uma abordagem sequencial e sistemática para o desenvolvimento de software, aplicando as atividades de maneira linear. Em cada fase desenvolvem-se artefatos (produtos de software) que servem de base para as fases seguintes. Segundo proposta de Eduardo Bezerra, o modelo do ciclo de vida clássico da engenharia de software é dividido em seis atividades. São elas: O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 32 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA O modelo em Cascata possui como vantagem principal a simplicidade para a sua aplica- ção e gerência. No entanto, algumas desvantagens podem ser observadas: • projetos reais raramente seguem este fluxo sequencial; • dificuldade do cliente em declarar todas as suas necessidades no início do projeto; • demora em apresentar resultados ao cliente. modelo incrementAl Esse modelo foi proposto como uma alternativa ao modelo em cascata, aplicando-o itera- tivamente, tendo como objetivo a elaboração de um produto operacional a cada incremento. Os primeiros incrementos são versões simplificadas do produto final, mas oferecem capacida- des que servem ao usuário, além de servir como uma plataforma de avaliação. Em cada iteração uma parte é concebida como a menor unidade que pode ser implemen- tada e ainda assim fornecer alguma funcionalidade útil para os usuários. Na figura seguinte, o modelo incremental aplica sequências lineares, de forma escalonada, à medida que o tempo vai avançando. Cada sequência linear gera “incrementais” (entregá- veis) do software. Figura. Modelo Incremental. Fonte: Pressman (2011) Este modelo possui como vantagem o fato de apresentar constantemente novas versões aos usuários. Pode ser aplicado também quando não houver mão de obra disponível para uma implementação completa, ou quando for necessário gerenciar riscos técnicos. A figura seguinte é bem mais interessante para ilustrar a diferença entre incremental e iterativo! O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 33 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Conforme destaca Pleeger (2004), para entender as diferenças entre o desenvolvimento in- cremental e iterativo, pense em um pacote de processamento de textos. Suponha que o pacote deva oferecer três tipos de recursos: criar textos, organizar textos (ou seja, recortar e colar) e formatar textos (como utilizar diferentes tamanhos e estilos de letras e números). Para construir esse sistema utilizando o desenvolvimento incremental, poderíamos forne- cer, na Versão 1, somente a função de criação de textos. Na Versão 2, poderíamos fornecer as funções de criação e organização de textos. Finalmente, na Versão 3, ofereceríamos as três funções. De outra maneira, utilizando o desenvolvimento iterativo, forneceríamos formas primi- tivas das três funções logo na Versão 1. Por exemplo, podemos criar textos e, então, recortar e colar partes deles, mas as funções de recortar e colar podem ser ainda imperfeitas e lentas. Assim, na Versão 2, vamos dispor da mesma funcionalidade, porém teremos aprimorado a qualidade; agora as funções de recortar e colar são simples e rápidas. Cada versão aprimora a anterior de algum modo. prototipAção (chAmAdA tAmBém como prototipAgem) O paradigma de prototipagem começa com a definição dos requisitos. Um projeto rápido é realizado e concentra-se na representação daqueles aspectos que ficarão visíveis pelo cliente. O protótipo é criado e avaliado e é ajustado para satisfazer as necessidades do cliente. Idealmente, o protótipo serve como um mecanismo para identificação dos requisitos do software. A prototipagem pode ser problemática, pois o cliente vê o que parece ser uma versão executável do software, ignorando que o protótipo apenas consegue funcionar precariamente Processo de desenvolvimento de protótipo O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 34 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Nesse contexto: • o cliente não possui uma visão clara de todos os requisitos da aplicação; • o cliente quer avaliar a viabilidade de desenvolvimento da aplicação; • o cliente alocará um usuário-chave no projeto, em tempo integral, a fim de que este pos- sa participar ativamente de todas as fases do projeto; • o cliente gostaria de ter uma versão preliminar do sistema, com base em uma versão inicial dos requisitos, ainda que isto demande um investimento inicial. Em algumas situações, o cliente consegue definir apenas um conjunto de objetivos gerais do software, não identificando claramente seus requisitos. Em uma situação dessas, a Prototi- pação (Prototipagem) pode ser empregada em conjunto com outros modelos para auxiliar no entendimento do sistema. Os objetivos do software são estabelecidos na comunicação com o cliente. A partir daí, um protótipo descartável é elaborado com o intuito de facilitar a compreensão do sistema por parte dos usuários. Apesar da prototipagem poder ser aplicada como um modelo, em geral ela é mais utiliza- da como uma técnica para entendimento do sistema. A próxima figura apresenta o esquema deste modelo. Figura. O Paradigma da Prototipação. Fonte: Pressman (2011) O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 35 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Vantagens da prototipagem: • maior participação e comprometimento dos clientes e usuários; e • os resultados são apresentados mais rapidamente. Críticas: • forte dependência das linguagens e ambientesutilizados, bem como da experiência da equipe; • o cliente tende a considerar o protótipo como versão final, podendo comprometer a qualidade do projeto; e • o desenvolvedor tende a fazer concessões na implementação, a fim de colocar um pro- tótipo em funcionamento rapidamente. Estas concessões podem se tornar parte inte- grante do sistema. Veja os tipos de prototipação no processo de software: • Prototipação Evolucionária Uma abordagem para o desenvolvimento do sistema em que um protótipo inicial é produ- zido e refinado por meio de vários estágios até atingir o sistema final. O objetivo da prototipação evolucionária é fornecer aos usuários finais um sistema funcio- nando. O desenvolvimento começa com aqueles requisitos que são melhores compreendidos. • Prototipação Descartável Um protótipo o qual é usualmente uma implementação prática do sistema é produzido para ajudar a levantar os problemas com os requisitos e depois descartado. O sistema é então desenvolvido usando algum outro processo de desenvolvimento. O objetivo da prototipação descartável é validar ou derivar os requisitos do sistema. O processo de prototipação começa com aqueles requisitos que não são bem compreendidos. 002. (CESPE/2009/TCE-RN) A prototipação, uma abordagem para desenvolvimento de sof- tware na qual se cria um modelo do software que será implementado, é composta de quatro etapas: planejamento, análise de risco, engenharia e avaliação do cliente. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 36 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Na Prototipação Evolucionária, o protótipo evolui até se transformar no próprio produto entre- gue ao cliente, enquanto na Prototipação Descartável o protótipo é utilizado para esclarecer requisitos e avaliar riscos, sendo descartado ao final do processo. Veja na figura seguinte as etapas principais do Modelo de Prototipação. Figura. Modelo de Prototipação Errado. modelo espirAl No modelo Espiral, assume-se que o processo de desenvolvimento ocorre em ciclos, cada um contendo fases de avaliação e planejamento em que a opção de abordagem para a próxi- ma fase (ou ciclo) é determinada. Neste modelo acrescenta-se a Análise dos Riscos ao ciclo de vida para auxiliar as deci- sões a respeito da próxima iteração. A figura seguinte apresenta o esquema desse modelo. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 37 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Figura. O Modelo Espiral Típico. Fonte: Pressman (2011) No modelo de processo de desenvolvimento em espiral, cada loop na espiral representa uma fase do processo de software. Este modelo exige a consideração direta dos riscos téc- nicos em todos os estágios do projeto e, se aplicado adequadamente, deve reduzir os riscos antes que eles se tornem problemáticos. Apesar desse modelo reunir as melhores características dos outros, algumas críticas po- dem ser feitas: • exige gerentes e técnicos experientes; • uma vez que o modelo em espiral pode levar ao desenvolvimento em paralelo de múlti- plas partes do projeto, as tarefas gerenciais para acompanhamento e controle do proje- to são mais complexas; • é necessário o uso de técnicas específicas para estimar e sincronizar cronogramas, bem como para determinar os indicadores de custo e progresso mais adequados. rAd (rApid ApplicAtion development – desenvolvimento rápido de AplicAção) Trata-se de um modelo de processo de software incremental que enfatiza um ciclo de de- senvolvimento curto. É uma adaptação “de alta velocidade” do modelo em cascata, no qual o desenvolvimento rápido é conseguido com o uso de uma abordagem de construção baseada em componentes. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 38 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Desvantagens: projetos grandes precisam de muitas equipes; exige comprometimento dos clientes e desenvolvedores; sistemas não modularizados são problemáticos; não é adequado para projetos com grandes riscos técnicos. rup (rAtionAl unified process) O Rational Unified Process (RUP) é um exemplo de modelo de processo de desenvolvimen- to baseado no Unified Process (Processo Unificado) desenvolvido pela Rational. O RUP oferece uma abordagem baseada em disciplinas para atribuir tarefas e responsa- bilidades dentro de uma organização de desenvolvimento. Sua meta é garantir a produção de software de alta qualidade que atenda às necessidades dos usuários dentro de um cronogra- ma e de um orçamento previsíveis. O Rational Unified Process é um processo de desenvolvimento iterativo e incremental, no qual o software não é implementado em um instante no fim do projeto, mas é, ao contrário, de- senvolvido e implementado em partes. A cada iteração deste processo utiliza-se quatro fases, a saber: Concepção, Elaboração, Construção e Transição. Os projetos variam de acordo com o volume de formalidade que eles têm. Projetos de muita formalidade têm muitos documentos formais a serem entregues, reuniões formais, en- cerramentos formais. Projetos de pouca formalidade podem ter uma fase de concepção que consiste de um bate-papo de uma hora com o patrocinador do projeto e um plano que cabe em uma folha de papel. Naturalmente quanto maior o projeto, mais formalidade precisa. O funda- mental de cada fase ainda acontece, mas de formas bem diferentes. Após a fase de Transição de uma iteração completa, o produto pode voltar a percorrer cada uma das fases para se produzir uma nova versão do produto. O conteúdo deste livro eletrônico é licenciado para ARIANE SAAVEDRA DA SILVA - 03540047190, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal. https://www.grancursosonline.com.br https://www.grancursosonline.com.br 39 de 78www.grancursosonline.com.br Fundamentos de Computação - Parte II INFORMÁTICA Cada uma das quatro fases do RUP é dividida em iterações, onde cada uma delas é um ciclo completo de desenvolvimento resultando em uma versão de um produto executável que constitui um subconjunto do produto final. Cada iteração é organizada em fluxos de trabalho (workflows) de processo, com uma ênfase diferente em cada fase. A figura ilustrada a seguir apresenta o relacionamento entre as fases e o esforço de desen- volvimento em cada fluxo de trabalho de processo. O RUP é composto por nove disciplinas e quatro fases! Figura. Fases e disciplinas do RUP. Fonte: (KRUCHTEN, 2003) visão gerAl soBre o processo de desenvolvimento de softwAre • Há vários processos de desenvolvimento propostos. • Bezerra (2007) destaca que é um consenso na comunidade de desenvolvimento de software o fato de que não existe o melhor processo de desenvolvimento, aquele que melhor se aplica a todas as situações de desenvolvimento. Cada processo tem suas particularidades em relação ao modo de arranjar e encadear as atividades de desenvol- vimento. Entretanto, podem-se distinguir atividades que, com uma ou outra modificação, são comuns à maioria dos processos existentes.
Compartilhar