automaÇÃo empresarial multiusuÁrio empregando … · fundaÇÃo comunitÁria tricordiana de...

150
ERRATA Página Lê-se Leia-se 16 [FLO2003] [FLORES] 28 2.2. TEORIA GERAL DA ADMINISTRAÇÃO 2.1.1. TEORIA GERAL DA ADMINISTRAÇÃO 35 2.3. SISTEMAS DISTRIBUIDOS 2.1.2. SISTEMAS DISTRIBUIDOS 35 [SIL2003] [SILVA] 36 [SIL2003] [SILVA] 38 [SIL2003] [SILVA] 40 2.4. SISTEMAS COOPERATIVOS 2.1.3. SISTEMAS COOPERATIVOS 44 2.5. REDES DE COMPUTADORES 2.1.4. REDES DE COMPUTADORES 49 2.6. SISTEMAS OPERACIONAIS 2.1.5. SISTEMAS OPERACIONAIS 58 2.7. AUDITORIA E SEGURANÇA 2.1.6. AUDITORIA E SEGURANÇA 58 [STR2002] [STREBE] 59 [MSC2005] [MICROSOFT] 64 2.8. BANCO DE DADOS 2.1.7. BANCO DE DADOS 66 Capítulo 8 Capítulo 2.1.8 70 2.9. LINGUAGENS DE PROGRAMAÇÃO 2.1.8. LINGUAGENS DE PROGRAMAÇÃO 72 [CHA1996] [CHANDLER] 76 Capítulo 5 Capítulo 2.1.5. 80 2.10. ENGENHARIA DE SOFTWARE 2.1.9. ENGENHARIA DE SOFTWARE 105 Item 4.2 Item 3.1 na sessão Justificativa 124 Na seção 4.6 No item 5.5 na sessão Materiais e Métodos 132 Capitulo 3.4 e capitulo 3.6 Capitulo 2.1.4 e capitulo 2.1.6 135 Posta 12 l Postal 12 141 Acumulo de papeís Acumulo de papéis

Upload: others

Post on 27-Jun-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

ERRATA

Página Lê-se Leia-se

16 [FLO2003] [FLORES]

28 2.2. TEORIA GERAL DA

ADMINISTRAÇÃO

2.1.1. TEORIA GERAL DA

ADMINISTRAÇÃO

35 2.3. SISTEMAS DISTRIBUIDOS 2.1.2. SISTEMAS DISTRIBUIDOS

35 [SIL2003] [SILVA]

36 [SIL2003] [SILVA]

38 [SIL2003] [SILVA]

40 2.4. SISTEMAS COOPERATIVOS 2.1.3. SISTEMAS COOPERATIVOS

44 2.5. REDES DE COMPUTADORES 2.1.4. REDES DE COMPUTADORES

49 2.6. SISTEMAS OPERACIONAIS 2.1.5. SISTEMAS OPERACIONAIS

58 2.7. AUDITORIA E SEGURANÇA 2.1.6. AUDITORIA E SEGURANÇA

58 [STR2002] [STREBE]

59 [MSC2005] [MICROSOFT]

64 2.8. BANCO DE DADOS 2.1.7. BANCO DE DADOS

66 Capítulo 8 Capítulo 2.1.8

70 2.9. LINGUAGENS DE

PROGRAMAÇÃO

2.1.8. LINGUAGENS DE

PROGRAMAÇÃO

72 [CHA1996] [CHANDLER]

76 Capítulo 5 Capítulo 2.1.5.

80 2.10. ENGENHARIA DE SOFTWARE 2.1.9. ENGENHARIA DE SOFTWARE

105 Item 4.2 Item 3.1 na sessão Justificativa

124 Na seção 4.6 No item 5.5 na sessão Materiais e

Métodos

132 Capitulo 3.4 e capitulo 3.6 Capitulo 2.1.4 e capitulo 2.1.6

135 Posta12l Postal 12

141 Acumulo de papeís Acumulo de papéis

Page 2: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO

Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

UNIVERSIDADE VALE DO RIO VERDE – TRÊS CORAÇÕES/MG

Credenciada pelo Decreto Estadual nº. 40.229/98, de 29/12/1998

AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO

CONCEITOS CSCW * POR SISTEMA GROUPWARE: * Computer-Supported Cooperative Work (Trabalho cooperativo suportado por computador)

TRÊS CORAÇÕES

2005

Page 3: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

EDSON ALVES DE CARVALHO JÚNIOR

RONIELTON REZENDE OLIVEIRA

AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO

CONCEITOS CSCW * POR SISTEMA GROUPWARE: * Computer-Supported Cooperative Work (Trabalho cooperativo suportado por computador)

Monografia de Conclusão de Curso,

submetida à Banca Examinadora do Curso

de Ciência da Computação, como requisito

final à obtenção do grau de Bacharel em

Ciência da Computação, sob a orientação

do professor Ricardo Resendes Flores e

Supervisão da professora Iliana Márcia

Lopes da Costa Sales.

TRÊS CORAÇÕES

2005

Page 4: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

1

EQUIPE TÉCNICA

Acadêmicos

Edson Alves de Carvalho Júnior

Ronielton Rezende Oliveira

Professor Orientador

Ricardo Resendes Flores

Professora Supervisora

Iliana Márcia Lopes da Costa Sales

Professor Coordenador do Curso

Wanderson Gomes de Souza, Ms

Colaborador

Roniton Rezende Oliveira

Revisor Monografia

José Reis Donizetti de Oliveira

Page 5: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

2

DEDICATÓRIA

A minha mãe Rogéria pelo exemplo de vida,

luta e dedicação, meu pai Edson pelos

ensinamentos. Meus avós e minhas irmãs

pela força de todo dia para não desanimar.

Edson Alves de Carvalho Júnior

Aos meus pais, José Reis e Zêomar,

exemplos de vida e persistência, minha fonte

de inspiração e refugio na turbulência…

A minha avó Dalva (IN MEMORIAN) pelos

anos de alegria propiciados…

Ronielton Rezende Oliveira

Page 6: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

3

"Seja sempre otimista! Faça de cada

dificuldade por que passar, um degrau a

mais para a sua perfeição. A vitória só tem

valor quando é conquistada com luta.

Assim, encare todos os problemas da vida

como uma oportunidade para avaliar as

conquistas das vitórias sobre cada um deles.

Eles são degraus de sua subida."

Autor Desconhecido

Page 7: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

4

AGRADECIMENTOS

Edson Alves de Carvalho Júnior

Agradeço em primeiro lugar a Deus, por tudo que sou.

A minha Mãe Rogéria, que nas mais difíceis horas não me deixou desistir de meu

objetivo, e com todo carinho sempre esteve de braços abertos nos

problemas e dificuldades enfrentados.

A meus avôs Wilson e Janete pelo carinho, ajuda e sempre orando para que meu

sucesso fosse alcançado.

A minhas irmãs Cynthya e Cynara pelo incentivo, carinho e força em tudo que

precisei.

A.meu Pai Edson pela esperança da conquistar que sempre sonhou que

conquistaria.

A meus tios Rose e Paulo, José Maria e Vânia, Alessandro e mesmo que estes

longe de mim sempre procuraram ajudar e contribuir no que pudessem.

A todos os professores que tive contato em todos os períodos por onde passei do

curso de Ciência da Computação – UNINCOR e a experiência e

conhecimento que me foi adquirido.

Ao professor orientador Ricardo Resendes Flores pelo carinho de um amigo, sempre

disposto a ajudar nas dificuldades encontradas.

A professora Iliana pela orientação nos momentos onde não sabíamos que rumo

tomar.

Aos colegas de sala pelo apoio e ajuda nas dificuldades encontradas no

desenvolvimento deste.

E a todos que por carinho vieram a contribuir para a realização de um sonho.

Page 8: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

5

Ronielton Rezende Oliveira

Ao Pai Celestial, por nos conceder a VIDA e coragem para enfrentar os desafios.

Aos meus pais, José Reis Donizetti de Oliveira e Zêomar Costa Rezende Oliveira,

pelo apoio, carinho, amor, compreensão e exemplo de vida.

Ao meu irmão, Roniton Rezende Oliveira, por seu empenho e dedicação na

realização deste trabalho, pelas criticas e sugestões ao longo do

desenvolvimento do projeto.

Ao professor orientador e amigo, Ricardo Resendes Flores, pela confiança,

orientação e valorosos ensinamentos. Deixo aqui registrado todo respeito,

carinho, admiração, por sua dedicação junto aos seus alunos.

A professora supervisora, Iliana Márcia Lopes da Costa Sales, pela paciência e

compreensão.

Ao professor e amigo, Antônio Tibúrcio de Oliveira Junior, por apresentar e orientar

nos sobre o mundo FreeBSD e os fundamentos da segurança da

informação.

Ao amigo, João Pedro de Paula Pannain Souza, por nos apresentar o mundo

FreeBSD.

Ao amigo, Rodrigo Otávio dos Reis Chediak, pelo apoio nos momentos de

dificuldade.

A amiga, Nadir Couto Franco, minha madrinha.

Aos professores do Curso de Ciência da Computação da UNINCOR, que

estabeleceram os fundamentos aplicados durante este trabalho.

Aos colegas, que estiveram ao meu lado nos momentos de dificuldade, incentivando

e apoiando.

A todos que colaboraram direta ou indiretamente, para o êxito deste trabalho.

Page 9: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

6

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS....................................................................... 8

LISTA DE FIGURAS.................................................................................................. 11

LISTA DE TABELAS ................................................................................................. 13

RESUMO ................................................................................................................... 14

ABSTRACT ............................................................................................................... 15

I. INTRODUÇÃO ....................................................................................................... 16

II. REVISÃO DE LITERATURA .............................................................................. 18

2.1. Revisão Bibliográfica ...................................................................................... 27

2.2. Teoria Geral da Administração ....................................................................... 28

2.3. Sistemas Distribuidos ..................................................................................... 35

2.4. Sistemas Cooperativos ................................................................................... 40

2.5. Redes de Computadores ................................................................................ 44

2.6. Sistemas Operacionais ................................................................................... 49

2.7. Auditoria e Segurança .................................................................................... 58

2.8. Banco de Dados ............................................................................................. 64

2.9. Linguagens de Programação .......................................................................... 70

2.10. Engenharia de Software ............................................................................... 80

III. JUSTIFICATIVA ................................................................................................... 88

3.1. Problemas ....................................................................................................... 89

3.2. Hipóteses ........................................................................................................ 89

IV. OBJETIVOS ......................................................................................................... 91

4.1. Objetivos Gerais ............................................................................................. 91

4.2. Objetivos Específicos ...................................................................................... 91

V. MATERIAIS E MÉTODOS .................................................................................... 93

5.1. Metodologia .................................................................................................... 93

5.2. Recursos Necessários .................................................................................... 93

5.3. Ambiente de Desenvolvimento ....................................................................... 93

5.4. Cronograma de Execução .............................................................................. 98

5.5. Aplicação ...................................................................................................... 101

5.6. AnÁlise do Sistema ....................................................................................... 105

5.7. Diagrama de Fluxo de Dados ....................................................................... 108

5.7.1. Dicionário de Dados do DFD .............................................................. 109

Page 10: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

7

5.7.2. Descrição dos Processos do DFD ...................................................... 110

5.8. Modelo de Entidade-Relacionamento ........................................................... 111

5.8.1. Modelo Conceitual .............................................................................. 112

5.8.2. Modelo Lógico..................................................................................... 112

5.8.3. Dicionário de Dados ............................................................................ 113

5.9. Esquema de Navegação ............................................................................... 116

5.10. Apresentação .............................................................................................. 117

VI. RESULTADOS E DISCUSSÃO ......................................................................... 137

VII. CONCLUSÃO ................................................................................................... 140

VIII. REFERÊNCIA BIBLIOGRAFICA...................................................................... 143

Page 11: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

8

LISTA DE ABREVIATURAS E SIGLAS

ACL Access Control Lists

ANSI American National Standards Institute

API Appplications Programming Interface

ARPANET Advanced Research Projects Agency Network

ASCII American Standards for Computer Information Interchange

ATM Asynchronous Tranfer Mode

BIND Berkeley Internet Name Domain

BSD Berkeley Software Distribution

CASE Computer-Aidede Software Enginnering

CERN Conseil Européen pour la Reaserche Nucléaire

CGI Common Gateway Interface

CLI Command-Line Interface

CSCW Computer Supported Cooperative Work

CSRG Classic Sports Racing Group

CVS Concurrent Versions System

DARPA Defense Advanced Research Projects Agency

DDL Data Description Language

DHCP Dynamic Host Configuration Protocol

DML Data Manipulation Language

DNS Domain Name Server

DSL Digital Subscriber Line

DSO Dynamic Shared Objects

FTP File Transfer Protocol

GNU GNU's Not UNIX

GPL General Public License

HIDS Host-Based Intrusion Detection Systems

HTML HyperText Markup Language

HTTP HyperText Transfer Protocol

HTTPS HyperText Transfer Protocol Secure

IMAP Internet Message Access Protocol

INN InterNetNews Package NNTP Sever

ISC Internet Systems Consortium

Page 12: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

9

ISDN Integrated Services Digital Network

ISO International Standardrs Organization

ISP Internet Service Providers

LAN Local Area Network

LGPL Lesser General Public License

MAN Metropolitan Area Networks

MIT MITSloan School of Management

NAT Network Address Translation

NCSA National Center for Supercomputing Applications

NIDS Network Intrusion Detection Systems

NNTP Network News Transport Protocol

ODBC Open Data Base Connectivity

PC Personal Computer

PDF Portable Document Format

PHP PHP Hypertext Preprocessor

POP3 Post Office Protocol

RAM Random Access Memory

RDBMS Relational Database Management Systems

RDSI-FL Rede Digital de Serviços Integrados de Faixa Larga

RFC Request For Comments

SGBD Sistema de Gerenciamento de Banco de Dados

SGBDR Sistema de Gerenciamento de Banco de Dados Relacional

SMP Symmetric MultiProcessor Kernel

SMTP Simple Mail Transfer Protocol

SQL Structured Query Language

SSL Secure Socket Layer

TCO Total Cost of Ownership

TCP/IP Transmission Control Protocol / Internet Protocol

TI Tecnologia da Informação

TLS Transport Layer Security

UNINCOR Universidade Vale do Rio Verde

URL Universal Resource Locator

VPN Virtual Private Networks

WAN Wide Area Network

Page 13: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

10

WINS Windows Internet Name Service

WWW World Wide WEB

XML Extensible Markup Language

Page 14: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

11

LISTA DE FIGURAS

FIGURA 1 – MODELO DE PROTEÇÃO EM CAMADAS .......................................... 59

FIGURA 2 – PRINCIPIOS DE SEGURANÇA ............................................................ 60

FIGURA 3 – EXEMPLO DE MARCAÇÃO HTML ...................................................... 76

FIGURA 4 – AMBIENTE DE EXECUÇÃO DA PHP .................................................. 78

FIGURA 5 – EXEMPLO DE CÓDIGO PHP ............................................................... 80

FIGURA 6 – MODELO DA PROTOTIPAÇÃO ........................................................... 86

FIGURA 8 – DREAMWEAVER MX 2004: CODE INTERFACE ................................. 94

FIGURA 9 – DREAMWEAVER MX 2004: DESIGN INTERFACE ............................. 95

FIGURA 10 – MYSQL FRONT: A INTERFACE GÁFICA .......................................... 96

FIGURA 13 – CONSOLE FREEBSD: O ACESSO REMOTO ................................... 97

FIGURA 12 – CONSOLE FREEBSD: SERVIÇOS EM EXECUÇÃO ......................... 98

FIGURA 13 – MACRO VISÃO DO SISTEMA .......................................................... 101

FIGURA 14 – ESCOPO DA FERRAMENTA ........................................................... 102

FIGURA 15 – FLUXO DE COMUNICAÇÃO ............................................................ 104

FIGURA 15 – DFD: DIAGRAMA DE CONTEXTO ................................................... 108

FIGURA 16 – DFD: PROCESSOS DO DIAGRAMA DO FLUXO DE DADOS ......... 109

FIGURA 17 – ER: MODELO CONCEITUAL ........................................................... 112

FIGURA 18 – ER: MODELO LÓGICO..................................................................... 112

FIGURA 19 – ESQUEMA DE NAVEGAÇÃO FERRAMENTA ................................. 117

FIGURA 20 – INTERFACE: CERTIFICADO SSL .................................................... 118

FIGURA 21 – INTERFACE: AMBIENTE SEGURO ................................................. 119

FIGURA 22 – INTERFACE: POLITICA DE PRIVACIDADE .................................... 120

FIGURA 23 – INTERFACE: FORMULÁRIO DE SUPORTE .................................... 121

FIGURA 24 – INTERFACE: FORMULÁRIO DE CONTATO ................................... 122

FIGURA 25 – INTERFACE: AMBIENTE ADMINISTRATIIVO ................................. 123

FIGURA 26 – INTERFACE: CADASTRO DE GRUPOS ......................................... 124

FIGURA 27 – INTERFACE: CADASTRO REGRAS DE MENSAGEM .................... 125

FIGURA 28 – INTERFACE: CADASTRO USUÁRIOS ............................................ 126

FIGURA 29 – INTERFACE: SOLICITAÇÃO DE SUPORTE ................................... 127

FIGURA 30 – INTERFACE: INFORMAÇÕES DE SUPORTE ................................. 128

FIGURA 31 – INTERFACE: RESPOSTA DE SUPORTE ........................................ 128

FIGURA 32 – INTERFACE: PRIMEIRO ACESSO .................................................. 129

Page 15: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

12

FIGURA 33 – INTERFACE: VERIFICAÇÃO DE CADASTRO / CPF ...................... 130

FIGURA 34 – INTERFACE: VERIFICAÇÃO DE CADASTRO / MINICURRICULO . 131

FIGURA 35 – INTERFACE: VERIFICAÇÃO DE LOGIN ......................................... 132

FIGURA 36 – INTERFACE: SENHA CRIPTOGRAFADA........................................ 133

FIGURA 37 – INTERFACE: INTERFACE DO USUÁRIO ........................................ 134

FIGURA 38 – INTERFACE: MANUTENÇÃO DADOS CADASTRAIS ..................... 134

FIGURA 39 – INTERFACE: MANUTENÇÃO MINICURRICULO ............................ 135

FIGURA 40 – INTERFACE: AGENDA DE ENDEREÇOS ....................................... 136

Page 16: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

13

LISTA DE TABELAS

TABELA 1 – CONJUNTO DE TAGS DISPONÍVEIS EM HTML ................................ 74

TABELA 2 – NIVEIS DE ACESSO .......................................................................... 103

TABELA 3 – FLUXO DE COMUNICAÇÃO .............................................................. 103

TABELA 4 – DICIONÁRIO DE DADOS DO DFD .................................................... 109

TABELA 5 – DESCRIÇÃO DOS PROCESSOS DO DFD ....................................... 110

TABELA 6 – DICIONARIO DADOS: TABELA SUPORTE ....................................... 113

TABELA 7 – DICIONARIO DADOS: TABELA LOGIN ............................................. 114

TABELA 8 – DICIONARIO DADOS: TABELA USUARIOS ..................................... 114

TABELA 9 – DICIONARIO DADOS: TABELA GRUPOS_USUARIOS .................... 115

TABELA 10 – DICIONARIO DADOS: TABELA PERMISSOES .............................. 115

TABELA 11 – DICIONARIO DADOS: TABELA CONTATOS_AGENDA ................. 115

TABELA 12 – DICIONARIO DADOS: TABELA GRUPOS_AGENDA ..................... 116

Page 17: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

14

RESUMO

A possibilidade de haver cooperação entre usuários em sistemas

privativos, consigna significado retorno empresarial, pela facilidade de utilização dos

recursos disponíveis, considerando a implementação através de mecanismos de

cooperação, colaboração e facilidade de comunicação. O trabalho conjunto é

desenvolvido com eficiência através da livre circulação da informação, pelo estimulo

à inovação, facilitando desta maneira o processo de liderança coletiva. A utilização

de sistemas Groupware propicia o relacionamento da empresa com seus clientes,

fornecedores (extranet), funcionários e/ou filiais (intranet); baseado no sistema de

compartilhamento de áreas de trabalho específicas, desde que devidamente

autenticados e autorizados, com a caracterização de duas ou mais pessoas

trabalharem juntas e o acrônimo do compartilhamento de experiências e

conhecimento, com a automação da política de comunicação e conseqüentemente

via de fato a criação de memória organizacional da empresa, o que resulta na

superação de fatores determinantes para obtenção significativa de lucros pela

superação das barreiras geográficas e customização do tempo. O processo da

automatização de "escritório" resulta em considerável diminuição do fluxo de

circulação de papel e ganho na utilização dos recursos de computadores, tornando

seu uso simplificado para qualquer pessoa, pelo advento do software de

colaboração e cooperação, que na desenvoltura do processo de comunicação

existente surge com o advento das inovações tecnológicas, aplicado na estrutura da

transmissão das informações empresariais, pelo aproveitamento da infra-estrutura

existente, enquadrando-se nos moldes da política de comunicação manual, quando

considerado o processo de fluxo de dados atual, e resultando nos ganhos de

satisfação do cliente e empresário. A ferramenta Groupware, considerada como

software, implementa a tecnologia de troca de mensagens entre os usuários

armazenando todo um histórico de transmissão efetuada, possibilitando ainda a

definição de agenda de eventos para o grupo: chat‟s entre as comunidades

envolvidas, troca de arquivos com armazenamento por períodos indeterminados, e

ainda apresenta aos usuários informação de contato de todas as pessoas

cadastradas no sistema. É importante entender que Groupware não é apenas mais

um estágio da tecnologia de computação. Seu objetivo é permitir a eficácia dos

grupos existentes ao invés de impor práticas que causem mudanças radicais na

forma de trabalho.

Page 18: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

15

ABSTRACT

The possibility there to be cooperation among users in private systems

consigns meaning managerial return for the easiness of use of the available

resources, considering the implement through cooperation mechanisms,

collaboration and communication easiness, the united work is developed with

efficiency, through the free circulation of the information, for the I stimulate the

innovation, facilitating of this sorts out the process of collective leadership. The use of

systems Groupware propitiates the relationship of the company with your customers

and suppliers (extranet) and with employees filial and / or (intranet), based on the

system of share of work areas you specify, since properly authenticated and

authorized, with the characterization of two or more people to work committees and

the acronym of the share of experiences and knowledge, with the automation of the

communication politics and consequently he/she saw the creation of memory

organization of the company in fact, what results in the overcome of decisive factors

for significant obtaining of profits for the overcome of the geographical barriers and

build of the time. The process of the office " automation results in considerable

decrease of the flow of paper circulation and earnings in the use of the resources of

computers, turning your use simplified for anybody, for the coming of the software of

collaboration and cooperation, that it appears with the coming of the technological

innovations in the agility of the process of existent communication, applied in the

structure of the transmission of the managerial information, for the use of the existent

infrastructure, being framed in the molds of the politics of manual communication,

when considered the process of flow of data current, and resulting in the earnings of

the customer's satisfaction and entrepreneur. The tool Groupware, considered as

software, it implements the technology of change of messages among the users

storing an entire report of made transmission, still making possible the definition of

calendar of events for the group; chat's among the involved communities; change of

files with storage for uncertain periods; and it still presents to the users information of

all the people's contact registered in the system. It is important to understand that

Groupware is not just one more apprenticeship of the computation technology. Your

objective is to allow the effectiveness of the existent groups instead of imposing

practices that cause radical changes in the work form.

Page 19: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

16

I. INTRODUÇÃO

"A educação faz um povo fácil de ser liderado, mas difícil de ser dirigido;

fácil de ser governado, mas impossível de ser escravizado."

Henry Peter

Este trabalho tem a finalidade de documentar todo o processo envolvido

na elaboração da Ferramenta TSDJ Groupware, idealizada durante o

desenvolvimento do Projeto de Conclusão de Curso de Ciência da Computação –

PCC. O trabalho foi desenvolvido durante as práticas de Estágio Supervisionado da

Universidade Vale do Rio Verde – UNINCOR, no período de Julho de 2004 a Maio

de 2005.

A ferramenta Groupware consiste em software que implementa a

tecnologia de troca de mensagens entre os usuários armazenando todo um histórico

de transmissão efetuada, possibilitando ainda a definição de agenda de eventos

para o grupo: chat's entre as comunidades envolvidas, troca de arquivos com

armazenamento por períodos indeterminados, e ainda apresenta aos usuários

informação de contato de todas as pessoas cadastradas no sistema.

Conforme [FLO2003], que cita o Professor Thomas Malone do MIT:

"O Groupware, talvez mais que qualquer outra

tecnologia de informação, possibilita-nos mudar

as maneiras como as pessoas se relacionam no

trabalho. Penso que isto nos coloca perante uma

escolha. Podemos usar este novo potencial para

criar trabalhos mais produtivos e gratificantes

para os seus executantes, ou podemos usar

este conceito para criar locais de trabalho menos

agradáveis e socialmente mais improdutivos".

Fato que torna o Groupware um desafio a ser alcançado, uma nova

metodologia de ensino e pesquisa, acima de tudo uma revolução no processo de

interação e produtividade, desde que bem empregado e adaptado as necessidades

das corporações.

A primeira parte deste documento, a pesquisa de elaboração, foi dividida

em duas partes: Revisão de Literatura e Revisão Bibliográfica.

Page 20: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

17

Na Revisão de Literatura são apresentadas: fontes de consulta e as obras

que durante todo o processo de desenvolvimento foram as tangentes seguidas como

orientações e fontes de esclarecimento e dúvidas, bem como para obtenção de

exemplos.

Na Revisão Bibliográfica, foi apresentado um contexto esclarecedor e

delimitador de situação. A discussão elaborada nestes capítulos segue uma

sistemática de contextualização do tema proposto e uma abordagem ampla das

disciplinas envolvidas. É apresentada da seguinte forma: o primeiro capítulo trata da

Teoria Geral da Administração, estabelecendo os conceitos primordiais as

organizações e o tratamento hierárquico de informações. O segundo capítulo,

introduz a relação de sistemas distribuídos e seu funcionamento transparente ao

usuário. O terceiro capítulo, apresenta os sistemas cooperativos, seus fundamentos

e maneiras de utilização de ferramentas de colaboração no contexto humano. O

quarto capítulo faz uma visão geral de redes de computadores, através do histórico

de utilização de máquinas individualizadas e o novo contexto de utilização dos

computadores interligados. O quinto capítulo, apresenta o sistema operacional

FreeBSD e as recomendações de ambiente para execução da ferramenta. O sexto

capítulo, auditoria e segurança, traçam as necessidades de proteção da informação

no contexto globalizado. O sétimo capitulo, vem definir os bancos de dados,

apresentando suas principais características, e ainda neste nos é apresentado o

banco de dados MySQL. O oitavo capítulo relaciona as linguagens de programação

utilizadas no sistema, HTML, PHP e SQL. O nono capitulo, faz uma abordagem

conceitual sobre a engenharia de software e a necessidade de sua utilização em

projetos desta natureza.

A segunda parte deste documento, a ferramenta foi tratada também em

duas partes: Desenvolvimento e Implementação. A parte destinada ao

desenvolvimento apresenta as características físicas e lógicas do sistema, bem

como sua apresentação. A parte reservada a implementação foi um modelo

sugestivo para que a ferramenta possa ganhar vida quando considerada a morte do

protótipo e o renascimento em linha de produção.

Page 21: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

18

II. REVISÃO DE LITERATURA

"Um livro é como uma janela. Quem não o lê, é como alguém que ficou distante da

janela e só pode ver uma pequena parte da paisagem."

Kahlil Gibran

AHTO, Jouni. Et al. Manual do PHP, Copyright © 1997 – 2004 PHP Documentation

Group. Tradução do Original para o Português: 2004. Disponível em <

http://www.php.net/docs.php >.

Originalmente projetada por Rasmus Lerdof nos idos de 1994, PHP, que significa

"PHP: Hypertext Preprocessor", é uma linguagem de programação de ampla

utilização, interpretada, que é especialmente interessante para desenvolvimento

para a WEB e pode ser mesclada dentro do código HTML. A sintaxe da

linguagem lembra C, Java e Perl, e é fácil de aprender. O objetivo principal da

linguagem é permitir aos desenvolvedores escrever páginas que serão geradas

de forma dinâmica e com rapidez, mas você pode fazer muito mais do que isso

com PHP. Os programas PHP4 são executados por meio de um navegador da

WEB, onde os mesmos estão residentes em um servidor WEB, responsáveis pela

sua execução e envio dos resultados provenientes da requisição ao solicitante.

AXMARK, David. Et al. MySQL Technical Reference for Version 5.0.0-alpha.

Copyright © 1997-2003 MySQL AB. Tradução do Original para o Português por

Daniel Coelho Teobaldo e Carlos Henrique Paulino: 2004. Disponível em <

http://www.mysql.com/documentation/ >.

Este é o manual de referência MySQL: ele documenta o MySQL até a versão

5.0.0-alpha. Mudanças funcionais são sempre indicadas com referência a versão,

assim este manual também pode ser utilizado caso você esteja utilizando uma

versão mais antiga do MySQL (como 3.23 ou 4.0-produção). Também a

referência a versão 5.0 (desenvolvimento). Sendo um manual de referência, ele

não fornece instruções gerais sobre SQL ou conceitos de banco de dados

relacionais. Como o Programa do Banco de Dados MySQL está sob constante

desenvolvimento, o manual também é atualizado freqüentemente. A versão mais

recente deste manual está disponível em http://www.mysql.com/documentation/

em diferentes formatos, incluindo HTML, PDF, e versões HELP do Windows. O

Page 22: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

19

documento original é um arquivo Texinfo. A versão HTML é produzida

automaticamente usando uma versão modificada do texi2html. A versão texto e

Info são produzidas com makeinfo. A versão PostScript é produzida usando

texi2dvi e dvips. A versão PDF é produzida com pdftex. Se você tiver dificuldades

de encontrar informações no manual, você pode tentar a versão disponível em

