Buscar

SISTEMA DE CONTROLE DE MATRÍCULAS DE CURSOS LIVRES

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

2
UNIP EaD
Projeto Integrado Multidisciplinar
Cursos Superiores de Tecnologia
SISTEMA DE CONTROLE DE MATRÍCULAS DE CURSOS LIVRES
UNIP Luziânia-GO
2018
UNIP EaD
Projeto Integrado Multidisciplinar
Cursos Superiores de Tecnologia
SISTEMA DE CONTROLE DE MATRÍCULAS DE CURSOS LIVRES
Rafael da Costa Gama
RA: 1754322
Curso: Sup. Tec. em Análise e Desenvolvimento de Sistemas
Semestre: 3º Semestre
UNIP Luziânia-GO 
2018
RESUMO
	A partir das matérias: Projeto de Sistemas Orientado a Objetos, Programação Orientada a Objetos, Gestão de Qualidade e Empreendedorismo. O projeto tem por finalidade a construção de um sistemas de controle de matricula de cursos livres, no qual será feito a transição da fase de análise para a fase de projeto do desenvolvimento do sistema. Serão apresentados os diagramas necessários para a fase de projeto, com inicio no desenho de arquitetura MVC. Para ilustrar essa transição de análise para o design, serão apresentados os diagramas de classe de implementação, diagrama de sequência de implementação, diagrama de atividades e diagrama de distribuição, tendo em vista o uso do diagrama de caso de uso e de classes elaborados na fase análise. Um dos desafios do projeto é demostrar as dificuldades do desenvolvimento de um software que ofereça desempenho e qualidade satisfatórias e que atendam as necessidades do cliente ou usuário final.
Palavras-chave: Diagramas, UML, MVC, Sistemas, Projeto.
ABSTRACT
From the materials: Object Oriented Systems Project, Object Oriented Programming, Quality Management and Entrepreneurship. The purpose of the project is the construction of a free course enrollment control system, in which the transition from the analysis phase to the development phase of the system will be made. The diagrams necessary for the design phase will be presented, starting with the MVC architecture design. To illustrate this transition from analysis to design, we will present the implementation class diagrams, implementation sequence diagram, activity diagram and distribution diagram, with a view to using the use case diagram and classes elaborated in phase analyze. One of the project's challenges is to demonstrate the difficulties of developing software that offers satisfactory performance and quality that meets the needs of the customer or end user.
Keywords: Diagrams, UML, MVC, Systems, Design.
SUMÁRIO
1 INTRODUÇÃO........................................................................................................................................................7
2 Arquitetura MVC.....................................................................................................................................................8
2.1 Camada Model....................................................................................................................................................8
2.2 Camada View......................................................................................................................................................8
2.3 Camada Controller...........................................................................................................................................9
3 Unified Modeling Language - UML.............................................................................................................9
4 Desenho da Arquitetura MVC....................................................................................................10
4.1 Diagrama Entidade - Relacionamento......................................................................................11
4.2 Diagramas de Classe de Implementação...............................................................................12
4.3 Diagramas de Classe de Implementação – Manter Curso...........................................12
4.4 Diagramas de Classe de Implementação – Manter Aluno...............................................13
4.5 Diagramas de Classe de Implementação – Efetuar Matricula....................................13
4.6 Diagramas de Classe de Implementação – Gerar Relatório de Matricula............14
4.7 Diagramas de Classe de Implementação – Efetuar Login...........................................14
4.8 Diagramas de Classe de Implementação – Consultar Curso......................................15
4.9 Diagramas de Classe de Implementação – Consultar Matriculas............................16
5 Diagramas de Sequência de Implementação.........................................................................16
5.1 Diagramas de Sequência de Implementação -Manter Curso..........................................17
5.2 Diagramas de Sequência de Implementação –Manter Aluno....................................19
5.3 Diagramas de Sequência de Implementação –Efetuar Matricula...........................21
5.4 Diagramas de Sequência de Implementação – Gerar Relatório de Matriculas...21
5.5 Diagramas de Sequência de Implementação –Efetuar Login....................................22
5.6 Diagramas de Sequência de Implementação –Consultar Curso..............................22
5.7 Diagramas de Sequência de Implementação –Consultar Matriculas........................23
6 Diagrama de Atividades......................................................................................................................23
7 Diagrama de Distribuição..................................................................................................................24
8 CONCLUSÃO...........................................................................................................................................26
REFERÊNCIAS.......................................................................................................................................................27
1 INTRODUÇÃO
Nas mais diferentes áreas do conhecimento humano têm gerado uma grande e crescente demanda por soluções computadorizadas. Com essa elevada demanda muitas vezes os softwares desenvolvidos chegam no mercado ou em consumidores finais sem qualidade.
	Desenvolver um software de qualidade que atenda o cliente e seus requisitos é trabalho para o engenheiro de software, mas para isso é necessário utilizar o processo de software, que consiste em vários modelos, porem todos tem em comum, 4 atividades fundamentais, que são elas: A especificação, onde é definido o software e suas restrições; O desenvolvimento, que é responsável pelo projeto e sua programação; A validação, que tem como principal característica verificar se as necessidades do cliente foram atendidas e o mesmo pode ser modificado para atender as novas tecnologias do mercado.
	Na atividade de desenvolvimento, independente do processo que o engenheiro de software tenha escolhido tem o projeto, onde através de um documento e seus requisitos levantados mais a analise efetuada na fase de especificação, projeta-se p software estabelecendo a sua arquitetura, projeto de banco de dados bem como de classe, sequência e de distribuição, diminuindo a impalpabilidade do que será desenvolvido.
	Com este cenário volátil nem sempre é possível conduzir o desenvolvimento de software de maneira individual. O trabalho em equipe se torna essencial para que seja atingida a meta e a excelência no desenvolvimento do software, assim atendendo o cliente em todas as instancias e a expectativa de qualidade. 
	Esse projeto tem o objetivo de construir a documentação de design para um sistema de matricula de cursos livres, visando demonstrar de forma conceitual os artefatos solicitados nesse projeto.
	
