= Documento de Visão do Projeto 1 = [[PageOutline(1-3, Conteúdo)]] == 1. Objetivo == O Projeto inicial tem como objetivo permitir que o usuário acesse o sistema para realizar as atividades de envio, recebimento e armazenamento de e-mails. Para isso, serão disponibilizadas as funcionalidades de administração de sistema e usuários necessários para o funcionamento do módulo de e-mail. == 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. == 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.[[BR]]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.[[BR]]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.[[BR]]Definir o escopo das entregas.[[BR]]Estabelecer as funcionalidades requeridas e restrições operacionais.[[BR]]Identificar juntamente com o analista os requisitos do sistema, funcionais e não-funcionais.[[BR]]Homologação das implementações[[BR]] ||'''Insumos ao projeto de software'''||Necessidades dos usuários (incluindo os externos).[[BR]]Solicitação de Alteração de Requisitos.[[BR]]Requisitos Funcionais.[[BR]]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. [[BR]]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.[[BR]]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.[[BR]] Representar o projeto perante o cliente. Negociar compromissos e manter informados os demais envolvidos no projeto. [[BR]]Formalizar os termos, responsabilidades, acordos de nível de serviço (ANS), e garantias de uso junto a clientes e grupos envolvidos.[[BR]] 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.[[BR]]Quadro de Tarefas.[[BR]]Gráfico Burndown.[[BR]]Plano do Projeto.[[BR]]Acordos de nível de serviço.[[BR]]Termos, responsabilidades e garantias de projeto.[[BR]]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.[[BR]] Levantar os requisitos funcionais e não-funcionais do sistema.[[BR]] Definir quem e o que irá interagir com o sistema.[[BR]] Gerenciar o escopo e a mudança dos requisitos.|| ||'''Insumos ao projeto de software'''||Documento de Visão do Sistema[[BR]]Documento de Visão do Projeto[[BR]]Modelo de Requisitos[[BR]]Glossário|| ||'''Representante'''|| || ==== 3.2.7. Desenvolvedores ==== ||'''Descrição'''||Desenvolvimento da aplicação|| ||'''Papel no desenvolvimento'''||Codificação dos programas.[[BR]]Auxílio do levantamento de requisitos e definição de arquitetura[[BR]] 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.[[BR]]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. [[BR]]''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. [[BR]]''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.[[BR]] '''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.[[BR]] '''Útil''' - O requisito é útil, porém não essencial à satisfação do cliente.[[BR]] === 4.1. Módulo de Autenticação === ||'''1.'''||'''Autenticação'''[[BR]] 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.'''[[BR]][wiki:NovoExpresso/ecu-autenticacao C1 - Permitir autenticação utilizando usuário e senha.] [[BR]]'''Atores: Usuário, Administrador de Usuários e Administrador do Sistema'''|| ||F1.2||'''Permitir escolha do idioma.'''[[BR]][wiki:NovoExpresso/ecu-EscolheIdioma C2 - Permitir escolha do idioma em que o sistema trabalhará.] [[BR]]'''Atores: Usuário, Administrador de Usuários e Administrador do Sistema'''|| [[BR]] === 4.2. Módulo de Administração do sistema === ||'''2.'''||'''Módulo de Administração do sistema '''[[BR]]O sistema permitirá a administração dos módulos. || ||'''Benefício'''||Crítico|| ||'''Id Func.'''||'''Descrição das Funcionalidades/atores envolvidos'''|| ||F2.1||'''Permitir o gerenciamento dos módulos do sistema.'''[[BR]]Atores: Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-adm-config-mod C1 - Gerenciar MÓDULOS do sistema]|| ||F2.2||'''Permitir a configuração do serviço de autenticação de usuários'''[[BR]]Atores: Administrador doSistema[[BR]][wiki:NovoExpresso/ecu-adm-config-dir C1 - Configurar serviço de AUTENTICAÇÃO de usuários]|| ||F2.3||'''Permitir a configuração do serviço de armazenamento de dados '''[[BR]]Atores: Administrador do Sistema[[BR]] [wiki:NovoExpresso/ecu-adm-config-bd C1 - Configurar ARMAZENAMENTO DE DADOS]|| ||F2.5||'''Permitir a configuração da localização das contas de usuários'''[[BR]]Atores: Administrador do Sistema[[BR]] [wiki:NovoExpresso/ecu-adm-config-usu C1 - Configurar CADASTRO de usuários]|| ||F2.6||'''Permitir a configuração do serviço de armazenamento de mensagens'''[[BR]]Atores: Administrador do Sistema[[BR]] [wiki:NovoExpresso/ecu-adm-config-imap C1 - Configurar ARMAZENAMENTO de mensagens]|| ||F2.7||'''Permitir a configuração do serviço de entrega de mensagens'''[[BR]]Atores: Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-adm-config-smtp C1 - Configurar Serviço de ENTREGAS de Mensagens]|| [[BR]] === 4.3. Módulo de Administração de usuários === ||'''3.'''||'''Módulo de Administração de usuários '''[[BR]]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'''[[BR]]Atores: Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-adm-usuarios-criar C1 - Criar CONTA de usuário][[BR]][wiki:NovoExpresso/ecu-adm-usuarios-modificar C2 - Modificar CONTA de usuário][[BR]][wiki:NovoExpresso/ecu-adm-usuarios-excluir C3 - Remover CONTAS de usuário]|| ||F3.3 ||'''Permitir delegação de privilégios a grupos ou usuários'''[[BR]]Atores: Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-adm-usuarios-grupos C1 - Atribuir GRUPO a CONTA de usuário][[BR]][wiki:NovoExpresso/ecu-adm-role-atribuir C2 - Atribuir PAPEIS a CONTAS de usuários][[BR]][wiki:NovoExpresso/ecu-adm-grupo-usuarios C3 - Atribuir CONTAS de usuários a GRUPO]|| ||F3.7 ||'''Permitir gerenciamento de Grupos de Usuários'''[[BR]]Atores: Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-adm-grupo-criar C1 - Criar GRUPO do sistema][[BR]][wiki:NovoExpresso/ecu-adm-grupo-modificar C2 - Modificar GRUPO do sistema][[BR]][wiki:NovoExpresso/ecu-adm-grupo-deletar C3 - Remover GRUPO do sistema]|| ||F3.11||'''Permitir gerenciamento de PAPEIS'''[[BR]]Atores: Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-adm-role-criar C1 - Criar PAPEL do sistema][[BR]][wiki:NovoExpresso/ecu-adm-role-modificar C2 - Modificar PAPEL do sistema][[BR]][wiki:NovoExpresso/ecu-adm-role-exclusao C3 - Excluir PAPEL do sistema] [[BR]] === 4.4. Módulo de mensagens de e-mail === ||'''4.'''||'''Módulo de mensagens de e-mail'''[[BR]]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''' [[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-excluir-email C1 - Excluir MENSAGENS]|| ||F4.2 ||'''Permitir a criação de mensagens'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]] [wiki:NovoExpresso/ecu-criar-email C1 - Criar MENSAGENS]|| ||F4.3 ||'''Permitir a edição de mensagens'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-editar-email C1 - Editar MENSAGENS]|| ||F4.4 ||'''Permitir salvamento de mensagens em edição''' [[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-salvar-email C1 - Salvar MENSAGENS em edição]|| ||F4.5 ||'''Permitir envio de mensagens de e-mail'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-enviar-email C1 - Enviar MENSAGENS de e-mail]|| ||F4.6 ||'''Permitir visualização de listas de mensagens de e-mail'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-visualizar-lista-email C1 - Visualizar LISTA de MENSAGENS de e-mail]|| ||F4.7 ||'''Permitir que as mensagens sejam respondidas'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-responder-email C1 - Responder MENSAGENS]|| ||F4.8 ||'''Permitir que as mensagens sejam encaminhadas'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-encaminhar-email C1 - Encaminhar MENSAGENS]|| ||F4.9 ||'''Permitir visualização de mensagens'''[[BR]]Atores: Usuário, Administrador de Usuários e Administrador do Sistema[[BR]][wiki:NovoExpresso/ecu-visualizar-email C1 - Visualizar MENSAGENS]|| [[BR]] === 4.5. Tradução === ||'''5.'''||'''Necessidade RNF Tradução PT-BR'''[[BR]] O sistema deve possuir suporte para idioma PT-BR para o módulo Email, Administração de Usuários e Autenticação|| ||'''Benefício'''||Crítico|| ||'''Id Func.'''||'''Descrição das Funcionalidades/atores envolvidos'''|| ||F5.1||'''Suportar Idioma Pt-Br nos módulos.'''[[BR]]Atores: Desenvolvedores[[BR]][wiki:NovoExpresso/ecu-pt-br-traduzir C1 - Permitir iteração no módulo Email, Administração de Usuários e Autenticação no idioma PT-BR.]|| [[BR]] === 4.6. Suporte PostgreSQL === ||'''6.'''||'''Necessidade RNF Suportar a Banco de Dados PostgreSQL'''[[BR]] O sistema deve possuir suporte ao banco de Dados PostgreSQL|| ||'''Benefício'''||Crítico|| ||'''Id Func.'''||'''Descrição das Funcionalidades/atores envolvidos'''|| ||F6.1||[wiki:NovoExpresso/doc-postgresql Permitir utilização do SGBD PostgreSQL][[BR]]'''Atores:Desenvolvedores'''|| [[BR]] === 4.7. Disponibilização de Ambientes === ||'''7.'''||'''Disponibilização de Ambientes'''[[BR]] Disponibilizar Ambientes para suporte ao Desenvolvimento|| ||'''Benefício'''||Crítico|| ||'''Id Func.'''||'''Descrição das Funcionalidades/atores envolvidos'''|| ||F7.1||[wiki:NovoExpresso/conf-doc1 Disponibilizar repositório de código] [[BR]]'''Atores: Administrador do Sistema'''|| ||F7.2||[wiki:NovoExpresso/conf-doc2 Disponibilizar repositório de documentação] [[BR]]'''Atores: Administrador do Sistema'''|| ||F7.3||[wiki:NovoExpresso/conf-doc3 Disponibilizar ferramenta de cadastramento demandas] [[BR]]'''Atores: Administrador do Sistema'''|| ||F7.4||[wiki:NovoExpresso/conf-doc4 Disponibilizar ferramenta de gestão ágil ICESCRUM] [[BR]]'''Atores: Administrador do Sistema'''|| ||F7.5||[wiki:NovoExpresso/conf-doc5 Implementar políticas de backup] [[BR]]'''Atores: Administrador do Sistema'''|| ||F7.6||[wiki:NovoExpresso/conf-doc6 Disponibilizar ambiente e treinamento para testes e integração] [[BR]]'''Atores: Administrador do Sistema'''|| ||F7.7||[wiki:NovoExpresso/conf-doc7 Disponibilizar ambiente e treinamento para Demoo] [[BR]]'''Atores: Administrador do Sistema'''||