http://www.mysql.com/doc/. Se você tiver qualquer sugestão a respeito de adições

e correções neste manual, por favor, envie-os para a equipe de documentação

em [email protected]. Este manual foi inicialmente escrito por David Axmark e

Michael (Monty) Widenius. Atualmente é mantido pela Equipe de Documentação

da MySQL, que conta com Arjen Lentz, Paul DuBois e Stefan Hinz. Para outros

colaboradores, veja Apêndice C [Credits], Pagina 945. A tradução deste manual

foi feita por Daniel Coelho Teobaldo e Carlos Henrique Paulino sob a supervisão

da EAC Software. Os direitos autorais (2003) deste manual pertence à companhia

Sueca MySQL AB. Veja Seção 1.4.2 [Direitos Autorais], Página 17, do manual.

BEHLENDORF, Brian. Et. al. Apache HTTP Server Version 2.0 - English Version.

Copyright 1999-2004 The Apache Software Foundation. Disponível em <

http://apache.usp.br/httpd/docs/ >.

O Projeto apache é um esforço colaborativo de desenvolvimento de software,

criado para ser robusto, em um grau comercial, com a implementação de código

fonte livremente disponível de um servidor HTTP. O projeto é administrado

juntamente por um grupo de voluntários localizado ao redor do mundo, usando a

Internet e a WEB para se comunicar, planejar, e desenvolver o servidor e sua

documentação relacionada. Estes voluntários são conhecidos como o Apache

Group. Além das centenas de usuários que contribuíram com idéias, código, e

documentação ao projeto. Em fevereiro de 1995, o software de servidor mais

popular na WEB era o daemon de HTTP de domínio público, desenvolvido por

Rob McCool, do Centro Nacional para Aplicações de Supercomputing,

Universidade de Illinois, Urbana-Champaign. Porém o desenvolvimento daquele

HTTPD tinha protelado depois que Rob deixasse NCSA na metade de 1994, e

muitos webmasters tinham desenvolvido suas próprias extensões e muitas eram

as dificuldades de manutenção que eram encontradas pela falta de uma

distribuição comum. Um grupo pequeno destes webmasters, contatados por e-

mail, se reuniu com a finalidade de coordenar as mudanças (na forma de

Page 23: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

20

"remendos"). Brian Behlendorf e Ckiff Skolnick reuniram uma lista de clientes e

informações compartilhadas. Ao final de fevereiro, oito contribuintes formaram a

fundação original do Apache Group: Brian Behlendorf, Roy T. Fielding, Rob Hartill,

David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson;

com contribuições adicionais de Eric Hagberg Frank e Peters Nicolas Pioch.

CHIAVENATO, Idalberto. Teoria Geral da Administração. [Capítulo 10: Decorrências

da abordagem clássica e neoclássica – tipos de organização]. São Paulo: McGraw-

Hill do Brasil, 1979.

Segundo Chiavenato, “…este livro é uma tentativa de resposta aos novos

desafios com que os executivos que labutam em Administração estão se

defrontando ultimamente. À medida que o ambiente de trabalho se torna cada vez

mais turbulento e instável, maior a necessidade de opções diferentes para a

resolução de problemas…”, continuando nos prefácios do autor, “…à medida que

o executivo em Administração se desloca de trabalhos operacionais voltados para

o campo da ação – onde utiliza suas habilidades práticas de saber fazer certas

coisas corretamente – para atividades administrativas propriamente ditas voltadas

para o campo do diagnóstico e da decisão – onde utiliza suas habilidades

conceituais de diagnosticar situações e definir e estabelecer estratégias de ação

adequadas – maior a necessidade de se fundamentar conceitos, valores e teorias

que lhe permitam o balizamento adequado de seu comportamento.”, o professor

menciona sabiamente que “…com a apresentação das diversas teorias das

organizações e da sua administração, procurei oferecer um leque de diferentes

alternativas de abordagens e pontos de vista acerca da administração das

organizações. Cada abordagem se fundamenta em uma diferente perspectiva

acerca das organizações, em uma diferente maneira de concepção das

características da natureza humana, dos objetivos e valores considerados, etc.” e

acima de tudo, conclui: “…guiei-me apenas pela intenção de oferecer algo que

contribua para a melhoria da qualidade de vida nas organizações, através da

melhoria de sua administração.”.

CHOI, Wankyu. Et al. Beginning PHP4 – Programando, Tradução do Original:

Beginning PHP4: Aldir José Coelho Correia da Silva e Flávia Cruz. São Paulo.

Makron Books: 2001.

Page 24: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

21

A PHP é uma tecnologia em rápido crescimento que permite aos projetistas

construir aplicativos interativos e dinâmicos na WEB, incorporando as

informações de um servidor de banco de dados e incluindo recursos como a

integração do correio eletrônico e imagens dinamicamente geradas. A PHP4

adicionou vários recursos para tornar o desenvolvimento de aplicativos WEB

ainda mais fácil.

DNS & Bind. Berkeley Internet Name Domain. © 2002 Bind.com. Disponível em <

http://www.bind.com/bind.html >.

Em ambiente Unix, o serviço DNS é implementado através do software BIND,

desenvolvido e com o suporte da Internet Software Consortion, que também

mantém o DHCP e o INN. O BIND é um sistema cliente servidor. O lado cliente do

BIND é chamado resolver. Atualmente encontra-se na distribuição 9.x. Suas

configurações são criticas na segurança de sistemas, sendo grande alvo da

comunidade black-hat. Basicamente a idéia do DNS é cadastrar os hosts (e seus

endereços IP) em um determinado computador – o servidor DNS, ao qual são

feitas solicitações de resolução de nome: quando um computador precisa saber a

qual endereço IP um nome se refere, solicita a resolução desse nome ao servidor

DNS, que busca no seu cadastro o endereço IP correspondente e fornece ao

computador solicitante; em resumo visa facilitar a resolução dos hosts numa rede

através da utilização de um “nome” amigável em vez do endereço IP do host.

FLORES, Ricardo Resendes. Apostila de Sistemas Cooperativos. Três Corações,

2003. Disciplina de Sistemas Cooperativos do Curso de Bacharelado em Ciência da

Computação – UNINCOR, 2003.

A despeito dos tremendos esforços despendidos para diminuir custos e melhorar

a produtividade, as empresas ainda estão enfrentando os mesmos problemas há

mais de 30 anos, desde os primórdios da informática comercial: como comunicar

e gerenciar o vasto fluxo de dados e informações gerados diariamente. É

surpreendente como, apesar das inúmeras inovações tecnológicas, a forma de

trabalho e de comunicação nas empresas mudou muito pouco. Esta apostila

realiza um levantamento das principais ferramentas comerciais Groupware para

intranets corporativas.

Page 25: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

22

FreeBSD Handbook. Copyright © 1995-2004 por The FreeBSD Documentation

Project. Tradução do Original para o Português: 2004. Disponível em <

http://doc.fugspbr.org/handbook/index.html >.

Bem vindo ao FreeBSD! O handbook aborda a instalação e o uso diário do

FreeBSD 4.10-RELEASE e do FreeBSD 5.2.1-RELEASE. Este manual é um

trabalho em andamento e é o resultado do trabalho de muitos indivíduos. Muitas

sessões ainda não existem e algumas das que existem precisam ser atualizadas.

Se você está interessado em ajudar com este projeto, envie um e-mail para lista

de discussão do projeto de documentação do FreeBSD. A ultima versão deste

documento está sempre disponível no WEB site do projeto FreeBSD. Ele também

pode ser obtido em uma grande variedade de formatos e opções de compactação

a partir do Servidor de FTP do projeto FreeBSD, ou em um dos numerosos sites

espelhos.

FreeBSD Project. FreeBSD: The Power To Serve. © 1995-2004 The FreeBSD

Project. Disponível em < http://www.freebsd.org/ >.

Em síntese, FreeBSD é um sistema operacional UNIX-like para plataformas i386

e Alpha/AXP, baseado no ``4.4BSD-Lite'' da Universidade da Califórnia em

Berkeley, com alguns aprimoramentos adotados do ``4.4BSD-Lite2''. O FreeBSD

também é baseado, indiretamente, na conversão de William Jolitz conhecida

como ``386BSD'' para a plataforma i386 do ``Net/2'' da Universidade da Califórnia,

em Berkeley; apesar de que pouquíssimo código originado do 386BSD ainda

exista no FreeBSD.

HATCH, Brian. LEE, James. KURTZ, George. Hackers Expostos - Linux. Tradução

do Original - Hacking Linux Exposede: Linux Security Secrets & Solutions para o

Português por Aldir José Coelho Corrêa da Silva. São Paulo: Pearson Education do

Brasil, 2002.

No mundo em constante mudança das comunicações globais de dados, conexões

de baixo custo da Internet e rápido desenvolvimento de softwares, a segurança

está freqüentemente sendo comprometida. O Linux sempre foi considerado o

parque de diversões digital dos hackers. Muitas invasões, explorações e

ferramentas de segurança em rede são escritas no Linux porque sua

disponibilidade é imediata, como se defender dos ataques mais recentes é o

Page 26: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

23

objetivo de compreensão desta obra, que explora o modo sinistro de pensar do

hacker.

JEPSON, Brian. PECKHAM, Joan. SADASIV, Ram. Programando Aplicativos de

banco de Dados em Linux. Tradução do original: Database Application Programming

with Linux. Jeremias R. D. P. Santos e Rogério Maximiliano dos Santos. São Paulo.

Makron Books, 2002.

A popularidade do Linux como uma solução de programação empresarial tem

aumentado cada vez mais graças ao suporte dos grandes fabricantes de software

para banco de dados. Com novo software sendo lançado a cada ano, e com

melhorias constantes no software existente, os programadores precisam poder

desenvolver aplicativos de bancos de dados usando o Linux. Este guia detalhado

e que envolve aplicações práticas, escrito por especialistas nas comunidades de

banco de dados e de código-fonte aberto, oferece todas as ferramentas, técnicas

e as informações de que você precisará para começar a se tornar um especialista

em banco de dados Linux. Apresentando os fundamentos sobre o

desenvolvimento de banco de dados no mundo real, o livro inicia incluindo a

coleta dos requisitos, o projeto da interface do usuário e do banco de dados, e o

projeto orientado a objetos.

OpenSSH. This site Copyright © 1999-2004 OpenBSD. Disponível em <

http://www.openssh.com/ >.

OpenSSH é uma versão grátis do protocolo SSH um conjunto de ferramentas de

conectividade de rede que inúmeras pessoas na Internet confiam. Muitos usuários

de telnet, rlogin, ftp, e outros programas que poderiam não perceber que a senha

dele é transmitida livremente, sem criptografia pela Internet, mas o OpenSSH

codifica todo o tráfico (inclusive senhas) eliminando a espionagem efetivamente

na conexão, e outros ataques de rede. Adicionalmente, OpenSSH provê umas

muitas capacidades de segurança, como também uma variedade de métodos de

autenticação. O conjunto de ferramentas OpenSSH inclui o ssh programa que

substitui rlogin e telnet, scp que substitui rcp, e sftp que substitui ftp. OpenSSH é

desenvolvido principalmente pelo Projeto OpenBSD, e sua primeira inclusão em

um sistema operacional estavam no OpenBSD 2.6. O software é desenvolvido

fora do E.U.A., enquanto usando código de asperamente 10 países, e é

livremente usado e reusado por todo o mundo debaixo de uma licença BSD.

Page 27: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

24

OpenSSL. Welcome to the OpenSSL Project. Copyright © 1999-2002 The OpenSSL

Project. Disponível em: < http://www.openssl.org/ >.

O Projeto de OpenSSL é um esforço de colaboração mútua para desenvolver um

robusto toolkit de Fonte Aberto que implementa a Secure Sockets Layer (v2/v3 de

SSL) e Transport Layer Security (v1 de TLS) protocolos de criptografia de

propósito geral. O projeto é administrado por uma comunidade mundial de

voluntários que usam a Internet para comunicar, planejar e desenvolver o toolkit

da OpenSSL e sua documentação relacionada. OpenSSL está baseado na

excelente biblioteca de SSLeay desenvolvida por Eric A. Young e Tim J. Hudson.

O toolkit de OpenSSL é autorizado sobre uma licença do estilo Apache que

basicamente é grátis para adquirir e usar a nível comercial e propósitos não-

comerciais sujeita a algumas condições de licença simples.

PALMA, Luciano. PRATES, Rubens. Guia de Consulta Rápida TCP/IP. São Paulo.

Ed Novatec: 2000.

Este guia de consulta rápida contém uma referencia completa do TCP/IP. Inclui

tópicos como: arquitetura, roteamento, DNS, WINS, DHCP, FTP, TELNET, PING

e muito mais. Afinal o TCP/IP é o protocolo utilizado na Internet, e está se

tornando o padrão das redes coorporativas. Seu conhecimento traz um grande

diferencial profissional aqueles que utilizam redes de computadores. Este guia é

indicado tanto para o usuário que quer um primeiro contato com o TCP/IP, quanto

para o administrador que o utiliza diariamente.

PETROVIC, Dušan. SQL Server 2000 – Guia Prático. Tradução do original – SQL

Server™ 2000 – A Beginner‟s Guide para o português por César Camargos, Rogério

Maximiliano, João Tortello. São Paulo: MAKRON Books Ltda., 2001.

A solução rápida para apreender e começar a trabalhar com o SQL Server 2000.

Desenvolva e aperfeiçoe aplicativos de larga escala utilizando o SQL Server

2000. Este livro apresenta de maneira minuciosa como usar este banco de dados

e apresenta os principais conceitos relacionados a banco de dados.

PRATES, Rubens. Guia de Consulta Rápida MySQL. São Paulo. Ed Novatec: 2000

O MySQL é um gerenciador de banco de dados poderoso, estável, extremamente

eficiente, com milhares de instalações no mundo inteiro. É a solução ideal para

empresas e sites de pequeno e médio portes. Este guia contém uma referencia

Page 28: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

25

completa dos recursos do MySQL. Descreve comandos SQL, funções, utilitários,

operadores, tipos de dados e muito mais. É indicado tanto para programadores

WEB, quanto para administradores de banco de dados, sendo indispensável para

quem quer obter o máximo proveito do MySQL, sem perder tempo consultando

volumosos manuais sendo prático para carregar e consultar.

PRESSMAN, Roger S. Engenharia de Software. Tradução do original: Software

Enginnering – A Practitionar‟s Approach, 3ª ed. Por José Carlos Barbosa dos

Santos. São Paulo: Makron Books, 1995.

Esta obra discute a disciplina de engenharia de software da década de 90,

estruturada em cinco partes possibilita o entendimento fácil e a leitura agradável:

Software, o processo e sua administração, apresenta um cuidadoso tratamento

das questões de gerenciamento de projetos de software; Análise dos requisitos de

software e sistemas, cobre os fundamentos da analise e os requisitos de métodos

e notações de modelagem; O Projeto e implementação de software, apresenta

seis capítulos que enfatizam tanto os métodos convencionais como os orientados

a objetos; Garantindo, verificando e mantendo a integridade do software, destaca

as atividades que são aplicadas para garantir a qualidade ao longo de todo o

processo de engenharia de software; O Papel da automação, discute o impacto

das ferramentas CASE sobre o processo de desenvolvimento de software.

PROFTPD. Copyright (C) 1999-2003, The ProFTPD Project. Disponível em: <

http://www.proftpd.org/ >.

ProFTPD cresceu para ser um seguro e configurável servidor de FTP. Há um

número muito limitado de servidores de FTP que rodam em Unix atualmente (ou

Unix-like) os anfitriões. Comumente o servidor usado é wu-ftpd. Enquanto wu-ftpd

provê desempenho excelente e geralmente é um produto bom, falta numerosas

características achadas em Win32 mais novo servidores de FTP e tem uma

história de segurança pobre. Muitas pessoas, inclusive os desenvolvedores que

trabalham no ProFTPD, passaram muitas vezes fixando bugs e eliminando

características no wu-ftpd. Infelizmente, ficou claro depressa que para se ter

servidor de FTP completo era necessário para implementar e configurar as

características desejadas. ProFTPD não é um servidor baseado em qualquer

outro servidor, é uma árvore de fonte independente de baixo para cima.

Page 29: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

26

POSTFIX Home Page. Postfix project. In: Postfix Documentation. Disponível em <

http://www.postfix.org/documentation.html >.

O Postfix é um MTA criado por Wietse Venema, com o intuito de ser rápido fácil

de administrar e seguro, mantendo também a compatibilidade com o Sendmail.

Era originalmente conhecido com Vmailer, tendo sido lançado em 1998 como IBM

Secure Mailer e posteriormente como Postfix. É um produto de fonte aberto

liberado com a licença pública da IBM. Embora a IBM tenha apoiado o

desenvolvimento do Postfix, ela se abstém de controlar à sua evolução. O objetivo

é ter o Postfix instalado na quantidade máxima de sistemas possíveis. A fim de

atingir esta meta, o software é distribuído sem restrições, de modo que possa

evoluir com entradas fornecidas e sob controle de seus usuários. Em outras

palavras a IBM lançou o Postfix somente uma vez.

SOARES, Luiz Fernando Gomes. Et al. Redes de Computadores: das LANs, MANs

e WANs às Redes ATM. 2ª Edição. Rio de Janeiro: Campus, 1995.

Esta obra oferece uma visão completa e coerente sobre redes de computadores

apresentando as funções e serviços realizados por LANs, MANs e WANs,

exemplificados com padrões de fato e jure. Rede de computadores aborda os

conceitos essenciais, discorre por todas as tecnologias e discute as redes ATM,

em particular a RDSI-FL, escrito para estudantes de graduação, pós-graduação e

para profissionais da Ciência da Computação, este livro reflete a ampla

experiência dos autores.

STOCO, Lúcio M.. Guia de Consulta Rápida Integrando PHP com MySQL. São

Paulo. Ed Novatec: 2000.

Este guia descreve de forma prática e direta a integração entre a linguagem PHP

e o banco de dados MySQL, apresentando conceitos básicos da linguagem PHP,

suas funções de conectividade nativa com o MySQL, com exemplos práticos

como desenvolver páginas WEB dinâmicas utilizando MySQL. Descreve um

exemplo completo de cadastro, alteração, exclusão e pesquisa de dados,

incluindo o código-fonte completo. Útil para desenvolvedores iniciantes e

experientes como um guia de referência rápido mostrando os principais recursos,

tais como: instalação do PHP e do MySQL no ambiente Windows, conexão com

banco de dados, tratamento de erros e códigos avançados, sendo indispensável

Page 30: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

27

para quem deseja conhecer e implementar de maneira rápida páginas WEB

dinâmicas com banco de dados MySQL.

STREBE, Matthew. PERKINS, Charles. Firewalls. Uma Fonte Indispensável de

recursos para os Administradores de Sistema. Tradução do Original - Firewalls 24

seven para o Português por Lavio Pareschi. São Paulo: MAKRON Books, 2002.

Firewalls fornece informações detalhadas e de alto nível que os profissionais de

rede realmente precisam saber para alcançar o nível de especialistas, a obra

possui informação avançada sobre como entender a filtragem de pacotes, a

conversão dos endereços de rede, a criptografia, a autenticação e o tunelamento;

aborda entre outros os diferentes tipos de hackers que ameaçam as redes, suas

técnicas de invasão e as melhores maneiras de se proteger contra eles, sendo

uma obra completa com informações avançadas onde é apresentado tudo que

você precisa saber para proteger sua rede ao conectá-la na internet.

SUEHRING, Steve. MySQL, a Bíblia, Tradução do Original: MySQL Bible: Edson

Furmankiewicz. Rio de Janeiro. Campus: 2002.

O MySQL é o líder entre os sistemas de gerenciamento de banco de dados

relacional de código-fonte aberto. Ele é poderoso, estável e, o melhor de tudo, é

livre e gratuito. Abordando tudo desde os princípios básicos de SGBDR até

tópicos avançados, como replicação, o veterano em banco de dados Steve

Suering mostra como montar e manter seu próprio sistema de banco de dados

MySQL. Seja você um iniciante em banco de dados que precisa de ajuda com a

interface de linha de comando, um administrador que deseja dicas sobre

segurança e ajuste de desempenho ou um desenvolvedor procurando toda a

verdade sobre a construção de aplicações Perl, PHP, Java e ODBC compatíveis

com MySQL, este é o único guia de que precisa para aproveitar todo o poder do

MySQL.

2.1. REVISÃO BIBLIOGRÁFICA

"Estratégia é a arte ou ciência de saber identificar e empregar meios disponíveis

para atingir determinados fins, apesar de a eles se oporem obstáculos e/ou

antagonismos conhecidos."

Sun Tzu

Page 31: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

28

2.2. TEORIA GERAL DA ADMINISTRAÇÃO

Para, [CHIAVENATO] a Administração revela-se nos dias atuais, como

uma das áreas do conhecimento humano mais impregnadas de complexidades e

desafios. O profissional que utiliza à Administração como meio de vida, pode

trabalhar nos mais variados níveis de uma organização: desde o nível hierárquico de

supervisão elementar até o nível de dirigente máximo. Não há duas organizações

iguais, assim como não existem duas pessoas idênticas. Cada organização tem

seus objetivos, o seu ramo de atividade, os seus dirigentes, o seu pessoal, os seus

problemas internos e externos, o seu mercado, sua situação financeira, sua

tecnologia, os seus recursos básicos, sua ideologia, política de negócios, enfim. Em

cada organização, portanto, o administrador soluciona problemas, dimensiona

recursos, planeja sua aplicação, desenvolve estratégias, efetua diagnósticos de

situações, etc., exclusivos daquela organização.

Alguns autores salientam que talvez não haja área de atividade humana

tão importante quanto à administração, isto porque vivemos em uma civilização onde

o esforço cooperativo do homem é a base da sociedade, então constatamos que a

tarefa básica da administração é de fazer as coisas através das pessoas,

fortalecendo o trabalho em conjunto na busca de resultados, onde estes dependem

principalmente da capacidade daqueles que exercem funções administrativas.

O avanço tecnológico e o desenvolvimento do conhecimento humano, por

si apenas, não produzem efeitos se a qualidade da administração efetuada sobre os

grupos organizados de pessoas não permitir uma aplicação efetiva destes recursos

humanos.

Por definição [CHIAVENATO], apresenta que o trabalho do administrador

em uma organização qualquer seja ele um supervisor de primeira linha ou o dirigente

máximo da organização, é essencialmente o mesmo. Embora a tarefa que cabe ao

administrador possa variar infinitamente, o fato permanece, onde os princípios gerais

relacionados com a tarefa de administrar se aplicam a qualquer tipo ou tamanho de

organização.

Concluindo a necessidade da administração [CHIAVENATO], apresenta

que toda organização, precisa ser administrada adequadamente para alcançar os

seus objetivos com a maior eficiência e economia de ação e de recursos. Devido às

suas limitações físicas, biológicas e psíquicas, o homem tem necessidade de

cooperar com outros homens para, em conjunto, alcançarem objetivos. A

Page 32: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

29

coordenação do esforço humano torna-se um problema essencialmente

administrativo. Onde quer que a cooperação de indivíduos no sentido de alcançar

um ou mais objetivos comuns se torne organizada e formal, o componente essencial

e fundamental desta associação é a Administração – a função de conseguir fazer as

coisas através das pessoas, com os melhores resultados.

É importante estabelecer o contexto claro de distinção entre

Administração e Organização, ainda que reconhecendo o emprego de ambas as

palavras como sinônimos, [CHIAVENATO] em sua obra Fayol, faz uma profunda

distinção entre ambas estruturas. Para ele, “administração” é um foco do qual a

“organização” é uma das partes. O seu conceito amplo e compreensivo de

administração, como um conjunto de processos entrosados e unificados, abrange

aspectos que a organização por si só não envolveria, tais como os da previsão,

comando e controle. A “organização” abrange somente o estabelecimento da

estrutura e da forma, sendo, portanto, estática e limitada.

Antes de apresentarmos o modelo de organização, é pertinente uma

breve pausa, para que sejam estabelecidos os conceitos de grupo e as mudanças

de paradigma implícito, nesta estrutura de agrupamento administrativa.

A necessidade de se definir claramente com objetivos bem determinados

à estrutura de grupos dentro de uma organização, pois é preciso mudar o

comportamento das pessoas nas suas relações recíprocas, sem que se restrinja sua

liberdade, nem limite o seu potencial de desenvolvimento, para que aceitem e se

respeitem reciprocamente. Como a mudança ou a resistência à mudança é

grandemente influenciada pela natureza dos grupos aos quais as pessoas

pertencem, as tentativas de mudanças devem necessáriamente considerar a

dinâmica dos grupos.

Através de Cartwright, [CHIAVENATO] define que os grupos podem

participar do processo de mudança em pelo menos três perspectivas diferentes, a

saber:

a) o grupo como instrumento de mudança – aparece como fonte de

influência sobre seus membros. Os esforços para mudar o

comportamento podem encontrar apoio ou resistência do grupo

sobre seus membros.

b) o grupo como meta de mudança – para mudar o comportamento de

indivíduos, pode-se tornar necessário mudar os padrões do grupo,

Page 33: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

30

seu estilo de liderança, seu ambiente emotivo, etc. Muito embora a

finalidade possa ser a mudança do comportamento de indivíduos, o

grupo se torna à meta da mudança.

c) o grupo como agente de mudança – certas mudanças de

comportamento podem ser provocadas somente através de

esforços organizacionais de grupos que atuem como agentes de

mudança, onde a resistência foi definida por Lewin como um

fenômeno geral dos organismos sociais. Pode ser esquematizada

como uma lei de ação e reação: toda ação tende a provocar uma

reação que visa a anular os seus efeitos.

Para [CHIAVENATO], o conceito de grupo é dos mais difíceis de definir.

Não basta uma convergência de pessoas no espaço e no tempo para construir um

grupo. Nem tampouco o define o fato de terem tais pessoas um ou vários traços em

comum, fato que constituirá apenas uma classe. O que caracteriza o grupo humano

é o fato de terem os seus membros um alvo comum, um objetivo comum. O Grupo,

portanto, tem as seguintes características:

a) Uma finalidade, ou seja, um objetivo comum;

b) Uma estrutura;

c) Uma organização dinâmica; e

d) Uma coesão interna.

Em resumo, [CHIAVENATO] determina que o grupo formado de menor

número de pessoas tende a desfrutar de um moral mais elevado do que os grupos

formados por número elevado de indivíduos, onde todos fazem o mesmo serviço e

onde há dificuldade de se formar grupos estáveis e perfeitamente identificados, e

assim saber lidar com pessoas, individualmente ou em grupos, passou a ser um dos

maiores problemas da empresa, no sentido de se obter o maior rendimento da mão-

de-obra, dentro do máximo de satisfação e do mínimo de desgaste, onde o

administrador tem a função, de um lado, de ser capaz de criar condições para que

sua empresa atinja da melhor forma os seus objetivos e, de outro lado, criar

condições para que seu pessoal atinja os seus objetivos individuais.

Para [CHIAVENATO], a organização como função administrativa, envolve

a noção de organização como uma parte do processo administrativo. Neste sentido:

“é o agrupamento de atividades necessárias

para atingir os objetivos da empresa e a

Page 34: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

31

atribuição de cada agrupamento a um executivo

com devida autoridade para atingir tais

atividades. A organização requer, pois, o

estabelecimento de relações de autoridade com

disposições para a coordenação entre as

mesmas, tanto vertical como horizontalmente, na

estrutura da empresa”.

Mantendo a linha de raciocínio de [CHIAVENATO], após o planejamento,

geralmente segue-se a função de organização, dentro dos moldes clássicos e

neoclássicos. Para que os objetivos possam ser atingidos, os planos executados, e

as pessoas possam trabalhar eficientemente, as atividades precisam ser

adequadamente agrupadas de maneira lógica e a autoridade distribuída de maneira

a evitar conflitos e confusões. A palavra organizar, na abordagem clássica e

neoclássica, esta relacionada com:

a) Determinação das específicas atividades necessárias para o alcance

dos objetivos planejados;

b) Agrupamento das atividades em um padrão moldura ou estrutura

lógicos;

c) Designação das atividades às específicas posições e pessoas.

Assim, no processo de organizar três questões básicas, impõem-se à

administração:

1) Como a organização será dividida em departamentos?

2) Como os esforços destes departamentos separados serão

coordenados para alcançar esforço unificado?

3) Como será dividido o trabalho dentro de cada departamento?

A organização é uma atividade básica da administração: serve para

agrupar e estruturar todos os recursos – sejam humanos ou não-humanos – para

atingir os objetivos predeterminados. A estrutura organizacional pode ser visualizada

sob dois aspectos intimamente relacionados entre si: o aspecto vertical e o aspecto

horizontal.

O aspecto vertical se refere basicamente à dimensão escalar ou

hierárquica e envolve a nivelação das decisões, a cadeia de comando, o número de

níveis hierárquicos necessários, a amplitude administrativa, como itens principais.

Page 35: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

32

O aspecto horizontal ou lateral se refere basicamente ao fluxo de relações

dentro da organização e envolve à departamentalização, a divisão do trabalho,

órgãos de linha e de staff, o papel de comissões interdepartamentais, a

coordenação, procedimentos de tomada de decisão entre setores diferentes da

organização, como itens principais.

Dentre os princípios gerais da Administração aplicados à função de

organização, podemos alinhar:

1. Principio da Especialização na Organização

A base elementar da organização é a especialização, seja no sentido

horizontal ou vertical, de um modo geral:

a) Especialização horizontal – é uma decorrência da divisão do

trabalho, pois a organização cria e estimula a especialização,

fazendo com que se desenvolvam determinadas zonas de

atribuições especificas. Ocorre na medida em que o

desenvolvimento de um órgão faz com que o mesmo cresça

horizontalmente ou se divida em outros órgãos paralelos e no

mesmo nível para aumentar à sua perícia no desempenho de

uma dada atividade. Com a especialização horizontal há um

desdobramento de órgãos no mesmo nível. É a chamada

departamentalização.

b) Especialização vertical – é também uma decorrência da divisão

