Buscar

Linguagem UML para Modelagem de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE NORTE DO PARANÁ - UNOPAR
CURSO SUPERIOR DE ANÁLISE E DESENVOLVIMENTO DE SISTEMA
NOME DO(S) AUTOR(ES)
Julio Andres Montoya Ruiz
Matrícula EAD29892501
“PROJETO INTEGRADO”
PORTFÓLIO ACADÊMICO
NOVA FRIBURGO 2022
NOME DO(S) AUTOR(ES)
Julio Andres Montoya Ruiz
Matrícula EAD29892501
“PROJETO INTEGRADO III”
PORTFÓLIO ACADÊMICO
Trabalho de Produção Textual Interdisciplinar (PTI) de Curso apresentado como requisito parcial para a obtenção do título de Tecnologia em Análise e Des.de Sistemas, Back-End Mobile - Web- DevOps
Tutor a Distância:
Prof. Eduardo Viana de Almeida
NOVA FRIBURGO 2022
SUMÁRIO
1 INTRODUÇÃO..........................................................................................................4
 
2 DESENVOLVIMENTO..............................................................................................5
2.1 ETAPA 1 UML (Linguagem de Modelagem Unificada) .........................................5
2.1.1 Descreva a diferença entre os diagramas estruturais e comportamentais……..5
2.1.1.1 Diagramas comportamentais………………………………………………………6
2.1.1.2 Diagramas estruturais………………………………………………………………8
2.1.1.3 Escolha um diagrama comportamental e um diagrama estrutural ………….. 8
2.2 ETAPA 2 DESIGN INTERFACE …………………………………………………….11
2.2.1 Possível Design Experience Usuário……………………………………………..12
3.1 ETAPA 3 INTERPRETE CÓDIGO PYTHON…………………..............................15
4.1 ETAPA 4 INSTANCIAÇÃO……………………………………………..…………….16
5.1 ETAPA 5 BANCO DE DADOS..........................................................................17
5.1.1 Tipos de bancos de dados………………………………………………………..17
5.1.2 Quais são os principais tipos de bancos de dados?.......................................18
5.1.3 Qual a diferença entre base de dados relacional e não relacional?.................21
3 CONCLUSÃO.........................................................................................................22
REFERÊNCIAS..........................................................................................................23
1 INTRODUÇÃO
O grande avanço dos sistemas computacionais nas áreas de processamento e armazenamento de informações tem permitido a aplicação de tais ferramentas nos mais diversos campos.
Os modelos de informações capturam como e onde as informações comuns a um produto são armazenadas e como as mesmas tornam-se disponíveis para as diferentes aplicações computacionais durante o ciclo de projeto e a fabricação de tal produto. Normalmente tal elemento está relacionado com a aplicação de tecnologias relacionadas com banco de dados, o que exige a criação de um modelo o mais consistente e íntegro possível que possa ser "entendido" pelas diferentes aplicações computacionais.
No desenvolvimento de um produto é muito importante que sejam consideradas as características do usuário e como o usuário irá utilizá-lo.
No mundo real, ter à mão soluções tecnológicas alinhadas com o ritmo e volume de fluxo de dados que estão sob responsabilidade da empresa é fundamental. Além da questão ética ligada ao tratamento dessas fontes de informação, as organizações se beneficiam do aperfeiçoamento de suas tomadas de decisão, o que lhes confere maior diferencial competitivo.
2 DESENVOLVIMENTO
2.1 ETAPA 1 UML (Linguagem de Modelagem Unificada) 
Linguagem de modelagem unificada (UML), é uma linguagem visual para documentação de projeto e padrões de software, podendo ser aplicada em várias áreas diferentes e pode documentar e transmitir qualquer coisa, da empresa aos processos de negócios para software. Pretendendo ser uma relação de documentação e expressões, comportamentos e idéias numa notação que é fácil de aprender e eficiente para se inscrever. UML é visual, quase tudo nela tem uma representação gráfica.UML se tornou o padrão de fato para modelagem de aplicações de software e está crescendo em popularidade na modelagem.
1.2 Descreva a diferença entre os diagramas estruturais e comportamentais
Existem diversos tipos de diagramas UML e eles são divididos em duas categorias:
· Diagramas estruturais 
· Os comportamentais.
· 
Cada um deles é usado para especificar, documentar, modelar e visualizar aspectos específicos de uma aplicação.
1.2.1 Diagramas estruturais
Os diagramas estruturais são usados para modelar os aspectos estáticos do sistema. Entre eles, podemos citar a arquitetura, as classes, as interfaces, os métodos, os componentes, etc.
· Diagrama de classes: O diagrama de classes é um dos modelos mais importantes no processo de engenharia de software e serve de base para outros diagramas. Isso porque ele é utilizado para mapear o sistema por meio da modelagem dos seus métodos, atributos e classes — além dos relacionamentos definidos entre elas, como herança, composição, associação e dependência.
· Diagrama de objetos: O diagrama de objetos é usado para visualizar instâncias específicas das classes que foram definidas no diagrama de classes. Ou seja, ele mostra os objetos, seus valores e relacionamentos em um determinado momento da execução do programa.
· Diagrama de componentes: Esse diagrama é utilizado para indicar como o sistema será implementado, quais são as suas interfaces, pacotes e artefatos, além dos relacionamentos entre os seus diferentes componentes. Nele, é possível destacar a função de cada módulo da aplicação, o que facilita a sua reutilização.
· Diagrama de implantação: Também conhecido como diagrama de instalação, esse modelo mostra a relação entre os recursos de infraestrutura e os artefatos do sistema. Ele ainda representa os requisitos mínimos de hardware, mapeando as necessidades do software que será implementado.
· Diagrama de pacotes: O diagrama de pacotes é usado para representar os subsistemas existentes em uma aplicação. Nesse modelo, cada pacote agrupa elementos que estão relacionados — como classes, diagramas e até outros pacotes — mostrando sua organização, disposição e relação com outros elementos.
· Diagrama de estrutura: Por meio desse diagrama é possível representar as colaborações internas que ocorrem entre classes, componentes, instâncias ou interfaces para a execução de uma tarefa específica.
1.2.2 Diagramas comportamentais
Como o próprio nome indica, os diagramas comportamentais são utilizados para especificar como o sistema se comporta diante de determinadas interações.
· Diagrama de casos de uso: Usado principalmente na fase de especificação dos requisitos, o diagrama de casos de uso documenta as funcionalidades do sistema e as interações da pessoa usuária com cada uma delas. É um diagrama simples e não exige conhecimentos técnicos para ser compreendido.
· Diagrama de máquina de estados: Esse diagrama é usado para descrever como uma aplicação responde aos eventos internos e externos. Nele, é possível demonstrar as mudanças de estado que um objeto apresenta durante a execução de determinado processo.
· Diagrama de atividades: No diagrama de atividades é mostrado o fluxo percorrido até a conclusão de uma atividade. Por meio dele, pode-se representar as operações feitas entre os objetos durante cada atividade.
· Diagrama de interação: O diagrama de interação é dividido em quatro tipos diferentes: diagrama de visão geral, diagrama de sequência, diagrama de comunicação e diagrama de tempo. O primeiro mostra o fluxo principal das interações dentro do sistema. 
Já o de sequência descreve a interação entre os objetos de um caso de uso. Por sua vez, o diagrama de comunicação complementa o anterior, mostrando os vínculos entre cada objeto. Por fim, o diagrama de tempo é usado para descrever o comportamento das instâncias de uma classe durante um intervalo específico.
1.3 Escolha um diagrama comportamental e um diagrama estrutural e descreva as suas principais características e em qual momento do projeto eles se encaixam.
Os diagramas UML devem ser usados em diversas situações, por exemplo:
· Quando é preciso oferecer uma visão padronizada do projeto e de suas especificações para todas as pessoasenvolvidas no desenvolvimento;
· Para documentar e visualizar o funcionamento do software;
· Comunicar os protocolos de interfaces que serão consumidas por outros sistemas;
· Auxiliar a fase inicial de especificação dos requisitos do sistema;
· Quando é preciso documentar os desejos de algum cliente sobre as funcionalidades do software.
Exemplo Diagrama de Classes Loja: “Online Shopping”
Exemplo Diagrama De Biblioteca 
2.2 ETAPA 2 DESIGN INTERFACE
Design de interface é a prática responsável pelo planejamento, desenvolvimento e aplicação de uma solução com o objetivo de facilitar a experiência do usuário e estimular sua interação com um objeto físico ou digital.
No desenvolvimento de um produto é muito importante que sejam consideradas as características do usuário e como o usuário irá utilizá-lo. Isso é determinante para que o produto cause mínimos aspectos negativos na experiência do usuário, como frustrações e aborrecimentos, e muitos os aspectos positivos, como diversão, compromisso, facilidade (ROGERS; SHARP; PREECE, 2013)(SCHLATTER; LEVINSON, 2013). 
Para isso existe a área de Design de Interação, que se preocupa em: “Projetar produtos interativos para apoiar o modo como as pessoas se comunicam e interagem em seus cotidianos, seja em casa ou no trabalho. Em outras palavras, significa criar experiências de usuários que melhorem e ampliem a maneira como as pessoas trabalham, se comunicam e interagem” (ROGERS; SHARP; PREECE, 2013)
Os diferentes estilos de interação do usuário causam grande impacto no design de interação para produtos eletrônicos (ROGERS; SHARP; PREECE, 2013). No contexto de aplicativos móveis existem vários fatores que precisam ser considerados ao tratar da qualidade da usabilidade. Como a tela pequena controlada por toque (em inglês, touchscreen), teclados virtuais, gestos, sensores e dados de localização. Além dos dispositivos possibilitarem o uso de apps em qualquer lugar e em qualquer momento (WASSERMAN, 2010), o que causa variação de iluminação e sons no local de uso. Esses fatores precisam ser considerados no design de interface de um aplicativo. 
	Critério 
	Descrição 
	Consistência
	É o processo de definir e preservar expectativas do usuário, por meio da utilização de elementos com os quais ele está familiarizado. As expectativas provém tanto do que o usuário está visualizando quanto do que ele já viu no passado.
	Hierarquia 
	Trata sobre a percepção e a interpretação da importância de cada objeto mostrado na tela. A percepção de hierarquia é influenciada pela posição, tamanho, cor, interface, tipo de controle (por exemplo, um botão versus um link) e tratamento dos elementos, bem como pela forma com que cada elemento se relaciona entre si. Dessa forma, observar a hierarquia ao construir um aplicativo significa definir onde colocar os elementos com base em sua importância relativa, pensando conscientemente em suas características e posições, para comunicar quais as prioridades do projeto.
	Personalidade 
	Refere-se às impressões que são formadas pelo usuário, consciente ou inconscientemente, com base na aparência, no comportamento ou na satisfação de um aplicativo. Embora cada interação afete o modo como as pessoas interpretam e avaliam um app, o foco do estudo são os aspectos visuais da personalidade de um aplicativo. 
