Você está na página 1de 16

FACULDADE METROPOLITANA DE MANAUS

Resumo do Capitulo 1 do Livro

Engenharia de Software – Uma Abordagem Profissional (7º Edição)

Autor: Roger S. Pressman

MANAUS

2018
FACULDADE METROPOLITANA DE MANAUS

SISTEMAS DE INFORMAÇÃO

Allan Felipe de Oliveira Dantas

Geane Nunes de Souza Parente

Gabrielle Maciel da Silva

Monique Regis da Rocha

Resumo do Capitulo 1 do Livro

Engenharia de Software – Uma Abordagem Profissional (7º Edição)

Autor: Roger S. Presman

Resumo para obtenção de nota parcial,


disciplina de Engenharia de Software,
ministrado pelo Professor Marcelo
Alves da Cruz.

MANAUS

2018

2
Sumário

Introdução .......................................................................................................... 4

Engenharia de Software ..................................................................................... 6

Panorama ........................................................................................................... 6

A Natureza do Software ..................................................................................... 7

Definindo Softwares ........................................................................................... 8

Campos de Aplicação de Softwares ................................................................... 8

Software Legado .............................................................................................. 10

A Natureza Única das WebApps ...................................................................... 10

Engenharia de Software ................................................................................... 11

O Processo de Software .................................................................................. 12

Prática da Engenharia de Software .................................................................. 13

Princípios Gerais .............................................................................................. 13

Como Tudo Começou ...................................................................................... 14

Conclusão ........................................................................................................ 15

3
Introdução

Atualmente a indústria de desenvolvimento de softwares se tornou uma


das mais importantes indústrias do cenário mundial, o software já se tornou uma
tecnologia indispensável para todas as áreas abrangendo desde a economia,
ciência, engenharia, telecomunicações, entretenimento, medicina e está cada
vez mais onipresente em nosso cotidiano. Mas ao se analisar o software mais
profundamente vemos que ele já assumiu um duplo papel onde ele é ao mesmo
tempo um produto e um veículo de entrega de um produto.

Como um produto ele nos disponibiliza todo o potencial de computação


presente no hardware de nossos computadores, seja gerenciando um simples
celular seja atuando em supercomputadores capazes processar milhares de
informações por segundo. E como um veículo ele nos entrega o mais importante
produto de nossa época: A Informação. Ele é capaz de processar e organizar
dados mais simples com uma velocidade e precisão que nunca imaginadas a
poucos anos atrás.

O software de computadores passou por mudanças significativas nos


últimos 50 anos, e influenciando de significativa o desenvolvimento do próprio
hardware forçando profundas modificações na própria arquitetura de fabricação
dos computadores, criando sistemas cada vez mais sofisticados e complexos.

Nos anos 40, quando se iniciou a evolução dos sistemas


computadorizados, grande parte dos esforços, e consequentes custos, era
concentrada no desenvolvimento do hardware, em razão, principalmente das
limitações e dificuldades encontradas na época. À medida que a tecnologia de
hardware foi sendo dominada, as preocupações se voltaram, no início dos anos
50, para o desenvolvimento dos sistemas operacionais, onde surgiram então as
primeiras realizações destes sistemas, assim como das chamadas linguagens
de programação de alto nível, como FORTRAN e COBOL, e dos respectivos
compiladores.

A tendência da época foi de poupar cada vez mais o usuário de um


computador de conhecer profundamente as questões relacionadas ao
funcionamento interno da máquina, permitindo que este pudesse concentrar