de trabalho, a característica básica de toda atividade

organizada. Ela leva também à especialização vertical, ou seja,

à diferenciação entre os órgãos supervisores e os órgãos

executores. Com a especialização vertical há um

desdobramento do órgão em vários níveis hierárquicos,

especializando a supervisão exercida.

2. Principio da Definição Funcional

O conteúdo de cada posição e as relações formais entre os ocupantes

devem ser claramente definidos por escrito. Os deveres, atribuições, autoridade e

relações de cada participante do todo da empresa, além de situados no

organograma, devem ser claros e completamente definidos por escrito, através

daquilo que chamamos Descrição do Cargos, que é o relacionamento das tarefas de

Page 36: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

33

um ou mais (se idênticos) postos de trabalho, definindo a subordinação do mesmo e

a qualidade e quantidade de autoridade atribuída ao seu ocupante para responder

às responsabilidades que lhe foram delegadas.

3. Principio da Paridade da Responsabilidade e Autoridade

A autoridade é o poder de ordenar a realização de tarefas e a

responsabilidade é a obrigação de as realizar. O principio da paridade salienta que a

autoridade necessária para tanto deve corresponder à responsabilidade. Essa

paridade não é matemática, mas coextensiva, uma vez que ambas se referem às

mesmas atribuições. Essa correspondência entre o volume de responsabilidade e de

autoridade é necessária para evitar responsabilizar subordinados por certos deveres

sem que estes tenham a necessária autoridade. Ou em caso contrário, dar-se

demasiada autoridade para muito pouca responsabilidade.

A responsabilidade pode ser delegada: é uma obrigação de realizar, é

devida ao ocupante da posição. O administrador pode transferir responsabilidades

para seus subordinados, mas sem isentar-se delas, pois responde subsidiariamente

por elas. O presidente eleito não pode livrar-se da total responsabilidade pela

direção da empresa, por tê-la entregue à sua equipe de gerentes: É Responsável

em nível mais elevado pela empresa.

Por outro lado, a autoridade significa o poder, em qualquer nível, de tomar

decisões no campo de sua especialidade. Somente os assuntos que a limitação de

autoridade impede de decidir é que devem ser levadas as instâncias superiores.

Daí o principio de autoridade e responsabilidade: a cada responsabilidade

deve corresponder uma autoridade que permita realizá-la e cada autoridade dever

corresponder uma responsabilidade que lhe dê conteúdo e objetivo.

4. Principio das funções de “Staff” e de Linha

É preciso definir, da forma mais clara possível, não só a quantidade de

autoridade delegada, mas igualmente a qualidade ou natureza dessa autoridade.

Este princípio leva a estabelecer uma distinção entre funções de “staff” e linha dentro

da organização.

As funções de linha são aquelas diretamente ligadas aos objetivos da empresa

ou do departamento, enquanto as funções de staff são aquelas que não se

encontram diretamente ligadas àqueles objetivos,

Page 37: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

34

O critério de distinção é o relacionamento direto ou indireto com os objetivos

propostos e não o grau de importância de um setor sobre o outro. É possível mesmo

que um órgão indiretamente relacionado aos objetivos da empresa seja mais

importante, dadas as condições de mercado, conjuntura, etc., que outros

diretamente relacionados.

Todavia, um mesmo órgão ou cargo pode assumir caráter diferente:

a) De uma empresa para outra;

b) Numa mesma empresa, ao serem alterados os seus objetivos.

5. Principio Escalar

Refere-se à cadeia de relações diretas de autoridade de um superior para

um subordinado, em toda a organização, sendo que a autoridade máxima deve ser

sempre fixada em algum lugar e deve haver uma linha bem definida ligando esta a

qualquer outra posição na organização. Salienta que cada subordinado deve saber

exatamente quem delega autoridade e a quem deve dirigir-se quanto a assuntos que

fujam de sua alçada de autoridade.

Estabelecidos os princípios gerais de administração aplicados, a

organização, deve ter em mente os princípios de direção, que nos introduzem as

características humanísticas de autoridade e poder.

Para [CHIAVENATO], a função de direção se relaciona diretamente com a

maneira pela qual o objetivo é alcançado através da orientação das operações que

devam ser executadas. A função de direção se preocupa com que as operações

sejam executadas e os objetivos atingidos. Assim a função de direção implica “em

dizer a outras pessoas o que fazer e conseguir que elas o façam da melhor maneira

possível. Para produzir os resultados necessários determinará seu sucesso ou

fracasso”, envolvendo basicamente a influência e induzimento dos subordinados ao

comportamento do papel que eles devem ocupar na organização. Envolve além do

conhecimento da motivação humana e do processo de ativar o comportamento

humano, o conhecimento do processo de liderança. Igualmente importante é o

conhecimento relacionado com o como o individuo pode exercer autoridade e poder,

ou exercer influência sobre os outros.

O poder implica em potencial para exercer influência, esta sendo feita

através de muitos meios: seja através de sanções, pela persuasão, etc.

Page 38: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

35

A autoridade refere-se ao poder que é inerente ao papel de uma posição

dentro da organização. É legitima quando o poder é visto como um direito e

apropriado pelos membros da organização. Ela é delegada por meio de descrição de

posições, títulos organizacionais, procedimentos de operações padronizadas e

políticas relacionadas.

Concebido a direção, o processo administrativo se torna fundamentado

pela atividade de controle.

Conforme [CHIAVENATO], a palavra controle tem muitas conotações e

seu significado depende da função ou área especifica em que é aplicado:

a) Pode ser a função orgânica da administração, como os elementos de

controle da supervisão. Neste caso, é parte do processo

administrativo, como o planejamento, organização e direção;

b) Pode ser os meios de regulação de um individuo ou organização,

como as tarefas especficas que um controller aplica em uma

empresa;

c) Pode ser a função restritiva de um sistema para manter os

participantes dentro dos padrões desejados, como é o caso do

controle de freqüência e expediente do pessoal.

Há casos ainda em que o controle é um sistema automático que mantém

um grau constante de fluxo ou de funcionamento do sistema total. Ele atua no

sentido de ajustar as operações a determinados padrões previamente estabelecidos

e funciona de acordo com a informação que recebe. Essa informação permite a

oportunidade de ação corretiva, que é à base do controle, portanto, deve ser definido

de acordo com os resultados que se pretende obter a partir dos objetivos, planos,

políticas, organogramas, procedimentos, etc.

2.3. SISTEMAS DISTRIBUIDOS

Para [SIL2003], a computação, em geral, tem baseado o seu

desenvolvimento numa relação muito forte com o progresso tecnológico. Isto é, a

medida que a tecnologia computacional se moderniza, novos conceitos e novas

maneiras de se processar informações são criados, sempre buscando o

aperfeiçoamento do processo computacional. A indústria computacional avançou

como nenhuma outra. Há pouco mais de uma década, os sistemas computacionais

eram na sua maioria sistemas centralizados (único processador), compartilhados

Page 39: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

36

entre diversos usuários. A maioria das organizações possuía poucos computadores,

e por falta de meios de interconexão estes operavam separadamente.

Dois avanços tecnológicos, envolvendo processadores e formas de

interconexão de computadores, começaram a mudar este panorama. Poderosos

microprocessadores foram desenvolvidos, alguns com poder computacional

comparável a mainframes, a custo mais acessível. Além disso, microprocessadores

dobraram seu desempenho a cada 18 meses na última década, e continuam a

evoluir em uma taxa muito maior que supercomputadores.

A tecnologia de interconexão de computadores evoluiu de forma similar.

Difundiu-se o uso de redes de computadores, à medida que estas se tornavam mais

confiáveis e permitiam maiores taxas de transmissão. Esta combinação de fatores

levou ao desenvolvimento de uma nova forma de organização dos sistemas

computacionais, baseada na interconexão de vários computadores, não

necessariamente homogêneos, através de uma rede de computadores. Estes são

geralmente chamados sistemas distribuídos, em contraste aos sistemas

centralizados anteriormente citados.

Para [SIL2003], Coulouris cita ainda um terceiro fator de estímulo para a

difusão de sistemas distribuídos: o desenvolvimento do sistema UNIX, que serviu

como base para grande parte dos primeiros sistemas distribuídos desenvolvidos.

Não existe uma única definição para Sistemas Distribuídos. Uma definição

precisa e completa do que é um sistema distribuído é difícil de apresentar, visto que

cada autor na literatura disponível apresenta definições próprias e com diversos

pontos conflitantes. Em linhas gerais [SIL2003] sugere o critério de Tanenbaum e

Van Renesse para definir um sistema distribuído, observando que a tolerância à

falha é um fator muito importante. Neste contexto, pode-se definir os sistemas

distribuídos como um grupo de computadores com capacidade de processamento

autônomo, interconectado por uma rede e que para o usuário aparenta ser um único

computador.

A utilização dos sistemas distribuídos, principalmente arquitetura estação

de trabalho/servidor, apresenta algumas vantagens e desvantagens. Dentre as

vantagens, pode-se destacar:

Resposta previsível: para as tarefas “locais” executadas nas Estações

de Trabalho (execução monousuário);

Page 40: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

37

Extensibilidade / modularidade: o sistema pode crescer

gradativamente, com a instalação de novos software e hardware, sem

afetar o desempenho do sistema como um todo. Permitindo também

uma maior facilidade na manutenção de software e ou hardware;

Compartilhamento de recursos: permite o compartilhamento de

recursos físicos e lógicos de alto custo, possibilitando uma utilização

(relativamente) barata. Ex.: servidores de arquivos, banco de dados,

impressoras, correio eletrônico, etc.;

Replicação: diversas cópias de um mesmo arquivo podem ser

armazenadas em locais distintos aumentando a confiabilidade.

Disponibilidade: o sistema como um todo não é interrompido devido a

falha de um elemento;

Mobilidade dos usuários: dependendo do modelo arquitetural usado os

usuários ficam livres para acessar o sistema de diversos pontos.

Outras vantagens podem ser identificadas durante a análise e

comparação dos sistemas distribuídos com outros sistemas. Com relação às

desvantagens pode-se destacar:

Gerenciamento: dependendo do modelo arquitetural utilizado, cada

usuário pode necessitar ser um gerente, tendo que:

o Executar rotinas de backup;

o Alocar tempo de processamento;

o Dar manutenção / evolução do software.

Desempenho / Confiabilidade: o desempenho e a confiabilidade está

relacionado a rede utilizada. A rede pode tornar-se o gargalo,

principalmente se existirem servidores sobrecarregados de serviços;

Segurança: para aumentar a flexibilidade do sistema existem clientes

com acesso à comunicação básica e isto enfraquece a segurança. Via

de regra, qualquer informação colocada na rede deixa de ser

“segredo”. Mas existem diversos mecanismos para melhorar a

segurança, e estes devem ser implementados de acordo com a

necessidade do sistema;

Complexidade: elementos individuais são mais simples, mas com a

utilização de um conjunto de componentes cria-se uma complexidade

Page 41: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

38

razoavelmente grande, tanto para implementação do software e do

hardware.

Por definição, [SIL2003], apresenta os principais elementos que compõem

um sistema distribuído:

a) Estações de Trabalho: desde máquinas simples (PC‟s) até estações

especializadas, com capacidade gráfica, processamento científico, etc.

Padrão:

Tela de alta resolução: 1000 x 800 (ou maior);

Colorido ou monocromático;

Mouse (janelas, “icons”, menus, etc);

Microprocessador 32 bits (ex: Pentium);

Com pelo menos 32 Mbytes de RAM

Fisicamente adequado a uso pessoal (pequena e silenciosa).

Interface para rede local (Ethernet).

b) Servidor de Arquivos: Estação de Trabalho com elevada capacidade

de armazenamento em massa e processamento. Normalmente pode

se tornar um ponto de estrangulamento no sistema.

c) Servidor de Impressão: faz o gerenciamento de impressoras remotas.

d) Servidor de Nomes: gerencia tabelas de nomes e funções do sistema.

É um elemento fundamental em um Sistema Distribuído.

Os servidores não necessariamente estarão em máquinas separadas,

dependendo do sistema implementado, apenas um servidor pode ser utilizado como

servidor de arquivo, impressão, nomes e outros.

No contexto das aplicações comerciais deve-se observar alguns fatores

como sendo de vital importância para a constituição de um sistema distribuído:

Confiabilidade e segurança;

Acesso concorrente;

Possibilidade de crescimento;

Acesso de pontos distantes;

Para [SIL2003], um projeto de Sistemas Distribuídos necessita conter

alguns aspectos chaves que as pessoas envolvidas no projeto de um sistema

distribuído devem tratar, e apresenta suas principais características.

a) Transparência: Este é provavelmente o tópico mais importante de

tudo, pois trata de como obter uma imagem única do sistema. A

Page 42: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

39

transparência pode ser obtida em diversos níveis: 1. A maneira mais

simples de obtê-la é escondendo dos usuários o fato de eles estarem

tratando com um sistema distribuído; e 2. Em um nível mais baixo, é

possível também fazer com que o sistema pareça transparente para os

programas. Em outras palavras, pode-se projetar a interface das

chamadas do sistema de forma a tornar invisível a existência dos

vários processadores. No entanto, “tampar” os olhos do programador é

muito mais difícil do que fazê-lo com os usuários. O conceito de

transparência pode ser aplicado a vários aspectos dos sistemas

distribuídos: Transparência à localização, Transparência à migração,

Transparência à replicação, Transparência à concorrência e

Transparência ao paralelismo.

b) Flexibilidade: A segunda característica importante do projeto de um

sistema distribuído é a flexibilidade. Existem duas linhas quanto a

flexibilidade da estrutura dos sistemas distribuídos: Kernel Monolítico e

o MicroKernel. O Kernel Monolítico é o kernel tradicional que fornece a

maioria dos serviços. É um sistema operacional centralizado que foi

ampliado com facilidades de rede e integração de servidores remotos;

o Microkernel é o kernel que deve fornecer apenas os serviços

básicos.

c) Confiabilidade: Um dos objetivos originais que se buscava com a

construção de sistemas distribuídos era fazê-los mais confiáveis que

os sistemas centralizados, baseados em um único processador. A

idéia básica por trás disso é o fato de que se algumas máquinas do

sistema saírem do ar por algum motivo, as demais aquentarão a barra.

Na teoria os servidores funcionariam de forma independente, podendo

ocorrer falhas. Mas na prática é necessário que um conjunto de

servidores esteja funcionando para que o sistema funcione como um

todo.

d) Performance: A construção de um sistema distribuído transparente,

flexível e confiável não vai ter nenhuma serventia, se ele for lento.

Uma aplicação rodando em um Sistema Distribuído não pode

comportar-se de maneira pior do que se rodasse em um único

processador.

Page 43: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

40

e) Escalabilidade: Um sistema distribuído deve permitir a expansão em

termos do número de usuários e recursos e, mesmo assim, manter a

performance relativa de atendimento a serviços do usuário. A maioria

dos sistemas distribuídos atuais é projetada para trabalhar com

poucas centenas de processadores.

Os sistemas complexos, abrangendo multiprocessadores, redes de

computadores e sistemas distribuídos, possuem características de hardware e

software bem definidas, tanto os sistemas distribuídos quanto os multiprocessadores

apresentam-se ao usuário como um sistema único. A rede de computadores deixa

transparecer ao usuário a existência explícita de seus diversos computadores e

recursos existentes.

2.4. SISTEMAS COOPERATIVOS

Para estabelecer as fronteiras dos sistemas cooperativos encontramos

[FLORES], que menciona a despeito dos tremendos esforços dispendidos para

diminuir custos e melhorar a produtividade, as empresas ainda estão enfrentando os

mesmos problemas há mais de 30 anos, desde os primórdios da informática

comercial: como comunicar e gerenciar o vasto fluxo de dados e informações

gerados diariamente. É surpreendente como, apesar das inúmeras inovações

tecnológicas, a forma de trabalho e de comunicação nas empresas mudou muito

pouco.

Mesmo com investimentos contínuos em automação de escritório, e na

persistente busca do sonho do "escritório sem papel", o volume de papel dispendido

diariamente é assombroso. Outra parte do problema é que os sistemas de

informações tradicionais tratam de apenas uma pequena parte das informações

utilizadas nas organizações. Para automatizar o resto dos processos, além de abrir

espaço para o tráfego extra nos sistemas e tornar o uso de computadores muito fácil

para qualquer pessoa, também significaria tornar as redes de dados tão abertas e

fáceis de usar como, por exemplo, o sistema telefônico.

De certa forma, recentes desenvolvimentos parecem ter concorrido para

colocar esses objetivos ao alcance de qualquer organização. Embora a Internet não

seja uma tecnologia emergente, o aumento de popularidade e crescimento da "rede

das redes" nos anos recentes é um fenômeno mundial que extrapola aos

circunscritos ambientes dos negócios e dos computadores. O crescimento

Page 44: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

41

exponencial da Internet e da WWW trouxe para dentro das organizações uma das

mais excitantes e importantes tecnologias: as intranets corporativas.

Basicamente, intranet envolve o uso de tecnologias desenvolvidas para a

Internet para criar "internets" privadas nas organizações. A tecnologia WWW, com

os arquivos padrão HTML, e servidores HTTP oferece uma interface simples e

uniforme, tornando-a um efetivo integrador e denominador comum entre diferentes

plataformas. Sem a complexidade dos velhos sistemas centralizados, as intranets

compõem um ambiente de trabalho que oferece abordagens inovadoras para a

autoria, gerenciamento e publicação de informações distribuídas, possibilitando

dinamizar o fluxo de informações, democratizar as redes internas e ajudar a diminuir

a opressiva carga de papel gerada diariamente. Numa intranet, a informação passa

a ser criada e gerenciada por aqueles que a produzem, sem ter que depender de

programadores para criar entradas de dados e extrair relatórios.

Outra mudança que está acontecendo nas organizações é advinda dos

benefícios da computação colaborativa para grupos de trabalhos. A complexidade e

o tamanho das tarefas do mundo atual exigem maior interação entre as pessoas, e

entre grupos de pessoas de talentos multidisciplinares. Proporcionar o suporte

operacional para que pessoas possam interagir cooperativamente é o objetivo da

disciplina que se convencionou chamar CSCW e Groupware tem sido usado para

designar os softwares que implementam essa tecnologia.

CSCW é o acrônimo para trabalho cooperativo suportado por computador,

e foi cunhado por Irene Greif e Paul Cashmann em 1984, ao organizarem um

workshop com pessoas de várias disciplinas que compartilhavam o interesse em

estudar como grupos trabalham, e procurar descobrir meios como a tecnologia

(especialmente computadores) poderia auxiliá-los.

O termo Groupware já tinha sido usado por Peter e Trudy Johnson-Lenz

em 1982, mas passou a ser adotado pela comunidade CSCW para definir as

tecnologias comerciais que procuram implementar sistemas CSCW. Atualmente

existem conferências anuais para Groupware, focalizando sistemas comerciais, e

CSCW, direcionadas para sistemas experimentais e estudo da natureza do espaço

do trabalho e organizações. Para Ellis, Gibbs e Rein, o objetivo de Groupware é dar

assistência aos grupos na comunicação, colaboração e coordenação de suas

atividades. Estes autores definem Groupware especificamente como "sistemas de

Page 45: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

42

computadores que assistem grupos de pessoas engajadas em uma tarefa (ou

objetivo) comum e que provêem uma interface com um ambiente compartilhado".

Consultando [FLORES], deparou-se com a afirmação de Baecker, CSCW

e Groupware representam uma mudança de paradigma na ciência da computação,

pois são enfatizadas a coordenação, comunicações e resolução de problemas entre

humano-humano ao invés de humano-máquina. Sistemas CSCW podem integrar

voz e vídeo, comunicação com espaços de trabalho digitais compartilhados, e

podem suportar trabalho que ocorre tanto de forma síncrona como assíncrona.

Assim, a tecnologia Groupware permite uma expansão dos conceitos de reunião e

de trabalho colaborativo, ao habilitar aos participantes transcenderem aos

requerimentos de estarem no mesmo lugar e trabalharem juntos ao mesmo tempo.

Através de [FLORES], encontra-se o texto de Borges que considera que

sistemas que promovem a comunicação entre os membros de um grupo de trabalho,

como o correio eletrônico, são sistemas Groupware, pois contribuem para que o

resultado seja maior do que a soma das contribuições individuais. Numa visão ainda

mais prática Hills considera que Groupware é qualquer ferramenta que ajuda as

pessoas a trabalharem juntas, mais fácil e eficazmente, citando o telefone como a

mais simples e comumente utilizada dessas ferramentas.

Para o contexto computacional, a mesma autora define Groupware como

um conjunto de hardware e software numa rede, que procura atender a três

propósitos: Comunicação, Coordenação e Colaboração.

Para realizar esses propósitos, Groupware deve permitir que duas ou

mais pessoas trabalhem juntas ajudando a compartilhar seus conhecimentos e

especialidades, automatizar suas atividades, criar uma memória organizacional, e a

conectá-las, mesmo através de pontos geográficos e tempos diferentes.

É importante estabelecer que a Internet é a rede mundial de

computadores que se comunica por um conjunto de protocolos de software abertos.

A Internet iniciou nos anos 60 como um projeto do Departamento de Defesa dos

Estados Unidos patrocinando pesquisas para conectar uma rede experimental

denominada ARPANET, e outras várias redes de rádio e satélite.

Da mesma maneira Intranet é uma rede interna de computadores de uma

corporação baseada nos padrões de funcionamento da Internet, como o protocolo

TCP/IP, arquivos HTML, e servidores HTTP, que caracterizam a WWW, o serviço

Page 46: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

43

mais popular e de maior crescimento na Internet. Normalmente a intranet fica

protegida de acessos externos pela Internet por um firewall.

Groupware é uma ferramenta que ajuda as pessoas a trabalharem juntas

com mais facilidade ou eficiência, permitindo que se comuniquem, coordenem e

colaborem. Esta ferramenta às vezes recebe outras denominações, como

computação colaborativa (collaborative computing) ou sistema de suporte a grupos

(group support system). O Groupware possibilita a livre circulação da informação, o

que estimula à inovação e facilita a liderança coletiva. Seu uso deve resultar em uma

organização mais bem preparada para enfrentar os desafios do mercado atual.

Uma das ferramentas mais simples de auxílio ao trabalho em conjunto é o

telefone, todavia nós comumente não pensamos nele como uma ferramenta de

Groupware. Por exemplo, caso trabalhássemos no mesmo prédio, em vez de perder

tempo indo a seu escritório eu posso simplesmente ligar para você. Isso economiza

tempo e facilita o trabalho em conjunto.

No passado, havia uma distinção entre ferramentas de Groupware e de

workgroup. Ferramentas de workgroup destinam-se geralmente a produtividade

pessoal, como processadores de textos, planilhas de cálculos, agenda pessoal e

ferramentas de planejamento que as pessoas usam para coordenar suas atividades.

Muitos produtores dessas ferramentas as estão transformando em ferramentas de

colaboração, fazendo com que as distinções entre elas comecem a desaparecer.

O Groupware consiste em hardware e software em uma rede, com a

finalidade de:

Ajudar duas ou mais pessoas a trabalharem juntas;

Permitir o compartilhamento de experiências e conhecimentos;

Automatizar suas atividades;

Ajudar a criar uma memória organizacional;

Possibilita superar incompatibilidade entre geografia e tempo.

O Groupware geralmente serve a três propósitos:

1. Comunicação: Ajuda as pessoas a compartilharem informações.

2. Coordenação: Ajuda as pessoas a coordenarem suas atuações

individuais com as dos demais.

3. Colaboração: Ajuda as pessoas a trabalharem em conjunto.

Colaborar é trabalhar em conjunto para produzir um produto muito maior

que a soma de suas partes. Durante o processo os colaboradores desenvolvem uma

Page 47: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

44

compreensão compartilhada muito mais profunda do que seria se tivessem

trabalhado sozinhos ou contribuído com uma pequena parte do produto final.

O que é conhecimento e como você o captura e compartilha? Observa-se

ao longo dos anos que se pode obter dados e colocá-los em relatórios, mas para

torne-os verdadeiramente úteis alguém deve interpretá-los e, a partir disso, tomar

decisões. Há poucos anos, adicionamos ferramentas para transformar os dados em

informações, identificando tendências. Com o conhecimento, avançamos um outro

passo. Captamos mais do que simplesmente números e tendências: entendemos o

que as pessoas fazem com aqueles números e seu impacto potencial. Captamos a

habilidade da organização para compartilhá-los com todos. O conhecimento pode

ser um, ou todos, dos seguintes:

O que as pessoas têm aprendido ao desenvolver produtos.

O que você sabe sobre sua concorrência e seus produtos.

O que você sabe acerca de quem são seus clientes, o que eles

querem e o que pensam sobre seus produtos e os de sua

concorrência.

A habilidade de seus empregados mais bem treinados.

Uma vez captado o conhecimento, a forma de utilizá-lo é o que atribuirá à

sua empresa uma margem competitiva. Uma vez que seus funcionários são seu

maior bem, captar e compartilhar suas idéias, invenções e inovações serão a chave

para sua competitividade futura. Coletar e manter esse conhecimento é uma das

muitas aplicações do Groupware.

As intranets, da maneira como normalmente são utilizadas, são

basicamente uma forma de Groupware, porque proporcionam conferências e bancos

de informações para armazenamento e compartilhamento de informações. Já

sabemos muito sobre o benefício das intranets. Trata-se de uma maneira de

economizar dinheiro e aumentar produtividade, mas os resultados finais reais,

advindos do Groupware, só aparecem quando todos trabalham em harmonia. Tendo

atingido esse estágio, sua empresa contará com as melhores decisões, os melhores

produtos e o melhor serviço ao cliente.

2.5. REDES DE COMPUTADORES

Em sua obra, [SOARES], apresenta a evolução tecnológica e a

conseqüente diminuição dos custos dos computadores como uma forma da mais

Page 48: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

45

atraente para a distribuição do poder computacional em módulos processadores

localizados em diversos pontos de uma organização. A necessidade de interconexão

desses módulos processadores, para permitir o compartilhamento de recursos de

hardware e software e a troca de informações entre seus usuários, criou o ambiente

propicio para o desenvolvimento das redes de computadores.

A comunicação é uma das maiores necessidades da sociedade humana

desde os primórdios de sua existência. Conforme as civilizações se espalhavam,

ocupando áreas cada vez mais dispersas geograficamente, a comunicação à longa

distância se tornava cada vez mais uma necessidade e um desafio. Formas de

comunicação através de sinais de fumaça ou pombos-correios foram as maneiras

encontradas por nossos ancestrais para tentar aproximar as comunidades distantes.

A invenção do telegrafo por Samuel F. B. Morse em 1838 inaugurou uma nova era

nas comunicações.

Sabiamente [SOARES], afirma que a conjunção de duas tecnologias –

comunicação e processamento de informações – vieram revolucionar o mundo em

que vivemos, abrindo as fronteiras com novas formas de comunicação, e permitindo

maior eficácia dos sistemas computacionais. Redes de computadores são hoje uma

realidade neste contexto. Para que possa entender, é necessário que observar como

se deu a evolução dos sistemas de computação até os dias de hoje, onde a

distribuição do poder computacional é uma tendência indiscutível.

Na década de 1950, computadores eram máquinas grande porte e

complexas, operadas por pessoas altamente especializadas. Não havia nenhuma

forma de interação direta entre usuários e máquinas, longos períodos de espera

eram comuns até que se pudesse obter algum resultado, dado que todo

processamento era feito job a job de acordo com a ordem que eram submetidos.

Os avanços da década de 1960 possibilitaram o desenvolvimento dos

primeiros terminais interativos, permitindo aos usuários acesso ao computador

central através de linhas de comunicação. Os usuários passavam a ter então um

mecanismo que possibilitava a interação direta com o computador, ao mesmo tempo

em que os avanços nas técnicas de processamento davam origem a sistemas de

tempo compartilhado (time-sharing), permitindo várias tarefas dos diferentes

usuários ocupassem simultaneamente o computador central, através de uma

espécie de revezamento no tempo de ocupação do processador.

Page 49: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

46

Mudanças na caracterização dos sistemas de computação ocorreram

durante a década de 1970: de um sistema único centralizado e de grande porte,

disponível para todos os usuários de uma determinada organização, partia-se em

direção à distribuição do poder computacional. O desenvolvimento de

minicomputadores e microcomputadores com desempenho, com requisitos menos

rígidos de temperatura e umidade, permitiu a instalação de considerável poder

computacional em várias localizações de uma organização, ao invés da anterior

concentração deste poder em uma determinada área. Com o desenvolvimento

tecnológico, a continua redução do custo do hardware acompanhada do aumento da

capacidade computacional levou também ao uso cada vez maior dos

microcomputadores. Esses sistemas pequenos e dispersos eram mais acessíveis ao

usuário, possuíam uma responsividade melhor e eram mais fáceis de utilizar do que

os grandes sistemas centralizados com compartilhamento de tempo.

A exigência de que grande parte dos dados estivessem associados a um

sistema de grande capacidade centralizado e a razão de custo, justificava a

utilização compartilhada de periféricos especializados. Assim, a interconexão entre

vários sistemas para o uso compartilhado de dispositivos periféricos tornou-se

importante, aliado ao fator da capacidade de troca de informações, onde usuários

individuais de sistemas de computação não trabalham isolados e necessitam de

alguns dos benefícios oferecidos por um sistema centralizado.

Ambientes de trabalho cooperativo se tornaram uma realidade tanto nas

empresas como nas universidades, tornando ainda mais necessária a interconexão

dos equipamentos nessas organizações.

Compreendido a evolução dos sistemas de computação, [SOARES]

apresenta o conceito de uma Rede de Computadores, que é formada por um

conjunto de módulos processados1 capazes de trocar informações e compartilhar

recursos, interligados por um sistema de comunicação.

O sistema de comunicação vai se constituir de um arranjo topológico

interligando os vários módulos processadores através de enlaces físicos (meios de

transmissão) e de um conjunto de regras com o fim de organizar a comunicação

1 Se refere a qualquer dispositivo capaz de se comunicar através do sistema de comunicação por

