Programação Comercial - Apostila
Programação Comercial - Apostila
Ementa
Introdução à ferramenta CASE. Conceitos e desenvolvimento sobre: formulários, caixas de
input e output, botões, datagrid, eventos e configurações de tela. Conexão de banco de dados
com ferramenta CASE. Elaboração de consultas. Desenvolvimento de relatórios utilizando
componentes adequados. Criação de setups.
Etapas a Percorrer
2º passo
Banco de
Dados
3º passo
Contendo os
Requisitos
4º passo
Ferramenta/Ambiente CASE
(Busca de Requisitos)
3 - Ferramentas de Apoio
A categoria das ferramentas de apoio abrange ferramentas de aplicação e de sistemas
que complementam o processo de engenharia de software. As ferramentas dessa
ampla categoria abrangem as atividades de “guarda-chuva” que são aplicáveis em
todo o processo de engenharia de software. Entre elas incluem-se as ferramentas de
documentação, as ferramentas de rede e software básico, ferramentas de garantia de
qualidade, ferramentas de gerenciamento de banco de dados e gerenciamento de
configuração – framework.
3.1 – Ferramentas de Documentação
As ferramentas de produção de documentos e de editoração eletrônica (desk-top
publishing) dão apoio a quase todos os aspectos da engenharia de software. A maioria
das empresas de desenvolvimento de software, gasta um considerável tempo
elaborando documentos, em torno de 20% a 30 % do tempo total para o
desenvolvimento. Sendo assim as ferramentas de documentação é uma importante
oportunidade para melhorar a produtividade.
As ferramentas de documentação frequentemente são ligadas a outras ferramentas
CASE, servindo com uma ligação com a ferramenta técnica. Normalmente os modelos
e o texto criado durante a análise e projeto podem ser transmitidos diretamente a uma
ferramenta de documentação, evitando com que o procedimento seja feito duas vezes
e evitando também erros nas repetições.
3.2 – Ferramentas de Software Básico
As ferramentas CASE, são atualmente uma tecnologia de estação de trabalho,
diferente de anteriormente quando utilizávamos mainframe, assim seu ambiente deve
acomodar software básico de alta qualidade de rede. Embora o sistema operacional
mais utilizado em estações de trabalho
de engenharia seja o UNIX, os serviços
de portabilidade oferecidos por um IPSE -
Ambiente Integrado de suporte a
projetos, podem tornar a migração das
ferramentas case mais fáceis.
3.3 – Ferramentas de Garantia de
Qualidade
Normalmente são ferramentas que fazem
auditoria do código-fonte para determinar
o cumprimento de padrões de linguagem.
3.4 – Ferramentas de Banco de Dados
e SCM
As ferramentas CASE podem auxiliar em cinco grandes tarefas no gerenciamento da
configuração do banco de dados, como a identificação, controle de versão, controle de
mudanças, auditoria e relato de status. Os bancos de dados CASE proporcionam um
mecanismo para identificar cada item de configuração e relacioná-lo com outros itens
podendo ser implementado com o auxílio de ferramentas especializadas, tendo fácil
acesso a itens de configuração individuais facilitando o processo de auditoria e
aperfeiçoando os relatos de status das atividades que estão sendo executadas.
4 – Ferramentas de Análise e Projeto
Introdução
O GUI Builder do IDE torna possível construir GUIs de aparência profissional sem um
conhecimento profundo dos gerenciadores de layout. Você pode criar forms,
simplesmente colocando componentes onde desejar.
Para obter descrições sobre o feedback visual do GUI Builder, é possível utilizar
a Legenda de Feedback Visual do GUI Builder.
Criando um Projeto
Como todo o desenvolvimento em Java no IDE ocorre dentro dos projetos, precisamos
primeiro criar um projeto ContactEditor para armazenar os códigos-fonte e outros
arquivos do projeto. Um projeto do IDE é um grupo de arquivos de códigos-fonte Java
e metadados associados que inclui arquivos de propriedades específicos do projeto,
um script de construção que controla as definições de construção e execução e um
arquivo project.xml, que mapeia destinos de Ant para comandos do IDE. Embora as
aplicações Java geralmente consistam em vários projetos do IDE, para o objetivo
deste tutorial, construiremos uma aplicação simples, inteiramente armazenada em um
único projeto.
O IDE criará a pasta ContactEditor no sistema no local designado. Essa pasta contém
todos os arquivos associados do projeto, como o script Ant, pastas para
armazenamento de códigos-fontes e testes e uma pasta para os metadados
específicos do projeto. Para exibir a estrutura do projeto, utilize a janela Arquivos do
IDE.
Depois, precisamos redimensionar o JPanel para dar espaço aos componentes que
serão inseridos posteriormente, mas antes tomemos um minuto para indicar outras
funcionalidades de visualização do GUI Builder. Para fazer isso, precisamos
desmarcar o JPanel que acabamos de adicionar. Como nós ainda não adicionamos
uma borda com título, o painel desaparecerá. Observe, entretanto, que quando ao
passar o cursor sobre o JPanel, as margens mudarão para cinza claro para que sua
posição possa ser vista claramente. Você precisa apenas clicar em qualquer lugar no
componente para selecioná-lo novamente e fazer com que os handles de
redimensionamento e os indicadores de ancoragem reapareçam.
Para redimensionar o JPanel:
1. Selecione o JPanel recém-adicionado. Os pequenos handles de redimensionamento
quadrados reaparecerão em torno do perímetro do componente.
2. Clique e segure o handle de redimensionamento na margem direita do JPanel e
arraste-a até que a linha-guia de alinhamento pontilhada seja exibida próxima à
margem do form.
3. Solte o handle de redimensionamento para redimensionar o componente.
O componente JPanel é estendido para ficar entre as margens esquerda e direita do
contêiner de acordo com o deslocamento recomendado, como mostra a ilustração
abaixo.
Agora que adicionamos um painel para conter a informação Nome da nossa UI,
precisamos repetir o processo para adicionar outro diretamente abaixo da primeira
para a informação de E-mail. Consultando as ilustrações abaixo, repita as duas tarefas
anteriores, prestando atenção ao posicionamento sugerido pelo GUI Builder. Observe
que o espaçamento vertical sugerido entre os dois JPanels é muito mais estreito que
entre as margens. Quando você tiver adicionado o segundo JPanel, redimensione-o
para que preencha o espaço vertical restante do form.
Como queremos distinguir visualmente as funções nas seções superior e inferior da
nossa GUI, precisamos adicionar uma borda e título a cada JPanel. Primeiro faremos
isso utilizando a janela Propriedades e depois a experimentaremos utilizando o menu
pop-up.
Para adicionar bordas de título aos JPanels:
1. Selecione o JPanel superior no GUI Builder.
2. Na janela Propriedades, clique no botão de reticências (...) ao lado da propriedade
Borda.
3. No editor de Bordas do JPanel exibido, selecione o nó TitledBorder no painel
Bordas Disponíveis.
4. No painel Propriedades abaixo, insira Name para a propriedade Título.
5. Clique nas reticências (...) ao lado da propriedade Fonte, selecione Negrito em
Estilo de Fonte e insira 12 no Tamanho. Clique em OK para fechar as caixas de
diálogo.
6. Selecione o JPanel inferior e repita as etapas de 2 a 5, mas dessa vez clique com o
botão direito do mouse no JPanel e acesse a janela Propriedades utilizando o menu
pop-up. Insira E-mail para a propriedade Título.
Adicionando Componentes Individuais ao Form
Agora precisamos começar a adição dos componentes que apresentarão as
informações de contato reais na nossa lista de contatos. Nessa tarefa, adicionaremos
quatro JTextFields que exibirão as informações de contato e os JLabels que as
descreverão. Ao fazer isso, observe as linhas-guia horizontais e verticais que o GUI
Builder exibe, sugerindo o espaçamento preferencial dos componentes conforme
definido pela aparência e funcionalidade do sistema operacional. Isso assegura que
nossa GUI seja processada automaticamente respeitando a aparência do sistema
operacional de destino em runtime.
Para adicionar um JLabel ao form:
1. Na janela Paleta, selecione o componente Label na categoria Controles do Swing.
2. Mova o cursor acima do JPanel Name adicionado anteriormente. Quando as linhas-
guias aparecerem, indicando que o JLabel está posicionado no canto superior
esquerdo do JPanel com pequena margem nos cantos superior e esquerdo, clique
para posicionar o label.
O JLabel será adicionado ao form e um nó correspondente, representando o
componente, será adicionado à janela Inspetor.
Antes de prosseguir, precisamos editar o texto de exibição do JLabel que acabamos
de adicionar. Embora seja possível editar o texto de exibição do componente em
qualquer ponto, a maneira mais fácil é fazer isso à medida que o adiciona.
Para editar o texto de exibição de um JLabel:
1. Clique duas vezes no JLabel para selecionar a exibição de texto.
2. Digite Nome: e pressione Enter.
O novo nome do JLabel é exibido e a largura do componente será ajustada como
resultado da edição.
Agora adicionaremos um JTextField para que possamos ter uma vista rápida da
funcionalidade de alinhamento da linha de base do GUI Builder.
Para adicionar um JTextField ao form:
1. Na janela Paleta, selecione o componente Campo de texto na categoria Controles
do Swing.
2. Mova o cursor imediatamente à direita do JLabel Nome: recém-adicionado. Quando
a linha-guia horizontal aparecer, indicando que a linha de base do JTextField está
alinhada com aquela do JLabel e o espaçamento entre os dois componentes for
sugerido com uma linha-guia vertical, clique para posicionar o JTextField.
O JTextField se encaixará na posição no form alinhado com a linha de base do JLabel,
conforme mostra a ilustração abaixo. Observe que o JLabel mudou ligeiramente para
baixo para se alinhar à linha de base do campo de texto mais alto. Como sempre, um
nó representando o componente será adicionado à janela Navegador.
Antes de continuar, precisamos editar o nome do JLabels para que possamos ver o
efeito dos alinhamentos que definiremos posteriormente.
Para editar o texto de exibição de JLabels:
1. Clique duas vezes no primeiro JLabel para selecionar a exibição de texto.
2. Digite Título: e pressione Enter.
3. Repita as etapas 1 e 2, inserindo Apelido: para a propriedade de nome do segundo
JLabel.
Os novos nomes dos JLabels serão exibidos no form e mudarão como resultado das
larguras editadas, como mostra a ilustração abaixo.
Inserindo Componentes
Geralmente, é necessário adicionar um componente entre componentes já colocados
em um form. Quando você adiciona um componente entre dois componentes
existentes, o GUI Builder automaticamente os mudará para dar espaço para o novo
componente. Para demonstrar isso, inseriremos um JTextField entre os JLabels
adicionados anteriormente, como mostram as duas ilustrações abaixo.
Para inserir um JTextField entre dois JLabels:
1. Na janela Paleta, selecione o componente Campo de texto na categoria Controles
do Swing.
2. Mova o cursor acima dos JLabels Título: e Apelido: na segunda linha de maneira
que o JTextField sobreponha ambos e fique alinhado às suas linhas de base. Se você
tiver dificuldade em posicionar o novo campo de texto, poderá encaixá-lo à linha-guia
esquerda do JLabel Apelido, como mostra a primeira imagem abaixo.
3. Clique para posicionar o JTextField entre os JLabels Título: e Apelido:.
O JTextField se encaixará entre os dois JLabels. O JLabel da extremidade direita
muda em direção à direita do JTextField para acomodar o deslocamento horizontal
sugerido.
Ainda precisamos adicionar outro JTextField ao form que exibirá o apelido do contato
no lado direito do form.
Para adicionar um JTextField:
1. Na janela Paleta, selecione o componente Campo de Texto na categoria Swing.
2. Mova o cursor para a direita do label Apelido e clique para posicionar o campo de
texto.
O JTextField se encaixará ao lado esquerdo do JLabel.
Para redimensionar um JTextField:
1. Arraste os handles de redimensionamento do JTextField do label Apelido:
adicionado na tarefa anterior à direita do JPanel de fechamento.
2. Quando as linhas-guia de alinhamento vertical aparecerem sugerindo a margem
entre o campo de texto e as margens do JPanel, solte o botão do mouse para
redimensionar o JTextField.
A margem direita do JTextField se encaixará em alinhamento com a margem
recomendada do JPanel e o GUI Builder deduzirá o comportamento de
redimensionamento correto.
3. Pressione Ctrl-S para salvar o arquivo.
Para redimensionar um JTextField:
1. Arraste os handles de redimensionamento do JTextField do label Apelido:
adicionado na tarefa anterior à direita do JPanel de fechamento.
2. Quando as linhas-guia de alinhamento vertical aparecerem sugerindo a margem
entre o campo de texto e as margens do JPanel, solte o botão do mouse para
redimensionar o JTextField.
A margem direita do JTextField se encaixará em alinhamento com a margem
recomendada do JPanel e o GUI Builder deduzirá o comportamento de
redimensionamento correto.
Pressione Ctrl-S para salvar o arquivo.
Avançando
Alinhamento é um dos aspectos mais fundamentais da criação GUI com aparência
profissional. Na seção anterior, tivemos uma vista rápida das funcionalidades de
alinhamento do IDE durante a adição dos componentes JLabel e JTextField ao nosso
form ContactEditorUI. Depois, veremos de maneira mais profunda as funcionalidades
de alinhamento do GUI Builder, conforme trabalhamos com os outros componentes
necessários para a nossa aplicação.
Alinhamento de Componentes
Sempre que você adiciona um componente a um form, o GUI Builder os alinha
efetivamente, conforme evidenciado pelas linhas-guia de alinhamento exibidas.
Entretanto, às vezes, também é necessário especificar diferentes relacionamentos
entre os grupos de componentes. Anteriormente, nós adicionamos quatro JLabels
necessários para a nossa GUI ContactEditor, mas nós não os alinhamos. Agora
alinharemos as duas colunas de JLabels para que as margens direitas se alinhem.
Para alinhar componentes:
1. Mantenha pressionada a tecla Ctrl e clique para selecionar os JLabels Nome: e
Título: do lado esquerdo do form.
2. Clique no botão Alinhar à Direita na coluna ( ) na barra de ferramentas.
Alternativamente, clique com o botão direito do mouse em um deles e escolha Alinhar
> Direita na coluna no menu pop-up.
3. Repita isso também para os JLabels Sobrenome: e Apelido:.
Antes de finalizarmos com os JTextFields adicionados anteriormente, precisamos nos
certificar de que os dois JTextFields que inserimos entre os JLabels estejam definidos
para se redimensionarem corretamente. Ao contrário dos dois JTextFields que foram
esticados para a margem direita do form, o procedimento de redimensionamento dos
componentes inseridos não é definido automaticamente.
Para definir o procedimento de redimensionamento de um componente:
1. Clique nos dois componentes JTextField inseridos para selecioná-los no GUI
Builder.
2. Com os dois JTextFields selecionados, clique com o botão direito do mouse em um
deles e escolha Redimensionamento automático > Horizontal no menu pop-up.
Os JTextFields serão definidos com redimensionamento horizontal em runtime. As
linhas-guia de alinhamento e os indicadores de ancoragem serão atualizados,
fornecendo comentário visual dos relacionamentos dos componentes.
Para configurar os componentes para que tenham o mesmo tamanho:
1. Clique em todos os quatro JTextFields do form para selecioná-los.
2. Com os JTextfields selecionados, clique com o botão direito do mouse em um deles
e escolha Definir Mesmo Tamanho > Mesma Largura no menu pop-up.
Todos os JTextFields terão a mesma largura definida e os indicadores serão
adicionados na parte superior destes, fornecendo feedback visual dos relacionamentos
dos componentes.
Agora precisamos adicionar outro JLabel que descreva a JComboBox que permitirá
aos usuários selecionar o formato das informações que nossa aplicação ContactEditor
exibirá.
Para alinhar um JLabel a um grupo de componentes:
1. Na janela Paleta, selecione o componente Label na categoria Swing.
2. Mova o cursor abaixo dos JLabels Nome: e Título: no lado esquerdo do JPanel.
Quando as linhas-guia aparecerem, indicando que a nova borda direita do JLabel está
alinhada às margens direitas do grupo de componentes acima (os dois JLabels), clique
para posicionar o componente.
O JLabel se encaixará em uma posição alinhada à direita com a coluna dos JLabels
acima, conforme mostra a ilustração abaixo. O GUI Builder atualiza as linhas de status
de alinhamento, indicando as relações de espaçamento e ancoragem do componente.
Como nos exemplos anteriores, clique duas vezes no JLabel para selecionar o texto
de exibição e insira Exibir Formato: para nome de exibição. Observe que quando o
JLabel se encaixa na posição, os outros componentes mudam para acomodar o texto
de exibição maior.
Alinhamento da Linha de Base
Quando você adiciona ou move componentes que incluem texto (JLabels, JTextFields,
etc.), o IDE sugere alinhamentos baseados nas linhas de base do texto nos
componentes. Quando inserimos o JTextField anteriormente, por exemplo, sua linha
de base foi automaticamente alinhada aos JLabels adjacentes.
Agora adicionaremos a caixa de combinação que permitirá aos usuários selecionar o
formato das informações que nossa aplicação ContactEditor exibirá. À medida que
adicionamos JComboBox, alinharemos a linha de base com o texto do JLabel.
Observe, mais uma vez as linhas-guia de alinhamento da linha de base aparece para
nos auxiliar com o posicionamento.
Para alinhar as linhas de base dos componentes:
1. Na janela Paleta, selecione o componente Caixa de combinação na categoria
Controles do Swing.
2. Mova o cursor à direita do JLabel recém-adicionado. Quando a linha-guia horizontal
aparecer, indicando que a linha de base do JComboBox está alinhada à linha de base
do texto do JLabel e o espaçamento entre os dois componentes for sugerido com uma
linha-guia vertical, clique para posicionar a caixa de combinação.
O componente se encaixará em uma posição alinhada com a linha de base do JLabel
à esquerda, conforme mostra a ilustração abaixo. O GUI Builder exibe as linhas de
status, indicando as relações de espaçamento e ancoragem do componente.
Como as JLists são utilizadas para exibir longas listas de dados, geralmente requerem
a adição de um JScrollPane. Quando você adiciona um componente que requer um
JScrollPane, o GUI Builder o adiciona automaticamente para você. Como os
JScrollPanes são componentes não visuais, é necessário utilizar a janela Inspetor para
exibir ou editar os JScrollPanes que o GUI Builder criar.
Dimensionamento de Componentes
É sempre benéfico definir vários componentes relacionados, como botões em caixas
de diálogo modais, para que tenham o mesmo tamanho a fim de oferecer consistência
visual. Para demonstrar isso, adicionaremos quatro JButtons ao nosso form
ContactEditor que permitirão adicionar, editar e remover entradas individuais da nossa
lista de contatos, como mostram as ilustrações abaixo. Depois, definiremos os quatro
botões para que tenham o mesmo tamanho e possam ser facilmente reconhecidos e
ofereçam a funcionalidade relacionada.
Para adicionar, alinhar e editar o texto de exibição de vários botões:
1. Na janela Paleta, selecione o componente Botão na categoria Controles do Swing.
Mova o JButton acima da margem direita do JTextField Endereço de E-mail no JPanel
inferior. Quando as linhas-guia aparecerem, indicando que a linha de base e a
margem direita do JButton estão alinhadas às margens do JTextField, clique
pressionando Shift para posicionar o primeiro botão ao longo da margem direita do
JFrame. A largura do JTextField diminui para acomodar o JButton onde você soltar o
botão do mouse.
1. Mova o cursor sobre o canto superior direito do JList no JPanel inferior. Quando as
linhas-guia aparecerem, indicando que as margens superior e direita do JButton estão
alinhadas às margens do JList, clique pressionando Shift para posicionar o segundo
botão ao longo da margem direita do JFrame.
2. Adicione dois outros JButtons abaixo dos dois já adicionados para criar uma coluna.
Certifique-se de posicionar os JButtons de maneira que o espaçamento sugerido seja
respeitado e consistente. Se você se esquecer de soltar a tecla Shift antes de
posicionar o último JButton, basta pressionar a tecla Escape.
3. Defina o texto de exibição de cada JButton. (Você pode editar o texto de um botão,
clicando com o botão direito do mouse no botão e escolhendo Editar Texto. Ou você
pode clicar no botão, pausar e clicar novamente.) Insira Adicionar para o botão
superior, Editar para o segundo, Remover para o terceiro e Default para o quarto.
Os componentes JButton se encaixam nas posições designadas pelas linhas-guia de
alinhamento. A largura dos botões muda para acomodar os novos nomes.
Agora que os botões estão posicionados onde queremos, nós definiremos os quatro
botões para que tenham o mesmo tamanho e consistência visual, bem como para
esclarecer a funcionalidade relacionada.
Para definir componentes do mesmo tamanho:
1. Selecione os quatro JButtons pressionando a tecla Control enquanto faz a seleção.
2. Clique com o botão direito do mouse em um deles e escolha Mesmo Tamanho >
Mesma Largura no menu pop-up.
Os JButtons serão definidos com o mesmo tamanho do botão que tiver o nome mais
longo.
Recuo
Frequentemente é necessário unir vários componentes em outro para que fique claro
que pertencem a um grupo de funções relacionadas. Um caso típico, por exemplo, é
colocar várias caixas de seleção relacionadas abaixo de um label comum. O GUI
Builder permite fazer o recuo facilmente oferecendo linhas-guia especiais que sugerem
o deslocamento preferencial para a aparência e funcionalidade do seu sistema
operacional.
Nesta seção, adicionaremos alguns JRadioButtons abaixo de um JLabel que permitirá
aos usuários personalizar a maneira como a aplicação exibe dados. Veja as
ilustrações abaixo enquanto faz isso ou clique no link Exibir Demonstração seguindo o
procedimento para ver uma demonstração interativa.
A última coisa que precisamos fazer é deletar o texto do espaço reservado nos vários
componentes. Observe que, embora a remoção do texto do placeholder após a
configuração preliminar de um form possa ser uma técnica útil para evitar problemas
de alinhamento e relações de ancoragem dos componentes, a maioria dos
desenvolvedores geralmente remove esse texto no processo de layout de seus forms.
À medida que percorre o form, selecione e delete o texto do espaço reservado de cada
um dos JTextFields. Deixaremos os itens de placeholder no JComboBox e no JList
para um tutorial posterior.
Visualizando a GUI
Agora que você criou com êxito a GUI ContactEditor, é possível experimentar a
interface para ver os resultados. É possível visualizar o form à medida que trabalha
clicando no botão Visualizar Form ( ) na barra de ferramentas do GUI Builder. O form
será aberto em sua própria janela, permitindo que você o teste antes da construção e
execução.
13. Para executar a consulta, clique no botão Executar SQL ( ) na barra de tarefas
na parte superior (Ctrl-Shift-E), ou clique com o botão direito do mouse dentro do
Editor de SQL e escolha Executar Instrução. O IDE gera a tabela Consultor no banco
de dados, e você recebe uma mensagem similar à seguinte na janela de Saída.
14. Para verificar as alterações, clique com o botão direito do mouse no nó Tabelas no
Explorador do Banco de Dados Explorer e escolha Atualizar. A opção Atualizar
atualiza o componente UI do Explorador do Banco de Dados para o status atual do
banco de dados especificado. Observe que o novo nó da tabela Consultor ( ) é
exibido agora em Tabelas no Explorador do Banco de Dados. Se você expandir o nó
da tabela você pode ver as colunas (campos) você criou, iniciando com a chave
primária ( ).
Usando a Caixa de Diálogo Criar Tabela
1. No Explorador do Banco de Dados, clique com o botão direito do mouse no nó
Tabelas e escolha Criar Tabela. A caixa de diálogo Criar Tabela é aberta.
2. No campo de texto Nome da tabela, digite Assunto.
3. Clique em Adicionar Coluna.
4. No Nome da coluna, insira id. Selecione SMALLINT no tipo de dados na lista drop-
down Tipo. Clique em OK.
[marcad VARCHA
nome 50
a] R
[marcad VARCHA
descrição 500
a] R
3. Está sendo criada uma tabela chamada Assunto que possuirá dados para cada um
dos seguintes registros.
Nome: nome do assunto
Descrição: descrição do assunto
ID do Consultor: ID do consultor que corresponde a um ID da tabela
Consultor
Fontes de Pesquisa
- Engenharia de Software – Roger S. Pressman, Editora Pearson
- Netbeans.org
- Devmedia.com.br
- Mysql.com