Documento de Visão do Sistema
Conteúdo
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ção Parte interessada que demandará as necessidados do projeto. Papel no desenvolvimento Definir 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 software Requisitos 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ção Parte interessada responsável pelo sistema no SERPRO Papel no desenvolvimento Definir 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 software Necessidades 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ção Papel responsável pela liderança e supervisão do projeto no nível alto da organização Papel no desenvolvimento Prover 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 software Recursos humanos e tecnológicos. Representante
3.2.4. Gestor Sênior
Descrição Papel responsável pela liderança e supervisão do projeto no nível alto da organização Papel no desenvolvimento Contratar do serviço que essa solução busca satisfazer.
Determinar direcionarmento estratégico do projeto.Insumos ao projeto de software Diretrizes organizacionais e estratégicas. Representante
3.2.5. Líder de Projeto
Descrição Papel responsável direção, controle e administração do projeto Papel no desenvolvimento Gerenciar 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 software Alocaçã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ção Levantamento dos requisitos do sistema. Papel no desenvolvimento Identificar 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 software Documento de Visão do Sistema
Documento de Visão do Projeto
Modelo de Requisitos
GlossárioRepresentante
3.2.7. Desenvolvedores
Descrição Desenvolvimento da aplicação Papel no desenvolvimento Codificaçã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 software Programas desenvolvidos nas tecnologias definidas. Representante
3.2.8. Programadores
Descrição Implementação da aplicação Papel no desenvolvimento Codificação dos programas. Insumos ao projeto de software Programas codificados nas tecnologias definidas. Representante
3.2.9. Área de Infra-estrutura
Descrição Fornecer a infra-estrutura necessária para o desenvolvimento Papel no desenvolvimento Fornecer a infra-estrutura de hardware e software conforme a necessidade do projeto. Insumos ao projeto de software Ambientes 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ção Usuário normal do sistema sem privilégios de administração. Papel no desenvolvimento Registrar informações no sistema. Insumos ao projeto de software Insere dados e troca informações com outros usuários do sistema. Representante N/A
3.3.2. Administrador de Usuários
Descrição Usuário com privilégio de administração de perfis de usuário.
Herda as permissões de Usuário.Papel no desenvolvimento Administrar contas de usuários do sistema. Insumos ao projeto de software Cadastra e edita usuários. Representante N/A
3.3.3. Administrador do Sistema
Descrição Usuá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 desenvolvimento Realizar configurações avançadas dos módulos do sistema. Insumos ao projeto de software Habilita, 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ício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F1.1 | Permitir autenticação utilizando usuário e senha. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
| |
F1.x | Disponibilizar 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.x | Disponibilizar internacionalização do sistema. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F1.x | Permitir 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ício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F2.1 | Permitir o gerenciamento dos módulos do sistema. Atores: Administrador do Sistema |
F2.2 | Permitir a configuração do serviço de autenticação de usuários Atores: Administrador do Sistema |
F2.3 | Permitir a configuração do serviço de armazenamento de dados Atores: Administrador do Sistema |
F2.5 | Permitir a configuração da localização das contas de usuários. Atores: Administrador do Sistema |
F2.6 | Permitir a configuração do serviço de armazenamento de mensagens. Atores: Administrador do Sistema |
F2.7 | Permitir a configuração do serviço de entrega de mensagens. Atores: Administrador do Sistema |
| |
F2.x | Permitir a administração do ambiente de nuvem. Atores: Administrador do Sistema |
F2.x | Permitir o gerenciamento de idiomas. Atores: Administrador do Sistema |
F2.x | Permitir a configuração do registro de LOGs. Atores: Administrador do Sistema |
F2.x | Permitir configuração de tarefas para execução automática. Atores: Administrador do Sistema |
F2.x | Permitir configuração dos recursos de Certificação Digital. Atores: Administrador do Sistema |
F2.x | Permitir 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ício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F3.1 | Permitir gerenciamento de Contas de Usuários Atores: Administrador de Usuários e Administrador do Sistema |
F3.3 | Permitir delegação de privilégios a grupos ou usuários. Atores: Administrador de Usuários e Administrador do Sistema |
F3.7 | Permitir gerenciamento de Grupos de Usuários. Atores: Administrador de Usuários e Administrador do Sistema |
F3.11 | Permitir gerenciamento de PAPEIS. Atores: Administrador de Usuários e Administrador do Sistema |
| |
F3.x | Permitir movimentação de caixas postais de usuários entre servidores distintos. Atores: Administrador de Usuários e Administrador do Sistema |
F3.x | Permitir configuração de preferências globais dos módulos para os usuários. Atores: Administrador de Usuários e Administrador do Sistema |
F3.x | Permitir registro das atividades dos usuários no sistema(logs). Atores: Administrador de Usuários e Administrador do Sistema |
F3.x | Permitir administração de listas de e-mail. Atores: Administrador de Usuários e Administrador do Sistema |
F3.x | Permitir visualização dos usuários autenticados. Atores: Administrador de Usuários e Administrador do Sistema |
F3.x | Permitir 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ício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F4.1 | Permitir que as mensagens sejam excluídas Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.2 | Permitir a criação de mensagens Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.3 | Permitir a edição de mensagens Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.4 | Permitir salvamento de mensagens em edição Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.5 | Permitir envio de mensagens de e-mail Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.6 | Permitir visualização de listas de mensagens de e-mail Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.7 | Permitir que as mensagens sejam respondidas Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.8 | Permitir que as mensagens sejam encaminhadas Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.9 | Permitir visualização de mensagens Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
| |
F4.x | Disponibilizar edição avançada de mensagens de e-mail. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar recurso de revisão ortográfica na edição de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar consulta a catálogo de endereços na edição de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar recurso de confirmação de leitura de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar classificação de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar gerenciamento de pastas de armazenamento de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar armazenamento local de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir mover mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir compartilhamento de caixas postais. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir notificação de ausência temporária. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir a impressão de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar suporte a mensagens cifradas. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar suporte a mensagens assinadas digitalmente. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar gerenciamento de regras de filtragem de mensagens recebidas. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar pesquisa de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir exportação e importação de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar alerta de mensagens recebidas. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir utilização de teclas de atalho. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Disponibilizar recurso de modelo de mensagens. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
F4.x | Permitir o envio de mensagens para listas de e-mail. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
5. | Necessidade RNF Tradução PT-BR O sistema deve possuir suporte para idioma PT-BR para o módulo Email e Administração de Usuários |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F5.1 | Permitir iteração no módulo Email e Administração de Usuários no idioma PT-BR.? Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
6. | Necessidade RNF Suportar a Banco de Dados PostgreSQL O sistema deve possuir suporte ao banco de Dados PostgreSQL |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F6.1 | Permitir utilização do SGBD PostgreSQL? Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
7. | Disponibilização de Ambientes Disponibilizar Ambientes para suporte ao Desenvolvimento |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
F7.1 | Disponibilizar repositório de código? Atores: Administrador do Sistema |
F7.2 | Disponibilizar repositório de documentação? Atores: Administrador do Sistema |
F7.3 | Disponibilizar ferramenta de cadastramento demandas? Atores: Administrador do Sistema |
F7.4 | Disponibilizar ferramenta de gestão ágil ICESCRUM? Atores: Administrador do Sistema |
F7.5 | Implementar políticas de backup? Atores: Administrador do Sistema |
F7.6 | Disponibilizar ambiente e treinamento para testes e integração? Atores: Administrador do Sistema |
F7.7 | Disponibilizar ambiente e treinamento para Demoo? Atores: Administrador do Sistema |
x. | Módulo de agenda. O sistema deve permitir a gestão de serviço de agenda. |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
Fx.x | Permitir o gerenciamento de compromissos individuais e em grupo. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir que compromissos criados sejam administrados por seus participantes. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir visualização de disponibilidade de horário de outros atores. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Disponibilizar recurso de alerta de compromissos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Disponibilizar consulta a catálogos de endereços. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir a manutenção de feriados. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir o compartilhamento de agenda entre atores. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir a pesquisa de agendamentos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir que a utilização de categorias para eventos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir visualização de agendamentos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir impressão de compromissos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir a importação e exportação de compromissos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir a utilização de agenda em dispositivos diversos. (global) Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
x. | Módulo de Contatos O sistema disponibilizará a utilização de catálogos de endereços. |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
Fx.x | Permitir gerenciamento de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir gerenciamento de grupos de contatos pessoais. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir importação e exportação de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir armazenamento de histórico de alteração de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir impressão de lista de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Disponibilizar pesquisa de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir o compartilhamento de catálogos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
x. | Módulo de mensagens instantâneas O sistema permitirá a utilização de mensagens instantânea. |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
Fx.x | Permitir troca de mensagens instantâneas. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir troca de arquivos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir consulta a catálogos de endereços. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir a configuração de status do usuário. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir o gerenciamento de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir o gerenciamento de grupos de contatos. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
Fx.x | Permitir o armazenamento de histórico de conversas. Atores: Usuário, Administrador de Usuários e Administrador do Sistema |
x. | Outros Necessidades Adicionais. |
Benefício | Crítico |
Id Func. | Descrição das Funcionalidades/atores envolvidos |
Fx.x | |
Fx.x | |
Fx.x | |
Fx.x | |
Fx.x | |
Fx.x | |
Fx.x | |