2 Arquitetura MVC
	É um padrão de arquitetura de software criado na década de 70 e desenvolvido para ser usado em projetos de interface visual, Smaltalk, linguagem de programação que ganhou grande reconhecimento junto com o C++ na época, mesmo após esses anos de sua criação ainda é um petem aplicável, principalmente em aplicações web.
	Esta consiste na separação do código fonte em três camadas, preocupando-se em separar a informação
de sua apresentação, separando os dados (Model), da interface com o usuário (View), e do fluxo da aplicação (Controller), com a intenção de que uma mensagem da lógica de negócios possa ser acessada e visualizada através de varias interfaces.
2.1 Camada View
	É a camada de apresentação com o usuário, a interface, responsável por exibir uma representação dos dados modelados nos quais os usuários interagem diretamente, que proporcionará a entrada de dados e visualização de respostas geradas, os dados dessa camada podem ser apresentados em diversos formatos, dependendo do tipo da aplicação.
	A camada View deve sempre garantir que sua apresentação reflita o estado do modelo, quando os dados mudam, o modelo notifica as camadas view, que dependem dele e então cada um pode ou não se atualizar dependendo da necessidade, desta maneira permitindo ligar muitas views a um modelo e assim fornecendo diferentes apresentações.
	Essa camada não contem códigos relacionados à lógica de negócios, então todo processamento é feito pela camada model e só então ele repassa para a view.
2.2 Camada Model
	É a camada que contém a lógica da aplicação, sendo responsável pelas regras de negócio, apresentando a informação (dados) dos formulários e as regras SQL para manipular dados do banco, obtendo e convertendo os dados de maneira que tenham conceitos significativos em sua aplicação, assim como processar, validar, associar e outras funções relativas ao tratamento dos dados.
	O modelo atua isoladamente e não tem conhecimento de quais serão a ou as interfaces que terá de atualizar, ele apenas acessa à base de dados e deixa os dados prontos para o controlador encaminhar para a visão correta.
2.3 Camada Controller
	É responsável pela intermediação entre as camadas model e view, essa camada é que define o comportamento da aplicação, gerenciando e interpretando as requisições dos usuários e retornando uma interação entre as duas camadas citadas.
	Essa camada não tem responsabilidade de buscar ou exibir dados, ela trabalha apenas controlando e mapeando as ações, decidindo qual model usar, quais solicitações serão enviadas e qual combinação de views será utilizada para exibição do retorno dos dados da model.
3 Unified Modeling Language – UML
	É a linguagem para visualização, especificação, construção e documentação de artefatos de um software em desenvolvimento, que nos permite modelar elementos, relacionados, mecanismos de extensibilidade e diagramas, ela tem uma relação direta com a análise e o design orientado a objetos.
	A UML não é um método de desenvolvimento, não sendo responsável por dizer o que fazer ou como desenhar o sistema, mas ajuda a visualizar o desenho do sistema e a comunicação entre a equipe de análise e desenvolvimento, e apesar de também não ser uma linguagem de programação, existem ferramentas que podem ser usadas para gerar código em várias linguagens por meio dos diagramas UML.
	É controlada pelo Object Management Group (OMG – Grupo de Gerenciamento de Objetos, em tradução livre), responsável por supervisionar a definição e manutenção das especificações UML, permitindo assim aos engenheiros e programadores usarem uma única linguagem para diversas finalidades durante as fases do ciclo de vida do software e para os tamanhos de sistemas.
	A UML é composta por muitos elementos de modelo que representam as diferentes partes de um sistema de software, esses elementos são utilizados para criar diagramas que representam determinada parte, ou um ponto de vista do sistema, como diagrama de caso de uso, diagrama de atividade, diagrama de distribuição entre outros.