troca de mensagens. Poderíamos citar, por exemplo, um microcomputador, uma máquina copiadora,

um computador de grande porte, um terminal videotexto, etc.

Page 50: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

47

(protocolos). Redes de computadores são sistemas cujas distâncias entre os

módulos processadores se enquadram na faixa de alguns poucos metros a alguns

poucos quilômetros.

As Redes Locais (LANs) surgiram, para viabilizar a troca e o

compartilhamento de informações e dispositivos periféricos (recursos de hardware e

software), preservando a independência das várias estações de processamento, e

permitindo a integração em ambientes de trabalho cooperativo. Pode-se caracterizar

uma rede local como sendo uma rede que permite a interconexão de equipamentos

de comunicação de dados numa pequena região.

De fato, tal definição é bastante vaga principalmente no que diz respeito

às distancias envolvidas. Em geral, nos dias de hoje, costuma-se considerar

“pequena região” distâncias entre 100 m e 25 km, muito embora as limitações

associadas às técnicas utilizadas em redes locais não imponham limites a essas

distâncias.

Outras características típicas encontradas e comumente associadas a

redes locais são: altas taxas de transmissão (de 0,1 a 100 Mbps) e baixas taxas de

erro (de 10-8 a 10-11). É importante notar que os termos “pequena região”, “altas

taxas de transmissão” ou “baixas taxas de erro” são susceptíveis à evolução

tecnológica. Outra característica dessas redes é que elas são, em geral, de

propriedade privada.

Cabe neste momento uma pequena introdução e conceituação sobre

protocolo de rede, visto a necessidade de implementação do mesmo para o

estabelecimento de um sistema de comunicação válido.

Assim [PALMA], questiona o que é um protocolo de rede? E define como

sendo um conjunto de regras utilizadas pelos computadores de uma rede para

estabelecer a comunicação entre eles. Assim como na linguagem falada, onde duas

pessoas somente se comunicam se falarem a mesma língua, dois computadores só

podem de comunicar se utilizarem o mesmo protocolo.

Ainda [PALMA], indaga sobre o Protocolo TCP/IP? Apresentando-o como

um conjunto de protocolos usados em redes de computadores. TCP e IP são dois

protocolos dessa família e por serem os mais conhecidos, tornou-se comum usar o

termo TCP/IP para se referir à família inteira. O protocolo TCP/IP permite a conexão

de computadores tanto em pequenas redes locais (LANs) quanto em redes

coorporativas interligando diversos países (WANs). O maior exemplo disso é a

Page 51: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

48

própria Internet, que adota o protocolo TCP/IP. Todos os sistemas operacionais

atuais fornecem uma implementação do protocolo TCP/IP.

Um dos objetivos do TCP/IP é estabelecer um padrão para que

computadores de fabricantes distintos se comuniquem. Esse padrão consiste na

definição de como acontecerá a comunicação, estabelecendo regras que norteiam o

envio e o recebimento dos dados. Padrões são normalmente discutidos e definidos

por organizações independentes.

Assim cada fabricante desenvolve seus programas de comunicação, de

acordo com o que estipula o padrão. Diz-se então que o fabricante implementa o

padrão, ou seja, o software TCP/IP que acompanha um sistema operacional é a

implementação de seu fabricante. É possível, portanto encontrar pequenas

diferenças entre as implementações de fabricantes distintos, seja em termos de

desempenho ou de funcionalidade, uma vez que algumas regras do padrão podem

ser de implementação opcional.

Para fins de conhecimento histórico, o protocolo TCP/IP foi desenvolvido

nos primórdios de 1969, com o projeto ARPANET, da Agência de Projetos de

Pesquisas Avançadas do Departamento de Defesa dos Estados Unidos. O objetivo

deste projeto foi desenvolver uma rede que interligasse os computadores do

governo americano, de diferentes fabricantes utilizando diferentes sistemas

operacionais. Essa rede deveria ser descentralizada e mesmo que um dos

computadores dessa rede fosse destruído num eventual ataque militar, os demais

continuariam a funcionar normalmente, graças a um mecanismo de rotas

alternativas. Algum tempo depois desse início com finalidade militar, a National

Science Fondation criou uma rede semelhante para interconectar instituições de

pesquisa e universidades, utilizando os mesmos protocolos da rede ARPANET.

Desses projetos surgiu o protocolo TCP/IP, que serviu como alicerce para a

construção da rede que hoje conhecemos com Internet.

Entretanto é importante estabelecer que os termos servidor e cliente são

muito utilizados em redes baseadas em TCP/IP. Isso porque a maior parte das

aplicações atuais utilizam a arquitetura cliente-servidor, estimuladas pelo grande

poder de processamento das estações de trabalho atuais capazes de fazer bem

mais do que os antigos terminais, meros dispositivos de entrada e saída de dados

conectados a equipamentos que centralizavam todo o processamento.

Page 52: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

49

A descentralização, por outro lado, tem seus limites, bancos de dados, por

exemplo, normalmente devem ser centralizados. Nesse caso, um servidor é

responsável por manter os dados e realizar as buscas no banco de dados. Os

clientes, em vez de realizarem as buscas simplesmente enviam uma solicitação ao

servidor e aguardam pela resposta. O poder de processamento das estações

geralmente é utilizado para oferecer ao usuário uma interface gráfica avançada e

atraente. Essa “divisão de tarefas” tira maior proveito dos processadores das

máquinas e reduz o trafego de dados na rede.

2.6. SISTEMAS OPERACIONAIS

Este capítulo ao contrário do título sugestivo, sistemas operacionais, não

apresentará a teoria envolvida na arquitetura de um sistema operacional. Então se

pergunta o porquê do titulo? É simples a resposta. Abordará nas próximas linhas

conceitos e características do Sistema Operacional FreeBSD, ou seja, um servidor

UNIX, desenvolvido por Jordan Hubbard, Nate Williams e Rod Grimes, ao final deste

módulo será feita uma breve menção ao servidor WEB Apache.

Em seu artigo [LEHEY], indaga sobre alguns acrônimos do mundo do

open source, onde a palavra “Linux” é quase um sinônimo de Sistema Operacional,

mas esse não é o único sistema operacional UNIX™ de código aberto. De acordo

com o Contador de Sistemas Operacionais da Internet, em Abril de 1999, 31.3% das

máquinas conectadas na rede rodam Linux. 14.6% rodam BSD UNIX. Alguns dos

responsáveis pelas maiores operações da rede no mundo, como o Yahoo!, rodam

BSD. O servidor FTP mais requisitado do mundo, ftp.cdrom.com, usa BSD para

transferir 1.4 TerraBytes de dados por dia. É claro, que não se trata de um nicho de

mercado: O BSD é um segredo muito bem guardado. Então, qual é o segredo? Por

que o BSD não é mais bem difundido, mais conhecido?

BSD significa “Distribuição do Sistema de Berkeley”. É o nome da

distribuição de códigos fonte proveniente da Universidade da Califórnia, Berkeley, as

quais foram originalmente extensões para o sistema operacional UNIX do

departamento de Pesquisas da AT&T. Vários projetos de sistemas operacionais de

código aberto são baseados em uma distribuição desse código fonte, conhecido

como 4.4BSD-Lite. Em adição, tais sistemas constituem-se de várias porções de

outros projetos de Código Aberto, incluindo o notável projeto GNU. A constituição

total do sistema operacional inclui:

Page 53: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

50

O kernel BSD, que cuida do agendamento de processos,

gerenciamento de memória, multiprocessamento simétrico (SMP),

dispositivos de controle, etc. (ao contrário do kernel do Linux, existem

vários kernels distintos de sistemas BSD com diferentes

características e recursos);

A biblioteca C, a API base do sistema (a biblioteca C do BSD é

baseada em código proveniente de Berkeley, e não do projeto GNU);

Programas utilitários como shells, utilitários de manuseio de arquivos,

compiladores, linkadores. (Alguns desses programas são derivados do

projeto GNU, outros não);

O sistema X Window, que provê uma interface gráfica (O sistema X

Window usado na maioria das versões do BSD é mantido por um

projeto separado, o Projeto XFree86. Trata-se do mesmo código

usado por sistemas Linux. O BSD normalmente não especifica

nenhum “desktop gráfico” como o GNOME ou o KDE, contudo, tais

ambientes estão sempre disponíveis);

Muitos outros programas e utilitários.

Neste momento [LEHEY] questiona-se sobre o que é um UNIX

verdadeiramente e nas próximas linhas estabelece a definição. Os sistemas

operacionais BSD não são clones, mas sim, código livre derivado diretamente do

sistema operacional UNIX da AT&T, que também é o ancestral dos modernos UNIX

System V. Talvez isso lhe surpreenda. Como pode ser isso, se a AT&T nunca

disponibilizou seus fontes como código aberto?

É verdade que o UNIX da AT&T não é Open Source, e do ponto de vista

da licença de direitos legais, o BSD definitivamente não é UNIX, mas por outro lado,

a AT&T importou muito código de outros projetos, especialmente do Grupo de

Pesquisas de Ciências Computacionais da Universidade da Califórnia, em Berkeley,

CA. Desde 1976 o CSRG lançava fitas magnéticas com cópias de seu software, o

qual era chamado de Distribuição do Software de Berkeley ou BSD.

As versões iniciais do BSD consistiam-se fundamentalmente de

programas em nível de usuário, mas essa realidade mudou dramaticamente assim

que o CSRG fechou um contrato com a DARPA para atualizar os protocolos de

comunicação que eram usados em sua rede, a ARPANET. Os novos protocolos

passaram a ser conhecidos como Protocolos de Internet, e mais tarde como TCP/IP

Page 54: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

51

se tornando os mais importantes protocolos de todos os tempos. A primeira

implementação amplamente distribuída desses protocolos eram parte do 4.2BSD,

em 1982.

Ao longo da década de 80, várias empresas que produziam estações de

trabalho começaram a se espalhar. Muitas delas preferiam licenciar o UNIX ao invés

de desenvolverem sistemas operacionais por si mesmas. A Sun Microsystems em

particular, licenciou o UNIX e implementou uma versão do 4.2BSD, a qual eles

chamaram de SunOS. Quando a AT&T se deu permissão para vender o UNIX

comercialmente, começaram a desenvolver uma implementação “na unha” chamada

de System III, que seria rapidamente sucedida pelo System V. A base do código do

System V não incluía o suporte a networking, então todas as implementações

passaram a incluir software adicional do BSD, incluindo o TCP/IP, e também

programas utilitários como o interpretador de linha de comandos csh e o editor vi.

Em sua coletividade, estas aprimorações foram conhecidas como Extensões de

Berkeley.

As fitas magnéticas do BSD continham código fonte da AT&T e por isso

precisavam de uma licença de fontes do UNIX. Por volta de 1990, os fundos do

CSRG estavam acabando. Alguns membros do grupo decidiram lançar o código

BSD, que era Open Source, sem o código proprietário da AT&T. Finalmente isso

aconteceu com o Networking Tape 2, normalmente conhecido como Net/2. O Net/2

não era um sistema operacional completo: aproximadamente 20% do código do

kernel estava faltando. Um dos membros do CSRG, William F. Jolitz, escreveu o

código que faltava e o lançou em 1992, como o 386BSD. Ao mesmo tempo, um

outro grupo de membros do extinto CSRG formou uma empresa comercial chamada

de Berkeley Software Design Inc. e lançou uma versão beta de seu sistema

operacional, chamada de BSD/386, baseado nos mesmos fontes. Depois o nome do

sistema operacional mudou para BSD/OS.

O 386BSD nunca se tornou um sistema operacional estável. Ao invés

disso, outros dois projetos nasceram à partir dele, em 1993: O NetBSD e o

FreeBSD. Originalmente os dois projetos divergiram devido a diferenças quanto à

paciência na espera de novas melhorias no 386BSD: o pessoal do NetBSD começou

o projeto no início do ano, e a primeira versão do FreeBSD não ficou pronta até o

final do ano. No meio tempo, a base do código se modificou o suficiente para tornar

difícil uma união. Em adição, os projetos tinham objetivos diferentes, como veremos

Page 55: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

52

a seguir. Em 1996, um projeto posterior, o OpenBSD, originou-se à partir do

NetBSD.

Por algumas razões, o BSD é relativamente desconhecido, onde

destacamos três da citação de [LEHEY]:

1. Os desenvolvedores do BSD estão frequentemente mais interessados

em aprimorar seu código do que fazer propaganda dele.

2. A maior parte da popularidade do Linux se deve a fatores externos ao

projeto Linux, como a imprensa, e companhias criadas para oferecer

serviços em Linux. Até recentemente, os BSDs open source não

contavam com tais proponentes.

3. Os desenvolvedores BSD tendem a ser mais experientes do que

desenvolvedores Linux, e tem menos interesse em tornar o sistema

fácil de utilizar. Novatos tendem a se sentir mais confortáveis com

Linux.

Então qual é realmente a diferença entre, digamos, o Debian Linux e o

FreeBSD? Para maioria dos usuários, as diferenças são surpreendentemente

pequenas: ambos são sistemas operacionais UNIX-like. Ambos são desenvolvidos

por projetos não comerciais (é claro que isso não se aplica a muitas outros

distribuições Linux).

Nenhuma pessoa ou corporação é dona do BSD. Ele é criado e

distribuído por uma comunidade de contribuidores altamente técnicos em todo o

mundo. Alguns dos componentes do BSD são projetos Open Source gerenciados

por mantenedores de projetos distintos.

Os kernels do BSD são desenvolvidos e mantidos seguindo o modelo de

desenvolvimento do Open Source. Cada projeto mantém uma „árvore de código

fonte‟ publicamente acessível sob o CVS, que contém todos os arquivos fontes do

projeto, incluindo documentação e outros arquivos acidentais. O CVS permite que

usuários façam „check out‟ (em outras palavras, extrair uma cópia) de qualquer

versão desejada do sistema.

Um grande número de desenvolvedores ao redor do mundo contribui para

as melhorias do BSD. Eles são divididos em 3 tipos:

Contribuidores escrevem código e documentação. Eles não tem

permissão de commit (adicionar código) diretamente na árvore de

código fonte. Para que seu código seja incluso no sistema, é

Page 56: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

53

necessário que seja revisado e aprovado por um desenvolvedor

registrado, os quais são conhecidos como committer.

Committers são desenvolvedores com acesso de escrita na árvore do

código fonte. Para se tornar um commiter, o indivíduo deve mostrar

habilidade na área em que ele é ativo. Faz parte da responsabilidade

individual de cada desenvolvedor considerar quando devem obter

autorização antes de fazer um commit na árvore. No geral,

desenvolvedores experientes podem fazer modificações que são

obviamente corretas sem precisar de consenso. Por exemplo, um

commiter do projeto de documentação pode corrigir erros tipográficos

ou gramaticais sem a necessidade de uma revisão. Por outro lado,

espera-se que desenvolvedores que fazem alterações muito

abrangentes ou complicadas enviem suas mudanças para revisão

antes de adicioná-las. Em casos extremos, um membro do Grupo

Central (Core Team) cuja função seja, o Arquiteto Principal pode

ordenar que as modificações sejam retiradas da árvore do código

fonte, em um processo conhecido como backing out. Todos os

desenvolvedores recebem mensagens de correio eletrônico sobre

cada alteração individual, portanto é impossível fazer alguma

modificação secretamente.

O Grupo Central. O FreeBSD e o NetBSD cada qual, tem um grupo

central que gerencia o projeto. Tais grupos centrais foram criados no

decorrer dos projetos e seu papel não é sempre bem definido. Não é

preciso ser um desenvolvedor para se tornar membro do grupo central,

apesar de que, normalmente esse é o caso. As regras para o grupo

central variam de um projeto para o outro, mas no geral eles tem mais

voz na hora de dizer as direções que o projeto deve seguir, do que

outros membros fora do grupo.

Esse modelo se diferencia do Linux em inúmeras maneiras:

1. Não existe uma pessoa em especial que controla o conteúdo do

sistema. Na prática, essa diferença é sobre taxada, considerando que

o Arquiteto Chefe pode solicitar que códigos sejam retirados do

sistema, e que até mesmo o projeto Linux tem várias pessoas

autorizadas a fazer modificações.

Page 57: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

54

2. Por outro lado, existe um repositório central, um lugar único onde os

fontes inteiros do sistema operacional podem ser encontrados,

incluindo todas as versões anteriores.

3. Os projetos BSD mantém um ``Sistema Operacional'' completo, não

apenas o kernel. Essa distinção é marginalmente proveitosa: nem o

BSD nem o Linux são úteis sem aplicações. As aplicações usadas sob

BSD são frequentemente as mesmas aplicações usadas sob Linux.

4. Como resultado da manutenção formalizada de uma única árvore CVS

do código fonte, o desenvolvimento do BSD é limpo, e é possível

acessar qualquer versão do sistema por seu número de lançamento

(release) ou por data. O CVS ainda oferece manutenção incremental

ao sistema: por exemplo, o repositório do FreeBSD é atualizado em

média 100 vezes por dia. As maiorias dessas alterações são de

pequena ordem.

Cada projeto BSD oferece o sistema em três “versões (releases)”

diferentes. Como no Linux, os releases são identificados por um número, como 1.4.1

ou 3.5. Em adição, o número da versão tem um sufixo, indicando seu propósito:

A versão de desenvolvimento do sistema é chamada de CURRENT. O

FreeBSD relaciona um número ao CURRENT, por exemplo FreeBSD 5.0-

CURRENT. O NetBSD usa um esquema de denominação um pouco diferente,

adicionando um sufixo com uma letra única que indica modificações nas interfaces

internas, por exemplo NetBSD 1.4.3G. O OpenBSD não adiciona números

(“OpenBSD-current”). Todo novo desenvolvimento no sistema vai nesse branch.

Em intervalos regulares, entre duas a quatro vezes por ano, os projetos

lançam uma nova versão de RELEASE do sistema, que é disponibilizado em CD-

ROM e por download gratuito em sítios de FTP, por exemplo OpenBSD 2.6-

RELEASE ou NetBSD 1.4-RELEASE. A versão do RELEASE é destinada a usuários

finais e é a versão normal do sistema. O NetBSD oferece ainda patch releases

(releases de correções) com um terceiro dígito, por exemplo, NetBSD 1.4.2.

Conforme os problemas são encontrados em uma versão RELEASE, eles

são corrigidos, e as correções são adicionadas à árvore CVS. No FreeBSD a versão

resultante é chamada de STABLE, enquanto que no NetBSD e no OpenBSD elas

continuam sendo chamadas de versão RELEASE. Novas características menores

Page 58: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

55

também podem ser adicionadas nesse branch depois do período de testes no

CURRENT.

Em contraste, o Linux mantém duas árvores de código separadas: a

versão estável e a versão de desenvolvimento. A versão estável tem ainda um

número menor de versão, como 2.0, 2.2 ou 2.4. Versões em desenvolvimento têm o

número menor ímpar, como 2.1, 2.4 e 2.5. Em cada caso, a versão é ainda seguida

de um número posterior designando o release exato. Em adição, cada vendedor de

Linux coloca suas próprias aplicações e utilitários à nível de usuário, portanto o

nome de sua distribuição também é importante. Cada distribuição do vendedor ainda

é acrescida de seu próprio número, então a descrição completa seria algo parecido

com “TurboLinux 6.0 com kernel 2.2.14”

Em contraste com as numerosas distribuições Linux, existe apenas três

BSDs de código livre. Cada projeto BSD mantém sua própria árvore de código fonte

e seu próprio kernel. Na prática, as divergências entre o código à nível de usuário

parece ser ainda menor entre os projetos BSD do que entre os vários Linux.

É difícil categorizar os objetivos de cada projeto: as diferenças são

bastante subjetivas. Basicamente,

O FreeBSD oferece a alta performance e facilidade de uso para usuários

finais, e é o favorito de provedores de conteúdo da rede mundial de computadores.

Ele pode ser usado em PC‟s e Compaqs com processadores Alpha. O projeto

FreeBSD possui significativamente mais usuários do que os outros projetos.

O NetBSD foi usado pelo potencial em portabilidade: “é lógico que roda

NetBSD”. Ele roda de máquinas palmtop à grandes servidores, e vem sendo usado

até em missões espaciais da NASA. É particularmente uma boa escolha para rodar

em equipamentos antigos que não sejam Intel.

O OpenBSD, segurança e pureza de código: ele usa uma combinação

dos conceitos de código livre com rigorosas revisões de seu código para criar um

sistema demonstravelmente correto, tornando-o a escolha de organizações

conscientes com a segurança como bancos e departamentos do governo. Como o

NetBSD, ele roda em várias plataformas.

Existem ainda dois sistemas operacionais BSD adicionais que não são de

código livre, o BSD/OS e o Mac OS X da Apple:

O BSD/OS é o mais velho dos derivados do 4.4BSD. Ele não é de

código livre, apesar de que as licenças de seu código fonte é

Page 59: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

56

disponível a um preço relativamente baixo. Ele assemelha-se ao

FreeBSD de diversas formas.

O Mac OS X é a mais recente versão do sistema operacional da linha

Macintosh da Apple Computers Inc. Ao contrário do resto do sistema

operacional, o kernel é código livre. Como parte desse

desenvolvimento, desenvolvedores chave da Apple tem acesso de

modificações na árvore do FreeBSD.

Atualmente as versões do FreeBSD em produção são FreeBSD 4.11-

RELEASE e FreeBSD 5.3-RELEASE, ambos pertencem a família de servidores 32

bits e por sua forte base no protocolo TCP/IP torna-se uma grande ferramenta para a

Internet. Por este motivo, bem configurado pode ser um grande servidor de páginas

(WWW), um servidor de email (SMTP, POP3 e IMAP), um servidor de FTP, servidor

DNS entre outros serviços de Internet e Intranet.

Falemos um pouco sobre o Servidor WEB Apache, que junto a plataforma

FreeBSD alcança excelentes níveis de desempenho e escalabilidade provendo

serviços para a Intenet. O servidor WEB é um programa responsável por

disponibilizar páginas, fotos, ou qualquer outro tipo de objeto ao navegador do

cliente. Ele também pode operar recebendo dados do cliente, processando e

enviando o resultado, para que o cliente possa tomar a ação desejada (como em

aplicações CGI, banco de dados WEB, preenchimento de formulários, etc).

O Apache é um servidor WEB extremamente configurável, robusto e de

alta performance desenvolvido por uma equipe de voluntários (conhecida como

Apache Group), buscando criar um servidor WEB com muitos recursos e com código

fonte disponível gratuitamente via Internet. Segundo a Netcraft2, o Apache é mais

usado que todos os outros servidores WEB do mundo juntos.

O servidor WEB determina que tipo de ambiente operacional ele precisa,

examinando a extensão do arquivo requisitado. Tudo isso é feito através de

mapeamento. Quando um servidor WEB é configurado, lhe é informado como lidar

com tipos específicos de arquivos.

Em arquivos com a extensão .html, o servidor HTTP (como o Apache) só

passa o conteúdo para o navegador. O servidor não tenta entender ou processar o

2 http://www.netcraft.com/survey/

Page 60: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

57

arquivo; esse é o serviço do navegador. Porém, os arquivos com a extensão *.php

são processados de forma diferente, pois são analisados em busca do código PHP.

O servidor WEB inicia em modo HTML. Inicia uma análise e verifica se o

arquivo contém apenas HTML, CSS, JavaScript, texto simples ou algum outro tipo

que terá de ser passado para o navegador sem ser interpretado pelo servidor. Caso

encontre alguma instrução da linguagem PHP como <?php (comandos) ?>, que

é usada para sair do código HTML, ele entra no modo PHP. O servidor HTTP

executa o código PHP e envia a saída do script (gerada pela instrução “echo” no

PHP), para o navegador. Quando o final da instrução é alcançado, o servidor volta

para o modo HTML e continua a enviar o conteúdo do documento para o navegador

sem nenhum processamento do lado do servidor. Pode-se incluir várias instruções

PHP no código HTML.

O Apache tem como base o servidor WEB NCSA 1.3, que foi

desenvolvido por Rob McCool. Quando ele deixou o NCSA, o desenvolvimento foi

interrompido, assim muitos desenvolvedores buscaram personalizar sua própria

versão do NCSA ou adicionar mais características para atender às suas

necessidades. Neste momento começa a história do Apache com Brian Behlendorf e

Cliff Skolnick abrindo uma lista de discussão para interessados no desenvolvimento,

conseguindo espaço em um servidor doado pela HotWired e trocando patches,

corrigindo problemas, adicionando recursos e discutindo idéias com outros

desenvolvedores e hackers interessados neste projeto. A primeira versão oficial do

Apache foi a 0.6.2, lançada em abril de 1995 (neste período a NCSA retomava o

desenvolvimento de seu servidor WEB, tendo como desenvolvedores Brandon Long

e Beth Frank, que também se tornaram membros especiais do grupo Apache,

compartilhando idéias sobre seus projetos).

Nas versões 2.x do Apache, a escalabilidade do servidor foi ampliada

suportando as plataformas Win32 (não obtendo o mesmo desempenho que em

plataformas UNIX mas sendo melhorado gradativamente).

Abaixo estão algumas características que fazem desse servidor WEB o

preferido entre os administradores de sistemas:

Suporte a scripts CGI usando linguagens como PHP, Perl, ASP, Shell

Script, etc;

Módulos DSO permitem adicionar/remover funcionalidades e recursos

sem necessidade de recompilação do programa;

Page 61: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

58

Autenticação, requerendo um nome de usuário e senha válidos para

acesso a alguma página/sub−diretório/arquivo (suportando criptografia

via Crypto e MD5). Suporte à autorização de acesso, podendo ser

especificadas restrições de acesso separadamente para cada

endereço/arquivo/diretório acessado no servidor;

Suporte a virtual hosting, por nome ou endereço IP: é possível servir 2

ou mais páginas com endereços/portas diferentes através do mesmo

processo, ou usar mais de um processo para controlar mais de um

endereço;

Suporte a servidor proxy, ftp e http, com limite de acesso, caching

(todas flexivelmente configuráveis). Suporte a proxy e

redirecionamentos baseados em URLs para endereços internos;

Suporte a criptografia via SSL, certificados digitais; ·

Negociação de conteúdo, permitindo a exibição da página WEB no

idioma requisitado pelo Cliente Navegador.

Suporte a tipos mime;

Personalização de logs.

2.7. AUDITORIA E SEGURANÇA

Foi traçado dentro deste capitulo alguns aspectos referentes à segurança.

Muitas são as tangentes que delimitam esta área da TI, que hoje se tornou o foco

principal de relação entre o provedor de serviços de informática e o cliente.

Em Firewalls [STR2002], inicia com a afirmação de que “os países que

não controlam suas fronteiras não podem garantir a proteção e a segurança de seus

cidadãos, nem podem evitar a pirataria e o roubo”. As redes sem acesso controlado

não podem garantir a segurança e a privacidade dos dados armazenados, nem

podem evitar que os recursos da rede sejam explorados por hackers.

A eficiência da comunicação fornecida pela Internet tem causado uma

corrida para conectar redes privadas diretamente a ela. As conexões Internet diretas

facilitam para os hackers a exploração dos recursos privados de uma rede. Antes da

Internet, a única forma amplamente disponível para um hacker se conectar de sua

casa a uma rede privada era via discagem direta com modems usando a rede de

telefonia pública. A questão da segurança do acesso remoto era relativamente

pequena.

Page 62: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

59

Simplesmente, ao conectar uma rede privada a Internet, estará na

verdade ampliando o perímetro de atuação da sua rede, conectando-se a todas as

redes ligadas diretamente a Internet. Não há nenhum ponto central inerente de

controle de segurança.

Hoje estar seguro envolve um conceito mais complexo e sistêmico, onde

apenas a utilização de um firewall bem configurado de nada adianta para proteção

de uma rede. A necessidade da proteção em camadas é uma premissa que a cada

dia se aprimora e se fixa na vida dos profissionais de TI. Podemos visualizar um

esboço da proteção em camadas na figura 1, conforme sugestão de [MSC2005].

FIGURA 1 – MODELO DE PROTEÇÃO EM CAMADAS

Afinal a estratégia de segurança de uma organização é mais eficaz,

quando os dados são protegidos por mais de uma camada de segurança. Uma

estratégia de segurança de proteção em camadas utiliza várias camadas de

proteção. Se uma camada for comprometida, isso não significa necessariamente que

toda a organização será comprometida. A estratégia de proteção em camadas

aumenta o risco de detecção do invasor e reduz a chance de que ele tenha êxito.

Para minimizar a possibilidade de um ataque bem-sucedido contra os

computadores cliente da organização, necessita-se implementar o nível apropriado

de proteção em cada camada. Há várias maneiras de proteger cada camada

individual através de ferramentas, tecnologias diretivas e práticas recomendadas.

Por exemplo:

Diretivas, procedimentos e camada de reconhecimento – programas

educacionais de segurança para usuários.

Page 63: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

60

Camada de segurança física – guardas de segurança, travas e

dispositivos de controle.

Camada do perímetro – firewalls de hardware e/ou de software e

VPNs (redes virtuais privadas) com procedimentos de quarentena

Camada de rede da Internet – segmentação da rede, protocolo IPSec

e NIDS (sistemas de detecção de intrusos na rede)

Camada de host – práticas de proteção avançada de servidor e de

cliente, ferramentas de gerenciamento de patches, métodos de

autenticação forte e HIDS (sistemas baseados em host para detecção

de intrusos)

Camada de aplicativo – práticas de proteção avançada de aplicativos

e software antivírus

Camada de dados – listas de controle de acesso (ACLs) e criptografia

Muitas são as metas de proteção para que se possa absorver os

conceitos de confidencialidade (garante a proteção do acesso às informações),

disponibilidade (garante o acesso imediato as informações) e integridade (garante

que as informações não sejam modificadas) na proteção da informação – Figura 2.

Devido a extensão e complexidade do assunto estaremos apenas tratando a

proteção no seu nível fundamental e necessário para a existência do paradoxo

mínimo de segurança neste trabalho, porém ressaltamos que na medida da

ampliação dos horizontes os conceitos de proteção acima mencionados devem ser

