Soluções em JAVA

Criamos pequenas e rápidas soluções em Java

Sobre mim

Eu sou Desenvolvedor Java Jr

Quisque in metus tristique, gravida dolor ut, varius neque. Maecenas ac risus aliquam, facilisis massa id, vulputate elit. Curabitur pretium arcu dictum, faucibus diam quis, commodo turpis. Proin viverra, risus eget egestas sodales, felis ante scelerisque ligula, eget condimentum diam ligula eu tellus.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde, exercitationem, laboriosam, modi non quisquam voluptas accusamus numquam ipsum reiciendis saepe veniam cupiditate explicabo autem. Repudiandae tempore dolore deserunt nemo voluptatum consectetur aspernatur expedita aliquid iste illo enim molestias vel animi quod.

Klebes dos Santos Desenvolvedor Java Jr

My Services

WHAT I CAN DO

Analise de requisitos e modelagem UML

Resolução de codigos em Java

Documentação de software

Integer hendrerit erat sed tellus pretium, eu sodales eros dignissim. Duis augue eros, mollis ac velit at, rutrum tincidunt ipsum. Morbi semper dui id fringilla semper. Etiam vulputate sagittis vestibulum. Vivamus ac ante cursus, feugiat ipsum et, aliquet justo. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto, minima soluta numquam perferendis illum alias omnis commodi error veritatis a esse nostrum asperiores recusandae.
  • Graphics 90%
  • HTML5 CSS3 75%
  • WordPress 66%
  • Blogger 88%

My Blog

MY BEST WORKS
Elicitacão de requisitos para desenvolvimento de sistemas automáticos de software


Modelo de requisitos
Imagem 01: Modelo de requisitos 

    A tarefa de automatizar  o sistema manual de  uma empresa não é uma área fácil, para dar início a um projeto de software com qualidade. A elicitacão propriamente dita é transformar os desejos e necessidades extraídas da área de domínio em elementos abstratos para serem utilizados na construção de um software. E este geralmente é o primeiro passo do projeto de software, para assim podermos ter uma visão inicial e começo de sua possível mensura. Isso cabe ao analista de negócio ou analista de sistemas ao qual este profissional tem menos proximidade com a área de domínio e este fará uma elicitação mais generalista. Mas partindo do princípio, onde haverá a obtenção dos requisitos de sistema e sua posterior analise, fato este que será abordado em futuros postagens.

  Como o fato do analista chegar ao ambiente do cliente e ter que a partir deste fazer, observações, rascunhos, gravações, das características que ele observa no transporte e transformações dos dados entre os departamentos, "Recolher os requisitos não é tarefa fácil. O analista deve ser minucioso e detalhista e, com muita paciência, compreender as necessidades do cliente" (PADRÃO, 2014, p. 28, grifo do autor). A norma que cuida da qualidade do requisitos de software é a ISO/EC/IEEE 24765 as características dessa norma é:
  • pensar numa solução para ao problema
  • adquirir aquilo que se foi desejado
  • documentação formal da solução de software
   Dentro das técnicas de elicitação mais usadas atualmente temos:
Entrevistas individuais ou em grupo, brainstorming, Jad, etc.
   Exemplos de problemas que afetam uma boa elicitação de requisitos:
  • Problemas de comunicação
  • fatores individuais
  • resultado de generalização
  • projeção ou uma suposição
  • Defesa precipitada
  • Problemas 
  • Omissão
  • Distorção
  • Sobrecarga
  • Porém quem diria que mesmo dentro de todos  estes possíveis problemas temos a sua própria origem  uma inesperada causadora, sendo esta a própria comunicação.
  A engenharia de requisitos é a base para o projeto de software deve se entender as especificidades, a ordem de precedência dos requisitos entender as variáveis durante o desenvolvimento do software.
Engenharia de requisitos envolve uma serie de atividades tais como extrair, modelar e analisar. Tudo isso para deixar claro o que o software devera fazer com a maior qualidade possível.
No final de todo o processo teremos como resultado um documento com um modelo de requisitos.
 A importância da engenharia de requisitos:
  • Evitar atrasos
  • Custos extras devido a atrasos
  • Eliminar retrabalho
  • Reduzir erros
  • Entrega de software adequado ao domínio
  • Efeitos encontrado tardiamente
Como a elicitação parte com a origem nas pessoas seja esta, as observando ou questionando, temos algumas características que afetam boa comunicação:
  • Apatia
  • arrogância
  • incoerência
  • insegurança
  • falta de informação,
  • impaciência
  • ignorância
  • suposição. 
  • Estas são algumas das características pessoais dos indivíduos.
Dificuldade de definir as prioridades e esta deve ser facilitada pelo gerente do projeto.
  • Falta de conhecimento das reais necessidades.
  • Falta de tempo
  • falta de envolvimento
  • resistência a mudança
  • inconsistência
  • indecisões
  • necessidades implícitas
  • conflitos
  • falta de conhecimento da área de domínio
  • mudança
Requisitos não funcionais, dão suporte para que os requisitos funcionais possam operar, impondo-lhes limites operacionais
Os mecanismos permitem:
  • Analisar necessidades
  • Avaliar necessidades
  • Avaliar a viabilidade
  • Especificar claramente a solução 
  • Validar a especificação
  • Gerenciar as especificações conforme são personalizadas.

Referências
PADRÃO, L. N. . Análise e Projeto de Sistemas. 1. ed. Santa Cruz do Rio Pardo: Viena, 2014. v. 1. 225p
no image





Uso de for para criar uma classe Foreach para percorrer e exibir no método de saída da IDE o array de números atribuídos no inicial do vetor.

 /*

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

package Arrays;


/**

 *

 * @author KDS

 */

public class Foreach {

