Pesquisa para disciplina de banco de dados - UMC. Noções de rede de computadores Evolução de redes de computadores; Internet e Web; Construção de páginas para Web. Sistemas de software e noções de qualidade Conceito de qualidade de produtos e serviços; Conceitos de garantia de qualidade de software; Revisões de projeto; Normas de qualidade de software. Noções de rede de computadores Evolução de redes de computadores Redes de computadores são estruturas físicas (equipamentos) e lógicas (programas, protocolos) que permitem que dois ou mais computadores possam compartilhar suas informações entre si.Imagine um computador sozinho, sem estar conectado a nenhum outro computador: Esta máquina só terá acesso às suas informações (presentes em seu Disco Rígido) ou às informações que porventura venham a ele através de CDs ou Pen drives. Quando um computador está conectado a uma rede de computadores, ele pode ter acesso às informações que chegam a ele e às informações presentes nos outros computadores ligados a ele na mesmo rede, o que permite um número muito maior de informações possíveis para acesso através daquele computador. Classificação das redes quanto à extensão física As redes de computadores podem ser classificadas como: LAN (Rede Local): Uma rede que liga computadores próximos (normalmente em um mesmo prédio ou, no máximo, entre prédios próximos) e podem ser ligados por cabos apropriados (chamados cabos de rede). Ex: Redes de computadores das empresas em geral. WAN (Rede Extensa): Redes que se estendem além das proximidades físicas dos computadores. Como, por exemplo, redes ligadas por conexão telefônica, por satélite, ondas de rádio, etc. (Ex: A Internet, as redes dos bancos internacionais, como o CITYBANK). Equipamentos necessários para a conexão em rede Para conectar os computadores em uma rede, é necessário, além da estrutura física de conexão (como cabos, fios, antenas, linhas telefônicas, etc.), que cada computador possua o equipamento correto que o fará se conectar ao meio de transmissão. O equipamento que os computadores precisam possuir para se conectarem a uma rede local (LAN) é a Placa de Rede, cujas velocidades padrão são 10Mbps e 100Mbps (Megabits por segundo). Ainda nas redes locais, muitas vezes há a necessidade do uso de um equipamento chamado HUB (lê-se “Râbi”), que na verdade é um ponto de convergência dos cabos provenientes dos computadores e que permitem que estes possam estar conectados. O Hub não é um computador, é apenas uma pequena caixinha onde todos os cabos de rede, provenientes dos computadores, serão encaixados para que a conexão física aconteça. Quando a rede é maior e não se restringe apenas a um prédio, ou seja, quando não se trata apenas de uma LAN, são usados outros equipamentos diferentes, como Switches e Roteadores, que funcionam de forma semelhante a um HUB, ou seja, com a função de fazer convergir às conexões físicas, mas com algumas características técnicas (como velocidade e quantidade de conexões simultâneas) diferentes dos primos mais “fraquinhos” (HUBS). Integrações de Serviços Na década de 90, com o surgimento das redes corporativas baseadas em sistemas abertos, tornou-se possível a interligação das diversas tecnologias de redes de computadores e a integração das mesmas com os mainframes e minicomputadores. A padronização proposta pelas redes corporativas permitiu que os diversos computadores se comunicassem independentemente das suas arquiteturas de hardware e software. As redes corporativas motivaram uma reengenharia das aplicações, que começaram a fazer uso dos recursos de distribuição de dados e de processamento. Este aumento de demanda de tráfego inter-redes estimulou o desenvolvimento de novas tecnologias de telecomunicação como o Frame-Relay, ISDN ou RDSI (Rede Digital de Serviços Integrados), ATM (Asynchronous Transfer Mode), VPNs (Virtual Private Network), etc... O tráfego local também cresceu, levando ao desenvolvimento de tecnologias de redes locais de alta velocidade como o Fast-Ethernet, o Gigabit Ethernet (1000BASE-LX), o ATM em rede local (LATM) e mais recentemente o 10 Gigabit Ethernet. Ainda nos anos 90, a primeira década do século XXI pôde-se assistir as mudanças estruturais nas redes, onde a Telefonia compartilha a mesma rede com a Comutação de Dados a alta velocidade e, integrou serviços tradicionais ou prestados por redes segregadas, como por exemplo:Voz sobre IP,Videoconferência,TV interativa,Ensino à Distância,Realidade Virtual,etc. Internet A Internet (com I maiúsculo) é um imenso sistema de redes gateways e de computadores permanentemente interligados entre si a nível mundial e que funcionam como emissores e receptores de informação, utilizando para isso um conjunto de protocolos de comunicação denominados TCP/IP. A Internet permite interligar sistemas informáticos de todo o mundo, possibilitando a comunicação e a troca de informação de uma forma fácil e rápida. Os meios para efetuar essas ligações são diversos, e incluem rádio, linhas telefônicas, linhas digitais, satélite, ISDN, fibra-óptica, etc. No centro da Internet existe um backbone de linhas de comunicação de dados entre nós principais ou computadores host, composto por milhares de sistemas de computadores um ou mais desses nós da Internet ou sistemas de computadores podem parar de funcionar sem que isso impeça a Internet de funcionar como um todo, porque ela não é controlada por nenhum computador ou rede individual. Serviços disponíveis na Internet Os serviços disponíveis na Internet são diversos e vão desde a World Wide Web (WWW) ao Email ou correio eletrônico, passando pelo FTP - File Transfer Protocol, IRC - Internet Relay Chat, Newsgroups ou grupos de discussão, Gopher, telnet e ICQ. Web Chama-se “Web” (nome inglês que significa “tela”), contração de “World Wide Web” (onde o acrónimo www), uma das possibilidades oferecidas pela rede Internet que navegue entre documentos ligados por relações hipertextos. O conceito do Web foi posto ao ponto ao CERN (Centro Europeu de Investigação Nuclear) em 1991 por uma equipe de investigadores ao qual pertencia Tim-Berners LEE, o inventor do conceito de hiperligação, considerado hoje como o pai fundador do Web. O princípio de web esta no ponto de utilização de hiperligações para navegar entre documentos (chamados “páginas web”) graças a um "software" chamado navegador (ou em inglês motor de pesquisa). Uma página web é um simples arquivo de texto escrito numa linguagem (chamado HTML), permitindo descrever um conteúdo numa página e incluir elementos gráficos ou relações para outros documentos. Para além das relações de ligar documentos formais, a web toma qualquer direção com o protocolo HTTP que permite vincular documentos alojados por computadores distantes (chamados servidores web, em oposição ao cliente que representa o navegador). na Internet os documentos assim são localizados por um endereço único, chamado URL, permitindo localizar um recurso sobre qualquer servidor da rede Internet. Construção de páginas para Web. As páginas da Web são arquivos armazenados em computadores que, estando em qualquer lugar do mundo, se conectam a Internet. Embora sua aparência seja complexa, cheia de gráficos e cores (e até sons e vídeo), no fundo elas são apenas texto. Este texto, no entanto não é um texto normal, como o que você editaria no Bloco de Notas do Windows, por exemplo, ou mesmo no Word. As páginas da WWW são escritas em uma linguagem especial, chamada HTML, que contém todas as informações necessárias para que o seu navegador seja ele o Internet Explorer, Netscape, Opera ou outro qualquer, exiba o seu conteúdo corretamente. HTML não é uma linguagem de programação (ufa!), e nem tampouco você precisa conhecê-la para criar páginas da Web. Há vários programas que permitem que você edite e "desenhe" suas páginas, coloque figuras nela, etc., enquanto ele vai "por trás das cortinas", criando os códigos HTML para que a página funcione na Internet. Sistemas de software e noções de qualidade O Conceito de Qualidade Existem diversas definições para o termo qualidade, o que torna impossível ter-se uma postura em definitivo para a idéia do que seja realmente qualidade. O certo é que a mesma chegou para ficar, seja no trabalho, em casa, na produção de bens ou na prestação de serviços. Enfim, em qualquer atividade humana, a qualidade tornou-se consenso. A qualidade num primeiro momento era vista fundamentalmente sob a ótica da inspeção, na qual, através de instrumentos de medição, tentava-se alcançar a uniformidade do produto. A sintetização abaixo dada ao conceito de qualidade se encaixa nos padrões de hoje: “Um produto ou serviço de qualidade é aquele que atende perfeitamente, de forma confiável, de forma acessível, de forma segura e no tempo certo às necessidades do cliente”. Isso significa para o mesmo: um projeto perfeito; sem defeitos; baixo custo; segurança do cliente, entrega no prazo certo, no local certo e na quantidade certa. Conceito de garantia de qualidade de software Se um software com muitos erros e falhas perde parte do valor para o usuário, um software isento de erros não é, necessariamente, um software de qualidade para seu usuário (programa certo para o problema errado). As necessidades do usuário são expressas nos requisitos explícitos, mas também nos requisitos implícitos, que normalmente não são declarados, como: flexível, fácil de operar, barato, construído no prazo etc (resumindo: mais prático, mais rápido, mais fácil, mais seguro e mais barato em relação ao processo convencional – antes da informatização). A ausência de funções necessárias (requisitos declarados), não pode ser compensada por funções auxiliares genéricas não solicitadas, como: calculadora, agenda, cor de tela etc. Abaixo duas frases que sintetizam garantia de qualidade em software. “Um software de Qualidade deve encantar o cliente e não somente funcionar direito e não ter erros”. Bill Gates “Software de Qualidade é aquele que, não apenas satisfaz as exigências, mas também é implementado a tempo e de acordo com o orçamento”. Juran Revisões de projeto O processo de revisão do projeto é analisado do ponto de vista da segurança. Caso tenha concluído o projeto, a documentação do mesmo pode ajudar nesse processo. Independentemente da abrangência da documentação do projeto, deve ser possível decompor o aplicativo e identificar os itens principais, incluindo os limites confiáveis, o fluxo de dados, os pontos de entrada e o código privilegiado. É preciso conhecer também a configuração de implantação física do aplicativo. Prestar atenção às abordagens do projeto que você adotou para essas áreas que apresentam vulnerabilidades mais comumente. Normas de qualidade de software O número de empresas que estão buscando melhorias em seus processos de desenvolvimento de software é crescente. A melhoria não consiste apenas no software em si, mas envolve o relacionamento com o cliente também, por meio de planejamento e redução do número de defeitos nos produtos vendidos. Uma pequena falha de lógica num programa em sistema de um grande banco pode causar desde pequenos problemas em contas correntes até prejuízos incalculáveis na conta de grandes corporações. Um defeito na linha de código de um software (seqüência de programação que determina funções) pode causar desde pequenos problemas no funcionamento do equipamento de comunicação entre tripulantes de um avião ou a queda dele. As principais referências para melhoria de processos utilizadas pelas organizações que desenvolvem ou adquirem produtos de software são: CMM – Capability Maturity Model é um modelo desenvolvido pelo Software Engineering Institute (SEI) para melhoria da maturidade dos processos de desenvolvimento de software. ISO 9001 – Sistemas de qualidade; é um modelo para garantir a qualidade em projetos, desenvolvimento, instalação e serviços associados. São normas utilizadas como referência por muitas empresas desenvolvedoras de software no mundo inteiro. ISO 12207 – Tecnologia da Informação/Processo de ciclo de vida de software; esta norma estabelece uma estrutura comum para os processos de ciclo de visa de um software, cobrindo desde a concepção até a retirada do software do mercado. ISO 15504 (SPICE) – Tecnologia da Informação/Avaliação de processos; norma desenvolvida pela ISO IEC em conjunto com o projeto SPICE para avaliação de processos. CMMI – Capability Maturity Model Integration; também desenvolvido pela SEI (Software Engineering Institute) visando a melhora da maturidade dos processos em uma organização. Foi desenvolvido a partir de três modelos: - SW-CMM (Capability Maturity Model for Software); - EIA/IS (Eletronic Interim Alliance Interim Standard) 731 - IPD-CMM (Integrated Product Development Capability Maturity Model). PMBOK – Project Management Body of Knowledge; conjunto de Conhecimento em Gerência de Projetos. É utilizado como referência para que gerentes de projetos possam compreender os ensinamentos e relacionamentos que, por meio das áreas de conhecimento e de processos preconizados pela metodologia, traduzam os conceitos mais atuais da prática de Gerenciamento de Projetos no mundo. Conclusão Internet veio para ajudar ou atrapalhar nossa vida? O que temos visto hoje é um mundo de informações acessíveis através de alguns cliques, o mais interessante é que através dela as redes de computadores se tornaram mais eficientes e funcionais, diversos serviços antes imaginados em filmes de ficção hoje ganham vida e fazem parte da vida de muitos. Mas não é só de internet que vive a tecnologia, diversos softwares para diversas aplicações tem sido largamente utilizados até mesmo por modestas “vendinhas” por assim dizer, isto motivou e tornou importante a aplicação de diversos conceitos como qualidade dos serviços, qualidade de software, a garantia de que este software atenderá as expectativas e a certeza de ter um ótimo suporte para ele. Aqueles que tiverem essas qualificações e preocupações em seus serviços prestados terão um melhor desempenho no mercado da tecnologia. Referencias bibliográficas: AGILCOOP (Cooperativa de Desenvolvimento Ágil de Software); Vicouto. wordpress.com PUC – Campinas; FATEC – FACULDADE DE TECNOLOGIA Campus Baixada Santista Informática com Ênfase em Gestão de Negócios; 1. SOARES, L. F. G., LEMOS, G. e COLCHER, S.: “Redes de Computadores: das LANs, MANs e WANs às Redes ATM”, 2ª Ed., Rio de Janeiro, Ed. Campus, 1995; 2. TANENBAUM, A. S.: “Redes de Computadores”, Tradução da 4ª edição, Rio de Janeiro, Ed. Campus, 2003; 3. GALLO, MICHAEL A., HANCOCK, W. M.: “Comunicação entre Computadores e Tecnologías de Rede”, São Paulo, 2003;