4 Desenho Arquitetura MVC
Figura 1 – arquitetura estática 
	
	A figura 1 mostra o desenho da arquitetura MVC do sistema, onde as classes que estão na camada View, servem para enviar eventos dos usuários para a camada Controller, e exibir as respostas desses eventos, a camada Controller é responsável por mapear esses eventos e efetuar atualizações na camada Model, que realiza o encapsulamento do estado do sistema e efetua as mudanças de estado quando solicitado.
4.1 Diagrama Entidade-Relacionamento
	Também chamado de ER ou apenas DER é a representação gráfica de um MER (Modelo Entidade-Relacionamento), que é um modelo conceitual utilizado na Engenharia de Software para descrever as entidades envolvidas em um domínio de negócios com seus atributos, e como eles se relacionam entre si.
Facilita a comunicação entre os ingredientes da equipe, pois oferece uma linguagem comum utilizada tanto pelo analista responsável por levantar os requisitos, e os desenvolvedores responsáveis por implementar aquilo que foi modelado.
	A seguir temos a figura 2 com a solução do DER para o sistema, de acordo com o diagrama de classes desenvolvido na fase de análise do projeto.
Figura 2 – Diagrama Entidade-Relacionamento
4.2 Diagrama de Classes de Implementação
	Um dos mais importantes diagramas da UML segundo vários autores, a principal característica de um diagrama de classes é permitir a visualização das classes que irão compor o sistema, representando seus atributos e métodos e demonstrar como as classes se relacionam entre si.
	Com base no diagrama de caso de uso desenhado na fase de análise do projeto, serão apresentados os diagramas de classe de implementação, cada um dos casos de uso com seus diagramas específicos utilizando como base o desenho da arquitetura MVC, mostrado na figura 1. A classe View representa a tela que o usuário interage, a classe Controller é responsável por fazer a ligação entre a camada visual e a camada de negócio, e as classes com estereótipo Model representam as classes de domínio que são responsáveis por implementar o que o sistema irá fazer, temos também as classes DAO, que são responsáveis por fazer a ligação com o banco de dados utilizando de métodos da classe Conexão. Manter o Log também é responsabilidade da classe Controller.
4.3 Diagramas de Classe de Implementação – Manter Curso
Figura 3 - Diagrama de Classe de Implementação – Manter Curso
4.4 Diagramas de Classe de Implementação – Manter Aluno
Figura 4 - Diagrama de Classe de Implementação – Manter Aluno
4.5 Diagramas de Classe de Implementação – Efetuar Matricula
Figura 5 - Diagrama de Classe de Implementação – Efetuar Matricula
4.6 Diagramas de Classe de Implementação – Gerar Relatório de Matricula
Figura 6 - Diagrama de Classe de Implementação – Gerar Relatório de Matricula
4.7 Diagramas de Classe de Implementação – Efetuar Login
Figura 7 - Diagrama de Classe de Implementação – Efetuar login
4.8 Diagramas de Classe de Implementação – Consultar Curso
Figura 8 - Diagrama de Classe de Implementação – Consultar Curso
4.9 Diagramas de Classe de Implementação – Consultar Matriculas
Figura 9 - Diagrama de Classe de Implementação – Consultar Matriculas
5 Diagramas de Sequência de Implementação
	O diagrama de sequência busca determinar a sequência de eventos e troca de mensagens entre vários objetos em um determinado contexto, ou seja, quais operações devem ser disparadas entre os objetos envolvidos e em ordem para a realização desse contexto.
	A representação das informações é feita na forma em que o tempo flui, de cima para baixo no diagrama, mostrando assim a ordem que as interações são feitas e facilitando a compreensão delas.
	Em um diagrama de sequência a representação do tempo de vida de um objeto é feita por linhas verticais, essas linhas são preenchidas por barras verticais que indicam exatamente quando o objeto passou a existir e quando esse objeto deixa de existir é adicionado um “X” a parte inferior. As linhas horizontais representam as mensagens trocadas entre os objetos, acompanhadas com um rótulo contendo o nome da mensagem, e opcionalmente, os parâmetros, linhas horizontais tracejadas representam os retornos das mensagens. Também podemos ter mensagens enviadas para o mesmo objeto representando as interações.
