A maior rede de estudos do Brasil

Grátis
182 pág.
Apostila ENGENHARIA DE SOFTWARE unicesumar

Pré-visualização | Página 6 de 38

seus componentes, seus comandos e seu comportamento (no caso 
de programas). Isso é feito para descobrir como ele foi fabricado, como ele 
poderia ser melhorado e que outras funções ele poderia realizar.
Fonte: Hautsch (online).1
INTRODUÇÃO À ENGENHARIA DE SOFTWARE
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E28
CONSIDERAÇÕES FINAIS
Nesta primeira unidade, foram apresentados alguns conceitos básicos sobre enge-
nharia de software que serão utilizados no decorrer de todo o livro, por isso, é 
muito importante que esses conceitos fiquem bem claros para você.
A engenharia de software foi proposta para tentar levar a precisão da enge-
nharia para o desenvolvimento de software, pois até aquela época, desenvolver 
um software era algo que não podia ser mensurado, nem em relação ao tempo, 
nem em relação ao custo, levando-se, normalmente, muito mais tempo do que 
o previsto. E o que acontecia era que não se tinha uma regra, uma sequência de 
atividades para o desenvolvimento. Você vai ver, na próxima unidade que, para 
tentar solucionar esse problema, os estudiosos da engenharia de software pro-
puseram vários modelos de processos de software, sendo que a empresa pode 
escolher o que melhor se adequa a ela. Isso tem ajudado muito o desenvolvimento 
de software. Você vai perceber isso durante o estudo das próximas unidades.
Outro conceito importante que foi tratado nesta primeira unidade é o con-
ceito de software. Algumas pessoas que conheço acham que desenvolver software 
é simplemesmente sentar em frente ao computador e escrever as linhas de código. 
Você percebeu que sim, isso faz parte do software, mas que desenvolver software 
é muito mais abrangente, pois o software envolve, além dos programas, a docu-
mentação, as pessoas, os procedimentos envolvidos. A engenharia de software 
trata de todos esses aspectos, mas em nosso livro trataremos mais especifica-
mente da modelagem de um software, desde o levantamento dos requisitos até 
a elaboração de vários diagramas. Não trataremos da implementação propria-
mente dita, pois isso você verá em outras disciplinas do curso. A implementação 
é muito importante, por isso, você terá disciplinas dedicadas a essa tarefa.
Essa primeira unidade foi somente um aperitivo. Agora vamos passar a estu-
dar assuntos específicos da disciplina e você vai perceber que a engenharia de 
software é muito importante para o desenvolvimento de um software.
29 
1. Segundo Pressman, assinale quais alternativas diferenciam o software do 
hardware?
I. Software não é fabricado no sentido clássico.
II. Software se desgasta.
III. Software possui componentes reutilizáveis.
IV. Software não possui segmento de instruções.
V. Software é a parte lógica.
São verdadeiras:
a. Somente I e II.
b. Somente I, III e V.
c. Somente I, III e V.
d. Todas estão corretas.
2. Quando falamos de engenharia de software, não se trata apenas do 
______________ em si, mas de toda a _____________ associada e dados de con-
figurações necessários para fazer este programa operar corretamente.
3. Quais são os tipos de aplicações de software?
30 
DESENVOLVIMENTO ÁGIL DE SOFTWARE
Kend Beck (2001) e outros dezesseis renomados que trabalhavam na área de desen-
volvimento, consultoria, do sistema de software assinaram o “Manifesto para o desen-
volvimento ágil de Software”. O objetivo era sanar fraquezas que fossem perceptíveis 
na engenharia de software, para que esse método funcionasse era necessário observar 
alguns itens: a satisfação do cliente, a maneira como se acolhe os pedidos de alterações, 
dar preferência a intervalos mais curtos de entrega, trabalhar em conjunto, motivação 
constante tanto para elaborar o projeto como da equipe que irá realizá-lo, sempre ter 
uma conversa aberta com a equipe, o software sempre deve estar em funcionamento, 
ter sempre um ritmo constante, atenção contínua, simplicidade, auto organização da 
equipe, avaliação da equipe em tempos regulares. Segundo Pressman (2011, p. 86) o 
desenvolvimento ágil foca talentos e habilidades de indivíduos, moldando o processo 
de acordo com as pessoas e as equipes específicas. 
Quando falamos de desenvolvimento ágil da engenharia do software, nos deparamos 
com inúmeras definições, pois as suas práticas variam muito, mas os princípios são 
iguais, a entrega rápida do projeto, a agilidade da equipe, e a constante participação di-
reta do cliente com seus fornecedores, que são os engenheiros de software, estes têm o 
enfoque no software em si, e não em sua concepção e documentação. Segundo Steffen 
(2016, p. 1): 
Ágil é uma nova forma de gestão e desenvolvimento de Software que 
usa uma abordagem de planejamento e execução iterativa e incremental 
voltado para processos empíricos (complexos, caóticos ou com muita 
incerteza, têm mudanças ao longo do processo, não são repetitivos e 
são imprevisíveis) que divide o problema em produtos menores e que 
visa entregar software funcionando regularmente, visa a aproximação 
e maior colaboração do time de desenvolvimento com os experts de 
negócios, comunicação face-to-face, redução dos riscos associados às 
incertezas dos projetos, abraçar e responder as mudanças de forma mais 
rápida e natural e é claro a satisfação final dos clientes por meio da ado-
ção de práticas de gestão e de engenharia de software com foco nos 
valores e princípios doLean e do agile, resumindo, seu principal objetivo 
é entregar o produto que o cliente realmente deseja e que será útil e 
com qualidade.
Podemos notar que a engenharia ágil de software tem como prioridade melhorar a sua 
produtividade, tendo como foco a contínua comunicação com seu cliente, o que muda 
na sua estrutura, mas só um pouco, essa engenharia planeja apenas o que será feito, 
com todos os detalhes, se acaso acontecer de ter algum erro, esse pode ser corrigido 
rapidamente, não deixando a equipe se desmotivar.
31 
Nos dias de hoje, as empresas operam em um ambiente global, com mu-
danças rápidas. Assim precisam responder a novas oportunidades e no-
vos mercados, a mudanças nas condições econômicas e ao surgimento 
de produtos e serviços concorrentes. Softwares fazem parte de quase 
todas as operações de negócios, assim novos softwares são desenvolvi-
dos rapidamente para obterem proveito de novas oportunidades e res-
ponder às pressões competitivas (SOMMERVILLE. p. 39). 
O método ágil não é fechado em si, tendo várias vertentes ou campos de atuação, como:
A Extreme Programming (XP) é uma metodologia de desenvolvimento de software, nas-
cida nos Estados Unidos no final da década de 90. Destaca-se, em diversos países, por 
auxiliar o desenvolvimento de sistemas de melhor qualidade, que são produzidos em 
menos tempo e de forma mais econômica que o habitual. Os objetivos são alcançados 
por meio de um pequeno conjunto de valores, princípios e práticas, que diferem subs-
tancialmente da forma tradicional de se desenvolver software. Propondo que somente 
a documentação estritamente necessária seja gerada, com o código e os testes de uni-
dade servindo como documentação.
Scrum é uma metodologia de desenvolvimento que surgiu no início dos anos 90, seu 
nome foi originado a partir de uma atividade durante a partida de rugby.
Incorpora atividades estruturais, sendo elas: requisitos, análise, projeto, evolução e en-
trega. Para cada atividade metodológica, é utilizado padrões de processo:
Registro pendente de trabalhos (Backlog): lista de requisitos e prioridades ou funciona-
lidades que fornecem valor comercial aos clientes.
Urgências (sprints): consiste em realizar ajustes dentro de prazo pré-estabelecido. 
Alterações: permitem que membros trabalhem em curto prazo, porém estáveis.
Reuniões: são realizadas diariamente pela equipe com duração máxima de 15 minutos.
Demos: demonstração ao cliente das funcionalidades