monografia: porting more methodologies sections (without refs)
Pedro Lucas Porcellis porcellis@eletrotupi.com · 4 months ago
3c4663c2d8ca263914cc1fcc6547f043c1aef311 Browse filesParents
b65e9d8Changed files
1
Additions
+83
Deletions
-1
monografia/chapters/methodologies.tex
1 1
\chapter{Metodologias}
2 2
3 3
% TODO: Rewrite this thing, Jesus
4 4
De forma a prosseguir e conseguir viabilizar construir um software com
5 5
qualidade, é necessário adotar algumas metodologias para fundamentar a ideia do
10 10
abordagem da metodologia de pesquisa do projeto quanto detalhar o método de
11 11
desenvolvimento de software utilizado no projeto.
12 12
13 13
\section{Metodologia de Desenvolvimento de Software}
14 14
15 -
\lipsum[1-2]
15 +
Existem diversos métodos de desenvolvimento, cada um com seus respectivos prós
16 +
e contras. Todos tentam, de sua forma, responder à necessidade de dar forma ao
17 +
processo de desenvolvimento, de forma que ele tente fluir e assegurar que os
18 +
requisitos daquele software sejam atendidos, que os membros envolvidos no
19 +
processo, tanto de desenvolvimento em si, quanto dos atores envolvidos e
20 +
interessados no sistema tenham seus anseios respondidos de forma minimamente
21 +
transparente e satisfatória.
22 +
23 +
Além disso, a escolha de uma boa metodologia, adequada para as necessidades do
24 +
sistema, permite que os prazos de entrega sejam melhor controlados e mais
25 +
precisos \cite{pressman:2021}, minimizando a ocorrência de falhas e gestão do
26 +
tempo.
27 +
28 +
As ideias fundamentais que norteiam esse projeto são baseadas em dois conceitos
29 +
chaves da engenharia de software: desenvolvimento incremental e desenvolvimento
30 +
de software ágil. O IEEE define que a engenharia de software é:
31 +
32 +
\begin{quote}
33 +
Engenharia de software: A aplicação de uma abordagem sistemática, disciplinada
34 +
e quantificável no desenvolvimento, na operação e na manutenção de software;
35 +
isto é, a aplicação de engenharia ao software. (INSTITUTE OF ELECTRICAL AND
36 +
ELECTRONICS ENGINEERS, 1990, p. 421, tradução do autor)
37 +
\end{quote}
38 +
39 +
Portanto, a engenharia de software propõe estruturar a criação de software de
40 +
forma mais organizada e eficiente. Pressman vai destacar os modelos de
41 +
desenvolvimento de software sequenciais e incrementais que moldam boa parte das
42 +
práticas de engenharia de software nas últimas décadas.
43 +
44 +
O modelo em cascata (waterfall) é um modelo sequencial, dos mais tradicionais e
45 +
antigos a existirem, cujo qual necessita que cada etapa – levantamento de
46 +
requisitos, projeto, implementação, testes – estejam concluídos antes da
47 +
próxima etapa começar. Embora forneça uma estrutura rígida e lógica, é
48 +
frequentemente criticado pela baixa adaptabilidade em relação às mudanças
49 +
durante o processo de desenvolvimento.
50 +
51 +
Em outro âmbito, o modelo incremental, trabalha com a premissa de um
52 +
desenvolvimento feito em pequenas partes, que se agrupam para totalizar o
53 +
projeto em si, trabalhando com a concepção de incrementos funcionais, cujo qual
54 +
permite maior flexibilidade com as mudanças no processo. Também ajuda a iterar
55 +
rapidamente em cima do desenvolvimento do sistema, criando um produto mínimo
56 +
viável que possa preencher a proposta usando o mínimo de tempo, reduzindo as
57 +
funcionalidades ao seu estado basal. Essa metodologia também ajuda a reduzir
58 +
custos e riscos, já que necessita que as funcionalidades estejam em seu estado
59 +
mais reduzido, porém funcionais.
60 +
61 +
Outros modelos tradicionais citados por Pressman incluem o modelo de
62 +
prototipação e o modelo em espiral, o primeiro trabalhando na ideia de
63 +
elaboração de protótipos pequenos que validem a hipótese, e depois passe para a
64 +
implementação final; e o modelo em espiral une a natureza iterativa da
65 +
prototipação com os aspectos sistemáticos do modelo em cascata, sendo que acaba
66 +
por ser um modelo geralmente usado para desenvolvimento de aplicações em larga
67 +
escala, visto que oferece mais segurança ao processo de desenvolvimento. Apesar
68 +
da influência histórica, tais modelos acabam por serem um tanto quanto
69 +
burocráticos e em um projeto com um escopo de equipe reduzida e onde necessita
70 +
um nível de flexibilidade maior, como este, portanto, uma adoção de uma
71 +
metodologia mais flexível se faz necessária.
72 +
73 +
Pressman, comenta que, por meados de 2001, um grupo de desenvolvedores
74 +
deflagrou o “Manifesto Ágil”, um documento desenhando uma nova metodologia de
75 +
desenvolvimento, destacando a satisfação dos patrocinadores do sistema,
76 +
entregas mais rápidas, flexibilidade durante o desenvolvimento do software de
77 +
forma a evitar que os desenvolvedores ficaram empacados e reduzisse rigidez. Os
78 +
principais destaques da abordagem ágil é a proposta de que a mesma não é
79 +
escrita em pedra, ou seja, permite flexibilidade no como aplicá-la. Nesse
80 +
cenário, existem algumas abordagens sobre ela, como o Kanban e o Scrum, que dão
81 +
um pouco mais de forma a ideia apresentada com o desenvolvimento ágil o que
82 +
casa relativamente bem com o modelo de desenvolvimento incremental.
83 +
84 +
Com base nesse panorama, o presente trabalho adota uma abordagem baseada na
85 +
filosofia ágil, estruturada por meio da utilização de um quadro de Kanban,
86 +
adaptado à realidade de um desenvolvimento individual. Diferentemente de
87 +
modelos tradicionais que envolvem um maior formalismo, o Kanban permite
88 +
visualizar e gerenciar o fluxo de trabalho de forma contínua, com foco na
89 +
entrega incremental de funcionalidades. Por ser um método não prescritivo, o
90 +
Kanban oferece liberdade para que as tarefas possam ser priorizadas, ajustadas
91 +
ou redefinidas conforme a evolução do desenvolvimento, característica
92 +
especialmente útil quando há apenas um desenvolvedor responsável por todas as
93 +
etapas do processo. Vale ressaltar também, que a metodologia adotada acaba por
94 +
ajudar a manter o fluxo de desenvolvimento contínuo sem sobrecarga, já que
95 +
limita a quantidade de tarefas em progresso, gerando um movimento de maior
96 +
produtividade e entregas.
97 +
16 98
17 99
\section{Metodologia de Pesquisa}
18 100
19 101
\lipsum[1-2]
20 102
31 113
\lipsum[1]
32 114
33 115
\subsection{Relação entre os dados coletados e o desenvolvimento}
34 116
35 117
\lipsum[1]