5.1 Diagramas de Sequência de Implementação – Manter Curso
Figura 10 – Diagrama de Sequência de Implementação – Cadastrar Curso
Figura 11 – Diagrama de Sequência
de Implementação – Alterar Curso
Figura 12 – Diagrama de Sequência de Implementação – Excluir Curso
Figura 13 – Diagrama de Sequência de Implementação – Consultar Curso
5.2 Diagramas de Sequência de Implementação – Manter Aluno
Figura 14 – Diagrama de Sequência de Implementação – Cadastrar Aluno
Figura 15 – Diagrama de Sequência de Implementação – Alterar Aluno
Figura 16 – Diagrama de Sequência de Implementação – Excluir Aluno
Figura 17 – Diagrama de Sequência de Implementação – Consultar Aluno
5.3 Diagramas de Sequência de Implementação – Efetuar Matricula
Figura 18 – Diagrama de Sequência de Implementação – Efetuar Matricula 
5.4 Diagramas de Sequência de Implementação – Gerar Relatório de Matriculas
Figura 19 – Diagrama de Sequência de Implementação – Gerar Relatório de Matricula 
5.5 Diagramas de Sequência de Implementação – Efetuar Login
Figura 20 – Diagrama de Sequência de Implementação – Efetuar Login 
5.6 Diagramas de Sequência de Implementação – Consultar Curso
Figura 21 – Diagrama de Sequência de Implementação – Consultar Curso
5.7 Diagramas de Sequência de Implementação – Consultar Matricula 
Figura 22 – Diagrama de Sequência de Implementação – Consultar Matricula
6 Diagrama de Atividades
	É utilizado para modelar o aspecto comportamental de um processo, com o objetivo de mostrar o fluxo de atividades de um determinado processo e suas relações e dependências, preocupando-se em descrever os passos a serem percorridos para conclusão de um método ou algoritmo específico, possibilitando a visão dos procedimentos efetuados para a execução de uma atividade.
	Todo diagrama de atividade deve possuir um início, marcado por um circulo preenchido, e um fim, representado por um círculo preenchido com um aro branco na extremidade, para a representação das ações utilizamos um retângulo de bordas arredondadas ligados por setas que representam os fluxos de controle, para a representação de decisões utilizamos um losango.
	É representado na figura 23 o diagrama de atividade para o método privado “calcularValorCurso()” da classe Matricula, esse método calcula o valor do curso a ser cobrado do aluno, onde o aluno que já tenha cursado outro curso tem direito a 5% de desconto, em caso de ter cursado dois cursos tem direito a 10%, e se já tiver cursado três ou mais, tem direito a 15% de desconto.
Figura 23 - Diagrama de Atividades do Método “calcularValorCurso()”
7 Diagrama de Distribuição
	Este diagrama captura a topologia (ambiente) de hardware de um sistema, é uma representação gráfica da visão estática do funcionamento de um sistema, mostrando os relacionamentos entre os componentes de software e hardware no sistema, focando na organização da arquitetura física em que o software irá ser implementado e executado, contendo somente os elementos essenciais à compreensão desse aspecto, fornecendo detalhes consistes com seu nível de abstração.
	O diagrama de distribuição tem como seu elemento básico os Nós, que representam os computadores configurados para execução, as associações entre os Nós, que são suas ligações e os artefatos, que representam as entidades físicas do mundo real.
	A seguir o diagrama de distribuição elaborado para a execução do sistema deste projeto, apresentado na figura 24.
Figura 24 – Diagrama de Distribuição
8 CONCLUSÃO
	Para realizar um projeto de qualidade e que atenda todas as especificações do cliente ou usuário final, é de suma importância uma fase de planejamento com todos quesitos necessários, assim a garantia de que o projeto desenvolvido seja de qualidade e atenda um padrão aceitável e muito maior, além da organização. A partir no modelo de arquitetura MVC para o desenvolvimento do sistema, fica claro os benefícios e a qualidade final que o produto desenvolvido nesses padrões pode nos oferecer, além disso minimizasse os erros de desenvolvimento, deixando assim o produto com mais qualidade.
REFERÊNCIAS
PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 7 ed. AMGH, 2011. 
 
SCHACH, S. Engenharia de software: os paradigmas clássicos e orientado a objetos. 7.ed. Artmed, 2010. 
 
GAMMA, Erich et al. Padrões de Projeto: Soluções reutilizáveis de software Orientado a Objetos. Porto Alegre: Bookman, 2000. 
 
FREEMAN & FREEMAN, Eric & Elizabeth. Padrões de Projetos: Seu cérebro em padrões de projetos. Rio de Janeiro: ALTABOOKS, 2007. 
 
HORSTMANN, C. Padrões e projetos orientados a objetos, 2ª Edição. Bookman, 2007.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?