wiki:NovoExpresso/dvs

Version 26 (modified by zapa, 12 years ago) (diff)

--

Documento de Visão do Sistema

1. Objetivo

O propósito deste documento é coletar, analisar e definir as necessidades de alto-nível e características do sistema, focando nas potencialidades requeridas pelos afetados e usuários-alvo, e como estes requisitos foram abordados no sistema. A visão do sistema documenta o ambiente geral de processos desenvolvidos para o sistema, fornecendo a todos os envolvidos uma descrição compreensível deste e suas macro-funcionalidades. O Documento de Visão do Sistema documenta as necessidades e funcionalidades do sistema.

2. Descrição do Produto

O NOVO EXPRESSO será um sistema de comunicação contemplando os principais elementos para comunicação corporativa, baseado nas funcionalidades existentes no atual expresso, porém baseado em nova estrutura tecnológica, novo design gráfico e nova arquitetura baseada na orientação a serviços, voltando-se para suportar ambientes de nuvem. O NOVO EXPRESSO combinará em uma única interface todas as características essenciais para uma colaboração eficaz e no desenvolvimento de processos de negócios. Para as empresas, instituições públicas, associações ou particulares o NOVO EXPRESSO simplificará a comunicação interna e a coordenação e gestão de tarefas, compromissos, contatos e recursos incorporando requisitos fundamentais como facilidade de uso, estabilidade e segurança são indispensáveis. Um processo de desenvolvimento orientado a testes com extensa auditoria de código deve ser utilizado para que qualidade do trabalho transpareça.

O NOVO EXPRESSO procura resolver os seguintes problemas em relação a arquitetura e versão atual:

  • Estrutura tecnológica baseada em API idealizada em 2000, com defasagem tecnológica;
  • Baseado em outra realidade de internet;
  • Baseado fortemente no conceito de processamento no Server;
  • Avanço em funcionalidades que incompatibilizaram upgrade de versão em comunidade internacional;
  • Forte acoplamento das camadas, causando grande impacto na manutenção;
  • API não disponibiliza desacoplamento da Aplicação, resultando em esforço para integração;
  • Módulos desenvolvidos por equipes independentes sem requisitos de unidade de estruturas físicas ou reutilização de classes;
  • Segurança ficou gravemente prejudicada em função do não acompanhamento da comunidade maior ou de framework que absorvesse na época estas correções;
  • A comunidade egroupware incorporou o conceito do etemplate para tratamento das interfaces com usuários na tentativa de resolver vulnerabilidades;
  • Bugs, que ao passar do tempo são reintroduzidos;
  • Foi reimplementado do Egroupware considerando premissas antigas;
  • As permissões baseadas nas classes/tabela guardam permissões misturadas de difícil manipulação;
  • Seu Framework é desconhecido pela maioria dos desenvolvedores PHP, assim como o seu criador Egroupware, em consequencia há necessidade de especialização para domínio da API que suporta a solução.
  • Codebase interno construído ficou muito difícil para mantê-lo e estendê-lo de um modo econômico.
  • Os conceitos como "testes de unidade" são possíveis, porque as classes foram atadas a muito uma a outra.
  • O eTemplate inspeciona qualquer dado recebido do lado de cliente. Ele sabe que dados ele envia ao cliente e ele sabe que dados esperar de volta do cliente.
  • 90% do tempo gasto para gerar o conteúdo de HTML necessário pelo framework eGroupWare e eTemplate. A lógica de aplicação , toma só 10 % do tempo gasto;
  • A reimplementação sempre esbarra em premissas antigas, recaindo no mesmo erro;
  • A mesma classe/tabela guarda os direitos que o usuário pode usar que aplicações, que membro de usuário do qual grupo e que usuários realmente compartilham que dados.
  • Falta manejo de timezone próprio. O eGroupWare não tem nenhum tratamento sobre timezones.
  • Toda manutenção é impactante em função da estrutura construída com o passar dos tempos;

Para análise e construção deste novo sistema, houve prospecção no sentido de solucionar as questões mencionadas acima. Dentre as várias alternativas de evolução os seguintes fatores básicos foram requeridos:

  • Baixo custo para desenvolvimento e manutenção.
  • Segurança considerada como requisito principal.
  • Funcionalidades continuadas da versão anterior.
  • Orientação a serviços.
  • Utilização de Framework sedimentado no mercado.
  • Separação absoluta das camadas MVC.
  • Interface padronizada de acesso para os diversos módulos.