seguidos e implementados a risca e em totalidade, para que seja provido a máxima

segurança possível no ambiente operacional.

FIGURA 2 – PRINCIPIOS DE SEGURANÇA

Page 64: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

61

Um componente principal: para [STREBE] firewalls são usados para criar

pontos de controle de segurança nas fronteiras das redes privadas, ao fornecer a

função de roteamento entre a rede privada e a Internet, os firewalls inspecionam

toda a comunicação passando entre as redes e/ou a transmitem ou a abandonam,

dependendo de como cada comunicação segue as normas programadas. Se um

firewall estiver configurado adequadamente e não contiver nenhum erro sério que

possa ser explorado, a rede estará livre de riscos tanto quanto possível.

Neste instante é necessário esclarecer que um firewall apenas funciona

como um simples porteiro no exercício de sua função, ou seja, realiza a inspeção de

cara – crachá, onde a conferência destas credenciais sendo satisfatória permitirá

que todo o tráfego flua entre as redes privada e a Internet, o que nos recomenda um

tratamento mais rígido quanto as informações autorizadas a trafegar pelo canal de

comunicação de nossa rede.

Os firewalls se localizam nas fronteiras da rede, criando passagens

estreitas entre a rede interna e externa para que todo o tráfego entre uma e outra

tenha de passar através de um único ponto de controle. Eles operam usando

primeiramente três métodos fundamentais a segurança: filtragem de pacotes, NAT e

serviços proxy. Muitos dos firewalls disponíveis no mercado, sejam eles baseados

em hardware ou software, ainda realizam as funções de autenticação criptografada e

túneis criptografados.

Para manter um nível absolutamente mínimo de segurança na Internet

que seja eficaz, é preciso controlar a segurança nas fronteiras usando Firewalls que

realizem todas as funções básicas dos firewalls. Estes devem ser dedicados,

evitando-se prover qualquer outro tipo de serviços públicos no próprio firewall, a

menos que o software de serviço acompanhe o software do fabricante de firewall.

Neste instante é plausível a indagação: Mas porque eu haveria de me

preocupar em saber como funciona o TCP/IP, se não sou um programador de

computadores ou um engenheiro de redes? Esta preocupação é necessária porque

os hackers que possam tentar passar pela segurança da rede certamente exercem

estas funções, são autodidatas ou o que seja, e a fim de pará-los é necessário

entender e corrigir os pontos fracos do TCP/IP, em outras palavras saber o que o

inimigo sabe.

E necessário conhecer que protocolos a rede suporta, ter um

conhecimento básico de como os protocolos interagem com os firewalls, com os

Page 65: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

62

computadores clientes da rede e com outros computadores fora do firewall na

Internet. É necessário entender os riscos e benefícios de abrir portas de um firewall

para os vários serviços que os clientes da rede gostariam de usar. É fundamental

estar ciente das limitações que um firewall impõe no tráfego da rede, e deve

entender que protocolos são facilmente usados pelos hackers e quais não são.

Não tão pouco importante como fundamental, a criptografia, é uma

ferramenta que se desenvolveu do uso de espiões e diplomatas para tornar-se parte

integral das comunicações modernas. A finalidade principal da criptografia é manter

segredo.

Diz [STREBE], que a criptografia foi usada pela primeira vez para proteger

mensagens de modo que somente a pessoa que soubesse o “truque” para

decodificar a mensagem poderia tê-la. A história esta repleta de casos em que foram

usados códigos e cifras inteligentes por reis e príncipes, espiões, generais,

comerciantes e inventores.

São diversas as maneiras de utilizar-se da criptografia, onde ela não é

somente útil na comunicação, pode ser usada na proteção de dados armazenados,

como os dados gravados em disco rígido. Uma outra utilização é com o objetivo de

conferir identidades, através da autenticação de usuários que acessam os

computadores. É empregada em assinaturas e certificados digitais, que são úteis,

porque embora qualquer pessoa possa conferir a assinatura somente a pessoa com

a chave privada pode criar a assinatura, onde a diferença entre assinatura digital e

certificado digital, é a possibilidade de conferencia da autenticidade de um

certificado com uma autoridade de certificados.

Na transmissão WEB segura, deve-se ser preferido a utilização de HTTPS

que utiliza SSL, que não somente criptografa os dados antes que sejam transferidos

ao site WEB como também decifra os que são recebidos dele. Portanto, todos os

dados que trafegam no canal são enviados pela rede na forma criptografada. Isto

acontece de maneira que antes da transmissão de qualquer dado, é estabelecida

uma conexão segura na porta TCP 443, e todos os dados subsequentes são

enviados com criptografia. Desta maneira, se houvesse alguma informação

confidencial como nome de usuário e senha de autenticação ou algum dado sigiloso,

eles jamais serão lidos por uma escuta hacker na rede.

Outro aspecto a se considerar são as senhas. Há várias estratégias para

implementar a proteção de senhas. O conceito principal é usar senhas adequadas

Page 66: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

63

que não serão reveladas pelo uso de programas de decifração com ataques de

dicionário.

Para [HATCH], a primeira regra para conseguir uma senha adequada é

nunca criar uma senha fraca. Como regra geral, as senhas fracas são baseadas em

alguma combinação de nomes, palavras e/ou números. As senhas que são fáceis de

lembrar podem ser rapidamente decifradas devido a capacidade de processamento

dos equipamentos de hardware atuais; portanto, é essencial que não sejam

escolhidas senhas deste tipo. Se a senha for composta de uma palavra que existe

em algum dicionário, então será suscetível a um ataque de senha.

Adicionar dígitos (como números de telefone, aniversários, seqüências

numéricas comuns), ou escrever a palavra de maneira inversa, não aumenta a

eficácia da senha porque os programas de decifração de senhas são escritos para

acrescentar essas seqüências de caracteres ao texto que estiverem testando.

Portanto, é recomendável evitar senhas que contenham estas combinações.

Uma maneira adequada de criar-se uma senha, que é uma senha eficaz,

e é difícil de ser quebrada e adivinhada, e jamais baseá-la em palavras de dicionário

e ser uma senha relativamente fácil de lembrar. A questão ser relativamente fácil de

lembrar é importante: se a senha for muito difícil de lembrar, os usuários podem ficar

tentados a anotá-las. Isto é perigoso, porque, se isso for feito, outra pessoa poderá

ler a informação. E finalmente para criar uma senha, a maneira mais eficaz e utilizar

do pensamento abstrato, onde pensando em uma frase que é relativamente

obscura, mas fácil de lembrar, pode-se extrair dela caracteres que formarão uma

abreviatura, que deve conter caracteres especiais, números e pontuação. Exemplo:

I came, I saw, I conquered. (Vim, Vi e Venci.) = Ic,Is,Ic.

E finalmente não use a mesma senha em máquinas diferentes, visto que

se em uma delas a senha for decifrada, todas as máquinas serão comprometidas.

Para fortalecer a segurança entre suas redes geograficamente

espalhadas utilize VPNs que são uma forma economicamente viável de estender

redes locais através da internet até redes remotas e computadores remotos. Elas

usam a internet para encaminhar tráfego de rede local oriundo de uma rede privada

para outra, encapsulando o tráfego local em pacotes IP, estes por sua vez são

criptografados e ilegíveis para os computadores intermediários na internet e podem

conter qualquer tipo de comunicação de rede local.

Page 67: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

64

Para [STREBE] as redes privadas virtuais resolvem o problema de acesso

direto a servidores via internet por meio de uma combinação dos seguintes

componentes fundamentais de segurança, obrigatórios em uma VPN de verdade:

Encapsulamento IP;

Autenticação criptográfica;

Criptografia dos dados contendo as informações.

Ainda, as VPNs são mais baratas que as redes de longa distância

(WANs), considerando que o custo de uma conexão dedicada e a largura de banda,

extrapolam os orçamentos quando comparados as tecnologias de conectividade

existentes a custos menores, como os modems analógicos comuns, ISDN, xDSL ou

cable modems, simplesmente VPNs brilham frente as redes de longa distância

tradicionais, seja pelos custos ou pela conectividade em áreas geográficas amplas.

E finalmente, as VPNs são mais fáceis de instalar, por utilizar tecnologias

acessíveis à implantação e manutenção, quando se identifica os fatores de

gerenciamento de uma rede de longa distância com seus roteadores, gateways e os

equipamentos telefônicos especializados.

Observados os mínimos preceitos exigidos para prover a segurança,

deixamos para o final deste capítulo a observação de que todo o conjunto acima

descrito aplicado a organização para proteção da rede e seu perímetro de nada

valem se não for realizada a conscientização do usuário da rede. Por isso,

ressalvamos nestas ultimas linhas a necessidade do treinamento e estabelecimento

de uma cultura comprometida com a segurança para todos os usuários do sistema

informatizado.

2.8. BANCO DE DADOS

Trataremos este capítulo em três partes distintas: sistemas de banco de

dados – uma visão geral, projeto de banco de dados e banco de dados MySQL.

Parte I – Sistemas de Banco de Dados

Um sistema de banco de dados é um conjunto de diferentes componentes

de software contendo as seguintes partes:

Aplicações de Banco de dados;

Componentes front-end (cliente)

Sistemas gerenciadores de banco de dados;

Page 68: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

65

Banco de dados.

Para [PETROVIC], uma aplicação de banco de dados é um software com

um propósito específico, projetado e implementado, ou pelo próprio usuário ou por

empresas de software independentes. Em contraste, componentes front-end são

softwares de banco de dados de propósito geral, projetados e implementados por

um fabricante de softwares de banco de dados ou como softwares de terceiros.

Usando aplicações de banco de dados e componentes front-end, os usuários podem

gerenciar e fazer consultas a um banco de dados.

A razão de ser de um sistema gerenciador de banco de dados é gerenciar

os dados armazenados em um banco de dados. Em geral, pode ser visto sob duas

perspectivas: a do usuário e a do SGBD. Os usuários visualizam um banco de dados

como uma coleção de dados logicamente agrupados. Para um SGBD, um banco de

dados é simplesmente uma série de bytes, usualmente armazenadas em um disco

rígido.

Embora estas duas visões de um banco de dados sejam totalmente

diferentes, elas possuem alguma coisa em comum. O sistema de banco de dados

não somente necessita fornecer interfaces que habilitam usuários para criar banco

de dados e encontrar ou modificar dados, mas também necessita fornecer

componentes de sistema para gerenciar os dados armazenados. Um sistema de

banco de dados precisa fornecer os seguintes recursos:

Variedade de interfaces de usuário;

Independência física de dados;

Independência lógica de dados;

Otimização de consulta;

Integridade dos dados;

Controle concorrente;

Backup e recuperação;

Segurança e autorização.

Abrimos um parêntese neste instante para sustentar o conceito de banco

de dados relacionais3. Em oposição aos sistemas de banco de dados então

3 O conceito de Banco de Dados Relacionais foi primeiramente introduzida por E.F. Codd em seu

artigo “A Relational Modelo f Data for Large Shared Data Banks” (um Modelo Relacional de Dados

para grandes Bancos de dados Compartilhados) publicado em 1970.

Page 69: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

66

existentes, tal como sistemas hierárquicos, um sistema de banco de dados relacional

é baseado em um modelo relacional de dados, o qual possui um forte background

matemático. O conceito central do modelo relacional de dados são as tabelas e seus

relacionamentos. Desta forma, do ponto de vista do usuário, um banco de dados

relacional contém tabelas e nada mais que tabelas. Em uma tabela, existem uma ou

mais colunas e nenhuma ou várias linhas. Em uma dada posição de linha e coluna

há sempre um único valor.

Indagando neste instante o que é um banco de dados? Deparamos com

[JEPSON] que estabelece que um banco de dados é um conjunto de tabelas

relacionadas. O banco de dados pode ser usado como uma forma de controlar quem

tem acesso a um conjunto particular de tabelas. Uma prática muito comum é

fornecer para cada usuário (ou projeto) o seu próprio banco de dados. Os usuários

podem assim criar tabelas e outros objetos de banco de dados conforme necessário.

Alguns bancos de dados podem restringir o acesso de usuários a tabelas de forma

seletiva. Desta maneira, um banco de dados é semelhante a um diretório home.

Este é o momento mais apropriado para estabelecermos a diferença entre

um Banco de dados e um Servidor de Banco de Dados. [JEPSON], assim apresenta,

que um servidor de banco de dados é grosseiramente sinônimo de um sistema de

banco de dados, descrito anteriormente. Um servidor de banco de dados é o

daemon que funciona nos bastidores e gerencia os dados propriamente ditos, assim

como o acesso dos clientes aos dados. Um sistema de banco de dados inclui o

servidor e todos os programas utilitários, bibliotecas e outros arquivos que suportam

a operação do banco de dados. É muito comum ouvir alguém referindo-se a um

servidor de banco de dados como ”o banco de dados”. Isso pode causar confusão, e

é melhor então não trocar as expressões. Por exemplo, se o administrador de banco

de dados disser “o banco de dados estará off-line maior parte da tarde”, ele quer

dizer que o banco de dados de contabilidade estará off-line, ou que todo o servidor

de banco de dados estará fora do ar (e, portanto, todos os bancos de dados naquele

servidor, incluindo o banco de dados de contabilidade).

Ainda no contexto de banco de dados, estabelecemos o limite da SQL,

que será abordada no capítulo 8, por hora fiquemos com a definição que é a

Linguagem de Consulta Estrutura, uma linguagem para acessar e manipular bancos

de dados relacionais. Enquanto o SQL tem sido padronizado, há algumas poucas

implementações que se situam próximas da norma.

Page 70: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

67

Parte II – Projeto de Banco de Dados

Os sistemas de banco de dados usam tabelas para armazenar

informações sobre os objetos do mundo real ou conceitos (entidades). Uma tabela é

um repositório para os dados. A vantagem da tabela de banco de dados é a

facilidade de pesquisa. Em um sistema de banco de dados relacional, os

relacionamentos entre tabelas espelham os relacionamentos entre as entidades que

você esta tentando modelar. Os sistemas de banco de dados de arquivos de texto

organizam as informações em tabelas, de forma muito parecida como fazem os

sistemas de banco de dados relacionais. Entretanto os sistemas de arquivos planos

não oferecem facilidades para a criação e gerenciamento dos relacionamentos entre

as tabelas. Em um sistema de banco de dados relacional, os relacionamentos entre

as tabelas o ajudam a modelar o comportamento no mundo real das entidades no

seu banco de dados.

Uma tabela é basicamente uma grade de linhas e colunas [JEPSON].

Cada linha representa uma determinada ocorrência de uma entidade (como uma

pessoa, um local ou um evento). Pode ser útil pensar em um sistema de banco de

dados relacional em termos de orientação a objeto. Se você pensar em cada linha

como uma ocorrência, então poderá pensar em cada coluna como um atributo (ou

propriedade). Por exemplo, uma pessoa pode ter um determinado endereço, um

número de telefone ou preferência de assento para assistir um evento esportivo. Se

localizarmos uma intersecção de uma linha e uma coluna, também identificaremos

um único valor, como o número de telefone desta pessoa. Para maioria dos sistemas

de gerenciamento de banco de dados, quaisquer paralelos entre banco de dados e

os objetos terminam aqui: os sistemas de gerenciamento de bancos de dados

puramente relacionais não são orientados a objetos.

Para obtermos o máximo desempenho e flexibilidade de um banco de

dados, é necessário seguir um conjunto estabelecido de diretrizes de projeto de

banco de dados que podem ser ampliados e podem tratar de tudo, desde as mais

simples até as mais exóticas consultas. Em sistemas típicos de banco de dados,

exigisse preocupação somente com a estrutura lógica do banco de dados: as

tabelas, suas colunas, índices e os relacionamentos entre as tabelas. A estrutura

física do banco de dados é tratada pelo SGBD, e inclui como e onde as tabelas

estão armazenadas no disco, os algoritmos usados para indexar as tabelas e outras

Page 71: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

68

facetas do gerenciamento de banco de dados com os quais não é necessário

preocupação.

As etapas envolvidas no projeto de um banco de dados simples, são as

seguintes:

a) Identifique as entidades que você quer representar – é a etapa de

certificar-se na questão de estabelecer quais as entidades que

queremos que o banco de dados represente.

b) Identifique as entidades prováveis – é a etapa de transformar nossas

entidades em tabelas e os atributos em colunas através do uso da

DDL (linguagem de definição de dados).

c) Normalização – é a etapa onde solucionaremos problemas não-óbvios

com o banco de dados, através do processo conhecido por

normalização que muda a estrutura do banco de dados para adequar-

se a uma ou mais formas normais4.

d) Criando um dicionário – é a etapa de estabelecer um dicionário de

dados para o banco de dados. O dicionário de dados é uma referencia

escrita sobre cada entidade e atributo, neste estágio do projeto serão

tomadas as decisões em relação a qual tipo de dado usar para cada

atributo quando criar as tabelas.

e) Criar as tabelas – é a etapa de tradução direta do que foi planejado

para criação da estrutura de armazenamento que existirá no banco de

dados, realizada através de comandos SQL.

f) Colocando dados no banco de dados – ultima etapa do processo de

projeto de banco de dados, consiste em popular o banco de dados

com informações.

Parte III – O Banco de Dados MySQL

Onde o MySQL se enquadra entre os produtos de SGBDR? [SUEHRING].

De varias maneiras, o MySQL oferece o melhor cenário de todos: ele executa em

muitas plataformas, oferece um baixo TCO e é estável. A documentação do MySQL

4 Formas Normais – Em número de cinco (1NF a 5NF), são padrões de projetos de dados

estabelecidos que permitem desenvolver bancos de dados que possibilitam expansão futura (mesmo

quando suas tabelas tiverem muitas linhas), e podem ser consultadas de forma flexível.

Page 72: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

69

é excelente. O MySQL AB tem um site WEB completo contendo material de

referência, bem como um link para arquivos de listas de discussão, eles oferecem

suporte de alta qualidade para seus produtos, incluindo um serviço que permite aos

desenvolvedores MySQL efetuar logon em seu servidor para corrigir problemas e

preventivamente ajuda na otimização.

Simplesmente, o MySQL está ganhando uma fatia do mercado de

RDBMS porque oferece estabilidade, suporte e baixo custo

O MySQL está disponível para muitos sistemas operacionais diferentes

em uma variedade de arquiteturas de computador, o que por sua disponibilidade de

versões para diversas plataformas aprimorou a sua popularidade. Além do servidor

de banco de dados padrão, uma versão aprimorada do MySQL está disponível – o

MySQL-Max. Ele inclui o servidor padrão do MySQL, mais suporte para tabelas de

transações seguras como InnoDB ou Berkeley DB.

O MySQL está disponível como um binário ou como código-fonte para

download; se quiser adicionar um recurso de MySQL à sua aplicação, você pode,

pois ele é distribuído sob a GPL de GNU e a LGPL de GNU. O MySQL também

oferece muitas APIs para permitir ao desenvolvedor acessar e modelar o banco de

dados via programas em várias linguagens.

O MySQL segue quase inteiramente o padrão SQL-92, e estende o

padrão SQL de maneiras distintas (embora possa ser utilizado em um modo

somente ANSI). Além isso, como seria de se esperar, se você utilizar algumas

extensões do padrão especificas do MySQL, seu banco de dados pode não

continuar sendo portável para outro SGBDR se você optar por migrá-lo

posteriormente.

Então o que o MySQL faz de melhor?

Aplicações WEB – as aplicações WEB em geral apresentam muitas

leituras e poucas gravações. O MySQL é rápido e pode atender às

demandas de velocidade da Internet;

Aplicações de nível corporativo – O MySQL oferece suporte

diretamente pela empresa pai, MySQL AB. O conjunto de recursos do

MySQL inclui quase tudo que uma aplicação de nível corporativo

precisa.

Suporte a código-fonte aberto – O MySQL AB também responde bem

as solicitações de recursos. O MySQL tem seu código-fonte aberto;

Page 73: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

70

todo mundo é convidado a fazer download dele e estender o código

para atender às suas próprias necessidades;

Sobrecarga baixo – O MySQL executa confortavelmente muitas

aplicações em um computador de classe Intel Pentium com 32MB de

RAM ou menos;

Tamanho grande de tabela disponível – as tabelas do MySQL podem

crescer bastante, embora às vezes encontrem limitações de tamanho

de arquivos do sistema operacional host. Algumas arquiteturas, porém,

podem acomodar até 8 TerraBytes por tabela utilizando MySQL;

Estabilidade – todo software está em desenvolvimento. Alguns

recursos no MySQL são mais novos que outros, possivelmente

tornando-os menos estáveis que outros.

O MySQL concorre – e vence – alguns de seus correspondentes

comerciais em muitas áreas [SUEHRING]. Particularmente em desempenho,

escalabilidade e estabilidade, o MySQL pode ter um desempenho tão bom ou

melhor que seus concorrentes.

2.9. LINGUAGENS DE PROGRAMAÇÃO

Neste capitulo estaremos finalmente apresentando de maneira sucinta,

rápida e objetiva as linguagens de programação utilizadas neste trabalho de

conclusão de curso. Em primeira linha, discutiremos sobre a SQL, uma linguagem de

banco de dados; e posteriormente apresentaremos a PHP, uma linguagem de scripts

para a Internet, em conjunto com o HTML.

A origem do SQL está relacionada ao projeto conhecido como sistema R,

que foi projetado e implementado pela IBM no inicio da década de 80. Esse projeto

mostrou que é possível construir um sistema de banco de dados relacional usando

os fundamentos teóricos de E.F. Codd. O SQL foi construído na primeira fase do

projeto, em que a meta era implementar somente um protótipo com funcionalidade

limitada.

Após o sucesso do Sistema R, várias empresas construíam seus próprios

sistemas de banco de dados relacionais escolhendo SQL como linguagem. Todas as

implementações expandiram a linguagem, criando diferentes dialetos, à medida que

cada companhia implementou suas próprias extensões. Por essa razão, o ANSI e a

Page 74: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

71

ISSO fundaram um comitê em 1982 com o objetivo de planejar uma versão padrão

do SQL.

O primeiro padrão do SQL, que foi baseado primeiramente no dialeto SQL

da IBM, foi liberado em 1986. Após a liberação de um padrão intermediário em 1989,

um padrão muito mais extenso, chamado SQL92, foi desenvolvido e finalmente

liberado em dezembro de 1992. Nos últimos anos, ambas as organizações vinham

desenvolvendo um novo padrão – o SQL3 – o qual abrangia diversos novos

conceitos de banco de dados, incluindo triggers, procedimentos armazenados e

numerosos conceitos relacionados à Orientação a Objetos. As principais partes do

padrão SQL3 foram liberadas em setembro de 1999 (por esta razão, o sinônimo para

SQL3 é SQL99).

Ao contrário das linguagens de programação tradicionais, o SQL é uma

linguagem projetada para trabalhar com conjuntos de registros de dados em vez de

registros isolados. Isso significa que o SQL pode consultar diversas linhas (registros)

a partir de uma ou mais tabelas usando apenas um única instrução, ao passo que

linguagens tradicionais podem trabalhar apenas com uma única linha por vez. Está é

uma das mais importantes vantagens do SQL, permitindo o uso desta linguagem em

um nível logicamente mais alto do que outras linguagens.

Outra característica importante do SQL é o fato de não ser procedural.

Cada programa escrito em um linguagem procedural precisa descrever em detalhes

como uma tarefa é realizada, passo a passo. O SQL, pelo contrário, descreve

apenas o que o usuário deseja. Assim, o sistema é responsável por encontrar a

maneira apropriada para atender aos pedidos dos usuários.

O SQL se divide em outras duas sublinguagens: uma linguagem de

definição de dados – DDL – e uma linguagem de manipulação de dados – DML. As

instruções DDL são usadas para descrever o esquema de tabelas de um banco de

dados. A DDL contém três instruções SQL genéricas: CREATE, ALTER e DROP. Estas

instruções criam, alteram e removem objetos do banco de dados tais como tabelas,

colunas e índices. A DML, por outro lado, inclui todas as operações que manipulam

os dados. Geralmente existem quatro operações genéricas para manipular os dados

em um banco de dados: recuperação, inserção, eliminação e modificação. A

instruções respectivas seriam SELECT , INSERT, DELETE e UPDATE.

Qualquer recurso da WWW depende de equipamento servidor WEB e do

equipamento clientes WEB. O servidor é o computador que torna as informações

Page 75: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

72

disponíveis para a Internet, como discutimos no capitulo 5 – WEB Server Apache –

O cliente é o programa que obtém e exibe as informações dos servidores da WEB.

Discutiremos agora o HTML, que é a linguagem utilizada pelos clientes da WEB para

exibição de páginas de Internet através de Browsers.

HTML não é uma linguagem avançada de editoração eletrônica

[CHA1996]. Ela permite o uso de listas com marcadores, numeradas e aninhadas. A

especificação da HTML é revisada constantemente, a fim de possibilitar a aceitação

de novos recursos. Além da formatação em texto, a maior parte dos browsers aceita

a exibição de gráficos. O que torna o HTML um recurso útil na exibição de conteúdo

estático na Internet.

Como núcleo de toda página da WEB, a HTML é uma linguagem de

descrição de página com características incorporadas para a criação de hipertexto.

Embora ainda esteja longe de possuir todos os recursos de formatação de um

processador de textos ou de uma linguagem de editoração eletrônica, a HTML

permite pelo menos uma formatação bem melhor do que um simples texto em ASCII.

Um pouco de história. A HTML 0, a primeira versão, foi desenvolvida no

CERN no inicio de 1990, e praticamente não é mais usada. A HTML 1 incorporou

imagens em linha e estilos de texto, e foi a versão de HTML utilizada por quase

todos os primeiros paginadores da WEB. A HTML 2 foi um padrão publicado sobre a

forma de um RFC. A HTML 3 o incorporou tabelas, figuras, equações e outros

recursos mais avançados de formatação. A HTML é na verdade, apenas texto ASCII

com códigos de formatação que especificam diferentes fontes e estilos. O padrão

difundido atualmente é a HTML 4.01, que combina novos recursos com a tecnologia

XML, e por vezes pode ser reconhecida como XHTML.

Ela é muito semelhante aos primeiros processadores de textos, que

exigiam a inserção de tags de formatação para a especificação de tipos em negrito,

sublinhado ou itálico. A editoração de HTML pode ser feita com o uso de editores de

texto simples, porque a linguagem é compacta e se baseia no padrão ASCII. Todos

os recursos de formatação da HTML especificam estilos lógicos, e não estilos

físicos, isso permite a visualização do conteúdo em diversas plataformas e diversos

tipos de clientes. A desvantagem desse enfoque é a impossibilidade de controlar a

formatação exata de qualquer documento HTML, porque os usuários podem

escolher suas próprias fontes e seus estilos, combinando-os com os estilos de

HTML.

Page 76: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

73

Os três elementos básicos em HTML são indicados em seu nome:

• Hypertext (Hipertexto): é o nome dado para um link. Um formulário de

recurso de ajuda on-line é um link de hipertexto, por exemplo;

• Markup (Anotação): é exatamente o que anuncia – um sistema de

símbolos escritos em um documento que permite que o processador; seja humano,

seja uma máquina, reconheça como fazer para apresentar e formatar o documento;

• Linguagem: são vários símbolos ou sons que possibilitam a

comunicação. Se uma pessoa fala francês e outra alemão, não poderão comunicar-

se muito bem. Entretanto, se os dois falarem espanhol como segundo idioma, terão

um meio comum de comunicação e poderão trocar idéias.

Um documento hipertexto é constituído de trechos de texto, parecidos

com os que se produz em um editor de textos. Na verdade, para se construir páginas

em HTML, basta utilizar um editor de textos. O documento hipertexto se diferencia

pela possibilidade de ligar uma palavra ou um trecho de texto, com outras partes

desse ou de outros documentos. Esta ligação é chamada de link de hipertexto, ou,

simplesmente, link. Ao dar um clique em um link, o HTML irá se encarregar de

desviar sua leitura para um novo trecho do documento, correlacionando para o

assunto apontado por essa ligação.

Como já mencionado HTML é uma linguagem simples que possui uma

centena de comandos distintos. A estrutura do seu código baseia-se na inserção de

palavras reservadas entre os sinais “< >”. Por exemplo, <B>Texto</B> tornaria o

texto negrito. É uma linguagem interpretada. O interpretador é o browser, que

converte os comandos anotados na representação gráfica de objetos estruturados

(textos e imagens).

A estrutura de um programa HTML, apresenta-se da seguinte forma:

a) Cabeçalho – todo documento HTML deve começar por declarar a si

mesmo, através do comando <HTML>, colocado no começo, e </HTML> no final. O

topo do documento deverá conter também uma seção cabeçalho, delimitada pelo

par <HEAD> e </HEAD>. Existem várias informações que podem ser incluídas neste

cabeçalho. No geral, os cabeçalhos são ignorados pelos browsers. Entretanto, as

informações contidas nessa seção são de suma importância para a recuperação dos

conteúdos.

Page 77: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

74

b) Corpo do documento – o corpo do documento é todo formado por texto

e imagens, hiperlinkados ou não, contidos entre <BODY> e </BODY>. É a página

propriamente dita, aquilo que será mostrado na tela do monitor. Em termos de

elementos, pode-se programar e configurar o seguinte:

Textos de cabeçalhos;

Parágrafos de texto;

Listas de itens;

Lista de definição;

Links e âncoras de hipertexto;

Imagens inseridas;

Links de imagem;

Formulários eletrônicos;

E outros.

c) Links de Hipertexto – a linguagem HTML tem disponível apenas um tipo

de link, que é uma associação unidirecional entre uma origem e um destino. Links

são os elementos que diferem um documento da Internet de um impresso. Os seus

principais recursos são a manipulação de strings e de imagens. No caso das strings,

a HTML permite manipular seus atributos (negrito, itálico, corpo da fonte,

espaçamento interparagrafar) e sua posição relativa na página (diagramação). No

caso de imagens, é possível determinar apenas sua posição. A HTML permite definir

também âncoras e links de hipertexto e hiperimagem.