4
seus esforços na resolução dos problemas computacionais em lugar de
preocupar-se com os problemas relacionados ao funcionamento do hardware.
Já no início dos anos 60, com o surgimento dos sistemas operacionais com
características de multiprogramação, a eficiência e utilidade dos sistemas
computacionais tiveram um considerável crescimento, para o que contribuíram
também, de forma bastante significativa, as constantes quedas de preço do
hardware. Uma consequência deste crescimento foi a necessidade, cada vez
maior, de desenvolver grandes sistemas de software em substituição aos
pequenos programas aplicativos utilizados até então. Desta necessidade, surgiu
um problema nada trivial devido à falta de experiência e à não adequação dos
métodos de desenvolvimento existentes para pequenos programas, o que foi
caracterizado, ainda na década de 60 como a "crise do software", mas que, por
outro lado, permitiu o nascimento do termo "Engenharia de Software".
Atualmente, apesar da constante queda dos preços dos equipamentos, o custo
de desenvolvimento de software não obedece a esta mesma tendência. Pelo
contrário, corresponde a uma percentagem cada vez maior no custo global de
um sistema informatizado. A principal razão para isto é que a tecnologia de
desenvolvimento de software implica, ainda, em grande carga de trabalho, os
projetos de grandes sistemas de software envolvendo em regra geral um grande
número de pessoas num prazo relativamente longo de desenvolvimento.

5
Engenharia de Software

Elemento-chave na evolução de produtos e sistemas baseados em


computador e uma das mais importantes tecnologias o cenário mundial.

Panorama

O que é?

São produtos de Software de computadores desenvolvidos com suporte


a longo prazo. Abrange processos, métodos, práticas, profissionais e
ferramentas.

Quem realiza?

Engenheiros de softwares.

Por que ele é importante?

Atualmente está incorporado em vários aspectos como: vida social,


comércio, cultura e vida cotidiana.

Quais são as etapas envolvidas?

Aplica-se processos adaptável e ágil, que traga resultado de qualidade.

Qual é o artefato?

Para um engenheiro são ferramentas que contenham dados. Para um


usuário informações relevantes de utilidade geral.

Softwares de computadores atualmente é uma tecnologia importante no


cenário atual. Antigamente ninguém poderia prever isto, que seria algo tão
relevante para tomadas de decisões em negócios, ciência, engenharia, que iria
viabilizar a criação de novas tecnologias e que iria revolucionar a forma como os
computadores pessoais iriam revolucionar o mercado mundial.

Softwares trouxeram para comércios locais, a possibilidade da evolução


da forma de vendas, para produtos ou serviços. Influenciariam em companhias
e indústrias. Com o surgimento da internet, tudo mudou e se revolucionou sejam,

6
pesquisas, compras realizadas pelos consumidores e, hábitos cotidianos entre
adultos e jovens.

Os softwares foram incorporados em todas as áreas como medicina,


transportes, telecomunicação, militar, industrial, entretenimento e dentre outros.

Com isto ninguém previa que sistemas e programa de computadores


teriam que se modificar ou adaptar na medida em que foram ampliados. Sendo
assim isto trouxe o surgimento de novas tecnologias para tornar o
desenvolvimento mais fácil, rápido e barato.

A Natureza do Software

Atualmente o software assume dois papeis ao mesmo tempo, sendo um


produto e um veículo de seu próprio produto.

Como produto, um transformador de informações simples ou complexas,


transformando, modificando ou exibindo informações.

Como um veículo de distribuição do produto, atua como base para


controle de computador (Sistemas Operacionais) e comunicação entre redes.

O papel desempenhado pelo software, vem passando por mudanças,


sejam elas: aperfeiçoamento de softwares, desempenho de hardware,
mudanças na arquitetura computacionais, complexidade, sofisticação. Isto
carretou dois fatores importantes, sendo: resultados impressionantes quando o
sistema é bem-sucedido e problemas para os que precisam desenvolver
sistemas robustos.

Porém, atualmente após a evolução das formas de desenvolvimento de


softwares entre equipes e o programador que antes era solitário, nos remete a
questões sobre os modernos sistemas computacionais que são desenvolvidos
como:

Por que concluir um software leva tempo?

Por que os custos são caros?

Os motivos pelo de entregas de softwares ainda apresentando erros?

7
Esforços mantendo programas descontinuados.

Dificuldade de medir progresso de desenvolvimento de software e o


quanto ele está sendo mantido.

Definindo Softwares

Para tal definição é importante examinar as características distintas entre


softwares e hardwares. Embora existam semelhanças entre a fabricação de
ambas, cada uma existe a sua particularidade.

Em ambas a qualidade é obtida através de um bom projeto. Mas quando


falamos em correção, para hardware são problemas corrigíveis través de troca
de peças, mas quando se trata de software a dependência de correção se dá
através de estudo, análise e recursos com pessoas.

Se tratando de durabilidade, um software pode chegar a longo prazo sem


deterioração de componentes como em um hardware. Que sofrem efeitos
externos ou males ambientais.

Porém, se tratando em hardware muitas vezes, há peças que podem ser


substituídas com peças de reposição, mas em softwares não existem peças de
reposição, há a necessidade explícita de manutenção, que envolvem mudanças,
solicitações, tarefas ou análise.

A medida que a indústria evolui, componentes novos são projetados e


padronizados para um hardware, em softwares os mesmos podem ser
projetados para implementação em outros softwares, ferramentas que tornam
trabalho do desenvolvedor menos complexo e mais eficiente. Podendo surgir
novos métodos, paradigmas ou arquiteturas.

Campos de Aplicação de Softwares

• Softwares de Sistemas
Programas que atendem outros programas, podem processar estruturas
e interfaces complexas.

• Software de Aplicação

8
Solução para necessidades de negócios, facilita tomadas de decisão ou
processam dados comerciais.

• Software cientifico/de engenharia


Algoritmos de processamento numérico pesado, dinâmica orbital e
simulação de sistemas e outras aplicações interativas.

• Software Embutido
Implementa e controla características e funções para o usuário final para
o próprio sistema.

• Software para linha de produtos


Provem capacidade de utilização para múltiplos cliente.

• Aplicações para Web


As chamadas “WebApps”, são um conjunto de arquivos de hipertexto
interconectados, podem e integrados a banco de dados.

• Software de inteligência artificial


Uso de algoritmos complexos e não numéricos, mas que solucionam
problemas complexos.

• Computação mundial aberta


Computação pervasiva, e vários sistemas distribuídos se comuniquem
através de redes.

• Netsoursing
Provedor de conteúdo e um mecanismo computacional.

• Software aberto
Código-fonte open source, e que possam contribuir para o
desenvolvimento do sistema.

9
Software Legado

São softwares que são utilizados em um amplo campo de aplicação, mas


que possuem características de programas mais antigos.

Possuem características presentes de baixa qualidade, código trincado,


documentação pobre ou inexistente, histórico de modificação mal registrado,
histórico de administração mal registrado, porém, alguns são vitais de regras de
negócios e indispensáveis. Podem passa frequentemente por adaptações e
muitas vezes evoluem pelas razões: atender novas necessidades;
implementação de novos requisitos;

A Natureza Única das WebApps

Com o tempo as ferramentas de hipertexto e a capacidade computacional


que veio junto a internet juntamente com as informações, nasciam as aplicações
baseadas em web.

Atributos encontrados nas WebApps:

• Uso intenso de redes


Atende a necessidade de uma comunidade diversificada de clientes.

• Simultaneidade
Múltiplos usuários acessando.

• Disponibilidade
Acesso a qualquer hora ou lugar.

• Orientadas a dados
Apresentação de textos, gráficos, mídias, áudio ou vídeos para o usuário
final.

• Sensibilidade no conteúdo
Qualidade e natureza estética.

10
• Evolução Contínua
Constantes adaptações e surgimentos de novas ferramentas.

• Imediatismo
Rápido implantação em produção.

• Segurança
Proteção de conteúdos sensíveis e oferecer modos seguros de
transmissão de dados.

• Estética
Interface intuitiva e ergonômica.

Engenharia de Software

Os softwares estão incorporados no cotidiano, ou seja, o número de


pessoas interessadas em seus recursos ou funções tem crescido
exponencialmente.

Os requisitos de diversos tipos de usuários têm se tornado mais


complexos.

Cada vez mais usuários tem sentido a necessidade de tomada de