Após uma etapa de prospecção optou-se pela utilização do codebase do software TINE20(www.tine.org), em função deste cobrir todos os requisitos enumerados e elencados junto a Comunidade Expresso.

Portanto este documento prevê a utilização do codebase TINE20, agregando-se as funcionalidades existentes no expresso bem como características adicionais com suporte a ambientes em nuvem.

3. Envolvimento

3.1. Abrangência

O expresso hoje tem sua maior representação na comunidade expresso (www.expressolivre.org), sua difusão engloba não somente o Serpro e seus clientes, mas uma gama enorme de empresas e entidades públicas espalhadas em todo o território nacional com a diferença que para seus clientes o Serpro provê a manutenção do produto contratualmente enquanto que para os demais a comunidade disponibiliza o software sob licença livre. O projeto visa substituir a solução atual mantendo as funcionalidades existentes.

3.2. Papel das Partes Interessadas

3.2.1. Cliente

DescriçãoParte interessada que demandará as necessidados do projeto.
Papel no desenvolvimentoDefinir o serviço que essa solução busca satisfazer.
Fornecer informações quanto ao uso e suas necessidades com relação ao sistema.
Insumos ao projeto de softwareRequisitos do sistema para atender a necessidade dos clientes internos e da comunidade.
Requisitos não-funcionais, como performance, usabilidade da interface gráfica, etc.
Representante

3.2.2. Gestor

DescriçãoParte interessada responsável pelo sistema no SERPRO
Papel no desenvolvimentoDefinir as necessidades a serem atendidas pelo sistema.
Definir o escopo das entregas.
Estabelecer as funcionalidades requeridas e restrições operacionais.
Identificar juntamente com o analista os requisitos do sistema, funcionais e não-funcionais.
Homologação das implementações
Insumos ao projeto de softwareNecessidades dos usuários (incluindo os externos).
Solicitação de Alteração de Requisitos.
Requisitos Funcionais.
Restrições de negócio.
Representante

3.2.3. Gestor de Desenvolvimento

DescriçãoPapel responsável pela liderança e supervisão do projeto no nível alto da organização
Papel no desenvolvimentoProver recursos para viabilizar e garantir a melhoria contínua do projeto.
Gerenciamento técnico / administrativo e acompanhamento do projeto como um todo.
Insumos ao projeto de softwareRecursos humanos e tecnológicos.
Representante

3.2.4. Gestor Sênior

DescriçãoPapel responsável pela liderança e supervisão do projeto no nível alto da organização
Papel no desenvolvimentoContratar do serviço que essa solução busca satisfazer.
Determinar direcionarmento estratégico do projeto.
Insumos ao projeto de softwareDiretrizes organizacionais e estratégicas.
Representante

3.2.5. Líder de Projeto

DescriçãoPapel responsável direção, controle e administração do projeto
Papel no desenvolvimentoGerenciar as etapas de desenvolvimento, e interagir com a equipe para a perfeita acomodação dos requisitos do usuário.
Representar o projeto perante o cliente. Negociar compromissos e manter informados os demais envolvidos no projeto.
Formalizar os termos, responsabilidades, acordos de nível de serviço (ANS), e garantias de uso junto a clientes e grupos envolvidos.
Coletar as lições aprendidas, e utilizá-las para a melhoria contínua do processo de desenvolvimento.
Insumos ao projeto de softwareAlocação de recursos.
Quadro de Tarefas.
Gráfico Burndown.
Plano do Projeto.
Acordos de nível de serviço.
Termos, responsabilidades e garantias de projeto.
Atas de Reunião.
Representante

3.2.6. Analista de Requisitos

DescriçãoLevantamento dos requisitos do sistema.
Papel no desenvolvimentoIdentificar e descrever as necessidades do usuário, especificando as funcionalidades do software que irão atendê-las.
Levantar os requisitos funcionais e não-funcionais do sistema.
Definir quem e o que irá interagir com o sistema.
Gerenciar o escopo e a mudança dos requisitos.
Insumos ao projeto de softwareDocumento de Visão do Sistema
Documento de Visão do Projeto
Modelo de Requisitos
Glossário
Representante

3.2.7. Desenvolvedores