d) Tags HTML – os documentos HTML são compostos apenas de texto.

Parte do texto são instruções para o browser realizar algo com o texto puro

associado. Essas instruções são chamadas tags. Os tags são descritos usando-se

os sinais de menor < e de maior >. A maioria dos tags é usada em pares, para ligar

e desligar um recurso de formatação em um bloco de texto. O tag de finalização é

igual ao de início, exceto pela barra (/) na frente do identificador. Todas as tags de

formatação HTML podem ser escritas em letras maiúsculas, minúsculas ou

misturadas [CHANDLER]. A Tabela 1 mostra um pequeno conjunto dos muitos tags

disponíveis na HTML.

TABELA 1 – CONJUNTO DE TAGS DISPONÍVEIS EM HTML

<HTML>...</HTML> O tag HTML é o primeiro e o último em um documento

Page 78: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

75

HTML. Ele diz ao browser para que apresente o

documento como hipertexto, em vez de texto puro.

<HEAD>...</HEAD>

O tag HEAD identifica o início da seção do documento

HTML. Entre outras coisas, o título do documento fica em

cabeçalho.

<TITLE>...</TITLE> O tag TITLE contém o título que aparece na barra de

títulos do browser WEB.

<BODY>...</BODY>

O tag BODY circunda a maior parte de uma página WEB.

Ele contém tudo que um usuário vê quando acessa sua

página na WEB.

<Hn>...</Hn>

Os tags HEADER criam vários tamanhos de cabeçalho

de texto. Substitua o n por um número entre 1 e 6.

Quanto mais baixo o número, maior o cabeçalho.

<HR>

Os tags HORIZONTAL RULER desenha uma linha

horizontal na página WEB, tornando-a mais fácil para o

usuário ler.

Um exemplo da marcação HTML é mostrado na figura 3, o texto foi

extraído da página inicial da Ferramenta TSDJ Groupware.

Page 79: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

76

FIGURA 3 – EXEMPLO DE MARCAÇÃO HTML

Estabelecido os conceitos de utilização da HTML, compreendamos agora

como prover conteúdo dinâmico para a WEB através da integração da linguagem

estática HTML com a linguagem dinâmica PHP4.

A PHP Hypertext Preprocessor, como é introduzida em [CHOI] é uma

linguagem de programação para desenvolvimento de sites WEB interativos e

dinâmicos, originalmente projetada por Rasmus Lerford nos idos de 1994. Desde

então, passou por varias alterações e foi adotada por programadores WEB ao redor

do globo. Em termos técnicos, a PHP4, a quem nesta obra estaremos tratando

apenas como PHP, é uma linguagem se script da WEB, rodando no servidor,

multiplataforma, em uma combinação com comandos HTML, onde o código escrito

com PHP e HTML, é tratado de maneira que usamos o primeiro para controlar e o

segundo para formatar.

Estes programas são colocados em um servidor WEB, discutido no

capítulo 5, e assim podemos acessá-los pela utilização de um navegador da WEB,

que exibe o HTML resultante. Isso significa que nossos programas podem ser

Page 80: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

77

disponibilizados para que outras pessoas tenham acesso através da WEB,

simplesmente colocando-os em um servidor público da WEB.

Uma menção a utilização do HTML é recomendada antes de

prosseguirmos. [CHOI], ressalva a familiarização com o HTML, esclarecendo que

essa linguagem é utilizada para gravar páginas WEB, combinando texto e tags

especiais que informam ao navegador como tratar aquele texto. O HTML é usado

para descrever como elementos diferentes devem ser exibidos em uma página

WEB, como as páginas devem ser vinculadas, onde colocar as imagens e assim por

diante. Documentos HTML puro, por toda à sua versatilidade, são pouco mais do

que arranjos estáticos de textos e quadros, embora com boa apresentação; mas a

maioria dos sites que você pode encontrar na WEB não são estáticos e sim

dinâmicos e até mesmo interativos. Eles mostram uma lista de sites com palavras

que você especificou, apresentam últimas noticias e até o saúdam pelo nome

quando você se conecta. Permitem que você interaja e apresentam páginas WEB

diferentes, de acordo com às suas escolhas.

Você não pode desenvolver um site WEB como esse utilizando HTML

simples, e é nesta hora que a PHP entra em cena. Ela proverá alguns recursos que

irão:

Apresentar dados de uma grande variedade de fontes diferentes,

como bancos de dados ou arquivos;

Incorporar elementos interativos, como recursos de procura, quadros

de mensagens e votações preliminares;

Permitir ao usuário desempenhar ações, como enviar mensagens de

correio eletrônico ou comprar algo.

Trocando em miúdos, a PHP, pode ser utilizada para gravar o tipo de site

WEB que qualquer pessoa familiarizada com a WEB usa diariamente. De sites de

comércio eletrônico a mecanismos de procura e portais de informações, a maioria

dos principais sites da WEB na Internet incorpora alguns ou todos esses tipos de

programação. Portanto, a PHP pode ser utilizada para uma grande variedade de

aplicativos, de utilitários, e de ferramentas corporativas.

O que há de melhor sobre a PHP4 é que ela tem o suporte a um grande

numero de ISPs, o que significa que uma vez que você tenha escrito um aplicativo

em PHP, pode facilmente colocá-lo na WEB para que todos o utilizem. A PHP é

Page 81: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

78

baseada no processador de script Zend, de propriedade da Zend Technologies5,

onde informações específicas sobre a PHP, podem ser obtidas, assim como artigos,

estudos de caso e novidades sobre os vários usos que ela está desempenhando

atualmente nos ambientes de negócios. O Site oficial do Projeto PHP6, é fonte

essencial de informações e o canal para obtenção das novas versões da linguagem,

portáveis para várias plataformas. A figura 4 exibe um ambiente configurado para

executar a PHP, onde o acesso é realizado através do navegador Internet Explorer.

FIGURA 4 – AMBIENTE DE EXECUÇÃO DA PHP

O Ambiente de programação da PHP é estritamente simples, e a exemplo

da programação HTML pode ser feito utilizando-se um simples editor de texto. O

conceito de armazenamento é tratado pela PHP com o uso de variáveis, que são as

estruturas de dados responsáveis pelo armazenamento e manipulação temporário

5 http://www.zend.com

6 http://www.php.net/

Page 82: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

79

das informações que trafegam no sistema PHP. O sufixo .php caracteriza o script

PHP, ou seja, onde o nosso código fonte estará armazenado e pronto para ser

interpretado pelo processador PHP. Um script PHP é sempre escrito dentro do

documento que combina HTML e PHP dentro das tags <?php e ?>. A PHP tem uma

grande biblioteca de palavras reservadas, conhecidas como funções, e elas

desempenham tarefas comuns como retornar a data ou hora, enviar mensagens de

correio eletrônico, executar algumas operações matemáticas mais complexas ou

interromper a execução de um script por alguns segundos.

Uma questão extremamente importante no código php é o símbolo “;”,

exigido como terminador de linha pela PHP, o que esclarece para a linguagem que

aquela seqüência de comandos terminou (há uma ou duas exceções para essa

regra).

Finalmente, depois de compreendidos os conceitos preliminares da

linguagem, podemos estabelecer a premissa que a PHP é um script que roda do

lado do Servidor. Toda informação contida entre as tags <?php e ?> é entendida

como código PHP sendo enviada ao pré-processador de script PHP para

processamento, e assim é enviado ao cliente somente o conteúdo HTML, que será

exibido de maneira apropriada as marcações HTML. A obtenção de informações do

cliente é manipulada por intermédio de formulários HTML, e enviadas para o servidor

WEB, onde estas informações serão tratadas de acordo com as instruções do código

fonte.

Um exemplo básico de código PHP é exibido abaixo, o mesmo produz o

resultado observado na Figura 5.

<HTML>

<HEAD>

<TITLE>Um exemplo simples de Código PHP</TITLE>

</HEAD>

<BODY>

<p font face=”Verdana”> A data atual é</p>

<?php

echo gmdate(“M d Y”);

?>

</BODY>

</HTML>

Page 83: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

80

FIGURA 5 – EXEMPLO DE CÓDIGO PHP

Resumindo, a PHP é uma combinação de três itens: texto, marcação

HTML e script PHP, que gera código fonte interpretado pelo servidor WEB gerando

resultados em HTML puro para o cliente de maneira que o navegador possa

entender, através da utilização de trafego http de um lado para o outro.

2.10. ENGENHARIA DE SOFTWARE

Este capítulo buscará os conceitos fundamentais da engenharia de

software, que devem coexistir a todo projeto que implemente ferramentas baseadas

em software. Seu objetivo é estabelecer as boas práticas e determinar conceitos

sobre softwares.

Em Engenharia de Software, [PRESSMAN], determina que durante as

três primeiras décadas da era do computador, o principal desafio era desenvolver

um hardware que reduzisse o custo de processamento e armazenamento de dados.

Ao longo da década de 1980, avanços na microeletrônica resultaram em maior poder

de computação e a um custo de processamento e armazenamento de dados.

Ao longo da década de 1980, avanços na microeletrônica resultaram em

maior poder de computação a um custo cada vez mais baixo. Hoje, o problema é

diferente. O principal desafio durante a década de 1990 foi melhorar a qualidade (e

Page 84: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

81

reduzir o custo) de soluções baseadas em computador - soluções que são

implementadas com software.

O poder de um computador mainframe da década de 1980 agora está à

disposição sobre uma escrivaninha. As assombrosas capacidades de

processamento e a magia de armazenagem do moderno hardware representam um

grande potencial de computação. O software é o mecanismo que nos possibilita

aproveitar e dar vazão a esse potencial.

Há vinte anos, menos de 1% do público poderia descrever de forma

inteligível o que significa "software de computador". Hoje, a maioria dos profissionais

bem como a maior parte do público, em grande medida, acha que entende o que é

software. Será que entendem?

Uma descrição de software no livro didático poderia assumir a seguinte

forma: "Software é: (1) instruções (programa de computador) que quando

executadas, produzem a fundição e desempenho indesejados; (2) e estruturas de

dados que possibilitam que os programas manipulam adequadamente a informação;

e (3) documentos que descrevem a operação e o uso dos programas". Não há

dúvida de que outras definições, mais completas, poderiam ser oferecidas. Mas

precisamos de algo mais que uma definição formal.

Para [PRESSMAN], para que se possa obter a compreensão do que o

software (e, em última análise, uma compreensão da engenharia de software) é

importante examinar as características do software que o tornaram diferente das

outras coisas que os seres humanos constroem. quando o hardware é construído, o

processo criativo humano (análise, o projeto, construção e teste) é imediatamente

traduzido numa forma física. Se construímos um novo comprador, nossos esboços

iniciais, desenhos de projeto formais e protótipo em forma digna para esta a cada

breadboard (arranjo experimental de circuitos eletrônicos) evoluem para um produto

físico (chips VLSI, e placa de circuito, fontes de energia, etc.). O software é um

elemento de sistema lógico, e não físico. Portanto, o software tem características

que são comuns consideravelmente diferentes da do hardware:

1. O software é desenvolvido e projetado por engenharia, não

manufaturado no sentido clássico;

2. Software não se desgasta;

3. A maioria dos softwares se é feita sob medida em vez de ser montada

a partir de componentes existentes.

Page 85: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

82

O software de computador é uma informação que existe em duas formas

básicas: componentes não executáveis em máquina e componentes executáveis em

máquinas. Os componentes de software são criados por meio de uma série de

conversões que mapeiam as exigências do cliente para o código que executaram em

máquina. Um modelo (o protótipo) das exigências é convertido num projeto. O

projeto de software é convertido numa forma de linguagem que especifica a

estrutura de dados do software, os atributos procedimentais e os requisitos

relacionados. A forma de linguagem é processada por um tradutor que converte em

instruções executáveis em máquina. A reusabilidade é uma característica importante

um componente de software de alta qualidade, ou seja, o componente deve ser

projetado implementado de forma que possa ser reusado em muitos programas

diferentes. Os componentes de software são construídos usando uma linguagem de

programação e tem um vocabulário limitado, uma gramática explicitamente definida

e regras de sintaxe e semântica bem formadas. Esses atributos são essenciais para

a tradução por máquina. As formas de linguagem em uso são linguagens de

máquina, linguagem de alto nível e linguagens não-procedimentais.

O software pode ser aplicado a qualquer situação em que um conjunto

previamente especificado e passos procedimentais (isto é, um algoritmo) tiver sido

definido (notáveis exceções a essa regra são o software de sistema e especialista e

o software de rede neural). O conteúdo de informação e a determinância7 são

fatores importantes na determinação da natureza de um aplicativo. A palavra

conteúdo refere-se ao significado e a forma das informações que entram e saem.

Por exemplo, muitas aplicações comerciais fazem uso de dados de entrada

altamente estruturados (um banco de dados) e produzem "relatórios" formatados.

Desenvolver categorias genéricas para as aplicações de software é uma

tarefa um tanto difícil. A medida que a complexidade do software cresce, desaparece

7 Determinância de informação - Refere-se a previsibilidade da ordem e dar oportunidade da

informação. Um programa de análise de engenharia aceita dados que tem uma ordem predefinida,

executa os algoritmos de análise sem interrupções e produz dados resultantes em relatório ou em

formato gráfico. As aplicações são determinadas. um sistema operacional multiusuário, por outro

lado, aceitam entradas que tem conteúdo variado e regulagem de tempo arbitrária, executou o ritmos

que podem ser interrompidos por condições externas e produz saída que varia com uma função do

ambiente do tempo. Aplicações com essas características são indeterminadas.

Page 86: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

83

a clara visão em compartimentos. As seguintes áreas de software indicam amplitude

das aplicações potenciais:

Software básico;

Software de tempo real;

Software comercial;

Software científico e de engenharia;

Software embutido;

Software de computador pessoal; e

Software de inteligência artificial.

Para [PRESSMAN], os problemas que afligem o desenvolvimento de

software podem ser caracterizados a partir de uma série de perspectivas diferentes,

mas os gerentes responsáveis pelo desenvolvimento de software concentraram-se

nas questões de "primeiro plano": (1) as estimativas de prazo de custo foram

correntemente imprecisas; (2) a produtividade do pessoal da área de software não

tem acompanhado a demanda por seus serviços; e (3) a qualidade de software às

vezes em menos adequada. Custos excessivos de uma ordem de magnitude tem

sido experimentados. Os prazos arrasta-se por meses ou anos. Pouca coisa tem

sido feita para melhorar a produtividade dos profissionais da área de software. Os

índices de erros para novos programas causam insatisfação do cliente e falta de

confiança. Esses problemas são a manifestação mais visível de outras dificuldades

do software. Cada um dos problemas descritos anteriormente pode ser corrigido.

Uma abordagem de engenharia do desenvolvimento de software, aliada a uma

contínua melhoria de técnicas e ferramentas, oferece a chave.

Os profissionais da área de software (a geração passada foi chamada

programadores; esta geração está completando conquistando o título de

engenheiros de software) tem recebido pouco treinamento formal em novas técnicas

para o desenvolvimento de software. Cada pessoa que aborda a tarefa de "escrever

programas" com a experiência derivada dos esforços passados. Algumas pessoas

desenvolvem uma abordagem ordeira e eficiente ao desenvolvimento de software

por meio de ensaio e erro, mais muitas outras desenvolvem maus hábitos que

resultam em qualidade e manutenibilidade deficientes.

A aflição que contaminou o desenvolvimento do software não

desaparecerá da noite para o dia. Reconhecer os problemas e suas causas e

desmascarar os mitos do software são os primeiros passos em direção as soluções.

Page 87: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

84

Mas as próprias soluções devem oferecer assistência prática ao desenvolvedor de

software, melhorar a qualidade do software e, por fim, permitir que o mundo do

software acompanhe os passos do mundo dos hardware. Não existe uma

abordagem em particular que seja melhor para a solução da aflição de software.

Entretanto, ao combinarmos métodos abrangentes para todas as fases de

desenvolvimento de software, melhores ferramentas para automatizar esses

métodos, blocos de construção mais poderosos para a implementação do software,

melhores técnicas para garantia da qualidade do software e uma filosofia de

coordenação predominante, controle e administração, podemos conseguir uma

disciplina para o desenvolvimento dos sócios, a engenharia de software.

A engenharia de software é um rebento da engenharia de sistemas e de

hardware, ela abrange um conjunto de três elementos fundamentais - métodos,

ferramentas e procedimentos - que possibilitam ao gerente o controle do processo

de desenvolvimento do software e oferece ao profissional uma base para a

construção de sorte ou área de alta qualidade produtivamente [PRESSMAN].

Os métodos de engenharia de software proporcionam os detalhes de

"como fazer" para construir o software, eles envolvem um amplo conjunto de tarefas

que incluem planejamento e estimativa de projeto, a análise de requisitos de

software e de sistemas, projeto da estrutura de dados, a arquitetura de programa e

algoritmo de processamento, codificação, teste e manutenção.

As ferramentas de software proporcionam apoio automatizado o semi-

automatizado aos métodos. Atualmente, existem ferramentas para sustentar cada

um dos métodos adotados anteriormente. Quando as ferramentas são integradas de

forma que a informação criada por uma ferramenta possa ser usado por outra, é

estabelecido um sistema de suporte ao desenvolvimento de software chamado

engenharia de software auxiliada por computador (CASE). O CASE combina

software, hardware e um banco de dados de engenharia de software (uma estrutura

de dados contendo importantes informações sobre a análise, projeto, codificação de

teste).

Os procedimentos da engenharia de software constituem o elo de ligação

que mantém juntos os métodos e as ferramentas e possibilita o desenvolvimento

racional e oportuno do software de computador. Os procedimentos definem a se

conhecer em que os métodos serão aplicados, os produtos que se exige que sejam

entregues (documentos, relatórios, formulários, etc.), os controles que ajudam a

Page 88: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

85

assegurar a qualidade e a coordenar as mudanças, e os marcos de referência

possibilitam aos gerentes de software avaliar o progresso.

Em Engenharia de software são adotados alguns modelos de

desenvolvimento de software, os quais, apenas citaremos neste capítulo,

ressaltando que o modelo de prototipação receberá atenção especial devido à sua

utilização no projeto. Para o desenvolvimento de software coexiste possibilidade de

utilização de algum modelo de desenvolvimento de software: o ciclo de vida clássico,

usualmente chamado de modelo cascata; a prototipação; o modelo espiral; ou

técnicas de quarta geração (4GT). Estes paradigmas podem e devem ser

combinados de forma que as potencialidades de cada um possa ser obtido um único

projeto. O paradigma do modelo espiral realiza isso diretamente, combinando a

prototipação e elementos do ciclo de vida clássico numa abordagem evolucionária.

Mas qualquer um dos paradigmas pode constituir uma base sobre a qual os outros

são integrados.

Sobre a prototipação, devemos esclarecer que é um processo que

capacita o desenvolvedor a criar um modelo do software que será implementado. O

modelo pode assumir uma das três formas: (1) um protótipo em papel o modelo

baseado em PC que retrata a interação homem-máquina de uma forma de capacete

usuário a entender quando a interação ocorrerá; (2) um protótipo de trabalho que

implementa algum subconjunto da função exigida do software desejado; o (3) um

programa existente que executa parte ou toda a função desejada, mais que tem

outras características que serão melhoradas em um novo esforço de seu

desenvolvimento. A seqüência de eventos para o paradigma de prototipação é

ilustrada na figura 6. Como todas as abordagens ao desenvolvimento de software, a

prototipação inicia-se com a coleta dos requisitos. O desenvolvedor e o cliente

reúnem-se e definem os objetivos globais para o software, identificam as exigências

conhecidas e esboçam as áreas em que uma definição adicional é obrigatória.

Ocorrem tal a elaboração de um "projeto rápido". O projeto rápido concentra-se na

representação daqueles aspectos do software que serão visíveis ao usuário (isto é, a

abordagem de entrada e formato de saída). O projeto rap leva a construção de um

protótipo que é avaliado pelo cliente/usuário e é usado para refinar os requisitos

para o software a ser desenvolvido. Um processo de interação ocorre quando o é

feita uma "sintonia fina" do protótipo para satisfazer as necessidades do cliente,

Page 89: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

86

capacitando, ao mesmo tempo, o desenvolvedor a compreender melhor aquilo que

precisa ser feito.

FIGURA 6 – MODELO DA PROTOTIPAÇÃO

Idealmente, o protótipo serve como um mecanismo para identificar os

requisitos de software. Se um protótipo de trabalho for construído, o desenvolvedor

tentará usar fragmentos de programas existentes ou aplicará ferramentas que

possibilitem que programas de trabalho sejam gerados rapidamente. O protótipo

pode servir como "o primeiro sistema" - sistema esse que deverá ser descartado.

Mas essa pode ser uma visão idealizada. Ainda que possam ocorrer problemas, a

prototipação é um paradigma eficiente da engenharia de software. A chave é definir

se às regras do jogo logo no começo; ou seja, o cliente e o desenvolvedor devem

ambos concordar que o protótipo seja construído para servir como um mecanismo a

fim de definir os requisitos. Ele será depois descartado (pelo menos em parte) e o

software real será projetado, levando-se em conta a qualidade e a manutenibilidade.

O processo de engenharia de software, para [PRESSMAN] é visto de

maneira genérica em três fases distintas, independentemente do paradigma de

engenharia de software escolhido. As três fases, definição, desenvolvimento e

manutenção, são encontradas em todo o desenvolvimento de softwares,

independentemente da área de aplicação, o tamanho do projeto ou complexidade.

A fase de definição focaliza "o quê", ou seja, qual informação tem de ser

processadas, qual fundição e desempenho são desejados, quais interfaces devem

Page 90: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

87

ser estabelecidas, com as restrições de projeto existente e quais critérios de

validação são exigidos para se definir um sistema bem sucedido.

A fase de desenvolvimento focaliza "como", ou seja, como a estrutura de

dados e a arquitetura de software têm de ser projetadas, como os detalhes

procedimentais têm de ser implementados, como o projeto será traduzido numa

linguagem de programação e como os testes têm de ser realizados.

A fase de manutenção concentra se nasce "mudanças" que estão

associadas a correção de erros, adaptações exigidas à medida que o ambiente do

software evolui e ampliações produzidas por exigências variadas do cliente.

Enfim, [PRESSMAN] esclarece que a engenharia de software é uma

disciplina que integra métodos, ferramentas e procedimentos para o

desenvolvimento de software de computadores.

Page 91: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

88

III. JUSTIFICATIVA

"É melhor tentar e falhar,

que preocupar-se e ver a vida passar;

é melhor tentar, ainda que em vão,

que sentar-se fazendo nada até o final.

Eu prefiro na chuva caminhar,

que em dias tristes em casa me esconder.

Prefiro ser feliz, embora louco,

que em conformidade viver ..."

Martin Luther King

A possibilidade de haver cooperação entre usuários em sistemas

privativos consigna significado retorno empresarial pela facilidade de utilização dos

recursos disponíveis, considerando a implementação através de mecanismos de

cooperação, colaboração e facilidade de comunicação, o trabalho conjunto é

desenvolvido com eficiência, através da livre circulação da informação, pelo estimulo

à inovação, facilitando desta maneira o processo de liderança coletiva.

A utilização de sistemas Groupware propicia o relacionamento da

empresa com seus clientes e fornecedores (extranet) e com funcionários e/ou filiais

(intranet), baseado no sistema de compartilhamento de áreas de trabalho

especificas, desde que devidamente autenticados e autorizados, com a

caracterização de duas ou mais pessoas trabalharem juntas e o acrônimo do

compartilhamento de experiências e conhecimento, com a automação da política de

comunicação e conseqüentemente via de fato a criação de memória organizacional

da empresa, o que resulta na superação de fatores determinantes para obtenção

significativa de lucros pela superação das barreiras geográficas e customização do

tempo.

O processo da automatização de "escritório" resulta em considerável

diminuição do fluxo de circulação de papel e ganho na utilização dos recursos de

computadores, tornando seu uso simplificado para qualquer pessoa, pelo advento do

Page 92: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

89

software de colaboração e cooperação, que na desenvoltura do processo de

comunicação existente surge com o advento das inovações tecnológicas, aplicado

na estrutura da transmissão das informações empresarial, pelo aproveitamento da

infra-estrutura existente, enquadrando-se nos moldes da política de comunicação

manual, quando considerado o processo de fluxo de dados atual, e resultando nos

ganhos de satisfação do cliente e empresário.

É importante entender que Groupware não é apenas mais um estágio da

tecnologia de computação. Seu objetivo é permitir a eficácia dos grupos existentes

ao invés de impor práticas que causem mudanças radicais na forma de trabalho.

3.1. PROBLEMAS

Mesmo com investimentos contínuos em automação de escritório, e na

persistente busca do sonho do "escritório sem papel", o volume de papel dispendido

diariamente é assombroso. Outra parte do problema é que os sistemas de

informações tradicionais tratam de apenas uma pequena parte das informações

utilizadas nas organizações o que de maneira relevante caracteriza a perda de

produtividade e conseqüentemente um desgaste na circulação da informação que

por sua vez, é retransmitida entre portadores antes mesmo de alcançar seu destino.

Tal deficiência caracteriza prejuízo a estrutura organizacional, onde é

considerado e sempre apontado como primitiva o jargão popular "tempo é dinheiro.",

nesta célebre da sabedoria popular constatamos que a ideologia do Groupware

aliado às ferramentas tecnológicas, apresenta soluções satisfatórias que urgem

como minimizador da perca de tempo, e via de regra um otimizador de soluções

para a circulação da informação no âmbito empresarial.

3.2. HIPÓTESES

Estabelecer uma ferramenta coorporativa, utilizando a tecnologia WWW,

com os arquivos padrão HTML, e servidores HTTP através de uma interface simples

e uniforme, tornando-a um efetivo integrador e denominador comum entre diferentes

plataformas.

Sem a complexidade dos velhos sistemas centralizados, compor um

ambiente de trabalho que oferece abordagens inovadoras para a autoria,

gerenciamento e publicação de informações distribuídas, possibilitando dinamizar o

fluxo de informações, democratizar as redes internas e ajudar a diminuir a opressiva

Page 93: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

90

carga de papel gerada diariamente, customizando a utilização de material de

escritório e acima de tudo, melhor aproveitamento da mão de obra humana.

Relevando que numa intranet, a informação passa a ser criada e gerenciada por

aqueles que a produzem, sem ter que depender de programadores para criar

entradas de dados e extrair relatórios.

Page 94: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

91

IV. OBJETIVOS

4.1. OBJETIVOS GERAIS

Criação de uma ferramenta que ajude as pessoas a trabalharem juntas

com mais facilidade ou eficiência, no âmbito empresarial baseado em modelo

administrativo teórico adaptável a estrutura organizacional das instituições

permitindo que se comuniquem, coordenem e colaborem, possibilitando a livre

circulação da informação entre os usuários devidamente autenticados e ressaltando

o seu nível de permissão e acesso ao sistema, o que estimula à inovação e facilita a

liderança coletiva. Seu uso deve resultar em uma organização mais bem preparada

para enfrentar os desafios do mercado atual, possibilitando a diminuição do fluxo de

papeis na organização e ganho de tempo na transmissão das informações, aliada a

confiabilidade e segurança prevista para o tratamento dos dados trafegados na rede

empresarial.

4.2. OBJETIVOS ESPECÍFICOS

Estabelecer a estrutura da ferramenta seguindo o modelo administrativo

proposto pela teoria clássica e neoclássica dos tipos de organização formal,

pela utilização do modelo de “Organização Linha-staff8”, salutando que os

órgãos de staff providenciam serviços especializados, fator bastante

importante em uma era de intensa especialização, onde é possível manter o

princípio de autoridade única do superior sobre os subordinados diretos.

Através da busca de valores e da implementação da tecnologia, o software

terá a possibilidade de apresentar ferramentas que facilitam o trabalho em

grupo, ratificando os prepostos gerais, ou seja, tornar o processo de

comunicação, coordenação e colaboração a um nível aceitável através do

uso sistêmico da ferramenta. Serão agregados a ferramenta com o intuito

de torná-la fundamental e essencial ao processo de gerenciamento

organizacional, os seguintes:

Calendário com agenda de tarefas e compromissos;

Catalogo de endereços;

8 As funções de linha são aquelas diretamente ligadas aos objetivos da empresa ou do departamento,

enquanto as funções de staff são aquelas que não se encontram diretamente ligadas àqueles

objetivos.

Page 95: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

92

Chat (para reuniões e conferências);

Fórum (para discussões de assuntos específicos);

Área para administração de arquivos com segurança;

Sistema de newsletter (publicação de informativos para a comunicação

interna);

Enquetes (visando a interação do grupo);

Entre outros recursos que podem ser customizados de acordo com a

utilização e necessidade do grupo.

Vale identificar, que estas ferramentas serão adaptadas ao software na

medida de customização da aplicação, lembrando que o desenvolvimento de forma

modular, propícia que os valores sejam identificados e apresentados de maneira

sistêmica e gradual.

Page 96: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

93

V. MATERIAIS E MÉTODOS

5.1. METODOLOGIA

Elaboração de sistema de Banco de Dados para armazenamento das

mensagens enviadas e recebidas pelos usuários, proposto através da organização

do nível de acesso por usuário autorizado por privilégios específicos de acesso as

informações; implementação de sistema de chat, agenda eletrônica, área de

7arquivos e informações dos usuários no sistema com interface WWW, através de

linguagem interpretadora de scripts multiplataforma rodando no servidor em

combinação com comandos HTML, pela utilização de aplicativos de Licença Pública

Geral (GNU/GPL).

5.2. RECURSOS NECESSÁRIOS

Linguagem PHP 4

Banco de Dados MySQL

Servidor de WWW Apache

Editores de linguagem HTML/PHP e Editor de Imagens

Edson Alves de Carvalho Júnior

Ronielton Resende Oliveira

5.3. AMBIENTE DE DESENVOLVIMENTO

O ambiente de desenvolvimento constitui da união de várias ferramentas

de autoria para programação WEB, onde aqui destacamos e apresentamos as de

maior utilização. Esta medida se faz necessária pelo fato de determinadas tarefas