Possível Desing Experiencia Usuário
Acesse a interface administrativa com seu login e senha de operador. Acesse o módulo USUÁRIOS/UNIDADE ORGANIZACIONAL
Clique em Cadastro
Digite ou solicite ao usuário para digitar no teclado numérico, o número do CPF no campo “Código da pessoa”.
Utilize a tecla TAB ou clique num campo em branco na tela. Caso o usuário realmente não esteja cadastrado, aparecerá a mensagem “Usuário não encontrado”. Clique em OK.
Clique no campo ao lado e digite o nome completo do usuário com a primeira em maiúscula e as demais em minúsculas, conforme documento (exceto se o usuário utilizar nome social).
3.1 ETAPA 3 INTERPRETE CÓDIGO PYTHON
a) Descreva como o método recebe o valor
A função remove que recebe o parâmetro chamado valor e recebe o parâmetro durante a chamada de função, e o outro paramento por nome de self que é herdada da classe. 
b) Não sendo o método, como será a busca? Lembre-se do head.
Na segunda linha e feito a verificação se o conteúdo da lista recebido no parâmetro self é igual ao da variável valor e caso a condição seja atendida, será executada a terceira linha, a lista self recebe o próximo item, se condição na linha anterior não for atendida, o compilador executa a quarta linha, seguindo para a quinta linha e criado uma variável before que recebe um valor vazio, na sexta linha é criado a variável navegar que recebe os itens da lista self.
c) Quais alterações ocorrerá na lista?
 Na sétima linha começa um loop while verificando itens na variável navegar, será executado o seguinte trecho de código, a variável before recebe os itens da variável navega, nove a variável navegar recebe o próximo item. linha dez é executado um teste lógico verificando os itens na lista navegar e caso essa condição for atendida o código vai ser executado o próximo tem da variável before vai receber o próximo item da lista navegar, e caso o teste lógico não seja atendido será executado a exceção else próximo item da variável before vai receber o valor vazio.
