Home
Informática: análise e gerenciamento de dados
Contents
1. 1 5 4 Modelo iterativo O m todo iterativo foi criado tamb m com base nas vantagens e limita es dos modelos em cascata e evolutivo Mant m a ideia principal do desenvolvimento incremental com o acr scimo de novas capacidades funcionais a cada etapa para a obten o do produto final No entanto segundo Fowler modifica es podem ser introduzidas a cada passo realizado Mais informa es sobre o mo delo interativo no quadro abaixo Uma itera o de desenvolvimento abrange as atividades que conduzem at uma vers o est vel e execut vel do software Por esse motivo pode se concluir que ela passa pelo levantamento de requisitos desenvolvimento implementa o e testes Ou seja cada itera o como um miniprojeto em cascata no qual os crit rios de avalia o s o estabelecidos quando a etapa planejada testada e validada pelo usu rio Um dos principais ganhos com a ado o desse modelo a realiza o de testes em cada n vel de desenvolvimento bem mais f cil do que testar o sistema apenas na sua vers o final Isso pode fornecer ao cliente informa es importantes que servir o de subs dio para a melhor defini o de futuros requisitos do software pi a 2 Levantamento de requisitos p 1 IN l piemen a R in RT ca ao Desenvolvimento pda a e a e mi aiat Implementa o ni mn a a a ni Implanta o E Re REA AEE a l tima it CAP TULO INFORM
2. INFORM TICA 3 Observe que identificamos anteriormente compra como sendo uma entidade e agora listamos a como sendo um relacionamento Por qu Por se tratar de um relacionamento com campos que quando da cria o do projeto f sico torna se uma tabela assim como as entidades Figura 29 Cart o compra produto Figura 30 Funcion rio atende Passo 3 Analisar os relacionamentos entre as entidades Quanto aos relacionamentos entre as entidades listadas identificamos e Cart o compra Produto e Funcion rio atende cart o compra Produto e Fornecedor Fornece Produto Passo 4 Definir a cardinalidade dos relacionamentos Para os relacionamentos definidos h as seguintes cardinalidades Cart o compra Produto Senhor Antonio entra na padaria para comprar um litro de leite Recebe um cart o vai ao balc o pega o leite e 100 g de p o de queijo Um cart o o cart o que senhor Antonio pegou na entrada da padaria compra v rios produtos um litro de leite e 100 g de p o de queijo e um produto leite pode ser comprado por v rios cart es os da senhora Maria do senhor Antonio do Miro Logo a cardinalidade desse relacionamento N para N sendo neces s rio que se definam os atributos do relacionamento compra por se tratar de um relacionamento com campos Funcion rio atende cart o compra Produto Imagine a cena a senhora Maria comprou dez p ezinhos e foi atendida pelo fun cion rio
3. CAP TULO 4 INFORM TICA 3 Figura 117 Troca de mensagens e tempo de vida em um diagrama de sequ ncia Funcionario lt lt create gt gt Produto produto Produto 2 MensagemsSincrona tipoDaResposta 2 1 Mensagem de Resposta 3 recebeResposta MesagemsSincrona tipoDaResposta Apaga Harden ipettegers 4 MensagemAssincrona gt lt lt destroy gt gt 5 MensagemDestroi Tempo de vida gens definidas Mensagens s ncronas s o as que aguardam o retorno do fim de seu processamento para continuar a execu o mensagens ass ncronas s o aque las que o remetente continua executando sem aguardar resposta e h tamb m as mensagens de create e destroy que representam as chamadas dos m todos construtor e destrutor das classes A figura 117 mostra os quatro tipos de mensagem em um diagrama que repre senta a troca de mensagens entre Funcionario e Produto A primeira mensagem a de cria o de um objeto da classe Produto Em segui da vemos uma mensagem s ncrona indicando que o remetente aguarda que o receptor processe a mensagem antes de continuar seu procedimento A mensagem n mero 1 a de cria o de um objeto da classe Produto aquela que chama o m todo construtor da classe Produto A n mero 2 uma mensagem s ncrona isto que aguarda o retorno de uma informa o para continuar sua execu o normal Veja que o retorno pode ser por meio do fi
4. double calculaPerimetro double calculaArea double numero double numero double resultado double soma void soma valor int valor2 int int soma valor double valor2 double double Veja tamb m que os m todos andar e falar s o p blicos isto qualquer ob jeto que tiver acesso classe poder utiliz los J os m todos mexerPerna e articularPalavra s o privados isto s podem ser utilizados dentro da classe Pessoa Mas qual a vantagem desse tipo de implementa o Claro que para andar uma pessoa tem que mexer a perna O segredo do andar est no modo como ela mexe a perna O que fizemos ent o foi garantir que o segredo que tamb m chamamos de regra de neg cio n o faz parte da interface p blica da classe isto da forma com que as outras classes v o utiliz la Com o m todo encapsulado na classe seu c digo est mais protegido de eventual c pia ou reprodu o de como foi implementado pois uma classe externa nem sabe de sua exist ncia Logo da forma como projetamos sua implementa o nenhuma outra classe saber que para andar necess rio mexer a perna e muito menos como isso feito Essa a vantagem do encapsulamento no desenvolvimento de software orientado a objetos O mesmo princ pio foi usado ao encapsular o m todo articularPalavra Poliformismo Palavra de origem grega que significa v rias formas No para digma de orienta o
5. he IC 4 a Ei a al a FOr in EE a Paaa aUCUE EJ rd roer A GOVERNO DO ESTADO SAO PAULO CENTRO PAULA SOUZA Inform tica Volume 3 Gl fo FUNDA O PADRE NCHIETA CENTRO PAULA SOUZA Inform tica An lise e gerenciamento de dados Gustavo Dibbern Piva Wilson Jose de Oliveira FUNDA O PADRE ANCHIETA S o Paulo 2010 FUNDA O PADRE NCHIETA Presidente Paulo Markun Vice Presidente Fernando Jos de Almeida N cleo Cultura Educa o Coordenador Fernando Jos de Almeida Gerente Monica Gardelli Franco Equipe de autoria Centro Paula Souza Coordena o geral Ivone Marchi Lainetti Ramos Coordena o da s rie Inform tica Luis Eduardo Fernandes Gonzalez Autores Carlos Eduardo Ribeiro Evaldo Fernandes R u J nior Gustavo Dibbern Piva Jo o Paulo Lemos Escola Luciene Cavalcanti Rodrigues Ralfe Della Croce Filho Wilson Jos de Oliveira Revis o t cnica Anderson Wilker Sanfins Luis Claudinei de Moraes Humberto Celeste Innarell S rgio Furgeri Equipe de Edi o Coordena o geral Alfredo Nastari Coordena o editorial Mirian Iba ez Consultor t cnico Victor Emmanuel S Vicente Edi o de texto Marlene Jaggi Editores assistentes Celia Demarchi e Wagner Donizeti Roque Secret rio editorial Antonio Mello Revisores Antonio Carlos Marques Fabiana Lopes Bernardino Jos Ba
6. Observe que narramos a situa o atual da padaria do senhor Jo o isto sem a solu o informatizada e a submetemos s regras de requisitos que definimos no cap tulo anterior necess rio n o amb guo verific vel conciso alcan vel completo consistente orden vel e aceito Agora avaliemos as opera es envol vidas nas vendas figura 34 Situa o A senhora Maria vai at o balc o de p es e solicita dez p ezinhos ao funcion rio La rcio que est atendendo naquele momento La rcio pega o saco de papel adequado a tal quantidade vai at a cesta de p es e com o pegador coloca no saco os dez p ezinhos Em seguida fecha o saco coloca o sobre a balan a e digita no equipamento o pre o do quilo do p o Toma ent o um peda o de papel que est sobre o balc o no qual anota o peso dos p es e o valor apresentado na balan a al m da palavra p o e entrega o pacote e o peda o de papel senhora Maria perguntando lhe se vai querer mais alguma coisa Como separar requisitos de dados de requisitos funcionais nesta situa o Primeiro vamos tentar simplificar o problema selecionando apenas as infor ma es relevantes Para isso vamos reconstruir quadro a quadro a situa o formulando algumas perguntas 1 A senhora Maria vai at o balc o de p es e solicita dez p ezinhos ao funcio n rio La rcio que est no balc o neste momento Quais s o os requisitos importantes para nossa solu o nesta fr
7. e Segunda 1958 1964 A fabrica o dos computadores foi alterada e as v lvulas deram lugar aos transistores cuja vida til era bem maior 90 mil horas Com isso as m quinas ficaram mais r pidas e menores Pertence a essa segunda gera o o IBM 7090 que possu a 40 mil transistores e 1 2 milh o de n cleos mag n ticos Ocupava uma rea de 40 m contra a de 180 m do Eniac e Terceira 1964 1971 Em 1964 a IBM anunciou o lan amento da s rie 360 com circuito integrado Os circuitos impressos s o milim tricos e podem conter transistores resist ncias e condensadores Para se ter uma ideia 50 mil desses conjuntos cabem em um dedal A novidade permitiu um grande aumento na velocidade de computa o de dados passando de milion simos de segundo para bilion simos de segundo Assim um programa que era executado em uma hora no modelo de computa dor de 1951 levava entre tr s e quatro segundos para rodar nos equipamentos da terceira gera o e Quarta 1971 1987 A integra o de circuitos teve grandes incrementos com crescimento de mil vezes a cada dez anos Foram introduzidas v rias escalas de incorpora o defi nidas pelo n mero de conjuntos que podem ser colocados em uma nica l mina miniaturizada feita de sil cio o famoso chip Assim foram surgindo tecnolo gias consecutivas em 1970 LSI Large Scale Integration integra o em larga escala em 1975 VLSI Very Large Scale Integration i
8. o que o Agente Microsoft SOL Server pode executar regularmente Tais como tarefas de administra o de banco de dados backups verifica es de integridade de banco de dados atualiza o de estat sticas Exemplo 2 Negar as permiss es SELECT UPDATE E DELETE para o usu rio SERVIDORIwilson na tabela Clientes do Banco de Dados Exemploa USE Exemplos DENY SELECT UPDATE DELETE ON Clientes TO SERVIDORIwilson Exemplo 3 Negar todas as permiss es atribuidas ao usu rio SERVIDORIandrea na tabela Clientes do Banco de Dados Exemploa USE Exemplos DENY ALL ON Clientes TO SERVIDORIandrea 3 4 2 Plano de manuten o de banco de dados A partir de uma estrat gia adequada de backup e restore um plano de manu ten o define uma s rie de tarefas que devem ser executadas no banco de dados para garantir o seu bom funcionamento e desempenho bem como a disponibi lidade das informa es No plano de manuten o podemos prever tanto tarefas de backup para evitar a perda de informa es quanto de verifica o da integri dade dos objetos do banco de dados poss vel criar um plano de manuten o manualmente mas a maneira mais f cil e pr tica faz lo por meio do assistente Maintenance Plan Wizard plano de ma nuten o assistente Esse programa capaz de criar e agendar a execu o peri dica de v rios jobs Cada job realizar uma determinada tarefa que definirmos Agora veremos co
9. parte da linguagem com comandos para cria o de estruturas de dados como tabelas colunas etc Exemplo CREATE TABLE e DML Declara es de Manipula o de Dados parte da linguagem com comandos para acessar e alterar os dados armazenados no banco de dados Os principais comandos dessa categoria s o SELECT UPDATE INSERT e DELETE e DCL Declara es de Controle de Dados parte da linguagem com co mandos para definir usu rios e controlar seus acessos aos dados Exemplo GRANT 3 4 3 2 1 Instru es SQL e Instru o CREATE DATABASE De acordo com Oliveira 2000 para gerenciar os bancos de dados com coman dos SQL necess rio que se esteja posicionado no banco de dados Master Po demos criar um banco de dados com o comando SQL CREATE DATABASE sintaxe completa CREATE DATABASE nome bancodedados ON PRIMARY NAME nome_logico_arquivo FILENAME caminho e nome arquivo SIZE tamanho MAXSIZE tamanho maximo FILEGROWTH taxa crescimento EL LOG ON NAME nome_logico_arquivo FILENAME caminho e nome arquivo SIZE tamanho 3 L n Onde e Nome bancodedados o nome do banco de dados que se deseja criar e Nome logico arquivo um nome usado para referenciar o arquivo em quaisquer comandos SQL executados depois que o banco de dados tiver sido criado PRIMARY especifica o grupo de arquivos primw rio Esse grupo deve con ter todas a
10. 39 Com o crescimento das aplica es essa abordagem tamb m se tornou ine ficiente Qualquer altera o na base de dados afetava um n mero ainda maior de sistemas e programas Com tantas dificuldades relacionadas ao volume de al tera es as aplica es acabaram por se tornar praticamente est ticas levando os departamentos de tecnologia da informa o estagna o e a serem considerados ineficientes pelos gestores das organiza es 3 1 3 Abordagem de bancos de dados Segundo Elmasri 1999 embora haja diferen as at certo ponto significativas entre as duas abordagens apresentadas anteriormente ambas t m em comum uma caracter stica determinante a nfase dada aos processos ao desenvolver uma aplica o por isso que surgem as dificuldades de manuten o oca sionadas parcialmente pelo forte acoplamento dos programas aos arquivos A abordagem de banco de dados ainda considerada a mais adequada surgiu da necessidade de desenvolvimento de sistemas cada vez mais complexos e flex veis integrando os dados de toda a organiza o e n o mais apenas os sistemas de partamentais Sob esse prisma a nfase no desenvolvimento de uma aplica o n o mais sobre os processos e sim sobre os dados Podemos dizer que para a abordagem tradicional e de sistemas integrados na express o processamento de dados a parte mais importante o processamento enquanto na abordagem de banco de dados a palavra fundamental dad
11. Categorias de requisitos e Funcionais descrevem as funcionalidades e os servi os do sistema e dependem do tipo de software a ser desenvolvido do n mero de usu rios esperado e do padr o do sistema no qual o programa sera utilizado Exemplos o sistema deve oferecer diversas maneiras de visualizar os dados de acordo com o perfil do usu rio os relat rios devem estar disponiveis para impress o de acordo com o nivel hier rquico de cada usu rio etc e N o funcionais definem as propriedades e as restri es do sistema podendo especificar por exemplo quais linguagens de programa o bancos de dados e m todos de desenvolvimento ser o utilizados S o mais criticos do que os requisitos funcionais pois sua defini o correta influencia diretamente a performance do sistema a ser desenvolvido e De dominio originam se do dominio da aplica o do sistema e refletem as suas caracteristicas desse dominio Podem ser requisitos funcionais ou n o funcionais requisitos funcionais novos restri es sobre requisitos existentes ou sobre computa es especificas N o amb guo tem apenas uma interpreta o E muito importante prestar aten o na linguagem utilizada para n o causar duplo entendimento Verific vel n o vago nem gen rico e deve ser quantificado para permitir a verifica o de uma das seguintes formas inspe o an lise demonstra o ou teste Conciso para n o gerar confus o cada requisito define
12. Computa o publicou tamb m na revista ACM o artigo The Entity Relationship Model Toward a Unified View of Data O modelo de entidade e relacionamento uma vis o unificada dos dados FOTOS DIVULGA O CAP TULO 2 E INFORM TICA 3 Para a constru o de modelos preciso abstrair isto n o se preocupar com todos os detalhes mas apenas com os que se quer analisar e ou sobre os quais se tem alguma d vida ATEN O O Modelo ER e os Sistemas Gerenciadores de Bancos de Dados foram criados primeiramente para aceitar nomes em ingl s lingua que n o possui acentos em suas palavras Apesar de hoje em dia a maioria dos SGBD s aceitarem palavras acentuadas e at o uso do caracter espa o entre as palavras que nomeiam algum de seus componentes por convens o n o utilizaremos espa os nem acentos para nominar os componentes de nossos modelos afim de n o gerarmos problemas de implementa o em qualquer que seja o SGBD padronizarermos a implementa o evitando d vidas do tipo Funcion rio com ou sem acento sem falar nas mudan as da lingua assim como o controle de acesso o backup a recupera o de falhas a manuten o da integridade a administra o e a seguran a dos dados que cont m Modelo Podemos definir um modelo como sendo um prot tipo em escala menor do produto que queremos implementar ou da solu o que queremos obter O modelo nos perm
13. TICA 3 Figura 5 O modelo espiral Barry W Boehm considerado um guru da Universidade do Sul da Calif rnia da qual professor em rito e tem lugar garantido entre os estudiosos que mais influenciaram o pensamento econ mico a respeito de software nos ltimos 40 anos Ele se graduou em Harvard em 1957 mestre e Ph D em Matem tica e foi diretor do Software and Computer Technology Office do Departamento de Defesa dos Estados Unidos Desde 1964 Boehm escreveu seis livros entre eles Software Risk Manager publicado pela IEEE Computer Society Press em 1989 O PMBOK define Ger nci de Risco como todos os processos necess rios para identificar analisar responder monitorar e controlar os riscos de um projeto E Dalton Valeriano no seu livro Moderno Gerenciamento de Projetos refor a o conceito ao afirmar que essa gest o deve ser constante durante todo o projeto tendo como objetivos maximizar a probabilidade de riscos favor veis e minimizar os negativos VALERIANO 2005 Custo Acumulado Determina Objetivos aitematvas Restri es Avalia ahpmatiras idento e maoe laos Arabs ge FAT Andie do Aars Andiso de Fspos Piano de Regurstos Faro dia Cido de Vida Opera o Requis os de Benchrrandos Sofware N Projeto do Produto e Plano de jr rg da Sotware di eA Desenenivimento VAN E PrOGEID da coig RMamode Thim Verfica o Puno de ireg
14. codigo int nome String cnpj String Produto Funcionario codigo int cpf String Cliente descricao String nome String quantidadeEstoque double nroCarteiraProfissional int vVIUnitarioVenda double dataAdmissao date estoqueMinimo double dataDemissao date situacao int senha String nroCart o int datainicioUso date ItemCompra gt dataFimUso date verificaCartao nroCaetao verificaProduto9produto Produto int boolean quantidade double double verificaFuncionario cpf String senha String boolean KI WV ItemCompra Atendente quantidade double dataRegistro date horaRegistro time atendidoPor Funcionario cliente Cliente salarioHora double atualizaTotalCompra valorTotalltem double boolean salarioMensal double dataCompra date valorTotal double terminada boolean recebidoPor Funcionario proLabore double entre Compra ItemCompra e Fornece ItemFornece al m de uma classe de associa o ItemCompra Podemos incluir a multiplicidade nos relacionamentos se quisermos analisar esse requisito para por exemplo projetarmos o banco de dados relativo a solu o O diagrama de classes oferece in meras vis es de nosso projeto que v o desde a vis o da rela o entre as classes at a das abstra es utilizadas E pode at mesmo ajudar na
15. es padr o Agora clique em Next seguindo adiante 17 Nessa etapa ser o exibidos os jobs j existentes criados anteriormente Voc pode marcar um ou mais jobs para serem executados tamb m como parte do plano de manuten o No nosso exemplo incluiremos todos os jobs j existentes Portanto certifique se de que todos foram selecionados e clique em Next 18 Agora voc definir para quais bancos de dados ser o criadas tarefas de backup como parte do plano de execu o Abra a lista Databases e abai xo da op o These specific databases marque o banco de dados Adventu reWorks e clique em OK As demais op es ser o habilitadas Voc pode definir se o backup ser feito em disco ou fita e em qual pasta no caso de backup em disco se os backups j existentes devem ser sobrescritos ou n o e assim por diante Defina as op es desejadas e clique em Next 19 Nessa etapa voc pode criar tarefas que far o o backup diferencial de um ou mais bancos de dados Vamos incluir um backup diferencial do banco de dados AdventureWorks como parte do plano de manuten o Na lista Database s selecione o banco de dados AdventureWorks e clique em OK Aceite as demais op es e clique em Next seguindo fase seguinte 20 Nessa etapa voc poder criar tarefas que far o o backup do log de transa es de um ou mais bancos de dados Vamos incluir um backup do log do banco de dados AdventureWorks como parte do plano de manuten
16. es que tais requisitos ter o com os demais componentes internos ou externos ao sistema Todo diagrama de caso de uso deve ter um assunto caso de uso atores e relacionamentos Principais componentes ator caso de uso relacionamentos Como esses componentes j foram definidos refor aremos apenas os conceitos de relacionamento Se voc tiver alguma d vida sobre os demais itens releia as defini es formais j apresentadas e reveja os exemplos Um relacionamento representa os itens relacionados a um caso de uso e ou um ator Figura tamb m que tipo de rela o h entre dois itens Sempre que tiver mos um relacionamento entre dois casos de uso estes devem ser obrigatoria mente um include um extend ou uma generaliza o Vamos tratar agora dos relacionamentos include e extend O include um relacionamento de depend ncia que como o pr prio nome diz de inclus o isto indica que o caso de uso de onde parte o relaciona mento sempre inclui executa o comportamento do outro caso de uso que apontado pela seta O extend um relacionamento de depend ncia que poder ter o comporta mento da classe apontada extendido pela classe que aponta como voc pode observar na figura 111 Como podemos ver na figura 111 a implementa o do caso de uso Validar login implica necessariamente na execu o dos casos de uso Validar usu rio digitado e Validar senha Validar usuario digitado Validar senha digita
17. essa pessoa n o admite que n o sabe do que se trata e responde de maneira equivocada Da a import ncia da coer ncia das perguntas e de observar com aten o o real entendimento dos entrevistados Mais um ponto a cuidar a programa o e o cumprimento dos hor rios estabelecidos Realiza o O objetivo central de uma entrevista conseguir informa es relevantes do entre vistado Para isso fundamental fazer com que ele n o se limite a falar mas que tamb m reflita bastante sobre cada uma das suas respostas Por isso o entrevistador deve deixar o respondente totalmente vontade sem pressa para acabar o trabalho Veja o quadro Question rio bem feito E importante evitar interrup es ocasionadas por fatores externos telefone entra e sai de pessoas da sala etc Tudo isso pode levar o entrevistado a perder o foco Comportamento do entrevistador O entrevistador deve demonstrar claramente as suas inten es para o entrevistado Primeiramente precisa estar vestido conforme os costumes da empresa para a qual est trabalhando de maneira a n o causar desconforto aos entrevistados At h pouco tempo consultores e desenvolvedores de software usavam terno normalmen te escuro intimidando entrevistados n o habituados a esse tipo de vestu rio e Defini o dos ser s E i EE CIQ l arma l E CAs Certos movimentos tamb m podem causar desconforto no interlocutor Balan ar os p s ou bater a caneta na me
18. gt gt Registrar data e hora atuais Registrar cliente fim de uso lt lt include gt gt 4 fa lt lt include gt gt 4 P Registrar compra Funcionario produtos se lt lt include gt gt Cliente vs E lt lt include gt gt T lt lt include gt gt l s alidar 1 S Registrar Gas Sadi gt Validar Login I in funcionario funcionario N Xo I Ys i i aa s lt lt include gt gt I lt lt include gt gt Y lt lt include gt gt N A Resistrar Validar senha quantidade Ha Dar lt lt include gt gt comprada do produto RARE Validar do produto produto lt lt include gt gt lt lt include gt gt e Verificar erificar saldo RE ACURA gt exist ncia produto do produto do produto INFORM TICA 3 que deveria Se em algum momento voc achar que seu diagrama est muito complexo diminua nele o n mero de casos de uso Neste exemplo poder amos nos limitar aos casos de uso Registrar data e hora atuais Registrar cliente Registrar produto e Registrar funcion rio e ent o em um novo n vel mostrar os casos de uso que implementam cada um deles Mas isso n o seria necess rio pois os casos de uso est o claros e o diagrama n o est muito polu do isto n o possui excesso de componentes que possa atrapalhar e compreens o Como j vimos cada um dos casos de uso devem ser acompanhados
19. pois permitir a expans o das atividades da empresa facilitando o desenvolvimento de novos sistemas Tal independ ncia consiste na capacidade de favorecer que haja evolu o na descri o de dados como a cria o de uma nova estrutura l gica decorrente de uma nova aplica o ou inclus o de um dado novo numa estrutura exis tente sem que os sistemas ou aplica es em ltima an lise os programas tenham de ser alterados Essa capacidade deve se estender aos casos de mu dan a na organiza o dos arquivos em consequ ncia de degrada o e perda de efici ncia DATE 2000 De acordo com esse conceito os programas in teragem com a vis o l gica do banco de dados A localiza o f sica do dado totalmente transparente 3 2 4 Linguagem de defini o de dados Um esquema de banco de dados especificado por um conjunto de defini es por meio da chamada linguagem de defini o de dados ou DDL do ingl s Data Definition Language A compila o de comandos DDL um conjunto de tabelas armazenadas em um arquivo chamado dicion rio ou diret rio de dados Trata se de um arquivo que cont m metadados dados sobre dados e sempre consultado antes que haja qualquer leitura ou modifica o pelo banco de dados Os comandos DDL servem para definir esquemas remover rela es criar ndices e modificar esquemas de rela o 3 2 5 Linguagem de manipula o de dados A DML do ingl s Data Manipulation Language dec
20. re comendado pela Capes e reconhecido pelo MEC que tem como rea de concentra o a inova o tecnol gica e o desenvolvimento sustent vel Ter FUNDA O PADRE NCHIETA
21. 3 Tratamento sistem tico de valores nulos Valores nulos s o suportados em um SGBD relacional nulo para represen tar exatamente a informa o perdida ou inexistente inaplic vel Para mais bem entender essa regra vale a pena definir o que valor nulo aque le utilizado para representar uma informa o perdida ou desconhecida Concei tualmente um valor inexistente A inexist ncia de conte do em um campo equivale a dizer que seu valor nulo Mas aten o jamais confunda zero s ou espa o s em branco com strings vazios Imagine um pacote de supermercado de papel desdobrado Sem toc lo ou olhar em seu interior voc n o pode saber se est vazio ou cont m algum produto Portanto nesse instante para voc o conte do do pacote NULO uma informa o desconhecida inexistente Valores nulos portanto s o su portados por um SGBD para representar exatamente a informa o perdida ou inexistente inaplic vel Para suportar a integridade de identidade preciso especificar n o s o permitidos valores nulos em cada coluna da chave pri m ria e em qualquer outra coluna que se considerar como uma restri o de integridade Se levarmos em conta que um atributo tem de obrigatoriamente possuir conte do estaremos especificando que seu valor n o pode ser nulo Assim o SGBD precisa reconhecer a informa o nula para poder restringi la ou aceit la se necess rio Regra n mero 4 Cat logo relacional a
22. AL E ds e E Ml o Vamos agora listar os clientes com c digo menor que 200 instru o para isto a demonstrada a seguir Select from cliente where codigo lt 200 Na figura 75 podemos observar como ser a instru o empregando se o phpMyAdmin f ppt Ea Aire Wimke lire pare 50 as niporia unpas i list nco da consina r Fazer consulta SOL no Banco de Dados erp Select from chame where codigo lt 200 E N o sobrescrever esta consula loma desta panela Pee focsreas predio rota Tr p p j OD nieret JE me eaii o q dotes par e do seo arii Ee it dE ma n CAP TULO 3 Figura 73 Instru o a partir do phpMyAdmin Figura 74 Resultado da instru o Figura 75 Listagem de clientes com c digo menor que 200 INFORM TICA 3 Figura 76 Instru o bem sucedida Figura 77 Instru o para O nome completo pt mim EE ra vom sta am TE o o PARDO E io a O O A SS POA OR aee ire cd Caa mi E A o a O a A figura 76 demonstra o sucesso da instru o Vamos alterar o cliente de c digo 123 de nome Wilson Oliveira para o nome completo dele que Wilson Jose de Oliveira Para isso utilizaremos a instru o a seguir UPDATE Cliente Set nome Wilson Jose de Oliveira Where codigo 123 Na figura 77 indicamos como ser a instru o novamente aplicando se o phpMyAdmin Podemos constatar o sucess
23. Capa Nathalia Guarienti aluna da Etec do Centro Paula Souza Foto Eduardo Pozella Edi o Deise Bitinas 2 3 9 Analise funcional cccc 9 2 3 10 Projeto de programas de aplica o 9 2 3 11 Implementa o da transa o 93 95 Cap tulo 3 Banco de dados 3 1 Evolu o dos sistemas de computa o 97 3 1 1 Abordagem tradicional 97 3 1 2 Abordagem de sistemas integrados 98 3 1 3 Abordagem de bancos de dados 98 3 2 Conceitos e terminologia IO 3 2 1 Abstra o de dados ccc IOI 3 2 2 Inst ncias e esquemas 102 3 2 3 Independ ncia de dados 102 3 2 4 Linguagem de defini o de dados 103 3 2 5 Linguagem de manipula o de dados 103 3 2 6 Usu rios de banco de dados 103 3 3 Abordagem relacional nennnnnnnnannn e 103 3 3 1 Caracteristicas principais 104 3 3 2 Principios da orienta o 105 3 3 3 As doze regras de Edgar FCodd 105 3 3 4 Chaves e ndices nuunessnnnnen 109 3 3 4 1 Regras de integridade HI 3 3 4 2 Regras de convers o do modelo E R para o modelo relacional 12 3 4 Administra o e gerenciamento 3 4 1 Seguran a em banco de dados 3 4 1 1 Seguran a no sistema operaciona
24. Computador Cliente lt lt navegador web gt gt Internet Explorer lt lt servidor gt gt Servidor Web PO lt lt sistema operacional gt gt Linux Po SS EPE RSS sz g lt lt web container gt gt Tomcat lt lt banco de aplica o gt gt Apache lt lt HTTP gt gt lt lt artefato gt gt vendeTudo war SS ET te eer 0 Ethernet gt gt F lt lt servidor gt gt Servidor de Banco de Dados lt lt sistema REETETTITT ECT ET Windows Server lt lt banco de dados gt gt SQLServer lt lt artefato gt gt vendeTudoBD Figura 125 Exemplo de se produto para pesquisar o pre o por quilo Depois da pesagem calcular o lagram diagrama de valor do item e instanciar um objeto da classe ItemCompra exatamente essa implanta o situa o que analisaremos no diagrama abaixo avaliando os tempos aceit veis para cada opera o A balan a possui um visor das informa es digitadas calculadas e um teclado nu m rico por meio do qual o atendente introduz os dados Como apenas um atenden te trabalha na pesagem a cada turno ele faz o login na balan a ao iniciar o trabalho e assim n o ter de se identificar toda vez que precisar pesar algum produto Veja como representamos esse diagrama na figura 126 Podemos perceber que nosso foco na an lise do tempo gasto nas opera es efetuadas pela balan a sem a interven o do usu rio As opera
25. FROM miss es J para negar as permiss es de objetos do banco de dados utilizamos o comando DENY Veja qual a sintaxe do comando DENY security account n CASCADE DENY ALL PRIVILEGES permission n 3 AS group role column n ON table view ON table view column n ON stored_procedure extended_procedure Agora acompanhe nos exemplos abaixo a utiliza o do comando REVOKE ON fuser defined function Nos Exemplos 2 e 3 mostramos que se pode retirar mais do que uma permiss o ao mesmo tempo para um ou mais usu rios 5 TO security account n CASCADE Exemplo 1 Retirar a permiss o UPDATE atribuida para o usu rio SERVIDORlwilson anteriormente j Compreenda melhor essa relativamente complexa sintaxe por meio de tr s USE Exemplo1 exemplos Os de n meros 2 e 3 mostram que podemos negar mais do que uma permiss o ao mesmo tempo para um ou mais usu rios REVOKE UPDATE ON Clientes Exemplo 1 TO SERVIDOR wilson Negar permiss o UPDATE para o usu rio SERVIDOR user1 na tabela Clientes do Banco de Dados Exemplo1 Exemplo 2 Retirar as permiss es SELECT UPDATE E DELETE atribuidas para o usu rio SERVIDORIwilson na tabela Clientes do Banco de Dados Exemploa USE Exemplos DENY UPDATE ON Clientes TO SERVIDORIwilson INFORM TICA 3 O Maintenance Plan Wizard assistente de plano de manuten o elabora um plano de manuten
26. INFORM TICA 3 Figura 40 Abordagem de banco de dados qual eles s o realmente utilizados Da se originam inclusive os conceitos de Linguagem de Defini o dos Dados e de Linguagem de Manipula o dos Da dos Passa a existir assim um reposit rio onde s o armazenados esses elementos de mais baixo n vel de forma que fiquem externos ao c digo do sistema Esse reposit rio apresenta se na forma de um dicion rio de dados com apar ncia e transpar ncia irrelevantes para o analista de sistemas e os programadores Tamb m devemos avaliar com muita aten o qual arquitetura de hardware e software ser a mais adequada ao nosso projeto A abordagem de banco de dados est ilustrada na figura 40 Trabalhar com ela no desenvolvimento de sistemas exige dos profissionais de tecnologia da informa o comprometimen to com alguns princ pios 3 2 Conceitos e terminologia Para trabalhar essa abordagem preciso conhecer os conceitos e as termi nologias relacionadas a banco de dados justamente os temas abordados neste cap tulo 3 2 1 Abstra o de dados De acordo com Elmasri 2002 a abstra o de dados a capacidade de modelar as caracter sticas vari veis e constantes de forma a desprezar os dados que n o interessam veja quadro Os n veis de abstra o Um SGBD composto por uma cole o de arquivos interrelacionados e de um conjunto de programas que permi tem aos usu rios acessar e modificar os arquiv
27. La rcio Depois dela La rcio atendeu o senhor Joaquim Mariana Pedro Portanto La rcio ir registrar dez p ezinhos no cart o da senhora Maria depois registrar as compras do senhor Joaquim Mariana Pedro Logo um funcion rio La rcio atende v rios cart o compra produto o car t o da senhora Maria x dez p ezinhos mas um cart o compra produto o cart o da senhora Maria x dez p ezinhos s atendido a cada vez que ela com pra um produto na padaria por um funcion rio La rcio logo a cardinalidade deste relacionamento N para 1 Fornecedor fornece produto O senhor Cardoso dono de um atacado que vende bolachas e chocalates com o melhor pre o da cidade Toda vez que o dono da padaria o senhor Jo o precisa comprar bolachas ou chocolates ele liga para o senhor Cardoso e faz o pedido No m ximo at o dia seguinte o caminh o do senhor Cardoso para em frente padaria e entrega as mercadorias solicitadas Logo um fornecedor senhor Cardoso fornece v rios produtos bolachas e cho colates e um produto chocolate ao leite pode ser vendido por v rios fornece dores senhor Cardoso Maria Doceria Bazar dos Amigos Assim a cardinali dade deste relacionamento N para N E necess rio que se definam os atributos do relacionamento fornece por se tratar de um relacionamento com campos Passo 5 Definir as restri es de integridade dos relacionamentos Ao identificar tais restri e
28. SERVIDORIwilson Quando o login for um usu rio do Windows o nome deve vir entre colchetes como no exemplo SERVIDORIwilson Exemplo 2 Garantir para os usu rios SERVIDORIwilson e SERVIDORlandrea a permiss o de selecionar novos registros atualiz los e exclui los na tabela Clientes do Banco de Dados Exemplo Use Exemplos GRANT SELECT UPDATE DELETE ON Clientes TO SERVIDORlwilson SERVIDORlandrea Exemplo 3 Atribuir todas as permiss es para o usu rio SERVIDORIandrea na tabela Clientes do Banco de Dados Exemploa USE Exemplos GRANT ALL ON Clientes TO SERVIDORIandrea INFORM TICA 3 Observe que mais uma vez utilizamos a palavra ALL para indicar todas as permiss es Para retirar as permiss es de objetos do banco de dados utilizamos REVOKE Neste caso a sintaxe do comando REVOKE a seguinte REVOKE GRANT OPTION FOR ALL PRIVILEGES permission n 3 t column n ON table view ON table view column n ON stored_procedure extended procedure ON fuser defined function 5 CAP TULO 3 USE Exemplos REVOKE SELECT UPDATE DELETE ON Clientes TO SERVIDORlwilson Exemplo 3 Retirar todas as permiss es atribuidas ao usu rio SERVIDOR andrea na tabela Clientes do Banco de Dados Exemploa USE Exemplos REVOKE ALL ON Clientes TO SERVIDORIandrea Observe que novamente recorremos palavra ALL para indicar todas as per TO
29. TABLE Fornece numero Nota INTEGER NOT NULL PRIMARY KEY cod Fornecedor INTEGER NOT NULL REFERENCES Fornecedor codigo data DATE NOT NULL valor Total DECIMAL 10 2 NOT NULL PRIMARY KEY numero Nota cod Fornecedor CREATE TABLE ItemFornece numero Nota INTEGER NOT NULL REFERENCES Fornece numero Nota cod Produto INTEGER NOT NULL REFERENCES Fornecedor codigo quantidade DECIMAL 5 2 NOT NULL valor Unitario DECIMAL 10 2 NOT NULL PRIMARY KEY numero Nota cod Produto CREATE TABLE compra numero INTEGER NOT NULL PRIMARY KEY cod Cartao INTEGER NOT NULL REFERENCES Cartao codigo data DATE NOT NULL forma Pagto VARCHAR 10 NOT NULL valor Total Compra DECIMAL 10 2 NOT NULL cod Func Caixa INTEGER NOT NULL REFERENCES Funcionario codigo CREATE TABLE ItemCompra numero Nota INTEGER NOT NULL REFERENCES Compra numero cod Produto INTEGER NOT NULL REFERENCES Fornecedor codigo quantidade DECIMAL 5 2 NOT NULL valor Unitario DECIMAL 10 2 NOT NULL PRIMARY KEY numero Nota cod Produto 2 3 9 Analise funcional Analisando os requisitos funcionais que encontramos na fase de an lise de re quisitos ser o escolhidas as rotinas a serem criadas para que todas as funcio nalidades de nosso projeto sejam atendidas Uma rotina do sistema pode auto matizar mais de um requisito funcional anteriormente definido Por exemplo a digita o de uma nota fiscal de compra de mercadorias para a padaria do senh
30. a objetos polimorfismo aparece em tr s formas diferentes Poligono nrolados int calculaArea double calculaPerimetro double Triangulo Retangulo ladol double lado double ladol double lado double lado3 double calculaArea double calculaPerimetro double calculaPerimetro double Sobrecarga na mesma classe podemos ter m todos com o mesmo nome mas que recebem par metros diferentes assinaturas diferentes e t m por isso mes mo funcionalidades e ou implementa es diferentes como mostra a figura 94 Neste exemplo da figura 94 vemos que a classe Calculadora implementa tr s m todos soma diferentes o primeiro efetua a soma com os valores dos atributos numerol e numero2 colocando o resultado no atributo resultado J o segundo m todo soma recebe como par metros os n meros inteiros valor e valor2 e devolve como resultado a soma dos dois O terceiro m todo recebe dois valores de tipo double valorl e valor2 e retorna como resultado a sua soma O inter pretador de comandos escolher em tempo de execu o com base nos tipos e no n mero de par metros informados qual dos m todos soma ser executado Sobrescrita em classes associadas por uma hierarquia pode haver m todos com a mesma assinatura mas que efetuam opera es diferentes Assim se optar pela execu o de um ou de outro dependendo da classe que estiver instanciada no momento da
31. altera es principalmente para cor re o de falhas que s os usu rios conseguem detectar no dia a dia e tamb m para mais bem adapt lo ao ambiente ou ainda por problemas de desempenho Se houver transforma es no neg cio da empresa tamb m ser preciso realizar mudan as A manuten o do software ltima etapa proposta pelo modelo em cascata pode requerer portanto voltar a atividades das fases anteriores do ciclo desse jeito que se garante a melhoria cont nua do produto 1 5 2 Modelo em cascata evolucion rio ou waterfall evolucion rio As metodologias baseadas no modelo waterfall presumem que uma atividade deve ser conclu da antes do in cio da pr xima Devido s limita es houve re flex es no sentido de utilizar o modelo de maneira mais flex vel Assim em uma situa o extrema aconteceriam simultaneamente todas as atividades do ciclo de vida em cascata enquanto em outra circunst ncia tamb m limite haveria o uso da abordagem sequencial ou seja concluir inteiramente uma fase antes de partir para a seguinte FOWLER 2009 A proposta evoluir com base em prot tipo inicial figura 3 fundamental que os requisitos sejam muito bem compreendidos Mesmo com uma completa vis o das especifica es iniciais preciso trabalhar com o cliente durante todo o desenvolvimento Todos os con ceitos e ideias v o sendo materializados em requisitos durante o processo at que se chegue ao produto idealizado C
32. aluguel ou venda figura 13 Cada um dos personagens do exemplo se fixou em detalhes diferentes sobre um mesmo projeto a casa Olhou para ela pensando em suprir as pr prias necessi dades enfatizando as caracter sticas mais importantes para atend las e despre zou os demais detalhes os quais embora tamb m fa am parte da constru o n o t m relev ncia particular o que se chama de abstra o esses v rios pontos de vista essas diferentes possiblidades de an lises sobre um mesmo objeto o que se chama de abstra o uma caracter stica fundamental para a constru o de um bom modelo de enti dade e relacionamento Modelo de entidade e relacionamento Prop e defini es e regras para o projeto e a implementa o de bancos de dados assim como a rela o desses dados com as funcionalidades que esse sistema deve implementar Sugere que nas diversas fases de desenvolvimen to do projeto os modelos sejam refinados at que se chegue ao modelo final que em modelagem ER chamamos de projeto f sico Acrescentando se a seguir o projeto f sico do banco de dados ele se juntar com as funciona lidades dos programas da aplica o para s ent o chegar se a uma solu o completa de software H v rios componentes do modelo ER Vale portan to conhecer os principais entre os quais se alinham Entidade Relaciona mento Atributo e Chaves Entidades Entidades s o abstra es do mundo real que cont m um co
33. apresentada no cap tulo 2 deste livro que voc se lembra usamos para mostrar como se cria e implementa um software em uma empresa Por isso recomendamos que voc volte ao tema para rever as defini es do problema e assim acompanhar com mais facilidade o pr ximo passo a aplica o dos diagramas da UML e Todos os diagramas da UML s o teis para an lise de aspectos importantes do desenvolvimento de software mas n o necess rio aplicar todos os diagramas em um mesmo projeto Escolha apenas os quais o ajudar o a entender melhor o sistema que est desenvolvendo e a deixar mais claras as solu es que ir implementar Nunca deixe que os diagramas fiquem grandes e complexos de mais Se perceber que isso est acontecendo tente separ los em mais de um dividindo suas funcionalidades e Normalmente todos os diagramas s o desenvolvidos com auxilio de um software H at mesmo softwares que ajudam a verificar o que podemos ou n o fazer em cada diagrama H in meras ferramentas que nos auxiliam nessa tarefa muitas com vers es gratuitas Procure a que mais se adapta s suas necessidades e m os obra Sugerimos que voc conhe a o Jude www jude change vision com que tem uma vers o gratuita em ingl s f cil de utilizar e permite a constru o de quase todos os diagramas da UML Escolha a que identificar como a mais ade quada a seu projeto 4 3 1 Diagrama de casos de uso um diagrama que mostra um conjun
34. b kast Di crm cmemea r ea E ep lri mrm mes 5 a os C N o sobrescrever esta consulta fora desta janela Loses E Mostrar esta consula SOL novamente E brr metew jj Erne ir Dest my dat o mr A DS LS TS H PS TE EUA i ur tam R o O cr eai RR E dra io mi hee q E E hora de incluir clientes em nossa tabela para conseguirmos realizar algumas atividades Utilizaremos as seguintes instru es INSERT para incluir cinco registros INSERT INTO Cliente codigo nome endereco VALUES 123 WILSON OLIVEIRA CAIXA POSTAL 155 ITU CAP TULO 3 Figura 68 O resultado da Instru o Figura 69 Instru o a partir do phpMyAdmin Figura 70 Instru o bem sucedida INFORM TICA 3 INSERT INTO Cliente codigo nome endereco VALUES 145 AN DREA SIRTORI OLIVEIRA CAIXA POSTAL 135 ITU INSERT INTO Cliente codigo nome endereco VALUES 567 LU CAS OLIVEIRA CAIXA POSTAL 111 ITU INSERT INTO Cliente codigo nome endereco VALUES 345 JOSE FRANCISCO CAIXA POSTAL 45 ITU INSERT INTO Cliente codigo nome endereco VALUES 777 AMANDA SIRTORTYP CAIXA POSTAL 233 ITU Veja na figura 71 como ser a instru o utilizando o phpMyAdmin Figura 71 Instru o usando a phphy iran Wagh beterre O S algia E p gap p perg h Lic bri e LA e T e phpMyAdmin Ain Rodar corsuiajs SOL no servi
35. cidade estado cep Tendo como chave prim ria o atributo codigo Telefone cod fornecedor nro telefone Tendo como chave prim ria os atributos cod fornecedor e nro telefone j que isso garante que n o ser cadastrado o mesmo telefone para o forncedor e como chave estrangeira o atributo cod fornecedor Fornecedor codigo nome Tendo como chave prim ria o atributo c digo Endereco cod fornecedor rua complemento bairro cidade estado cep Tendo como chave prim ria o atributo cod fornecedor e como chave estrangei ra o atributo cod fornecedor Segunda Forma Normal 2NF Uma entidade encontra se em Segunda Forma Normal se e somente estiver em Primeira Forma Normal e n o tiver atributos com depend ncias parciais No caso de uma chave prim ria composta isto que possui mais de um atributo em sua composi o denominada depend ncia parcial a depend ncia de um atributo n o chave a apenas uma parte da chave prim ria Tomemos como exemplo a tabela compra descrita abaixo Compra nro nf cod fornecedor cod produto data nome produto quantidade valor unitario valor total nota Tendo como chave prim ria os atributos nro nf cod fornecedor cod produto Se analisarmos a depend ncia funcional teremos nro nf cod fornecedor gt data nro nf cod produto gt quantidade nro nf cod produto gt valor unitario nro nf cod fornecedor gt valor total nota cod produto gt nome produto Toda entidade que n o possuir chave
36. cria o do banco de dados vinculado solu o Dependendo do foco da an lise podemos exibir os detalhes desse diagrama de forma diferente os estere tipos das classes seus atributos m todos responsa bilidades ou apenas uma dessas caracter sticas 4 3 3 Diagrama de sequ ncia E um diagrama de intera o que d nfase ordena o temporal de mensagens BOOCH RUMBAUGH e JACOBSON 2005 O diagrama de sequ ncia permite a an lise e defini o da troca de mensagens entre os objetos e atores da solu o e muito utilizado para defini o de par metros e classes dos m todos a serem criados Devemos estabelecer um diagrama de sequ ncia para cada caso de uso cujo fun cionamento tenhamos dificuldade de entender ou tenhamos d vidas a respeito de como implement lo Principais componentes atores classes objetos mensagens e focos de controle Foco de controle um componente do diagrama de sequ ncia que permite a re presenta o de comandos de decis o de loop e de op o A ideia que todos os fluxos que se encontrarem dentro do foco de controle sejam executados quando ou enquanto a condi o exibida for verdadeira Veja a figura 116 As mensagens representam a comunica o entre os objetos e atores do diagra ma S o simbolizadas graficamente por setas Existem quatro tipos de mensa opt confirmacao Falso Condi o Opera o Figura 16 Representa o de um foco de controle
37. definida Figura 99 Exemplo esquerda de colabora o Figura 100 Exemplo de caso de uso CAP TULO 4 INFORM TICA 3 Figura 101 Exemplo de componente Figura 102 Exemplo de artefato Figura 103 Exemplo de n Figura 104 Exemplo de mensagem FormcCliente lt lt artefato gt gt Cliente class todo S o representados por um ret ngulo com o s mbolo da UML para com ponentes figura 101 Artefato um elemento f sico do sistema que pode ser um programa fonte ou execut vel um script do sistema operacional e tudo o mais que pode ser trans formado em bits e bytes representado por um ret ngulo com o estere tipo lt lt artefato gt gt e o seu nome figura 102 N representa um recurso de computa o Pode ser um servidor um com putador cliente um switch um hub etc Qualquer elemento computacional que fa a parte da arquitetura na qual ser implementada a solu o pode ser definido como um n Em UML desenhado como um cubo com seu nome dentro figura 103 Servidor e Itens comportamentais S o os itens que definem as partes din micas dos modelos UML S o tamb m chama dos de verbos do modelo Constituem itens intera es m quina de estados e atividades Intera es s o os conjuntos de troca de mensagens entre objetos tamb m cha mados de comportamento Em UML as mensagens s o representadas por uma seta tra ada sob seu nome figur
38. definida e tempo de vida coincidente das partes pelo todo As partes com mul tiplicidade n o associada poder o ser criadas ap s a pr pria composi o mas uma vez criadas vivem e morrem com ela Estas partes s podem ser removidas explicitamente antes da morte do elemento composto BOOCH RUMBAU GH e JACOBSON 2005 Podemos dizer que numa rela o de composi o s faz sentido existir a parte se houver o todo Observe o diagrama da figura 90 Em rela o multiplicidade podemos ter o multiplicidade de zero a muitos 1 multiplicidade de 1 a muitos o 1 multiplicidade de o a a multiplicidade de zero a muitos possui o mesmo significado de o N multiplicidade N onde N deve ser trocado por um n mero que representar o numero exato de objetos relacionados aquela classe Empresa nome String numero int ramoAtividade String data Date cnpj String valorTotal double ItemdePedido Departamento descri o String quantidade int precoUnitario double nome String Podemos analisar que s faz sentido existirem os itens de pedido parte se exis tir o pedido todo 3 Heran a refere se ao mecanismo pelo qual classes mais espec ficas incorpo ram a estrutura e o comportamento de classes mais gerais BOOCH RUM BAUGH e JACOBSON 2005 Podemos verificar na figura 91 que a classe Pessoa possui os atributos nome e cpf e pode execu
39. e Os Usu rios e Redu o acentuada do desenvolvimento de aplica es e do tempo gasto em manuten o de sistemas Melhoria na seguran a de dados e Mais agilidade gerencial de informa es ligadas ao processo decis rio da empresa CAP TULO 3 INFORM TICA 3 formam o cat logo do sistema o dicion rio de dados Portanto o princ pio de que a informa o deve estar sob a forma de tabela extensiva ao dicion rio de dados As tabelas s o bidimensionais o que equivale a dizer que n o h colunas repetitivas Cl usula Occurs por exemplo n o existe Regra n mero 2 Acesso garantido Todo e cada dado num Banco de Dados Relacional tem a garantia de ser logicamente acess vel recorrendo se a uma combina o do nome da tabela um valor de chave prim ria e o nome da coluna Isso significa que a ordem das linhas assim como a das colunas irrelevante Para obter uma informa o espec fica ou seja o valor de uma coluna em uma linha de uma tabela basta informar o nome da tabela o valor de uma chave prim ria no caso da linha a ser recuperada e o nome da coluna da tabela em quest o Da mesma forma para saber quais ocorr ncias de uma tabela t m um determinado valor em uma coluna basta informar o nome da tabela e o nome da coluna que o conte do poder ser comparado Conclus o a regra especifica que em um banco de dados efetivamente relacional n o existe in forma o inacess vel Regra n mero
40. e codigo produto e Fornece numero nota data codigo fornecedor codigo produto quantidade valor unitario Nesse caso as chaves prim rias s o os atributos numero nota codigo fornecedor e codigo produto e as chaves estrangeiras codigo fornecedor e codigo produto Passo Desenhar o diagrama de entidade e relacionamento 2 2 Normaliza o Normaliza o um processo utilizado para acertar poss veis problemas estrutu rais das entidades e relacionamentos com campos criados tamb m chamados de anomalias em um modelo de entidade e relacionamento Consiste na an lise dos atributos das entidades e relacionamentos com campos sob o ponto de vista das regras chamadas formas normais que descrevem com base na teoria de conjuntos na lgebra e no c lculo relacional o que devemos ou n o fazer nas estruturas das entidades e relacionamentos de nosso modelo baseados em conceitos matem ticos Essa an lise pode demonstrar a necessidade de alterarmos a estrutura de nossas entidades e relacionamentos com campos dividindo ou agrupando seus atributos para aprimorar o processo de recupera o das informa es performance e seu armazenamento de modo a evitar perda redund ncia e distor o da informa o Sempre que formos obrigados pela aplica o das formas normais em nosso mo delo a dividir entidades temos que garantir que a divis o poder ser revertida isto que mesmo particionada em duas ou mais entidades uma e
41. es es pecifica o funcional defini o especifica o e respons veis pelo requisito FOWLER 2009 Ao documentar um requisito deve se ter em mente algumas quest es que po dem influenciar em muito todo o processo de desenvolvimento necess rio se preocupar com a boa qualidade do documento e alguns cuidados precisam ser observados no modo de escrever 1 Quem escreve para quem se escreve e qual o meio utilizado para escrever s o tr s fatores diretamente relacionados qualidade da documenta o dos requisitos 2 A ado o de linguagem natural n o t cnica no texto complementada por diagramas tabelas fotos e imagens facilita o entendimento daquilo que se deseja documentar 3 O grau de detalhamento depende de quem escreve da organiza o das infor ma es do prop sito da documenta o entre outros quesitos 4 A documenta o serve para comunicar o que se pretende fazer em um determinado sistema e se ele se dirige a clientes usu rios gestores e desenvol vedores do sistema 5 A especifica o tem de trazer os servi os que o sistema deve prestar assim como suas propriedades e restri es impostas opera o e ao desenvolvimento 6 O documento pode ser tanto sucinto e gen rico quanto extenso e detalhado 1 8 5 Metodos de identifica o e coleta Existem duas t cnicas normalmente utilizadas para a identifica o e coleta de requisitos entrevista e reuni es de JAD aquelas
42. es em foco s o pesagem do produto obten o do pre o por quilo lt 0 15 gt aguardandoPesagem produtoColocadoNaBalanca CodigoProduto calculandoEExibindoPesoProduto aguardandoDigita oCodigoProduto lt p 29 gt pesquisandoPrecoPor Quilo Balanca lt 0 15 gt CodigoCartao calculandoEExibindoPrecoTotalProduto 9 rl z ma double precoPorQuilo lendoNumeroDoCartao lt 0 35 verificandoExistenciaCartao consultaProduto int codigoProduto criandoltemCompra booleancartaoEncontrado retornandoprecoPorQuilo processandoConsulta q Fa Q E O QU E U Bh O U em S pan QU itemCompra consultaCartao int nroCartao boolean Item Compra Cartao cart Produto prod double quantidade double valorTotalltem Funcionario atend retornandoExistenciaCartao verificando ExistenciaCartao Cartao Figura 126 Diagrama de temporiza o CAP TULO 4 INFORM TICA 3 Figura 127 Diagrama de estrutura composta c lculo do pre o do item e gera o do registro da compra cria o da inst n cia da classe ItemCompra S o as nicas opera es para as quais o diagrama demonstra um tempo m ximo as demais que dependem da intera o do atendente t m os tempos estimados e apenas grafados na linha de tempo para podermos ter uma ideia do tempo total gasto com a opera o Sabemos agora que requisitos de tempo b sicos a balan a
43. execu o figura 95 Vemos no exemplo da figura 95 que h uma superclasse chamada Poligono que implementa os c lculos de rea e per metro para os pol gonos que n o se jam c rculo tri ngulo e ret ngulo para os quais foram criadas classes filhas de acordo com suas f rmulas Esse um exemplo de sobrescrita dos m todos calculaArea e calculaPerimetro que dependendo da classe a que pertence o objeto instanciado usar o m todo implementado por essa classe Polimorfismo de classe Uma subclasse pode dentro da aplica o fazer o papel da superclasse classe pai e da subclasse classe filha Sempre que uma subclasse referenciada como a superclasse tamb m temos polimorfismo Analise e projeto de software orientado a objetos Como j vimos no cap tulo 1 o desenvolvimento de software foi dividido em J p fases para facilitar o processo o que permite reduzir as quest es a serem res pondidas em cada etapa e o melhor acompanhamento do projeto Para desenvolver softwares orientados a objetos seguimos as mesmas fases an lise projeto programa o testes implanta o e manuten o e tamb m podemos usar as t cnicas de prototipagem Mas necess rio definir os objeti vos de cada fase principalmente a de an lise e projeto orientados a objeto que t m caracter sticas um pouco diferentes das vistas at agora e Analise orientada a objetos Nessa fase fazemos levantamento e an lise de requisit
44. linguagem SQL o fato de permitir o cancelamento de uma s rie de atualiza es ou de grav las depois que iniciarmos uma sequ ncia de atualiza es Isto pode ser feito por meio dos comandos Commit e Rollback importante notar que a linguagem SOL s pode nos fornecer tais solu es porque esta baseada em bancos de dados que garantem por si mesmo a integridade das rela es existentes entre as tabelas e seus indices CAP TULO 3 INFORM TICA 3 3 4 3 1 Como utilizar os comandos SQL Segundo Oliveira 2001 a linguagem SQL foi desenvolvida para acessar os ban cos de dados relacionais Seu objetivo fornecer um padr o de acesso aos bancos de dados seja qual for a linguagem usada em seu desenvolvimento Mas apesar da tentativa de torn la um padr o ANSI cada fornecedor hoje possui uma s rie de extens es que deixam as v rias vers es incompat veis entre si Alguns bancos de dados suportam o padr o SQL ANSI 92 mais abrangente o que representa um esfor o para facilitar o processo de tornar transparente a base de dados utilizada pela aplica o Entretanto nem todos os fornecedores j ofe recem suporte completo ao SQL ANSI 92 porque para isto teriam de alterar partes estruturais de seus sistemas gerenciadores 3 4 3 2 Categorias da Linguagem SQL De acordo com Oliveira 2001 as instru es SQL podem ser agrupadas em tr s grandes categorias e DDL Declara es de Defini o de Dados
45. no m nimo 1 e no m ximo N funcion rios Essa representa o nos ajuda a definir as restri es de integridade de nosso modelo e permite maior compreens o do banco de dados a ser constru do O que devemos entender que pode haver funcion rios sem departamento mas n o departamentos sem funcion rio Agrega o Outro problema conceitual que preciso definir o relacionamento de uma entidade com um conjunto de entidades isto esse relacionamento s existe se houver um conjunto de informa es Imagine a seguinte situa o Um cliente compra produtos e atendido por um funcion rio Veja na figura 26 como exibir graficamente esse caso Cliente Produto N Atende Funcionario Interpretando o diagrama anterior podemos dizer que um cliente compra N produtos e atendido por 1 funcion rio e que 1 funcion rio atende N clientes que compram produtos Diagrama de entidade e relacionamento Parte do modelo de entidade e relacionamento o diagrama a representa o gr fica dos elementos nele definidos E montado ap s a denomina o das enti dades dos seus atributos e relacionamentos figura 27 cod Depto Funcionario Pertence Departamento codigo nome dataAdmissao l codigo descricao poss vel identificar nesse pequeno fragmento de diagrama quase todos os ele mentos do modelo visto at aqui Entidades Funcionario e Departamento Relacionamento Pertence Atributos e da e
46. no modelo A UML j traz uma s rie de estere tipos pre definidos como interface ator realiza o mas permite que o projetista defina outros mais sempre que surgir a necessidade Sua representa o pode ser apre sentada de duas formas uma palavra entre os s mbolos de menor e maior ou um desenho do pr prio estere tipo que representa Veja o exemplo da figura 110 Diagrama de j Casos de iso centers aaia a Com OP i Pes f f A a ye Lis x t at Ofmbonentesp implanta o Diagrama J Diagramade Disorama de sidii SR e f Ad s CERA 5 64 PE e e Sego ncal Fermpora o Colabora o Diagrama de Vis old Diagrama Diagrama mo Figura 109 Diagramas definidos pela UML 2 0 INFORM TICA 3 Figura 110 Exemplo de estere tipo lt lt ator gt gt Restri es s o utilizadas para definir regras em modelos de forma a melhorar sua compreens o As regras devem ser inseridas entre chaves 1 e devem explicitar cla ramente a restri o Por exemplo valor gt 10 Podemos ainda criar novos compartimentos em itens da UML tomando o cuidado de documentar claramente o que significa o novo compartimento 4 3 Os diagramas da UML Vamos agora a descrever os diagramas seus principais componentes a docu menta o envolvida Tamb m apresentaremos um exemplo na medida do pos s vel recorreremos ao estudo de caso da padaria do senhor Jo o
47. o Na lista Database s selecione o banco de dados AdventureWorks e clique em OK Aceite as demais op es e siga adiante clicando em Next 21 Agora voc poder definir uma conta conhecida como Proxy Account Se for configurada uma conta como esta as tarefas ser o executadas no con texto desta conta que portanto dever ter todas as permiss es necess rias para executar as tarefas do plano de manuten o N o vamos configurar uma conta como Proxy Account em nosso exemplo Ent o clique nova mente em Next 22 Nessa etapa voc definir em qual pasta ser gravado um relat rio sobre o plano de manuten o Por padr o vem selecionada a pasta Ci Aceite as configura es sugeridas e clique em Next 23 Ser exibida agora a tela final do Wizard Se voc precisar alterar alguma op o recorra ao bot o Back Para finalizar o assistente e criar o plano de manuten o clique em Finish O SQL Server mostrar o progresso da cria o do plano de manuten o conforme indica a figura 46 24 Uma vez conclu da a cria o do plano de manuten o o sistema exibir uma janela com o resultado da cria o Clique em Close para fechar a jane la Pronto o plano de manuten o foi criado 3 4 3 Uma linguagem versatil SQL Segundo Oliveira 2000 quando os bancos de dados relacionais estavam em desenvolvimento foram criadas linguagens para manipul los A SQL sigla do ingl s Structured Query Language literalmen
48. o sendo inseridos na tabela real e a segunda os dados antigos que est o sendo inclu dos Num Gatilho de atualiza o FOR UPDATE essas duas tabelas tamb m est o dispon veis No caso DELETED permite acessar os dados como eram antes da modifica o e INSERTED d acesso aos dados depois da atualiza o Podemos ent o considerar uma atualiza o como uma exclus o seguida de uma inser o excluem se valores antigos e inserem se valores novos Por exemplo ao mudar a quantidade em um ItemNotaFiscal o total da Nota deve ser recalculado Para isso levada em conta a diferen a entre a quantidade antiga deleted Quantidade e a nova inserted Quantidade Vamos agora criar um Gatilho em ItemNotaFiscal que faz isso CREATE TRIGGER AlteracaoltemNota On ItemNotaFiscal for update As If update Quantidade or update CodProduto Begin Update NotaFiscal Set ValorTotal ValorTotal select p preco i Quantidade d Quantidade From Produto p inner join inserted i CAP TULO 3 INFORM TICA 3 On p CodProduto 1 CodProduto inner join deleted d On i CodProduto d CodProduto and ii NumeroNota d NumeroNota End Note que o uso de if update nome da coluna dentro de um Gatilho de atualiza o permite descobrir se a coluna est sendo alterada ou n o Isso para evitar trabalho desnecess rio caso n o haja alguma modifica o 3 4 3 6 Um exemplo completo Vamos construir um exemplo utilizando o phpMy
49. para a interface com o usu rio isto das telas a serem exibi das pelo sistema assim como fontes cores formato e tamanho dos elementos das telas como bot es barras de menu caixas de texto etc requer o conhecimento pr vio de detalhes da estrutura em que nossa solu o ser implementada Nem sempre os diversos ambientes nos permitem trabalhar com todos esses recursos interessante definir essa interface com o usu rio e para isso geralmente usamos a t c nica de prototipagem definida no cap tulo 1 Assim montamos um pequeno prot ti po s com a tela a ser exibida e o apresentamos ao cliente para que ele tenha uma ideia de como a visualizar e de como poder interagir com as informa es que solicitou o momento ent o de definir o funcionamento de cada programa a ser criado para a implementa o da solu o Tamb m para essa tarefa existem v rias t cni cas tais como a descri o em portugu s estruturado do funcionamento de cada programa o uso de diagramas da UML diagrama de classes de sequ ncia e de m quina de estados que ser o vistos no cap tulo 4 deste livro O que deve ficar claro como o programa ser constru do para implementar a rotina definida em rela o interface com o usu rio e ao seu pr prio funcionamento a conex o com o sistema gerenciador de banco de dados e a arquitetura de hardware e software onde a solu o ser instalada Devemos definir tamb m o plano de testes a qu
50. pode estar relacionada com N ocor r ncias na entidade A No exemplo da figura 20 a 1 departamento podem per tencer N funcion rios Funcionario Pertence Departamento 3 Relacionamentos N para N Indicam que uma ocorr ncia na entidade A pode estar relacionada a N ocorr n cias na entidade B e que uma ocorr ncia na entidade B pode estar relacionada a N ocorr ncias na entidade A No exemplo da figura 21 podemos observar que um cliente compra N produtos e que um produto pode ser comprado por N clientes Cliente O relacionamento N para N possui uma caracter stica especial Tamb m cha mado de relacionamento com campos sua implementa o exige a inclus o de atributos pelo menos na chave prim ria de cada uma das entidades envolvidas e chave prim ria Quando acontece a implementa o do modelo f sico este relacionamento se torna uma tabela como mostra a figura 22 Cliente Produto cod Cliente quantidade cod_Produto valor Unitario amp codigo nome codigo nome Resumindo e Cliente tem os atributos codigo e nome codigo a chave prim ria e Produto tamb m tem os atributos codigo e nome tendo codigo como chave prim ria e Compra tem os atributos cod produto cod cliente que formam a chave rim ria al m dos atributos quantidade e valor unitario q 4 Relacionamentos 1 para 1 Indicam que uma ocorr ncia da entidade A pode estar rela
51. por um descriti vo Existem v rias propostas sobre como deve ser este descritivo A que apresentaremos aqui prop e divis es nome atores envolvidos pr condi es fluxo b sico e extens es Nome o nome do caso de uso geralmente iniciando por um verbo Atores envolvidos listar os atores e os pap is executados por eles no atual caso de uso Pr condi es descrever o que necess rio para que se inicie a execu o do caso de uso Fluxo b sico os passos a serem seguidos para a finaliza o correta do caso de uso Extens es outras possibilidades de execu o Observa es qualquer informa o necess ria para ajudar a compreender o funcionamento do caso de uso Agora vamos a um exemplo do caso de uso Registrar compra produtos Veja Nome Registrar compra produtos Atores envolvidos e Funcion rio ator que far o registro da compra no sistema e Cliente o cliente o qual a compra ser registrada Pr condi es e Produto deve estar cadastrado e Cart o deve ser v lido e Funcion rio deve ter acesso ao sistema Funcion rio deve saber seu login e senha e A data e hora do sistema est o corretos Fluxo b sico e Cliente chega para O funcion rio com o produto e o cart o para registrar a compra e Funcion rio recebe o cart o e o produto a ser registrado Funcion rio faz o login no sistema e Funcion rio escolhe a op o de registro de compras no sistema e Funcion rio p
52. prim ria composta isto com mais de um atributo est em 2a Forma Normal CAP TULO 2 INFORM TICA 3 Vemos agora que nem todos os atributos dependem da chave prim ria O que n o permitido pela Segunda Forma Normal Para que essa entidade fique em 2NF teremos de desmembr la Ela ficar assim Compra nro nf cod fornecedor data valor total nota Tendo como chave prim ria os atributos nro nf cod fornecedor e como chave estrangeira o atributo cod fornecedor Item compra nro nf cod produto quantidade vl unitario Tendo como chave prim ria os atributos nro nf e cod produto e como chaves estrangeiras os atributos nro nfe cod produto Produto codigo nome Tendo como chave prim ria o atributo codigo Terceira Forma Normal 3NF Uma entidade est em Terceira Forma Normal se e somente estiver em Primeira e em Segunda Forma Normal e todos os atributos n o chave dependerem fun cionalmente da chave prim ria Exemplo Pedido nro pedido data cod clientejnome cliente email cliente valor total pedido Vamos verificar a depend ncia funcional dos atributos nro pedido gt data nro pedido gt cod cliente nro pedido gt valor total pedido cod cliente gt nome cliente cod cliente gt email cliente Verificamos que os atributos nome cliente e email cliente n o s o dependentes da chave prim ria e sim do atributo cod cliente Ser necess rio ent o desmem brar a entidade pedido Pedido nro pedi
53. se assim de que este esteja selecionado Clique em OK para fechar a lista de op es Ao selecionar um banco de dados ser o habilitadas as por es de otimiza o e recupera o de espa o Aceite as configura es sugeridas e clique no bot o Next para seguir para a pr xima etapa do assistente Agora podemos definir uma s rie de configura es a respeito da otimiza o dos ndices e das p ginas de dados do banco de dados Nesta fase voc tem tr s listas de op es Na primeira poder ver quais bancos de dados ser o inclu dos no plano de manuten o para terem os ndices de suas tabelas e views desfragmen tados Abra a primeira lista Database s e selecione somente o banco de dados AdventureWorks Na segunda lista Object selecione a op o Table para oti mizar somente os ndices das tabelas a op o View para otimizar somente os ndices das views ou a op o Tables and Views para otimizar tanto os ndices das tabelas quanto das views Selecione agora Tables and Views Automatica mente ser o selecionadas todas as tabelas e views Se voc selecionar uma op o individual como por exemplo Table na terceira lista poder marcar somente determinadas tabelas para otimiza o de ndices Com as op es selecionadas sua janela deve ficar semelhante que mostramos na figura 44 F himana Pan Wira Dehni dilip irab iak Cortgute od PuPe E l aE a taahaist Epot daah ici T sbie ar Vigen
54. sistema paralisam atividades de outros programas ainda subordinados a arquivos vis o de usu rio inexistente integridade e seguran a s o fracas 3 1 2 Abordagem de sistemas integrados Elmasri 1999 diz ainda que por causa das defici ncias da abordagem anterior criou se por volta de 1980 uma nova a de sistemas integrados a qual pretendia resolver as quest es de redund ncia e integridade de informa es trazendo uma vis o corporativa de sistemas Ela se vale da percep o de que existem conjuntos de arquivos de dados de interesse comum s v rias reas de uma organiza o ou seja de que n o precisamos redigitar informa es que j foram digitadas por outros usu rios de outros departamentos ou usu rios de outros sistemas A integra o entre os sistemas mant m um grau acentuado de unicidade da informa o dentro dos sistemas da organiza o Assim tal abordagem eliminou a redund ncia de dados que caracteriza a anterior Aqui os sistemas passam a utilizar uma nica base de informa es sem a repeti o de arquivos por sistema Os sistemas desenvolvidos dessa maneira iniciaram a integra o no universo corporativo ficando dependentes uns dos outros por utilizarem a mesma base de dados Assim altera es em qualquer arquivo de dados implicavam modi fica es em programas de mais de um dos sistemas que acessavam a mesma base em virtude de utilizar linguagens de alta depend ncia de dados figura
55. todos do carro podemos definir como andar parar acelerar entre outros Pensando em responsabilidades podemos dizer que o carro tem a responsabi lidade de obedecer aos comandos de seu piloto conduzindo o na velocidade e pelo caminho que ele escolheu acelerando e freando de acordo com o que foi sinalizado figura 92 4 1 3 1 Intera o entre objetos Agora que n s j definimos e diferenciamos classes e objetos precisamos saber como os objetos interagem entre si De acordo com o paradigma de orienta o a objetos isso ocorre por meio de trocas de mensagens Para entendermos como essas trocas funcionam estudemos mais alguns conceitos 4 1 3 2 Mensagem Segundo Booch Rumbaugh e Jacobson 2005 mensagens s o a especifica o de uma comunica o entre objetos que cont m informa es espera da atividade que acontecer isto as informa es trocadas entre os objetos para que executem as fun es necess rias para o funcionamento do sistema Para seguir adiante pre cisamos compreender tamb m certas caracter sticas das classes Vejamos Encapsulamento Propriedade de uma classe de restringir o acesso a seus atributos e m todos A possibilidade de definir reas p blicas e privadas em sua implementa o garante mais seguran a ao c digo criado j que podemos definir os par metros de entrada e sa da de um m todo sem re velar como ele implementado Visibilidade Existem quatro tipos de visibilidade
56. uma tabela carregando todos os seus atributos Cada atributo vira um campo da tabela A chave prim ria e as chaves candidatas s o projetadas para n o permitir ocorr ncias m ltiplas nem admitir nulos e Relacionamento 1 N a tabela cuja conectividade N carrega o identifica dor da tabela cuja conectividade 1 chave estrangeira e Relacionamento 1 N envolvendo autorrelacionamento a chave prim ria da entidade inclu da na pr pria entidade como chave estrangeira gerando uma estrutura de acesso a partir dessa chave estrangeira e Relacionamento 1 1 as tabelas envolvidas nesse relacionamento carregar o o identificador da outra uma ou outra ou ambas conforme a conveni ncia do projeto de acordo com o acesso a essas tabelas e Relacionamento 1 1 envolvendo autorrelacionamento chave prim ria da entidade inclu da na pr pria entidade chave estrangeira e cria se uma estrutura de acesso para ela e Relacionamento N N o relacionamento torna se uma tabela carregando os identificadores das tabelas que ele relaciona e os atributos do relaciona mento se houver 3 4 Administra o e gerenciamento Um banco de dados ver defini o de Sistema Gerenciador de Banco de Dados SGDB no cap tulo 2 5 10 um conjunto de objetos SQL como tabelas fun es e triggers e tem de ser bem administrado para que se possa tirar de seus recursos o m ximo proveito e com a melhor performance poss vel para cada tipo
57. 0 N e 1 N Passo 6 Definir os atributos das entidades e relacionamentos com campos e as cha ves prim ria e estrangeira se houver Para definir esses atributos temos de lembrar sempre do conceito de abstra o tentando selecionar apenas os aspectos relevantes para o escopo do problema em foco Entidades e Cartao codigo data inicio uso data fim uso o atributo c digo foi definido como chave prim ria pois precisamos ter a certeza de que n o existem dois car t es com o mesmo n mero e compartilharemos a responsabilidade dessa confe r ncia com o sistema gerenciador de banco de dados e Produto codigo nome preco venda saldo estoque minimo o atributo c digo chave prim ria pois assim fica mais f cil fazer o controle para impe dir que o valor deste atributo codigo se repita e Funcionario codigo nome funcao com o atributo codigo como chave prim ria e Fornecedor codigo nome rua complemento bairro cidade estado cep contato telefone celular o atributo codigo chave prim ria Relacionamentos com campos Devemos nos lembrar de que um relacionamento com campos deve conter pelo menos as chaves prim rias das entidades envolvidas Eles podem conter outros atributos e Compra numero data forma pagamento codigo produto codigo cartao quantidade valor unitario valor total compra Aqui as chaves prim rias s o os atributos numero codigo cartao e codigo produto e as chaves estran geiras os atributos codigo cartao
58. 3 Figura 97 As duas formas de representar uma Interface 4 2 1 Conceitos da estrutura da UML Basicamente a UML formada por tr s componentes blocos de constru o regras que restringem como os blocos de constru o podem ser associa dos entre si e mecanismos de uso geral que d o mais clareza s defini es criadas pelos blocos de constru o Estes por sua vez s o de tr s tipos itens relacionamentos e diagramas e Itens Os itens s o a base da UML as abstra es J os relacionamentos s o as rela es entre os itens enquanto os diagramas agrupam itens e rela es per mitindo a an lise de um dos aspectos da solu o a ser criada Tamb m h diferentes tipos de itens que s o divididos em quatro grupos estruturais comportamentais de agrupamento e anotacionais Vamos estudar a seguir cada um dos grupos e Itens estruturais Itens estruturais nos permitem definir a estrutura da solu o S o formados pelas classes as interfaces as colabora es os casos de uso os componentes os artefatos e os n s Para come ar vamos a uma breve defini o de cada um desses elementos que mais adiante ser o aprofundados para mostrar como funcionam e explicar por meio de um diagrama onde s o utilizados Empregaremos tam b m as defini es j descritas no t pico sobre orienta o a objetos desse livro que deve ser consultado caso haja necessidade de uma revis o Apresentaremos tamb m a not
59. Admin com o banco de dados MySQL Primeiro vamos criar um banco de dados chamado ERP onde arma zenaremos as tabelas referentes ao nosso sistema de gest o empresarial Para criar esse banco de dados devemos utilizar a seguinte instru o CREATE DATABASE erp Na figura 67 mostramos como ser a instru o utilizando o phpMyAdmin O resultado o sucesso da instru o como se pode observar na figura 68 Agora vamos criar uma tabela de clientes Para isso utilizaremos a seguinte instru o CREATE TABLE Cliente codigo int 7 nome varchar 40 endereco varchar 40 Na figura 69 mostramos como ser a instru o utilizando o phpMyAdmin Podemos observar o sucesso da instru o na figura 70 Figura 67 Usando o gt F pele dei Wianhonaes Internet Ex parer z phpMyAdmin E iNT Hoahoa soci Amir Ee queridos php rg pr utt B8cor nerse 33 55 a i e Eira SS SOL Talmportar arquivos Hist rico de consultas Rodar consulta 5 SOL no senador localhost M N o sobrescrever esta consulta fora desta janela Delimiadores F Mostrar esta consulta SOL novamente CCE eee ia ie ha F p piip dr n 2 10 7 Bl agrada k rae F bH igenem am ag a meii m a bRO ii i Te rd Fi Esso PP i r Bi E peria ra i um D F LEE a Pr E ide eera 2 a e ES E o De cias piain oa aa ha TE at a ereraa tams mom p oe uses O tap toa red uesa remah m o m T A Fa a jiran comi em bico e ama da YA
60. BM Mathematical FORmula TRANslation System Sistema de Tradu o de F rmula Matem tica da IBM familia desenvolvida a partir dos anos 1950 Usada principalmente em Ci ncia da Computa o e An lise Num rica foi a primeira linguagem de programa o imperativa criada para o IBM 704 entre 1954 1957 por uma equipe chefiada por John W Backus Basic sigla para Beginners All purpose Symbolic Instruction Code C digo de Instru o Simb lico para Todos os Prop sitos Quarta 4GL A linguagem SQL Structured Query Language ou Linguagem de Consulta Estruturada tornou se t o popular que passou a representar toda a quarta gera o Ainda hoje bastante utilizada como linguagem de manipula o e consulta de banco de dados como o SQL Server da Microsoft Oracle Data base da Oracle e MySQL da Sun A principal caracter stica das linguagens de quarta gera o descrever o que deve ser feito permitindo ao programador visar um resultado imediato S o consideradas capazes de por si s s gerar c digos ou seja os RADs Rapid Application Development ou Desenvolvimento R pido de Aplica o com os quais podem ser criadas aplica es mesmo sem se especializar na linguagem Tamb m nesse grupo est o as linguagens orientadas a objetos Quinta 5GL quinta gera o ainda est pouco desenvolvida e engloba as linguagens para intelig ncia artificial Sua maior representante a LISP nome originado da express o LISt
61. EXISTS nome_banco_de_dados Aten o se n o especificarmos IF NOT EXISTS e o banco de dados j existir ocorrer um erro Exemplo utilizando o MYADMIN No exemplo criaremos um banco de dados com o nome banco_teste como mostra a figura 47 CREATE DATABASE banco teste Digitamos a instru o e clicamos no bot o executar para obter o retorno do myadmin apresentado na figura 48 E N o sobrescrever esta consulta fora desta janela E Em TE ram n e phpi yidiin 2 703 DE rgia do mao DU eg rig md o rms bE i b YEE H o IE Eee rF sain mar Ea nE sa RE O custas Dei UE UT a a Tuma dito EG E D ciem my cremes qm di FTE a D qe men Bea a andem A pm t f Ema h m i Prii sm rma e e m r Eisa s re E ss E ore see om eg di g E brair Cio mad a OR mgp uga in Gastos paai F T z Dra e a ea E E pmpa CAP TULO 3 e Instru o CREATE TABLE Como sugere o nome usada para criar tabelas Aten o para sintaxe CREATE TABLE Nome_Tabela Nom_Coluna_1 Tipo CONSTRAINT PRIMARY KEY NOT NULL Nom Coluna n Tipo CONSTRAINT PRIMARY KEY NOT NULL Exemplo CREATE TABLE Cliente codigo int 7 nome varchar 40 endereco var char 40 Observe a figura 49 Devemos clicar no bot o executar para ter o resultado da cria o da tabela que aparece na figura 50 Podemos verificar no lado esquerdo da tela que agora nosso banco de dados banco teste possui uma tabela e Cl usula
62. INSERT O comando INSERT insere linhas em uma tabela e sua forma mais simples somente uma linha de dados A sua sintaxe INSERT INTO nome tabela colunas VALUES valores Figura 49 Criando uma tabela mma a mer area os Dj rr INFORM TICA 3 Figura 50 A tabela criada SEE se a mm ja a mmmn dp einen ses none pr Ea qua o a da des pg o lt RL o O LE Onde Nome tabela o nome da tabela em que se deseja incluir os dados Colunas parte da tabela onde se deseja acrescentar os dados Valores o conte do de cada coluna Exemplo no MYSQL INSERT INTO Cliente codigo nome endereco VALUES 123 WILSON CAIXA POSTAL 155 ITU Como ilustra a figura 51 Figura 51 Uso do INSERT Com esta instru o iremos incluir um registro como mostra a figura 52 Para verificar a inclus o utiliza se a instru o SELECT conforme mostra a figura 53 Select from cliente E teremos o resultado mostrado na figura 54 na qual aparece listado somente o cliente Wilson premiere di Motas Ni jo o m E Emote FEET ueeenee raent mete pe EE e r passi E nS oae e m lt OS me cas Comes q feno ae ney a feno ce tenan enem i mai a EE EE A e Cl usula UPDATE Conforme Oliveira 2001 a cl usula UPDATE tem a finalidade de alterar campos de um conjunto de registros Ou seja para modificarmos uma ou mais linh
63. Janeiro Campus 2000 ELMASRI S N NAVATHE B S Sistemas de Banco de Dados Fundamentos e Aplica es 32 edi o Rio de Janeiro Livros T cnicos e Cient ficos 2002 ELMASRI S N NAVATHE B S Sistemas de Banco de Dados 4 edi o S o Paulo Pearson Education 2005 FOWLER Chad The Passionate Programmer Creating a Remarkable Career in Software Development 2009 KORTH Henry F e SILBERSCHATZ Sistemas de Bancos de Dados Ed Mc Graw Hill SP 22 edi o revisada 1995 MACHADO F N R ABREU M Projeto de Banco de Dados Uma Vis o Pr tica 2 edi o S o Paulo Editora rica 1996 OLIVEIRA J Wilson Oracle 8i PL SQL 12 edi o Santa Catarina Editora Visual Books 2000 OLIVEIRA J Wilson SQL Server 7 com Delphi 1 edi o Santa Catarina Editora Visual Books 2001 ORTT Dubinsky Yael Hazzan Agile Software Engineering 1 edi o Springer 2008 Project Management Body of Knowledge PmBok 32 edi o 2004 INFORM TICA 3 PRESSMAN Roger S Engenharia de Software S o Paulo Pearson 2006 SILBERSCHATZ Abraham KORTH H F SUDARSHAN S Sistema de Banco de Dados 3 edi o S o Paulo Makron Books 1999 SOMMERVILLE lan Engenharia de Software S o Paulo Pearson 2004 SWEBOK Software Engineering Body of Knowledge 2004 LARMAN C Utilizando UML e Padr es 32 edi o Bookman 2007 WELLING L THOMSON L Tutorial MySQL 1 edi o Rio de Ja
64. Mas sua imple menta o plena ainda est por vir pois ainda hoje s o v rias as dificuldades no 1969 1970 1983 Alan Curtis Kay apresenta sua tese de doutorado intitulada The Reative Engine na Universidade de Utah na qual prop e uma linguagem Flex que cont m conceitos de orienta o a objetos AP PHOTO IMAGEPLUS Curtis Kay lan ada a linguagem de programa o Smalltalk desenvolvida no centro de pesquisas da Xerox em Palo Alto Estados Unidos Essa foi por muito tempo a nica linguagem 100 orientada a objetos 1980 Surge a linguagem de programa o que tamb m pode ser orientada a objetos 1983 Jean Ichbiah cria a linguagem ADA a pedido do Departamento Alan de Defesa dos Estados Unidos tamb m orientada a objetos CAP TULO 4 INFORM TICA 3 DIVULGA O 1985 1989 Bertrand Meyer caminho H limita es de hardware que se relacionam a problemas de acesso e armazenamento de dados e de software relativas a processos do sistema opera cional e a falta de sistemas gerenciadores de banco de dados orientados a objetos 4 1 1 Abstra o E caracter stica essencial de uma entidade que a diferencia de todos os outros tipos de entidades Uma abstra o define uma fronteira relativa perspectiva do observador segundo Booch Rumbaugh e Jacobson 2005 Como j dissemos anteriormente abstra o a capacidade de fixar a aten o apenas nos detalhes re
65. N o N o N o N o N o codigo INTEGER NOT NULL PRIMARY KEY valor total DECIMAL 10 2 Sim N o N o N o N o pd dt inicio uso DATE NOT NULL compra os valores i dosten de dt_fim_uso DATE itemcompra para esta do na T compra cod func INTEGER Sim N o N o Sim N o Funcion rio CREATE TABLE Produto Rea deve ser codigo INTEGER NOT NULL PRIMARY KEY cadastrado nome VARCHAR 40 NOT NULL preco venda DECIMAL 10 2 NOT NULL saldo DECIMAL 10 2 NOT NULL nome tipo de tamanho obrigatorio unico chave chave valor regra de estoque minimo DECIMAL 10 2 NOT NULL dados 7 primaria estrangeira default validacao ums o INTEGER q 7 mo SD Sm CN Na N amp cod produto INTEGER 5 Sim N o Sim Sim N o Produto ja CREATE TABLE Funcionario deve ser codigo INTEGER NOT NULL PRIMARY KEY nome VARCHAR 50 NOT NULL cadastrado gllantidade DEGIMAL 52 Sim N o N o N o N o N o uno NORO Ia bh GO INDL NUL valor unitario DECIMAL 10 2 Sim N o N o N o gt N o Valordo 7 7 e r Pe CREATE TABLE Fornecedor POET codigo INTEGER NOT NULL PRIMARY KEY quando da nome VARCHAR 50 NOT NULL inclus o da rua VARCHAR 50 NOT NULL nota INFORM TICA 3 complemento VARCHAR 50 bairro VARCHAR 40 cidade VARCHAR 40 NOT NULL estado VARCHAR 2 NOT NULL cep VARCHAR 8 NOT NULL telefone VARCHAR 10 celular VARCHAR 10 CREATE
66. Processing Processamento em Lista j que a lista a sua es trutura de dados fundamental Para desenvolver um software pode se utilizar uma gera o de linguagem ou um conjunto delas Entretanto o melhor resultado no projeto final obtido quando se vence o desafio de adequar a programa o aos sistemas de informa o de diversas reas do conhecimento de Iniciantes criada com fins did ticos pelos professores John George Kemeny e Thomas Eugene Kurtz em 1964 no Dartmouth College Tamb m o nome gen rico de uma extensa familia de linguagens de programa o derivadas do Basic original C compilada estruturada imperativa processual de alto nivel e padronizada Foi criada em 1972 por Dennis Ritchie no AT amp T Bell Labs como base para o desenvolvimento do sistema operacional UNIX escrito em Assembly originalmente C de alto n vel com facilidades para o uso em baixo n vel multiparadigma e de uso geral Desde os anos 1990 uma das linguagens comerciais mais populares mas disseminada tamb m na academia por seu grande desempenho e base de utilizadores Foi desenvolvida por Bjarne Stroustrup primeiramente com o nome C with Classes que significa C com classes em portugu s em 1983 no Bell Labs como um adicional linguagem C CAP TULO INFORM TICA 3 Roger S Pressman reconhecido internacionalmente como uma das maiores autoridades em engenharia de softwares Trabalha como dese
67. R TI PE dd E EAT e CO Ce o cego mem eg co Ci TT EGO ESTO ad PORTE JO Observe a figura 63 O resultado da inclus o aparece na figura 64 Agora fa amos um select para verificar os registros inclu dos Select from clien te figura 65 Teremos o que aparece na figura 66 3 4 3 4 Views Vis es Uma vis o VIEW uma forma alternativa de olhar os dados de uma ou mais tabelas Para definir uma vis o usa se um comando SELECT que faz uma con sulta sobre as tabelas A vis o aparece depois como se fosse uma tabela Uma view como uma janela que d acesso aos dados da tabela mas com res tri es Tem no entanto uma s rie de vantagens e Uma vis o pode restringir quais colunas da tabela podem ser acessadas para leitura ou modifica o o que til no caso de controle de acesso e Uma consulta SELECT usada muito frequentemente pode ser criada como vis o Com isso a cada vez que necess rio fazer uma consulta basta selecio nar dados da vis o e Vis es podem conter valores calculados ou valores de resumo o que simpli fica a opera o ERrE ooO Oo O E E e a E il om Ti o OO rer a E a r a e arr Te F oO o E e E E Er TE e bi E cn E dee eeraa j bea ir Era bem pato dog ra rio E To Tiro Tom To DZ T T E a Co O SS O P Fima amenas B RETE mehu n Em ka pf herie nmr a j bem h Dim n mmia p Pi e s O Si E a E p herie na a p bee h e a m a p T er E
68. View Criar Consulta e Create SP Criar Stored Procedure e Create Default Criar Default e Create Rule Criar Regra e Create Function Criar Fun o e Backup DB Backup do Banco de Dados e Backup Log Backup do Log de transa es Para atribuir as permiss es utilizamos o comando GRANT com a seguinte sintaxe GRANT ALL statement n TO security account n Agora vamos exemplificar a utiliza o do comando GRANT Exemplo 1 Garantir para o login SERVIDORIwilson a permiss o de criar novos bancos de dados USE Master GRANT CREATE DATABASE TO SERVIDORIwilson Usamos primeiro o comando USE Master para tornar o Banco de Dados Master o banco atual pois isto condi o para que o sistema permita a cria o de novos bancos de dados Na pr tica ao criar um banco de dados o usu rio precisa gravar os dados nas tabelas do Banco de Dados Master que concentra as informa es sobre todo o conte do de uma inst ncia do SOL Server Quando o login for um usu rio do dom nio do Windows o nome deve vir entre colchetes como no exemplo SERVIDORlwilson Podemos atribuir mais do que uma permiss o ao mesmo tempo para um ou mais logins ou usu rios Exemplo 2 Atribuir as permiss es CREATE TABLE CREATE RULE e CREATE VIEW para o usu rio SERVIDORlwilson no banco de dados Exemploa USE Exemplos GRANT CREATE TABLE CREATE RULE CREATE VIEW TO SERVIDORIwilson Exemplo 3 At
69. a o gr fica da UML de cada componente definido Classes s o os elementos b sicos da orienta o a objetos e consequentemente da UML A classe j foi definida no t pico que trata dos conceitos de orienta o a objetos no qual voc encontra inclusive sua nota o na UML Interfaces s o as funcionalidades a serem implementadas por uma classe ou por um componente Demonstram o comportamento vis vel de uma classe mas nunca a implementa o de tal comportamento pois cont m apenas a assinatura dos m todos e sua implementa o feita pelas classes que herdam seu compor tamento Servem para definir comportamentos padronizados para conjuntos de classes e itens As interfaces s o representadas por um c rculo quando se trata da interface de uma classe item ou por um arco no caso da interface requerida lt lt interface gt gt iConex o O abrir void testar void fechar void iConex o Conex o e abrir void _ testar void iConex o fechar void iEntrada por uma classe item Ambas aparecem ligadas por uma linha classe que as implementa figura 97 Existem ent o duas formas de representar uma interface em UML A primei ra utiliza o recurso do estere tipo lt lt interface gt gt para enfatizar que se trata de uma interface e mostra as assinaturas dos m todos que s o definidos por ela A segunda forma a representa o da int
70. a 104 M quina de estados especifica os diversos estados pelo qual pode passar um objeto ou uma intera o em seu ciclo de vida Sua defini o inclui outros com ponentes como estados transi es eventos e atividades Em UML representa da por um ret ngulo com os v rtices arredondados figura 105 solicita Senha Ds Atividade um comportamento que especifica a sequ ncia de etapas realizadas por um processo computacional E representada em UML por um ret ngulo de v rtices arredondados figura 106 imprimir Nota Fiscal Itens de agrupamento Servem para agrupar os demais itens da UML ordenando os em blocos de modo a possibilitar melhor organiza o do projeto E composto apenas pelo item pacote Pacote permite a inclus o de itens em seu interior para organizar o projeto tornando o modular e mais organizado conceitual n o existindo em tempo de execu o representado por uma pasta que pode receber apenas seu nome ou a visualiza o dos itens que a comp em figura 107 e tem anotacional E o componente que permite a inser o de coment rios nos modelos tornando os mais claros e intelig veis E composto apenas pelo item nota Nota tem como objetivo inserir coment rios em um modelo para deix lo mais compeens vel representado por um ret ngulo com a ponta superior direita dobrada para dentro Em seu interior s o inseridos os coment rios pertinentes ao que se quer explicar
71. a Normal pois todos os seus atributos s o at micos Verificando a depend ncia funcional da entidade compra temos numero codigo cartao cod produto gt data numero codigo cartao cod produto gt forma Pagto numero cod produto gt quantidade numero cod produto gt valor unitario Nem todos os atributos dependem da chave prim ria ent o para deixar a entidade compra em Segunda Forma Normal devemos desmembr la com pra e ItemCompra assim Compra numero cod cartao data valor total compra forma pagto E com a chave prim ria contendo o atributo numero e a chave estrangeira cod cartao ItemCompra numero cod produto quantidade valor unitario Com chave prim ria contendo os atributos numero e cod produto e como cha ves estrangeiras os atributos numero e cod produto e entidade Compra encontra se em Segunda Forma Normal e A entidade ItemCompra encontra se em Segunda Forma Normal e entidade Compra encontra se em Terceira Forma Normal pois como vi mos na verifica o da depend ncia funcional todos os atributos n o chave dependem da chave e A entidade Compra est na Forma Normal Boyce Codd pois todos os atri butos n o chave dependem unicamente da chave prim ria e entidade ItemCompra est na forma normal Boyce Codd pois todos os atributos n o chave dependem unicamente da chave prim ria Entidade fornece Fornece numero nota data codigo fornecedor codigo produto quantidade valor uni
72. a computadores era o a Es E E sera circuitos Integrados e conserva o minima com menos pot ncia em rela o a 1971 1987 larga escala E e alta densidade de componentes computadores de outras gera es e maior densidade de a Semp ndintEs e maior complexidade 5 gera o transdutores e circuitos e reduzido tamanho 1987 atual lel E ainda muito caros em paralelo auto regenera o grande fiabilidade e velocidade multiprocessamento INFORM TICA 3 O Swebok Software Engineering Body of Knowledge traduzido por reas do Conhecimento da Engenharia de Software uma iniciativa da Sociedade da Computa o do Instituto de Engenharia El trica e Eletr nica IEEE Computer Society com o prop sito de criar um consenso sobre as reas de conhecimento da engenharia de software Publicado em 2004 contou com a participa o da ind stria internacional de sociedades de profissionais da academia e de diversos autores consagrados 3 Gera es de linguagem de programa o E importante conhecer as gera es de linguagens de programa o para enten der bem o contexto atual SWEBOK 2004 Primeira IGL primeira gera o de programa o utiliza apenas linguagem de m quina ou seja o sistema bin rio de O zero e 1 um para o desenvolvimento dos softwa res Sua desvantagem ser pouco intuitiva pois n o utiliza linguagens mais so fisticadas que permitem a portabilidade do prog
73. a de modifica o do banco de dados o que fornece um alto n vel de seguran a da integridade de informa es no banco de dados Regra n mero 6 Atualiza o de vis o Todas as vis es de dados que s o teoricamente atualiz veis s o tamb m atualiz veis pelo sistema Atualizar significa mais do que simplesmente modificar a informa o abrange tamb m a inclus o e ou exclus o de dados Por exemplo se definimos uma vis o de dados como um subconjunto horizontal de uma tabela deve ser pos s vel adicionar dados a essa vis o Consideremos uma tabela de funcion rios e que haja vis es de funcion rios t cnicos funcion rias secret rias e funcion rios administrativos Atualizar uma dessas vis es quer dizer entre outras possibi lidades adicionar dados para a inclus o de uma secret ria ou de um t cnico Outro exemplo seria criar uma vis o de uma tabela de m dicos por especiali dade digamos cem m dicos em uma tabela dos quais trinta s o especializados em pediatria Ao criarmos a vis o Pediatras uma sele o de linhas que conter somente os m dicos com esta especialidade cria se no dicion rio de dados um sin nimo de m dico denominado Pediatra que tem como condi o para esse role literalmente papel o valor da coluna especialidade ser igual a pediatria Esta vis o deve ter a possibilidade de ser deletada Se comandarmos DELETAR PEDIATRIA ou ALTERAR um pediatra espec fico tais atualiza es devem ser rea
74. a fase voc definir quais tarefas integrar o o plano Por padr o todas as tarefas j v m selecionadas S o elas Chek database integrity Shrink database Defragment index es Re index Update statistics History cleanup Launxh SQL Server agent job Backup database full Backup database Differential e Backup database Transaction Log Mantenha todas as op es marcadas com exce o de Backup database Differential Clique ent o em Next 8 Agora voc definir a ordem de execu o das tarefas Para alterar a ordem marque uma determinada tarefa e depois clique no bot o Move up para mov la para cima na lista ou Move down para mov la para baixo na lista N o vamos alterar a ordem sugerida Assim clique novamente em Next e passemos fase seguinte 9 Abra a lista Select one or more Aparecer o diversas op es Nesta etapa po demos definir se o plano de manuten o incluir todos os Bancos de Dados da Inst ncia All databases ou apenas os do sistema All system databases master model and msdb E ainda se incluir todos os Bancos de Dados do Usu rio All user databases all databases other than master model and msdb ou apenas os selecionados These specific databases A op o These CAP TULO 3 Figura 43 A tela Inicial do assistente TAREFAS QUE OS JOBS CRIADOS PELO DATABASE MAINTENANCE PLAN WIZARD PODEM EXECUTAR e Reorganizar os dados nas p ginas de dados e indices por meio da re
75. a l gica dos dados que acessam 3 2 2 Inst ncias e esquemas Os bancos de dados se alteram ao longo do tempo medida que informa es s o inseridas ou deletadas O conjunto de dados armazenados em determinado momento conhecido como inst ncia do banco de dados J o projeto do banco de dados chamado de esquema de banco de dados DATE 2000 Segundo Korth 1995 o conceito de um esquema de banco de dados corres ponde no o de defini o de tipo na linguagem de programa o Uma vari vel de um dado tipo tem um valor particular em um determinado instante de tem po Assim o conceito de valor de uma vari vel na linguagem de programa o corresponde ao conceito de uma inst ncia de um esquema de banco de dados Ainda de acordo com Korth 1995 os sistemas de bancos de dados possuem diversos esquemas subdivididos de acordo com os n veis de abstra o descritos anteriormente No n vel mais baixo est o esquema f sico no intermedi rio o esquema conceitual e no mais alto um subesquema Em geral os sistemas de bancos de dados suportam um esquema f sico um esquema conceitual e diver sos subesquemas 3 2 3 Independ ncia de dados Independ ncia de dados a habilidade de modificar a defini o de um esquema em um n vel sem afetar sua defini o de esquema em um outro n vel mais alto Essa independ ncia constitui o principal objetivo a ser alcan ado no desenvolvimento de um banco de dados
76. a situa o num diagrama de componentes Podemos aproveitar e definir as interfaces de entrada e sa da da balan a e deix Figura 122 las documentadas nesse diagrama Diagrama de gr fico de estados Produto recebeProduto Varia o do atributo situa o quantidadeEstoque quantidadeEntrada gt pontoEncomenda recebeProduto quantidadeEstoque quantidadeEntrada gt pontoEncomenda pagaCompra quantidadeEstoque lt pontoEncomenda pagaCompra quantidadeEstoque 0 recebeProduto quantidadeEstoque lt pontoEncomenda INFORM TICA 3 CAP TULO 4 um sistema gerenciador de banco de dados um servidor de aplica o ou quais quer outros softwares que integrem a estrutura da aplica o Possuem um nome prod Produto pe ps e podem receber um estere tipo Um n representado por um cubo Os n s codigo executam os artefatos descricao Leite Tipo A quantidadeEstoque 38 Rosa Artefatos s o os elementos executados pelos n s geralmente os programas da cart Cartao nroCartao 123 datainicioUso 23 12 2008 a e estoqueMinimo 30 00 solu o criada Possuem um nome e podem possuir um estere tipo situacao Os relacionamentos s o utilizados para representar o tipo de liga o entre os componentes do diagrama Podem possuir estere tipos Veja que na figura 125 demonstramos em detalhes a arquitetura da solu o proposta comp Compra it
77. acontecem de modo a podermos definir as trocas de mensagens e os m todos que as controlam O in cio da transi o representado por um c rculo preenchido e o final por um c rculo preenchido por m com um aro pintado de branco Utilizaremos como exemplo a classe Produto do estudo de caso da padaria do senhor Jo o que pode assumir tr s estados diferentes 1 Ativo 2 Ponto de en comenda e 3 Em falta Esses valores s o aplicados ao atributo situa o quando a execu o do caso de uso Registrar pagamento compra ou do caso de uso Regis trar entrada de produtos veja figura 122 Funcionario Sistema Verificar Login Senha login v lido Verificar Cart o do Cliente login inv lido Logar no Sistema Solicitar cart o do Cliente Passar c digo de Barra do Verificar cart o do cart o inv lido ELENCA i a cliente do Produto Produto cart o valido A n o existe Passar c digo de Barra de Produto Verificar Digitar a Saldo do quantidade Produto ItemCompra comprada elo ail n o possui saldo suficiente E saldo suficiente n o existe d Atualizar total da compra T 2 Terminar registro do Produto existe CAP TULO 4 Figura 120 Diagrama de atividades do caso de uso Registrar compra produtos INFORM TICA 3 Classes de Projeto GUI l Loguin paii FManutencaoFornece Haia Figura 121 Diagrama de pac
78. ado usu rio utiliza uma aplica o que acessa o banco de dados no servidor SQL Server e deve ter permiss o somente de leitura de dados de uma determinada tabela o incluiremos em um role com permiss o SELECT na tabela e pronto ele apenas poder consultar os dados seguir confira quais s o as principais permiss es a objetos SELECT Tabelas views e colunas INSERT Tabelas e views DELETE Tabelas e views UPDATE Tabelas views e colunas EXECUTE Stored procedures REFERENCES Tabelas e colunas Tamb m para atribuir permiss es de objetos do banco de dados devemos uti lizar o comando GRANT Nesse caso a sintaxe do comando GRANT essa GRANT ALL PRIVILEGES permission n 3 column n ON table view ON table view column n ON stored_procedure extended_procedure ON fuser defined function 3 TO security account n WITH GRANT OPTION AS fgroup role CAP TULO 3 Como a sintaxe completa n o nada simples vamos recorrer a alguns exemplos para ilustrar a utiliza o do comando GRANT Lembre se de que podemos atribuir mais do que uma permiss o ao mesmo tempo para um ou mais logins ou usu rios como mostra o exemplo 2 Exemplo 1 Para garantir ao usu rio SERVIDORIwilson a permiss o de selecionar novos registros e atualizar os registros existentes na tabela Clientes do Banco de Dados Exemploa Use Exemplos GRANT SELECT UPDATE ON Clientes TO
79. ados Exemplo Dada a entidade funcionario definida com os atributos abaixo Funcionario codigo nome data admissao data demissao habilidades Vemos que a entidade funcionario possui o campo multivalorado habilidades o que n o permitido pela Primeira Forma Normal Devemos ent o dividir a ta bela funcionario de forma que o campo habilidades se torne uma nova entidade Ent o teremos Funcionario codigo nome data admissao data demissao Possui cod funcionario cod habilidade Habilidade codigo descricao Exemplo Fornecedor codigo nome endereco telefones Vemos que a entidade fornecedor tem como atributo composto endereco e como atributo multivalorado telefones Em rela o ao atributo composto endereco sabemos que o mesmo compos to pois nele pressup e se incluir as informa es de rua complemento bairro cidade estado e CEP Ou substitu mos o atributo endereco por seus atributos componentes rua complemento bairro cidade estado e CEP ou criamos uma outra entidade com o nome do atributo composto endereco tendo como atri butos dessa nova entidade rua complemento bairro cidade estado e CEP J o campo telefones por estar no plural indica que nele poder ser armazenado mais de um n mero Pela regra esse atributo precisa ser separado em outra entidade que pode ser chamada de telefone e que conter os diversos n meros de telefone do fornecedor Assim temos Fornecedor codigo nome rua complemento bairro
80. amento CAP TULO Figura 10 A metodologia JAD substitui as entrevistas Individuais por reuni es entre usu rios e desenvolvedores INFORM TICA 3 Lo Pela forma tradicional de desenvolvimento de software os analistas de sistemas entrevistam usu rios um ap s outro rea a rea Anotam tudo o que dito e somente em um segundo momento as informa es s o consolidadas e valida das com os entrevistados Ap s essa verifica o os dados s o compilados em um documento de an lise J ao se utilizar o JAD as entrevistas individuais s o substitu das por reuni es em grupo nas quais os envolvidos com o processo usu rios participam ativamente ao lado da equipe de desenvolvimento Quando o m todo JAD aplicado de forma correta os resultados s o exce lentes Al m de atingir o objetivo de obter informa es dos usu rios cria se um ambiente de integra o da equipe onde todos se sentem envolvidos e respons veis por encontrar solu es Esse comprometimento dos usu rios faz com que eles se sintam propriet rios do sistema e colaboradores no seu desenvolvimento gerando assim maior aceita o do software quando este for implementado AUGUST 1993 CAP TULO INFORM TICA 3 necessidade de organizar informa es acompanha a humanida de desde o in cio dos tempos O pastor representava ovelhas por meio de pedras enquanto os escribas ordenavam os textos nas es tant
81. ar um horaLancamento 1 35 sistema no qual o tempo seja um fator crucial fornecedor forn Principais componentes classes linha de tempo mensagens Criaremos um exemplo de diagrama de temporiza o para definir os tempos E 123 aceit veis para as opera es executadas pela balan a da padaria do senhor Jo o Figura 124 a nn 4 3 10 Diagrama de implanta o A balan a em quest o vai interagir com o sistema acessando os objetos da clas Diagrama de componentes de objetos Mostra a configura o dos n s de processamento em tempo de execu o e os componentes envolvidos Um diagrama de implanta o abrange a vis o est tica de implanta o de um sistema BOOCH RUMBAUGH e JACOBSON 2005 q Codigo do produto Codigo do produto Trata se de um diagrama estrutural que mostra como ser criada a estrutura SPRER EIS quantidade comparada de software e hardware onde a solu o ser implementada Podemos visua FP EESMNRSGIUNO lizar com esse diagrama toda a arquitetura da solu o desde os servidores sistemas operacionais demais softwares e servi os requeridos al m dos pro tocolos de comunica o Produto EE o Balan a Ja j itemCompra Principais componentes n s artefatos relacionamentos BalancaProduto BalancaltemCompra Os n s podem representar dispositivos computacionais como um computador ou um celular ou um recurso de computa o como um sistema operacional INFORM TICA 3 p
82. ari veis como poss vel ver no quadro abaixo que incluem do n vel de estabilidade do usu rio s exig ncias de produ o YOURDON 1995 Variaveis de Yourdon e Nivel de estabilidade do usu rio se ele inst vel ou inexperiente e n o sabe definir e projeto suas reais necessidades preciso usar uma abordagem mais radical Figura 3 O modelo evolucion rio Edward Yourdon desenvolvedor de metodologias de engenharia de software al m de autor de 25 livros sobre computadores incluindo best sellers do que 100 das etapas de an lise e Exig ncias para a produ o de cronogramas or amentos estimativas e Nivel de urg ncia na produ o de resultados tang veis e imediatos se O prazo curto por quest es pol ticas ou outras press es externas justifica se assumir uma abordagem radical Nesse caso preferivel ter 90 etc a maior parte dos grandes projetos requer estimativas de pessoal recursos de computa o e outros detalhes e tudo isso depende de levantamento e an lise Portanto quanto mais detalhadas e precisas forem as estimativas provavel que seja do sistema completo na data especificada necess ria uma abordagem conservadora CAP TULO INFORM TICA 3 Figura 4 O modelo incremental 1 5 3 Modelo incremental O modelo incremental resulta da combina o do linear em cascata com o de prot tipos evolutivo O seu desenvolvimento divid
83. aria do senhor Jo o Veja na figura 113 como ficaria um diagrama de caso de uso que representa as funcionalidades gerais a serem implementadas pelo sistema pedido Observe no diagrama que o ret ngulo no qual os casos de uso est o inseridos representa o sistema que estamos estudando Seus limites s o claros Os casos de uso representam as fun es macro que devem ser implementadas p q p pelo sistema de acordo com as solicita es do senhor Jo o Figura 112 Rela o de Generaliza o Especializa o CAP TULO 4 INFORM TICA 3 Sistema de controle da padaria do sr Jo o selo Funcionario Movimento 4 N Financeiro Registrar Pagamento Compra i Atendente Dono Registrar i q Se 5 Produtos Cliente Se Gerenciar F Produtos Registrar Entrada Caixa Produtos Fornecedor Figura 113 Note que os atores podem ser representados isoladamente como o caso dos Diagrama de casos atores Cliente e Fornecedor ou j indicando uma rela o de generaliza o espe de uso do sistema de EE i cializa o como no caso da rela o entre Funcionario Caixa Atendente e Dono controle da padaria do senhor jo o Que outras informa es podemos extrair desse diagrama Podemos ver que tanto o Caixa quanto o Atendente e o Dono senhor Jo o podem registrar um produto vendido mas apenas o Caixa e o Dono est o aptos a registrar entrada de produtos do Fornecedor Veja quantas informa
84. armazenamento sobre essa metodologia que falaremos neste cap tulo o modelo de entidade e relaciona mento que prop e defini es e regras para projeto e implementa o de bancos de dados assim como a rela o desses dados com as funcionalidades do sistema As bases do modelo de entidade e relacionamento come aram a ser lan adas quando Edgar Frank Codd definiu as principais implementa es necess rias para o correto funcionamento de um banco de dados relacional usando para isso a teoria dos conjuntos a lgebra e o c lculo relacional O modelo ganhou mais corpo quando Donald D Chamberlin e Raymond F Boyce desenvolveram uma linguagem de consulta que facilitava o acesso e a manuten o de bancos de dados relacionais oferecendo os recursos necess rios para sua utiliza o em larga escala o que atendia s necessidades do mercado A contribui o de Peter Chen foi na defini o de uma metodologia para modelagem de projetos de banco de dados utilizando banco de dados relacionais veja quadro Os nomes por tr s da tecnologia A linguagem criada por Clamberlin e Boyce ganhou o nome de SQL e somente em 1986 foi distribu da e aceita por praticamente todos os bancos de dados tor Figura ll Se soubermos como est o organizadas as estantes podemos encontrar um livro facilmente seja qual for o tamanho de uma biblioteca CAP TULO 2 INFORM TICA 3 Figura 12 N o poss vel encontrar um s livro em ambien
85. arquivos Hist rico dec at r Fazer consulta SQL no Banco de Dados erp Delimitadores F Mostrar esta consulta SOL novamente Agora vamos eliminar o cliente de c digo 123 utilizando a instru o DELETE com a sintaxe apresentada a seguir Na figura 81 mostramos como ser a instru o usando o phpMyAdmin Podemos observar que a exclus o do cliente foi realizada na figura 82 Vamos listar todos os clientes para podermos comprovar que a nossa exclus o do cliente foi bem sucedida Para isso devemos utilizar a instru o SELECT com a seguinte sintaxe Na figura 83 mostramos como ser a instru o aplicando o phpMyAdmin Podemos observar agora que o cliente de c digo 123 j n o aparece na lista como mostra a figura 84 Jima E J e ps dai gt e e a T CAP TULO 3 Figura 83 Listagem dos clientes para comprovar exclus o F N o sobrescrever esta consulta fora desta janela Detimitadores RF Mostrar esta consulta SOL novamente Figura 84 O clente de c digo E 123 foi eliminado e mi Lee A Doc pe ame ga e INFORM TICA 3 2 osso objetivo nesse cap tulo apresentar a UML Linguagem Unificada de Modelagem que possibilita visualiza o especi fica o constru o e documenta o de artefatos de um sistema complexo de software o software orientado a objetos Ou seja vamos estudar a linguagem de defini o
86. as Dr compra e assim foi necess rio possibilitar o registro desta informa o a qual do modelo l gico deve servir tamb m para indicar se determinada compra j foi paga ou n o ser feita com mowa T cadastrado aten o e cuidado pois quantidade DECIMAL 5 2 Sim N o N o N o N o N o podemos facilitar e e 7 i 2 3 8 Projeto f sico muito a implementa o valor unitario DECIMAL 10 2 Sim N o N o i N o N o gt 0 5 O projeto f sico consiste na tradu o do modelo l gico para a linguagem SQL Ge OUEN PorExempio rE i Kon incluindo campos Normalmente feito um script lista dos comandos de cria o do banco de da onoo bie oE Co COMPRA don Eden ADE demo Co SED Orc mando pa S e definindo or de p TE tamanho obrigatorio unico chave Lave aos regra de SQL ser o estudados no pr ximo cap tulo mas como exemplo vem a seguir o Welusdosalicia o dados so primaria estrangeira default validacao projeto f sico de nosso estudo de caso para o SGBD MySQL Dessa forma colocamos e no SGBD parte da numero INTEGER Sim Sim Sim N o N o Auto E responsabilidade pela ER Numera o CREATE DATABASE Padaria consist ncia dos dados cod cartao INTEGER 8 Sim N o N o Sim N o Cart o j USE Padaria e aliviamos os programas deve ser que far o a entrada e a ada rade manipula o de dados dat DATE 8 Si N o N N N N vamu mesio ua a eim
87. as PMBOK 2004 Ali s como bem lembra Tom Gilb Se voc n o atacar os riscos do projeto ativamente ent o estes ir o ativamente atacar voc 6 1 Atividades do gerenciamento de riscos Segundo o PMBOK 2004 o processo de gerenciamento de riscos para desen volvimento de software composto por quatro atividades figura 6 1 Identifica o dos riscos reconhecimento do projeto do produto e dos riscos de neg cio envolvidos no desenvolvimento do software 2 An lise dos riscos estudo das possibilidades e das consequ ncias da ocor r ncia dos riscos com determina o de valores qualitativos para as possibili dades muito baixo baixo moderado alto e muito alto e para as consequ n cias insignificante toler vel s rio e catastr fico 3 Planejamento do risco medi o de cada risco e desenvolvimento de uma metodologia de gerenciamento dentre algumas op es refutar o risco quando a probabilidade reduzida minimizar o risco quando h baixo impacto no projeto de desenvolvimento de software ou no produto final ou planos de conting ncia para eliminar o risco quando eles se tornarem realidade 4 Monitoramento do risco identifica o e avalia o regular de cada risco para tomada de decis o quanto diminui o estabilidade ou aumento da possibi lidade de ocorr ncia do evento assim como discuss o em cada reuni o de ava lia o do progresso do projeto sobre a perman ncia efetiva dos
88. as devem ser nicos Toda tabela relacional deve possuir esse identificador un voco denominado chave prim ria Assim uma tabela relacional cont m um campo ou conjunto de campos concatenados permitindo que dela se identifique uma e somente uma ocorr ncia Mas em uma mesma tabela podem existir mais de um campo ou coluna com essa propriedade A estas denominamos chaves candidatas Entre essas candidatas a chave prim ria temos de escolher uma para ser definida e utilizada como tal deixando as demais como chaves alternativas A chave prim ria tamb m pode ser formada pela combina o de mais de um campo pois h casos em que n o se pode atribuir essa fun o a um nico campo j que este pode conter dados repetidos Nessa situa o podemos com binar dois ou mais campos para formar nossa chave prim ria Quando a chave prim ria composta devemos ficar atentos ao desempenho das consultas que inversamente proporcional ao tamanho da chave prim ria Quanto maior o tamanho da chave prim ria maior ser o tempo de retorno de uma consulta 2 Chaves candidatas Uma tabela tamb m pode conter alternativas de identificador nico pois v rias colunas ou concatena es diferentes de colunas podem ter essa proprie dade e portanto s o candidatas a chave prim ria Mas como somente uma ser escolhida como chave prim ria as restantes passam a ser consideradas chaves alternativas 3 Chaves secund rias O termo chave sempr
89. as classes os quais geralmente n o representamos nos diagramas da UML por 1994 1995 SIENEN E APELO SYSTEMS ANALYSIS Mkocdrdirag tiar Murta in Lhrdi Object Modeling Technique a UML 2 0 DIVULGA O James Martin e Jim Odell lan am OOIE Object Oriented Information Engineering 1995 Grupo de desenvolvedores da Sun Microsystems da Calif rnia Estados Unidos chefiado por James Gosling cria a linguagem Java James Rumbaugh publica sua OMT Os metodologistas Grady Booch James Rumbaugh e Ivar Jacobson lan am a UML Oo en 26 supere a LIMEIRA ema 7227 e CIM Oem 20100 e CML AS em Ms Figura 85 Defini o da classe segundo UML 2 James Martin A PRABHAKAR RAO THE INDIA TODAY GROUP GETTY IMAGES CAP TULO 4 DIVULGA O James Gosling a INFORM TICA 3 j terem se tornado senso comum entre os desenvolvedores Mas sempre que voc achar necess rio poder defini los dentro da classe Voc deve estudar mais sobre o funcionamento e a utiliza o de construtores getters e setters no livro Programa o de Computadores desta cole o e nos sites que abordem a linguagem Java e linguagem CH al m de sua representa o UML Os metodos especiais e Construtor o m todo que constr i isto reserva o espa o em mem ria onde ser o armazenadas as informa es daquele objeto da classe e Get o m todo que apresenta o valor armaz
90. as existentes devemos utilizar a declara o UPDATE cuja sintaxe a seguinte CAP TULO 3 Figura 52 Inclus o de um registro Figura 53 Verificando a Inclus o Figura 54 Registro do cliente Wilson INFORM TICA 3 Figura 55 Cl usula update Figura 56 Select na tabela Onde Tabela o nome da tabela a ser atualizada Coluna o nome da coluna a ser atualizada Valor o novo valor para a coluna SET determina os campos que receber o os valores Where determina em quais registros a mudan a ocorrer Na sua aus ncia a mudan a ocorrer em todos os registros da tabela Exemplo em MYSQL UPDATE Cliente Set nome Wilson Oliveira Where codigo 123 figura 55 Para conferir vamos fazer um select na tabela Select from cliente Acompanhe na figura 56 Podemos observar na figura 57 que o nome do cliente agora aparece como Wil son Oliveira e n o mais Wilson apenas Figura 57 O nome do cliente q e m jl l Emm on es o A men o Eos p G a fem E o completo na tabela e mm i e e a E a mo e par ar o p H ea a go B ms e e S h p Te aa TEs iai E G H r O E Y mee pa a E T da 5 T rem r D rme e mifos mami CE SPA EPren EBEE g rmm ea mb Teen jram E memi n n a aaa di e e e Cl usula DELETE Tem a fun o de eliminar registros de uma tabela O comando DELETE exclui permanentemente u
91. ase A senhora Maria se deslocar at o balc o de p es n o um requisito relevante pois n o nos interessa no momento como ela chegou ao balc o e sim o que fez ao chegar la 2 Solicita dez p ezinhos ao funcion rio La rcio que est atendendo naquele momento Ou seja a senhora Maria a cliente solicita dez p ezinhos dez unidades do produto p ozinho para o funcion rio La rcio que est no balc o Conclu mos aqui que o cliente solicita uma certa quantidade de um determinado produto a certo funcion rio La rcio ser o funcion rio que est no balc o no momento e a senhora Maria a cliente s o informa es que nos demostram apenas que h um funcion rio e um cliente envolvidos na a o Continuando nossa an lise 3 La rcio pega o saco de papel adequado a tal quantidade vai at a cesta de p es e com o pegador coloca no saco os dez p ezinhos Em seguida fecha o saco coloca o sobre a balan a e digita no equipamento o pre o do quilo do p o Temos de importante aqui que o funcion rio pesa o produto digitando o pre o do quilo na balan a 4 Toma ent o um peda o de papel que est sobre o balc o no qual anota o peso dos p es e o valor apresentado na balan a al m da palavra p o entrega o pacote e o peda o de papel senhora Maria perguntando lhe se vai querer mais alguma coisa Aqui temos que funcion rio anota a quantidade o tipo de produto e seu pre o em um peda o de papel e
92. assa o leitor de c digo de barras no cart o do cliente e Funcion rio passa o leitor de c digo de barras no produto e Funcion rio digita a quantidade comprada do produto e Funcion rio confere dados cadastrados digitados Funcion rio confirma entrada da compra Extens es e A entrada do produto e da quantidade pode ser feita pela balan a quando se tratar de produtos pesados na padaria Observa es N o h 4 3 2 Diagrama de classes Um diagrama de classes mostra um conjunto de classes interfaces e colabora es e seus relacionamentos Os diagramas de classes abrangem a vis o est tica de projeto de um sistema Exp em a cole o de elementos declarativos est ticos BOOCH RUMBAUGH e JACOBSON 2005 UML Guia do usu rio Principais componentes classes interfaces relacionamentos O diagrama de classes fornece uma vis o est tica do modelo a ser criado Como as classes s o um dos componentes mais importantes da orienta o a objetos esse diagrama deve constar de todo projeto orientado a objetos Identificar uma classe n o tarefa das mais simples mas o caminho procurar itens que t m as mesmas informa es e comportamentos Nem sempre uma classe tem atributos e m todos Pode ter apenas m todos ou apenas atributos Tente fazer uma lista do que voc identificou como classes Acrescente os atores que geralmente s o tamb m classes de seu sistema Analise as candidatas a classes e tente ac
93. atividades envolvidas em um caso de uso ou mes Kil as munica mo em um fluxo de trabalho Possibilita a vis o dos procedimentos efetuados comunica o do para execu o de um caso de uso por exemplo dando acesso a documenta o caso de uso Registrar dos procedimentos tanto do sistema quanto das atividades extrassistema compra de produtos Todo diagrama de atividades deve possuir um in cio marcado por um c rculo 8 P p preenchido e um fim representado por um c rculo preenchido por m com um aro branco na extremidade Existem tamb m as a es que s o representadas por um ret ngulo de bordas arredondadas tendo em seu interior o nome da a o executada A execu o de uma a o pode ser condicional a alguma ocorr ncia Esses des vios condicionais s o representados por um losango com as setas partindo para as a es a serem executadas seja a condi o satisfeita ou n o Deve se criar diagrama de atividades para os casos de uso cujo funcionamento n o est claro ou para documentar os procedimentos a serem seguidos para sua execu o Principais componentes atividades decis es fluxos Veja na figura 120 o exemplo do diagrama de atividades gerado pelo caso de uso Registrar compra produtos INFORM TICA 3 Observe que o diagrama de atividades apresenta uma forma simples de docu mentar as a es executadas em cada caso de uso asssim uma importante fer ramenta de documenta o do softwa
94. belas S o in meras as formas de apresentar as defini es alinhadas e utilizaremos a mais comum a tabela Ent o por meio de tabelas vamos criar o modelo l gico das entidades da solu o imaginada para a padaria do senhor Jo o As entidades e relacionamentos com campos passam a ser chamados de tabelas e seus atribu tos de campos Observe o exemplo na tabela Cart o tipo de tamanho obrigatorio unico chave chave valor regra de primaria estrangeira default validacao Observa o O campo dt fim uso foi definido como n o obrigat rio pois nenhum dos cart es quando de seu cadastro tem data indicando fim de prazo de validade Veja as tabelas Produto Funcionario Fornecedor Fornece ItemFornece e Compra tipo de tamanho obrigatorio unico chave chave valor regra de primaria estrangeira default validacao estoque minimo DECIMAL i 7 0 Valor gt 0 Observa o O campo saldo foi definido com decimal porque nem sempre os produtos s o vendidos em unidades tipo de lt tamanho obrigatorio unico chave Chave valor regra de primaria estrangeira default validacao fun o VARCHAR tipo de tamanho obrigatorio unico chave primaria celular VARCHAR Observa o Um campo do tipo varchar permite at 255 caracteres mas o ta manho de campos como rua por exemplo deve ir no m ximo at 50 caracteres Isso porque talvez seja preciso emi
95. breGaveta formaPagto cartao 5 1 1 1 conectaOperadoraDeCartao double valorPago double 5 2 atualizaltemCompra data DataPagamento integer nroCompra 5 3 Compra date Data double totalCompra ItemCompra nroCompra is null and dataPagamento is null 3 selecionaltensCompra sd registra Compra Balanca Atendente loop funcionarioOK false l Lilogin 1 L funcionarioOK verificaFuncionario String CPF String senha boolean 2 calculaPesoProduto l l l l loop precoPorQuilo 0 I I I I 1 3 1 precoPorQuilo verificaProduto String codProduto double T I I 3 leProduto L calculaValorTotalltem loop clienteOK false l 5 LiclienteOK verificaCliente StringinroCartao boolean BileCliente lt lt create gt gt G confirmaCompra 6 1 ItemCompra Funcionario func Cliente cart Produto prod double quantidade double valorTotal Come amos ent o a nos preocupar com a interface e com o usu rio e escolhemos quais formul rios ser o necess rios para o funcionamento de nossa aplica o Com as classes definidas come amos a separ las para melhor organizar a apli ca o Utilizamos para isso o padr o MVC Esse padr o muito utilizado pelos desenvolvedores orientados a objeto foi criado com a linguagem de programa o Smalltalk80 Consiste basicamente em dividir as classes da aplica o em tr s grupos que
96. chamamos de model view e controller Criamos um pacote para cada um desses itens No model em geral inserimos as classes de projeto seguindo o modelo de nossa aplica o No view criamos as classes de interface com o usu rio telas e no controller inserimos as classes que implementar o as funcionalidades de cada classe desde uma simples consist ncia at o acesso ao banco de dados Essas classes que implementam o acesso ao banco de dados levam o nome de classes de persist ncia muitos desenvolvedores as colocam em outro pacote ItemCompra Figura 128 Diagrama de vis o geral de intera o CAP TULO 4 INFORM TICA 3 DICA Voc pode pesquisar exemplos de implementa o a partir de MVC em livros e sites sobre linguagens de programa o Consulte especificamente bibliografias que abordem a linguagem Java Pesquise sobre padr es de projeto design patterns S o 24 padr es de desenvolvimento de software orientado a objetos que se prop em a resolver os problemas mais comuns nesse processo Dentro do view voltamos a separar as classes em pacotes para implementar a modula o do sistema criando pacotes para cadastro movimenta o consul tas relat rios e demais rotinas da execu o do sistema s quais chamamos de ferramentas Com isso organizamos internamente as classes nos mesmos pa dr es utilizados na aplica o Terminada a separa o das classes criamos os diagramas de ativ
97. cial do trabalho a parte do mundo real que o foco do projeto ou de nossa an lise No nosso caso a padaria do senhor Jo o Usaremos as t cnicas descritas no cap tulo 1 para conhecer melhor o funcionamento da empresa em especial o foco do problema de acordo com os pontos levantados pelo senhor Jo o a din mica do atendimento ao p blico o processo de compra e venda de mercadorias e a necessidade de reposi o de estoques no prazo desej vel 2 3 2 Levantamento de requisitos Por meio das t cnicas que estudamos no cap tulo anterior vamos levantar os requisitos para a solu o do problema proposto Avaliaremos portanto o ta manho do problema o que se espera da solu o quem s o os usu rios chave quais processos est o envolvidos e o que cada um desses processos oferece de informa o relevante solu o que estamos buscando Quem pode nos dar essas respostas s o os usu rios e seus procedimentos Lem bre se de que devemos escolher uma ou mais t cnicas descritas para conhecer bem o problema De in cio podemos recorrer aos m todos de entrevista para obter informa es do senhor Jo o e seus funcion rios com o objetivo de compreender o funciona mento da padaria Tamb m podemos observar os funcion rios em seu dia a dia para verificar a din mica do trabalho suas rotinas particularidades e informa es geradas nas diferentes opera es Para cada entrevista procedimento ou etapa necess rio pro
98. cionada a uma ocor r ncia na entidade B e que uma ocorr ncia da entidade B pode estar relacionada a uma ocorr ncia da entidade A figura 23 Funcionario Gerencia Departamento Restri o Muitas vezes simplesmente definir um relacionamento n o nos garante total en tendimento da situa o que ele se deve demonstrar conforme a figura 24 Funcionario Pertence Departamento Figura 22 Relacionamento com campos Figura 23 Relacionamentos 1 para 1 Figura 24 Relacionamento que n o nos garante entendimento da situa o CAP TULO 2 INFORM TICA 3 Figura 25 Restri o Figura 26 Agrega o Esse exemplo nos parece claro quanto ao relacionamento entre funcion rio e departa mento mas e se perguntarmos pode haver funcion rio sem departamento associado Esse questionamento num primeiro momento pode parecer sem sentido mas imagine uma situa o em que os funcion rios passam por treinamento e s s o alocados em departamentos depois de serem avaliados E ent o eles n o s o funcion rios Claro que s o E para deixar mais clara esta defini o que existe o conceito de restri o que expressa quais s o o maior e o menor valor do rela cionamento Para o caso proposto a nota o ficaria como na figura 25 Funcionario Pertence Departamento Como se deduz que um funcion rio pode pertencer a no m nimo nenhum e no m ximo 1 departamento e 1 departamento possui
99. como mostramos nos exemplos 2e3 CAP TULO 3 Mas antes confira a sintaxe para o comando REVOKE REVOKE ALL statement n 3 FROM security account n Exemplo 1 Retirar a permiss o de criar novos Bancos de Dados atribuida para o login SERVIDORlwilson anteriormente USE MASTER REVOKE CREATE DATABASE TO SERVIDORlwilson Exemplo 2 Retirar as permiss es CREATE TABLE CREATE RULE e CREATE VIEW atribuidas para o usu rio SERVIDORlwilson no Banco de Dados Exemplos USE Exemplos REVOKE CREATE TABLE CREATE RULE CREATE VIEW TO SERVIDORIwilson Exemplo 3 Retirar as permiss es CREATE TABLE CREATE RULE e CREATE VIEW atribuidas para os usu rios SERVIDORIgrupoas e SERVIDORIgrupoz no Banco de Dados Exemploa USE Exemplos REVOKE CREATE TABLE CREATE RULE CREATE VIEW TO SERVIDORIgrupoa SERVIDORIgrupo2 Exemplo 4 Retirar todas as permiss es atribuidas ao usu rio SERVIDOR andrea no Banco de Dados Exemploa USE Exemplos REVOKE ALL TO SERVIDORlandrea INFORM TICA 3 3 4 1 3 Permiss es a objetos do banco de dados As permiss es a objetos aplicam se aos diversos elementos de um banco de dados Em uma tabela por exemplo podemos ter permiss o de leitura dos dados SELECT adi o de no vos registros INSERT exclus o de registros DELETE e assim por diante As permiss es a objetos s o as que mais diretamente se relacionam com as atividades di rias dos usu rios Se determin
100. como uma ideia Ainda n o existe fisicamente apenas uma possibilidade Trata se portanto de um per odo em que se fala muito e se age pouco O analista de sistemas tem nessa etapa uma fun o muito importante entender o que o cliente deseja e a partir da criar um compromisso com ele J a fase da inf ncia tamb m chamada de sistema crian a conta com poucos controles formalizados e muitas falhas a serem transformadas em virtudes Nor malmente o sistema prec rio faltam registros e informa es h resist ncia das pessoas em fazer reuni es de aprimoramento Alguns chegam a acreditar que o sistema n o vai funcionar A adolesc ncia o est gio do renascimento Nessa etapa ainda conforme Adi zes eliminada grande parte dos erros encontrados na fase anterior Essa tran si o caracterizada por conflitos e inconsist ncias muitas vezes causados pelos pr prios usu rios os quais ainda n o se comprometem a realizar as intera es pertinentes Mesmo percebendo a necessidade de delegar autoridade mudar metas e lideran a os respons veis enfrentam dificuldades pois muitos usu rios ainda acreditam que o antigo sistema era melhor A estabilidade ou fase adulta o in cio do est gio de envelhecimento do siste ma ou seja quando come a a se tornar obsoleto e surgem outros melhores Um sintoma bem vis vel a perda de flexibilidade Todos come am a achar que ele n o funciona t o bem atribuindo lh
101. constru o dos indices com um novo valor para o par metro Fill Factor Isto garante melhor distribui o dos dados com melhoria no desempenho e Compactar o banco de dados removendo p ginas de dados vazias e Atualizar uma s rie de informa es Indexes Statistics sobre os indices do banco de dados e Fazer a verifica o interna na consist ncia dos dados para certificar se de que esses n o est o corrompidos ou em estado inconsistente e Agendar o backup do banco de dados e do log de transa es INFORM TICA 3 Figura 44 As op es tabelas e views 10 11 12 specific databases j vem marcada por padr o Na lista de bancos de dados selecionamos os que queremos incluir no plano de manuten o Clique em OK para fechar a lista de op es e certifique se de que marcou a op o Include indexes para garantir que a otimiza o dos ndices do banco de dados AdventureWorks seja inclu da no plano Agora clique em Avan ar para chegar fase seguinte do assistente Nessa etapa definiremos para quais bancos de dados ser o criadas tarefas de otimiza o Abra a lista Select one or more que mostrar diversas op es j descritas anteriormente A op o These specific databases j vem selecio nada por padr o Na lista de bancos de dados podemos selecionar os que desejamos incluir no plano de manuten o Em nosso exemplo incluiremos apenas o Banco de Dados AdventureWorks Certifique
102. cuidado ao definir O acesso a seus bancos de dados fazendo permiss es exclusivamente a pessoas que devem e podem acess los e na medida exata de suas necessidades de informa o para o trabalho RESTRI ES AO USU RIO DE CONTA LIMITADA e Instalar software ou hardware drivers e Alterar o nome ou o tipo de sua pr pria conta essa atribui o exclusiva do usu rio com conta de administrador um usu rio com uma conta de administrador ou seja algu m com permis s o para instalar novos programas configurar o Windows e alterar as contas de usu rios Conta limitada Como o pr prio nome sugere destina se ao usu rio com restri es de per miss o para usar os recursos do computador como alterar a maioria das configura es ou excluir arquivos importantes Esse usu rio basicamente s pode acessar programas j instalados e alterar a imagem de sua pr pria conta al m de criar alterar ou excluir sua pr pria senha 3 4 1 2 Permiss es para banco de dados Agora que j sabemos um pouco sobre como funciona a seguran a em sis temas operacionais vamos conhecer a estrutura de seguran a em bancos de dados que bem similar a ponto at de herdar algumas de suas carac ter sticas Vejamos primeiramente alguns dos conceitos de permiss es em banco de dados Podemos definir por exemplo as seguintes permiss es para um banco de dados e Create Table Criar Tabela e Create
103. cutadas sistematicamente de maneira sequencial conforme su gere a figura 2 Figura 2 As fases sequenciais do Modelo cascata CAP TULO INFORM TICA 3 Requerimento An lise e Defini o de Requisitos as fun es as restri es e os objetivos do sistema precisam ser definidos via consulta aos usu rios para que sejam elaborados os detalhes espec ficos Projeto Sistemas e Software o processo deve agrupar os requisitos de hardwa re e software assim como identificar e descrever as abstra es fundamentais do sistema e as suas rela es Implementa o Testes de Unidade o projeto posto prova como um con junto de programas ou de suas partes com o teste de cada item para verifi car se aquela unidade atende sua especifica o Verifica o Integra o e Teste de Sistemas antes da entrega do software ao cliente as unidades ou programas individuais s o integrados e testados como um sistema completo de maneira a assegurar que todos os requisitos estejam contemplados Manuten o Opera o o sistema instalado e colocado em opera o sendo detectados e corrigidos erros n o descobertos antes o que melhora a implemen ta o e tamb m permite descobrir novos requisitos O sistema s entregue ao usu rio depois que os desenvolvedores observarem um resultado satisfat rio na fase de verifica o com certo grau de confian a Mesmo assim o software ainda poder ter
104. da Validar login Validar digital SW Validar retina Validar retina Validar senha Validar digital Validar senha digital J o caso de uso validar senha pode implicar em um dos tr s casos de uso Dependendo do tipo de a o efetuada pelo usu rio ser extendido o comporta mento do caso de uso Validar senha digitada validar digital ou validar retina Uma caracter stica interessante que a UML nos oferece ser extremamente fle x vel possibilitando que utilizemos os blocos de constru o de forma diferente conforme a vis o que queremos analisar no momento Voltemos ao exemplo da figura 111 O caso de uso validar senha com o foco que descrevemos no diagrama nos mostra uma rela o extendida com os casos de uso Validar senha digitada Validar digital ou Validar retina Tamb m podemos escrever a rela o entre esses casos de uso como se fosse uma rela o de Generaliza o Especializa o Assim dependendo do enfoque que quisermos analisar podemos combinar os elementos UML Veja na figura 112 como ficaria com essa abordagem o fragmento do diagrama Podemos ter diagramas de caso de uso demonstrando diferentes n veis de abs tra o do sistema Por exemplo poss vel ter um diagrama que represente o sistema como um todo para poder analisar suas principais funcionalidades como elas se agrupam seus limites e a rela o dos atores em cada um dos casos macro de uso Vamos retomar o estudo de caso da pad
105. das quais participam usu rios e analistas para trabalhar na arquitetura de uma determinada aplica o Ambas s o consideradas as melhores pr ticas 1 8 5 1 Entrevista JAD Joint Application Development um sistema de desenvolvimento de aplica es em grupo criado pela IBM O objetivo reduzir custos e aumentar a produtividade nesses processos Existem formas Entre as t cnicas mais importantes de identifica o de requisitos est a entre distintas de vista tamb m presente em outras metodologias pois quase sempre a coleta de informa es exige a comunica o direta com os usu rios e interessados Tem como finalidade captar o pensamento do cliente para que se entenda o que necess rio desenvolver Por essa raz o o entrevistador tem grande responsabili dade Al m de fazer as entrevistas cabe a ele integrar diferentes interpreta es entrevista por question rio aberta e estruturada CAP TULO INFORM TICA 3 objetivos metas estilos de comunica o e terminologias adequadas aos diversos n veis culturais dos entrevistados Por question rio O question rio muito usado como t cnica de entrevista principalmente em pesquisas de mercado e de opini o Sua prepara o exige bastante cuidado e alguns aspectos particulares do processo merecem destaque emprego de vocabul rio adequado para o p blico entrevistado inclus o de todos os con te dos relevantes e de toda
106. de uma depend ncia em UML 2 0 INFORM TICA 3 Figura 88 Exemplo de associa o entre classes UML Funcionario trabalhad d rabalhador empregador ENE E salario double ramoAtividade String nroCarteiraProfissional String Elm cnpj String No diagrama da figura 88 identificamos uma associa o representada em UML 2 0 por uma linha interligando as duas classes de nome Trabalha para onde a classe Funcionario representa o papel de trabalhador e a classe Empresa representa o papel de empregador Podemos observar pela representa o da mul tiplicidade que cada objeto da classe Empresa tem como trabalhador 1 ou mais objetos da classe Funcion rio e que um objeto da classe Funcionario tem como empregador no m nimo O e no m ximo v rios objetos empresa J a agrega o um tipo de associa o entre classes na qual mostrada a rela o todo parte nela uma classe far o papel do todo e a outra da parte agrega o entre duas classes representada em UML 2 0 como uma linha ligando duas classes com um losango na ponta da classe toda para diferenciar o todo da parte Veja o exemplo na figura 89 Observamos nesse diagrama da figura 89 que uma empresa formada por um conjunto de departamentos ou seja tem a multiplicidade leia o quadro abaixo Vemos ainda que um departamento est associado a uma empresa A composi o por sua vez uma forma de agrega o com propriedade bem
107. de atributos ou m todos Private privada representada por um sinal de menos a visibilidade mais restrita e permite o acesso ao atributo ou m todo apenas dentro da pr pria classe Protected protegida representada por um sustenido permite o acesso aos m todos e atributos dentro da pr pria classe ou de suas subclasses Public p blica representada por um sinal de mais permite o acesso aos m todos e atributos a todas as classes que tiverem algum tipo de rela o com a classe em que foram criados E a menos restritiva das visibilidades Package pacote representada por um til permite o acesso aos m todos e atributos a todas as classes inclu das no mesmo pacote e Metodos p blicos e privados Se analisarmos a classe Pessoa na figura 93 veremos que seus atributos s o privados mas como faremos para acess los Utilizando os m todos get e set de cada atributo uma forma de garantir que os atributos somente ser o alterados pelos m todos get e set o que permite maior controle sobre seu uso Pessoa nome String cpf String andar void falar void mexerPerna void articularPalavra void Figura 93 Exemplo de visibilidade de atributos e m todos UML 2 0 CAP TULO 4 INFORM TICA 3 Figura 94 Exemplo de polimorfismo de m todo dito sobrecarga Figura 95 Exemplo de polimorfismo sobrescrita Circulo raio double calculaArea
108. de maneira clara e sim ples apenas uma nica exig ncia a ser desenvolvida Para ser conciso o requisito n o inclui explica es motiva es defini es ou descri es do seu uso Tais detalhes podem estar em outros documentos Alcan vel realiz vel a um custo definido Completo n o precisa ser explicado ou aumentado garantindo capacidade su ficiente do sistema Consistente n o contradiz nem mesmo duplica outro requisito e utiliza os termos na mesma forma que a adotada nos outros requisitos Orden vel tem uma ordem por estabilidade import ncia ou ambos Aceito acolhido pelos usu rios e desenvolvedores Tipos Seja qual for o sistema ha varias formas de atend lo Dependendo das necessidades que se apresentam existem v rios tipos de requisito e Do usu rio a caracteristica ou o comportamento que o usu rio deseja para o software ou para o sistema como um todo S o descritos pelo pr prio usu rio ou por um analista de sistemas a partir de um levantamento de dados com o cliente e Do sistema comportamento ou caracteristica que se exige do sistema como um todo incluindo hardware e software S o normalmente levantados por engenheiros de software ou analistas de sistemas que devem refinar os requisitos dos usu rios transformando os em termos de engenharia de software e Do software comportamento ou caracteristica exigido do software S o normalmente levantados por analistas de sistemas com
109. de neg cio Por isso h profissionais capacitados especificamente para essa fun o conhecidos no mercado como Data Base Administrator administrador de banco de dados ou mesmo pela sigla DBA Tais profissionais t m de conhe cer profundamente as ferramentas de administra o do banco de dados para utiliz las de maneira eficiente pois s o eles que desenvolvem e administram estrat gias procedimentos pr ticas e planos para disponibilizar documenta o al m de compartilhar informa es e dados corporativos necess rios no mo mento certo e s pessoas certas com integridade e privacidade Veja quais s o as principais fun es de um DBA e Definir o conte do de informa es do banco de dados Por meio de levantamentos de informa es o profissional deve decidir que informa es devem ser mantidas no banco de dados da empresa Definir a estrutura de armazenamento e a estrat gia de acesso Aqui o DBA deve indicar como os dados ser o armazenados e quais ser o os acessos mais frequentes Promover a liga o com os usu rios Isso quer dizer que sua fun o garantir a disponibilidade dos dados de q q ao g P que os usu rios precisam preparando os ou os auxiliando na montagem do n vel de vis es Definir os controles de seguran a e integridade Ou seja determinar quem tem acesso a que por es do banco de dados e criar mecanismos que evitem inconsist ncias na base de dados Definir a estrat gia de back
110. dessem s especif ca es de softwares de alto desempenho e de grande disponibilidade 2 Gera es de computadores Vamos conhecer agora as cinco gera es de equipamentos a tecnologia em pregada em cada uma delas suas vantagens e desvantagens 4 e 1971 1987 Chega a era do chip a l mina de sil cio que permite a Integra o de uma Infinidade de circuitos SHEILA TERRY RUTHERFORD APPLETON 3 e 1964 1971 Com a s rie 360 da IBM a velocidade dos equipamentos passou para bilion simos de segundo CAP TULO Denis Alcides Rezende autor de v rios livros sobre Tecnologia da Informa o Sistemas de Informa o e Engenharia de Software Atua como consultor em planejamento de Tecnologia da Informa o 57 e 1987 Novas tecnologias revolucionam os conceitos de processamento OLEKSIY MAKSYMENKO ALAMNY OTHER IMAGES paralelo e armazenamento de dados INFORM TICA 3 Primeira 1940 1958 O primeiro computador digital eletr nico de grande escala foi o Eniac Elec trical Numerical Integrator and Calculator ou integradora e calculadora nu m rica el trica Come ou a ser desenvolvido em 1943 durante a Segunda Guerra Mundial para auxiliar o Ex rcito dos Estados Unidos nos c lculos de bal stica Foi lan ado em fevereiro de 1946 pelos cientistas norte americanos John Presper Eckert e John W Mauchly da Electronic Control Company O Eniac reali
111. desses softwares Come aremos por um r pido his t rico mas s entraremos propriamente no estudo da UML ap s vermos os principais conceitos do paradigma orientado a objetos Al m dos conceitos mais relevantes do modelo mostraremos sempre que for poss vel sua representa o na UML para que voc v se acostumando linguagem Quando v rios autores propunham metodologias para o desenvolvimento de software orientado a objetos tr s estudiosos se juntaram e criaram uma linguagem unificada de modelagem a UML Estamos falando dos norte americanos Grady Booch e James Rumbaugh e do su o Ivar Jacobson que em 1995 lan aram a UML 0 8 unificando os respectivos m todos os quais na verdade estavam confluindo naturalmente Origem e evolu o da UML 1962 1963 DIVULGA O Ivan Sutherland 1962 Krysten Nygaard e Ole Johan Dahl pesquisadores do Centro de Computa o da Noruega em Oslo criam a linguagem Simula derivada do Algol introduzindo Os primeiros conceitos de orienta o a objetos 1963 Ivan Sutherland desenvolve no MIT Massachusets Institute of Tecnology nos Estados Unidos o Sketchpad primeiro editor gr fico para desenhos orientado a objetos O Sketchpad usava conceitos de inst ncia e heran a DIVULGA O e M todo de Booch desenvolvido por Grady Booch da Rational Software Cor poration expressivo principalmente nas fases de projeto e constru o de sistemas e OOSE Ob
112. deve realizar para que possa ser utilizada neste sistema 4 3 12 Diagrama de estrutura composta E utilizado para exibir as classes interfaces e relacionamentos criados para im plementar uma colabora o Faz parte dos diagramas de intera o Principais componentes classes relacionamentos e colabora es O diagrama de estrutura composta permite identifica o e an lise das classes e demais componentes que constituem uma colabora o Uma colabora o como j vimos um agrupamento de classes relacionamen tos e interfaces que constituem uma unidade do sistema Vamos analisar o diagrama de estrutura composta figura 127 que mostra as classes envolvidas na colabora o Receber produto Veja que no diagrama representado na figura 127 estamos analisando a cola lt lt ator gt gt Produto Fornecedor ItemFornece bora o Receber Produto Podemos verificar todas as classes envolvidas com a implementa o dessa colabora o e as rela es entre elas Isso nos permite anali sar cada colabora o em um n vel mais baixo da abstra o isto de forma mais clara e detalhada Podemos detalhar mais se for necess rio incluindo ainda as classes de intera o com o usu rio e as mensagens Esse diagrama n o muito utilizado mas pode ser til para a compreens o da forma de implantar uma colabora o 4 3 13 Diagrama de vis o geral de intera o Tem por objetivo analisar as sequ ncias nec
113. do data cod cliente valor total pedido Que ter como chave prim ria o atributo nro pedido Cliente cod cliente nome cliente email cliente Que ter como chave prim ria o atributo cod cliente Forma Normal Boyce Codd BCNF Uma entidade est em BCNF se e somente estiver em Terceira Forma Normal e todos os atributos n o chave dependerem apenas da chave prim ria Exemplo Cliente cod cliente nome cliente email cliente Que ter como chave prim ria o atributo cod cliente cod cliente gt nome cliente cod cliente gt email cliente Todos os atributos n o chave dependem funcionalmente apenas da chave pri m ria Logo est em BCNF Vamos agora como mais um exemplo de aplica o das regras de norma liza o aplicar a normaliza o nas entidades do modelo da padaria do senhor Jo o Ao final da montagem de nosso modelo ficamos com as seguintes entidades Cartao codigo data inicio uso data fim uso A chave prim ria foi definida como sendo o atributo codigo Produto codigo nome preco venda saldo estoque minimo ten do o atributo codigo como chave prim ria Funcionario codigo nome funcao tendo o atributo codigo como chave prim ria Fornecedor codigo nome rua complemento bairro cidade estado cep contato telefone celular tendo o atributo codigo como chave prim ria Compra numero data forma pagto codigo produto codigo car tao quantidade valor unitario valor total compra tendo como chave pr
114. dor localhost iT INSERT INTO Chente cotiga noma endereco VALUES 123 WILSOM 2 OLVERA CADA POSTAL 155 ITU INSERT INTO Cienia codigo nome endereco VALUES 145 ANDREA SIRTORI OLIVEIRA CAIXA POSTAL 135 TU INSERT INTO Cienie codigo noma endereco VALUES 567 LUCAS OLVERA CAIXA POSTAL 111 ITU INSERT INTO Chente codigo nome endereco VALUES 345 JOSE E h o sobrescrever esta consulta fora desta janela Detimiadores E Mostrar esta consulta SQL novamente Dre iTi T Gma Faro e Podemos observar na figura 72 o sucesso da instru o Vamos agora fazer algumas manipula es de dados com os registros feitos na tabela de clientes Listaremos todos esses registros aplicando para isto a se guinte instru o Select from Cliente Figura 72 Sucesso da instru o 158 req ee Etr Mi Ar Te O mega L A ao na ii a r Pr RS D CRS o gs Gs mm TD G O q a A O OS gr i E EPJ e reim eee A O O O TT O STF r a F pl Lie eio nl erer Lipi Ff E Hio sabrescrever ea cons o fora desia panela Dsimiadores JE bMosirar esia consulia SOL novamente Observe na figura 73 como ser a instru o a partir do phpMyAdmin O sucesso da instru o pode ser conferido na T m Fr E Wi ii inii Emi E ar E H F E F E FF E F sidis Ema H Pr E BE aid ba R EF E m H meria O A To leme a y Eim L figura 74 e jpa g pja
115. duzir uma documenta o isto anotar de forma clara e isenta as informa es obtidas e suas fontes quem nos deu tal informa o como chegamos a determinada conclus o Este procedimento nos permitir construir uma base de apoio que poderemos consultar sempre que surgir algu ma d vida em rela o ao processo ou solu o imaginada Cada passo tamb m pode nos apontar novas informa es a analisar ou procedimentos a seguir al m de meios de sanar d vidas que eventualmente surjam no caminho e indica es sobre quem pode nos ajudar a dirimi las fundamental ainda cultivar a me lhor rela o poss vel com as pessoas envolvidas no processo deixando clara sua import ncia para o trabalho mesmo depois que tivermos encerrado a fase de levantamento de requisitos 2 3 3 An lise de requisitos Entendida a din mica de funcionamento de nosso minimundo e obtidas as in forma es relevantes ao foco da solu o imaginada hora de analisar essas in forma es separ las e classific las de forma podermos continuar a desenvolv la verificando inclusive se a melhor op o mesmo informatizar e em caso positivo se haver mesmo condi es de satisfazer as necessidades do usu rio no prazo previsto O primeiro passo agora separar os requisitos levantados e classific los em requisitos de dados e requisitos funcionais Mas antes de tudo resta esclarecer bem quais s o esses requisitos 2 3 4 Requisitos de dado
116. e r stica dessa abordagem a orienta o intuitiva desses profissionais para desenhar o sistema com base em procedimentos executados e descritos pelo usu rio em sua forma pura sem orienta o a dados e otimiza es organizacionais Nesse per odo utiliza se uma mistura de linguagens da terceira gera o e de linguagens procedu rais com necessidade de declara o de dados e identifica o f sica da localiza o da informa o Essa abordagem n o prioriza a integra o da informa o mas sim a solu o de problemas setorizados ou seja pode gerar retrabalho pois muitas vezes haver os mesmos dados em diversos sistemas na organiza o Assim sob a abordagem tradicional desenvolvem se sistemas e aplica es com arquivos de propriedade da aplica o e de seus programas em fun o da utiliza o de linguagens de terceira gera o sem se levar em considera o a repeti o dos dados em outros sistemas Como consequ ncia temos a redund ncia de informa es a qual provoca total incoer ncia e muitas vezes inconsist ncia de dados Os sistemas s o elaborados pensando se na distribui o f sica dos arquivos por exemplo em que pasta ou diret rio esse arquivo est fisicamente no HD criando se assim uma depen d ncia dos arquivos pelos sistemas Segundo Elmasri 1999 isso significa que qualquer altera o na base de dados implica a adapta o de grande quantidade de programas e portanto significa enorme es
117. e devem ser submetidos cada um dos programas em vias de cria o a fim de validar seu correto funcionamento Inform tica psicologia administra o Voc aprendeu a usar a metodologia para projetar construir e implementar um sistema Tarefa cumprida Ainda n o O trabalho s estara completo quando al m da inform tica voc lan ar m o de seus conhecimentos em psicologia e administra o para lidar com as pessoas envolvidas no projeto e suas expectativas o que convenhamos n o algo simples Ao projetar e construir um sistema preciso ter sempre em mente que os usu rios est o ansiosos por v lo funcionando em seu ambiente poss vel usar diversas ferramentas para que sua execu o seja transparente o que ajuda a amenizar as expectativas Pode se por exemplo adotar um cronograma que lhes permita acompanhar todas as fases do projeto de modo que percebam claramente quais passos ja foram dados e os que vir o na sequ ncia Esse por m apenas um dos exemplos de ferramentas auxiliares O importante manter a disposi o de pesquisar outras para que o desenvolvimento de nossos projetos se torne cada vez mais r pido e claro 2 3 1 Implementa o da Transa o Com as defini es em m os partimos para a programa o e os testes das rotinas na linguagem definida medida em que essas rotinas v o sendo conclu das devemos elaborar um ambiente de testes que simule o meio do usu rio para que se po
118. e falhas um est gio marcado pelo fim do crescimento e in cio do decl nio A aristocracia tamb m batizada de meia idade ou melhor idade a fase da vaidade do vestir se bem e de falar bem Maria Aparecida Maluche explica que a nfase est em como as coisas s o feitas e n o no porqu MALUCHE 2000 CAP TULO Figura A Imagem ao lado mostra que o ciclo de vida dos sistemas informatizados pode ser comparado ao dos seres humanos INFORM TICA 3 E a que se inicia a etapa de decl nio total do sistema na qual o n vel de inova o baixo e tudo deixa a desejar Na fase da burocracia ou velhice o sistema perde a funcionalidade e a elas ticidade Com isso ningu m mais tem confian a nele Muitos percebem a situa o mas ningu m faz nada culpando o sistema por todos os erros e falhas na organiza o O decl nio se intensifica e mesmo que permane a em uso por alguns anos a decad ncia prossegue at a morte do sistema ADIZES 1999 As agendas ficam superlotadas come a se a perder o controle de prazos e de g p p p qualidade Ao mesmo tempo que se assume muitos compromissos comete se falhas Por isso deve se ficar atento s reclama es dos clientes e tentar de qual q quer maneira atender s necessidades percebidas z n a L AV i Via Man e evolutivas ma O ciclo de vida de um software software lifecycle designa todas as etapas do seu de senvolvime
119. e gra F j A Cora raa T ara jima jji a p ll a F j j a j b bki ie Dem mia i j EI iTA a HENE e mmi sial iimaas a bmm Fim ri a mO a e et CRT LE kibi l mad LS PH E E Criando uma vis o com comandos SQL Para criar uma vis o atrav s de SQL usamos o comando CREATE VIEW Este comando possui a seguinte sintaxe CREATE VIEW nome visao coluna n WITH ENCRYPTION AS Declara o select WITH CHECK OPTION Onde Nome visao o nome a ser dado vis o Coluna o nome a ser usado para uma coluna em uma vis o Nomear uma co luna em CREATE VIEW s necess rio quando uma coluna obtida por uma CAP TULO 3 Figura 65 Verifica o dos registros inclu dos Figura 66 O resultado da verifica o INFORM TICA 3 express o aritm tica uma fun o ou quando duas ou mais colunas poderiam ter o mesmo nome frequentemente por causa de uma jun o ou ainda quando a coluna em uma vis o recebe um nome diferente do nome da consulta da qual se originou Os nomes de colunas tamb m podem ser atribu dos no comando SELECT Caso seja necess rio nomear mais de uma coluna entre com o nome de cada uma delas separado por v rgulas WITH ENCRYPTION criptografa as entradas na tabela SYSCOMMENTS que cont m o texto do comando CREATE VIEW WITH CHECK OPTION for a todas as modifica es de dados executadas na vis o a aderirem os crit rios definidos na declara o SELECT Quando u
120. e hardware ou software Na data da implanta o e nos dias subsequentes fundamental acompanhar o funcio namento do sistema efetuando pequenos ajustes caso seja preciso Terminada essa fase podemos concluir que o sistema est entregue TETRA IMAGES CORBIS LATINSTOCK ds Figura 36 Execu o de um projeto CAP TULO 2 INFORM TICA INFORM TICA 3 egundo Ramez Elmasri autor de v rios livros sobre inform tica o primeiro Sistema Gerenciador de Banco de Dados SGBD surgiu no final de 1960 com base nos primitivos sistemas de arquivos dispon veis na poca incapazes de controlar o acesso concorrente por v rios usu rios ou processos Assim os SGBDs evolu ram de sistemas de arquivos para arma zenamento em disco quando foram criadas novas estruturas de dados com o objetivo de armazenar informa es Os SGBDs evolu ram ao longo do tempo com a introdu o de diferentes formas de representa o ou modelos de dados para descrever a estrutura das informa es neles contidas Os bancos de dados se tornaram um componente essencial e indispens vel em nosso dia a dia Geralmente n o nos damos conta disso mas sem eles n o con seguir amos mais fazer atividades corriqueiras como dep sitos saques ou quais quer outras formas de movimenta o banc ria reservas em hotel pesquisa em bibliotecas informatizadas compras em supermercados ou lojas aquisi o de passagens a reas Tais atividades s o ex
121. e o sistema est em produ o implica alterar todas as telas e relat rios nos quais tal atributo aparece Por exemplo se criarmos o campo c digo da tabela cliente com 3 posi es poder o ser cadastrados no m ximo 999 clientes o que representar uma limita o no sistema CERCAS SEER EEE EEE COLOCO LLCLLCLCCCLOCLCCLLCLLCCLCLLCCCCOLOLLCCCLCLCCLECCCCCLOLCCLLCLCC COLOCO CCO CCC 0 define se este atributo tem de ser preenchido Obrigat rio para que se possa incluir uma informa o nesta entidade ou n o o atributo deve ser definido como nico quando seus valores n o puderem ser repetidos COCO LCOLOOLCCLCCLCLCCOLOOLCCLCLCOCCCCCOCCO OLEO CO COLOCO Lero ss sos 0 Chave atributo ou conjunto de atributos que definem um Cocos ooo ro ocre rooeoesossoss prim ria nico registro tupla em uma entidade COCO ICOCLLCLCCCLLLCCCCLLCCOCLLLCCCL CCL CA O LOCosssa sos COCO COCO a soa 00 atributo ou conjunto de atributos que garante o relacionamento entre duas ou mais entidades Chave Assegura o que chamamos de integridade estrangeira referencial isto se as tabelas devem ou n o possuir uma informa o cadastrada para permitir seu uso em outra tabela indica se o atributo tem um valor padr o de preenchimento demonstra se o atributo possui ou n o uma regra Regra de de preenchimento Por exemplo o atributo sexo valida o so pode receber valores M ou F CAP TULO 2 INFORM TICA 3 Ta
122. e que o programa de aplica o o controle Da mesma forma a exig ncia da exis t ncia de um campo deve ser informada no dicion rio e tamb m deve ser administrada por este ficando os programas de aplica o desobrigados de tais controles Regra n mero Independ ncia de distribui o Um SGBD relacional tem independ ncia de distribui o quando sua su blinguagem permite que os programas de aplica o permane am inalte rados enquanto os dados s o distribu dos tanto na inicializa o de um sistema quanto na ocorr ncia de uma redistribui o Se um sistema por sua implementa o tiver arquivos redistribu dos em meios ou m quinas diferentes a sublinguagem do SGBD far o controle e a liga o com os programas de aplica o sem que seja necess rio realizar nenhuma mo difica o neles Regra n mero 12 N o subvers o Se um SGBD relacional tem uma linguagem de baixo n vel ou recursos de linguagem que permitam processamento em baixo n vel essa linguagem n o pode ser usada para subverter ou ignorar as regras de integridade ou restri es expressas na linguagem relacional de alto n vel Isso quer dizer que se processarmos registro a registro isso n o poder implicar a burla de restri es espec ficas dos objetos do banco de dados Tal regra pode ser considerada extensiva utiliza o de outras linguagens capazes de interagir com o banco de dados Por exemplo a utiliza o de uma linguagem de baixo
123. e s o dependentes da chave prim ria A entidade funcionario est na Forma Normal Boyce Codd pois todos os atri butos n o chave dependem apenas da chave prim ria Funcionario codigo nome funcao Tendo o campo codigo como chave prim ria Entidade Fornecedor Fornecedor codigo nome rua complemento bairro cidade estado cep contato telefone celular Tendo o atributo codigo como chave prim ria Est em Primeira Forma Normal pois n o possui atributos multivalorados nem atributos calculados A entidade fornecedor est em Segunda Forma Normal pois sua chave prim ria simples An lise da depend ncia funcional da entidade fornecedor codigo gt nome codigo rua codigo gt complemento codigo gt bairro codigo gt cidade codigo gt estado codigo gt cep codigo gt contato codigo telefone codigo celular CAP TULO 2 INFORM TICA 3 e A entidade fornecedor est em Terceira Forma Normal pois todos os atribu tos n o chave dependem funcionalmente da chave prim ria e A entidade fornecedor est na Forma Normal Boyce Cood pois todos os seus atributos n o chave dependem apenas da chave prim ria Entidade compra Compra numero data forma Pagto codigo produto codigo cartao quantidade valor unitario valor total compra Tendo como chave prim ria os atributos numero codigo cartao e codigo pro duto e como chaves estrangeiras os atributos codigo cartao e codigo produto Est em Primeira Form
124. e se refere a um elemento de busca por meio do qual pode mos recuperar uma informa o ou um conjunto de informa es E nas tabelas do banco de dados relacional h colunas ou conjuntos de colunas concatenadas que nos permitem fazer n o uma identifica o nica mas de um grupo de linhas de uma tabela Chamamos tais colunas ou conjuntos de colunas conca tenadas de chaves secund rias poss vel que existam N linhas em uma tabela com o mesmo valor de chave secund ria 4 Chaves estrangeiras Um dos conceitos de import ncia vital no contexto do modelo relacional o das chaves estrangeiras Para mais bem compreender do que se trata vale analisar as duas tabelas a seguir Funcionario e Departamento Criar ndices para chaves estrangeiras aumenta a velocidade na execu o das jun es e tamb m facilita a realiza o dos comandos ORDER BY e GROUP BY Quando dizemos que duas tabelas possuem colunas comuns devemos observar que provavelmente em uma da tabelas a coluna uma chave prim ria Na outra tabela a coluna comum ser caracterizada ent o como o que chamamos de chave estrangeira na realidade uma refer ncia l gica de uma tabela outra Conclui se ent o que havendo uma coluna Ca em uma tabela e uma coluna Cb com id ntico dom nio em uma tabela B a qual foi definida como chave prim ria de B ent o a coluna Ca uma chave estrangeira em A j que a tabela A cont m uma outra coluna distinta de Ca q
125. edro Parede Rua 4 n 120 Jd Cachoeira Caldas MG 04321 789 Sr Pedro 2a 8976 87 9999 0000 numero nota cod fornecedor Pre o Venda Saldo estoque_Minimo Leite condensado INFORM TICA 3 DICA Desde o in cio as informa es levantadas no cliente devem ser registradas para que se tornem base de nosso entendimento do problema e refer ncia para consulta posteriores O roteiro oferece uma s rie de indica es a seguir at que se alcance o produto final o software implementado H por m algumas hip teses que podem alterar os rumos do projeto Durante seu desenvolvimento podemos concluir por exemplo que a solu o inicialmente imaginada n o econ mica ou tecni camente vi vel ficar cara demais sem proporcionar o resultado esperado no prazo estabelecido Pode se at concluir que n o h necessidade de uma solu o informatizada para o problema proposto sugerindo que seja resolvido apenas por meio de uma simples mudan a de procedimento inclus o e ou altera o de a es dos usu rios no processo Vale ent o conhecer e analisar em detalhes cada um dos passos sugeridos no roteiro para ent o aplic los ao nosso projeto para a padaria do senhor Jo o Verificaremos assim quais pontos devem ser levados em conta em cada passo e qual ser o produto final para cada fase proposta Comecemos pelo minimundo 2 3 1 Minimundo O minimundo geralmente o ponto ini
126. emplos cl ssicos de aplica es que uti lizam bancos de dados para manipular textos valores imagens etc figura 37 Figura 37 Banco de dados aquisi o de passagens a reas A a A ar Fa e Cond a movimenta o o EA banc ria ma NG lz r A Pa compras b ri il Ea em lojas x j a reservas 7 pesquisa em compras em T r Q Q em hotel bibliotecas supermercados informatizadas 3 1 Evolu o dos sistemas de computa o Os ltimos anos t m sido pr digos em termos da tremenda evolu o obser vada nos sistemas computacionais O avan o nas diversas vers es dos sistemas operacionais permite que haja cada vez mais e mais recursos dispon veis e novas metodologias de acesso que ampliam a velocidade e a forma de us los Entre as novidades est o os bancos de dados p s relacionais tamb m chamados de ban cos de dados orientados a objetos Tudo isso tem um grande impacto tamb m na constru o de sistemas de aplica o Vale portanto analisar as metodologias empregadas na implanta o de sistemas comerciais baseados em computadores 3 1 1 Abordagem tradicional Segundo o professor e pesquisador Abraham Silberschatz 1999 a abordagem tradicional baseada em t cnicas n o estruturadas utilizando a intui o natural do analista de sistemas bem como em sua capacidade criativa e viv ncia no am biente do sistema ou seja em seu conhecimento de neg cios A principal caract
127. empo de resposta definido e na estru tura de software e hardware proposta 4 2 As varias op es da UML Como afirmaram seus pr prios criadores a linguagem UML oferece op es para an lise e defini o em todas as fases do desenvolvimento de software da concep o arquitetura de hardware e software em que a solu o ser im plementada passando pelo detalhamento das funcionalidades tanto est ticas quanto din micas e fornecendo apoio defini o da melhor solu o para o software orientado a objetos a ser criado Deve ficar claro para n s o que est tico e o que din mico na vis o da UML Est tico aquilo que n o muda dentro do software isto a estrutura a defini o das classes a modulariza o as camadas e a configura o do hardware J a parte din mica diz respeito s mudan as de estado que os itens podem sofrer no decorrer da execu o do software por exemplo pelas altera es ocasionadas pelas trocas de mensagens entre os itens nesse momento Utilizamos a UML para criar modelos em que os diversos aspectos relevantes ao estudo e defini o da solu o de software podem ser observados para que o programa tenha qualidade e imple mente as funcionalidades necess rias com a performace esperada pelo usu rio J discutimos em outros cap tulos as vantagens de se criar modelos no desen volvimento de software e a UML nos permite cri los para todas as fases desse processo oferec
128. empregado registrou a venda e qual recebeu o pagamento e O estoque de modo que cada produto vendido seja debitado no saldo e A necessidade de reposi o de produtos o modelo deve ter capacidade para gerar a qualquer momento a rela o dos itens cujo saldo est abaixo do estoque m nimo desej vel para facilitar a identifica o daqueles que precisam ser repostos e A durabilidade e o uso dos cart es e Seus fornecedores endere os telefones e o nome do contato na empresa para efetuar a compra Uma observa o importante o senhor Jo o j possui um controle fiscal e cont bil de toda a movimenta o cujos documentos e registros ele envia semanalmente para seu contador Fica assim para o modelo a ser proposto apenas o controle f sico estoque e financeiro das transa es Vamos pensar no problema proposto pelo senhor Jo o construir um modelo e demonstr lo por meio de um diagrama de entidade e relacionamento Para isso preciso dar v rios passos Passo Listar as entidades candidatas a integrante do modelo Quando recebemos uma solicita o nesse formato isto um texto que descre ve a situa o a ser tratada no modelo uma pr tica bastante usada no pr prio texto fazer a identifica o das poss veis entidades e relacionamentos assim como dos principais atributos grifando os substantivos e verbos essenciais para depois analis los a fim de atribuir lhes os devidos pap is Vejamos o que pode
129. enado em determinado atributo de um objeto e Set d um valor a um atributo Os m todos get e set s o muito teis para preservar os atributos e garantir que sua altera o seja feita unicamente por interm dio deles Chamamos isso de encapsula mento dos atributos de uma classe pois podemos deixar todos eles com visibilidade privada e s manipul los utilizando os m todos get para retornar o valor que est no atributo e set para atribuir um valor a ele Geralmente adotamos um m todo set e um m todo get para cada atributo da classe e Destrutor destr i o objeto criado da mem ria liberando o espa o de mem ria alocado na sua cria o N o necess rio cri lo em linguagens orientadas a objetos que possuam garbage collector isto que excluam os objetos que j n o tenham refer ncia alguma na mem ria O garbage collector e Assinatura a primeira linha da defini o de um m todo no qual podemos procura o lixo existente na mem ria OU seja os objetos que n o s o utilizados observar sua visibilidade seu nome seus par metros de entrada e de retorno Exemplo soma valori double valor2 double double e no entanto A assinatura do m todo mostrado no exemplo acima indica que ocupam espa o na mem ria Essa tarefa e o s mbolo no in cio da assinatura demonstra que se trata de um m todo p pode ser executada automaticamente ou programada blico ou seja que todos os objetos que tivere
130. endado Muitos desses problemas s o derivados da falta de aten o na hora de definir e acompanhar a evolu o dos requisitos durante o processo de constru o do sistema DA ROCHA 2004 Por esse motivo necess rio realizar o levantamento dos requisitos do sis tema As funcionalidades e os recursos devem ser definidos pelo usu rio do sistema isto pela pessoa da empresa que necessita de um programa para solucionar um determinado problema Ent o fica claro que o usu rio est no centro de levantamento de requisitos do software quem conhece as neces sidades a serem supridas pelo sistema e por isso precisa ser informado de sua import ncia no processo A falta de cuidado com o levantamento dos requisitos de um sistema pode gerar problemas muito s rios como resolu o de um problema errado ou de forma errada funcionamento diferente do esperado complexidade na utiliza o e en tendimento por parte dos usu rios e alto custo SWEBOK 2004 Guide to the Software Engineering Body of Knowledge Tudo isso mostra a import ncia de empregar bem o tempo para entender o problema e seu contexto e obter assim os requisitos certos na primeira vez 1 8 1 O que um requisito Requisito a condi o ou a capacidade que um sistema deve atender Segundo uma das normas padr es do IEEE 1220 de 1994 um requisito uma sen ten a identificando uma capacidade uma caracter stica f sica ou um fator de qualidade que limi
131. endo ao desenvolvedor subs dios para chegar a uma solu o de qualidade com uma boa vis o de cada etapa Os autores apontam cinco diferentes vis es proporcionadas pela UML durante a constru o de modelos de software S o elas Vis o de casos de uso permite melhor compreens o do problema a ser resolvi do ajudando na defini o das fronteiras do sistema seus principais usu rios e as principais funcionalidades a serem implementadas Vis o de projeto auxilia na an lise da estrutura e das funcionalidades esperadas da solu o Vis o de processo tamb m chamada de vis o de intera o foca o fluxo de con trole entre os diversos componentes da solu o permitindo tamb m a an lise de seu desempenho a sincroniza o e a concorr ncia entre seus componentes necess ria para o perfeito funcionamento da solu o Vis o de implementa o ajuda a definir a estrutura da solu o isto os ar quivos de instala o seu controle de vers es Vis o de implanta o trata da estrutura de hardware e software ou seja do ambiente em que a solu o ser implementada figura 96 z BH LEEDS PLA CNE PPC SAIO y 2 4 42 4 5 4 p 2 gt t w ft MIOR NF e SU SIGTET F 5 Eeri P os se g ESCRITA ONAN BO POHODU sara Pyer Cop ARA z 128 BL yi d ae Trg EA tim REKS BIICL BED DAS TE Pdf PESO Figura 96 Vis es de um projeto utilizando UML CAP TULO 4 INFORM TICA
132. entre os objetos em um determinado ponto da execu o do sistema CAP TULO 4 4 3 9 Diagrama de componentes Mostra a organiza o e as depend ncias existentes em um conjunto de compo nentes os diagramas de componentes abrangem a vis o est tica de implementa o de um sistema BOOCH RUMBAUGH e JACOBSON 2005 O diagrama de componentes um diagrama estrutural que nos ajuda a analisar as partes do sistema que podem ser substitu das por outras que implementem as mesmas interfaces de entrada e ou de sa da sem alterar o seu funcionamento Principais componentes componentes interfaces classes e relacionamentos Todo componente geralmente pode ser substitu do por uma classe que imple menta suas interfaces Por isso bastante dif cil separar um do outro Mas cos tumamos utilizar o diagrama de componentes quando precisamos documentar um componente que pode ser substitu do no sistema Um claro exemplo de uso de componente e consequentemente do diagrama de componentes no estudo de caso da padaria do senhor Jo o a representa o da balan a que pesa os produtos comercializados na padaria Como a balan a vai interagir com os componentes do software alimentando o sistema com informa es sobre o produto vendido como peso e valor o senhor Jo o poder substituir a balan a apenas por outra que possibilite as mesmas interfaces tanto de entrada quanto de sa da Vejamos na figura 124 como repre sentamos ess
133. er odo sempre tendo em mente o retorno do investimento FOWLER 2009 E crucial entender perfeitamente os entraves envolvidos no desenvolvimento de um software Embora n o exista uma conduta padr o sempre bom partir do princ pio de que se est em busca de solu es para os problemas do cliente Com a defini o de objetivos atividades e participantes consegue se a exce l ncia no desenvolvimento de software pois h gest o controle e padroniza o do processo Tudo isso diminui os riscos de problemas com cronograma trei namento qualidade e aceita o do sistema pelos usu rios Vejamos quais s o os objetivos as atividades e os participantes 1 4 1 Objetivos Defini o alinhar todas as atividades a executar no decorrer de todo o projeto e assim desenvolver tudo o que foi previsto no seu escopo Planejamento definir em um cronograma quando como quais os recursos de hardware e de software necess rio e quem ir realizar determinada tarefa Controle ter sempre meios de saber se o cronograma est sendo cumprido e criar planos de conting ncia caso haja problemas no fluxo Padroniza o seguir as mesmas metodologias por todos os envolvidos no pro jeto para n o haver dificuldades de entendimento e Software de engenharia ou cientifico sistemas utilizados em areas como astronomia an lise de resist ncia de estruturas biologia molecular etc e Sistemas embarcados ou software residente programas al
134. erface que n o informa detalhes das funcionalidades que esta define Vemos na figura 98 a representa o de uma interface sendo implementada por uma classe que tamb m tem uma defini o de sua interface de entrada Colabora o s o agrupamentos de classes relacionamentos e interfaces que constituem uma unidade do sistema figura 99 Dizemos que essa unidade maior que a soma das classes e relacionamentos implementados S o repre sentados por uma elipse tracejada com o nome da colabora o ao centro A colabora o serve tamb m para nos dar uma vis o em n vel mais alto de abs tra o quando n o necess rio entrar em todos os detalhes de determinado item em an lise Casos de uso descrevem uma sequ ncia de a es a serem executadas pelos componentes da solu o S o ativados por um ator servem de base para definir os comportamentos dos elementos da solu o de software e s o realizados por uma colabora o S o representados por uma elipse com o nome da opera o que implementa no centro figura 100 Componentes s o estruturas que instituem uma funcionalidade de uma so lu o de software por meio da implementa o de uma ou mais interfaces de finidas Podem ser substitu dos dentro de uma solu o por outro componente que implemente todas as suas interfaces sem preju zo ao sistema como um Controle de Estoque Solicitar Pre o Figura 98 Classe implementando uma interface de entrada
135. es Acontece que a popula o mundial cresceu assim como a quantidade de informa es dispon veis e desse modo pesquis las tornou se mais complexo o que exigiu novas formas de organiza o Tente achar um livro na biblioteca figural1 de sua escola sem saber como est o organizadas as estantes V procurando estante por estante livro por livro Quanto tempo ir demorar Agora pense em fazer a mesma pesquisa na Biblio teca Nacional do Rio de Janeiro ou na Biblioteca do Smithsonian Museum dos Estados Unidos que s o muito maiores que a de sua escola Sem uma orga niza o pr via fica muito demorado e trabalhoso obter as informa es de que precisamos em nosso dia a dia E como a inform tica pode ajudar na organiza o Muito e em todo esse pro cesso que inclui armazenamento manuten o e consulta de informa es pro porcionando agilidade uniformidade e seguran a em todas as suas fases Ao juntarmos o conhecimento preexistente velocidade de processamento e capa cidade de armazenamento de informa es que a inform tica oferece chegamos a modelos extremamente interessantes no que diz respeito facilidade de uso velocidade de acesso e de respostas al m de baixo custo de manuten o Depois de v rios estudos chegou se a uma metodologia para projetar e construir bancos de dados otimizados capazes de permitir o acesso mais r pido e consisten te s informa es utilizando espa o cada vez menor de
136. es importantes esse diagrama nos oferece Mas ficou claro para voc como cada um desses casos de uso devem ser implementados Provavelmente n o porque ainda estamos com uma vis o macro do problema e precisamos descer para outro n vel de abstra o nesse momento que devemos ter bom senso para perceber at onde devemos ir na constru o de n veis mais baixos de abstra o de modo que n o empre guemos tempo demais criando diagramas desnecess rios para situa es que j est o bastante claras O pr ximo passo ser criar um diagrama para cada caso de uso listado mos trando mais detalhadamente seu funcionamento CAP TULO 4 Vamos analisar agora o caso de uso Registrar compra produtos figura 114 Nesse diagrama foi feito um detalhamento do caso de uso Registrar compra produtos Analisando o diagrama pode se verificar que para registrar uma com pra preciso registrar data e hora atuais registrar o cliente por interm dio do n mero do cart o registrar o funcion rio confirmando seu login e senha re gistrar o produto confirmando sua exist ncia e registrar a quantidade vendida confirmando se h saldo suficiente para fazer a venda Figura 14 Observe que esse diagrama j possui muitas informa es talvez at mais do Caso de uso Registrar compra produtos Registrar compra produtos Verificar data e hora atuais Verificar exist ncia lt lt include gt gt 27 lt lt include gt
137. esfor os para manter cada risco sob controle Identifica o An lise Planejamento Monitoramento do risco do risco do risco do risco Planos de Lista dos riscos Lista dos riscos conting ncia e de Avalia o dos potenciais priorizados tratamento riscos dos riscos Figura 6 Atividades do processo de gerenciamento de riscos CAP TULO INFORM TICA 3 Para facilitar o desenvolvimento de um software podem ser utilizadas ferramentas que auxiliem na constru o de modelos na integra o do trabalho de cada membro da equipe no gerenciamento do andamento do desenvolvimento etc Os sistemas utilizados para dar esse suporte s o normalmente chamados de CASE sigla em ingl s para Computer Aided Software Engineering Engenharia de Software de Suporte Computacional Al m dessas ferramentas outros instrumentos importantes s o aqueles que fornecem suporte ao gerenciamento como desenvolvimento de cronogramas de tarefas defini o de aloca es de verbas monitoramento do progresso e dos gastos gera o de relat rios de gerenciamento etc Figura 7 As fase da prototipagem Prototipagem Fazer um prot tipo de software garante a possibilidade de examinar antecipada mente os requisitos do programa figura 7 Ou seja desenvolve se um exemplar simplificado de forma r pida para que as quest es relativas a requisitos sejam en tendidas ou esclarecidas Com ele poss vel melhorar muit
138. espons veis pela cria o manuten o e bom funcio namento do banco de dados Avaliam sua performance com frequ ncia e sempre que necess rio tratam de aprimor la 3 3 Abordagem relacional Em 1969 o pesquisador da IBM Edgar Frank Codd j mencionado no cap tulo 2 come ou a pesquisar uma maneira melhor de organizar dados e introduziu o conceito de banco de dados relacional que organizado em tabelas simples Conforme Elmasri 2002 Codd criou um modelo que permite aos projetistas dividir suas bases de dados em tabelas separadas mas relacionadas de modo tamb m chamada de query um comando que requisita o resgate de uma informa o com base na lgebra relacional e no c lculo relacional de tupla CAP TULO 3 INFORM TICA 3 A chave prim ria Primary Key serve para identificar cada registro numa tabela Pode ser um atributo ou uma combina o de atributos A chave estrangeira Foreign Key pode ser uma coluna ou combina o de colunas usada para estabelecer links entre duas tabelas a otimizar a efici ncia da execu o mantendo a mesma apar ncia externa do banco de dados original para os usu rios Por isso considerado o pai do banco de dados relacional A maioria dos bancos de dados relacional Baseia se no princ pio de que as informa es em uma base de dados podem ser consideradas como rela es matem ticas e s o representadas de maneira uniforme Os obje tos man
139. ess rias para executar determinada funcionalidade do sistema que estamos projetando Tal funcionalidade pode ser uma opera o envolvendo v rios casos de uso Como seu nome diz este diagra ma faz parte dos diagramas de intera o O diagrama de vis o geral tem a mesma estrutura do diagrama de atividades trocando as atividades por diagramas de sequ ncia que mostram as classes al m de mensagens envolvidas em cada caso de uso Principais componentes diagramas de sequ ncia decis es fluxos Como utiliza os mesmos blocos de constru o do diagrama de atividades pode mos verificar passo a passo as intera es das classes em cada uma das sequ n cias criadas no diagrama de vis o geral de intera o Vejamos um exemplo desse diagrama modelando a sequ ncia de atividades des de o registro at o pagamento da compra figura 128 Podemos observar passo a passo o registro de produtos comprados pelo clien te tanto por meio do computador quanto da balan a analisando cada intera o at o pagamento que finaliza o processo 4 4 Exemplo de desenvolvimento de projetos utilizando UML Geralmente desenvolvemos os diagramas de casos de uso para agrupar as fun cionalidades mais importantes a serem implementadas Sobre tais funcionali dades criamos o diagrama de classes que ser a estrutura de nossa aplica o ou o que chamamos de classes de projeto No caso da padaria do senhor Jo o as classes de projeto s o as classe
140. fetadas j que a defini o de localiza o dos dados deve ser externa lin guagem de manipula o de dados Regra n mero 9 Independ ncia de dados l gicos Os programas de aplica o tamb m permanecem inalterados quando s o feitos nas tabelas mudan as de qualquer tipo para preservar a informa o Aqui a regra implica por exemplo que a jun o de duas tabelas n o afeta os programas assim como a cria o de novos campos e as opera es de sele o que dividem uma tabela por linhas ou colunas desde que se preservem as chaves prim rias Se por exemplo criarmos um novo relacionamento entre duas en tidades ou modificarmos a condi o de relacionamento entre elas em hip tese nenhuma isso afetar as aplica es existentes Regra n mero 10 Independ ncia de integridade As restri es de integridade espec ficas de determinado banco de dados re lacional devem ser defin veis na sublinguagem e armazen veis no cat logo do sistema e n o nos programas de aplica o Restri es de dom nio e regras para valida o de alguns ou todos os atri butos tamb m devem ser armazen veis no dicion rio de dados Defini es por exemplo do tipo de caractere de um campo se num rico se inteiro ou de tamanho vari vel devem estar especificadas nele J quanto ao controle de sua validade consist ncia deve haver a possibilidade de ser realizado pela sublinguagem do SGBD sem que para isso haja necessidade d
141. for o de programa o bom frisar que sempre que houver grandes altera es temos uma forte tend ncia de esquecer alguns procedimentos ao realizar alguma modifica o o que pode resultar em erros que muitas vezes demoramos para perceber pois o sistema poder continuar gravando as informa es na base de dados anterior Caso haja muitos programas desenvolvidos dessa maneira o sistema de tecnolo gia da informa o da organiza o ineficiente pois se trata de uma abordagem antiga e inadequada ao atual est gio de desenvolvimento de sistemas Esse tipo de abordagem pode ser visualizada da seguinte forma cada usu rio utiliza um aplicativo ou um conjunto de aplicativos o qual por sua vez usa um arquivo de dados que muitas vezes n o acessado por outro usu rio como sugere a ilustra o a seguir figura 38 As principais caracteristicas da abordagem tradicional s o cada aplica o tem seus pr prios arquivos os dados s o repetitivos inconsist ncia subordina o de programas a arquivos manuten o dificil e cara o analista o dono do sistema falta de integridade e de seguran a CAP TULO 3 INFORM TICA 3 Figura 38 A abordagem tradicional para cada Usu rio um ou mais aplicativos As principais caracteristicas da abordagem de sistemas integrados s o pouco adapt vel as altera es comprometem v rios sistemas aplica es est ticas com o tempo problemas em um
142. gens O diagrama de comunica o mostra a rela o entre os objetos analisando a troca de mensagens entre eles Mas n o se preocupa necessariamente com a ordem em que elas ocorrem e sim com quais objetos as mensagens s o trocadas e quais s o as mensagens Vamos analisar um diagrama de comunica o tomando por base o caso de uso Registrar compra produtos figura 119 Veja que ele traz basicamente as mesmas informa es do diagrama de sequ n cia mas em ordem diferente dando nfase s mensagens trocadas pelos objetos mas n o necessariamente quando essas mensagens s o trocadas Em muitos projetos usa se ou o diagrama de sequ ncia ou o diagrama de comuni ca o mas tamb m pode se criar ambos para an lise de alguma situa o particular 4 3 5 Diagrama de atividades E um diagrama que mostra o fluxo de controle e dados de uma atividade para outra os diagramas de atividades abrangem a vis o din mica do sistema BOOCH RUMBAUGH e JACOBSON 2005 CAP TULO 4 sFuncionario verificaFuncionario cpf senha boolean 3 valorUnitario verificaProduto produto quantidade double Se 2 verificaCartao nroCartao boolean 4 tem Compra produto quantidade precoUnitarioVenda funcionario boolean 5 atualizaTotalCompra valorTotalltem boolean Figura 19 Por modelar aspectos din micos do sistema esse diagrama permite an lise e do Diagrama de cumenta o da sequ ncia de
143. har atributos para elas e se poss vel alguma funcionalidade Coloque as classes em um diagrama e comece a analisar as rela es entre elas de acordo com os tipos de relacionamentos que voc estudou Lembre se de que todos esses componentes foram definidos anteriormente Se tiver d vidas volte a ler as defini es sobre o tema Vamos agora analisar uma parte do diagrama de classes da padaria do senhor Jo o Essa parte foi montada com nfase nos casos de uso Registrar compra e pagar compra Por isso ser o mostrados somente os m todos envolvidos na CAP TULO 4 O Diagrama de classe n o deve faltar em projetos orientados a objetos Devemos prestar muita aten o ao criar um diagrama de classes que sera a base da nossa solu o INFORM TICA 3 execu o desses casos de uso veja figura 115 As classes que n o participam deles s o apresentadas apenas como seus atributos Podemos identificar v rios elementos da teoria de orienta o a objetos nessa parte do diagrama Vemos a exemplos de generaliza o especializa o entre as classes Funcionario Dono Atendente e Caixa E tamb m de composi o Figura 15 Diagrama de classes Fornece dataEntrada date nroNF int valorTotal double lancadoPor Funcionario datalancamento date horaLancamento time fornecedor Fornecedor Fornecedor ItemFornece produto Produto quantidade double valorUnitario double
144. i llemCompra itisllemFornece produto prod quantidade 4 00 E um diagrama de intera o que mostra os tempos reais em diferentes objetos e valorUnitario 2 83 pap is em vez de sequ ncias de mensagens relativas BOOCH RUMBAUGH e JACOBSON 2005 4 3 11 Diagrama de temporiza o dataCompra 27 10 2009 qualidade 3 00 valorTotal 2 80 dataRegistro 27 10 2009 terminada true horaRegistro 12 05 recebidoPor func atendidoPor func Cliente cart O diagrama de temporiza o como o nome diz tem seu foco principal no es tudo do tempo gasto nas trocas de mensagens entre os componentes do sistema um diagrama de intera o pois auxilia o entendimento do processo de troca de mensagens entre os diversos componentes do sistema Geralmente utilizado fornec Fornece forn Fornecedor em projetos de sistemas de tempo real em que os tempos gastos nas trocas de dataEntrada 27 102009 codigo 46 mensagens e de estados na execu o da tarefa s o essenciais nroNF 123 nome Fulano de Tal Ltda valorTotal 483 17 cnpj 12 345 678 0009 10 i g P ads E E rosa an Esse um diagrama de uso espec fico que n o se utiliza em todos os projetos func Funcionamento cpf 123 456 789 0 nome Olavo Petronio Caz nroCarteiraProfissional 12345 dataAdimissao 13 05 199 dataDemissao null senhaz dataLancamento 27 10 2009 Mas trata se de um recurso que voc deve conhecer caso precise analis
145. ia 187 4 3 4 Diagrama de comunica o 190 4 3 5 Diagrama de atividades 190 4 3 6 Diagrama de pacotes 192 4 3 7 Diagrama de gr ficos de estados 192 4 3 8 Diagrama de objetos cc 194 4 3 9 Diagrama de componentes 195 4 3 10 Diagrama de implanta o 196 4 3 1 Diagrama de temporiza o 197 4 3 12 Diagrama de estrutura composta 200 4 3 13 Diagrama de visao geral de intera o 201 4 4 Exemplo de desenvolvimento de projetos utilizando UML 201 204 Considera es finais 205 Refer ncias bibliogr ficas lt lt ator gt gt Avalia a ilena and de Hargi dna De Reco ara fal CE RISCA P Op EE 3 de Raga ri pi F uiios kiea de SITE Blaiheki evida Cpea o Ahanuistos de Soltar Fiata d Requisitos de faan e Ha Vaida Eram to da C digo lrmrse rs Es diendica o Trie de INFORM TICA 3 INFORM TICA 3 As cinco gera es de maquinas automa o h algum tempo tornou se um diferencial competi tivo para as organiza es Tal moderniza o pode ser entendida como o esfor o para transformar as tarefas manuais repetitivas em processos independentes realizados por m quinas Com isso a gest o passou por uma verdadeira revolu o erros que antes eram cometidos por falhas de c lculos ag
146. id trocarMarcha void 4 1 2 3 Tipos de relacionamento entre classes Existem basicamente tr s tipos de relacionamento entre classes depend ncia associa o e heran a 1 Depend ncia um relacionamento de utiliza o determinando que um ob jeto de uma classe use informa es e servi os de um objeto de outra classe mas n o necessariamente o inverso depend ncia representada graficamente por uma linha tracejada com uma seta indicando o sentido da depend ncia Como voc pode observar na figura 87 a classe Janela dependente da classe Evento 2 Associa o um relacionamento estrutural que especifica objetos de uma classe conectados a objetos de outra classe partir de uma associa o conectan do duas classes voc capaz de navegar do objeto de uma classe at o objeto de outra classe e vice versa BOOCH RUMBAUGH e JACOBSON 2005 Repre sentada por uma linha interligando as duas classes uma associa o pode definir pap is das classes relacionadas assim como a multiplicidade de sua associa o al m de ter um nome Mas nenhum desses componentes obrigat rio em uma associa o e s devem ser usados para deixar mais clara a sua defini o largura double altura double nome String abri void start void fechar void tratarEvento void CAP TULO 4 Figura 86 Outra forma de representar uma classe em UML 2 0 Figura 87 Representa o
147. idade para os casos de uso cujo procedimento e funcionamento pretendemos deixar documentados Verificamos ent o se necess rio documentar as interfaces de algum componente de software e elaboramos diagramas de componentes para isso Se houver classes que mudam de estado no decorrer da execu o do sistema desenvolvemos o diagrama de m quinas de estados para demonstrar qual a ideia da mudan a de estado para cada uma delas Por fim se o ambiente de implanta o for um ambiente heterog neo isto que envolve arquitetura com v rios servidores como servidor de banco de da dos e servidor de aplica es entre outros criamos o diagrama de implanta o para demonstrar a arquitetura de software e hardware onde a aplica o dever ser instalada Veja que nessa forma de desenvolvimento utilizamos os diagramas de casos de uso os de classes os de sequ ncia os de pacotes os de atividades o de m quina de estados os de componentes e o de implanta o Tudo depende do tamanho da aplica o a ser desenvolvida e das dificuldades que encontramos nas fases de an lise e projeto de software comum tamb m surgirem altera es nos modelos na fase de programa o do software Nesse caso voltamos ao modelo e inclu mos as altera es que fizemos na fase de programa o e testes Mesmo depois de implantada a so lu o sempre que for necess rio fazer alguma altera o no sistema devemos voltar ao modelo e fazer a inclus o
148. ido em etapas denomina das incrementos os quais conduzem aos aprimoramentos necess rios at que se chegue vers o final FOWLER 2009 Em cada incremento ocorre todo o ciclo de desenvolvimento de software do planejamento aos testes Por essa ra z o ao final de uma etapa j poss vel obter um sistema totalmente funcional embora n o contemple todos os requisitos do produto final figura 4 Entre as vantagens dessa metodologia est justamente a possibilidade de de finir melhor os requisitos que muitas vezes n o ficam muito claros no in cio do processo O primeiro passo trabalhar o n cleo do sistema ou seja s o implementados os requisitos b sicos sem os detalhes Em seguida o produto avaliado pelo usu rio para a detec o de problemas iniciais os quais j po dem ser corrigidos caso contr rio poderiam assumir grandes propor es ao surgirem apenas na vers o final Outro benef cio o fato de o cliente esclare cer os requisitos e as prioridades para os pr ximos incrementos al m de poder contar com as facilidades da vers o j produzida Assim com a constru o de um sistema menor sempre muito menos arriscada do que o desenvolvimento de um sistema grande se um grave erro cometido ou se existe uma falha no levantamento de requisitos somente o ltimo incremento descartado Ganha se em performance pois s o m nimas as chances de mudan as bruscas nos requisitos e em tempo de desenvolvimento
149. im atributo da entidade compra Forma de pagamento informa o a op o de pagamento do cliente um atributo da entidade compra Troco a diferen a entre o valor da compra e o valor dado em dinheiro pelo cliente para o pagamento da compra Atributo de compra Fornecedores s o os respons veis por fornecer ao senhor Jo o os produtos que ele vende Possuem um conjunto de informa es relevantes como nome ende re o telefone para contato uma entidade Assim listamos como entidades produtos padaria funcion rios clientes com pra cart o e fornecedores Como a boa pr tica manda nominar as entidades como substantivos no singular teremos produto padaria funcion rio cliente cart o forma de pagamento e fornecedor Analisando agora as entidades e pensando em sua relev ncia temos que e entidade padaria deve ser retirada de nosso modelo Como a ideia criar o modelo apenas para uma padaria essa pode ficar fora de nosso escopo e entidade cliente tamb m pode ser retirada de nosso modelo pois entre as funcionalidades que o senhor Jo o nos solicitou n o consta identificar o que cada cliente comprou Voc j se cadastrou em alguma padaria em que foi fa zer compra Na maioria dos casos isso n o acontece Por isso em nosso caso o cliente ser substitu do pelo cart o Chegamos ent o a uma lista final de quatro entidades e Produto e Funcion rio e Cart o e Fornecedor CAP TULO 2
150. im ria os atributos numero codigo cartao e codigo produto e como chaves estrangeiras os atributos codigo cartao e codigo produto Fornece numero nota data codigo fornecedor codigo produto quantidade valor unitario tendo como chave prim ria os atribu tos numero nota codigo fornecedor e codigo produto e como chaves estrangeiras codigo fornecedor e codigo produto Cartao codigo data inicio uso data fim uso a chave prim ria foi definida sendo o atributo codigo Agora vamos analisar cada uma das entidades OBSERVA ES e Sempre que for preciso desmembrar uma entidade isso deve ser feito de maneira que seja possivel retornar a forma anterior evitando com isso a perda de informa es e Sempre que se fizer o desmembramento de uma entidade as tabelas resultantes devem ser submetidas novamente s formas normais para se ter certeza de que est o corretamente normalizadas CAP TULO 2 INFORM TICA 3 Entidade cart o Cartao codigo data inicio uso data fim uso O atributo c digo foi definido como chave prim ria Est em Primeira Forma Normal pois todos os seus atributos s o at micos A entidade cartao est em Segunda Forma Normal pois sua chave prim ria n o composta Vamos verificar a depend ncia funcional da entidade cartao codigo data inicio uso codigo data fim uso Logo a entidade cartao est em Terceira Forma Normal pois todos os atributos s o dependentes funci
151. inar as funcionalidades comuns a essas rotinas como por exemplo a manuten o de informa es cadastrais Pode se dizer que os requisitos de registrar um produto em um cart o lan ar uma nota fiscal de um fornecedor ou registrar o pagamento de uma venda descrevem a movimenta o da padaria logo cabe inclu los no grupo de rotinas de movimenta o do sistema da padaria Haver ainda grupos para as consultas e relat rios do sistema nos quais ser o reunidas as rotinas que implementar o essas funcionalidades A engenharia de software oferece v rias t cnicas para separar as rotinas do sis tema em m dulos como o Diagrama Hier rquico de Fun es ou os Diagramas de Pacotes e de Componentes que veremos no cap tulo 4 2 3 10 Projeto de programas da aplica o A partir de agora vamos utilizar v rios conceitos relacionados ao desenvolvi mento de software Primeiro ser preciso definir a linguagem de programa o que adotaremos para implementar a solu o Para isto temos de levar em conta o ambiente em que o sistema ser implementado ou seja o sistema operacional CAP TULO 2 INFORM TICA 3 instalado Tamb m preciso considerar a estrutura de hardware definida para a solu o se o programa ser implantado em uma rede de computadores qual sua arquitetura e onde ficar o instalados a aplica o e o Sistema Gerenciador de Banco de Dados SGDB tema ali s que veremos mais adiante Definir um padr o
152. ipulados pelos usu rios s o as linhas tuplas na terminologia original e as colunas das tabelas Para fazer isso o usu rio conta com um conjunto de operadores e fun es de alto n vel denominados lgebra relacional 3 3 1 Caracteristicas principais As principais caracter sticas da abordagem relacional baseiam se em uma s rie de fatores KORTH 1995 definidos a seguir Estrutura de dados tabular os dados s o representados em forma de tabela que denominada rela o constitu da de linhas ou tuplas colunas ou atribu tos e finalmente tipos de dados que podem aparecer em uma coluna espec fica chamada dom nios Assim n o existe o conceito de item de grupo em um banco de dados relacional Todos os itens de uma tabela s o elementares e lgebra relacional a manipula o das tabelas realizada por operadores por meio dos quais podemos acessar dados de diversas maneiras ou seja um conjunto de opera es e rela es Cada opera o usa uma ou mais rela es como seus operandos e produz outra rela o como resultado Dessa forma a recupera o das informa es em um SGBD relacional se faz em conjuntos de registros que compor o uma nova rela o e Dicion rio de dados ativo e integrado um banco de dados que mant m as descri es dos objetos existentes no sistema da empresa deve ser ativo no sentido de estar sempre dispon vel para utiliza o e integrado na medida em que englobe todas as info
153. is par metros Declara se o nome do procedimento e a seguir o tipo de dados do par me tro Ao inv s de CREATE PROCEDURE pode se utilizar CREATE PROC com o mesmo efeito CAP TULO 3 INFORM TICA 3 Dentro do procedimento pode haver v rios comandos SELECT e o seu resulta do ser do procedimento O corpo do procedimento come a com a palavra AS e vai at o seu final N o se pode usar os comandos SET SHOWPLAN TEXT e SET SHOW PLAN ALL dentro de um procedimento armazenado pois esses devem ser os nicos comandos de um lote batch Executando procedimentos armazenados Para executar um procedimento usa se o comando EXEC ou EXECUTE A palavra EXEC pode ser omitida se a chamada de procedimento for o pri meiro comando em um Script ou vier logo ap s um marcador de fim de lote a palavra GO Por exemplo podemos executar o procedimento anterior da seguinte forma BuscaCliente an Os resultados ser o as linhas da tabela cliente onde o valor de nome cont m an se existirem tais linhas Ao executar um procedimento podemos informar explicitamente o nome de cada par metro por exemplo BuscaCliente nomeBusca an Isso permite passar os par metros se houver mais de um fora da ordem em que eles foram definidos no procedimento EXEC tamb m pode executar um procedimento em outro servidor Para isso a sintaxe b sica EXEC Nome servidor nome banco de dados nome procedimentos Trigge
154. itadas pelo cliente no levanta mento de requisitos est o funcionando corretamente Implanta o disponibilizar os processos para utiliza o pelo usu rio final 1 4 3 Participantes Gerentes de projeto entram em contato com o cliente para levantar suas ne cessidades assumindo a responsabilidade pelo cumprimento das fases de desen volvimento e do cronograma Analistas de sistema elaboram o projeto do sistema utilizando UML Uni fied Modeling Language ou Linguagem de Modelagem Unificada ferra mentas de modelagem de processos t cnicas de an lises de sistemas e t cnicas de projetos de sistemas Arquitetos de software definem a arquitetura em que o sistema funcionar web Windows Linux etc com conhecimento dos pontos fortes e fracos de cada ambiente de acordo com as necessidades do cliente Programadores codificam em linguagem de programa o os requisitos do sistema elaborados pelo analista de sistemas nos modelos UML Clientes solicitam o desenvolvimento em entrevistas durante as quais ser o definidos os requisitos do sistema Avaliadores de qualidade realizam os testes do sistema utilizando ou n o ferramentas como o J Test 1 5 Modelo de ciclo de vida O ciclo de vida em sistemas informatizados tem as mesmas etapas do ciclo de vida de um ser humano ADIZES 1999 figura 1 O namoro considerado o primeiro est gio do desenvolvimento quando o sistema ainda nem nasceu e existe apenas
155. ite com um custo muito menor de tempo dinheiro e trabalho em compara o ao do desenvolvimento do produto final analisar e desenvolver alguns aspectos que far o a diferen a no produto final Ou seja no modelo podemos criar testar funcionalidades novas e avaliar o projeto com um baixo custo antes de sua implementa o Abstra o Para exemplificar o que abstra o vale acompanhar um exemplo bem cor riqueiro e que muita gente vivencia Quando olhamos para uma casa pode mos pensar em seu tamanho sua localiza o no n mero de quartos que a integram na cor das paredes J um engenheiro civil ao olhar para a mesma casa pensar em como ela foi constru da se o material utilizado de boa qua lidade se sua estrutura foi concebida para suportar seu tamanho O pedreiro pensar na quantidade de tijolos cimento pedras areia e ferro que foram necess rios para constru la O jardineiro avaliar sua localiza o o clima e sua posi o em rela o ao sol al m das melhores plantas para o jardim O encanador pode refletir sobre qual o tamanho da caixa d gua para garantir o abastecimento na casa e em quantos metros de encanamento de cada largura foram necess rios para seu sistema hidr ulico O eletricista talvez pense sobre a metragem e a bitola dos fios empregados no sistema el trico O corretor de im veis se concentra na metragem da casa no n mero de c modos de vagas na garagem na localiza o no pre o de
156. ject Oriented Software Engineering de Ivar Jacobson que for necia excelente suporte para casos de usos como forma de controlar a captu ra de requisitos a an lise e o projeto de alto n vel e OMT Object Modeling Technique de James Rumbaught que era mais til para an lise e sistemas de informa es com o uso intensivo de dados Mas podemos dizer que essa hist ria come ou bem antes nos anos 1960 com Alan Curtis Kay na Universidade de Utah Estados Unidos Considerado um dos pais da orienta o a objetos com sua analogia alg brico biol gica Kay postulou que o computador ideal deveria funcionar como um organismo vivo isto cada c lula mesmo aut noma deveria se relacionar com outras a fim de alcan ar um objetivo As c lulas poderiam tamb m se reagrupar para resolver outros problemas ou desempenhar outras fun es Kay que era pesquisador da Xerox quando surgiu a linguagem Smalltalk no centro de pesquisas da empre sa em 1970 foi o primeiro a usar o termo orienta o a objetos Por oferecer ferramentas que podem ser utilizadas em todas as fases do desenvol vimento de software a UML acabou se tornando padr o de desenvolvimento de software orientado a objetos 4 1 Orienta o a objetos orienta o a objetos um projeto antigo na rea de inform tica e traz consigo a id ia de aproximar o desenvolvimento de software do mundo real criando elementos que tenham dados e funcionalidades em si mesmos
157. l 3 4 1 1 1 Defini o de contas de usu rio 3 4 1 2 Permiss es para banco de dados 3 4 1 3 Permiss es a objetos do banco de dados 3 4 2 Plano de manuten o de banco de dados 3 4 3 Uma linguagem versatil SQL 3 4 3 1 Como utilizar os comandos SQL 3 4 3 2 Categorias da linguagem SQL 3 4 3 3 Instru es SQL 3 4 3 4 Views Vis es 140 3 4 3 5 Stored Procedures procedimento armazenado 143 3 4 3 6 Um exemplo completo 148 I55 Cap tulo 4 Linguagem unificada de modelagem UML 4 1 Orienta o a objetos cccc 159 4 1 Abstra o cccccccccc cc 160 A ARO DR A O 160 4 1 2 1 cine ja o PP RR 6l 4 1 2 2 Responsabilidades 162 4 1 2 3 Tipos de relacionamento entre classes 163 AN3 ODEO perre eea a E NS 166 4 1 3 1 Intera o entre objetos 166 4 1 3 2 Mensagem c 167 4 2 As v rias op es da UML c 170 4 2 1 Conceitos da estrutura da UML 172 a 4 2 2 Relacionamentos cc 176 4 2 3 DiagramaS vs ca samp a e grs pad 6 ae ja 176 4 24 Adornos ccccccccccrererre cre 177 4 3 Os diagramas da UML 178 4 3 1 Diagrama de casos de uso 179 4 3 2 Diagrama de classes 185 4 3 3 Diagrama de sequ nc
158. lar parcialmente um plano de execu o o qual ent o ficava abrigado em uma tabela de sistema A execu o de um procedimento era mais eficiente que a execu o de um comando SQL porque alguns gerenciadores de banco de dados n o precisavam compilar um plano de execu o completamente apenas tinha que terminar a otimiza o do plano de armazenado para o procedimento Al m disso o plano de execu o completamente compilado para o procedimento armazenado era mantido na cache dos procedimentos significando que execu es posteriores do procedi mento armazenado poderiam usar o plano de execu o pr compilado A vantagem de usar procedimentos armazenados que estes podem encapsular rotinas de uso frequente no pr prio servidor e estar o dispon veis para todas as aplica es Parte da l gica do sistema pode ser armazenada no pr prio banco de dados e n o precisa ser codificada v rias vezes em cada aplica o Criando procedimentos armazenados Para criar um procedimento devemos utilizar o comando CREATE PROCE DURE Por exemplo o procedimento demonstrado a seguir recebe um par me tro nome e mostra todos os clientes cujos nomes contenham a informa o CREATE PROCEDURE BUSCACLIENTE Bnomebusca varchar so As SELECT codcliente Nome from CLIENTE WHERE Nome LIKE Bnomebusca Devemos notar que os par metros s o sempre declarados com logo ap s o nome do procedimento Um procedimento pode ter zero ou ma
159. levantes para a constru o da solu o dentro de seu es copo Isto quando penso em um cliente por exemplo n o preciso pensar em todos os atributos de um cliente mas apenas nos atributos que interessam para a solu o do problema em quest o Como tamb m vimos no cap tulo 2 um cliente pode ser apenas um n mero 4 1 2 Classe De acordo com Booch Rumbaugh e Jacobson 2005 classe uma descri o de um conjunto de objetos que compartilham os mesmos atributos opera es re lacionamentos e sem ntica A representa o completa de uma classe tem quatro divis es conforme conceituamos e mostramos na figura 85 Nome da classe Cada classe deve ter um nome que a diferencie das outras classes BOOCH RUMBAUGH e JACOBSON 2005 Atributo uma propriedade nomeada de uma classe que descreve um inter valo de valores que as inst ncias da propriedade podem apresentar BOOCH RUMBAUGH e JACOBSON 2005 1990 1993 Bertrand Meyer lan a a linguagem Eifel orientada a objetos 1988 Sally Shlaer e Stepen Mellor publicam o livro Object Oriented Systems Analysis Modeling the World in Data que prop e uma t cnica para an lise e projetos orientados a objeto 1989 criado o OMG Object Management Group que aprova padr es para aplica es orientadas a objeto Peter Coad e Ed Yourdon lan am o livro Object Oriented Analysis tamb m contendo t cnicas para an lise e projetos
160. lidade o prazo e o custo acordados PMI 2004 A terceira edi o do PMBOK Guia do Conjunto de Conhecimentos em Gerenciamento de Projetos saiu em 2004 uma publica o do PMI Project Management Institute o Instituto de Gerenciamento de Projetos em portugu s para identificar e descrever as boas pr ticas de projetos que agreguem valor e sejam f ceis de aplicar Para assegurar qualidade e padr o aos projetos devem ser seguidos modelos de desenvolvimento de software em cascata iterativo ou incremental e prototipa gem Tamb m importante levar em conta o ciclo de vida de um programa As sete areas por Pressman e Software b sico ou de sistema conjunto de programas desenvolvidos para servir a outros sistemas como os operacionais e os compiladores e Sistemas de tempo real programas que monitoram analisam e controlam eventos reais no momento em que ocorrem Recebem informa es do mundo f sico e como resultado de seu processamento enviam de volta informa es de controle Devem ter um tempo determinado de resposta para evitar efeitos desastrosos e Sistemas de informa o softwares da maior rea de aplica o de sistemas que engloba os programas de gerenciamento e acesso a bases de dados de informa es de neg cio desde a sua concep o at a sua extin o Logo necess rio saber quanto tempo o software ficar em funcionamento e quais os benef cios gerados durante esse p
161. lizadas diretamente na tabela origin ria da vis o Regra n mero Atualiza o de alto nivel No banco relacional a linguagem de alto n vel se aplica n o somente CAP TULO 3 INFORM TICA 3 consulta de dados mas tamb m inclus o altera o e exclus o de dados Isso quer dizer que as opera es realizadas sobre a base de dados tratam con juntos de informa es tabelas n o registro por registro Isso quer dizer que a linguagem de alto n vel n o procedural uma caracter stica das linguagens denominadas de quarta gera o Regra n mero 8 Independ ncia de dados fisicos Os programas de aplica o permanecem inalterados sempre que quais quer modifica es s o feitas nas representa es de mem ria ou nos m todos de acesso Essa regra nos d uma diretriz essencial quanto aos programas de aplica o esses programas lidam somente com dados l gicos Se houver qualquer modifica o quanto ao local de armazenamento f sico dos dados ou ainda uma mudan a qualquer de ndices de acesso o programa de aplica o lo gicamente est vel n o sofrer nenhuma paralisa o nem precisar de alte ra es Por exemplo se desenvolvermos uma aplica o em um diret rio de dados e posteriormente em consequ ncia de uma migra o ou expans o de hardware essa base de dados for transferida para um outro diret rio de dados as aplica es desenvolvidas originalmente para tal base n o ser o a
162. lucion rio cccccccc cr co 28 1 5 3 Modelo incremental cc 30 1 5 4 Modelo iterativo 31 1 5 5 Modelo espiral cccccccc 32 LOQRISCOS capsitscaipas ETEEN Ta at bm da 32 6 1 Atividades do gerenciamento de riscos 33 7 Protopage pissassass Saad da E o a ds sd 34 8 Levantamento ou especifica o de requisitos 35 1 8 1 O que um requisito ccccccc 35 1 8 2 Como devemos escrever requisitos 37 1 8 3 Depend ncia de requisitos 38 1 8 4 Documenta o de requisitos 38 1 8 5 Metodos de identifica o e coleta 39 1 8 5 1 Entrevista ccccclc lc 39 1 8 5 2 Metodologia JAD Joint Application Bisa EE E 44 49 Cap tulo 2 Modelo de entidade e relacionamento Zl CONCOLOS ei arr raene o PE RR E 53 2 1 1 Estudo de caso nesnnnnnnennnnnnn 62 2 2 Normaliza o ennnsananan enen na nenene 69 2 3 Fases de um projeto utilizando o modelo ER 79 23l MIMMU Os suas dad d de nn a qa 80 2 3 2 Levantamento de requisitos 80 2 3 3 Analise de requisitos cccc 8 2 3 4 Requisitos de dados cccccc 8 2 3 5 Requisitos funcionais cccc 8 2 3 6 Projeto conceitual cccccc 84 2 3 7 Projeto l gico ccccccc 2 3 8 Projeto f sico ccccc cc jo v FO Q kojie
163. m acesso classe a que pertencem tamb m poder o acess lo e o nome do m todo soma e o m todo soma recebe como par metros de entrada dois valores do tipo Por meio da assinatura do double chamados valorl e valor2 e devolve como resultado um n mero m todo podemos obter do tipo double v rias informa es sobre sua utiliza o e em alguns casos seu funcionamento Portanto para facilitar a compreens o sobre 4 1 2 2 Responsabilidades S o contratos ou obriga es de determinada classe Ao criarmos uma classe estamos criando uma declara o de que todos os seus objetos t m o mesmo Bique oimstodo S tipo de estado e o mesmo tipo de comportamento BOOCH RUMBAUGH como Gevemos uena e JACOBSON 2005 Dependendo do n vel de detalhe abstra o que es lo precisamos ter muito cuidado na defini o dessas assinaturas tamos analisando no diagrama podemos tamb m representar graficamente uma classe apenas com seu nome ou com nome dos principais atributos e principais m todos conforme o que queremos analisar no momento em que estamos criando o diagrama N o precisamos ent o escrever todos os com ponentes da classe figura 86 nomeFabricante String nomeModelo String cor String numeroPortas int anoFabrica o int vVelocidadeMaxima double abrirPortas void fecharPortas void ligar void desligar void acelerar void frear vo
164. ma coluna modificada por meio de uma vis o WITH CHECK OPTION garante que os dados permane am vis veis por meio da vis o depois que as modifica es forem efetivadas Exemplo A seguir estamos criando uma VIEW que mostrar o CODIGO NOME e SALARIO dos funcion rios da tabela empregado cujos sal rios s o maiores que R 1 000 00 Esta VIEW ter o nome EMPM 1000 CREATE VIEW empmaooo AS SELECT CODIGO NOME SALARIO FROM EMPREGADO WHERE SALARIO gt 1000 Nossa VIEW de nome EMPM1000 foi criada agora iremos dar um SELECT nela SELECT O FROM EMPM1000 E teremos o resultado dos funcion rios com sal rio maior que R 1 000 00 Outro exemplo Criaremos uma VIEW chamada EMPMEDIA baseados na tabela EMPRE GADO que mostrar o maior sal rio o menor sal rio e a m dia salarial Uti lizaremos o recurso de Alias para mudar os nomes das colunas da VIEW para MAIOR MENOR e MEDIA conforme o exemplo seguinte CREATE VIEW EMPMEDA MAIOR MENOR MEDIA AS SELECT MAX SALARIO MIN SALARIO AVG SALARIO FROM EMPREGADO Para vermos o resultado devemos dar um SELECT em nossa VIEW SELECT FROM EMPMEDIA 3 4 3 5 Stored Procedures procedimento armazenado Um Stored Procedure procedimento armazenado um conjunto de comandos SQL que s o compilados e guardados no servidor Pode ser acionado a partir de um comando SQL qualquer Em alguns sistemas de banco de dados armazenar procedimentos era uma maneira de pr compi
165. ma ou mais linhas baseado em uma condi o Sintaxe DELETE From nome tabela Where condi o Onde Nome tabela o nome da tabela em que se deseja excluir os dados Where determina quais registros ser o eliminados da tabela Condi o a condi o para selecionar os dados que se deseja excluir DELETE FROM Cliente Where codigo 123 Veja a figura 58 Quando damos o comando DELETE o MYSQL solicita a confirma o para que n o cometamos um erro irrepar vel ou quase pois ter amos que retornar o backup ou redigitar os dados eliminados como ilustra a figura 59 Figura 58 O comando DELETE j O e e a p Erai h E een ee p e S M FOLTER iti Un atua Eer E BS oi ms 3 mi E F tai a en OL ija CAP TULO 3 INFORM TICA 3 Figura 59 Para confirmar o comando DELETE Figura 60 O retorno depois do delete Figura l O SELECT para verificar o registro Figura 62 Sem registro na tabela Se confirmarmos teremos o retorno conforme se apresenta na figura 60 E preciso ent o fazer um select para verificar se o registro foi realmente eliminado figura 61 Podemos observar na figura 62 que de acordo com o retorno n o h nenhum registro em nossa tabela kme e E io pm Rm o Re e E Bh e ao E Sre e mee D mi rme L E co m IIA e aj eed een og E mo o mes mem o eo com JE seu F ua mem E rere O O STR e
166. melhor dentro do modelo figura 108 Tamb m pode ser utilizada uma linha tracejada para apontar exatamente a que ponto do modelo se destina a explica o da nota Esta classe faz a conex o entre o software aplicativo e o sistema operacional CAP TULO 4 Figura 105 Exemplo de m quina de estados Figura 106 Exemplo de atividade Figura 107 Exemplo de pacote Figura 108 Exemplo de nota INFORM TICA 3 4 2 2 Relacionamentos Definidos os principais itens da UML trataremos agora dos relacionamentos que s o outros blocos de constru o que permitem a liga o entre os itens da UML definidos anteriormente Existem tr s tipos de relacionamento em orien ta o a objetos depend ncia associa o com seus tipos especiais agrega o e composi o e generaliza o que permite a implementa o do conceito de heran a e realiza o Todos foram apresentados quando falamos dos conceitos b sicos de orienta o a objetos E refor aremos as explica es sobre seu funcio namento quando os utilizarmos em diagramas mais adiante Se voc tiver alguma d vida volte a ler os t picos relativos aos relacionamen tos na parte de conceitos de orienta o a objetos desse livro Assim o pr ximo bloco de constru o que iremos definir s o os diagramas 4 2 3 Diagramas Existem 13 diagramas na UML 2 0 os quais s o divididos em quatro gru pos de acordo com o tipo de an lise que os modelos gerados p
167. mento da padaria do sr Jo o Depois de escolher o SGBD devemos verificar quais s o os tipos de dados que este aceita bem como seus tamanhos pois tais caracter sticas variam muito Exis tem quatro tipos b sicos de dados texto n mero data e hora Para a padaria do senhor Jo o usaremos o Banco de dados MySQL Com essa defini o podemos passar etapa seguinte fazer o projeto l gico das entidades e relacionamentos com os campos que usaremos na solu o preciso definir os atributos de cada enti dade al m de tipo tamanho e obrigatoriedade ou n o de cada atributo e ainda avaliar se o atributo chave prim ria ou estrangeira e se nico Resta conhecer o significado das classifica es dos atributos Leia o quadro abaixo JNIFICADOS DICAS palavra que indique o atributo no contexto da Nome 7 entidade deve se evitar o uso de abrevia es e n meros EEE EEE EEE EEE SEEC EEE EEE CEEE EEE EESC EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE ESEC SERES EEEEESEREEE indica a forma como o atributo sera armazenado data texto n mero etc COCO CCO LLC CLCCCCOCCLCCCLCCCOLLCCACLCCCLLOCCCLOCLCCCCOCOCCCCCOCCOCCAC CCO Us00s COOL COCO COCO COCO COCO ano 004 expressa o n mero de caracteres que o atributo ocupar na entidade preciso cuidado para definir o tamanho do atributo para que n o se crie problemas dificeis de resolver no futuro pois alterar o tamanho de um Tamanho atributo depois qu
168. mo se cria um plano de manuten o pelo Wizard Acompa nhe as 24 etapas do passo a passo 1 Abra o SQL Server Management Studio Iniciar gt Programas gt Microsoft SQL Server gt SQL Server Management Studio 2 Na janela Object Explorer localize a inst ncia SERVIDORISQL e d um clique no sinal a seu lado para o computador exibir as op es dispon veis 3 Entre as op es que surgirem na tela clique no sinal ao lado da op o Management para que sejam mostradas novas op es COR i SERJ Tolra a Torga Server Epica teach LEE Leer os pena ter do pair orders La pre Em 4 Das op es exibidas agora clique com o bot o direito do mouse em Main tenance Plans No menu seguinte clique em Maintenance Plan Wizard 5 Surgir agora a tela inicial do assistente com uma mensagem informando sobre o que se pode fazer com o programa Clique ent o no bot o Next seguindo para a pr xima etapa Aparecer na tela uma p gina como a da figura 43 6 Nessa etapa voc definir em qual inst ncia do SQL Server ser criado o plano de manuten o Por padr o a inst ncia dentro da qual estava a op o Management gt Maintenance Plans na qual voc clicou com o bot o direito do mouse j vem selecionada Vamos aceitar a sugest o pois exatamente nesta inst ncia que queremos criar nosso plano de manuten o Clique no bot o Next seguindo para a etapa seguinte do assistente 7 Ness
169. modo a facilitar a busca dessas informa es ou o relacionamento entre as entidades S o eles 1 Atributo composto representa a estrutura das informa es que ser o arma zenadas no atributo por exemplo sobrenome primeiroNome complemento numero nome Endereco 2 Atributo multivalorado pode receber mais de um valor ao mesmo tempo Um bom exemplo o atributo habilidades de um funcion rio que ser preenchido com a lista de suas aptid es separadas por v rgulas Veja um exemplo de preenchimento lideran a boa comunica o bom relaciona mento interpessoal Assim o atributo habilidades considerado um atribu to multivalorado 3 Chave prim ria atributo ou conjunto de atributos que identifica unica mente uma tupla registro em uma entidade E expresso com um c rculo preenchido como mostra a figura 16 Funcionario codigo 4 Chave estrangeira atributo que implementa o relacionamento entre en tidades e permite o controle da integridade referencial isto um atributo que fazendo parte da chave prim ria em uma entidade inclu do em outra entidade ou relacionamento implementando as liga es entre elas Relacionamento E o elemento respons vel por definir as caracter sticas das liga es entre as enti dades Representado graficamente por um losango seu nome em geral expres so por um verbo ou uma locu o verbal Por exemplo a figura 17 Pertence Auto relacionamento i
170. mos sele clonar em nosso texto No primeiro par grafo temos os seguintes substantivos senhor Jo o p es produtos frios latic nios lanches refrigerantes sorvetes balas chicletes choco lates cart es telef nicos produtos frango assado balc o caixa No segundo par grafo encontramos padaria funcion rios fun es caixa atendente auxiliar de limpeza e padeiro No terceiro par grafo podemos grifar senhor Jo o clientes cart o c digo produtos padaria caixa valor total da compra forma de pagamento troco No quarto par grafo identificamos produto senhor Jo o fornecedores Passo 2 Analisar e selecionar as entidades que realmente fazem parte do modelo ex cluindo as demais Vamos avaliar os substantivos apenas uma vez mesmo se eles aparecerem mais vezes ou em mais de um par grafo Se forem exatamente iguais ser considerada a primeira an lise Senhor Jo o o dono da padaria e pode ser tratado como informa o pois tamb m atende na padaria e trabalha no caixa N o entidade P es frios latic nios lanches refrigerantes sorvetes balas chicletes cho colates cart es telef nicos tipos de produtos vendidos na padaria S o infor ma es relacionadas entidade produto mas n o s o entidades Frango assado um produto vendido na padaria N o entidade Balc o local f sico onde ficam expostas as mercadorias N o informa o Caixa local f sico na padaria no q
171. n o pode fazer a que recursos tem ou n o acesso e em que n vel Se voc est trabalhando em um computador isoladamente ou em uma pequena rede para a qual n o foi definido um dom nio e os servidores rodam o Windows 2000 Server ou Windows Server 2003 e o Active Directory as contas de usu rios s o gravadas no pr prio computador Assim cada computador ter sua lista pr pria de contas de usu rio que s o chamadas contas locais de usu rio tradu o para local user account Os usu rios de tais contas s podem fazer o logon no computador em que estas foram criadas e acessar os recursos unicamente dessa m quina As contas locais s o criadas em uma base de dados chamada base de dados local de seguran a do ingl s local security database Ao fazer o logon o Windows compara o nome do usu rio e a senha fornecida com os dados da base de seguran a local Se os dados forem reconhecidos o logon se completa Caso contr rio negado e o sistema emite uma mensagem de erro J em redes de grande porte baseadas em servidores Windows Server 2003 nor malmente se criam dom nios Em um dom nio existe apenas uma lista de contas de usu rios e grupos de usu rios a qual compartilhada por todos os computadores que o integram lista de usu rios mantida nos servidores da rede nos chamados Controladores de Dom nios ou DCs do ingl s Comain Controllers Quando um usu rio faz o logon por meio de uma conta da lista atrav s da
172. n vel n o poder adicionar um registro sem os atributos definidos no dicion rio como obrigat rios para uma determinada tabela 3 3 4 Chaves e indices O modelo relacional emprega o conceito diferenciado entre chaves e ndices Um ndice um recurso f sico que visa otimizar a recupera o de uma infor ma o por meio do m todo de acesso Seu objetivo est relacionado com o de sempenho de um sistema ou seja concebidos para aumentar a velocidade de recupera o dos dados os ndices devem ser criados para os campos ou colunas pesquisados com mais frequ ncia Como em tudo o que desenvolvemos pre ciso analisar os pr s e os contras j que a cria o de ndices pode gerar algumas desvantagens como o tempo que se leva para constru los o espa o em disco utilizado para armazen los a demora maior para as opera es de modifica o no banco de dados pois todas as mudan as t m de ser realizadas nos dados e nos ndices Esses problemas podem ser minimizados ou at mitigados com o uso de regras para a cria o de campos indexados A chave designa o conceito de item de busca ou seja um dado que ser empre 8 j J q gado nas consultas base de dados E um conceito l gico da aplica o Podemos dizer que um campo chave se puder ser utilizado para recuperar linhas de uma tabela Geralmente todos os campos de uma tabela s o chaves mas o modelo relacional preocupa se com a defini o das principais cha
173. nal da execu o do pr prio m todo da defini o de um tipo DaResposta diferente de void ou ainda de uma mensagem de resposta como a indicada na figura com o n mero 2 1 A mensagem n mero 3 tamb m s ncrona mas nomeia o retorno pela execu o do m todo Isso permite melhor visualiza o da execu o principalmente quando se trata de retorno que define seu fluxo A quarta uma mensagem ass ncrona Ou seja enviada mas o emissor n o aguarda o retorno da mensagem para continuar seu fluxo de execu o A n mero 5 uma mensagem que destr i o objeto criado No exemplo destr i o objeto produto criado e demonstra a chamada do destrutor da classe Podemos ver tamb m na figura 117 que a numera o das mensagens possibilita a compreens o da ordem em que s o executadas Vamos agora analisar o diagrama de sequ ncia que trata do caso de uso Regis trar compra produtos figura 118 Produto Funcionario FTelaRegistraproduto Funcionario login l l verificaFuncionario cpf senha boolean 2 registraCartao 2 1 verificaCartao nroCartao boolean verificaProduto produto qualidade double 3 1 valorUnitario 3 registraProduto loop enquanto e ES e Ee O Em 9 gt gt o ts me ItemCompra lt lt create gt gt 4 confirmaCompra CAP TULO 4 Figura 118 Diagrama de sequ ncia do caso de uso Regi
174. namento 2 1 1 Estudo de caso Vale imaginar como construir um modelo de entidade e relacionamento para o dono de uma pequena padaria que ser chamado de senhor Jo o No final ser elaborado o diagrama de entidade e relacionamento O senhor Jo o vende al m de p es v rios outros tipos de produtos tais como frios latic nios lanches refrigerantes sorvetes balas chicletes chocolates car t es telef nicos e artigos diversos expostos no balc o do caixa Vende tamb m nos fins de semana frango assado Na padaria trabalham funcion rios que executam as fun es de caixa atenden te auxiliar de limpeza e padeiro Figura 28 O senhor Jo o quer que cada cliente receba um cart o com um c digo na entra da da padaria e que este cart o seja usado para registrar os produtos comprados pelos clientes Os pre os desses produtos dever o ser somados automaticamente assim que o cart o for entregue no caixa que confirmar o valor total da com pra verificar a forma de pagamento escolhida receber o pagamento e se for o caso devolver o troco ao cliente O senhor Jo o tamb m deseja controlar dos estoques para que n o faltem pro dutos Ele tem portanto necessidade de informa es sobre e As vendas isto precisa que sejam armazenados todos os dados de todas as vendas da padaria quais produtos foram vendidos em qual quantidade e CAP TULO 2 INFORM TICA 3 por qual valor al m de qual
175. ndem da chave prim ria e A entidade Fornece est na Forma Normal Boyce Codd pois todos os atri butos n o chave dependem unicamente da chave prim ria e entidade ItemFornece est na Forma Normal Boyce Codd pois todos os atributos n o chave dependem unicamente da chave prim ria H outros passos a serem seguidos at o nosso modelo ser implementado mas s para entendermos o que as entidades representam vejamos como ficar o as entidades da padaria do senhor Jo o depois de implementadas Em nossa repre senta o tabela Compra a primeira linha o nome da tabela entidade a segunda linha os nomes dos campos atributos e a partir da terceira linha s o as informa es armazenadas que chamamos de registros ou tuplas Veja como os relaciona mentos permitem entender perfeitamente as informa es gravadas nas tabelas eee numero cod cartao data forma pagto valor total compra 132 3 21 05 2009 dinheiro 10 60 133 2 21 05 2009 dinheiro 13 60 134 6 23 05 2009 cartao 52 20 CAP TULO 2 INFORM TICA 3 CAP TULO 2 Vamos analisar por exemplo a tabela ItemCompra Veja que a soma dos itens j FUNCIONARIO da compra de c digo 132 campos quantidade valor_unitario o mesmo va lor gravado no campo valor_total_compra da tabela compra Isto integridade de dados Aproveite para olhar detalhadamente para as demais tabelas para entender como os atributos se transformam em campos e como esses campos se relacionam permiti
176. ndendo de qual op o foi selecionada na segunda lista Para nosso exemplo escolha na primeira lista o banco de dados AdventureWorks e na segunda a op o Tables and Views Mantenha as demais op es inalteradas e clique no bot o Next para passar fase seguinte do assistente 16 Nessa etapa voc selecionar quais op es de hist ricos ser o limpas quando as tarefas do plano de manuten o espec ficas para limpeza dos hist ricos forem executadas e a periodicidade da execu o Voc pode marcar as op es Backup and Restory history SQL Server Agent Job history e Database Maintenance Plan History Por padr o as tr s op es j v m selecionadas Na parte de baixo da janela voc definir quais dados devem ser exclu dos do hist rico Por padr o tamb m j vem selecionada a op o 4 Week s significando que ser o criadas tarefas no plano de manuten o para excluir Figura 45 Aceltando as configura es padr o Esta tela tem uma s rie de op es avan adas que somente um DBA experiente devera alterar Portanto somente modifique essas op es se souber exatamente o que est fazendo CAP TULO 3 INFORM TICA 3 Figura 46 Finalizando a cria o do plano de manuten o E tiamina Plan Wian Manmtenance Pen Wizard Progrees Cik Giap te riiag Dei Sd ha dados que tenham sido gravados mais de quatro semanas antes nos hist ricos selecionados Aceitaremos as configura
177. nderemos a criar e a administrar contas de usu rios e de grupos de usu rios para aumentar a seguran a de nossos dados muito importante que estudemos as contas de usu rios e grupos de usu rios pois elas formam a base da estrutura de seguran a no Windows Para esse sistema operacional fundamental identificar o usu rio que est tentando acessar determinado recurso como uma pasta ou impressora compartilhada Uma vez identificado o usu rio o Windows pode determinar com base nas permiss es de acesso qual seu n vel de acesso e se ele tem ou n o permiss o para acessar o recurso em quest o identifica o do usu rio feita por meio do logon pois para conectar ele tem de informar ao sistema qual sua conta de logon e digitar a respectiva senha Feito o logon o usu rio est identificado para o Windows O conceito de logon est diretamente ligado ao princ pio da autenticidade pois antes de liberar o acesso a um recurso o Windows precisa identificar o usu rio que est tentando fazer o acesso ou seja precisa autentificar o usu rio 3 4 1 1 1 Defini o de contas de usu rios Uma conta de usu rio sua identidade para o Windows Em outras palavras a maneira do programa identificar cada usu rio A partir do momento em que poss vel identifica lo por meio do logon o sistema tamb m consegue manter um ambiente personalizado para ele bem como um conjunto de permiss es que definem o que ele pode e
178. ndica um relacionamento entre as ocorr ncias de um mesmo relacionamento Para demonstrar melhor do que se trata vale definir os pap is de cada um de seus lados como mostra a figura 18 Subordinado Funcionario Figura l6 Chave prim ria Figura 17 Relacionamento Figura 18 Auto relacionamento CAP TULO 2 INFORM TICA 3 Figura 19 Relacionamento 1 para N Figura 20 Relacionamento N para 1 Figura 21 Relacionamento N para N Cardinalidade Serve para definir o tipo de relacionamento entre as entidades Existem duas nota es para identificar a cardinalidade Uma delas refere se simplesmente ao valor m ximo que a cardinalidade daquele relacionamento pode alcan ar e grafada com o n mero 1 que representa 1 elemento da entidade ou com a letra N que representa muitos ou mais de um elemento da entidade A outra expressa o n mero m nimo e o n mero m ximo de ocorr ncias em um relacio namento Neste caso sua nota o 1 N onde 1 representa o n mero m nimo e N o n mero m ximo de ocorr ncias S o quatro as cardinalidades 1 Relacionamentos 1 para N Indicam que uma ocorr ncia na entidade pode estar relacionada a N ocorr n cias da entidade B No exemplo da figura 19 podemos verificar que um vende dor atende N clientes e que um cliente atendido por apenas 1 vendedor Vendedor Atende Cliente 2 Relacionamentos N para 1 Indicam que uma ocorr ncia na entidade B
179. ndo acesso r pido e eficiente s informa es Olhe agora 7 Maria padilha 7 Atendente para as tabelas Fornecedor Fornece e ItemFornece S de olhar j sabemos que no dia 21 05 2009 o senhor Jo o comprou do senhor Pedro Parente 120 litros 2 3 Fases de um projeto utilizando o modelo ER de leite B e dois achocolatados em p No caso fict cio da padaria do senhor Jo o descobrimos por meio de um re ITEMCOMPRA lato como a padaria funcionava e quais eram as expectativas de seu dono em rela o a como passaria a operar e ao tipo de informa o que o novo sistema lhe numero nota cod produto quantidade valor unitario permitiria obter Na vida real dificilmente acontece aquela sequ ncia de a es idealizadas para compor o exemplo Geralmente o usu rio cliente n o sabe muito bem do que precisa quando decide informatizar algum processo do seu Como sabemos disso Veja o caminho que fazemos saindo de Fornece indo para neg cio N s que devemos nos aproximar dele para reunir elementos que per ItemFornece veja a implementa o do relacionamento pois os campos nume mitam desenvolver a solu o que o atenda da melhor forma preciso tamb m ro nota das duas tabelas tem o valor 1 e o c digo do produto de ItemFornece oferec la de acordo com o escopo esperado isto constru da dentro do prazo equivale aos produtos leite B e achocolatado em p Vemos agora na pr tica o que solicitado e com o or amento disp
180. neiro Editora Ci ncia Moderna 2003 YOURDON Edward Decl nio e Queda dos Analistas e Programadores S o Pau lo Makron Books 1995 E jiji sT saak E ma L L o TE SP Excel ncia no ensino profissional Administrador da maior rede estadual de educa o profissional do pa s o Centro Paula Souza tem papel de destaque entre as estrat gias do Governo de S o Paulo para promover o desenvolvimento econ mico e a inclus o social no Estado na medida em que capta as demandas das diferentes regi es paulistas Suas Escolas T cnicas Etecs e Faculdades de Tecnolo gia Fatecs formam profissionais capacitados para atuar na gest o ou na linha de frente de opera es nos diversos segmentos da economia Um indicador dessa compet ncia o ndice de inser o dos profissionais no mercado de trabalho Oito entre dez alunos formados pelas Etecs e Fatecs est o empregados um ano ap s conclu rem o curso Al m da ex cel ncia a institui o mant m o compromisso permanente de democra tizar a educa o gratuita e de qualidade O Sistema de Pontua o Acres cida beneficia candidatos afrodescendentes e oriundos da Rede P blica Mais de 70 dos aprovados nos processos seletivos das Etecs e Fatecs v m do ensino p blico O Centro Paula Souza atua tamb m na qualifica o e requalifica o de trabalhadores por meio do Programa de Forma o Inicial e Educa o Continuada E ainda oferece o Programa de Mestrado em Tecnologia
181. njunto de informa es inter relacionadas e coerentes Estas informa es s o chamadas de atribu tos Toda entidade possui um nome que a identifica geralmente formado por um substantivo no singular representa o gr fica de uma entidade feita por um ret ngulo com seu nome no centro como mostra a figura 14 Funcionario CAP TULO 2 Figura 13 V rios olhares sobre um mesmo tema Figura 14 Entidade Funcionario INFORM TICA 3 Figura I5 Atributo Atributo Atributo cada informa o que comp e uma entidade Possui um nome um tipo e um tamanho n mero de caracteres De modo gen rico o tipo pode ser nominado como texto n mero data hora etc at que se saiba em qual sistema gerenciador de banco de dados este ser implementado e ent o se atribua o tipo correto pois cada SGBD possui suas particularidades em rela o aos tipos de dados aceitos Por exemplo os tipos real ou double O atributo pode ser representado no diagrama ER como um c rculo com o nome ao lado ou como uma elipse com seu nome o qual representado ge ralmente por um substantivo Para evitar problemas de compatibilidade deve come ar com uma letra e n o conter espa os e acentua o mas pode incluir caracteres especiais como underline entre outros figura 15 Funcionario dataDemissao H alguns tipos de atributos especiais usados para demonstrar a estrutura das informa es que eles representam de
182. ntegra o em muito larga escala e em 1980 ULSI Ultra Large Scale Integration integra o em ultralarga escala e Quinta 1987 primeira decada do seculo 21 A gera o de equipamentos em uso na primeira d cada do s culo 21 surgiu em 1987 com o uso de novas tecnologias principalmente relacionadas a dispositi vos pticos e a telecomunica es Houve aumento de processamento paralelo diversidade de formato incremento da capacidade computacional e de arma zenamento assim como difus o do processamento distribu do Al m disso delineou se a tend ncia de converg ncia de computadores e aparelhos de comu nica o o que facilitou a interoperabilidade e a universaliza o da opera o dos sistemas assim como a sua normatiza o Vantagens e desvantagens das 5 gera es de computadores CAP TULO l gera o e nicos componentes e grande dimens o 1940 1958 v lvulas eletr nicas eletr nicos dispon veis e produzem muito calor e necessitam de ar condicionado e menor dimens o e ainda necessitam de 2 gera o E a transistores produzem menos calor constante manuten o 1958 1964 Res E mais rapidos necessitam de ar condicionado e ainda menor dimens o 3 gera o menor produ o de calor e inicialmente com muitos 1964 197 circuitos integrados e menor consumo de energia problemas de fabrica ainda mais r pidos 4 he d e n o necess rio ar condicionado existem aind
183. ntidade Funcionario codigo nome dataAdmissao cod Depto e da entidade Departamento codigo descricao Chave prim ria e da entidade Funcionario codigo e da entidade Departamento codigo Chave estrangeira o relacionamento Pertence com cardinalidade N para 1 faz com que seja necess rio criar o campo cod_Depto na entidade Funcionario que conter o c digo do departamento a que cada funcion rio pertence Restri es de integridade podemos observar pelas nota es de restri o de integridade que um funcion rio tem de pertencer a um departamento J um departamento pode ser cadastrado sem um funcion rio associado Vale agora propor um roteiro de passos para a elabora o do modelo de entida de e relacionamento e a cria o do diagrama que o representar Figura 27 Diagrama de entidade e relacionamento CAP TULO 2 INFORM TICA 3 Figura 28 O senhor Jo o tem necessidade de Informa es precisas sobre a sua padaria 1 Listar as entidades candidatas a integrar o modelo 2 Analisar e selecionar as entidades que realmente fazem parte do modelo excluindo as demais 3 Analisar os relacionamentos entre as entidades 4 Definir a cardinalidade dos relacionamentos 5 Definir os atributos das entidades e relacionamentos com campos e tamb m as chaves prim ria e estrangeira se houver 6 Definir as restri es de integridade dos relacionamentos 7 Desenhar o diagrama de entidade e relacio
184. ntidade po der voltar sua forma o original por meio de opera es de conjuntos Mas antes de tratar das regras de normaliza o propriamente ditas necess rio entender alguns conceitos da lgebra relacional que serviram para definir se nossas entidades e relacionamentos est o ou n o em uma forma normal Depend ncia funcional Seja R uma rela o e X e Y atributos de R X e Y podem ser atributos simples ou compostos Figura 32 Diagrama de entidade e relacionamento da padaria do senhor Jo o CAP TULO 2 INFORM TICA 3 X gt Y o atributo X determina funcionalmente o atributo Y sempre que duas tuplas quaisquer de R tiverem o mesmo valor para X elas possuem tamb m o mesmo valor para Y Exemplo Tendo a entidade funcionario os atributos codigo nome cidade e DDD e sa bendo que o codigo a chave prim ria da entidade funcionario se analisarmos esses atributos sob a ptica da depend ncia funcional teremos codigo gt nome codigo cidade cidade gt DDD Logo podemos dizer que os atributos nome e cidade dependem do atributo codigo J o atributo DDD depende do atributo cidade Definida a depend ncia funcional podemos passar agora para a defini o das formas normais Primeira Forma Normal INF Uma entidade est em Primeira Forma Normal se e somente todos os seus atri butos s o at micos isto se cont m um valor nico at mico e n o cont m atributos multivalor
185. nto da concep o extin o Essa segmenta o tem por objetivo definir pontos intermedi rios que permitam checar a conformidade do sistema com as ne cessidades expressas no escopo do projeto e verificar o processo de desenvolvimento Segundo Ana Regina Cavalcanti da Rocha em geral o ciclo de vida do software compreende no m nimo onze atividades DA ROCHA 2004 A sequ ncia e a presen a de cada uma delas no ciclo de vida dependem da escolha do modelo a ser adotado pelo cliente e pela equipe de desenvolvimento Os modelos de ciclo de vida descrevem as etapas do processo de desenvolvimento de software assim como as atividades a serem realizadas em cada uma delas A defini o desses est gios permite estabelecer pontos de controle para a avalia o da qualidade e da gest o do projeto Veja o quadro A sequ ncia das etapas 1 5 1 Modelo em cascata ou waterfall Cascata ou waterfall em ingl s um dos mais simples e conhecidos modelos para o desenvolvimento de software Criado em 1966 e formalizado em 1970 tem como principais caracter sticas FOWLER 2009 e Projetos reais raramente seguem um fluxo sequencial e Assume que poss vel declarar detalhadamente todos os requisitos antes do in cio das demais fases do desenvolvimento podendo ter a propaga o de erros durante as fases do processo e Uma vers o de produ o do sistema n o estar pronta at que o ciclo de de senvolvimento termine As fases s o exe
186. nvolvedor professor escritor e consultor Ana Regina Cavalcanti da Rocha mestra e doutora em Inform tica atua na rea de Ci ncia da Computa o com nfase em Engenharia de Software Roger S Pressman indica sete reas ou categorias potenciais de aplica o de softwares em seu livro Engenharia de Software PRESSMAN 2006 Para saber mais sobre essas sete reas consulte o quadro abaixo 4 Processo de desenvolvimento Na rea de tecnologia da informa o desenvolvimento de sistemas significa o ato de elaborar e implementar um programa ou seja entender as necessidades dos usu rios e transform las em um produto denominado software de acordo com a defini o de Ana Regina Cavalcanti da Rocha no seu livro Qualidade de Software Teoria e Pr tica DA ROCHA 2004 Os processos de desenvolvimento s o essenciais para o bom andamento do pro jeto de um software assim como a compreens o do sistema como um todo Quanto mais aumenta a complexidade dos sistemas mais dif cil se torna a sua visibilidade e compreens o portanto sem um processo bem definido o projeto tem grande chance de insucesso O processo envolve atividades necess rias para definir desenvolver testar e manter um software Exige in meras tentativas de lidar com a complexidade e de minimizar os problemas envolvidos no seu desenvolvimento E devem ser levados em considera o fatores cr ticos entrega do que o cliente deseja com a qua
187. o objetivo de comparar todos os requisitos com aqueles que possuem real relev ncia CAP TULO DICAS PARA A ESCRITA Algumas t cnicas para escrever requisitos de software e Preferir senten as curtas e Utilizar verbos no futuro e Para cada requisito avaliar se a defini o determina se esse requisito est pronto ou n o e Garantir que todos os requisitos podem ser verific veis e o modo de fazer essa verifica o e Verificar os requisitos agregados ou inter relacionados e Estabelecer sempre o mesmo n vel de detalhamento em todos os requisitos INFORM TICA 3 Figura 8 Imprimir a Nota Fiscal EXEMPLOS DE REQUISITOS 1 O programa deve imprimir nota fiscal e fazer a integra o com o sistema da Nota Fiscal Paulista e de vendas registradas figura 8 2 O software deve cadastrar novos produtos gerar relat rios de vendas etc 3 O sistema deve permitir a realiza o de v rios or amentos e an lise levando em considera o a condi o de pagamento e o prazo de entrega Por exemplo imposs vel fazer um relat rio de vendas sem registra las previamente no sistema o requisito predecessor ao relat rio de vendas o registro das vendas Ditin dia Pesada der Cm Path Secretaria da Fazenda a Ma Heme dorthyetoma Produi a Gemi os Leginia o Propiando Corim Municipios o orosies Noticiom rergsd Pula onpey deriva pt da arma wur
188. o A mar E JM bei E e Comando SELECT O Comando SELECT busca informa es de um banco de dados A sintaxe SELECT DISTINCT f coluna alias FROM tabela Onde DISTINCT elimina as colunas duplicadas da consulta seleciona todas as colunas da tabela Coluna especifica as colunas desejadas na pesquisa alias fornece s colunas diferentes cabe alhos FROM especifica em qual tabela desejamos realizar a consulta Tabela especifica que tabela ser utilizada para pesquisa Exemplo SELECT codigo nome FROM departamento Exemplo com alias SELECT nome Nome salario 12 Sal rio Anual FROM empresas Vamos fazer algumas inclus es para melhor verifica o das instru es SELECT INSERT INTO Cliente codigo nome endereco VALUES 123 WILSON OLIVEIRA CAIXA POSTAL 155 ITU INSERT INTO Cliente codigo nome endereco VALUES 145 ANDREA SIRTORI OLIVEIRA CAIXA POSTAL 135 ITU INSERT INTO Cliente codigo nome endereco VALUES 567 LU CAS OLIVEIRA CAIXA POSTAL 111 ITU INSERT INTO Cliente codigo nome endereco VALUES 345 JOSE FRANCISCO CAIXA POSTAL 45 ITU INSERT INTO Cliente codigo nome endereco VALUES 777 AMANDA SIRTORI CAIXA POSTAL 233 ITU CAP TULO 3 INFORM TICA 3 Figura 63 O comando SELECT Figura 64 O resultado da Inclus o J Mi Cita rega e akii RD ARS P
189. o Conselho Deliberativo Yolanda Silvestre Diretora Superintendente Laura Lagan Vice Diretor Superintendente C sar Silva Chefe de Gabinete da Superintend ncia Elenice Belmonte R de Castro Coordenadora da P s Gradua o Extens o e Pesquisa Helena Gemignani Peterossi Coordenador do Ensino Superior de Gradua o Angelo Luiz Cortelazzo Coordenador de Ensino M dio e T cnico Alm rio Melqu ades de Ara jo Coordenador de Forma o Inicial e Educa o Continuada Celso Antonio Galote Coordenador de Infraestrutura Rubens Goldman Coordenador de Gest o Administrativa e Financeira Armando Natal Maur cio Coordenador de Recursos Humanos Elio Louren o Bolzan Assessora de Avalia o Institucional Roberta Froncillo Assessora de Comunica o Gleise Santa Clara Procurador Jur dico Chefe Benedito Lib rio Bergamo Sumari I5 Cap tulo I Introdu o ao desenvolvimento de software 1 Conceitos iniciais ccccccccccc cce I7 2 Gera es de computadores cccc 7 3 Gera es de linguagem de programa o 20 4 Processo de desenvolvimento 22 AI ODIELIVOS sopsnisesdirpsa rede pesada 23 1 4 2 Atividades ccccccccccc cc 24 1 4 3 Participantes cccccc cce 24 5 Modelo de ciclo de vida ccccccc c 24 1 5 1 Modelo em cascata ou waterfall 27 1 5 2 Modelo em cascata evolucion rio ou waterfall evo
190. o a comunica o com o cliente pois primeiramente ele ouvido e ent o feito um desenho e a constru o do modelo E s depois de cumpridas essas tr s tarefas que se d a valida o o que aumenta em muito as chances de sucesso do projeto FOWLER 2009 Portanto ao criar um prot tipo previnem se poss veis defici ncias no projeto de desenvolvimento de software Em um n mero grande de casos o usu rio fica insatisfeito com o produto acabado Isso ocorre por n o ter havido troca de informa o suficiente entre cliente e desenvolvedor A comunica o no levanta mento de requisitos falha Um prot tipo deve ser utilizado como instrumento de an lise com a finalidade de superar as dificuldades de comunica o existen tes entre o analista de sistemas e o usu rio do sistema prototipagem uma t cnica que pode ser empregada em pequenos ou grandes siste mas em que os requisitos n o est o claramente definidos Seu uso aconselhavel em projetos para os quais o usu rio n o saiba exatamente o que deseja FOWLER 2009 Alguns fatores devem ser levados em conta Um prot tipo um esbo o de alguma parte do sistema e a prototipagem uma t cnica complementar an lise de requisitos com o objetivo de assegurar que as demandas foram bem entendidas J a constru o desses prot tipos utiliza ambientes com facilidades para a constru o de interface In cio Coleta e refinamento dos requisitos A
191. o da instru o na figura 78 Vamos listar o cliente de c digo 123 para verificar se o UPDATE foi bem sucedido Para isso devemos utilizar esta instru o Select from cliente where codigo 123 E phpttyAdrran iradoems interet Erpdarer E aigli tros ienheit L e prole vo Lorata E La r e i ei td ME SOL Abimportar arquivos M Hist rico de consultas al F Hio sobrescrever esia consulta fora desta janela Detmitadores E Mostrar esta consulta SOL novamente o TIE Mauritius eca gi Baresiar imkani y jo Mora do Eemien ar Pepe m i n es DE quo Na figura 79 mostramos como ser a instru o outra vez utilizando o phpMyAdmin bene o LES Oro gica ad spo ri ria ss k MISOL Xbtmportar arquivos Hist rico de consultas Ip Fazer consuta SOL no Banco de Dados e Select from chente where codigo 123 O palpite Wink Entera Exphorer aliz F N o sobrescrever esta consulta fora desta janela Detimitadores Mostrar esta consulta SOL novamente AU Si A LS y F aeE TE N E mf mim Figura 78 Outra instru o bem sucedida Figura 79 A Instru o para listar cliente de c digo 123 Figura 80 Realizada a altera o do cliente CAP TULO 3 INFORM TICA 3 Figura 8l O comando DELETE para o cliente de c digo 123 Figura 82 Hfetuada a elimina o r php Admum Wehren Intermel Eplomer Ma importar
192. o entrega ao cliente Em resumo e O cliente solicita uma quantidade de um certo produto ao funcion rio e O funcion rio pesa o produto digitando o pre o do quilo na balan a e O funcion rio anota a quantidade o produto e seu pre o em um peda o de papel e o entrega ao cliente Antes de separarmos os requisitos funcionais dos requisitos de dados precisa mos pensar se as tr s a es descritas no resumo fazem parte do escopo de nosso projeto Vejamos O cliente pedir o produto e o empregado separ lo n o s o fatos relevantes na situa o pois s o a es que n o ser o alteradas o cliente continuar a pedir os produtos aos funcion rios e os procedimentos a seguir continuar o sendo os mesmos O que importa ent o que o funcion rio anota a quantidade o produto e seu pre o em um peda o de papel e o entrega ao cliente A temos uma a o que ser modificada por nossa solu o pois sabemos que o senhor Jo o quer que o cliente entregue um cart o ao funcion rio que nele registrar as compras e o devolver ao cliente CAP TULO 2 INFORM TICA 3 Figura 35 A aplica o do diagrama de entidade e relacionamento na pr tica Os requisitos de dados contidos nesta situa o s o funcion rio quantidade de produto valor total de produto nome do produto e do cliente J o requisito fun cional anota pois o funcion rio dever anotar os itens comprados pelo cliente Requisit
193. o um banco de dados com clientes e pedidos Podemos montar uma vis o de informa es que mostre os clientes com seus respectivos pedidos sem que isso afete as estruturas do modelo de dados implementado ou apre sentar uma vis o com informa es cadastrais de clientes sem dados financei ros por exemplo As vis es s o formadas conforme a necessidade do usu rio Para definir essas vis es preciso atentar para dois fatores a transpar ncia de dados como e onde est o os dados torna se secund rio para o usu rio irrelevante e os elos impl citos colunas comuns nas tabelas sem restri o a tipo de relacionamento 3 3 3 As doze regras de Edgar F Codd As bases da abordagem relacional como sabemos foram lan adas em 1970 por Edgar F Codd Na poca o pesquisador estabeleceu um conjunto de doze regras para um banco de dados realmente relacional Segundo Date 2000 as normas de Codd que vamos conhecer a seguir discutem a fidelidade de um SGBD ao modelo relacional Regra n mero Representa o de valores em tabelas Toda informa o em um Banco de Dados Relacional apresentada em n vel l gico por valores em tabelas Os nomes das tabelas colunas e dom nios s o representados por s ries de ca racteres que por sua vez devem tamb m ser guardadas em tabelas as quais BENEF CIOS DA ABORDAGEM Independ ncia dos dados e Vis es m ltiplas de dados Melhor comunica o entre o departamento de Inform tica
194. ojados nas ROM Read Only Memory ou Mem ria Apenas de Leitura e que controlam sistemas de baixo nivel e Software de quarta gera o programas como processadores de texto planilhas eletr nicas jogos aplica es financeiras e acesso a bases de dados e Software de intelig ncia artificial IA sistemas que utilizam algoritmos n o num ricos para resolver problemas complexos tamb m conhecidos como sistemas baseados em conhecimento CAP TULO Chad Fowler autor de v rios livros um dos mais competentes desenvolvedores de software do mundo Trabalhou para v rias das maiores corpora es do planeta Vive na ndia onde mant m um centro internacional de desenvolvimento INFORM TICA 3 Ichak Adizes o criador da metodologia que leva seu nome e visa ao diagn stico e terap utica para mudan as organizacionais e culturais O m todo esta sendo aplicado com muito sucesso em organiza es de 30 mila go mil empregados de diversos paises 1 4 2 Atividades Levantamento de requisitos entender a necessidade do cliente e as regras do seu neg cio a fase mais importante do desenvolvimento An lise de requisitos definir o que fazer sob o ponto de vista de an lise de sistemas Projeto desenvolver o sistema j com cronograma necessidades e riscos pre estabelecidos Implementa o come ar a usar um novo processo Testes analisar se todas as funcionalidades solic
195. on vel Sim porque para viabilizar um projeto definimos na teoria Preste aten o nas outras tabelas e veja se voc acha mais in essa dualidade fundamental a correta conjun o de tempo combinado e cujo forma es interessantes Olhe tamb m a import ncia dos atributos chave prim valor esteja dentro do investimento que o cliente est disposto a fazer ria e chave estrangeira em nossa implementa o Ainda h muito o que aprender para que os modelos se transformem em sistemas de qualidade mas agora j se N o portanto uma tarefa f cil Corre se o risco da perda de foco e de ritmo sabe como os modelos se transformam em banco de dados de aplica es de trabalho se n o forem usadas t cnicas que sinalizem corretamente e facilitem nosso caminho Felizmente h um roteiro para a cria o de solu es informati Fi 33 ce FO RNECEDOR zadas que utilizam o Modelo de Entidade e Relacionamento um guia que pode Di nos conduzir a um bom resultado final ou seja o projeto pronto e instalado na Cidade Estado CEP Contato Telefone Celular criar uma solu o empresa do cliente figura 33 Cardoso Alimentos Rua 2 n 32 P Boa Esperan a Campinas informatizada Maria Doceria Rua 34 n pe Atr s da Igreja Centro Hortol ndia SP PO 123 D Maria essecoocooooocoosoo A TO o dia A OE O TRAO aa SAOR TSO OOOO O ET a OOO A E E E A EA EA A I OR soccocooosocoocoeosocoo 3 P
196. onalmente da chave prim ria A entidade cartao est na Forma Normal Boyce Codd pois todos os seus atri butos n o chave dependem unicamente da chave prim ria Cartao codigo data inicio uso data fim uso Tendo o atributo codigo como chave prim ria Entidade Produto Produto codigo nome preco venda saldo estoque minimo Tendo o campo codigo como chave prim ria Est em Primeira Forma Normal pois ela n o possui atributos multivalorados e atributos compostos A entidade produto est em Segunda Forma Normal pois sua chave prim ria n o composta Analisando sua depend ncia funcional temos codigo gt nome codigo preco venda codigo saldo codigo estoque minimo A entidade produto est em Terceira Forma Normal pois todos os atributos n o chave dependem funcionalmente da chave prim ria A entidade produto est na Forma Normal Boyce Codd pois todos os atributos n o chave s o dependentes apenas da chave prim ria Entidade funcionario Funcionario codigo nome funcao Tendo o atributo codigo como chave prim ria Est em Primeira Forma Normal pois n o possui atributos multivalorados nem atributos calculados A entidade funcionario est em Segunda Forma Normal pois n o possui chave prim ria composta Verifiquemos a depend ncia funcional da entidade funcionario codigo gt nome codigo gt funcao A entidade funcionario est em Terceira Forma Normal pois todos os seus atri butos n o chav
197. onceitos e ideias v o sendo materializados medida que o trabalho evolui at chegar ao produto desejado O objetivo trabalhar com o cliente durante toda a fase de desenvolvimento com os requisitos muito bem compreendidos Entre as vantagens dessa abordagem est o a possibilidade de antecipar o produto final para avalia o do cliente de manter uma comunica o entre os desenvolvedores e usu rios para solucionar problemas t cnicos e de come ar precocemente o trei namento dos usu rios Isso antes de concluir as suas diferentes vers es inicial intermedi ria e final com espa o para readequa es devidamente avalizadas pelo usu rio O modelo se baseia ent o no conceito da implementa o inicial cujo resultado analisado e comentado pelo usu rio A partir desse feedback o sistema aprimorado por meio de muitas vers es at o seu desenvolvimento completo A especifica o o desenvolvimento e a valida o s o executados con comitantemente para possibilitar um retorno r pido A abordagem mais radical do ciclo de vida em cascata aquela em que todas as atividades se desenvolvem paralelamente desde o in cio do projeto Ao con tr rio a mais conservadora a que preconiza completar toda atividade N antes de iniciar a pr xima N 1 Mas h um n mero infinito de op es entre esses extremos Segundo Edward Yourdon a escolha entre as diversas possibilidades dispon veis depende de uma s rie de v
198. or Jo o implementar n o apenas as tabelas Fornece e ItemFornece mas atualizar o saldo do produto na tabela Produtos podendo alterar tamb m o valor do campo pre o de venda daquele item Se analisarmos os requisitos funcionais do sistema proposto para a padaria teremos pelo menos as seguintes rotinas e Manuten o de cart es e Manuten o de funcion rios e Manuten o de fornecedores e Manuten o de produtos e Registro de produto vendido pelos atendentes e Apresenta o da somat ria da compra recebimento da compra e marca o de qual funcion rio recebeu determinada compra e Lan amento da Nota Fiscal de Entrada e Controle de acesso do usu rio e Op es de sele o de rotinas dispon veis para o usu rio do sistema de acordo com seu n vel de acesso e Consulta de pre os de produtos Ap s a defini o das rotinas e dos requisitos funcionais que elas implementar o deve se separ las em m dulos de acordo com a caracter stica de cada uma Assim formam se grupos de rotinas que implementam requisitos semelhantes a fim de se criar uma estrutura l gica e funcional de acesso s principais funcionalidades do sistema permitindo tamb m o controle de acesso a tais funcionalidades No caso do nosso exemplo fict cio a padaria do senhor Jo o temos alguns grupos de requisitos que tratam da manuten o das tabelas cadastrais do sistema as tabelas de produto funcion rio cart o e fornecedor Podemos nom
199. or sua utili za o possibilitam S o esses os grupos diagramas estruturais diagramas comportamentais diagramas de intera o e diagramas de implementa o figura 109 Trataremos da constru o e do uso dos diagramas implementados pela UML mais frente quando apresentaremos uma defini o detalhada de cada um mostrando ainda seu uso e suas principais funcionalidades Para podermos combinar os blocos de constru o da UML devemos observar as cinco regras que essa linguagem prop e de forma que os modelos gerados contenham uma defini o clara e precisa para a cria o de boas solu es de software As regras nome escopo visibilidade integridade execu o sugerem que ao inserir um item em um diagrama voc tem de se preocupar com cinco caracter sticas que devem ficar claras medida que cada um dos itens inserido As regras devem ser observadas para que possam ser criados modelos que os autores da UML chamam de bem formados isto consis tentes e harm nicos com todos os demais modelos que se relacionam com ele Entenda as cinco regras Nome sempre devemos lembrar que o nome de um item deve deixar claras sua orma o suas a es e responsabilidades N o devemos nos esquecer tamb m de fi ponsabilidades N o d q tamb m d que esse nome nico dentro de um modelo Escopo todo item inserido em um modelo deve mostrar claramente quais s o seus limites o que implementa e quando pode ser utili
200. ora s o quase nulos As empresas n o precisam se voltar tanto para atividades cont nuas e podem se dedicar mais ao foco do seu neg cio Os bene f cios disso se estendem por toda a cadeia de valor desde compra de materiais produ o e vendas at entrega de produtos para os clientes e p s venda O desenvolvimento de software uma atividade muito complexa Sim porque n o existe uma solu o pronta para cada cen rio O trabalho sempre realizado por pessoas o que torna o sucesso do projeto diretamente relacionado compet ncia da equipe e maneira como se trabalha Outra dificuldade consider vel o fato de muitas vezes n o ser adotado um processo definido para apoiar essa tarefa A tecnologia da informa o passou por uma grande evolu o nos ltimos anos Com isso h exig ncias cont nuas e renovadas de aumento na qualifica o dos profissionais da rea o que consequentemente favorece o seu desenvolvimento Afinal esse segmento composto pela tr ade pessoas gest o e tecnologia 2 e 1958 1964 IBM 7090 as v lvulas deram lugar aos transistores e a vida til dos equipamentos aumentou 12 e 1940 1958 Univac dez vezes mais r pido e com um d cimo do tamanho do Eniac o modelo anterior CERN SCIENCE PHOTO LIBRARY LATINSTOCK O emprego desse trip levou a uma significativa melhoria no desenvolvimen to das companhias chamadas inteligentes aquelas que necessitam de
201. orientados a objeto Rebecca Wirfs Brock Brian Wilkerson e Lauren Wiener publicam o livro Designing Object Oriented Software tratando de t cnicas de modelagem orientada a objetos 1992 Ivar Jacobson Magnus Christerson Patrik Jonsson e Gunnar Overgaard lan am o livro Object Oriented Software Engineering A Use Case Driven Approach tamb m sobre t cnicas de orienta o a objetos Emile Birun e osaiiela publicam o livro Object Oriented System Analysis A SIY STAEN Model Driven Approach 1993 Grady Booch lan a seu Booch Method com t cnicas para an lise e projeto orientado a objetos q Nome da classe nomeFabricante String nomeModelo String cor String numeroPortas int anoFabrica o int velocidadeMaxima double q Atributos abrirPortas void fecharPortas void ligar void desligar void q M todos acelerar void frear void trocarMarcha void Responsabilidades 4 Responsabilidades Se locomover na velocidade e dire o indicados pelo usu rio Acelerar quando solicitado Frear quando solicitado 4 1 2 1 M todo a implementa o de um servi o que pode ser solicitado por um objeto da classe para modificar o seu comportamento algo que pode ser feito com um objeto e que compartilhado por todos os objetos dessa classe BOOCH RUMBAUGH e JACOBSON 2005 Existem alguns m todos especiais em praticamente todas
202. orre do fato de os n veis de abstra o n o se aplicarem somente defini o ou estrutura o de dados mas tamb m sua manipula o Isso tem uma s rie de significados no mbito do banco de dados como recuperamos a informa o armazenada como inserimos novas informa es como deletamos as informa es como modif car dados armazenados dad d Uma consulta 3 2 6 Usu rios de banco de dados J sabemos que o objetivo central de um banco de dados prover uma solu o para armazenamento e busca de informa es por seus usu rios Estes os que ir o interagir com o banco de dados para realizar essas opera es podem ser classificados em cinco tipos de acordo com o tipo de intera o DALTON 2008 Confira quais s o e Profissionais de sistemas informatizados aqueles que desenvolvem apli cativos desenvolvidos para realizar a intera o com os bancos de dados e Programadores ou desenvolvedores s o os que fazem a intera o com os sistemas utilizando se das DML que s o inclu das nos programas denomi nados programas de aplica o e Usu rios avan ados interagem com o sistema sem escrever programas Como t m conhecimentos de linguagem de consulta realizam chamadas espec ficas nessa linguagem para atender a suas demandas e Usu rios leigos s interagem com os sistemas desenvolvidos pelos pro gramadores e Administradores de banco de dados DBA do ingl s Data Base Ad ministrator s o os r
203. os Segundo Elmasri 2002 h duas preocupa es principais quando trabalhar com essa abordagem A primeira em um n vel mais conceitual consiste na defini o de um modelo de dados em termos da organiza o como um todo abordando seus diversos setores preciso retratar todo o interrelacionamento entre as diversas reas e departamentos que comp em o neg cio bem como to das as necessidades de informa o de cada um desses setores Somente com base nisso poderemos garantir que as aplica es desenvolvidas individualmente ter o o comportamento desejado quanto integra o com outros sistemas e tamb m que os dados ser o os mais confi veis A segunda preocupa o diz respeito forma de implementa o f sica dos dados em rela o aos programas que ir o manipular Aqui deveremos levar em con sidera o as linguagens de programa o dispon veis e qual delas ser adotada tendo sempre o cuidado de selecionar a melhor para o tipo de sistema computa cional que estamos desenvolvendo necess rio que os programas tenham uma vis o de alto n vel dos dados o mais independente poss vel dos fatores f sicos ligados forma de armazenamento desses dados Assim nos Sistemas Geren ciadores de Banco de Dados SGDB h uma separa o entre o local onde se armazena o banco de dados bem como a defini o f sica dos dados e aquele no Figura 39 Abordagem de sistemas Integrados depend ncia CAP TULO 3
204. os Sua proposta maior prover os usu rios de uma vis o abstrata dos dados Ou seja o sistema omite alguns deta lhes de como as informa es s o armazenadas e mantidas mas para que possa ser utilizado em projetos bastante complexos esses dados devem ser recuperados de maneira eficiente Como nem sempre os usu rios de bancos de dados s o treina dos em inform tica a complexidade fica encapsulada em diversos n veis de abstra o para simplificar a intera o desses usu rios com o sistema DATE 2000 H tr s n veis de abstra o e seu interrelacionamento ilustrado na figura 41 CAP TULO 3 INFORM TICA 3 Figura 4l Interrelacionamento entre os n veis de abstra o Henry Korth autor de v rios livros cl ssicos da inform tica e Independ ncia f sica a habilidade de modificar o esquema f sico sem que seja preciso modificar os programas Altera es no n vel f sico podem ser necess rias somente para uma ocasional melhoria de performance e independ ncia l gica a possibilidade de modificar o esquema conceitual sem que isso demande modifica o nos programas necess ria apenas quando a estrutura l gica do banco de dados alterada Por exemplo se forem criadas mais colunas em uma determinada tabela do banco de dados A independ ncia l gica mais dificil de alcan ar do que a independ ncia f sica por m os programas s o bastante dependentes da estrutur
205. os conforme as t cnicas que aprendemos no cap tulo 1 e definimos o que precisamos criar para satis fazer os requisitos Resumindo precisamos identificar quais classes dever o ser implementadas e quais ser o seus principais atributos e m todos para que os requisitos sejam satisfeitos Utilizamos para isso basicamente os diagramas de casos de uso e o diagrama CAP TULO 4 INFORM TICA 3 Ao utilizar a UML precisamos de bom senso para oferecer solu es adequadas e no prazo esperado pelo usu rio criando modelos apenas para as partes que realmente demandam defini o mais aprofundada de classes que em alguns livros s o chamados de diagramas de classes de an lise porque as defini es das classes s o ainda incompletas Isso porque nessa fase que remos apenas definir as classes e seus principais atributos e m todos e n o definir em detalhes sua implementa o Em alguns casos utiliza se tamb m o diagrama de objetos para se poder analisar como ficariam as estruturas das classes em deter minado ponto do processamento do sistema Todos esses diagramas ser o vistos ainda nesse cap tulo mas daremos por hora uma vis o de como se desenvolvem softwares orientados a objetos Como podemos imaginar o produto final dessa fase s o as principais clas ses a serem desenvolvidas para que nosso software resolva todos os requi sitos definidos Projeto orientado a objetos Agora que sabemos quais s o as p
206. os colhidos at agora Ao terminar a an lise dessa parte do problema teremos e Requisitos de dados funcion rio quantidade comprada valor total do pro duto e descri o do produto e Requisitos funcionais funcion rio anota itens solicitados pelo cliente isto o funcion rio dever ter um lugar no sistema para anotar as compras do cliente 2 3 6 Projeto conceitual Depois de analisar e classificar todos os requisitos levantados devemos nos con centrar nos requisitos de dados agrupando os em entidades e relacionamentos Ao pensarmos nas entidades devemos verificar quais s o as informa es rele vantes em v rios aspectos seguindo os sete passos propostos no t pico Modelo de entidade e relacionamento estudado no in cio deste cap tulo para montar o diagrama de entidade e relacionamento que vai retratar nosso modelo conceitu al e classificar as entidades geradas segundo as regras de normaliza o Nosso projeto conceitual ficar como sugere a figura 35 2 3 7 Projeto l gico Com o projeto conceitual montado precisamos agora definir o Sistema Gerenciador de Banco de Dados SGBD que empregaremos para imple mentar nossa solu o de software Existem in meras op es de SGBD no mercado em uma grada o de valor que vai dos gratuitos aos bastante caros Todos implicam vantagens e desvantagens que voc dever analisar juntamente com os demais participantes do projeto Diagrama de entidade e relaciona
207. otes EE gt td EE Analisando o diagrama podemos ver que a partir de um estado ativo o produto poder passar a ponto de encomenda ou em falta dependendo das suas sa das e considerando se que a regra para um produto chegar condi o de ponto de encomenda seu saldo ser menor ou igual indicada nesse campo Notamos tamb m que s os m todos pagarCompra e receberProduto alteram o estado do produto e que a baixa do estoque s efetuada quando se realiza o pagamento da compra Como pudemos observar esse diagrama nos ajuda a entender e a definir melhor o funcionamento de nosso sistema quando h mudan as de estado dos objetos 4 3 8 Diagrama de objetos Mostra um conjunto de objetos e seus relacionamentos em um ponto do tempo os diagramas de objetos abrangem a vis o est tica de projeto ou vis o est tica de processo de um sistema BOOCH RUMBAUGH e JACOBSON 2005 Principais componentes objetos relacionamentos Este diagrama nos d uma vis o de como ficar o os objetos em determinado momento da execu o do sistema como se tir ssemos uma fotografia do sis tema em um momento para analisar os dados e os relacionamentos envolvidos como voc pode observar na figura 123 Observe a nota o desse diagrama o objeto possui a mesma estrutura de uma classe por m seu nome vem antes do nome da classe func Funcionario quer dizer objeto func da classe funcion rio Podemos assim analisar as rela es
208. para que o modelo nunca fique diferente do sistema criado Considera es finais Longe da tentativa de esgotar os assuntos aqui abordados a inten o deste livro ajud lo compreender um pouco melhor as fases de um projeto o Modelo Relacional o Modelo de Entidade e Relacionamento o SGBD o m todo orien ta o a objetos o SQL e a UML Se voc escolheu a rea de inform tica para atuar profissionalmente continue estudando e aprendendo sempre pois nesse campo din mico as mudan as s o constantes e quem n o se atualiza vai ficando para tr s Esperamos que voc te nha conseguido alcan ar uma boa vis o sobre os temas aqui abordados e que v agora em busca de mais informa es para aprofundar seus conhecimentos para avan ar cada vez mais na sua carreira profissional Refer ncias bibliograficas AUGUST Judy H JAD Joint Application Design S o Paulo Makron Books 1993 BEZERRA E Princ pios de an lise e projetos de sistema com UML Elsevier 2007 BOOCH G RUMBAUGH J e JACOBSON I UML Guia do Usu rio 2 edi o Elsevier 2005 COSTA R L C SQL Guia Pr tico 2 edi o Rio de Janeiro Brasport 2006 DA ROCHA Ana Regina Cavalcanti et al org Qualidade de software Teoria e pr tica S o Paulo Pearson 2004 DALTON Patrick Microsoft SQL Server Black Book 52 edi o The Coriolis Group 2008 DATE C J Introdu o a Sistemas de Banco de Dados 7 edi o Rio de
209. pigsa cas jmp Pudia s Dagaa e E Placar Cni Nota Fiscal Paulista TO b i a R 1 856 753 161 00 rm E rs Lr FiLCE Lara T Pagara Mota Fica Pudata drtha e doi SPA da ICMS alisamento recebido pela biben amp paue corsumidoma 0 798 187 Lhe Elo um kecib pasa que m cidad os Tah e i Bagy mes mo ab p s Sortelole 14 que adquirem mercadoras estam do DEE alo r iotatashirerio garaia o docur G62573709 i N o particip our fiscal Os cossumidonto que Informsasem ua Gmo Elbgue aqui a iata E atas ei gos 5h eit ries Dart Err Di Die ces Aree sou CPF CNPS mo momenio da Correr poderio esea coma eE S72 057 od Enbiios d Bida comonomer piii em dirhebn Pagos apa vm o Pig in Ea Consulta Co e e jd did nd lonas W p mamaje ja 5 342 605 Para jmigafur ns o cedo tea CE VCS RIR SE OR a de sai CPP mg VIBE Csipadas pi kia pad a a td palito Ep pm iCcmpsdas Poa sm o mi mis DR nd Quando um requisito for funcional dever ser tamb m Independente da implementa o define o que deve ser feito mas n o como deve ser feito 8 2 Como devemos escrever requisitos Normalmente as especifica es de requisitos s o escritas em linguagem natu ral ingl s ou portugu s por exemplo Devem ser utilizadas t cnicas de pa droniza o para formato estilo de linguagem e organiza o das informa es Tudo isso facilita a manipula o desse conjunto de requisitos 1 8 3 Depend ncia de
210. processos E preparar muito bem o roteiro do que se quer obter aprofundando o assunto A principal vantagem dessa t cnica a obten o de respostas diretas com informa es detalhadas Todavia como desvantagem muitas vezes aspectos relevantes ao projeto de desenvolvimento de software precisam ser identifica dos antes da realiza o da entrevista De maneira geral requer muito mais trabalho pr vio e quanto melhor for feito maiores ser o as chances de realizar esse trabalho com efic cia Prepara o Para tudo que se faz na vida preciso se preparar Em rela o s entrevistas n o diferente Deve se elaborar um roteiro coerente ao alcance dos obje tivos do projeto e informar ao entrevistado tanto o prop sito da conversa quanto sua import ncia no processo Selecionar o entrevistado outro pon to de aten o pois somente ao final das entrevistas ser poss vel ter uma vis o clara e completa do problema a ser solucionado e das diversas formas de analisar e resolver A linguagem precisa se adequar ao entrevistado levando em considera o seu perfil cultural e tomando muito cuidado com a utiliza o de termos t cnicos TAXI GETTY IMAGES CAP TULO Figura 9 O sucesso da entrevista depende da escolha da pessoa certa para oferecer as respostas precisas INFORM TICA 3 muitas vezes corriqueiros para o entrevistador mas eventualmente desconheci dos pelo respondente s vezes por vergonha
211. ra o e vaida o r Planeja a pr xima fase Tie do mede INLEGIA O Desprrvoder E verifica g E Armio produto mo miem seguinte 1 5 5 Modelo espiral Criado por Barry Boehm em 1988 o modelo espiral figura 5 permite que as ideias e a inova o sejam verificadas e avaliadas constantemente Isso porque a cada intera o existe a volta da espiral que pode ser baseada em um modelo diferente e pode ter diferentes atividades Esse padr o caracteriza se portanto pelo desenvolvimento em sequ ncia aumentando a complexidade do processo conforme se chega mais pr ximo do produto final Em cada ciclo da espiral uma s rie de atividades realizada em uma determi nada ordem como comunica o com o cliente planejamento an lise de riscos e avalia o dos resultados FOWLER 2009 O modelo espiral c clico Considerado um metamodelo abrange diferentes padr es desde o cascata at v rios tipos de prot tipos Com isso poss vel pre ver os riscos e analis los em v rias etapas do desenvolvimento de software 6 Riscos O risco do projeto um evento ou uma condi o incerta que se ocorrer ter um efeito positivo ou negativo sobre pelo menos um objetivo do projeto como tempo custo escopo ou qualidade E o modelo espiral foi a primeira proposta de inclus o de Ger ncia de Risco no ciclo de vida de desenvolvimento de software A interatividade e os riscos portanto s o as suas principais caracter stic
212. rama isto o c digo utilizado acaba restrito a um nico tipo de hardware e arquitetura utilizada Segunda 2GL A linguagem de programa o chamada Assembly representa a segunda ge ra o Mais pr xima do ser humano do que da m quina como acontecia na IGL cada Assembly ainda bastante associada arquitetura do computador fazendo com que a 2GL tamb m seja pouco port vel entre ambientes Terceira 3GL A terceira gera o das linguagens de programa o est muito pr xima do ser humano pois facilmente entendida por uma pessoa com pouco ou nenhum conhecimento de inform tica Isso porque similar comunica o do dia a dia Essa gera o representada pelas linguagens Cobol Fortran Algol Basic C C entre outras Para mais informa es sobre a 3GL veja quadro abaixo Saiba mais sobre as 36L Cobol sigla para COmmon Business Oriented Language Linguagem Orientada aos Neg cios usada em sistemas comerciais financeiros e administrativos para empresas e governos Foi criada em 1959 durante o CODASYL Conference on Data Systems Language a Confer ncia de Linguagem de Sistemas de Dados um dos tr s comit s propostos em uma reuni o no Pent gono organizado por Charles Phillips do Departamento de Defesa dos Estados Unidos As fontes de inspira o s o as linguagens FLOW MATIC inventada por Grace Hopper e COMTRAN da IBM inventada por Bob Bemer Fortran acr nimo para a express o
213. re que est sendo produzido Note tamb m que voc deve dividir o diagrama com linhas verticais para identificar quem deve fazer a a o 4 3 6 Diagrama de pacotes O diagrama de pacotes mostra a decomposi o do pr prio modelo em unidades or ganizacionais e suas depend ncias BOOCH RUMBAUGH e JACOBSON 2005 E um diagrama estrutural que permite uma vis o da organiza o interna da aplica o que est sendo projetada Principais componentes pacotes Como vimos anteriormente dentro de um pacote podemos inserir quaisquer componentes da UML Assim podemos criar pacotes para estruturar nossa apli ca o usando sua modulariza o para organiz la e facilitar sua compreeens o Veja o exemplo da figura 121 Neste exemplo usamos pacotes para organizar o projeto separando as classes de projeto das de interface com o usu rio telas tamb m conhecidas como GUI Graphical User Interface Como podemos colocar em pacotes todos os elementos da UML devemos utili z los para organizar e modular nossos projetos deixando os mais claros e f ceis de compreender e manter 4 3 7 Diagrama de gr ficos de estados Os diagramas de m quinas de estados abrangem a vis o din mica de um siste ma BOOCH RUMBAUGH e JACOBSON 2005 Principais componentes estado evento Esse diagrama mostra os estados que podem ser assumidos por um objeto em seu ciclo de vida Geralmente o utilizamos para entender como tais mudan as
214. rede o Windows verifica se ele forneceu nome e senha v lidos para o dom nio e s libera a conex o em caso afirmativo Contas de dom nio s o armazenadas na base de seguran a dos servidores do dom nio em quest o a qual conhecida como SAM no NT Server 4 0 e como Active Directory no Windows 2000 Server e no Windows Server 2003 H dois tipos de conta de usu rio dispon veis no seu computador administra dor do computador e limitada Existe tamb m uma conta de convidado guest para usu rios que n o t m conta configurada no equipamento Vejamos agora quais s o as caracter sticas de cada tipo de conta e Conta administrador Destina se ao usu rio que pode alterar o sistema instalar programas e aces sar todos os arquivos armazenados Este portanto ter permiss o sobre todos os recursos do computador inclusive as contas de todos os outros usu rios Sua nica restri o alterar o tipo de sua pr pria conta para conta limitada a menos que o computador contenha um outro usu rio com conta de administrador Tal restri o visa assegurar que haja sempre pelo menos CAP TULO 3 PERMISS ES AO USU RIO ADMINISTRADOR e Criar e excluir contas de usu rio no computador e Criar senhas para as contas dos outros usu rios no computador e Alterar nomes imagens senhas e tipos de contas dos outros usu rios INFORM TICA 3 As informa es s o o principal ativo das corpora es Assim devemos ter muito
215. requisitos Os requisitos n o s o independentes uns dos outros E a maioria deles s pode ser implementada se outros forem implantados antes eis o conceito de requisitos predecessores Uma das atividades mais importantes da ger ncia de requisitos manter esse relacionamento de depend ncia que influenciar todo o processo de desenvolvimento do sistema Para isso existem algumas solu es poss veis como manter uma tabela de depend ncia de requisitos ou manter um banco de dados de requisitos que inclua rela es de depend ncia Existem alguns produtos no mercado especializados na ger ncia de requisitos que admi nistram essas depend ncias fundamental ter uma atua o constante e muito pr xima aos usu rios para que qualquer diverg ncia em rela o a requisitos ou a adapta es seja facil mente detectada e corrigida Mas para tanto os usu rios precisam estar com prometidos com o desenvolvimento do sistema e se sentirem donos dele Se isso n o ocorrer h grandes probabilidades de o sistema n o ser um sucesso 1 8 4 Documenta o de requisitos A documenta o de requisitos uma atividade crucial para a engenharia de software pois o documento gerado nessa fase uma descri o oficial dos re quisitos do sistema para cliente usu rios e desenvolvedores Isso significa que todos os envolvidos no processo se basear o nesse documento para o desen volvimento do sistema Tal documento deve trazer muitas designa
216. ri es a possibilidade de trabalhar uma vis o ampla e geral de reas espec ficas e a express o livre do entrevistado H desvantagens tamb m A tarefa dif cil e desgastante mas entrevistador e entrevistado precisam reconhecer a necessidade de m tua cola bora o para que o resultado seja eficaz Tamb m deve se levar em conta a falta de procedimentos padronizados para estruturar as informa es recebidas durante as entrevistas uma vez que a an lise dos dados obtidos n o trivial dif cil ouvir e registrar simultaneamente alguns fatos s tomam determinada import ncia depois de outros serem conhe cidos e a o primeiro pode n o ter sido registrado Por isso vale gravar toda a conversa e transcrev la o que facilita a tarefa de selecionar e registrar o que relevante para validar com o entrevistado posteriormente O relacionamento entre os participantes de uma entrevista deve ser baseado no respeito m tuo e em algumas outras premissas tais como defer ncia ao co nhecimento e habilidade do especialista percep o de express es n o verbais sensibilidade s diferen as culturais cordialidade e coopera o Entrevista estruturada A entrevista estruturada figura 9 tem por finalidade coletar e organizar as informa es sobre quest es espec ficas necess rias para o projeto fundamen tal realizar a entrevista com a pessoa certa ou seja quem realmente entende e conhece o neg cio e os seus
217. ribuir as permiss es CREATE TABLE CREATE RULE e CREATE VIEW para os usu rios SERVIDORIgrupoas e SERVIDOR Igrupoz no Banco de Dados Exemploa USE Exemplos GRANT CREATE TABLE CREATE RULE CREATE VIEW TO SERVIDOR Igrupoa SERVIDOR Igrupo2 CAP TULO 3 Structured Quary Language Linguagem de Consulta Estruturada criada no in cio da d cada de 1970 na IBM Abaixo listamos as principais permiss es de banco de dados que o comando GRANT pode atribuir Lembre se de que para atribuirmos todas as permiss es empregamos a palavra ALL todos CREATE DATABASE Banco de Dados master CREATE DEFAULT todos os bancos de dados CREATE PROCEDURE todos os bancos de dados CREATE RULE todos os bancos de dados CREATE TABLE todos os bancos de dados CREATE VIEW todos os bancos de dados BACKUP DATABASE todos os bancos de dados BACKUP LOG todos os bancos de dados J as principais permiss es de objetos do banco de dados s o estas SELECT Tabelas views e colunas INSERT Tabelas e views DELETE Tabelas e views UPDATE Tabelas views e colunas EXECUTE Stored Procedures Exemplo Atribuir todas as permiss es para o usu rio SERVIDORlandrea no banco de dados Exemplol USE Exemplos GRANT ALL TO SERVIDORlandrea J para retirar as permiss es de banco de dados devemos recorrer ao comando REVOKE Saiba que podemos retirar mais do que uma permiss o ao mesmo tempo para um ou mais logins
218. rincipais classes que compor o nossa solu o de software para resolver o problema proposto precisamos definir como os objetos criados dessas classes interagir o entre si para gerar o resultado final esperado Nessa fase devemos projetar todo o funcionamento do software em detalhes Para isso podemos utilizar os demais diagramas da UML o que nos ajudar a definir tamb m em detalhes como funcionar cada um dos itens da solu o at por exemplo em que estrutura de hardware e software ser implementa da e como estar o dispostos seus diversos componentes nos computadores da rede Geralmente nessa fase s o criadas novas classes respons veis pela intera o do usu rio com o sistema assim como com outras classes sistemas definidos e em funcionamento Definimos tamb m os procedimentos de intera o entre usu rio e sistema al m dos requisitos de seguran a de acesso s informa es utilizadas pelo sistema A UML nos oferece ferramentas que permitem analisar em detalhes cada um dos componentes de nossa solu o de software nos mais diversos aspectos de sua constru o e funcionamento Em resumo na fase de an lise orientada a objetos devemos nos preocupar com o que o sistema deve fazer para responder a todos os requisitos definindo suas principais classes e funcionalidades Na fase de projeto temos de pensar em como as classes dever o se comportar para que o sistema funcione de forma a cumprir todos os seus requisitos com o t
219. rma es sobre o sistema permitindo realizar refer ncias cruzadas nos dados e Consist ncia autom tica de campos o pr prio sistema tem a funcionalida de de validar os dados nos quesitos de tamanho formato tipo e integridade e Refer ncia cruzada de dados permite relacionar linhas e colunas ou seja valores de campos com linhas e Integridade dos dados para garantir a qualidade das informa es do banco de dados devemos nos preocupar com quatro categorias de integridade dos dados 1 De entidade definimos uma linha como exclusiva de determinada tabela ou seja definimos uma chave prim ria Primary Key de uma tabela 2 Integridade de dom nio valida entradas de uma coluna espec fica po dendo restringir suas rela es em linhas quando estas s o inclu das ou exclu das S o as chaves estrangeiras Foreign Key 3 Integridade referencial preserva as rela es definidas entre tabelas per mitindo consist ncia em todas elas 4 Integridade definida pelo usu rio o usu rio define suas regras de neg cio quando n o se enquadra nas outras categorias de integridade apresentadas 3 3 2 Principios da orienta o O conceito de vis es de dados tem a ver com a forma como o usu rio os v Existe a possibilidade de criar vis es de subconjuntos dos dados colocados em um SGBD Os usu rios podem ter acesso a parte do modelo independen temente da forma como est o contidos no banco de dados Tomemos como exempl
220. rs Gatilhos Um Gatilho Triggers um tipo de Stored Procedure que executado auto maticamente quando ocorre algum tipo de altera o numa tabela Gatilhos disparam quando ocorre uma opera o INSERT UPDATE ou DELETE numa tabela Geralmente s o usados para refor ar restri es de integridade que n o podem ser tratadas pelos recursos mais simples como regras de faults restri es a op o NOT NULL etc Deve se usar defaults e restri es quando estes fornecem toda a funcionalidade necess ria Um Gatilho tam b m pode ser empregado para calcular e armazenar valores automaticamente em outra tabela Exemplo de Gatilhos Para utiliz los temos que criar antes algumas tabelas que ser o usadas como exemplo A tabela notafiscal conter os cabe alhos de notas fiscais A tabela item notafiscal ir conter itens relacionados com as notas fiscais Execute o Script a seguir para criar as tabelas CREATE TABLE NOTAFISCAL NumeroNota numeric 10 primary key ValorTotal numeric 10 2 default o GO CREATE TABLE ITEMNOTAFISCAL NumeroNota numeric 10 foreign key references NotaFiscal CodProduto int foreign key references Produto Quantidade int not null check Quantidade gt 0 Primary key NumeroNota CodProduto Vamos utilizar Gatilhos para duas finalidades Primeiro ao excluirmos uma nota fiscal todos os seus itens ser o exclu dos automaticamente Depois quando incluirmos um item a coluna Valor Total ser at
221. s Trata se aqui de toda e qualquer informa o relevante para a solu o em an lise tanto as geradas quanto as consultadas com o objetivo de concluir determi nada tarefa Por exemplo a quantidade e o valor do produto comprado ou seja o montante do pagamento s o requisitos de dados que devem ser classificados para que se possa construir um modelo de dados 2 3 5 Requisitos funcionais S o aqueles que descrevem funcionalidades e servi os do sistema Tal defini o depender do tipo do software dos resultados esperados e do tipo do sistema em que o software ser aplicado Exemplos o sistema deve oferecer diversas maneiras de visualizar os dados de acordo com o perfil do usu rio os relat rios CAP TULO 2 DICA Lembre se podem surgir d vidas em qualquer fase do desenvolvimento do projeto e voc precisar de mais informa es e opini es do usu rio at o fim do processo Figura 34 As v rias opera es do neg cio padaria INFORM TICA 3 t m de ficar dispon veis para impress o de acordo com o n vel hier rquico de cada um deles Para saber qual esse n vel necess rio que ele se identifique no sistema digamos por meio de uma rotina de login em que ele se apresente via senha geralmente criada por ele mesmo Podemos considerar requisitos funcionais tamb m a manuten o isto inclus o altera o exclus o e consulta de todas as entidades identificadas na solu o
222. s as possibilidades de resposta aten o aos itens redundantes ou amb guos contendo mais de uma ideia ou n o relacionados com o prop sito da pesquisa reda o clara e execu o de testes de validade e de confiabilidade da pesquisa Uma das principais dificuldades que envolvem esse trabalho o fato de as palavras possu rem significados distintos para pessoas diversas em contextos diferentes culturais e educacionais por exemplo Em conversa es corriquei ras tais dificuldades de interpreta o s o esclarecidas naturalmente mas em entrevistas com question rios o treinamento e o m todo utilizados pro bem essa intera o Por outro lado tudo isso garante menos ambiguidade uma das principais vantagens da entrevista por question rio Entrevista aberta A entrevista aberta supre muitas das lacunas dos question rios por m gera outros problemas O entrevistador formula uma pergunta e permite ao entrevistado responder como quiser Mesmo que o primeiro tenha a li berdade de pedir mais detalhes n o h como determinar exatamente o escopo da entrevista Por isso essa t cnica pode gerar d vidas as perguntas podem ser de fato respondidas ou a resposta faz parte do repert rio normal do discurso do entrevistado Existem muitas coisas que as pessoas sabem fazer mas t m dificuldade para descrever assim como h o conhecimento t cito de dif cil elucida o Os benef cios das entrevistas abertas s o a aus ncia de rest
223. s de cliente produto funcion rio compra fornece e suas classes filhas Definimos seus principais atributos e ent o fazemos o diagrama de sequ ncia para os casos de uso mais relevantes no exemplo da padaria os casos de uso re gistrar compra pagar compra receber mercadoria Usamos esse diagrama para definir os principais m todos de nossas classes e as trocas de mensagens entre elas Com isso definido voltamos ao diagrama de classes e o complementamos com os m todos definidos nos diagramas de sequ ncia CAP TULO 4 INFORM TICA 3 sd registra Compra sFuncionario loop funcOK false loop clienteOK false loop enquantohouverproduto sd registra Pagamento A Caixa 1 leCartao FTelaRegistraProduto 1 login 2 leCartao 3 leProduto 4 confirmaCompra l D registraPagamento double valorPago String formaPagto FRegistraPagamento loop Cartao0K false 1 1 funcOK verificaFuncionario String cpf String senha boolean 2 1 clienteOK verificaCartao Cartao cartao boolean loop valorUnitario i 3 1 valorUnitario verificaProdutp Produto produto double quantidade double l ssergatez gt 4 1 ItemCompra Produto produto double quantidade y double precoUnitarioVenda Funcjonario funcionario 1 1 CartaoOK IdentificaCartao StringinroCartao boolean 2 itens totalizaCompra StringinroCartao ItemCompra l exibeTotalCompra 5 1 calculaTroco 5 1 1 a
224. s de integridade vamos tamb m definir o valor m nimo e m ximo de cada cardinalidade Cart o compra produto As restri es de integridade s o um cart o pode comprar ao menos O quan do o cart o acabou de ser posto em uso e no m ximo N produtos todos os produtos dos clientes que pegarem aquele cart o J um produto pode ser comprado por no m nimo 0 o produto acabou de ser lan ado e acabou de ser colocado na prateleira e no m ximo N cart es todos os clientes da padaria Figura 31 Fornecedor CAP TULO 2 INFORM TICA 3 Logo as restri es de integridade s o 0 N e 0 N Funcion rio atende cart o compra Produto Um funcion rio pode atender no m nimo 0 o funcion rio acaba de come ar a trabalhar na padaria do senhor Jo o e no m ximo N Senhor Virg lio trabalha h quinze anos na padaria do senhor Jo o senhora Maria acaba de chegar padaria e La rcio que est no balc o vai atend la Assim o cliente pode ser atendido por no m nimo 1 e no m ximo 1 funcion rio Logo as restri es de integridade s o 0 N e 1 1 Fornecedor fornece Produto Um fornecedor fornece no m nimo 0 M rio vende doces mas seus pre os s o sempre mais caros e no m ximo N produtos senhor Cardoso J um produto chocolate ao leite fornecido por no m nimo 1 e no m ximo N fornecedores senhor Cardoso Maria Doceria Bazar dos Amigos Logo as restri es de inte gridade s o
225. s tabelas de sistema para o banco de dados Um banco de dados s pode ter um grupo de arquivo PRIMARY Se n o for especificado algum o primeiro listado ser o prim rio FILENAME aqui se deve especificar o caminho e o nome do arquivo que estamos criando O arquivo deve necessariamente estar na mesma m quina que o servidor SQL mas pode estar em uma unidade de disco diferente SIZE especifica o tamanho em megabytes que queremos alocar para o ban co de dados O valor m nimo de IMB mas o padr o 3MB para arquivos de dados e IMB para arquivos de log MAXSIZE permite especificar o tamanho m ximo que o arquivo pode atingir O padr o possibilita que o arquivo cres a at que o disco fique cheio FILEGROWTH especifica a taxa de crescimento do arquivo Esse ajuste n o pode exceder a configura o de MAXSIZE Um valor zero indica que n o permitido aumento O padr o 10 significando que cada vez que o arquivo cresce ser alocado um espa o adicional de 10 para ele Um CAP TULO 3 INFORM TICA 3 Figura 47 Criando um banco de dados Figura 48 Retorno do myadmin banco de dados que estiver em mais de um arquivo s expandido depois que o ltimo arquivo se completar e LOG ON se aplicam aqui as mesmas defini es mostradas anteriormente p q exceto pelo fato de que se criar o arquivo de log de transa es e n o o arquivo de dados e Sintaxe simplificada CREATE DATABASE IF NOT
226. sa s o gestos involunt rios que podem tirar a aten o do entrevistado e do entrevistador E no caso de entrevistas longas necess rio fixar um breve intervalo Documenta o Toda entrevista deve ser documentada logo ap s sua realiza o Desse modo t m se os dados arquivados e facilmente recuper veis para even tuais necessidades Esse material deve conter informa es m nimas po dendo ser ampliado dependendo da necessidade de cada projeto de de senvolvimento data hora e local da entrevista nome do entrevistador cargo do entrevistador nome do entrevistado e fun o do entrevistado e descri o do cargo e organograma do entrevistado superior imediato colegas do mesmo n vel subordinados e objetivo da entrevista e nomes e t tulos de todos os outros presentes na entrevista e descri o completa dos fatos tratados e opini es do entrevistado e transcri o da entrevista opcional conclus es tiradas com base nos fatos e nas opini es apresentados problemas do neg cio levantados durante a entrevista e exemplos de relat rios diagramas documentos etc DICA importante que o desenvolvedor tenha conhecimentos do neg cio do cliente e resista a priorizar a tecnologia em rela o as suas necessidades CAP TULO INFORM TICA 3 e desenhos e diagramas elaborados a partir da entrevista ou durante a conversa coment rios relevantes feitos pelo en
227. sistemas tolerantes a falhas e capazes de gerar informa es cr ticas para o processo de decis o Na d cada de 1960 as empresas trabalhavam com o conceito de proces samento centralizado de dados e muitos dos seus recursos eram direcionados ao CPD Centro de Processamento de Dados Os sistemas daquela poca rodavam de forma mecanizada e em batch processamento em lote Com o passar do tempo por m as corpora es perceberam a necessidade e a im port ncia de se basear em informa es concretas para tomar suas decis es e as sim aprimorar a gest o dos neg cios Ent o abandonaram o padr o do tradicional processamento de dados e passaram a trabalhar com centro de informa es Nesse modelo j havia integra o dos sistemas mesmo que ainda existissem algumas re dund ncias ou seja dados duplicados que levavam ao retrabalho Atualmente as organiza es vivem a era da Tecnologia da Informa o TT Agora os sistemas s o todos integrados possibilitando a otimiza o dos pro cessos e a diminui o da redund ncia de dados Com isso poss vel melhorar muito o dempenho da empresa pois os processos se tornam mais estruturados fato que minimiza o retrabalho REZENDE 2002 I 1 Conceitos iniciais Com a crescente necessidade das empresas de contar com informa es cada vez mais r pidas e confi veis foi necess rio desenvolver n o apenas sistemas como tamb m novos hardwares Era preciso ter m quinas que aten
228. ssa analisar o funcionamento do sistema como um todo isto com todos os progra mas em funcionamento Nesse momento importante certificar se de que todos os programas est o executando suas tarefas corretamente de que o banco de dados est sendo atualizado de forma consistente e de que a estrutura de hardware e software est permitindo o funcionamento correto do sistema e oferecendo ao usu rio as informa es que ele solicitou no tempo que precisa delas Na fase seguinte devemos iniciar o treinamento dos usu rios para que possam operar o sistema No caso da padaria do senhor Jo o cada atendente tem de saber como se identificar no sistema e como registrar as compras dos clientes no balc o Os caixas t m de aprender como se registra o recebimento de uma compra e como se lan a notas fiscais de fornecedores E claro seria preciso treinar o senhor Jo o quanto a todas as tarefas do sistema Tanto no exemplo fict cio como em um projeto real quando todas as informa es estiverem cadas tradas e os cadastros de funcion rios produtos cart es e fornecedores estiverem corretos hora de estudar a melhor data para a implanta o caso ainda n o tenha sido definida importante ainda estabelecer uma rotina de c pia das informa es do sistema backup O usu rio respons vel por essa tarefa tem de ser treinado e instru do sobre sua import ncia pois com esse recurso se reduzem as perdas de informa o no caso de falhas d
229. stemas ou que podem levar a um entendimento d bio O desconhe cimento dos desenvolvedores sobre a rea de atua o outro motivo de equ vocos O processo da entrevista O processo de entrevista n o se reduz ao ato em si Por isso necess rio pensar em todas as atividades que antecedem e sucedem a tarefa 1 Determina o da necessidade da entrevista 2 Especifica o do objetivo da entrevista 3 Sele o do entrevistado 4 Marca o da entrevista 5 Prepara o das quest es ou do roteiro Recomenda se portanto que esses profissionais tenham conhecimentos sobre o ne g cio do cliente para estarem mais integrados ao sistema a ser desenvolvido Tam b m n o se deve priorizar a tecnologia em detrimento das necessidades dos usu rios e consequentemente da solu o do problema do cliente Na fase inicial do projeto a dificuldade de comunica o entre clientes e equipe de desenvolvimento a principal causa de defeitos encontrados no produto final AUGUST 1993 Na tentativa de resolver os problemas de comunica o entre desenvolvedores e clientes usu rios foram criados no final da d cada de 1970 diversos m todos baseados na din mica de grupo 6 Entrevista propriamente dita 7 Documenta o da entrevista incluindo as informa es obtidas 8 Valida o com o entrevistado da transcri o da entrevista 9 Corre o da transcri o 10 Aceita o por parte do entrevistado 11 Arquiv
230. strar compra produtos INFORM TICA 3 Analisando o diagrama vemos que no in cio o funcion rio faz o login no sistema e informa o n mero do cart o do cliente Quando os dados do produto compra do foram digitados as mensagens foram inseridas em um foco de controle que sugere a implementa o de um loop o qual por sua vez indica que aquela troca de mensagens ocorrer enquanto houver produtos a serem lan ados para o cliente Veja que agora sabemos exatamente quais m todos as classes envolvidas nesse caso de uso devem implementar Volte agora ao diagrama de classes Observe que os m todos criados naquele diagrama sa ram deste Note que a cada compra confirmada criado um novo objeto itemCompra Neste exemplo podemos ver a defini o da sequ ncia de execu o das classes como tamb m da interface gr fica GUI Graphical User Interface represen tada pela classe TelaRegistraProduto Volte agora ao exemplo do diagrama de classes e reveja os m todos definidos para as classes envolvidas no diagrama Voc perceber que tais m todos foram definidos a partir desse diagrama de sequ ncia 4 3 4 Diagrama de comunica o E um diagrama de intera o que d nfase organiza o estrutural de objetos que enviam e recebem mensagens um diagrama que mostra as intera es organizadas ao redor de inst ncias e os v nculos entre elas BOOCH RUM BAUGH e JACOBSON 2005 Principais componentes objetos mensa
231. ta um produto ou um processo Isso significa uma condi o CAP TULO INFORM TICA 3 ou uma capacita o que um produto no caso um software ou um servi o precisa atender ou ter para satisfazer um contrato um padr o uma especifica o ou outro documento formalmente estabelecido entre as partes Os requisitos est o associados aos principais problemas do desenvolvimento de software pois quando n o refletem as reais necessidades dos usu rios est o in completos e ou inconsistentes Existem mudan as em requisitos j acordados e a dificuldade para conseguir um entendimento entre usu rios e executores um dos principais problemas relatados capaz de provocar retrabalho e consequentemen te atrasos no cronograma custos acima do or amento e insatisfa o do cliente SWEBOK 2004 Veja as categorias de requisitos no quadro abaixo Caracteristicas Os requisitos tamb m s o agrupados por suas caracter sticas em uma gama que inclui desde os necess rios aos concisos e completos entre outros Necess rio indica que se retirado haver uma defici ncia no sistema Isto o programa n o atender plenamente s expectativas do usu rio N o deve haver requisitos que seriam apenas interessantes caso existissem Ou o requisito necess rio ou dispens vel Deve ser levado em considera o que cada requisito aumenta a complexidade e o custo do projeto logo n o podem ser introduzidos de forma esp ria
232. tar a pesquisa O Group By serve para agrupar dados recuperados conforme crit rios pr definidos INFORM TICA 3 Regra de integridade referencial Se determinada tabela A tem uma chave estrangeira que chave prim ria de uma tabela B ent o ela deve Ser igual a um valor de chave prim ria existente na tabela B e Ser totalmente nula Isso significa que uma liga o l gica est de sativada Conclui se que n o podemos ter um valor em uma chave estrangeira de uma tabela e que esse valor n o existe como chave prim ria em alguma ocorr ncia da tabela referenciada As regras de integridade do modelo relacional representam a garantia de que as tabelas guardam informa es compat veis S o portanto de extrema import ncia para a confiabilidade das informa es do banco de dados A manuten o de valor nulo para uma chave estrangeira significa que n o existe para aquela ocorr ncia liga o l gica com a tabela referenciada Utilizamos a integridade referencial para garantir a integridade das informa es entre as tabelas relacionadas em um banco de dados evitando assim inconsis t ncias e repeti es desnecess rias 3 3 4 2 Regras de convers o do modelo E R para o modelo relacional Um modelo Entidade e Relacionamento pode ser convertido para um modelo Relacional de banco de dados E preciso por m levar em conta as seguintes regras para cada elemento do sistema e Entidades toda entidade torna se
233. tar os m todos de andar e falar J a classe Funcionario por herdar os atributos e m todos da classe Pessoa possui nome cpf sal rio e nro Carteira Profissional podendo executar os m todos andar falar e trabalhar Dize mos que a classe Pessoa a superclasse da classe Funcionario que sua subclasse ou que Pessoa a classe pai de Funcionario e que Funcionario classe filha de Pessoa Especializa o nome String cpf String andar void falar void Funcionario salario double nroCarteiraProfissional String Generaliza o trabalhar void CAP TULO 4 Figura 89 esquerda representa o da agrega o entre classes UML 2 0 Figura 90 Representa o de uma composi o UML 2 0 Figura 91 Representa o de heran a utilizando UML INFORM TICA 3 Figura 92 Classe e objeto O molde que dar origem ao produto EQUIPE EESC USP F RMULA SAE 4 1 3 Objeto uma manifesta o concreta de uma abstra o uma entidade com uma fron teira bem definida e uma identidade que encapsula estado e comportamento inst ncia de uma classe BOOCH RUMBAUGH e JACOBSON 2005 Pode mos imaginar uma classe como sendo o molde e os objetos os produtos criados a partir desse molde Um bom exemplo pensar nos atributos do carro como sendo modelo n mero de portas cor ano de fabrica o tipo de combust vel velocidade m xima J os m
234. tario Tendo como chave prim ria os atributos numero nota codigo fornecedor e co digo produto e como chaves estrangeiras codigo fornecedor e codigo produto A entidade Fornece est em Primeira Forma Normal pois todos os seus atribu tos s o at micos Vale verificar a depend ncia funcional dessa entidade numero nota cod fornecedor cod produto gt data numero nota cod fornecedor cod produto gt valor total numero nota cod produto gt quantidade numero nota cod produto valor unitario Nem todos os atributos n o chave dependem completamente da chave logo preciso desmembrar seus atributos Fornece numero nota cod fornecedor data valor total Ficando como chave prim ria os atributos numero nota e cod fornecedor e como chave estrangeira o atributo cod fornecedor ItemFornece numero nota cod produto quantidade valor unitario Tendo como chave prim ria os atributos numero nota e cod produto e como chaves estrangeiras os atributos numero nota e cod produto e entidade Fornece est em Segunda Forma Normal pois todos os atributos n o chave dependem completamente da chave e entidade ItemFornece est em Segunda Forma Normal pois todos os atributos n o chave dependem completamente da chave e entidade Fornece est em Terceira Forma Normal pois todos os seu atri butos n o chave dependem da chave prim ria e A entidade ItemFornece est em Terceira Forma Normal pois todos os seus atributos n o chave depe
235. te desorganizado m fi E i F i ile FMES n TE Ecos j g ki ji m p F F E e LLIN i jii Dim a Tiig IP E i m ET nando se refer ncia com o lan amento do SQL padr o ANSI A padroniza o foi necess ria porque cada banco de dados por quest o de projeto ou facilidade de implementa o modificava os comandos da linguagem a tal ponto que hoje se n o fosse a padroniza o provavelmente ter amos de reaprend la a cada mudan a de sistema gerenciador de banco de dados A linguagem SQL ser um dos focos do terceiro cap tulo deste livro Infelizmente a padroniza o ainda n o gerou uma linguagem com fun es to talmente iguais o que nos obriga ao trocarmos de sistema gerenciador de banco Os nomes por tr s da tecnologia Edgar Frank Codd Donald D Relational Model of Data for Large Shared Data Banks Modelo de dados relacional para grandes Chamberlin e Peter Pin Shan Chen s o os pesquisadores que mais contribuiram para a bancos de dados compartilhados cria o do modelo de entidade Quatro anos depois em e relacionamento Em junho de maio de 1974 Chamberlin 1970 Codd matem tico ingl s e Raymond F Boyce ambos que na poca trabalhava no engenheiros e cientistas da IBM laborat rio da IBM em San Jose apresentaram o trabalho SEQUEL na Calif rnia Estados Unidos Structured English Query publicou um artigo decisivo na revista ACM Association estr
236. te Linguagem de Consulta Estruturada foi desenvolvida no in cio dos anos 1970 no departamento de pesquisas da IBM como interface para o sistema de banco de dados relacional denominado SYSTEM R Em 1986 o American National Standard Institute ANSI publicou um padr o de SQL e essa linguagem acabou se tornando padr o de banco de dados relacional A SQL apresenta uma s rie de comandos para definir dados chamada de DDL Data Definition Language ou linguagem de defini o de dados a qual composta entre outros pelo Create que se destina tarefa de criar bancos de dados J os comandos da s rie DML Data Manipulation Language ou linguagem de manipula o de dados possibilitam consultas inser es ex clus es e altera es em um ou mais registros de uma ou mais tabelas de ma neira simult nea Uma subclasse de DML a DCL Data Control Language ou linguagem de controle de dados disp e de comandos de controle como o pr prio nome diz Conforme Oliveira 2000 a grande virtude da linguagem SQL sua ca pacidade de gerenciar ndices sem a necessidade de controle individualiza do de ndice corrente algo muito comum nas linguagens de manipula o de dados do tipo registro a registro Outra caracter stica bastante impor tante em SQL sua capacidade de constru o de vis es ou seja formas de visualizar os dados em listagens independentes das tabelas e organiza es l gicas dos dados Tamb m interessante na
237. tir etiquetas de endere amento e como o fare mos se o campo rua tiver 255 caracteres O campo CEP tamb m foi colocado como obrigat rio para que o usu rio se lembre de preench lo Os campos telefone e celular s o do tipo varchar pois o zero esquerda signi ficativo isto 01 diferente de 1 tipode tamanho obrigatorio unico chave primaria valor_total DECIMAL CAP TULO 2 Chave valor regra de estrangeira default validacao chave valor regra de estrangeira default validacao Fornecedor ja deve ser cadastrado Soma dos itens de itemfornece para esta nota INFORM TICA 3 CAP TULO 2 Co WTEMFORNECE OOOO Observa o Um campo autonumera o um campo num rico que ter seu va porr tipo de tamanho obrigatorio unico chave chave Va lo E regra de lor sequencial preenchido pelo pr prio SGBD Mas importante frisar que nem no dados o o primaria estrangeira default validacao todo Sistema Gerenciador de Banco de Dados SGBD possui esse campo Por RO i na RR isso preciso verificar essa disponibilidade conforme o sistema adotado Veja que ans INTEGER a 7 Sim Sim Sim Sim N o N o o campo cod func caixa n o estava definido no projeto l gico mas ao analisar DICA cod produto INTEGER 5 Sim N o Sim Sim N o Produto j as funcionalidades verificou se que o senhor Jo o quer saber quem recebeu pela A defini o das tabel
238. tista de Carvalho Lieka Felso e Miguel Facchini Dire o de arte Deise Bitinas Edi o de arte Ana Onofri Editoras assistentes Nane Carvalho Nic ia Cecilia Lombardi e Roberta Moreira Assistentes Ana Silvia Carvalho Claudia Camargo e Felipe Lamas Ilustra es Carlos Grillo Pesquisa iconogr fica Completo Iconografia Maria Magalh es e Priscila Garofalo Fotografia Carlos Piratininga Eduardo Pozella fot grafos e Daniela M ller produtora Tratamento de imagens Sidnei Testa Impresso em Vitopaper 6g papel sint tico de pl stico reciclado da Vitopel pela Gr fica Ideal Dados Internacionais de Cataloga o na Publica o CIP Bibliotec ria Silvia Marques CRB 8 7377 Piva Gustavo Dibbern Inform tica an lise e gerenciamento de dados Gustavo Dibbern Piva Wilson Jos de Oliveira revisor Humberto Celeste Innarelli coordenador Luis Eduardo Fernandes Gonzalez S o Paulo Funda o Padre Anchieta 2010 Manual de Inform tica Centro Paula Souza v 3 ISBN 978 85 61 143 47 3 Sistemas operacionais Computadores 2 Softwares de aplica o Oliveira Wilson Jos de Il Innarelli Humberto Celeste revisor III Gonzalez Luis Eduardo Fernandes coord IV T tulo CDD 005 43 NCC A DO ESTADO NES O PAULO CADA VEZ MELHOR GOVERNADOR Jos Serra VICE GOVERNADOR Alberto Goldman SECRET RIO DE DESENVOLVIMENTO Geraldo Alckmin CexTRO PAULA SOUZA Presidente d
239. tivo baseado no modelo relacional A descri o do banco de dados representada em n vel l gico da mesma maneira que seus dados Esta regra exige que um SGBD relacional tenha uma mesma linguagem para acesso e defini o dos dados no dicion rio e para a manipula o dos dados do banco e do dicion rio Por exemplo um comando para adicionar informa es em uma tabela da aplica o deve ser o mesmo para acrescentar informa es no dicion rio de dados Regra n mero 5 Sublinguagem detalhada e dados Um sistema de banco de dados relacional deve ter uma linguagem cujas instru es com sintaxe bem definida suportem a defini o de dados a defini o de vis o de dados a manipula o de dados as restri es de inte gridade as autoriza es e os limites de transa o Instru es e Defini o dos dados criar ou adicionar tabelas no dicion rio de dados Defini o de vis o de dados fazer opera es relacionais de jun o criar vis es de partes do modelo de dados Manipula o de dados permitir criar alterar consultar e deletar con juntos de dados e Restri es de integridade possibilitar que sua sublinguagem controle as restri es espec ficas de uma tabela ou de valores aceit veis para uma determinada coluna e Autoriza es definir limites de acesso a tabelas por usu rio inclusive em n vel de coluna e Limites de transa o tornar vi vel a delimita o de uma transa o l gic
240. to de casos de uso atores e seus relacio namentos Abrange a vis o est tica de caso de uso de um sistema conforme descri o de BOOCH RUMBAUGH e JACOBSON 2005 UML Guia do usu rio livro de uma cole o bastante til para quem quer se aprofundar no estudo de UML veja quadro UML Guia do usu rio vale a pena consultar O diagrama de casos de uso geralmente o primeiro a que recorremos no in cio da an lise de um projeto que utilize UML Ele criado ap s o levantamento dos requisitos da solu o imaginada cada caso de uso um de seus requisitos funcionais O diagrama permite visualizar os limites do sistema sua rela o com os demais sistemas com seus componentes internos e as fun es que deve realizar Voc pode criar diagramas de caso de uso para avaliar alguma situa o n o Ao utilizar a UML precisamos de bom senso para oferecer solu es adequadas e no prazo esperado pelo usu rio criando modelos apenas para as partes que realmente demandam defini o mais aprofundada CAP TULO 4 INFORM TICA 3 Figura LI Exemplo da utiliza o de relacionamentos include extend Usuario muito clara identificada nas entrevistas ou para definir como ser a rela o dos diversos agentes de software no sistema ou ainda para verificar que funcionali dades este dever implementar O que faremos mapear os requisitos funcionais do sistema sua an lise e tamb m as rela
241. trevistado e todos os n meros importantes quantidades volume de dados etc Perguntas para conclus o Para finalizar a conversa preciso obter a avalia o do entrevistado sobre a ati vidade realizada Essa tarefa exige que ele responda a um formul rio contendo as seguintes perguntas e entrevista cobriu todo o escopo necess rio e Foram feitas perguntas adequadas e O entrevistado era realmente a pessoa mais indicada para dar as respostas solicitadas 1 8 5 2 Metodologia JAD Joint Application Design Outra t cnica importante de identifica o e coleta de requisitos o JAD iniciais de Joint Application Design ou literalmente desenho de aplica o associada Caso o levantamento de requisitos n o seja feito de maneira eficiente sem a identifica o das verdadeiras necessidades do usu rio ao entregar o software o grupo de inform tica corre o risco de receber um feedback negativo do cliente Isso porque a percep o desse cliente ser de que n o recebeu aquilo que solicitou Tal problema de comunica o pode ter diversas causas A ado o de linguagem t cnica por ambas as partes uma das principais raz es de erros no levantamento de requisitos pois tanto o usu rio quanto o analista de sistemas podem utilizar termos pertinentes exclusivamente sua rea Por exemplo profissionais do departamento financeiro possuem um conjunto de voc bulos t cnicos jarg es desconhecidos dos analistas de si
242. ual s o registradas e pagas as compras N o informa o Produtos s o os itens que o senhor Jo o vende em sua padaria Cont m um conjunto de atributos tais como descri o saldo e pre o de venda S o uma entidade Padaria o tipo do estabelecimento que o senhor Jo o possui Tem um conjun to de atributos como nome endere o etc uma entidade Funcion rios s o as pessoas que executam algum tipo de servi o necess rio ao bom funcionamento da padaria Possuem uma s rie de atributos que precisam ser armazenados para facilitar o controle e a consulta de suas informa es S o uma entidade Fun es referem se qualifica o do funcion rio e ao tipo de servi o que ele exerce na padaria logo s o atributos de funcion rio Caixa atendente auxiliar de limpeza e padeiro S o os nomes das fun es dos funcion rios informa es que podem se relacionar com o atri buto fun o Clientes s o os agentes de nosso modelo aqueles que compram os produtos do senhor Jo o Possuem um conjunto de atributos tais como nome endere o telefone Constituem uma entidade Cart o o item que representar o cliente na padaria Demanda o con trole de sua durabilidade e de seu uso associado ao registro das vendas e possui os atributos c digo data de in cio de uso e data de fim de uso uma entidade C digo um atributo da entidade cart o Valor total da compra informa o relevante da compra E ass
243. ualizada na tabela NotaFiscal Criando os Gatilhos Gatilhos s o sempre criados vinculados a uma determinada tabela Se a tabe la for exclu da todos os seus Gatilhos ser o exclu dos como consequ ncia Ao criarmos um Gatilho podemos especificar em qual ou quais opera es ele ser acionado INSERT UPDATE ou DELETE Gatilho para inser o Realiza a inclus o de uma ou mais linhas na tabela virtual chamada inserted que cont m as linhas que ser o inclu das mas ainda n o foram Essa tabela tem a mesma estrutura da tabela principal Podemos consultar dados nela com o SELECT da mesma forma que uma tabela real Vamos criar um Gatilho chamado InclusaoltemNota que ser ativado por uma opera o INSERT na tabela ItemNotaFiscal Primeiro ele vai verificar se os valores que estiverem sendo inseridos possuem uma Nota Fiscal relacionada ou n o Devemos digitar as instru es a seguir CAP TULO 3 INFORM TICA 3 CREATE TRIGGER InclusaoltemNota On ItemNotaFiscal for insert As If not exists select from Inserted NotaFiscal Where inserted NumeroNota NotaFiscal NumeroNota Raiserror Esse item n o cont m um n mero de nota v lido Update NotaFiscal Set ValorTotal ValorTotal select i Quantidade p preco from produto p inserted i Where p codProduto CodProduto Where NumeroNota select NumeroNota from inserted Primeiramente o Gatilho usa as tabelas inserted e NotaFiscal para consultar se e
244. ue sua chave prim ria N o h limita o para o n mero de chaves estrangeiras em uma tabela Veja nas tabelas abaixo exemplos de refer ncia l gica por chave estrangeira Matricula Nome Numero Nome 1234 Wilson Oliveira 10 Contabilidade 5678 Lucas Sirtori Sistemas 919 Andr a Oliveira RH 9287 Amanda Cristina 9388 Priscila Oliveira Na tabela Funcionario temos o atributo Matricula Funcionario como chave prim ria e na tabela Departamento a chave prim ria o atributo Nume ro Departamento Assim n mero do departamento em Funcionario uma chave estrangeira uma refer ncia l gica que estabelece o relacionamento entre as duas entidades 3 3 4 1 Regras de integridade As regras de integridade existem para evitar que uma determinada coluna n o tenha uma rela o correspondente Em fun o dos conceitos de chave prim ria e chave estrangeira Codd elaborou as duas regras de integridade de dados do modelo relacional a de integridade e a de integridade referencial Regra de integridade de identidade Esta restri o se refere aos valores das chaves prim rias Se a chave prim ria por defini o identifica uma e somente uma ocorr ncia de uma tabela ent o n o poder ter valor NULO porque nulo n o identifica nada representando apenas a informa o desconhecida CAP TULO 3 O comando Order By especifica um ou mais elementos que ser o usados para classificar um conjunto de resultados e facili
245. up e recupera o E fun o do DBA ainda especificar como e quando ser o feitos os backup e desenvolver uma estrat gia para recuperar informa es em caso de danos ao banco de dados Monitorar o desempenho e atender s necessidades de modifica es O DBA deve organizar o sistema de modo a obter o melhor desempenho poss vel para a empresa CAP TULO 3 INFORM TICA 3 Figura 42 Seguran a em banco de dados 3 4 1 Seguran a em banco de dados Quando falamos de seguran a em banco de dados precisamos ter em mente um conceito muito simples o usu rio deve acessar somente os dados estritamente necess rios para realizar seu trabalho n o podemos lhe fornecer nenhuma ou tra permiss o Por exemplo se a fun o do usu rio apenas realizar consultas n o devemos permitir que possa tamb m alterar excluir ou inserir dados no sistema mas t o somente que fa a consultas figura 42 3 4 1 1 Seguran a no sistema operacional Antes de falar sobre a seguran a em banco de dados vamos abordar o tema em rela o ao sistema operacional Vamos saber por exemplo como e porque se deve fazer o logon no Windows ou qualquer outro sistema operacional E tamb m porque no Windows a conta do usu rio usada como se fosse sua identidade j que por meio da conta de logon desse sistema que conseguimos identificar os usu rios conectados e carregar configura es personalizadas para cada um deles Al m disso apre
246. uturada em ingl s for Computer Machinery Em mar o de 1976 Peter Associa o para Maquin ria Chen engenheiro el trico da Computa o intitulado e Ph D em Ci ncia da ROBERT W GINN ALAMY OTHER IMAGES I Language Linguagem de consulta de dados a pesquisar por exemplo a fun o que retorna data atual no SQL Mas com certeza as diferen as entre elas s o atualmente bem menores Hoje em dia o padr o ANSI est na vers o SQL 2003 Os estudos n o pararam por a O modelo de entidade e relacionamento foi ine gavelmente um marco na hist ria da inform tica utilizado em larga escala mas avan ou se bastante depois dele Hoje por exemplo existe a UML Linguagem de Modelagem Unificada outra t cnica de modelagem baseada na teoria de Orienta o a Objetos analisada no cap tulo 4 2 1 Conceitos Para podermos utilizar as t cnicas do modelo de entidade e relacionamento neces sitamos predefinir alguns de seus conceitos de modo a facilitar seu entendimento Banco de dados E um conjunto de informa es inter relacionadas sobre determinado assunto e armazenadas de forma a permitir acesso organizado por parte do usu rio Bancos de dados relacional S o conjuntos de dados relacionados entre si que implementam as caracter sti cas do modelo de entidade e relacionamento Sistema gerenciador de bancos de dados SGBD E um conjunto de programas que permite a implementa o de bancos de dados
247. valia o do prototipo pelo cliente gr fica ent o alguns SGBDs Sistemas Gerenciadores de Banco de Dados tamb m fornecem ferramentas para a concep o de telas de entrada e sa da de dados p P Essa t cnica frequentemente aplicada quando existem dificuldades no enten dimento dos requisitos do sistema e ou quando existem requisitos que precisam ser mais bem entendidos Ap s o Levantamento de Requisitos LR tema do pr ximo t pico deste livro um prot tipo j pode ser constru do e usado na valida o Os usu rios fazem suas cr ticas e s o feitas corre es Esse processo de revis o e refinamento continua at que o sistema seja aceito pelos usu rios A partir da descartado ou utilizado apenas como uma vers o inicial do sistema Importante a prototipagem n o substitui a constru o de modelos do sistema Trata se de uma t cnica complementar E os erros detectados na sua valida o devem ser utilizados para modificar e refinar o programa 8 Levantamento ou especifica o de requisitos Obter qualidade nos processos e produtos de engenharia de software n o uma tarefa f cil pois s o v rios os fatores que dificultam o alcance desse objetivo No entanto nada mais decepcionante do que desenvolver um sistema que n o satisfa a as necessidades dos clientes Grandes volumes de recursos s o gastos e em muitos casos os clientes sentem se frustrados com a vers o final do software encom
248. ves de uma tabela Assim implementa os conceitos de chave prim ria e chave estran geira que se relacionam com duas restri es de integridade determinadas por Codd quanto ao banco de dados Vejamos ent o quais s o os tipos de chave em um modelo relacional CAP TULO 3 e Colunas que devem ser indexadas chave prim ria as que frequentemente s o utilizadas em jun o chave estrangeira as frequentemente pesquisadas em faixas de valores as geralmente recuperadas de forma classificada e Colunas que n o devem ser indexadas as que raramente s o referenciadas em uma consulta as que cont m poucos valores nicos as definidas com os tipos de dados text image ou bit quando o desempenho das atualiza es mais importante que o desempenho das consultas INFORM TICA 3 Chave prim ria O conceito de chave prim ria est ligado pr pria concep o do modelo rela cional Os dados est o organizados sob a forma de tabelas bidimensionais com linhas e colunas e o princ pio nos conduz a termos uma forma de identificar uma nica linha da tabela por meio de um identificador nico em valor Trata se de um conceito fundamental para entendermos o funcionamento de um banco de dados Quando definimos um campo como chave prim ria estamos informan do ao banco de dados que n o pode existir mais algum registro com o mesmo valor especificado como chave prim ria ou seja os valores das chaves prim ri
249. xiste o valor de NumeroNota na tabela Caso n o exista o comando RAISER ROR gera um erro de execu o com uma mensagem que ser retornada para a aplica o Esse comando efetivamente cancela o comando INSERT que estiver sendo executado Depois verifica a quantidade que est sendo inserida inserted Quantidade e multiplica pelo pre o do produto Produto Preco Este pre o encontrado na tabela do produto usando como valor de pesquisa o c digo do produto inserted CodProduto Ele atualiza a nota fiscal relacionada com o item que est sendo inserido para isso verifica Where NumeroNota select Numero Nota from inserted Gatilhos para exclus o Na exclus o as linhas da tabela s o removidas e colocadas na tabela vir tual default deleted que tem a mesma estrutura da tabela principal Um Gatilho para exclus o pode consultar DELETED para saber quais linhas foram exclu das Vamos criar um Gatilho na tabela NotaFiscal para que quando a nota fiscal for exclu da todos os seus itens de nota relacionados na tabela Item NotaFiscal sejam exclu dos em cascata Para isso devemos utilizar a seguinte sequ ncia CREATE TRIGGER ExclusaoNota On NotaFiscal for delete As Delete from ItemNotaFiscal Where NumeroNota in select NumeroNota from deleted Gatilhos para atualiza o As tabelas INSERTED e DELETED como j vimos s o tabelas virtuais que po dem ser usadas dentro de um Gatilho A primeira cont m os dados que est
250. y a Teini RF Coen paiga sect Define history deanup task Conigue iha manenanzy hyk AN Salsci Iha jpa a heimoa dala lo daia R SOL Server Agent Job hatay F Database Manienance Flan hairy Remova huibomc al daia gidei that wedii vo O em m J e coe 13 Clique agora no bot o Next para seguir pr xima etapa do assistente 14 Nessa fase vamos escolher os bancos de dados em que ser o criadas tarefas as quais ao serem executadas recriar o os ndices As tr s primeiras listas funcionam de modo id ntico s tr s listas apresentadas na figura 45 Na pri meira lista voc marcar um ou mais bancos de dados na segunda seleciona r as op es Table Views ou Tables and Views e na terceira os objetos individualmente dependendo de qual op o foi selecionada na segunda lista Para o nosso exemplo selecione na primeira lista o banco de dados Adventu reWorks e na segunda a op o Tables and Views Mantenha as demais op es inalteradas E clique em Next para seguir adiante 15 Nessa fase voc selecionar para quais bancos de dados ser o criadas tarefas para atualizar as estat sticas das tabelas e views As tr s primeiras listas funcio nam exatamente como as tr s mostradas na figura 46 Marque na primeira lista um ou mais bancos de dados Na segunda selecione as op es Table Views ou Tables and Views e na terceira lista os objetos individualmente de pe
251. zado Visibilidade indica que necess rio tamb m que fique claro quando um item es tar dispon vel para ser utilizado e que a es estar o dispon veis por seu interm dio Integridade tamb m importante levar em conta na cria o de um item a defi ni o clara de como este se relaciona e a consist ncia de tal relacionamento CAP TULO 4 Diagramas Comportamentais pr O Diagrama Diagrama F de Objetos de Classes 2 EN a f Diagrama de Pacotes f de Fansi es de Estados f LECCE Anata f j Cagrama de Estrutura Composta f Diagrama de Atividades Diagrama de implementa o SPA OO des qo espia Diagrama de Diagrams de Geral da intera o Execu o deve estar evidente ainda o que o modelo representa e ou simula O que queremos observar com a cria o desse modelo 4 2 4 Adornos Al m dos tr s blocos de constru o a UML oferece componentes denomina dos adornos que podem ser utilizados tanto para melhorar o entendimento dos modelos criados quanto para estender o uso da UML em situa es onde n o existem componentes definidos S o eles Estere tipos componentes de uso geral servem para estender o significado de determinado item em um diagrama Por serem de prop sito geral podem ser utilizados em qualquer item da UML onde for necess ria uma defini o mais clara de seu papel
252. zava 5 mil opera es por segundo velocidade mil vezes superior das m quinas da poca No entanto se comparado com os computadores atuais o seu poder de processamento seria menor do que o de uma simples calculadora de bolso Mas a primeira gera o de m quinas teve como marco hist rico o lan amento do primeiro computador comercial o Univac I Universal Automatic Computer ou computador autom tico universal em 1951 Ele possu a cem vezes a capa cidade do Eniac era dez vezes mais r pido e tinha um d cimo de seu tamanho O Univac I tinha como componentes entre 10 mil e 20 mil v lvulas eletr nicas com dura o m dia de oitocentos a mil horas O primeiro modelo do Univac foi constru do pela empresa Eckert Mauchly Computer Corporation adquirida pela Remington Rand pouco depois Hoje os direitos sobre o nome Univac pertencem Unisys que aponta a For a A rea Americana o Ex rcito e a Comiss o de Energia At mica norte americanos como seus primeiros clientes Inicialmente o Univac era usado para executar fun es no Escrit rio de Censo dos Estados Unidos Al m de rg os governa mentais eram usu rias do computador empresas como a General Electric a Metropolitan Life e a Du Pont Naquela poca cada uma das 46 unidades fabri cadas do Univac custava US 1 milh o Em 1953 surgiu o IBM 701 e em 1954 o IBM 650 Ambos tiveram muito sucesso de vendas para a poca chegando a 2 mil unidades em cinco anos
Download Pdf Manuals
Related Search
Related Contents
Magellan MAESTRO 5310 User's Manual Opciones de impresoras externas para el Manual - Invention Alert - software for patent search Copyright © All rights reserved.
Failed to retrieve file