Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

UNIVERSIDADE PAULISTA
DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO
ISAAC KRALIK PASSOS RIBEIRO
JOÃO AUGUSTO CARDOSO DOS REIS DA SILVA
LUAN LIMA LOPES
Exercício de Planejamento
Engenharia de Software
SÃO PAULO
2025
UNIVERSIDADE PAULISTA
DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO
ISAAC KRALIK PASSOS RIBEIRO
JOÃO AUGUSTO CARDOSO DOS REIS DA SILVA
LUAN LIMA LOPES
Exercício de Planejamento
Engenharia de Software
Documento de Planejamento submetido à Universidade Paulista, como requisito para a avaliação na disciplina de Engenharia de Software, integrando o desenvolvimento acadêmico no Curso de Bacharelado em Ciência da Computação.
Prof. Me. André Gomes de Lira Muniz
SÃO PAULO
2025
Objetivo:
Este exercício tem como objetivo aprofundar o planejamento do projeto de software SCALE para cálculo de emergia, refinando os requisitos, a arquitetura e o design, preparando o terreno para as próximas etapas de desenvolvimento.
1. Descrição:
1.1. Revisão do Planejamento:
a. Analise o documento de planejamento elaborado até o momento em sala de aula;
b. Analise os comentários e feedbacks recebidos, e identifique os pontos que precisam de mais detalhe ou ajustes.
2. Refinamento da Análise de Requisitos:
2.1. Requisitos Funcionais:
a. Detalhe cada funcionalidade do software, especificando as entradas, o processamento e as saídas;
b. Crie diagramas de caso de uso para ilustrar a interação do usuário com o software;
c. Priorize as funcionalidades, definindo quais são essenciais, quais são desejáveis e quais são opcionais.
2.2. Requisitos Não Funcionais:
a. Defina métricas e critérios para cada requisito não funcional (ex: desempenho, segurança, usabilidade);
b. Considere os requisitos de acessibilidade para garantir que o software possa ser utilizado por pessoas com deficiência.
3. Aprofundamento da Arquitetura do Software:
3.1. Diagrama de Componentes:
a. Crie um diagrama de componentes que mostre os principais módulos do software e suas interações;
b. Defina as interfaces entre os componentes e os protocolos de comunicação.
3.2. Tecnologias e Ferramentas:
a. Justifique a escolha das tecnologias e ferramentas de desenvolvimento (ex: linguagem de programação, banco de dados, frameworks);
b. Liste as bibliotecas e APIs externas que serão utilizadas, incluindo o SCALE.
2
4. Detalhando o Design da Interface:
4.1. Wireframes e Mockups:
a. Crie wireframes detalhados ou mockups interativos para cada tela do software;
b. Defina a organização dos elementos na tela, a navegação entre as telas e os elementos de interação com o usuário.
4.2. Design de Interação:
a. Descreva o fluxo de interação do usuário com o software para realizar cada tarefa;
b. Considere a experiência do usuário (UX) ao definir o design da interface.
5. Plano de Testes:
5.1. Tipos de Testes:
a. Defina os tipos de testes que serão realizados (ex: testes unitários, testes de integração, testes de aceitação);
b. Especifique os cenários de teste e os critérios de aprovação para cada tipo de teste.
6. Ambiente de Testes:
a. Descreva o ambiente de testes que será utilizado, incluindo hardware, software e dados de teste.
7. Cronograma Detalhado:
7.1. Etapas e Tarefas:
a. Divida o projeto em etapas e tarefas menores, com prazos específicos para cada uma;
b. Utilize um diagrama de Gantt ou outra ferramenta de gerenciamento de projetos para visualizar o cronograma.
8. Recursos Necessários:
8.1. Equipe:
a. Defina as funções e responsabilidades de cada membro da equipe de desenvolvimento;
b. Estime o tempo necessário para cada tarefa e o custo total do projeto.
9. Infraestrutura:
a. Liste os recursos de hardware e software necessários para o desenvolvimento e testes do software.
10. Entrega:
a. Documento de planejamento detalhado em formato PDF.
11. Critérios de Avaliação:
a. Nível de detalhe e clareza do planejamento;
b. Adequação das soluções propostas aos requisitos do projeto;
c. Coerência e viabilidade do cronograma e dos recursos;
d. Qualidade do design da interface e da arquitetura software.
Observações:
· Este exercício é individual;
· Utilize linguagem clara e objetiva;
· A entrega deve ser realizada até a data especificada.
Recursos adicionais:
SCALE: Software for CALculating Emergy based on life cycle inventories (anexo).
Planejamento do Projeto SCALE: Software para Cálculo de Emergia Baseado em Inventários do Ciclo de Vida
1. Revisão do Planejamento
1.1 Análise do Documento de Planejamento
O projeto SCALE foi concebido como uma ferramenta computacional para o cálculo de emergia com base em inventários do ciclo de vida (LCI). A proposta central do software é garantir uma avaliação rígida e replicável, permitindo a aplicação das regras da álgebra de emergia em grandes redes de processos.
1.2 Comentários e Feedbacks
A análise indicou a necessidade de:
· Maior detalhamento dos requisitos funcionais.
· Melhoria na visualização dos dados de emergia.
· Maior integração com bases de dados padrões.
2. Refinamento da Análise de Requisitos
2.1 Requisitos Funcionais
· Entrada: Dados de LCI em formato matricial com a quantidade de recurso natural utilizado
· Processamento: Cálculo da emergia utilizando busca em grafos e regras algébricas.
· Saída: Valores de emergia por categoria de recurso.
Diagrama de Caso de Uso: [Inserir Diagrama]
Priorização:
· Essenciais: Importação de LCI, cálculo de emergia.
· Desejáveis: Visualização interativa de resultados, geração dos resultados de diversas formas (excel, pdf, csv).
· Opcionais: Geração de relatórios automatizados, funcionamento via web.
2.2 Requisitos Não Funcionais
· Desempenho: Tempo de execução baixa para matrizes com grande quantidade de elementos.
· Segurança: Controle de acesso via autenticação.
· Usabilidade: Interface intuitiva, compatibilidade com diferentes resoluções de tela, acessibilidade para pessoas com deficiência. 
3. Aprofundamento da Arquitetura do Software
3.1 Diagrama de Componentes
3.2 Tecnologias e Ferramentas
· Linguagem: Python para desempenho otimizado.
· Banco de dados: SQLite para armazenamento local de cálculos.
· Frameworks: Pandas para tratamento de dados, tkinter para criação da interface gráfica, openpyxl para importação de dados.
4. Detalhamento do Design da Interface
4.1 Wireframes e Mockups
4.2 Design de Interação
· Usuário carrega arquivo LCI.
· Define parâmetros de análise.
· Executa cálculo e exporta resultados.
5. Plano de Testes
5.1 Tipos de Testes
· Testes Unitários: Validação de módulos individuais com funcionamento correto para cada um, testes unitários para os tipos e os dados importados.
· Testes de Integração: Conectividade entre componentes e testes simultâneos.
· Testes de Aceitação: Validação da interface com usuários, erros e tratamentos.
6. Ambiente de Testes
· Hardware: Processador i5+, 8GB RAM.
· Software: Windows/Linux, Visual Studio Code, Git.
· Dados de teste: Inventários LCI simulados.
7. Cronograma Detalhado
7.1 Etapas e Tarefas
· Semana 1-2: Obtenção e refinamento de requisitos, entendimento do projeto e debate sobre como será desenvolvido.
· Semana 3-7: Desenvolvimento do algoritmo, implementação dos cálculos, desenvolvimento e conexão com banco de dados, tratamento dos dados e testes da importação e tratamento de dados.
· Semana 8-10: Desenvolvimento e implementação da interface, testes da interface, testes do funcionamento do algoritmo como um todo e verificação com os requisitos propostos.
· Semana 11-12: Testes completos do programa, busca por erros e não adequação aos requisitos propostos e ajustes finais.
8. Recursos Necessários
8.1 Equipe
· 1 Desenvolvedor Python (desenvolvimento e testes);
· 1 Desenvolvedor de banco de dados;
· 1 Especialista em emergia (validação científica).
9. Infraestrutura
· Servidor remoto para hospedar o projeto completo;
· Licenças de software;
· Cyber-segurança e proteção de dados.
image2.png
image3.png
image4.png
image1.png

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina