Para a realização deste serviço a CONTRATADA deverá alocar profissionais com perfil de Arquiteto de Software pleno e Engenheiro de DevOps pleno;
O Serviço arquitetura de Sistemas consiste na elaboração e na manutenção da arquitetura de software dos sistemas, definição de componentes de software, suas propriedades externas e seus relacionamentos com outros softwares; elaboração e manutenção da especificação de projetos de interface gráfica dos sistemas; elaboração e manutenção dos padrões e das regras de desenvolvimento dos sistemas, especificação de soluções, a partir dos requisitos levantados para o desenvolvimento e a manutenção de sistemas, seguindo a metodologia de desenvolvimento ágil de sistemas (MDA) da SEFAZ/PE, com soluções multiplataforma integradas a ambientes Linux, Unix e Windows, envolvendo múltiplas camadas com processamento transacional (online e batch);
As atividades incluem também a seleção, desenvolvimento e manutenção de frameworks e ferramentas de apoio para o desenvolvimento de sistemas; execução de atividades de gerência de configuração de software; realização de auditorias no código dos sistemas; acompanhamento e avaliação do desempenho dos sistemas; apoio na elaboração de pareceres técnicos quanto à aplicação de novas tecnologias no desenvolvimento de sistemas; realização de outras tarefas, não especificadas acima, inerentes à função.
Serão objetos deste serviço os sistemas relacionados no item 3.1, bem como a integração com os sistemas que forem adquiridos ou desenvolvidos pela SEFAZ/PE durante a vigência deste contrato, respeitando-se as tecnologias, ferramentas e metodologias definidas neste edital.
O serviço deve estar disponível 8 horas por dia, 5 dias na semana, em horário comercial.
Atividades Básicas
Elaborar e manter atualizada, em todo o ciclo de desenvolvimento, a especificação da arquitetura de software dos sistemas utilizando UML ou outra notação definida no padrão de desenvolvi- mento adotado pela SEFAZ/PE;
Elaborar e manter a especificação de projetos de interface gráfica dos sistemas;
Elaborar e manter os padrões e as regras de desenvolvimento para os sistemas;
Selecionar, desenvolver e manter frameworks para o desenvolvimento dos sistemas;
Gerenciar bibliotecas de objetos e componentes;
Selecionar, desenvolver e manter ferramentas de apoio ao desenvolvimento;
Executar as atividades de gerência de configuração de software sob sua responsabilidade definidas no Plano de Gerenciamento de Configuração de Software da SEFAZ/PE;
Apoiar Scrum Master e Analistas nas decisões de caráter técnico;
Treinar e apoiar Analistas e Desenvolvedores/Engenheiros de Software na utilização da arquitetura de software, dos padrões e regras de desenvolvimento, das ferramentas de desenvolvimento e de apoio ao desenvolvimento, utilizado na SEFAZ/PE;
Realizar auditorias no código gerado pelos Desenvolvedores/Engenheiros de Software;
Acompanhar e avaliar o desempenho dos sistemas, garantindo o atendimento dos requisitos não funcionais;
Apoiar na elaboração de pareceres técnicos quanto à aplicação de novas tecnologias, frameworks e arquiteturas no desenvolvimento de sistemas e implantá-las nas equipes;
Realizar outras tarefas, não especificadas acima, inerentes à função.
Requisitos Básicos do Perfil
Curso superior completo, preferencialmente, na área de informática ou em área equivalente (tecnologia da informação);
Experiência mínima de 02(dois) anos em projetos de desenvolvimento de sistemas na função de Arquiteto de software;
Desejável Certificação em Java pela ORACLE;
Experiência na utilização de padrões de projeto de software e padrões de desenvolvimento;
Experiência na plataforma Java EE, particularmente, das tecnologias EJB, JTA e JMS;
Experiência em especificação de arquiteturas de software;
Experiência na linguagem SQL e em modelagem relacional de dados;
Experiência na utilização de ferramentas de gerência de mudanças e integração contínua (exemplos: GIT, Gitlab, Maven, SonarQube, Nexus);
Experiência na utilização de ferramentas de desenvolvimento Java (exemplos: VSCode, Eclipse);
Experiência na utilização de ferramentas de testes (exemplos: Mockito);
Experiência em desenvolvimento ágil de software; JUnit, Selenium, JMeter,
Experiência em desenvolvimento e implantação de sistemas transacionais de médio/grande porte, com processamento online e batch, baseados em browser, utilizando empregando as tecnologias EJB e WebService;
Conhecimento básico de sistemas operacionais Windows e Linux;
Noções de segurança de aplicações e certificados digitais; a plataforma JavaEE e
Noções de cloud computing e de desenvolvimento baseado em Docker/Containers/Kubernets;
Noções da plataforma Spring, Angular ou similares;
Desejável experiência em práticas de DevOps (CI/CD, IaaC, GitOps, monitoramento).