serem executadas com aplicativos auxiliares, e pela grande oscilação da utilização

destas ferramentas, optamos por somente classificar e comentar as de uso

constante.

Por uma breve exposição, apresentará o Ambiente Integrado Macromedia

Dreamweaver MX 2004, é um editor de HTML profissional para o desenvolver

páginas, sites e aplicativos para a Internet que é bastante utilizado no meio dos

desenvolvedores pela facilidade que sua interface apresenta. Com o Dreamweaver é

fácil criar e editar páginas compatíveis com diversos navegadores e plataformas.

Ele oferece ferramentas suficientes para aqueles que gostam de trabalhar

em modo texto, como por exemplo, as dicas de código que são exibidas à medida

Page 97: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

94

que são digitados os comandos. A figura 8 exemplifica o código gerado pela

ferramenta.

FIGURA 8 – DREAMWEAVER MX 2004: CODE INTERFACE

O DreamWeaver MX também facilita a vida daqueles que não tem

afinidade com códigos HTML, ele possui uma interface gráfica que possibilita a

criação de páginas, sites e aplicativos sem a necessidade de digitação de uma só

linha de código. Possuindo painéis, guias, menus e o inspetor de propriedades junto

da área de trabalho, facilita-se a busca de problemas e se agiliza as definições em

geral, pela programação drag-and-drop o desenvolvimento das interfaces é bastante

simplificado como e visualizado na figura 9.

Page 98: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

95

FIGURA 9 – DREAMWEAVER MX 2004: DESIGN INTERFACE

Sendo um produto da família Macromedia ele tem ligações com outros

aplicativos como, por exemplo, o Flash, o Fireworks, o ColdFusion etc. No decorrer

deste trabalho, veremos como o DreamWeaver MX conversa com alguns desses

aplicativos.

O DreamWeaver MX possui também extensões que devem ser baixadas

do site da Macromedia9. Tais extensões trazem novos recursos para o aplicativo que

podem ser bastante úteis. Na Internet você também encontra muitas referências

sobre o DreamWeaver MX e as versões que o antecederam.

Devido a estas funcionalidades e pela facilidade de utilização o

Macromedia Dreamweaver MX 2004 foi a ferramenta escolhida para o

desenvolvimento da interface e do código PHP.

Como muitos outros bancos de dados, o MySQL, é programado e

administrado por meio de sua interface CLI, sendo por onde os usuários tratam a

9 Download da versão Trial e Extensões em http://www.macromedia.com.br

Page 99: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

96

maioria de suas interações diárias com o banco de dados. Porém esta não é a única

maneira de interagir com o Banco de Dados MySQL.

Sem sombra de dúvidas a interface gráfica é agradável de utilizar e facilita

a manipulação das informações. Escolhemos a interface gráfica do MySQL Front10,

uma excelente opção front-end que pelo constante desenvolvimento possibilita a

administração de maneira idêntica a interface CLI, onde é possível: criar banco de

dados, editar privilégios para usuários, recarregar o servidor, diagnosticar variáveis

de servidor, criar consultas SQL, entre muitas outras funções. A figura 10 ilustra a

utilização do MySQL Front.

FIGURA 10 – MYSQL FRONT: A INTERFACE GÁFICA

Mesmo com o desenvolvimento através de interfaces gráficas, seja para o

layout de telas, programação do código e estruturação do banco de dados, a

interação com o servidor é realizada por prompt de comando.

10

Download da versão Trial em http://www.mysqlfront.de/

Page 100: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

97

Esta por sua vez, de duas maneira: console ou remoto. Por console,

quando da necessidade de instalação do sistema FreeBSD, aplicação de patches,

configuração de aplicativos, e gerenciamento diverso. Remotamente, durante os

ajustes e testes da aplicação, neste tipo de acesso a ferramenta Putty11, foi a

escolhida pela simplicidade de utilização e poder na segurança das informações,

com a utilização do tráfego criptografado por canal SSL. A figura 11, apresenta um

acesso remoto realizado enquanto a figura 12 comprova os serviços em utilização no

servidor.

FIGURA 13 – CONSOLE FREEBSD: O ACESSO REMOTO

11

Download do Freeware em http://the.earth.li/~sgtatham/putty/0.58/x86/putty.exe

Page 101: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

98

FIGURA 12 – CONSOLE FREEBSD: SERVIÇOS EM EXECUÇÃO

Outros aplicativos foram utilizados durante as etapas de analise e

desenvolvimento da Ferramenta TSDJ Groupware, apenas citamos, os mesmos

para justificar a denominação de outros apresentada na seção Recursos

Necessários: PHP Editor, Macromedia Fireworks MX 2004, Corel Draw 12,

DBDesigner, Microsoft Office Visio 2003, e FTP Woyager.

5.4. CRONOGRAMA DE EXECUÇÃO

Page 102: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

99

Page 103: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

100

Page 104: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

101

5.5. APLICAÇÃO

A ferramenta TSDJ Groupware, será o protótipo para a implementação de

um sistema corporativo educacional privativo de comunicação, baseado em interface

WEB, que deverá após estudo de viabilidade, entender a compreensão do domínio,

passando pelas analises de levantamento de requisitos, classificação, solução de

conflitos, priorização e finalmente validação incorporar à esta instituição de ensino

um sistema automatizado de comunicação interna.

O diagrama da figura 13 apresenta a estrutura organizacional da

Universidade, na visão externa ao processo de comunicação e hierarquia, praticados

atualmente pelos diversos órgãos e entidades envolvidas no processo de

comunicação.

Consideremos que esta macro visão do sistema busca as possibilidades

de expansão máxima do sistema de comunicação Groupware, quando da

implementação em larga escala, onde a mesma deve ser alvo de estudo detalhado e

aprimoramento, sendo direcionado entre todos os setores envolvidos.

Visão do Sistema - Macro Visão Externa UNINCOR

Tesouraria

Secretaria

Almoxarifado

Relações Públicas

Financeiro

( . . . )

ADMINISTRAÇÃO

Audio Visual

Laboratórios

Impressão

Xerox

( . . . )

OPERACIONAL

PROFESSORES

BIOLOGIA

PROFESSORES

EDUCAÇÃO FÍSICA

PROFESSORES

GEOGRAFIA

PROFESSORES

HISTÓRIA

PROFESSORES

LETRAS

PROFESSORES

MATEMÁTICA

PROFESSORES

MÚSICA

PROFESSORES

NORMAL SUPERIOR

PROFESSORES

PEDAGOGIA

PROFESSORES

QUÍMICA

ISE

PROFESSORES

CIÊNCIA DA COMPUTAÇÃO

PROFESSORES

ADMINISTRAÇÃO

PROFESSORES

AGRONOMIA

PROFESSORES

BIBLIOTECONOMIA

PROFESSORES

CIÊNCIAS CONTÁBEIS

PROFESSORES

COMUNICAÇÃO SOCIAL

PROFESSORES

DIREITO

PROFESSORES

ENGENHARIA HÍDRICA

PROFESSORES

ENGENHARIA AMBIENTAL

PROFESSORES

TURISMO

PROFESSORES

TERMALISMO E ÁGUAS MINERAIS

PROFESSORES

REALAÇÕES INTERNACIONAIS

INCOA

PROFESSORES

ENFERMAGEM

PROFESSORES

FARMÁCIA BIOQUÍMICA

PROFESSORES

FISIOTERAPIA

PROFESSORES

FONOAUDIOLOGIA

PROFESSORES

MEDICINA

PROFESSORES

MEDICINA VETERINÁRIA

PROFESSORES

NUTRIÇÃO

PROFESSORES

ODONTOLOGIA

PROFESSORES

PSICOLOGIA

PROFESSORES

RADIOLOGIA (TECNÓLOGO)

INCIS

PRO-REITORIA DE GRADUAÇÃO

PROFESSORES

CURSOS

PROFESSORES

CURSOS

PROFESSORES

CURSOS

PROFESSORES

(. . . )

PRO-REITORIA DE PÓS-GRADUAÇÃO

REITORIA

FIGURA 13 – MACRO VISÃO DO SISTEMA

Page 105: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

102

Neste ponto é importante ressaltar, que o diagrama apresentado na figura

13, deve ser registrado como a idealização da ferramenta em seu escopo total, e

ainda que o software desenvolvido durante a evolução do PCC - Projeto de

Conclusão de Curso, aplicou os conceitos relacionados num protótipo de visão

reduzida.

Após compreensão da Universidade como um todo, mediante o

levantamento macro de sua estrutura hierárquica, o que é analisado em minúcias na

seção “Analise do Sistema”, definimos o escopo de implementação da ferramenta

protótipo, que segue as orientações da figura 14.

Detalhadamente, pode-se apresentar a estrutura de comunicação a ser

implementada nesta versão de software, que basicamente constituirá a fundação do

sistema. O processo de comunicação será intermediado entre os setores

organizacionais denominados: REITORIA, PRO-REITORIA, INCOA, CURSO

CIÊNCIA DA COMPUTAÇÃO e PROFESSORES.

Visão do Sistema - Nível Operacional

PROFESSORES

CIÊNCIA DA COMPUTAÇÃO

INCOA

PRO-REITORIA DE GRADUAÇÃO

REITORIA

FIGURA 14 – ESCOPO DA FERRAMENTA

Determinado o escopo, é importante especificar as autorizações de

acesso ao sistema, que seguem o modelo descrito na tabela 2. Serão atribuídos os

privilégios aos usuários do sistema, que serão funcionários internos da instituição,

sendo os mesmos identificados no sistema através de acesso mediante 'usuário' e

'senha', sendo permutado este acesso através de controle administrativo, a ser

Page 106: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

103

controlado por um Administrador do Sistema ou uma Equipe de Administradores do

Sistema.

Vale ressaltar que diferem as funções de Desenvolvedores do Sistema e

Administradores do Sistema, onde múltiplas pessoas podem estar envolvidas e que

cada uma desempenhará função inerente e não cumulativa para que um melhor

desempenho e controle sejam obtidos.

TABELA 2 – NIVEIS DE ACESSO

Níveis de Acesso

0 - Administrador

1 - Reitoria

2 - Pro-Reitoria

3 - INCOA

4 - Ciência da Computação

5 - Professores

Com as considerações aplicadas na tabela 2, é possível descrever o fluxo

de comunicação entre as entidades envolvidas, o qual será feito mediante o envio de

mensagens PRIVADA e PÚBLICA, o esquema de comunicação esta descrito na

tabela 3.

TABELA 3 – FLUXO DE COMUNICAÇÃO

Legenda

P = MSG Pública

PP = MSG Pública || Privada

* = Comunicação Bloqueada

Reito

ria

Pro

-Reito

ria

INC

OA

C. C

om

pu

tação

Pro

fesso

res

Reitoria - P P * *

Pro-Reitoria P - P P *

INCOA P P - P P

C. Computação P P P - P

Professores P P PP PP PP

Page 107: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

104

Neste ponto consideremos as definições a seguir:

Mensagem Privada ocorre entre emissor e destinatário, sendo

oculta aos demais participantes do grupo. Deverá ser utilizada quando

o assunto inerente à comunicação for privado ao grupo.

Mensagem Pública enviada por um emissor a todos os

componentes do grupo sendo visível aos mesmos. Deverá ser utilizada

quando o assunto inerente à comunicação for público ao grupo, sendo

distribuída como comunicado geral.

O fluxo de comunicação é associado de maneira global, mediante o

entendimento da tabela 3 no diagrama da figura 15.

FIGURA 15 – FLUXO DE COMUNICAÇÃO

O sistema deverá ser organizado internamente, através da adoção de

uma estrutura organizada de pastas e sub-rotinas que facilitará a inclusão de novos

módulos e a manutenção do sistema.

O sistema deverá automatizar o envio de comunicados e documentos

entre os participantes do processo educacional, propiciando uma melhor

Page 108: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

105

comunicação, aliada a agilidade computacional e manutenção do histórico

permanente da organização. O controle será feito em módulos que abrangem os

cursos oferecidos pela Universidade, onde este módulo estará direcionado ao Curso

de Ciência da Computação, e os envolvidos na sua pirâmide hierárquica conforme

detalhado na figura 8.

Cada envolvido na comunicação está alocado em um nível administrativo,

controlado através de inserção de seus dados cadastrais no sistema. Sua

colaboração será restrita a seu nível, bem como a visualização dos conteúdos que

trafegam no sistema, não sendo permitido o acesso as informações que não dizem

respeito à sua função.

Todas as mensagens enviadas serão armazenadas em banco de dados,

conseqüentemente não é permitida a alteração do conteúdo de qualquer mensagem

postada no sistema, o acesso às mesmas é facultado aos envolvidos, ou seja,

emissor e receptor.

Um acesso administrativo propiciará a equipe administrativa todo o

controle para as informações trafegadas e armazenadas, sendo estes os únicos a

possuírem acesso integral ao sistema, sendo os responsáveis pelo cadastramento,

exclusão e controle de usuários.

A interface de acesso ao sistema estará disponível na Intranet e na

Internet os dados trafegarão em interface criptografada através de SSL utilizando

uma chave de 128bits, que garantirá a segurança no tráfego das informações.

As restrições ao sistema adotam a sistemática que tudo que não é

expressamente permitido deve ser considerado proibido, e modificações e/ou

sugestões serão encaminhadas à administração do software para análise e estudo

de viabilidade.

5.6. ANÁLISE DO SISTEMA

Pelo entendimento da engenharia de software, considera-se o estudo

inicial do problema discutido anteriormente no item 4.2, o que delimita os preceitos

da investigação na busca de soluções.

O sistema deve controlar as seguintes informações sobre um usuário:

Nome

Sobrenome

CPF

Page 109: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

106

Endereço

Matricula na Instituição

Telefone Residencial

Telefone Celular

Endereço Eletrônico (e-mail)

Disciplinas que ministra

Formação Acadêmica

Minicurriculo

O administrador deverá no momento do cadastro certificar-se que todas

as informações foram fornecidas verificando a idoneidade dos usuários e associá-lo

corretamente ao seu nível administrativo. Os níveis administrativos considerados

além da administração são descritos pelos seus acessos hierárquicos:

Reitoria

1. É permitido o envio de mensagens para todos os níveis

inferiores: Pró-Reitoria, INCOA, Ciência da Computação e

Professores

2. É permitido o recebimento de mensagens dos níveis Pró-

Reitoria e INCOA

3. As mensagens são enviadas/recebidas em caráter privado

Pró-Reitoria

4. É permitido o envio de mensagens para todos os níveis

inferiores: INCOA, Ciência da Computação e Professores

5. É permitido o recebimento de mensagens dos níveis Reitoria e

INCOA

6. As mensagens são enviadas/recebidas em caráter privado

INCOA

7. É permitido o envio de mensagens para todos os níveis:

Reitoria, Pró-Reitoria, Ciência da Computação e Professores

8. É permitido o recebimento de mensagens de todos os níveis:

Reitoria, Pró-Reitoria, Ciência da Computação e Professores

9. As mensagens são enviadas/recebidas em caráter privado

Ciência da Computação

10. É permitido o envio de mensagens para os níveis: Pró-Reitoria,

INCOA e Professores

Page 110: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

107

11. É permitido o recebimento de mensagens de todos os níveis:

Reitoria, Pró-Reitoria, Ciência da Computação e Professores

12. As mensagens são enviadas/recebidas em caráter privado

Professores

13. É permitido o envio de mensagens para os níveis: INCOA,

Ciência da Computação e Professores

14. É permitido o recebimento de mensagens de todos os níveis:

Reitoria, Pró-Reitoria, INCOA, Ciência da Computação e

Professores

15. As mensagens são enviadas/recebidas em caráter privado,

quando o emissor/receptor são os níveis: Reitoria e Pró-Reitoria

16. As mensagens são enviadas/recebidas em caráter público

quando o emissor/receptor são os níveis: INCOA, Ciência da

Computação e Professores

As mensagens armazenadas em banco de dados devem registrar a data

e hora do envio, o emissor e o receptor(es). No campo de envio inerente ao nível

administrativo, será possível selecionar os destinatários da mensagem e o tipo de

mensagem (Pública ou Privada). As mensagens poderão ser classificadas em nível

de prioridade (Baixa - Normal - Alta).

A leitura das mensagens será feita somente na interface do sistema,

ainda que, o e-mail dos destinatários da mensagem cadastrado no sistema receba a

notificação da existência de uma nova mensagem.

Ainda considerar-se que as ferramentas de valor e funcionalidades ao

sistema, serão agregadas ao longo dos testes e necessidades de cada setor

envolvido. Estas ferramentas podem ser classificadas:

Calendário com agenda de tarefas e compromissos;

Catálogo de endereços;

Chat para reuniões e conferencias;

Fórum para discussões de assuntos específicos;

Área de upload e download de arquivos;

Sistema de newsletter para comunicação interna utilizada para macro

informativos;

Sistema de enquetes e pesquisa;

Page 111: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

108

5.7. DIAGRAMA DE FLUXO DE DADOS

O DFD foi utilizada para descrever a transformação de entradas em

saídas, compostos por processos, fluxos e depósitos de dados. Os processos

representam as diversas funções que o sistema executa. Os fluxos são as

informações que os processos exigem como entrada, ou as informações que geram

como saída. Depósitos de dados são um conjunto de dados que o sistema deve

armazenar no banco. As Figuras 15 e 16 mostram o Diagrama de Contexto, e os

processos referentes ao sistema.

FIGURA 15 – DFD: DIAGRAMA DE CONTEXTO

Page 112: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

109

FIGURA 16 – DFD: PROCESSOS DO DIAGRAMA DO FLUXO DE DADOS

5.7.1. DICIONÁRIO DE DADOS DO DFD

TABELA 4 – DICIONÁRIO DE DADOS DO DFD

Nome: Mensagens

Descrição: Grupo Origem + Grupo Destino + Permissão Mensagem

Nome: Grupos

Page 113: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

110

Descrição: Nome do Grupo

Nome: Usuários

Descrição: Login + Grupo do Usuário

Nome: Cadastrar

Descrição: Usuário + Nível de Acesso

Nome: Enviar

Descrição: Remetente Mensagem + Destinatário Mensagem + Corpo da

Mensagem + Permissões de Leitura

Nome: Receber

Descrição: Destinatário Mensagem + Remetente Mensagem + Corpo da

Mensagem + Permissões de Leitura

Nome: Atender

Descrição: Usuário Solicitante + Solicitação + Responder

Nome: Ferramentas

Descrição: Disponibilidade + Recursos

5.7.2. DESCRIÇÃO DOS PROCESSOS DO DFD

TABELA 5 – DESCRIÇÃO DOS PROCESSOS DO DFD

Processo [1]

Manter Mensagens

Neste processo o administrador tem a função de cadastrar

as regras de mensagens, determinando o relacionamento

entre os grupos e os usuários.

Processo [2]

Manter Grupos

Neste processo o administrador tem a função de cadastrar

os grupos de usuários, pela observação e análise do

sistema real de maneira que os usuários sejam agrupados

por correlação de tarefas.

Processo [3]

Manter Usuários

Neste processo o administrador tem a função de cadastrar

novos usuários no sistema, determinando o grupo

correspondente ao mesmo. Ainda é de responsabilidade do

Page 114: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

111

administrador informar o nome de usuário e senha de

acesso.

Processo [4]

Login

Processo realizado por administradores e usuários, onde é

verificado as permissões de acesso, sendo criado uma

sessão de navegação pelo sistema.

Processo [5]

Inserir Dados

Neste processo os usuários têm a obrigação de informar ao

sistema seus dados pessoais para constituição da base de

dados cadastrais. Aqui todas as informações solicitadas

serão obrigatórias.

Processo [6]

Gerenciar

Mensagens

Neste processo os usuários estarão utilizando o sistema

para a troca de mensagens, onde o controle de

disponibilidade das mesmas é gerenciado pelo

administrador através do processo [1].

Processo [7]

Gerenciar Suporte

Neste processo o administrador tem a função de assessorar

os usuários através da interface de suporte, o elo de

comunicação entre os operadores e a equipe de suporte.

Processo [8]

Utilizar Ferramentas

Neste processo os usuários terão a disposição diversas

ferramentas de colaboração, cooperação e coordenação. As

mesmas serão utilizadas, desde que disponibilizadas para a

interface do usuário.

5.8. MODELO DE ENTIDADE-RELACIONAMENTO

O modelo de Entidade Relacionamento é usado para projetar banco de

dados relacionais removendo toda a redundância existente nos dados. O objeto

básico do modelo ER é a entidade, isto é, um objeto do mundo real. Cada entidade

possui diversos atributos e através destes podemos descrevê-los.

As figuras 17 e 18 apresentam o modelo de entidade-relacionamento, da

versão desenvolvida da aplicação TSDJ Groupware. Salientamos, mais uma vez que

por se tratar de versão de protótipo, e ser projetada para desenvolvimento modular,

o modelo reflete a aplicação em funcionamento, e na medida do desenvolvimento os

mesmos serão complementados após as respectivas análises para o

desenvolvimento final do código.

Page 115: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

112

5.8.1. MODELO CONCEITUAL

FIGURA 17 – ER: MODELO CONCEITUAL

5.8.2. MODELO LÓGICO

FIGURA 18 – ER: MODELO LÓGICO

Page 116: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

113

5.8.3. DICIONÁRIO DE DADOS

TABELA 6 – DICIONARIO DADOS: TABELA SUPORTE

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDSuporte Identificador do

suporte

int(5) unsigned SIM

Nome Nome do usuário varchar(50)

Departamento Departamento do

usuário

varchar(50)

Telefone Telefone de

contato

varchar(11)

Email Email de contato varchar(30)

SistemaOperacional Versão do sistema

operacional

selecionado

varchar(40)

SistemaOperacional_outro Versão do sistema

operacional

digitado em caso

de opção não

disponível

varchar(50)

Computador Marca do

processador (CPU

/ Fabricante)

varchar(15)

Velocidade Velocidade de

Processamento

varchar(10)

Memoria Quantidade de

memória RAM

disponível

varchar(10)

Problema Descrição do

problema

text

EnderecoIP Endereço IP da

máquina

solicitante

varchar(15)

DataSuporte Data de envio da date

Page 117: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

114

solicitação

TABELA 7 – DICIONARIO DADOS: TABELA LOGIN

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDGrupo Identificador do grupo int(6) unsigned

IDUsuario Identificador do usuário int(6) unsigned SIM

IDPermissao Identificados de

permissão

int(6) unsigned

Usuário Nome de login varchar(20)

Senha Senha de acesso varchar(50)

TABELA 8 – DICIONARIO DADOS: TABELA USUARIOS

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDUsuario Identificador do usuário int(6) unsigned SIM

IDGrupo Identificador do grupo int(6) unsigned

Nome Nome do usuário varchar(50)

Sobrenome Sobrenome do usuário varchar(50)

Cpf CPF do usuário varchar(14)

Matricula Número de Matricula varchar(10)

Currículo Referencia ao arquivo

de minicurriculo

varchar(100)

Endereco Endereço do usuário text

Telefone Telefone de contato text

Email Email de Contato text

Disciplina Disciplinas ministradas text

Formacao Formação acadêmica e

profissional

text

Page 118: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

115

TABELA 9 – DICIONARIO DADOS: TABELA GRUPOS_USUARIOS

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDGrupo Identificador do grupo int(6) unsigned SIM

Descricao Descrição do grupo varchar(50)

TABELA 10 – DICIONARIO DADOS: TABELA PERMISSOES

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDPermissao Identificador da

permissão

int(6) unsigned SIM

IDGrupo_atribui Identificador do grupo

que atribui

int(6) unsigned SIM

IDGrupo_atribuido Identificador do grupo

que é atribuído

int(6) unsigned

Msg Tipo de permissão int(3) unsigned

TABELA 11 – DICIONARIO DADOS: TABELA CONTATOS_AGENDA

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDGrupo_agenda Identificador do grupo

agenda

int(6) unsigned SIM

IDContato Identificador do

contato

int(6) unsigned SIM

IDUsuario Identificador do

usuário

int(6) unsigned

Nome Nome do contato varchar(20) SIM

Sobrenome Sobrenome do contato varchar(50)

Apelido Apelido do contato varchar(30)

WEBsite Endereço na internet varchar(100)

Page 119: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

116

do contato

Email Email do contato varchar(50)

Email2 Email2 do contato varchar(50)

Icq Mensageiro

instantâneo

varchar(20)

Msn Mensageiro

instantâneo

varchar(50)

Endereco Endereço do contato text

Telefone Telefone do contato text

Observacoes Outras observações e

comentários

text

TABELA 12 – DICIONARIO DADOS: TABELA GRUPOS_AGENDA

Atributo Descrição Tipo Chave

Primária

Chave

Secundária

IDGrupo_agenda Identificador do grupo

agenda

int(6) unsigned SIM

IDUsuario Identificador do

usuário

int(6) unsigned

Descricao Descrição do grupo na

agenda

varchar(40)

5.9. ESQUEMA DE NAVEGAÇÃO

O esquema de navegação é a exemplificação clara dos processos

tangíveis pelas informações que circulam no ativo da Ferramenta TSDJ Groupware.

Conforme a figura 19, as interfaces primárias são apresentadas nas imagens

retangulares, os processos estão descriminados nas imagens em forma de elipse e

as modificações de dados e/ou interações diretas com a base de dados através das

imagens retangulares com uma face aberta. O ciclo de processo é orientado pela

seta que une as interfaces do sistema.

Page 120: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

117

FIGURA 19 – ESQUEMA DE NAVEGAÇÃO FERRAMENTA

5.10. APRESENTAÇÃO

Conhecido todo o processo de análise, planejamento e desenvolvimento

da Ferramenta TSDJ Groupware, é chegada a hora dos resultados. Mais uma vez,

fortalecemos que as descrições que efetuamos a partir deste ponto é o ponto de

partida para a aceitação do projeto, que idealizado durante a graduação destes

acadêmicos e elaborado na condição de protótipo para análise, concretiza nossas

expectativas para no intuito de em proporções maiores ser desenvolvido e

implantado em linha de produção, o que discutiremos na próxima seção deste

trabalho.

Page 121: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

118

A Ferramenta TSDJ Groupware desenvolvida em plataforma WEB

necessita de um aplicativo tipo Browser para ser executada. Testes foram efetuados

somente com o navegador Internet Explorer, sendo recomendado a resolução de

tela de 1024x768 pixels para uma melhor resolução. O ambiente pode ser acessado

através do endereço na Internet “pcc2005.ronielton.eti.br”. Inicialmente serão

exibidas informações sobre este projeto, estando a ferramenta disponível somente

para pessoas qualificadas por usuário e senha de acesso ao ambiente reservado.

O ambiente reservado, ou seja, a tela inicial da aplicação está distribuída

de maneira simples e objetiva, caracterizando uma interface amigável ao usuário. O

importante no acesso inicial é vislumbrar o “alerta de segurança” emitido pelo

ambiente Windows, veja figura 20. Trata-se da utilização do protocolo SSL que

fornece uma navegação segura por toda a ferramenta, onde as informações

trafegantes estarão automaticamente criptografadas, evitando desta maneira que

snifers de rede instalados no perímetro da rede coorporativa possam captar qualquer

informação sigilosa porventura fornecida pelos usuários do sistema.

FIGURA 20 – INTERFACE: CERTIFICADO SSL

Page 122: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

119

A constatação da segurança do ambiente é apresentada pelo Internet

Explorer de duas maneiras, a saber: (i) a exibição do texto na barra de endereços,

(ii) a exibição do cadeado de ambiente seguro na barra de status, conforme se

verifica na figura 21. Para constarmos de maneira mais agressiva estas afirmações

devemos para a primeira exibição atentar para o texto “https://” característico da

utilização do protocolo TCP 443 que delimita a utilização da SSL, o segundo item, o

cadeado, ao executarmos um clique duplo sobre o mesmo, será apresentada as

telas mostradas na figura 20 que exibem as informações do órgão emissor do

certificado se segurança.

A figura 21 apresenta a tela inicial da Ferramenta TSDJ Groupware.

Feitas as considerações iniciais de segurança do ambiente, estaremos apresentado

algumas telas da ferramenta. Em caráter de amostra, devido a enorme quantidade

de interfaces que englobam toda a aplicação, estarão nesta obra sendo comentadas

as telas de maior importância do trabalho.

FIGURA 21 – INTERFACE: AMBIENTE SEGURO

A navegação pela interface inicial, se constitui da opção de login, um

formulário de contato, um formulário de suporte e da política de privacidade.

Page 123: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

120

A figura 22 ilustra a tela da Política de Privacidade, é extremamente

importante que os usuários da ferramenta conheçam e saibam como são tratadas as

informações por eles fornecidas ao sistema. Sua redação deve ser clara e concisa, e

abordar os aspectos mais importantes sobre a legislação em vigor e acima de tudo

estar em constante revisão.

FIGURA 22 – INTERFACE: POLITICA DE PRIVACIDADE

As outras opções de navegação são os formulários que permitem a

interação do público externo com a equipe de desenvolvimento e a equipe de

suporte. Salientamos que estas interfaces estão abertas a toda e qualquer pessoa

que acesse o sistema por intermédio de um browser, sendo as mesmas o único

referencial externo da aplicação. A figura 23 apresenta o formulário de Suporte On-

Line, enquanto a figura 24 exibe o Formulário de Contato.

Page 124: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

121

FIGURA 23 – INTERFACE: FORMULÁRIO DE SUPORTE

Um esclarecimento neste momento, faz-se necessário devido ao destino

das mensagens de ambos os formulário. Para o formulário de suporte, os dados

informados serão gravados na base de dados da ferramenta e estarão disponíveis

para o administrador em sua respectiva interface.

Para o formulário de contato, a mensagem será enviada diretamente para

o email da equipe de desenvolvimento, não sendo efetuado nenhum outro registro

desta comunicação.

Page 125: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

122

FIGURA 24 – INTERFACE: FORMULÁRIO DE CONTATO

Como é observado durante todas as telas da Interface Externa, é possível

efetuar o login no sistema partindo de qualquer ponto do ambiente, pela simples