    public static void main(String[] args) {

    double[] notas = {6.5, 7.6, 9.5};

    for(double nota : notas){

        System.out.println(nota + "");

    }

    }

    }

no image

Código Java: Criação de matriz variável, que solicita um numero de alunos e posteriormente a quantidade de notas, neste caso o resultado será a media da turma.


 /*

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

package Arrays;


import java.util.Arrays;

import java.util.Scanner;


/**

 *

 * @author KDS

 */

public class Matriz {

    public static void main(String[] args) {

          Scanner teclado = new Scanner(System.in);

          int nNotas;

          int nAlunos;

          double media;

          double total = 0;

          

        System.out.println("digite a quantidade de alunos");

        nAlunos = teclado.nextInt();

        System.out.println("digite a quantidade de notas");

        nNotas = teclado.nextInt();

        

       double[] [] notas = new double[nAlunos] [nNotas];

        for (int i = 0; i < notas.length; i++) {

            for (int j = 0; j < notas.length; j++) {

                System.out.printf("digite a nota do %d aluno %d: ", j +1, i + 1);

                notas[i][j] = teclado.nextDouble();

                total += notas[i][j];

            

            }

        }

        for(double[] notasAlunos : notas){

            System.out.println(Arrays.toString(notasAlunos));

        }

        media = total/ (nAlunos *nNotas);

        System.out.printf("a media das notas dos alunos da turma:  %.2f" , media);

        

      }

    }

no image

Neste enxerto de código, temos a solicitação via terminal de dois números, sendo um inteiro e outro double, o primeiro serve para solicitar quantas notas serão introduzidas no sistema para retirar sua media, já o segundo numero e demais serão os valores das notas informadas. Sua saída será um numero double com a media, esta sendo a soma das notas dividido pela quantidade de notas inseridas.  

/*

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

package Arrays;


import java.util.Scanner;


/**

 *

 * @author KDS

 */

public class Nota {

    public static void main(String[] args) {

       double nota;

       double soma = 0;

       int digito = 0;

       double media =0 ;

       

       Scanner teclado = new Scanner(System.in);

        System.out.println("digite quantas notas ");

        digito = teclado.nextInt();

        

        double[] notas = new double[digito];      

        for (int i = 0; i < notas.length; i++) {

            System.out.println("digite sua " + (i + 1) + "º nota: ");

            notas[i] = teclado.nextDouble();

            soma = notas[i] +=soma;

            

        }

       media = soma/digito;

        for(double adNotas : notas){

            System.out.println(adNotas);

        }

        System.out.printf("Sua media é: %.2f", media);

    }

    

}

UML- Diagrama de caso de uso

Diagrama de caso de uso - comprar produto
Fonte: Autor


Aqui iremos utilizar o primeiro diagrama ao qual o analista ou programador irá criar a primeira visão criada a partir das elicitações de requisitos, e nada melhor para visualizar do que um desenho, sendo este um desenho próprio de uma linguagem documentada como os adotados pela UML(Unifie Moleding Language).

O primeiro diagrama mais adotado para criar esta primeira visão têm o modelo de caso de uso, ele realiza uma demonstração da interação dos usuários com o sistema que será criado.

Nesta visão temos:

  1. O ator é o usuário que utilizara o sistema ou até mesmo outro sistema que fará uso do sistema que será criado recebendo as informações ou introduzindo-as. Para representação usamos pequenos bonecos como um desenho simples.
  2. A representação das tarefas realizadas pelo sistema com a interação do usuário, dá-se pelo uso de balões sem preenchimento.
  3. Uma regra básica relacionada ao balão de interação refere-se que o enunciado sempre deve-se começar por um verbo seguido do substantivo EX:. Vender produto, pedir Conta, abrir Conta, solicitar impressão, etc.
  4. Para aumentar o detalhamento de cada interação do ator com o sistema podem ser criadas caixas retangulares extras, na qual serão descritas de formar a especificar noções que não podem ser aplicadas diretamente na caixa de interação ator para com o sistema.

Geralmente para que haja a melhor compreensão do caso e seja evitado ambiguidades usamos o maior nível de descrição de maior grau.

Criando janelas GUI, simples com JOptionPane - Java

Veremos um enxerto de código no qual tratamos a utilização básica de janelas para entradas entrada e saída de dados, a janela de saída concatenara as duas Springs recebidas nos parâmetros nas variáveis "variavel1 e variavel2". faremos uma introdução das interfaces gráficas básicas em  Java que com o passar do tempo será visto janela mais complexas, mas nesse ponto inicial começaremos por janelas "diálogos de mensagens", elas são oriundas da classe JOptionPane que fornece um pacote completo de caixas de diálogos  pré-empacotada que permitem exibir janelas funcionais, principalmente quando estamos aprendendo os primeiros passos em Java, pois inicialmente utilizamos mais a linha de comando para entrada de dados pela classe Scanner.

O intuito de interagir com Janelas GUI será facilitar a visualização das operações e atratividade do sistema para interação dos usuários,

Enxerto 1: executando a janela de entrada de dados da variavel1

Criando interface java no netbeans
Fonte: Autor


Enxerto 2: Janela de entra de dados 2
Criando Janela Java no Netbeans
Fonte: Autor


Enxerto 3: Janela de saída de dados com a concatenação dos dados
Janela Java com JOptionPane
Fonte: Autor


Mesmo na hora de programar, pois somos levados a interagir mais facilmente a uma janela do que a um Prompt de comando.  Esse é o modelo mais fácil de interagir com interfaces, não entraremos nos méritos de cada método showInputDialog ou showMessageDialog, mas aconselho a procurarem uma literatura mais explicativa para mais conhecimentos. Um grande abraço Klebes.

Código usado no exemplo:

Contact Me

Entrar em contato por E-mail