DescriçãoDesenvolvimento da aplicação
Papel no desenvolvimentoCodificação dos programas.
Auxílio do levantamento de requisitos e definição de arquitetura
e conceitos a serem implementados na solução.
Insumos ao projeto de softwareProgramas desenvolvidos nas tecnologias definidas.
Representante

3.2.8. Programadores

DescriçãoImplementação da aplicação
Papel no desenvolvimentoCodificação dos programas.
Insumos ao projeto de softwareProgramas codificados nas tecnologias definidas.
Representante

3.2.9. Área de Infra-estrutura

DescriçãoFornecer a infra-estrutura necessária para o desenvolvimento
Papel no desenvolvimentoFornecer a infra-estrutura de hardware e software conforme a necessidade do projeto.
Insumos ao projeto de softwareAmbientes de hardware e software para desenvolvimento, testes e homologação.
Gestão e consultoria com relação ao processo de GRS (gestão de riscos)
Representante

3.3. Papel dos Atores

3.3.1. Usuário

DescriçãoUsuário normal do sistema sem privilégios de administração.
Papel no desenvolvimentoRegistrar informações no sistema.
Insumos ao projeto de softwareInsere dados e troca informações com outros usuários do sistema.
RepresentanteN/A

3.3.2. Administrador de Usuários

DescriçãoUsuário com privilégio de administração de perfis de usuário.
Herda as permissões de Usuário.
Papel no desenvolvimentoAdministrar contas de usuários do sistema.
Insumos ao projeto de softwareCadastra e edita usuários.
Representante N/A

3.3.3. Administrador do Sistema

DescriçãoUsuário com privilégio de administração dos módulos que compõem o sistema.
Herda as permissões de Usuário e de Administrador de Usuários.
Papel no desenvolvimentoRealizar configurações avançadas dos módulos do sistema.
Insumos ao projeto de softwareHabilita, desabilita e configura os módulos do sistema;
Representante N/A

4. Necessidades e Funcionalidades

Criticidade

Crítico - O requisito é essencial. O fracasso em sua implementação significará o não atendimento das necessidades do cliente.
Importante – O requisito é importante para o sistema. Sua não implementação afeta a satisfação do usuário e/ou o valor agregado do produto, mas não impede o funcionamento do sistema dentro dos padrões mínimos.
Útil - O requisito é útil, porém não essencial à satisfação do cliente.

1.Autenticação
O sistema deve possuir mecanismo de autenticação e autorização de usuários.
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F1.1Permitir autenticação utilizando usuário e senha.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F1.xDisponibilizar ao usuário área de Ajuda com informações básicas de funcionamento do sistema e contatos da áreas de suporte.
Atgores: Usuário, Administrador de Usuários e Administrador do Sistema
F1.xDisponibilizar internacionalização do sistema.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F1.xPermitir autenticar através de certificados digitais.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema


2.Módulo de Administração do sistema
Administrar os módulos e demais recursos do sistema..
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F2.1Permitir o gerenciamento dos módulos do sistema.
Atores: Administrador do Sistema
F2.2Permitir a configuração do serviço de autenticação de usuários
Atores: Administrador do Sistema
F2.3Permitir a configuração do serviço de armazenamento de dados
Atores: Administrador do Sistema
F2.5Permitir a configuração da localização das contas de usuários.
Atores: Administrador do Sistema
F2.6Permitir a configuração do serviço de armazenamento de mensagens.
Atores: Administrador do Sistema
F2.7Permitir a configuração do serviço de entrega de mensagens.
Atores: Administrador do Sistema
F2.xPermitir a administração do ambiente de nuvem.
Atores: Administrador do Sistema
F2.xPermitir o gerenciamento de idiomas.
Atores: Administrador do Sistema
F2.xPermitir a configuração do registro de LOGs.
Atores: Administrador do Sistema
F2.xPermitir configuração de tarefas para execução automática.
Atores: Administrador do Sistema
F2.xPermitir configuração dos recursos de Certificação Digital.
Atores: Administrador do Sistema
F2.xPermitir a administração dos recursos de segurança.
Atores: Administrador do Sistema


