Documento de Arquitetura de Software Histórico da Revisão
Documento de Arquitetura de Software Introdução1.1 ObjetivoEste documento fornece uma visão arquitetural abrangente do sistema, usando diversas visões de arquitetura para representar diferentes aspectos do sistema. Ele pretende capturar e transmitir as decisões arquiteturas significativas que foram tomadas em relação ao sistema. 1.2 EscopoEste Documento de Arquitetura de Software fornece uma visão geral de arquitetura do C-Registration System. O C-Registration System está sendo desenvolvido pelo Wylie College para suportar o registro on-line em cursos. Este Documento foi gerado diretamente a partir do Modelo de Análise e Design do C-Registration implementado no Rose. A maior parte das seções foi extraída do Modelo Rose utilizando SoDA e o gabarito de Documento de Arquitetura de Software. 1.3 Definições, Acrônimos e AbreviaçõesConsulte o Glossário [4]. 1.4 Referências
4.1 Casos de Uso Significativos para Arquitetura Nome do Diagrama: Casos de Uso Significativos para a Arquitetura
4.1.1 Fechar Registro Breve Descrição: Esse caso de uso permite que um Secretário feche o processo de registro. As ofertas de curso que não têm estudantes suficientes são canceladas. As ofertas de curso devem ter no mínimo três estudantes nelas. O sistema de faturamento é notificado para cada estudante em cada oferta de curso que não for cancelada, para que o estudante possa ser cobrado pela oferta de curso. O principal agente desse caso de uso é o Secretário. O Sistema de Faturamento é um agente envolvido nesse caso de uso. 4.1.2 Login Breve Descrição: Este caso de uso descreve como um usuário efetua login no Sistema de Registro em Curso. Os agentes que iniciam esse caso de uso são Estudante, Professor e Secretário. 4.1.3 Manter Informações do Professor Breve Descrição: Esse caso de uso permite que o secretário mantenha informações sobre os professores no sistema de registro. Isso abrange a inclusão, a modificação e a exclusão de professores do sistema. O agente desse caso de uso é o Secretário. 4.1.4 Selecionar Cursos a Lecionar Breve Descrição: Este caso de uso permite que um professor selecione as ofertas de curso (serão fornecidos cursos com data e hora específicos) no catálogo de cursos dos cursos para os quais ele/ela seja elegível e deseje lecionar no semestre seguinte. O agente que inicia esse caso de uso é o Professor. O Sistema de Catálogo de Cursos é um agente no caso de uso. 4.1.5 Registrar em Cursos Breve Descrição: Este caso de uso permite que um estudante se registre em cursos no semestre atual. O estudante também pode modificar ou excluir seleções de cursos se forem feitas alterações no período de inclusão/eliminação no início do semestre. O Sistema de Faturamento é notificado de todas as atualizações de registro. O Catálogo de Cursos fornece uma lista de todas as ofertas de curso para o semestre atual. O agente principal desse caso de uso é o estudante. O Sistema de Catálogo de Cursos é um agente no caso de uso. 4.1.6 Visualizar Cartão de Relatório Breve Descrição: Este caso de uso permite que um estudante visualize seu cartão de relatório para o semestre concluído anteriormente. O estudante é o agente desse caso de uso. 4.1.7 Submeter Notas Breve Descrição: Este caso de uso permite que um professor submeta notas de estudantes para uma ou mais classes concluídas no semestre anterior. O agente nesse caso de uso é o Professor. 4.1.8 Manter Informações do Estudante
Uma descrição da visualização lógica da arquitetura. Descreve as classes mais importantes, sua organização em pacotes de serviço e subsistemas e a organização desses subsistemas em camadas. Também descreve as realizações de casos de uso mais importantes como, por exemplo, os aspectos dinâmicos da arquitetura. Diagramas de classe podem ser incluídos para ilustrar os relacionamentos entre as classes, subsistemas, pacotes e camadas significativos da arquitetura. A visualização lógica do sistema de registro em curso é composta de 3 pacotes principais: Interface com o Usuário, Serviços de Negócios e Objetos de Negócios. O Pacote de Interface com o Usuário contém classes para cada um dos formulários utilizados pelos agentes para comunicar com o Sistema. Existem classes de limite para suportar login, manutenção de planejamentos, manutenção de informações de professores, seleção de cursos, submissão de notas, manutenção de informações de estudantes, fechamento de registro e visualização de cartões de relatório. O Pacote de Serviços de Negócios contém classes de controle para fazer interface com o sistema financeiro, controlar o registro de estudantes e gerenciar a avaliação dos estudantes. O Pacote de Objetos de Negócios inclui classes de entidade para os artefatos da universidade (isto é, oferta de curso, planejamento) e classes de limite para a interface com o Sistema de Catálogo de Cursos.
5.1.1 Aplicativo camada Esta camada de aplicativo tem todas as classes de limite que representam as telas do aplicativo visualizadas pelo usuário. Essa camada depende da camada de Objetos de Processo; isso aumenta a separação do cliente da mid-tier. 5.1.2 Serviços de Negócios camada A camada de processo Serviços de Negócios tem todas as classes de controlador que representam os gerenciadores de caso de uso que direcionam o comportamento do aplicativo. Essa camada representa a divisa cliente para mid-tier. A camada Serviços de Negócios depende da camada de Objetos de Processo; isso aumenta a separação do cliente da mid-tier.
camada A camada Middleware suporta o acesso ao DBMS Relacional e ao OODBMS.
Uma descrição da visualização do processo da arquitetura. Descreve as tarefas (processos e encadeamentos) envolvidas na execução do sistema, suas interações e configurações. Também descreve a alocação de objetos e classes para tarefas. O Modelo de Processo ilustra as classes de registro em curso organizadas como processos executáveis. Existem processos para suportar o registro de estudantes, funções de professores, fechamento de registro e acesso ao Sistema Financeiro e ao Sistema de Catálogo de Cursos externos.
Nome do Diagrama: Processos 6.1.1 CourseCatalogSystemAccess Esse processo gerencia o acesso ao Sistema de Catálogo de Cursos legado. Ele pode ser compartilhado por vários usuários que se registram em cursos. Isso permite uma cache de ofertas e cursos recuperados recentemente para aprimorar o desempenho. Os encadeamentos separados no processo CourseCatalog, CourseCache e OfferingCache, são utilizados para recuperar itens de forma assíncrona do sistema legado. Mecanismos de Análise: - Interface Legada Rastreabilidade de Requisitos: - Restrições de Design: O sistema deve integrar-se ao sistema legado existente (banco de dados do catálogo de cursos).
6.1.2 CourseCatalog O catálogo integral de todos os cursos e ofertas de curso oferecidas pela universidade, incluindo aquelas de semestres anteriores. Essa classe age como um adaptador (consulte o padrão Gamma). Ela funciona para certificar-se de que o CourseCatalogSystem possa ser acessado pela interface ICourseCatalog para o subsistema.
6.1.3 CourseRegistrationProcess Há uma instância desse processo para cada estudante que está atualmente se registrando em cursos.
6.1.4 RegistrationController Isso suporta o caso de uso, permitindo que um estudante se registre em cursos no semestre atual. O estudante também pode modificar ou excluir seleções de cursos se forem feitas alterações no período de inclusão/eliminação no início do semestre. Mecanismos de Análise: - Distribuição
6.1.5 StudentApplication Gerencia a funcionalidade do estudante, incluindo o processamento da interface com o usuário e a coordenação com os processos de negócios. Há uma instância desse processo para cada estudante que está atualmente se registrando em cursos.
6.1.6 MainStudentForm Controla a interface do aplicativo do estudante. Controla a família de formulários utilizada pelo Estudante.
6.1.7 BillingSystemAccess Esse processo se comunica com o Sistema Financeiro (Faturamento) externo para iniciar o faturamento de estudantes.
6.1.8 CloseRegistrationProcess O processo Fechar Registro é iniciado no final do período de tempo de registro. Esse processo se comunica com o processo que controla o acesso ao Sistema Financeiro.
6.1.9 BillingSystem O Sistema Financeiro suporta a submissão de contas de estudantes para os cursos em que o estudante se registrou no semestre atual. Mecanismos de Análise: - Interface Legada
6.1.10 CloseRegistrationController O Controlador de Fechamento de Registro controla o acesso ao Sistema Financeiro. Mecanismos de Análise: - Distribuição
Nome do Diagrama: Processo para o Design de Elementos 6.2.1 CourseCache
6.2.3 Curso Uma oferta específica para um curso, incluindo dias da semana e horários. Mecanismos de Análise: - Persistência - Interface Legada
6.4 Processos para a Implementação Nome do Diagrama: Processos para a Implementação
* A interface Remote serve para identificar todos os objetos remotos. Qualquer objeto que seja do tipo remoto deve implementar direta ou indiretamente essa interface. Apenas os métodos especificados em uma interface remota estão disponíveis remotamente. * As classes de implementação podem implementar qualquer quantidade de interfaces remotas e pode estender outras classes de implementação remotas. 6.4.2 Runnable * A interface Runnable deve ser implementada por qualquer classe cujas instâncias serão executadas por um encadeamento. A classe deve definir um método sem argumentos denominado run. * Essa interface é destinada a fornecer um protocolo comum para objetos que desejam executar código enquanto estão ativos. Por exemplo, Runnable é implementado pela classe Thread. * Estar ativo simplesmente significa que um encadeamento foi iniciado e ainda não foi parado.
* Um thread é um encadeamento de execução em um programa. A Java Virtual Machine permite que um aplicativo tenha vários encadeamentos de execução simultaneamente. * Cada encadeamento tem uma prioridade. Os encadeamentos com maior prioridade são executados em preferência aos encadeamentos com menor prioridade. Cada encadeamento também pode ou não ser marcado como um daemon. Quando o código em execução em algum encadeamento cria um novo objeto Thread, o novo encadeamento tem sua prioridade inicialmente definida como sendo igual a prioridade do encadeamento que a criou e será um encadeamento daemon se e somente se o encadeamento criador for um daemon.
7. Visualização da Implementação Uma descrição da visualização da implementação da arquitetura que descreve os diversos nós físicos para as mais típicas configurações de plataforma. Também descreve a alocação de tarefas (a partir da Visualização do Processo) para os nós físicos. Esta seção é organizada por configuração de rede física; cada configuração é ilustrada por um diagrama de implementação, seguido de um mapeamento dos processos para cada processador. Nome do Diagrama: Visualização da Implementação Os estudantes se registram em cursos utilizando PCs desktop externos conectados ao Servidor da Universidade via dial-up à Internet. Os estudantes se registram em cursos utilizando PCs Desktop locais conectados diretamente ao Servidor da Universidade via LAN. Esses PCs locais também são utilizados pelos professores para selecionar cursos e submeter notas de estudantes. O Secretário utiliza esses PCs locais para manter informações sobre estudantes e professores. O Servidor de Registro é o Servidor UNIX principal do campus. Todas as faculdades e estudantes têm acesso ao Servidor pela LAN do campus. O Sistema de Catálogo de Cursos é um sistema legado que contém o catálogo de cursos completo. O acesso a ele está disponível pelo Servidor da Universidade e pela LAN. O Sistema de Faturamento (também denominado o Sistema Financeiro) é um sistema legado que gera as contas de estudantes a cada semestre.
|
|