digitação do nome de usuário e senha.

Agora será apresentado a Interface Administrativa. A figura 25 apresenta

a tela inicial do ambiente. Clara e limpa, seu objetivo é facilitar a manutenção do

sistema pela pessoa envolvida neste processo. Considerou-se que as tarefas de

manutenção de usuários, grupos, níveis de acesso e outras que se fazem

necessárias necessitam de atenção do administrador do sistema, e uma interface

limpa é um diferencial no processo de gerenciamento, pois possibilitando o acesso

as informações de maneira objetiva favorece o desenrolar do processo de

administração do ambiente.

Page 126: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

123

FIGURA 25 – INTERFACE: AMBIENTE ADMINISTRATIIVO

Para se registrar um usuário no sistema, é necessário o conhecimento do

sistema. Tal afirmação é baseada nas funções diárias exercidas pelo funcionário,

onde o conhecimento dos processos por ele executado (usuário), deve também ser

do conhecimento do administrador, que baseado nesta maturidade poderá precisar

quais os níveis de acesso e quais informações que este usuário poderá acessar no

ambiente da ferramenta.

O primeiro passo para anotação de um novo usuário é a criação do grupo

à que o mesmo irá pertencer. A figura 26, e a exibição da tela de cadastro de

grupos: Inserir, Alterar e Excluir, são as opções que são apresentadas.

Para o cadastro de grupos, sugere-se que os nomes de descrição dos

mesmo sejam subjetivos a realidade, isto é, pela simples observação retornem ao

expectador o seu significado.

Page 127: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

124

FIGURA 26 – INTERFACE: CADASTRO DE GRUPOS

Uma segunda tarefa na inclusão, é proceder as permissões de acesso

entre os diversos grupos cadastrados no sistema, conforme observamos através da

figura 27, isto é possível na ferramenta TSDJ Groupware, através de três cliques de

mouse: (i) selecionar grupo1, (ii) selecionar grupo2 e (iii) selecionar tipo de

mensagem.

As mensagens foram discutidas na seção 4.6, porém voltamos a afirmar

neste ponto que as restrições ao sistema adotam a sistemática que tudo que não é

expressamente permitido deve ser considerado proibido, premissa esta que é

seguida a risca quando da definição das regras de comunicação e acesso as

informações.

Page 128: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

125

FIGURA 27 – INTERFACE: CADASTRO REGRAS DE MENSAGEM

Finalmente, conclui-se o cadastro de um novo usuário, através da

interface de cadastro de usuário. Como mostrado na figura 28 é bastante simples,

sendo somente necessário selecionar o grupo ao qual o usuário pertence e digitar

seu nome de login.

Neste instante, surge a pergunta, mas onde estão as informações de

cadastro do meu usuário? Vou somente cadastrar um usuário e senha?

Pode ser respondido sim para a segunda pergunta. O responsável pelo

cadastro das informações dos usuários, na Ferramenta TSDJ Groupware, são os

próprios usuários.

No momento de seu primeiro acesso estas informações serão solicitadas

e adicionadas ao sistema. Por ora esta informação basta. Necessitamos somente de

saber que todo novo usuário cadastrado recebe a senha “12345”. Mas adiante

voltaremos a tratar sobre este assunto.

Page 129: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

126

FIGURA 28 – INTERFACE: CADASTRO USUÁRIOS

Ainda pela Interface Administrativa, localiza-se o menu de suporte. É

através dele que o administrador pode atender aos chamados realizados por

intermédio da Interface Externa, na tela de Suporte On-line. Sua interface apresenta

as solicitações classificadas por ordem decrescente de data, de maneira que sempre

o registro mais recente será do usuário que por último efetuou a solicitação.

Ainda é possível, encontrar pedidos através da utilização do campo

busca, onde a informação fornecida é parte do nome do usuário, assim o sistema

retornará todas as ocorrências para aquela pesquisa. A interface de pesquisa é

mostrada na figura 29.

Page 130: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

127

FIGURA 29 – INTERFACE: SOLICITAÇÃO DE SUPORTE

Realizada a busca, as informações do pedido serão exibidas com o clique

do mouse sobre o nome do solicitante, veja figura 30, uma nova tela será exibida, e

nela estarão as informações necessárias a prestação do socorro.

Nesta mesma tela, no topo superior esquerdo, está disponível a opção de

responder. A mesma aponta para o formulário mostrado na figura 31. Sua utilização

é a mesma de um formulário de correio eletrônico, bem como seus resultados, a

mensagem será enviada diretamente para o email do solicitante.

Ainda na interface de suporte, é disponibilizada a opção de exclusão das

mensagens. Lembramos que a utilização deste recurso deve ser cautelosa e

documentada, visto que mesmo um simples pedido de help desk pode conter

informações que podem resguardar um administrador de sistemas.

Page 131: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

128

FIGURA 30 – INTERFACE: INFORMAÇÕES DE SUPORTE

FIGURA 31 – INTERFACE: RESPOSTA DE SUPORTE

Page 132: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

129

Agora apresentará a Interface do Usuário. E a hora de discutir também

sobre a inserção dos dados cadastrais dos usuários, conforme mencionado

anteriormente, no momento do cadastro foi fornecido pelo administrador somente o

login e a senha por padrão foi definida como “12345”. Fornecido estes dados ao

usuário e realizado o login por intermédio da Interface Externa, na primeira utilização

o usuário se defrontará com a mensagem mostrada na figura 32, que recomenda a

troca da senha.

FIGURA 32 – INTERFACE: PRIMEIRO ACESSO

Neste momento será apresentada a tela mostrada na figura 33, onde

finalmente as informações de cadastro relevantes ao sistema serão fornecidas pelo

próprio usuário. Algumas considerações são importantes nesta parte do sistema. (i)

é obrigatória a troca da senha, (ii) todas as informações são de preenchimento

obrigatório, (iii) as instruções para envio do minicurriculo são exibidas na tela de

cadastro, (iv) o CPF deve ser informado de maneira correta, por ser um identificador

para o sistema.

Page 133: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

130

Toda discrepância será alertada ao usuário que deverá corrigir para assim

continuar e acessar a Interface Interna, conforme mostrado na figura 34, que

apresenta um erro no envio do minicurriculo.

FIGURA 33 – INTERFACE: VERIFICAÇÃO DE CADASTRO / CPF

Page 134: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

131

FIGURA 34 – INTERFACE: VERIFICAÇÃO DE CADASTRO / MINICURRICULO

Efetuado o cadastro de maneira satisfatória, será exibido para o usuário a

Política de Privacidade, como já mencionamos é de extrema importância o

conhecimento da mesma pelos operadores do sistema. Realizada a leitura, o usuário

será direcionado para a tela de “verificação da sessão”, mostrada na figura 35, que

monitora todo o sistema, verificando a consistência das informações de login,

permitindo somente que usuários cadastrados no sistema com um nome de usuário

e senha validos tenham acesso a Área Interna.

Page 135: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

132

FIGURA 35 – INTERFACE: VERIFICAÇÃO DE LOGIN

A segurança do sistema, não se prende somente aos itens discutidos

anteriormente, como é exibido na figura 36, a preocupação com a criptografia da

senha dos usuários foi tratada. Desta maneira, somente o próprio usuário tem

acesso a codificação das suas informações, através de algoritmo de encriptação o

conteúdo legível do código esta inacessível a qualquer acesso ao banco de dados.

Sabe se que esta é apenas uma medida de segurança, muitas outras

devem ser aplicadas na proteção das informações, principalmente nos níveis físicos

e de rede, porém por não estarem no escopo desta seção, apenas alertamos para à

sua necessidade, mas certos de já termos discutido sua importância no capitulo 3.4

e 3.6, apenas citamos novamente as premissas de proteção:

CONFIDENCIALIDADE, DISPONIBILIDADE e INTEGRIDADE.

Page 136: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

133

FIGURA 36 – INTERFACE: SENHA CRIPTOGRAFADA

Agora que já foi apresentado o acesso ao sistema, finalmente a hora de

apresentar a Interface do Usuário, a figura 37, apresenta a visão geral do sistema

para o usuário. O sistema foi divido em partes operacionais, de maneira que o

acesso seja simplificado.

E importante, neste momento, dizer que muitas funções não foram

agregadas até o presente à ferramenta, por se tratar de um projeto piloto, e seu

desenvolvimento estar sendo feito gradualmente, o tempo hábil para execução da

programação é curto, o que muitas vezes dificulta evolução do sistema. Entretanto a

ser discutido a este respeito na próxima seção.

A figura 38, exibe a interface de gerenciamento das informações dos

dados cadastrais dos usuários, para que os mesmos possam sempre manter

atualizados seus dados junto ao sistema. A figura 39, é a interface de manutenção

do minicurriculo.

Page 137: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

134

FIGURA 37 – INTERFACE: INTERFACE DO USUÁRIO

FIGURA 38 – INTERFACE: MANUTENÇÃO DADOS CADASTRAIS

Page 138: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

135

FIGURA 39 – INTERFACE: MANUTENÇÃO MINICURRICULO

Segue-se o escopo do desenvolvimento, a figura 40 é a ilustração da

ferramenta de valor agregada a Ferramenta TSDJ Groupware, a agenda de

endereços. Aqui os usuários poderão centralizar as informações de seus contatos de

maneira a ter acesso a estes dados em um único aplicativo, visto a facilidade de

obtenção destas informações influenciar diretamente na sua produtividade.

A agenda de endereços segue o conceito de grupos para facilitar a

organização dos contatos que poderão ser inseridos a gosto do usuário, este poderá

personalizar sua agenda da maneira mais rápida que julgar viável, quando na busca

por suas informações.

E não para por ai. A partir da ferramenta TSDJ Groupware é possível

selecionar um contato e disparar uma mensagem de email direto para sua caixa

posta12l.

12

A funcionalidade de envio de email está sujeita a configuração de um servidor de SMTP na

máquina hospedeira da aplicação, bem como a ajustes no servidor da linguagem PHP.

Page 139: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

136

FIGURA 40 – INTERFACE: AGENDA DE ENDEREÇOS

Page 140: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

137

VI. RESULTADOS E DISCUSSÃO

"A vida só pode ser compreendida olhando-se para trás;

mas só pode ser vivida olhando-se para a frente."

Soren Kierkegaard

Muitos são os sistemas Groupwares existentes no mercado, grande parte

destas ferramentas são de propriedade de grandes organizações; o que se propõe é

uma solução customizavel através do uso de softwares livre.

A redução de custos frente a licenças de aquisição e uso destes produtos

pode ser descartada no momento da customização, por se tratar de software

acadêmico e a proposição de sua customização ser feita mediante o uso da GPL

mediante orientação propõe que a ferramenta seja customizada modularmente entre

os acadêmicos do Curso de Ciência da Computação, exercendo assim, além das

funcionalidades próprias da ferramenta uma ação educacional fortalecendo o vinculo

do aprendizado acadêmico mediante a aplicação pratica de analise e

desenvolvimento de software.

Os custos do projeto podem ser relacionados em duas categorias, a

saber: Material e Pessoal.

Para a primeira, os investimentos necessários se fundamentarão na

aquisição de computadores de médio porte para execução da aplicação e

armazenamento da base de dados. Considera-se que computadores de pequeno

porte serão utilizados no desenvolvimento, os mesmos serão equipados com as

ferramentas de desenvolvimento necessários a programação dos módulos do

software. O software a ser utilizado no servidor como sistema operacional é o

FreeBSD, em síntese, FreeBSD é um sistema operacional UNIX-like para

plataformas i386 e Alpha/AXP, baseado no “4.4BSD-Lite” da Universidade da

Califórnia em Berkeley, com alguns aprimoramentos adotados do “4.4BSD-Lite2”.

O FreeBSD também é baseado, indiretamente, na conversão de William

Jolitz conhecida como “386BSD” para a plataforma i386 do “Net/2” da Universidade

da Califórnia, em Berkeley; apesar de que pouquíssimo código originado do 386BSD

ainda exista no FreeBSD, extremamente robusto para aplicações servidoras e

totalmente customizavel as expectativas de segurança computacional necessárias

Page 141: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

138

aos sistemas Mainframe. As demais ferramentas necessárias são totalmente

compatíveis ao sistema operacional, Apache, MySQL, PHP, OpenSSL, Postfix, etc.

Para os PC's de desenvolvimento, pode ser adotado qualquer ferramenta

de desenvolvimento para a Internet, que assimile a codificação na linguagem PHP

com Banco de Dados MySQL, sendo estas de livre escolha dos programadores.

Para a segunda, os investimentos necessários se darão mediante a

concessão de auxilio financeiro aos analistas, programadores, administradores e

demais envolvidos no processo de customização da ferramenta, aqui cabe o adendo

que o incentivo financeiro aos envolvidos é capaz de captar um melhor

comprometimento dos mesmos para com o projeto, o que propiciará a estes

apresentar resultados de maneira mais rápida e conseqüentemente uma satisfação

mútua ocorrerá entre os parceiros, que consideremos neste instante patrocinadores

e desenvolvedores.

Os riscos, fator inerente a empreendimentos, não deve ser descartado em

nenhum instante deve ser considerado quanto a não operacionalidade do sistema

após sua confecção, entretanto a idealização modular, apresenta um protótipo a ser

utilizado numa instância da organização, e através de testes constantes e

permanentes apresentarem a continuidade do projeto, citamos neste instante Steve

McConnell, em Code Complete: "Construir uma torre de um metro de altura requer

uma mão firme, uma superfície plana e dez latinhas de cerveja não amassadas.

Construir uma torre cem vezes mais alta não requer simplesmente cem vezes mais

latinhas de cerveja. Requer um tipo de planejamento e de construção totalmente

diferente”. Dai surge à premissa que o planejamento e o aperfeiçoamento da idéia

mediante a avaliação seriada dos módulos do sistema será uma eterna constante na

customização da ferramenta e tal processo será feito por toda equipe de

desenvolvimento juntamente com os utilizadores da ferramenta.

Os custos benefícios deste empreendimento foram explorados em

gênero, número e grau no anteprojeto de descrição da ferramenta, e evitando a

ambigüidade de informações documentais recomenda-se consulta ao documento

anteriormente citado para constatação dos mesmos. Ainda sim, é fundamental o

comentário, que o sistema Groupware não é apenas mais um estágio da tecnologia

de computação. Seu objetivo é permitir a eficácia dos grupos existentes ao invés de

impor práticas que causem mudanças radicais na forma de trabalho, aliado a

Page 142: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

139

utilização de práticas econômicas viáveis a saúde das organizações, e

incentivadores de desafios às equipes de TI.

A organização do projeto segue a fundamentação da analise,

desenvolvimento, instalação e treinamento.

Conforme relatado, será desenvolvido um módulo experimental, que

apresentará a ferramenta à comunidade acadêmica buscando o despertar para as

necessidades de centralização de comunicação e eventual construção da história da

organização através de mídias digitais. Neste módulo, apenas serão desenvolvidas a

análise inerente ao escopo de desenvolvimento preliminar da ferramenta.

A implementação em larga escala, é dependente de aprovação posterior

e investimentos de capitais de fundos aos desenvolvedores, bem como o

investimento em equipamentos necessários ao projeto e cessão de espaço físico

para gerenciamento das atividades inerentes ao mesmo, as quais cita-se em

primazia a pesquisa de campo frente às entidades internas a organização para o

processo de customização determinado engenharia de software, que envolve o

contato direto com a comunidade de usuários, seus gerentes e outras pessoas

afetadas pelo sistema. Os stakeholders (participantes envolvidos), não farão parte

desta fase, porém é fundamental à ciência, para que a coleta de informações seja

realizada de maneira satisfatória no processo de análise dos requisitos e

extremamente necessário que eles sejam entrevistados, estas conversas servirão

para clarificar as ambigüidades e, no final, obter a aprovação deles, para assim

fundamentar uma parte do sucesso do projeto.

Page 143: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

140

VII. CONCLUSÃO

“Existem pessoas em nossas vidas que nos deixam felizes pelo simples fato de

terem cruzado o nosso caminho. Pessoas que nos ensinam a sorrir em horas

difíceis, e choram de alegria com nossas vitórias conquistadas... São os nossos

amigos... E na árvore da vida, amigos são como folhas... O tempo passa, o verão se

vai, o outono se aproxima, e perdemos algumas folhas. Algumas nascem num

outro verão e outras permanecem por muitas estações.”

Paulo Coelho

Através deste trabalho, observamos que a utilização dos fundamentos

adquiridos ao longo da graduação através da diversidade de pesquisas realizadas

no intuito da busca de informações sobre a estrutura proposta inicialmente, como

forma de aprofundamento das linguagens de programação para WEB, utilização de

banco de dados, questões relativas à segurança da informação e aprimoramento de

suas características de maneira a ser utilizada para a construção do projeto de

conclusão de curso, vieram a concretizar e definir o processo de aprendizado.

Não deixando de lado a situação de universitários cientistas, a busca do

conhecimento é constante, neste cenário a proposta inicial de desenvolver e projetar

um software como implementação acadêmica seguimos o caminho da hierarquia da

UNINCOR para orientarmos os trabalhos de projeto de conclusão de curso.

A construção de uma ferramenta de Automação Groupware Multiusuário.

É uma forma tecnológica para automatizar e centralizar vários usuários e seus

grupos através de um meio de comunicação não seguro, a WEB, mas com a

utilização dos fundamentos de segurança da informação e aplicação de regras de

segurança, que se orientam desde a criptografia para a transmissão ao

armazenamento dos dados, passando pelo uso de protocolos de conexão seguras –

“HTTPS” – e a aplicação do recurso de sessão – “PHP" – para gerenciamento da

conexão ao sistema, priorizamos a segurança da informação, uma tangente única

vislumbrada por todas as organizações.

Foram utilizadas ferramentas de construção de aplicativos dinâmicos para

WEB, auxiliadas e monitoradas pela linguagem PHP, construído, monitorado e

gerenciado um servidor de serviços HTTP centralizado, o utilizando o servidor

Page 144: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

141

Apache, empregamos o MySQL como banco de dados, robusto pela sua grande

capacidade de armazenamento e facilidade de gerenciamento e administração,

sendo estes sem ônus de licenciamento, ou seja, de código aberto, com toda

documentação disponível, que muitas vezes foi à referência de orientação. Também

as ferramentas para construção de códigos estáticos HTML e interfaces dinâmicas

com PHP através do auxilio da ferramenta Macromedia Dreamweaver MX 2004

Trial.

Idealizamos uma hierárquica para a UNINCOR – I.E.: Reitoria, Pro-

Reitoria de Graduação, Institutos como o INCOA, Coordenação dos Cursos e

Professores, sendo orientado pela visão externa ao processo, seguimos pelo

caminho das regras de hierarquia administrativa, citando, um Professor não pode

comunicar diretamente com o Reitor, mas deve comunicar ao Coordenador do

Curso, que se não tiver uma solução, o Coordenador deverá solicitar ao Instituto

pertencente uma solução para o problema ainda não resolvido, se o Instituto

também não resolver, é comunicado então a Pró-Reitoria, que irá propor a solução e

dar uma resposta para o problema, onde o Reitor só será comunicado pela Pró-

Reitoria se for de âmbito prejudicial à instituição.

Finalmente podemos afirmar então o funcionamento correto do projeto,

ainda que pela dificuldade, não se tornou totalmente viável em níveis de

implementação, porém o mesmo foi idealizado me maneira sólida e concisa. E isto

foi possível, com as ferramentas escolhidas para confecção e estudo aprofundado

de cada uma e seus detalhes, apresentando ótimos resultados. A comunicação

entre os usuários e seus grupos e sua segurança por um ambiente sem segurança,

a WEB, se tornou segura, e foi utilizada em todas suas formas e detalhes a fim de

garantir a troca de informações confiável, fortalecendo os conceitos da

confiadencialidade, disponibilidade e integridade, sendo um dos problemas

apresentados e resolvido. O Banco de Dados foi testado de forma a armazenar todo

o tipo de comunicação existente, entre todos os usuários, resolvendo o problema de

disperdício e acumulo de papeís que não acabavam, nem com a utilização das

soluções apresentadas pela Teoria Administrativa, sendo possível poder utilizar as

regras de envio de mensagens publica e privada, não tendo como um documento

sigiloso. E por último o porquê da utilização de técnicas Groupware, pois como dito

no popular ”tempo é dinheiro” o projeto piloto em cima destas técnicas e conceitos

CSCW nos levou a concluir que a soma dos esforços antes desperdiçados com

Page 145: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

142

reuniões agendadas que delimitam a perda de tempo e a perda de dinheiro, pois um

usuário sozinho produz para instituição um resultado, e somando a agilidade de

comunicação apresentada no projeto com os esforços de todos colaboradores do

sistema, ou seja, os usuários serão de forma a garantir um resultado muitas vezes

maior, dependendo da quantidade de pessoas envolvidas os resultados serão

consideráveis e o tempo de resposta minimizado. Como este é um projeto piloto, já

foi implementado e citado novas melhorias onde, ainda não foram concretizadas,

ficando como dicas e orientações para continuação futura através da reorganização

das idéias propostas.

Page 146: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

143

VIII. REFERÊNCIA BIBLIOGRAFICA

"A literatura é um assunto sério para um país; ela é, no fim de contas, o seu rosto."

Louis Aragon

AHTO, Jouni. Et al. Manual do PHP, Copyright © 1997 – 2004 PHP Documentation

Group. Tradução do Original para o Português: 2004. Disponível em <

http://www.php.net/docs.php >.

APOSTILANDO.COM. O Portal do Conhecimento. Apostila de Apache. Disponível

em < http://www.apostilando.com/download.php?cod=197&categoria=Linux >.

Acesso em 19/02/05.

AXMARK, David. Et al. MySQL Technical Reference for Version 5.0.0-alpha.

Copyright © 1997-2003 MySQL AB. Tradução do Original para o Português por

Daniel Coelho Teobaldo e Carlos Henrique Paulino: 2004. Disponível em <

http://www.mysql.com/documentation/ >.

BEHLENDORF, Brian. Et. al. Apache HTTP Server Version 2.0 - English Version.

Copyright 1999-2004 The Apache Software Foundation. Disponível em <

http://apache.usp.br/httpd/docs/ >.

CHANDLER, David M. Como Montar o seu Site na World Wide WEB. Tradução do

original: Running a Perfect WEB Site pela equipe PubliCare Consultoria e Serviços.

Rio de Janeiro: Campus, 1996.

CHIAVENATO, Idalberto. Teoria Geral da Administração. [Capítulo 10: Decorrências

da abordagem clássica e neoclássica – tipos de organização]. São Paulo: McGraw-

Hill do Brasil, 1979.

CHOI, Wankyu. Et al. Beginning PHP4 – Programando, Tradução do Original:

Beginning PHP4: Aldir José Coelho Correia da Silva e Flávia Cruz. São Paulo.

Makron Books: 2001.

DNS & Bind. Berkeley Internet Name Domain. © 2002 Bind.com. Disponível em <

http://www.bind.com/bind.html >.

Page 147: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

144

FLORES, Ricardo Resendes. Apostila de Sistemas Cooperativos. Três Corações,

2003. Disciplina de Sistemas Cooperativos do Curso de Bacharelado em Ciência da

Computação – UNINCOR, 2003.

FREEBSD HANDBOOK. Copyright © 1995-2004 por The FreeBSD Documentation

Project. Tradução do Original para o Português: 2004. Disponível em <

http://doc.fugspbr.org/handbook/index.html >.

FREEBSD PROJECT. FreeBSD: The Power To Serve. © 1995-2004 The FreeBSD

Project. Disponível em < http://www.freebsd.org/ >.

HATCH, Brian. LEE, James. KURTZ, George. Hackers Expostos - Linux. Tradução

do Original - Hacking Linux Exposede: Linux Security Secrets & Solutions para o

Português por Aldir José Coelho Corrêa da Silva. São Paulo: Pearson Education do

Brasil, 2002.

JEPSON, Brian. PECKHAM, Joan. SADASIV, Ram. Programando Aplicativos de

banco de Dados em Linux. Tradução do original: Database Application Programming

with Linux. Jeremias R. D. P. Santos e Rogério Maximiliano dos Santos. São Paulo.

Makron Books, 2002.

LEHEY, Greg. Artigo: Explicando o FreeBSD. Disponível em: <

http://doc.fugspbr.org/articles/explaining-bsd/ >. Acesso em 02/02/05.

MICROSOFT TECHNET LEARN CENTER. Curso de Segurança. In: Implementando

a segurança da rede e do perímetro. Disponível em: <

http://www.mslatam.com/latam/technet/learning/Html-PR/home.asp >. Acesso em

fevereiro/05.

OPENSSH. This site Copyright © 1999-2004 OpenBSD. Disponível em <

http://www.openssh.com/ >.

OPENSSL. Welcome to the OpenSSL Project. Copyright © 1999-2002 The

OpenSSL Project. Disponível em: < http://www.openssl.org/ >.

PALMA, Luciano. PRATES, Rubens. Guia de Consulta Rápida TCP/IP. São Paulo.

Ed Novatec: 2000.

PETROVIC, Dušan. SQL Server 2000 – Guia Prático. Tradução do original: SQL

Server™ 2000 – A Beginner‟s Guide para o português por César Camargos, Rogério

Maximiliano, João Tortello. São Paulo: MAKRON Books Ltda., 2001.

Page 148: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

145

POSTFIX HOME PAGE. Postfix project. In: Postfix Documentation. Disponível em <

http://www.postfix.org/documentation.html >.

PRATES, Rubens. Guia de Consulta Rápida MySQL. São Paulo. Ed Novatec: 2000

PRESSMAN, Roger S. Engenharia de Software. Tradução do original: Software

Enginnering – A Practitionar‟s Approach, 3ª ed. Por José Carlos Barbosa dos

Santos. São Paulo: Makron Books, 1995.

PROFTPD. Copyright (C) 1999-2003, The ProFTPD Project. Disponível em: <

http://www.proftpd.org/ >.

SILVA, Luiz Eduardo da. Apostila de Sistemas Distribuídos. Três Corações, 2003.

Disciplina de Sistemas Distribuídos do Curso de Bacharelado em Ciência da

Computação – UNINCOR, 2003.

SOARES, Luiz Fernando Gomes. Et al. Redes de Computadores: das LANs, MANs

e WANs às Redes ATM. 2ª Edição. Rio de Janeiro: Campus, 1995.

STOCO, Lúcio M.. Guia de Consulta Rápida Integrando PHP com MySQL. São

Paulo. Ed Novatec: 2000.

STREBE, Matthew. PERKINS, Charles. Firewalls. Uma Fonte Indispensável de

recursos para os Administradores de Sistema. Tradução do Original - Firewalls 24

seven para o Português por Lavio Pareschi. São Paulo: MAKRON Books, 2002.

SUEHRING, Steve. MySQL, a Bíblia, Tradução do Original: MySQL Bible: Edson

Furmankiewicz. Rio de Janeiro. Campus: 2002.

Page 149: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

CRONOGRAMA DO PROJETO DE CONCLUSÃO DE CURSOBacharelado em Ciência da Computação 2001-2005

Página 1 de 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Elaboração e Redação do Ante-Projeto

Analise e Discussão do Projeto junto ao Professor

Orientador

Determinar requisitos do software e quais ferramentas

groupware serão integradas a versão BETA RELEASE

Estabelecer a amplitude do módulo a ser desenvolvido

visando o projeto físicoDefinir a interface a ser utilizada, estabelecendo os

padrões de cores e layout

Analise do Conhecimento de Causa e Requisitos

Técnicos (linguagens e ferramentas) necessários para o

desenvolvimento.

Determinar o Sistema Operacional do ambiente de

execução da aplicação e as aplicações necessárias

Executar as tarefas de instalação e configuração do

Servidor da AplicaçãoEscolha do Fluxo Organizacional e delimitação dos

parâmetros centrais da aplicação

Elaboração e Redação do Projeto Lógico através da

determinação das ferramentas de engenharia de

software a serem adotasInicio dos procedimentos de documentação do software

externa e interna

Construção do protótipo do Banco de Dados, através de

diagramação do modelo lógico e entidade-

relacionamentoConstrução de Esboço da estrutura de pastas e

nomenclatura dos arquivos atribuídos a potencialidade

de acesso dos níveis de usuário

Diagramação de interface gráfica amigável ao usuário

da aplicação e administrador do sistemaProgramação do código fonte e documentação interna

do programa

4

A Ç Ã O

2

1

AGOSTO SETEMBRO

3

S E M A N A S

A T I V I D A D E OUTUBRO NOVEMBRO

Automação Empresarial Multiusuário Empregando Conceitos CSCW * por Sistema Groupware.

Page 150: AUTOMAÇÃO EMPRESARIAL MULTIUSUÁRIO EMPREGANDO … · FUNDAÇÃO COMUNITÁRIA TRICORDIANA DE EDUCAÇAO Decretos Estaduais nº. 9.843/66 e nº. 16.719/74 e Parecer CEE/MG nº. 99/93

CRONOGRAMA DO PROJETO DE CONCLUSÃO DE CURSOBacharelado em Ciência da Computação 2001-2005

Página 2 de 2

Inicio dos testes na versão BETA RELEASE

CANDIDATE 0.1 com levantamento e debug dos erros

encontradosFase de apresentação de soluções e construção da

versão BETA RELEASE CANDIDATE 0.2 e realização

dos testes preliminares a versãoRealização dos testes finais para o protótipo "TSDJ RC

1.0" com implementação de melhorias e correções de

layout

Preparação para a Banca Examinadora com confecção

da apresentação e levantamento dos recursos

necessários/agendamento prévio de local após definição

de dataRealização de apresentação preliminar para público pré-

selecionado pela equipe e apresentação para a Banca

Examinadora

7Organização, Redação e Normalização Cientifica do

projeto desenvolvido através da confecção da

Monografia de Conclusão de Curso.

5

6

L E G E N D A

B Á S I C O

I N T E R M E D I Á R I O

A V A N Ç A D O

Complexidade na Realização da Atividade

Automação Empresarial Multiusuário Empregando Conceitos CSCW * por Sistema Groupware.