4.1 ETAPA 4 INSTANCIAÇÃO
Instanciação é um processo muito comum na programação orientada a objetos. Isso porque, de certa forma, instanciar é o mesmo que realizar uma “cópia” de algo. Dessa forma, analise o código a seguir, identifique as linhas tracejadas (3 e 9) e escreva o código que falta para que ele funcione perfeitamente. Uma dica, a classe que você utilizará nesse código se chama User e o método que você precisará para conexão com banco de dados se chama conectar.
Linha 3 = $u = new User();
Linha 9 = $u->conectar("nomeDB", "localhost", "user", "password");
5.1 ETAPA 5 BANCO DE DADOS
Um banco de dados é uma coleção organizada de informações - ou dados - estruturadas, normalmente armazenadas eletronicamente em um sistema de computador. Um banco de dados é geralmente controlado por um sistema de gerenciamento de banco de dados (DBMS). Juntos, os dados e o DBMS, juntamente com os aplicativos associados a eles, são chamados de sistema de banco de dados, geralmente abreviados para apenas banco de dados.
Os dados nos tipos mais comuns de bancos de dados em operação atualmente são modelados em linhas e colunas em uma série de tabelas para tornar o processamento e a consulta de dados eficientes. Os dados podem ser facilmente acessados, gerenciados, modificados, atualizados, controlados e organizados. A maioria dos bancos de dados usa a linguagem de consulta estruturada (SQL) para escrever e consultar dados
Tipos de bancos de dados
· Bancos de dados relacionais
Todos os dados que podem ser agrupados e exibidos em tabelas, ou seja, com linhas e colunas, são relacionais. Diferentemente do que acontece com uma simples planilha eletrônica, entretanto, há como estabelecer relações específicas entre duas ou mais tabelas, previamente selecionadas.
Entre outras coisas, isso significa que não só o acesso aos dados é extremamente preciso e controlável. Por intermédio de alguns comandos, você tem em mãos filtros vigorosos, já considerando exceções, se assim o preferir. Caso o database seja enorme, basta limitar os resultados. Enfim, a gestão se torna muito mais fluida, sobrando tempo para se concentrar na tomada de decisão propriamente dita.
Não é à toa que os dados relacionais estão entre os mais utilizados. Dois exemplos que ilustram bem essa realidade são os famosos CRMs e ERPs. Neles, você já sabe, via diagrama, quais são exatamente as relações estabelecidas entre as tabelas que comentamos há pouco.
A título de exemplo, existem tabelas específicas para armazenar somente os dados de clientes. Já outras, guardam apenas detalhes vinculados aos pedidos de compra. Em uma terceira, verificamos os aspectos relevantes associados a cada item vendido.
· Bancos de dadosnão-relacionais
Nem sempre é possível organizar dados em tabelas. Então, tudo o que não for alocado nessas estruturas é classificado como não-relacional. Quer alguns exemplos? Talvez os mais visuais sejam os gráficos, vídeos, áudios, imagens e tweets.
Em comum, esses dados apresentam volume elevado, o qual sofre alterações constantes — em tempo real mesmo. Enquanto os dados relacionais são geridos por meio do SQL, os não-relacionais, geralmente, são tratados pelo NoSQL.
De maior complexidade, a utilização de dados não-relacionais também exige uma forte cultura de data literacy dentro da empresa. Afinal, tanto a gestão quanto a extração de insights preciosos dessa poderosa fonte de informações costuma ser desafiadora.
Quais são os principais tipos de bancos de dados?
Agora que você tem uma visão mais nítida quanto às duas categorizações dos bancos de dados, podemos, enfim, falar um pouco a respeito dos principais modelos do mercado.
Oracle
Bem tradicional entre muitos usuários, o Oracle foi lançado entre as décadas de 1970 e 80. Com sua linguagem, o PS/SQL, oferece diversos recursos, como a diminuição do período de inatividade no decorrer dos procedimentos de atualização dos dados.
Além de rodar nos sistemas Linux e Windows, o Oracle também se destaca pelo seu poder de escalabilidade, algo vital para empresas scale up. Desse modo, você não precisa se preocupar com o aumento da demanda, pois certamente ela será acompanhada de perto por uma infraestrutura adequada.
SQL Server
Concebido em 1989 pela Microsoft, o SQL Server se tornou popular em pouco tempo. Com seu T-SQL (o dialeto que mencionamos logo no início deste post), uma linguagem de sintaxe simples, passou a ser o preferido de muitos órgãos públicos, instituições financeiras e empresas de e-commerce.
Como o fluxo de dados tratado é criptografado, isso faz com que eles tenham camadas de segurança robustas. Parte dessa proteção deriva de um eficaz sistema de autorizações de acesso, o que aumenta o grau de privacidade dos dados. Na prática, há um forte controle para que somente pessoas realmente autorizadas participem do processo de gestão.
MySQL
Em termos de associação direta com a gestão de bancos de dados, é provável que o MySQL seja o número um de menções. Parte desse sucesso e reconhecimento se deve ao seu uso por plataformas de peso, como Instagram, Facebook, Twitter e Google. Versátil, sua linguagem principal é o PHP, que funciona tanto no Windows quanto no Linux e no MacOS.
PostgreSQL
Datado de 1986, o PostgreSQL também está na lista dos tipos de bancos de dados mais utilizados ao redor do mundo. Como referência de sua importância, basta citarmos dois nomes: Apple e Skype.
Com um bom índice de escalabilidade, ele se diferencia pela proporção de funcionalidades avançadas, como a própria possibilidade de suportar recursos ligados ao NoSQL. Soma-se a isso a aceitação de variados modelos de dados, como XML e JSON.
MongoDB
Aqui, trazemos um representante dos bancos de dados não-relacionais. Vale dizer que a filosofia NoSQL surgiu em meados de 1998 devido, justamente, às limitações dos gerenciadores de dados relacionais. Impulsionado nos anos seguintes, tornou-se uma solução indispensável em determinados contextos de advanced analytics.
Dito isso, o MongoDB é pautado na linguagem C++, além de recorrer ao Java Script durante as pesquisas. Criado em 2009, trata-se de um gerenciador de dados feito para lidar com documentos do formato JSON.
Como os bancos de dados melhoram o desempenho das empresas?
A otimização de processos propiciada pelo uso de um SGBD é caracterizada por uma agilidade de tempo de resposta e controle inviáveis em uma simples planilha eletrônica. Somente um sistema de gerenciamento robusto, como esses que apresentamos, é capaz de selecionar e gerir dados com máxima exatidão e rapidez.
No mundo real, ter à mão soluções tecnológicas alinhadas com o ritmo e volume de fluxo de dados que estão sob responsabilidade da empresa é fundamental. Além da questão ética ligada ao tratamento dessas fontes de informação, as organizações se beneficiam do aperfeiçoamento de suas tomadas de decisão, o que lhes confere maior diferencial competitivo.
Naturalmente, o próprio relacionamento com seu público-alvo melhora, já que consumidores e clientes sentem que suas informações estão em segurança. Esse detalhe é essencial para a imagem da marca, uma vez que estamos em uma época marcada por constantes ingerências no armazenamento de dados.
Qual a diferença entre base de dados relacional e não relacional?
Bancos de dados relacionais como MySQL, PostgreSQL e SQLite3 representam e armazenam dados em tabelas e filas. Eles são baseados em um ramo da teoria do conjunto algébrico conhecido como álgebra relacional. Bancos de dados não-relacionais como o MongoDB representam dados em coleções de documentos JSON.
As bases de dados relacionais utilizam Linguagem de Consulta Estruturada (SQL), tornando-as uma boa escolha para aplicações que envolvem o gerenciamento de várias transações. A estrutura de um banco de dados relacional permite vincular informações de diferentes tabelas através do uso de chaves (ou índices) estrangeiras.
Se você estiver lidando com uma quantidade fenomenal de dados, a complexidade do banco de dados relacional e das queries necessárias também vai crescer na mesma proporção. Nessa situação, talvez você precise considerar a possibilidade de utilizar um base de dados não relacional. Uma base de dados não relacional pode armazenar dados sem uma mecânica explícita e estruturada para vincular dados de diferentes tabelas uns aos outros.
3 CONCLUSÃO
A Internet em particular é um sistema distribuído muito grande. Ela conecta usuários através de sites e serviços, e-mail, transferência de arquivos, chat, etc. Os serviços estão localizados em máquinas dispersas que são interligadas por algum tipo de rede. Diferentes aplicações e serviços se comunicam através da rede, eles trocam mensagens através de um meio de comunicação comum. Estes meios de comunicação permitem que aplicações e serviços em plataformas diferentes consigam se comunicar e cooperar.
Se desarrollaron los respectivos diagramas y fue asimilada la importancia que estos tienen cuando se necesita comprender el flujo de la información. El ejercicio propuesto brindó las características que casi todos los programas informáticos tienen con sus respectivas adecuaciones.
Se logró un verdadero aprendizaje de la importancia del Lenguaje de modelado unificado como herramienta de programación.
O trabalho também fez com que adquirisse conhecimento sobre a estruturação da pesquisa teórica em design e experiência de usuário. Com essa experiência pretendeu-se levar ao futuro acadêmico novas fronteiras para vindouras pesquisas.
REFERÊNCIAS
George Coulouris, Jean Dollimore e Tim Kindberg Sistemas Distribuídos – Conceitos e Projetos (5a edição) Editora Bookman
STALLINGS, W. Arquitetura e Organização de Computadores 5ª Ed. Editora: Prentice Hall, 2002..

Outros materiais