3.Módulo de Administração de usuários
Administrar os recursos disponibilizados pelo sistema para os usuários.
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F3.1Permitir gerenciamento de Contas de Usuários
Atores: Administrador de Usuários e Administrador do Sistema
F3.3Permitir delegação de privilégios a grupos ou usuários.
Atores: Administrador de Usuários e Administrador do Sistema
F3.7Permitir gerenciamento de Grupos de Usuários.
Atores: Administrador de Usuários e Administrador do Sistema
F3.11Permitir gerenciamento de PAPEIS.
Atores: Administrador de Usuários e Administrador do Sistema
F3.xPermitir movimentação de caixas postais de usuários entre servidores distintos.
Atores: Administrador de Usuários e Administrador do Sistema
F3.xPermitir configuração de preferências globais dos módulos para os usuários.
Atores: Administrador de Usuários e Administrador do Sistema
F3.xPermitir registro das atividades dos usuários no sistema(logs).
Atores: Administrador de Usuários e Administrador do Sistema
F3.xPermitir administração de listas de e-mail.
Atores: Administrador de Usuários e Administrador do Sistema
F3.xPermitir visualização dos usuários autenticados.
Atores: Administrador de Usuários e Administrador do Sistema
F3.xPermitir notificação de manutenção de módulos.
Atores: Administrador de Usuários e Administrador do Sistema

|


4.Módulo de mensagens de e-mail
O sistema permitirá o gerenciamento de mensagens de correio eletrônico..
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F4.1Disponibilizar listagem mensagens de e-mail.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.2Disponibilizar edição avançada de mensagens de e-mail.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.3Permitir envio de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.4Disponibilizar recurso de revisão ortográfica na edição de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.5Disponibilizar consulta a catálogo de endereços na edição de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.6Disponibilizar recurso de confirmação de leitura de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.7Disponibilizar armazenamento de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.9Disponibilizar classificação de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.10Disponibilizar gerenciamento de pastas de armazenamento de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.11Disponibilizar armazenamento local de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.12Permitir manipulação de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.13Permitir compartilhamento de caixas postais.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.14Permitir notificação de ausência temporária.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.16Permitir a impressão de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.17Disponibilizar suporte a mensagens cifradas.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.18Disponibilizar suporte a mensagens assinadas digitalmente.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.19Disponibilizar gerenciamento de regras de filtragem de mensagens recebidas.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.20Disponibilizar pesquisa de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.21Permitir exportação e importação de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.22Disponibilizar alerta de mensagens recebidas.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.23Disponibilizar salvamento de mensagens em edição.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.24Permitir utilização de teclas de atalho.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.25Disponibilizar recurso de modelo de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.26Permitir o envio de mensagens para listas de e-mail.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F4.27Permitir visualização de mensagens.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema


5. Módulo de agenda.
O sistema deve permitir a gestão de serviço de agenda.
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F5.xPermitir o gerenciamento de compromissos individuais e em grupo.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir que compromissos criados sejam administrados por seus participantes.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir visualização de disponibilidade de horário de outros atores.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xDisponibilizar recurso de alerta de compromissos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xDisponibilizar consulta a catálogos de endereços.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir a manutenção de feriados.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir o compartilhamento de agenda entre atores.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir a pesquisa de agendamentos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir que a utilização de categorias para eventos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir visualização de agendamentos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir impressão de compromissos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir a importação e exportação de compromissos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F5.xPermitir a utilização de agenda em dispositivos diversos. (global)
Atores: Usuário, Administrador de Usuários e Administrador do Sistema


6.Módulo de Contatos
O sistema disponibilizará a utilização de catálogos de endereços.
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F6.xPermitir gerenciamento de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F6.xPermitir gerenciamento de grupos de contatos pessoais.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F6.xPermitir importação e exportação de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F6.xPermitir armazenamento de histórico de alteração de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F6.xPermitir impressão de lista de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F6.xDisponibilizar pesquisa de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F6.xPermitir o compartilhamento de catálogos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema


7.Módulo de mensagens instantâneas
O sistema permitirá a utilização de mensagens instantânea.
BenefícioCrítico
Id Func.Descrição das Funcionalidades/atores envolvidos
F7.xPermitir troca de mensagens instantâneas.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F7.xPermitir troca de arquivos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F7.xPermitir consulta a catálogos de endereços.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F7.xPermitir a configuração de status do usuário.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F7.xPermitir o gerenciamento de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F7.xPermitir o gerenciamento de grupos de contatos.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema
F7.xPermitir o armazenamento de histórico de conversas.
Atores: Usuário, Administrador de Usuários e Administrador do Sistema