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
Evolução das redes de computadores
Uma breve linha do tempo mostra alguns momentos importantes da evolução das redes de computadores:
- 1957 Criação da ARPA (Advanced Research Projects Agency = Agência de Projetos de Pesquisas
Avançadas) – pesquisa e desenvolvimento de redes para fins militares. Resposta dos EUA ao lançamento
do Sputnik pela URSS.
- 1969 Implantação da ARPANET – pode ser considerada como a precursora da Internet: e-mail,
newsgroups, logon remoto, transferência de arquivos.
- 1970 Implantação da 1ª rede pública de dados – X.25
- 1976 Implantação da Ethernet – visando redes locais (transmissão no mesmo cabo, com
retransmissão caso haja colisão, velocidade 2.95 Mbps)
- 1978 Token ring (rede em anel desenvolvida pela IBM. A transmissão dá-se durante uma pequena
janela de tempo, e apenas por quem detém o token.)
- 1980 Frame relay – Rede com chaveamento por conexão que emprega circuitos virtuais, com controle
dos quadros transmitidos entre dois sites.
- 1984 RDSI – Rede digital de sistemas integrados. Transmite em uma única conexão digital voz, dados,
fax e vídeo.
- 1990 ATM – transmissão de dados, voz, TV, etc.
- 1995 LAN sem fio
- 1995 Bluetooth
Internet e Web
A Internet é um conglomerado de redes em escala mundial de milhões de computadores interligados pelo
Protocolo de Internet que permite o acesso a informações e todo tipo de transferência de dados.
Para entender o conceito de Internet, a rede mundial de computadores, deve-se regressar às décadas de
1960 e 1970 para compreender como ela se tornou um dos meios de comunicação mais populares. Tudo
surgiu no período em que a guerra fria pairava no ar entre as duas maiores potências da época, os
Estados Unidos e a ex-União Soviética.
O governo norte-americano queria desenvolver um sistema para que seus computadores militares
pudessem trocar informações entre si, de uma base militar para outra e que mesmo em caso de ataque
nuclear os dados fossem preservados. Seria uma tecnologia de resistência. Foi assim que surgiu então a
ARPANET, o antecessor da Internet, um projeto iniciado pelo Departamento de Defesa dos Estados Unidos
que realizou então a interconexão de computadores, através de um sistema conhecido como comutação
de pacotes, que é um esquema de transmissão de dados em rede de computadores no qual as
informações são divididas em pequenos “pacotes”, que por sua vez contém trecho dos dados, o endereço
do destinatário e informações que permitiam a remontagem da mensagem original.
Este sistema garantia a integridade da informação caso uma das conexões da rede sofresse um ataque
inimigo, pois o tráfego nela poderia ser automaticamente encaminhado para outras conexões. O curioso é
que raramente a rede sofreu algum ataque inimigo. Em 1991, durante a Guerra do Golfo, certificou-se que
esse sistema realmente funcionava, devido à dificuldade dos Estados Unidos para derrubar a rede de
comando do Iraque, que usava o mesmo sistema.
O sucesso do sistema criado pela ARPANET foi tanto que as redes agora também eram voltadas para a
área de pesquisas científicas das universidades. Com isso, a ARPANET começou a ter dificuldades em
administrar todo este sistema, devido ao grande e crescente número de localidades universitárias contidas
[2]
nela. Dividiu-se então este sistema em dois grupos , a MILNET, que possuía as localidades militares e a
nova ARPANET, que possuía as localidades não militares. O desenvolvimento da rede, nesse ambiente
mais livre, pôde então acontecer. Não só os pesquisadores como também seus alunos e os alunos de seus
amigos, tiveram acesso aos estudos já empreendidos e somaram esforços para aperfeiçoá-los. Houve
uma época nos Estados Unidos em que sequer se cogitava a possibilidade de comprar computadores
prontos, já que a diversão estava em montá-los.
A mesma lógica se deu com a Internet. Jovens da contracultura, ideologicamente engajados ou não em
uma utopia de difusão da informação, contribuíram decisivamente para a formação da Internet como hoje é
conhecida. A tal ponto que o sociólogo espanhol e estudioso da rede, Manuel Castells, afirmou em seu livro
"A Galáxia da Internet" (2003) que "A Internet é, acima de tudo, uma criação cultural". Um esquema técnico
denominado Protocolo de Internet (Internet Protocol) permitia que o tráfego de informações fosse
caminhado de uma rede para outra.
Todas as redes conectadas pelo endereço IP na Internet comunicam-se para que todas possam trocar
mensagens. Através da National Science Foundation, o governo norte-americano investiu na criação de
backbones (que significa espinha dorsal, em português), que são poderosos computadores conectados por
linhas que tem a capacidade de dar vazão a grandes fluxos de dados, como canais de fibra óptica, elos de
satélite e elos de transmissão por rádio. Além desses backbones, existem os criados por empresas
particulares. A elas são conectadas redes menores, de forma mais ou menos anárquica. É basicamente
isto que consiste a Internet, que não tem um dono específico.
O que hoje forma a Internet, começou em 1969 como a ARPANET, criada pela ARPA, sigla para Advanced
Research Projects Agency, ou Agência de Pesquisa de Projetos Avançados, uma subdivisão do
Departamento de Defesa dos Estados Unidos. Ela foi criada para a guerra, pois com essa rede promissora,
os dados valiosos do governo daquele país estariam espalhados em vários lugares, ao invés de
centralizados em apenas um servidor. Isso evitaria a perda desses dados no caso de, por exemplo, uma
bomba explodisse no campus. Em seguida, ela foi usada inicialmente pelas universidades, onde os
estudantes, poderiam trocar de forma ágil para a época, os resultados de seus estudos e pesquisas. Em
Janeiro de 1983, a ARPANET mudou seu protocolo de NCP para TCP/IP. Em 1985 surge o FTP.
Contudo, a Internet como hoje conhecemos, com sua interatividade, como arcabouço de redes interligadas
de computadores e seus conteúdos multimídia, só se tornou possível pela contribuição do cientista Tim
Berners-Lee e ao CERN, Conseil Européen pour la Recherche Nucléaire - Centro Europeu de Pesquisas
Nucleares, que criaram a World Wide Web, inicialmente interligando sistemas de pesquisa científicas e
mais tarde acadêmicas, interligando universidades; a rede coletiva ganhou uma maior divulgação pública a
partir dos anos 1990. Em agosto de 1991, Berners-Lee publicou seu novo projeto para a World Wide Web,
dois anos depois de começar a criar o HTML, o HTTP e as poucas primeiras páginas web no CERN, na
Suíça. Por este motivo, em 23 de agosto se comemora o Dia do Internauta. Em 1993 o navegador Mosaic
1.0 foi lançado, e no final de 1994 já havia interesse público na Internet. Em 1996 a palavra Internet já era
de uso comum, principalmente nos países desenvolvidos, referindo-se na maioria das vezes a WWW.
Web
A World Wide Web (que em português significa, "Rede de alcance mundial"; também conhecida como
Web e WWW) é um sistema de documentos em hipermídia que são interligados e executados na Internet.
Os documentos podem estar na forma de vídeos, sons, hipertextos e figuras. Para visualizar a informação,
pode-se usar um programa de computador chamado navegador para descarregar informações (chamadas
"documentos" ou "páginas") de servidores web (ou "sítios") e mostrá-los na tela do usuário. O usuário pode
então seguir as hiperligações na página para outros documentos ou mesmo enviar informações de volta
para o servidor para interagir com ele. O ato de seguir hiperligações é, comumente, chamado de "navegar"
ou "surfar" na Web.
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, e nem tampouco você precisa
conhecê-la para criar páginas da Web. Existem diversos programas que ajudam na a criando dos códigos
HTML para que a página funcione na Internet.
Sistemas de software e noções de qualidade
Conceito de qualidade de produtos e serviços
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. Aqui, a ênfase será dada não só para a qualidade do produto,
mas de forma idêntica para a qualidade da prestação de serviço. Segue comentários do que seja
realmente qualidade do produto, posteriormente, a ênfase será dada para a qualidade da prestação de
serviço.
Conceitos de garantia de qualidade de software
A Garantia da Qualidade de Software (GQS) é a área-chave de processo do CMM cujo objetivo é fornecer
aos vários níveis de gerência a adequada visibilidade dos projetos, dos processos de desenvolvimento e
dos produtos gerados. A GQS atua como "guardiã", fornecendo um retrato do uso do Processo e não é
responsável por executar testes de software ou inspeção em artefatos.
Obtendo a visibilidade desejada, a gerência pode atuar de forma pontual no sentido de atingir os quatro
grandes objetivos de um projeto de desenvolvimento de software, quais sejam, desenvolver software de
alta qualidade, ter alta produtividade da equipe de desenvolvimento, cumprir o cronograma estabelecido
junto ao cliente e não necessitar de recursos adicionais não previstos.
Para conseguir esses objetivos a área-chave de processo GQS estimula a atuação das equipes
responsáveis pelo desenvolvimento de software em diversas frentes objetivando internalizar
comportamentos e ações, podendo-se destacar:
• o planejamento do projeto e o acompanhamento de resultados;
• o uso dos métodos e ferramentas padronizadas na organização;
• a adoção de Revisões Técnicas Formais;
• o estabelecimento e a monitoração de estratégias de testes;
• a revisão dos artefatos produzidos pelo processo de desenvolvimento;
• a busca de conformidade com os padrões de desenvolvimento de software;
• a implantação de medições associadas a projeto, processo e produto;
• a utilização de mecanismos adequados de armazenamento e recuperação de dados relativos a projetos,
processos e produtos; e
• a busca de uma melhoria contínua no processo de desenvolvimento de software.
Para facilitar o trabalho dos desenvolvedores e evitar geração de metodologias diversas, o Serpro
desenvolveu o Processo Serpro de Desenvolvimento de Soluções (PSDS).
O PSDS foi construído por pessoas das unidades da empresa que procuraram aproveitar as melhores
práticas existentes e consagradas.
O "CMM - Capability Maturity Model for Software /SEI" é uma estrutura-"framework", que descreve os
principais elementos de um processo de desenvolvimento de software efetivo. O CMM descreve os
estágios de maturidade através dos quais Organizações de software evoluem o seu ciclo de
desenvolvimento de software através de sua avaliação contínua, identificação e ações corretivas dentro de
uma estratégia de melhoria dos processos. Este caminho de melhoria é definido por cinco níveis de
maturidade: inicial, repetitivo, definido, gerenciado e otimizado.
O Modelo CMM (CMM- Capability Maturity Model) fornece às organizações uma direção sobre como
ganhar controle de seu processo de desenvolvimento de software e como evoluir para uma cultura de
excelência na gestão de software. O objetivo principal nas transações destes níveis de maturidade é a
realização de um processo controlado e mensurado como a fundação para melhoria contínua. Cada nível
de maturidade possui um conjunto de práticas de software e gestão específicas, denominado áreas-chave
do processo. Estas devem ser implantadas para a organização atingir o nível de maturidade em qualidade
de software.
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.
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.
Bibliografia:
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.
4. FATEC – FACULDADE DE TECNOLOGIA Campus Baixada Santista Informática com Ênfase
em Gestão de Negócios Gestão da Qualidade de softwares.