Prévia do material em texto
Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 UNOPAR SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DARLENE ALVES DEBONA PROJETO INTEGRADO III CACHOEIRO DE ITAPEMIRIM 2022 Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 DARLENE ALVES DEBONA PROJETO INTEGRADO III Projeto Integrado III apresentado como requisito parcial para aprovação no curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas na Universidade Norte do Paraná (UNOPAR), polo de Cachoeiro de Itapemirim. Disciplinas: Análise orientada a objetos; Linguagem de programação; Programação e desenvolvimento de banco de dados; Interface e usabilidade; Linguagem orientada a objetos. Tutor a distância: Fernanda Caroline da Silva Fernandes. CACHOEIRO DE ITAPEMIRIM 2022 Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 SUMÁRIO INTRODUÇÃO ............................................................................................................ 5 PROJETO INTEGRADO III ......................................................................................... 6 CONSIDERAÇÕES FINAIS ...................................................................................... 16 REFERÊNCIAS ......................................................................................................... 17 Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 LISTA DE FIGURAS E TABELAS Figura 1 - Exemplo de diagrama de classes .................................................................................... 8 Figura 2 - Exemplo de diagrama de atividades ............................................................................... 9 Figura 3 - Interface do aplicativo do Ministério da Educação ...................................................... 11 Figura 4 - Interface do aplicativo do Ministério da Educação ...................................................... 11 Tabela 1 - Comparação entre BD relacional e BD não relacional .............................................. 15 Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 5 INTRODUÇÃO A presente pesquisa almeja expor conhecimentos, técnicas e ferramentas necessárias para a boa atuação profissional do Analista e Desenvolvedor de Sistemas, elencado noções e fundamentos a respeito das disciplinas estudadas durante o semestre. As disciplinas identificadas neste trabalho são: Análise orientada a objetos, Linguagem de programação, Programação e desenvolvimento de banco de dados, Interface e usabilidade e Linguagem orientada a objetos. O principal objetivo do trabalho é difundir o aparato de informações e ferramentas necessárias para a instrumentalização do profissional na área de programação, baseado nas disciplinas elencadas acima. Os objetivos específicos são: mostrar conceitos das disciplinas estudadas no semestre, expor conhecimento específicos para os profissionais de programação, desenvolver estudos dirigido, analisar possíveis práticas ligadas a teoria e proporcionar um desenvolvimento de pesquisa por parte do estudante. Os conceitos que serão apresentados envolvem a Linguagem de Modelagem Unificada (UML) e seus diagramas estruturais e comportamentais, o design de interfaces apresentando informações, aspectos e técnicas; interpretação de um código Python, instanciação da programação orientada a objetos e as diferenças e características dos bancos de dados relacionais e não relacionais. Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 6 PROJETO INTEGRADO III A Linguagem de Modelagem Unificada ou UML é uma importante ferramenta utilizada para modelagem de negócios, processos de softwares e tem ligação direta com a análise orientada a objetos. A UML traz uma combinação de conceitos comuns sendo possível representar a maioria dos modelos existentes por esta, é compatível com todas as etapas do desenvolvimento de software e diversos escopos, pode modelar diferentes linguagens e torna os diagramas da análise orientada a objetos aplicáveis a várias situações. (DIAS, 2020) Uma versão simplificada da definição de UML é dada por Fowler (2004, p.25): UML (Unified Modeling Language) é uma família de notações gráficas, apoiada por um metamodelo único, que ajuda na descrição e no projeto de sistemas de software, particularmente daqueles construídos utilizando o estilo orientado a objetos (OO). (FOWLER, 2004, p.25) A UML trabalha com diagramas de modelagem, sendo dividido em dois: diagramas estruturais e diagramas comportamentais. Os diagramas estruturais são: classes, objetos, pacotes, estrutura composta, componente, instalação (implantação) e perfil. Os diagramas comportamentais são: casos de uso, atividade, máquina de estados e os de interação (sequência, comunicação, tempo e visão geral de interação). Os diagramas estruturais são utilizados para mostrar como um sistema pode ser organizado em partes, apresentando seus componentes e os relacionamentos entre eles, estando associados a modelagem estática, representando conceitos do sistema como abstrações, questões de implementação e do mundo real, sendo, em geral, elaborados no momento do projeto de arquitetura. Os diagramas comportamentais são utilizados para mostrar o fluxo de informações e os eventos do sistema, apresentando o comportamento dinâmico dos objetos e como o sistema reage as ações e eventos, incluindo os diagramas de interação que servem para modelar as interações do sistema ou entre os componentes de um sistema. (DIAS, 2020) Um dos mais usados diagramas estruturais é o diagrama de classes. Segundo Fowler (2004, p.52) “um diagrama de classes descreve os tipos de objetos presentes no sistema e os vários tipos de relacionamentos estáticos existentes entre eles”. Além disso, Fowler (2004) ainda explica que os diagramas de classes mostram as propriedades e operações das classes, como também as restrições. Dias (2020) Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 7 explica que o diagrama de classes remete às classes criadas em um software, sendo o principal objetivo representar classes, suas definições e as relações entre elas. Dias (2020) acrescenta que este diagrama é composto por atributos e métodos, sendo os atributos as variáveis ligadas ao conceito e os métodos as funções. Ademais, Dias (2020) acrescenta duas das relações com que as classes se relacionam, sendo elas a herança e o polimorfismo, a relação herança é aquela que uma classe herda atributos de outra, com os atributos comuns colocados em uma superclasse e os específicosem uma subclasse que herda as características da anterior, já o polimorfismo trata casos em que as características da classe podem ser as mesmas em determinado sentido, mas apresentar divergência dependendo de cada tipo de subclasse. Como percebido, o diagrama de classes é um dos mais básicos dos diagramas estruturais da UML. Este diagrama pode ser utilizado durante a fase de execução do software para converter os modelos em códigos e vice-versa. Durante o projeto de softwares, o diagrama de classe pode ser usado no momento inicial, do planejamento, a fim de representar os objetos que o sistema irá manipular, assim como suas operações e métodos. Este diagrama é capaz de mapear de forma clara a estrutura de um sistema, ajudando no planejamento do sistema, como também na sua manipulação. Apesar de poder ser usado já na fase de planejamento, o diagrama de classes pode ser usado em várias outras etapas por sua abundância usabilidade e aplicabilidade. Na fase do projeto, por exemplo, o diagrama de classe deve especificar as classes do software e as interfaces de aplicação, podendo ser usado para o planejamento de quais classes haverá, de como se interrelacionam e quais métodos serão utilizados para que o software possa alcançar os objetivos necessários para o seu bom funcionamento. Um exemplo simples de um diagrama de classes é apresentado abaixo na Figura 1. É um exemplo que pode ser utilizado nas fases iniciais do projeto do software, como na especificação de requisitos, no caso de um software de vendas para uma empresa, apresentando assim as principais classes que esse software pode ter, além, claro, das relações, métodos e restrições. Quanto aos diagramas comportamentais, o diagrama de atividades é fundamental para a UML e principalmente para o projeto de software. Dias (2020) explica que o diagrama de atividades é responsável por apresentar os fluxos que Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 8 ocorrem no sistema como um todo, mostrando os fluxos normais, alternativos e as exceções, assim auxiliando o entendimento do sistema como um todo. Fowler (2004, p.118) elucida que “os diagramas de atividades são uma técnica para descrever lógica de procedimento, processo de negócio e fluxo de trabalho”. Assim, o diagrama de atividades se torna essencial no projeto de software, principalmente na parte da documentação do software, a fim de estabelecer os fluxos de trabalho que o sistema deverá percorrer para poder funcionar de forma eficiente. Com o diagrama de atividades, o desenvolvedor pode estipular quais serão as ações necessárias para que os fluxos do sistema ocorram, como também identificar as exceções e prever possíveis problemas que podem vir a ocorrer durante o processo de desenvolvimento do software. Na figura 2 é representado um diagrama de atividades. É perceptível que o diagrama de atividades é fundamental para o projeto de desenvolvimento de um sistema, podendo auxiliar de várias formas a indicar quais são as atividades e até as classes necessárias para que todo o sistema funcione corretamente. O diagrama de atividades auxilia o desenvolver a escolher a ordem na qual fazer as atividades Figura 1 - Exemplo de diagrama de classes Fonte: FOWLER (2004, p.53) Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 9 ocorrerem, determinando as regras essenciais de sequência que se deve seguir dentro do software. O design de interfaces precisa ter um desenvolvimento voltado para as pessoas, facilitando os processos e o acesso. No caso do desenvolvimento de uma interface da página inicial de um programa para o Ministério da Educação, tendo login, senha, cadastro e uma parte visual com o mapa do Brasil apresentando dados das faculdades espalhadas pelo país, o desenvolvedor deve se atentar para as especificações que o design deve ter afim de possibilitar que todos possam usar, como, por exemplo, quais pessoas seriam as interessadas em utilizar o sistema, questões de usabilidade, adaptação da acessibilidade, possibilitar acesso tanto por computadores quanto por dispositivos móveis, entre outras características. As atividades de design devem seguir a ISO 9241-11 (2019) incluindo: ter o Design Centrado no Usuário contido na estratégia do projeto, planejar o processo de design centrado no humano, especificar os requisitos do usuário e os organizacionais, especificar o contexto do uso, produzir soluções de design, realizar Figura 2 - Exemplo de diagrama de atividades Fonte: FOWLER (2004, p.119) Impresso por Rachelle Ferreira, E-mail ferreirarachelle92@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 11/05/2023, 15:48:59 10 avaliações do projeto, introduzir e operar o projeto (BETIOL, 2021). No caso em questão, os requisitos do usuário devem levar em conta estudantes que desejam ingressar nas faculdades, os pais e/ou responsáveis dos estudantes que desejam saber mais sobre as faculdades e outras partes que possam se interessar (professores, pesquisadores e etc.); como também nas organizações como as próprias instituições de ensino, os governos estaduais e municipais e o próprio Ministério da Educação. Para a criação do design de interfaces, há alguns princípios de usabilidade que podem ser seguidos, são princípios gerais ergonômicos de design, sendo os de Nielsen (1994) e Shneiderman (2005). Os princípios de Nielsen (1994) são os seguintes: visibilidade do status do sistema, compatibilidade entre o sistema e o mundo real, controle e liberdade do usuário, consistência e padrões, prevenção de erros, reconhecimento no lugar de recordação, flexibilidade e eficiência de uso, projeto estético e minimalista, reconhecimento, diagnóstico e recuperação de erros; ajuda e documentação. Os princípios de Shneiderman (2005) são os seguintes: esforce-se para assegurar a coerência, busque a usabilidade universal, forneça feedback, projete diálogos que indiquem o término da ação, previna erros, permita que as ações sejam revertidas facilmente, mantenha os usuários no controle, reduza a carga da memória de curto prazo. Além disso, os princípios de Gestalt também podem ser utilizados para definir as características visuais da interface. (BETIOL, 2021) Há várias técnicas e tecnologias que podem ser utilizados para o design de interfaces. Por exemplo, para a especificação de usuários, segundo Betiol (2021), as técnicas que podem ser usadas são personas, identificação de stakeholders e mapa de empatia; enquanto para a análise de cenários, tarefas e mapas de jornadas podem ser usados os cenários de uso, , e contexto de uso; além da storyboarding storytelling jornada do usuário e do mapeamento de história do usuário. Todas são técnicas para identificar usuários e estabelecer conexões. Para o desenvolvimento de interfaces, há vários aplicativos que podem usados, como o próprio HTML ou a ferramenta Figma, que é uma ferramenta online que possibilita o design da interface dos sistemas. As