decisões através de softwares para táticas de estratégia assim como controles
cotidianos.

Todos os softwares devem ser passíveis de manutenção, uma vez que a


probabilidade de longevidade também cresça.

Todos os softwares devem passar por processo de engenharia.

A engenharia de software nos traz pouco sobre aspectos técnicos da


qualidade, ou seja, não trata diretamente da satisfação do cliente. Mas a
abordagem nos traz sistematicamente a quantidade, ou a tecnologia em
camadas de processos. No contexto no qual são aplicados métodos técnicos
que envolvem tarefas, comunicação, análise de requisitos, modelagem de
projeto, construção de programas, teste e suporte.

11
O Processo de Software

É um conjunto de atividades ações e tarefas realizadas na criação de


algum produto de trabalho. Uma metodologia de processos para engenharia de
software compreende as atividades a seguir:

• Comunicação
Compreensão dos objetivos do cliente

• Planejamento
Criação de planejamento de software

• Modelagem
Esboços e protótipos

• Construção
Geração de código e testes para tratamento de erros

• Emprego
Freedback baseado em avaliações

Contudo existem atividades de apoio típicas a engenharia de software:

• Controle e planejamento de projeto


Possibilita verificar o progresso da equipe

• Administração de riscos
Avaliação de riscos que afetam a qualidade

• Garantia da qualidade de software


Trata-se de qualidade

• Revisões Técnicas
Tratamento de erros para as atividades seguintes

12
• Medição
Auxilia na entrega do software

• Gerenciamento da configuração de software

Mudança de processos

• Gerencia de Reusabilidade
Estabelece mecanismos reutilizáveis

Prática da Engenharia de Software

Nesta fase, tendemos a compreender o problema, planejar a solução,


executar o plano e examinar o resultado para ter precisão.

Princípios Gerais

• Primeiro Princípio: A razão do existir


A importância da geração de valor a seus usuários, todas as decisões
tomadas devem basear-se deste principio

• Segundo princípio: faça de forma simples


Compreensão de entender e manter o software.

• Terceiro princípio: mantenha a visão


Compreensão da visão arquitetônica

• Quarto princípio: o que produz outros consomem


Implementar de forma entendível
• Quinto princípio: esteja aberto para o futuro
Sistemas preparados para adaptações e mudanças.

• Sexto princípio: planejamento


Reutilização de códigos para minimizar tempo

• Sétimo princípio: pense

13
Realizar analise.

Como Tudo Começou

Todo projeto nasce de uma necessidade. Geralmente inicialmente essa


necessidade é expressa como parte simples da conversa.

Mesmo após a sua evolução na medida que tudo se encaixa, este projeto
de software pode ter suas medidas de sucesso e fracasso.

Afinal o mercado só utiliza os softwares que atendem uma necessidade


expressa.

14
Conclusão

Concluímos que a engenharia de software é primordial para o


desenvolvimento de tecnologias para produtos e sistemas. O engenheiro de
software é responsável pelo desenvolvimento do processo como um todo
garantindo a qualidade e entrega do produto assertivo.

As naturezas do software veem passando por mudanças dependendo do


fator de complexidade da entidade a qual está destinado o sistema, sendo assim
desenvolveu-se a necessidade de uma engenharia de software conjunta e
métodos adotados para atendimento das necessidades dessas entidades em um
prazo aceitável. Definimos as características distintas entre Software e
Hardware, software são muito mais complexos do que hardware, pois o mesmo
tende a ter problemas que requerem estudo especifico e orientado para corrigi-
los.

Os campos de aplicação de software são inúmeros e são divididos entre


as unidades de negócios dos mais variados segmentos de mercado, e com a
Engenharia de Software crescendo exponencialmente, a procura por excelência
em criação dessas aplicações foi resultando em um crescimento de demanda
nos últimos tempos. Com isso a eficiência em Engenharia de Software está
voltada para processos de acompanhamento especifico e com metodologias
assertivas para cada processo da criação.

15
16

Você também pode gostar