Projeto Final
Introdução
Após um longo semestre, a equipe 6 conclui seu projeto de forma satisfatória. Esse artefato sumariza todo o trabalho empenhado pelo grupo, na forma de textos e tabelas. As datas, artefatos e conteúdos foram baseados no que foi planejado pelo Professor André, e estão disponíveis no plano de ensino [22] da disciplina.
Apresentação da Entrega final
No vídeo 1, a apresentação desse artefato, que corresponde a entrega final da disciplina.
Vídeo 1: Apresentação Final. (Fonte: Grupo 6. 2023).
Aplicativo Escolhido
O Skoob é uma rede social voltada para leitores no Brasil, que permite que o usuário organize os livros, classificando-os como "para ler", "em leitura", "lidos", "relendo" e "abandonados", de tal forma a criar uma estante virtual personalizada. O usuário também tem a possibilidade de estabelecer metas de leitura, registrar seu histórico de leitura, escrever resenhas detalhadas e atribuir avaliações aos livros, entre outras funcionalidades. Atualmente, o Skoob conta com mais de 8 milhões de usuários cadastrados, sendo disponibilizado gratuitamente para IOS e Android, além de ser acessível através do site.
Planejamento de recursos (Cronogramas)
No início do projeto, o grupo realizou reuniões para desenvolver um cronograma abrangente para a disciplina, estabelecendo datas para a conclusão de cada artefato em todas as entregas. Esta seção tem como objetivo apresentar a versão final do cronograma da disciplina, proporcionando uma visão detalhada das atividades realizadas e seus responsáveis.
A Tabela 1 abaixo sintetiza os cronogramas planejado e executado para os artefatos, oferecendo uma visão panorâmica do planejamento de recursos (Cronogramas) do projeto Skoob na disciplina de Requisitos de Software.
Tabela 1: Cronograma Final. (Fonte: Ana Rocha, 2023).
Execução do projeto
Percorrendo o projeto, a equipe esteve imersa em diversas fases para a conclusão do estudo de requisitos. Ao iniciar pelo planejamento, que teve início no dia 06/09, data descrita na Ata de Reunião 00, e perdurou até a entrega do dia 20/09. Nela, o grupo 6 dispôs os cronogramas apresentados no tópico do passado. Também escolhemos o nosso aplicativo de estudo, dentre as várias opções que os membros trouxeram. Outras coisas que desenvolvemos nessa etapa foi a definição da metodologia que a equipe escolheu para tocar o projeto e a lista de ferramentas que pretendíamos utilizar.
A segunda etapa: do desenvolvimento do projeto, se estendeu do final do planejamento até sua entrega no dia 04/10. Nela, desenvolvemos o principal foco do estudo do projeto: os requisitos. Utilizamos 3 técnicas de elicitação e 3 técnicas de priorização de requisitos, todos os outros artefatos criados depois foram baseados neles e nessa etapa.
A fase de Modelagem, por ser mais longa, foi dividida em 2 entregas. Na primeira, utilizamos os requisitos elicitados para modelar técnicas para melhorar a visualização do aplicativo e suas funcionalidades. Aqui foram desenvolvidos os artefatos de Cenários, Léxicos, Use Case e Especificação Suplementar. Na sub-etapa de modelagem Ágil, referente a entrega 4, surgiram os artefatos História de Usuário, Backlog e NFR Framework. Todas essas 2 entregas perduraram do dia 09/10 até 06/11.
Na próxima etapa, denominada de Verificação e Validação, os integrantes da equipe 6 ficaram responsáveis por revisar todos os artefatos desenvolvidos até então pela nossa própria equipe, bem como os da equipe 7. Para isso, foi utilizado um método de Inspeção de Fagan. Porém, essa fase foi separada pela próxima fase, de pós-rastreabilidade, referente a entrega 6. Antes dessa entrega num período que durou entre os dias 07/11 até o dia 13/11, o grupo desenvolveu 20 artefatos, que verificavam todo o conteúdo das 4 primeiras entregas do grupo 7. Após ela, retomamos a fase de V&V durante o período entre 20/11 até 04/12 e desenvolvemos 24 artefatos que verificavam as entregas de 1 a 4, bem como a entrega 6, entregues pelo nosso grupo. Além disso, também desenvolvemos o protótipo que adicionava alguns de nossos requisitos elicitados ao aplicativo Skoob e fizemos sua validação com um usuário.
A última fase do projeto, da Pós-Rastreabilidade como posto no parágrafo anterior, perdurou entre 13/11 até 20/11. Nela, desenvolvemos os artefatos que linkavam os requisitos com suas fontes e com outros artefatos desenvolvidos com base neles. Essa etapa nos rendeu 3 artefatos, são eles: Backwars-From, Forward-From e a Matriz de Rastreabilidade.
Após isso, o grupo se atentou as sugestões elaboradas na fase de elaboração entre o período 20/11 até 04/12 e se pôs a corrigir os erros existentes nos artefatos. Então, esse artefato foi desenvolvido para sumarizar todo o projeto e dar fim ao estudo da disciplina de Requisitos de Software.
Os resultados alcançados
O propósito fundamental do projeto foi proporcionar uma ampliação do nosso conhecimento em requisitos de software. Todo o percurso de aprendizado foi desafiador, porém, ao final, revelou-se gratificante, pois nos tornamos mais bem preparados para nos tornar engenheiros de software.
Inicialmente, passamos por uma fase crucial de planejamento, na qual tomamos decisões fundamentais, como a escolha do aplicativo que seria objeto do nosso trabalho, a definição das ferramentas a serem empregadas, a elaboração de um cronograma detalhado para garantir a fluidez do projeto, e, por último, concentrar nossos esforços no desenvolvimento do projeto.
Ao longo do semestre, fomos desafiados a aplicar na prática os conhecimentos adquiridos em sala de aula, abordando aspectos como elicitação, priorização de requisitos e modelagem. Cada uma dessas etapas resultou na produção de diversos artefatos, proporcionando não apenas a assimilação dos conceitos, mas também um aprendizado significativo sobre como documentar.
Na etapa final, foi imperativo conduzir uma verificação e validação abrangentes de todo o trabalho realizado. Retrocedemos em cada fase, meticulosamente analisando nossos documentos, e avaliando se estavam alinhados com os princípios que nos foram ensinados. Como um acréscimo valioso, desenvolvemos um protótipo, incorporando melhorias sugeridas pelo grupo para o aplicativo.
No decorrer do projeto, nosso grupo gerou um total de 77 artefatos, distribuídos da seguinte forma:
- 9 atas de reunião
- 8 artefatos relacionados à elicitação, sendo 3 de - elicitação pura, 3 de priorização, 1 perfil do usuário e 1 abrangendo todos os requisitos
- 1 artefato que consolidava todas as entregas
- 1 artefato resultante da entrega final
- 7 artefatos gerados durante o processo de modelagem
- 5 artefatos elaborados no âmbito do planejamento
- 2 artefatos dedicados ao aplicativo, sendo 1 voltado ao Skoob e outro abordando os aplicativos analisados
- 24 arquivos relativos à verificação do nosso grupo
- 20 arquivos referentes à verificação do grupo 7
- 2 arquivos de validação
- 3 arquivos relativos à pós-rastreabilidade
Esse conjunto abrangente de artefatos representa o esforço coletivo do grupo ao longo do projeto.
Rewind do Projeto
Artefatos criados e técnicas utilizadas
A tabela 2 mostra a relação das técnicas que foram utilizadas em cada artefato com o(s) nome(s) do(s) participantes(s) do grupo que usou/usaram cada uma das técnicas:
Tabela 2 - Artefatos e Técnicas. (Shaíne Oliveira, 2023).
Métodos de verificação e validação dos artefatos
A tabela 3 mostra os responsáveis pela aplicação das 3 téncicas de verificação, descrita no artefato de revisões, em cada artefato do projeto. Vale lembrar que os responsáveis pelas inspeções de Fagan também foram os responsáveis pela criação da própria checklist que utilizaram para efetuar a técnica.
Tabela 3: Artefatos e reponsáveis por cada técnica de sua verificação. (Fonte: Yago Passos, 2023).
Com as novas tabelas de revisão, podemos obter os resultados do projeto referente a verificação dos artefatos: No todo, foram desenvolvidas 97 versões de artefatos durante as etapas 1, 2, 3, 4 e 6. Além disso, foram feitas um total de 80 revisões nessas etapas. (Vale lembrar que a etapa 5 não está sendo contada aqui, pois ela é uma das etapas que geraram boa parte dessas revisões). A tabela 4 demonstra a relação das datas de revisões com suas datas previstas:
Critério | Porcentagem |
---|---|
Total de versões revisadas | 89,6% (87 de 97) |
Revisões em dia | 43,6% |
Revisões Adiantadas | 8,04% |
Revisões Atrasadas | 48,2% |
Revisões estáticas | 57,5% |
Revisões por elaboração em pares | 12,5% |
Revisões por Inspeção de Fagan | 30% |
Tabela 4: Relação das versões e técnicas de revisão. (Fonte: Yago Passos, 2023).
Abaixo, a tabela 5 mostra quais técnicas de validação o grupo utilizou no projeto, e em quais artefatos elas se encontram.
Artefato | Técnica | Responsável(eis) | Revisor(es) |
---|---|---|---|
Brainstorming | Entrevista com usuário | Ana Rocha e Yago Passos | Rafael Amancio |
First Thing First | Entrevista com usuário | Ana Rocha | Jefferson França e Shaíne |
Moscow | Entrevista com usuário | Yago Passos | Shaíne |
Three-level Scale | Entrevista com usuário | Jefferson França e Shaíne | Ana Rocha |
Histórias de Usuários | Entrevista com usuário | Yago Passos | Rafael Amancio |
Prototipagem | Entrevista com usuário | Yago Passos | Ana Rocha |
Tabela 5: Técnicas de Validação utilizadas. (Fonte: Yago Passos, 2023).
Ferramentas
A tabela 6 mostra a relação das ferramentas e onde elas foram utilizadas em cada etapa do projeto.
Logo | Nome da Ferramenta | Descrição | Finalidade | Etapa |
---|---|---|---|---|
Figma [1] | O Figma é um editor gráfico vetorial e ferramenta de prototipagem para projetos de design. [10] | Usado para elaborar o protótipo. | 5.2: V&V (Validação) | |
GitHub [2] | O GitHub é uma plataforma de hospedagem de código-fonte e arquivos que utiliza controle de versão com o Git. [11] | Usado para manter e gerenciar o repositório do projeto, bem como hospedar a GitPage. | Todas as etapas | |
LucidChart [3] | O Lucidchart é uma aplicação web para diagramação. [12] | Usado para criar os Rich Pictures dos aplicativos analisados e o escolhido para estudo, os SIG's do NFR Framework e o diagrama de Casos de Uso. | 1: Planejamento (Pré-rastreabilidade) 4: Modelagem | |
MkDocs [4] | MkDocs é um gerador de sites estáticos, rápido e simples, voltado para a construção de documentação de projetos. [4] | Usado para criar e realizar os deploys de atualizações da GitPage. | Todas as etapas | |
Teams [5] | Microsoft Teams é uma plataforma integrada para comunicação e colaboração, como bate-papo e videoconferências. [13] | Usado para realizar e registrar as reuniões do grupo. | Todas as etapas | |
Trello [6] | O Trello é uma aplicação de gestão de projetos online. [14] | Usado para a organização pessoal da equipe em relação às tarefas e demandas ao longo do projeto. | Todas as etapas | |
VSCode [7] | O Visual Studio Code é um editor de código-fonte. [15] | Programa usado para desenvolver e administrar as modificações na GitPage do projeto. | Todas as etapas | |
WhatsApp [8] | O WhatsApp é um aplicativo de mensagens instantâneas e chamadas de voz para smartphones. [16] | Usado para facilitar a comunicação constante entre os integrantes do grupo. | Todas as etapas | |
YouTube [9] | O YouTube é uma plataforma de compartilhamento de vídeos. [7] | Usado para hospedar as gravações do projeto. | Todas as etapas | |
Google Sheets [18] | O Google Sheets é um editor de planilhas. [19] | Usado para criar a tabela utilizada na técnica de priorização de requisitos First Things First. | 2: Elicitação (Priorização) | |
Google Forms [20] | Google Forms é um aplicativo de gerenciamento de pesquisas,para coletar informações sobre outras pessoas. [21] | Utilizado para criar e acompanhar a coleta de dados do questionário para a elaboração do ṕerfil de usuários. | 2: Elicitação |
Tabela 6: Descrição das ferramentas do projeto. (Fonte: Ana Rocha, 2023).
Vídeos das apresentações de cada etapa
A tabela 7 apresenta a relação dos vídeos correspondentes a cada etapa das apresentações, destacando também os nomes dos participantes do grupo envolvidos nas gravações.
Ponto de Controle | Membros | Gravação |
---|---|---|
1 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
2 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
3 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
4 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
5.1 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
5.2 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
6 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. | |
7 | Ana Caroline, Jefferson França, Rafael Fernandes, Shaíne Oliveira, Yago Passos. |
Tabela 7: Relações de apresentações (Fonte: Jefferson França, 2023).
Facilidades e Dificuldades
Ana Rocha
Durante a disciplina de Requisitos de Software, encontrei diferentes facilidades e desafios. Entre as facilidades, posso destacar:
- Colaboração eficiente entre os membros do grupo.
- Boa adaptação ao uso das ferramentas de documentação, utilizada na Git Pages.
Já em relação às dificuldades, enfrentei alguns obstáculos, tais como:
- Conciliar as demandas da disciplina com outras responsabilidades.
- Coordenação de tarefas das últimas etapas, para garantir o cumprimento dos prazos.
Jefferson França
A disciplina foi bastante proveitosa, proporcionando um significativo aprendizado e um notável progresso em minha jornada rumo à carreira de engenheiro de software. Como em qualquer coisa na vida, enfrentei alguns desafios, mas também encontrei aspectos positivos que me deixaram satisfeito, tais como:
- Uma equipe entusiasmada e dedicada.
- Conteúdo envolvente e divertido.
- Um esforço coletivo notável por parte de todos os membros do grupo.
Quanto às dificuldades, destaco:
- O número reduzido de integrantes, o que se mostrou desafiador para um projeto extenso e exigente.
- A dificuldade em conciliar as demandas do trabalho com as responsabilidades acadêmicas, uma tarefa que, sem dúvida, não é fácil.
- A corrida diária para cumprir prazos e entregar todas as tarefas exigiu um esforço adicional.
Shaíne Oliveira
Os semestres sempre tem sido um grande desafio, em relação a esse e em específico a matéria de Requisitos de Software, as facilidades que apresentei durante o disciplina/projeto foram:
- Versionamento dos artefatos e manutenabilidade do GitPages
- Organização individual e coletiva
- Fácil comunicação entre os integrantes do grupo
- Grupo dedicado e ágil
Em relação as dificuldades:
- Gerência de tempo
- Comunicação com cliente
- Muitas entregas (artefatos)
Rafael Amancio
Facilidades:
- Conhecimento prévio sobre a disciplina
- Já realizei outro projeto como esse
- O grupo é produtivo e divertido, tornando o semestre mais leve
Dificuldades:
- Me matriculei em muitas disciplinas, pretendo não repetir essa carga nos próximos semestres
- Gestão de tempo
- Muitas entregas em curtos intervalos
Yago Passos
A disciplina demanda muito esforço e energia dos alunos para desenvolver um bom projeto, as facilidades que tive:
- Padronização parecida com disciplina de IHC
- Grupo se identificou, construímos uma amizade e isso ajudou no projeto
- Grupo dedicado e ágil
As dificuldades:
- Entregar as atividades de lista de exercícios enquanto foca no projeto.
- Comunicação com usuários e com a empresa do aplicativo Skoob
- Muitas demanda dos estudantes (muitas minuciosidades para levar em conta, além dos diversos artefatos)
Conclusão
Em conclusão, o projeto da equipe 6 na disciplina de Requisitos de Software foi uma jornada de aprendizado prático e colaborativo. Enfrentamos desafios, mas a dedicação e adaptação às ferramentas resultaram em um trabalho satisfatório. As técnicas e ferramentas utilizadas proporcionaram uma experiência valiosa na análise e aprimoramento do aplicativo Skoob.
Bibliografia
[1] FIGMA. Disponível em: Figma. Acesso em: 18 de Setembro de 2023.
[2] GITHUB. Disponível em: GitHub. Acesso em: 15 de Setembro de 2023.
[3] LUCIDCHART. Disponível em: LucidChart. Acesso em: 26 de Setembro de 2023.
[4] MKDOCS. Disponível em: MkDocs. Acesso em: 18 de Setembro de 2023.
[5] TEAMS. Disponível em: Teams. Acesso em: 15 de Setembro de 2023.
[6] TRELLO. Disponível em: Trello. Acesso em: 26 de Setembro de 2023.
[7] VSCODE. Disponível em: VSCode. Acesso em: 15 de Setembro de 2023.
[8] WHATSAPP. Disponível em: WhatsApp. Acesso em: 15 de Setembro de 2023.
[9] YOUTUBE. Disponível em: YouTube. Acesso em: 15 de Setembro de 2023.
[10] FIGMA. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[11] GITHUB. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[12] LUCIDCHART. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[13] TEAMS. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[14] TRELLO. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[15] VSCODE. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[16] WHATSAPP. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[17] YOUTUBE. Disponível em: Wikipédia. Acesso em: 03 de Dezembro de 2023.
[18] GOOGLE SHEETS. Disponível em: Google Sheets. Acesso em: 05 de Dezembro de 2023.
[19] GOOGLE SHEETS. Disponível em: Wikipédia. Acesso em: 05 de Dezembro de 2023.
[20] GOOGLE FORMS. Disponível em: Google Forms. Acesso em: 05 de Dezembro de 2023.
[21] GOOGLE FORMS. Disponível em: Wikipédia. Acesso em: 05 de Dezembro de 2023.
[22] Plano de Ensino da Disciplina. Diponível em: Aprender3. Acesso em 04 de Dezembro de 2023.
Histórico de Versão
Versão | Data de execução | Data prevista de revisão | Descrição | Autor(es) | Revisado |
---|---|---|---|---|---|
1.0 |
05/12/2023 | 06/12/2023 | Criação do Artefato | Yago Passos | |
1.1 |
05/12/2023 | 06/12/2023 | Seção de Etapas | Yago Passos | |
1.2 |
05/12/2023 | 06/12/2023 | Adiciona tabela de artefatos e técnicas | Shaíne Oliveira | |
1.3 |
05/12/2023 | 06/12/2023 | Seção de Ferramentas | Ana Caroline | |
1.4 |
06/12/2023 | 06/12/2023 | Seção de Recursos | Ana Caroline | |
1.5 |
06/12/2023 | 06/12/2023 | Seção de Métodos de V&V | Yago Passos | |
1.6 |
06/12/2023 | 06/12/2023 | Seção de Facilidades e Dificuldades | Shaíne Oliveira | |
1.7 |
06/12/2023 | 06/12/2023 | Seção de Resultados alcançados e Tabela com os vídeos das apresentações | Jefferson França | |
1.7.1 |
06/12/2023 | 06/12/2023 | Correções Finais | Yago Passos | |
1.7.2 |
06/12/2023 | 06/12/2023 | Adicionando link para artefatos na seção de Recursos | Ana Caroline | |
1.8 |
07/12/2023 | 07/12/2023 | Concluindo resultados de revisões | Yago Passos |
Revisão
Data de Revisão | Cobertura de Versões | Técnica | Revisor(es) |
---|---|---|---|
05/12/2023 | 1.0 e 1.1 |
Revisão estática | Shaíne Oliveira |
05/12/2023 | 1.2 |
Revisão estática | Ana Caroline |
06/12/2023 | 1.3 e 1.4 |
Revisão estática | Yago Passos |
05/12/2023 | 1.5 |
Revisão estática | Shaíne Oliveira |
06/12/2023 | 1.6 , 1.7 e 1.7.1 |
Revisão estática | Ana Caroline |