Você está na página 1de 46

ENGENHARIA DE SOFTWARE

I. INTRODUÇÃO E CONCEITOS BÁSICOS DE


ENGENHARIA DE SOFTWARE

Engenharia de Software. Conceitos


Fundamentais

Darlines Sánchez Muñoz. PhD


TOPICOS DA AULA

 Importância do Software

 Problema essencial da industria do Software

 Evolução do software

 Problemas associados ao software

 O software

 Engenharia de software

 Paradigmas o modelos de desenvolvimento


2
IMPORTANCIA DO
SOFTWARE
3
IMPACTO DA COMPUTAÇÃO

Nos inícios da computação esta era dum perfil


exclusivo, próprio de poucos especialistas nas
aplicações do hardware e software em distintas
áreas.

Especificamente nas ciências puras, as


investigações de alta tecnologia, como a
cosmonáutica, a física nuclear, e as investigações
militares o controlo financeiro, o comercio, etc. 4
IMPACTO DA COMPUTAÇÃO
Nos anos 80, quando o boom das computadores
comerciais muitas coisas começaram a mudar.
Desde aquela época (1950-1980), alguns
predisseram que a computação se converteria na
industria mais importante dos países desenvolvidos
e que o seu desenvolvimento já não seria medido
pela produção de aço ou petróleo, agricultura, etc.,
passaria a ser determinado pela produção de
5
INFORMAÇÃO através de computadoras.
IMPACTO DA COMPUTAÇÃO
 Na actualidade, a computação de introduze em
todas as áreas: medicina, bancos, empresas de
serviço, comércios (na gestão e na e no controlo da
actividade de compra e venda), etc. Na educação, as
industrias, actividades sociais.
 É característico agora o auge das empresas
relacionadas com a vida computacional e em
especial das desenvolvedoras de software
6
(Microsoft, Oracle, IBM, Corel)
PROBLEMA ESSENCIAL DA
INDUSTRIA DO SOFTWARE
7
PROBLEMATICA DA INDUSTRIA
DE SOFTWARE
Nos inícios da computação o hardware ocupou o
lugar mais importante e essencial na industria. O
software era somente um producto incluído
actualmente ocupa um lugar preponderante.
No ano 1994 Microsoft fixou pautas para as
empresas productoras de hardware que quiseram
incrementar as suas vendas obrigando lhes a
cumprir com certas condições requeridas para a
8
produção de software.
PROBLEMATICA DA INDUSTRIA
DE SOFTWARE

 Para conseguir isso a industria do software teve


que mudar seus paradigmas.

 Inicialmente tinha-se como única ideia que a


chave da produção de software estava na
desenvolvimento de productos verdadeiramente
eficazes ou seja, programas que executem cada
vez mais rápido e com menos consumo de
memoria. 9
PROBLEMATICA DA INDUSTRIA
DE SOFTWARE

 Estes princípios ainda cumprem-se mais não são


o centro da produção de software.

Qual seria a problemática essencial da


industria de software na actualidade?

Menor tempo de desenvolvimento do


software com maior qualidade relativa
do mesmo.
10
EVOLUÇAO DO SOFTWARE
11
PROBLEMATICA DA INDUSTRIA
DE SOFTWARE
 O software não é só um producto, também é um
medio de processamento de outro producto, a
INFORMAÇÃO.
 Nem sempre foi assim, a evolução do software do
software divide-se em escala de cinco etapas.

12
PROBLEMATICA DA INDUSTRIA
DE SOFTWARE

 Para conseguir isso a industria do software teve


que mudar seus paradigmas.

 Inicialmente tinha-se como única ideia que a


chave da produção de software estava na
desenvolvimento de productos verdadeiramente
eficazes ou seja, programas que executem cada
vez mais rápido e com menos consumo de
memoria. 13
CARACTERISTICAS DAS ETAPAS

1ª ETAPA

 Distribuição limitada

 Software à medida do hardware

 Software como adicionado na produção do


hardware

 Software sem planificação

 Falta de documentação
14
CARACTERISTICAS DAS ETAPAS

2ª ETAPA

 Paradigma estruturada

 Sistemas em tempo real

 1ª versão de bases de dados com armazenamento


online

 Manutenção do software

 Linguagens Universais históricos (ALGOL,


15
FORTRAN, COBOL, PL/1)
CARACTERISTICAS DAS ETAPAS

3ª ETAPA
 Sistemas distribuídos
 Surge o microprocessador (software embebido)
 Software geral que se distribuem pré-instalado em
microcomputadores.
 Sistemas relacionais de Bases de Dados.
 Linguagens universais mais avançados (PACA, ADA,
BASIC, C)
16
 Inicio de nets locais.
CARACTERISTICAS DAS ETAPAS

4ª ETAPA
 Técnicas Orientadas a Objectos
 Sistemas Espertos e Inteligência Artificial
 LAN e WAN a grande escala
 Internet e Intranet
 Linguagens Universais ainda mais avançados
(Delphi, ADA+, Visual Basic, C++)
 Entorno descentralizado cliente/servidor 17
CARACTERISTICAS DAS ETAPAS

5ª ETAPA

 Técnicas alternativa a OO, orientação a aspeitos.

 Plataformas de desenvolvimento de SW
avançados (.NET, Sphere) com incremento do uso
de CASE para o desenvolvimento de software

 Software Livre

 Gestores de bases de dados mais avançados


18
(ORACLE, PostgreSQL)
PROBLEMAS ASSOCIADOS
AO SOFTWARE
19
PROBLEMAS DO SOFTWARE

 Os softwares ainda não tem as habilidades


necessárias para explorar o potencial adquirido
pelo hardware

 A habilidade de criar novos programas não


acompanha o ritmo da demanda dos novos
programas, nem construem-se programas o
suficientemente rápidos para satisfazerem as
necessidades de mercado e negocio. 20
PROBLEMAS DO SOFTWARE

 O uso de computadores tem feito à sociedade


cada vez mais dependente da operação fiável do
software, se este falhar podem ocorrer grandes
danos económicos e sociais.

 No se tem atingido ainda um grado de fiabilidade


de alta qualidade nos software

21
PROBLEMAS DO SOFTWARE

Em resposta a estes problemas na industria do


software aplica-se cada vez mais as práticas da

Engenharia de Software.

22
O SOFTWARE
23
PROBLEMAS DO SOFTWARE
O que é um Software? Podemos responder com as
seguintes partes duma definição:

Instruções que uma vez executadas


proporcionam a função e o comportamento
desejado.
Estruturas de Dados que facilitam aos
programas manipular adequadamente a
24
informação.
PROBLEMAS DO SOFTWARE

O que é um Software? Podemos responder com as


seguintes partes duma definição:

Documentos que descrevem a operação e uso do


programa.

25
PROBLEMAS DO SOFTWARE

1. O software não se fabrica no sentido clássico.


 O Software não é um produto industrial, qualquer
outro producto incluso o hardware, tem uma etapa
de desenho e de desenvolvimento de protótipos, até
que finalmente leva-se a uma cadeia de produção
que inclui os cálculos dos custos e da qualidade.

 O software tem os maiores custos no processo de


engenharia, não na fabricação, os cálculos da
qualidade é diferente. 26
PROBLEMAS DO SOFTWARE

1. O software não se “estraga”.


 Teoricamente falando, um software não se estraga
como outro producto. Por exemplo um
eletrodoméstico ou automóvel.

 Estes productos tem uma corva de falhas que


inicialmente é muito alta e baixa rapidamente, ao
que se chama de mortalidade infantil, aonde
surgem erros de desenho e produção que são
rapidamente corregidos pela industria. 27
PROBLEMAS DO SOFTWARE

1. O software não se “estraga”.


 Posteriormente o producto estabiliza-se e esta no
mercado, com o tempo, diferentes agentes atuam e
pode perder e gastar as suas propriedades, pelo que
se estraga e a corva de falas volta a souber.

28
PROBLEMAS DO SOFTWARE

CORVA DE FALHAS DE PRODUCTOS TRADICIONAIS 29


PROBLEMAS DO SOFTWARE
1. O software não se “estraga”.
 O software também tem uma corva de falhas de
maior a menor, estabiliza-se de por vida no tempo,
até estar afinado completamente. Na prática isso
funciona assim?
 A prática indica que novos requerimentos , falhas
nunca descobertas antes, etc. fazem que o software
precisa ser mantido, e perante cada manutenção
aparecem novas falhas que fazem que a corva da
30
vida do software também começa a incrementar.
PROBLEMAS DO SOFTWARE

CORVA DE FALHAS IDEAL PARA O SOFTWARE


31
PROBLEMAS DO SOFTWARE

CORVA DE FALHAS REAL DO SOFTWARE 32


ENGENHARIA DE
SOFTWARE
33
ENGENHARIA DE SOFTWARE
A Engenharia de Software define-se como:

O estabelecimento e uso de princípios robustos da


Engenharia com o objetivo de obter de forma económica,
software que seja fiável e que funcione eficientemente
sobre computadores reais.

34
ENGENHARIA DE SOFTWARE
 No desenvolvimento do Software deve-se considerar as
ferramentas, os métodos e os processos corretos.

 As ferramentas fornecem o suporte automático o


semiautomático para os métodos. (CASE e outras de apoio)

 Os métodos indicam como criar tecnicamente o software


(planificação, analise de requisitos, desenho, codificação,
teste e manutenção)

 Os processos definem a sequencia em que se aplicam os


métodos.
35
VISÃO GERAL DA ENGENHARIA
DE SOFTWARE

❑ FASE DE DEFINIÇÃO

Centra-se no que.

 que informação

que funções

que rendimento

que comportamento

que interfase
36
VISÃO GERAL DA ENGENHARIA
DE SOFTWARE

❑ FASE DE DESENVOLVIMENTO

Centra-se no como.

 como desenhar a estrutura dos dados.

Os algoritmos

Os módulos, etc.

37
VISÃO GERAL DA ENGENHARIA
DE SOFTWARE

❑ FASE DE MANUTENÇÃO

Centra-se Na mudança que possa ocorrer.

 Correctivo (eliminar erros)

Adaptativos (adaptar os requerimentos básicos as


novas condições)

Perfectivo (adicionar novos requerimentos)

Preventivo (eliminar defeitos)


38
APLICAÇÕES DO
SOFTWARE
39
APLICAÇÕES DO SOFTWARE
❑ Software sistémico
❑ Programas básicos de serviço para outro software, muito
dependente do hardware.

❑ Exemplos: Sistemas Operativos e compiladores

❑Software online
❑ Da mesma forma que os sistemas em tempo real requerem
resposta imediata e verificável em grandes bases de dados . As
falhas deste tipos de sistemas pode provocar falta de credibilidade
na empresa, se calhar, perdidas económicas, mas não situações
pessoais. 40
APLICAÇÕES DO SOFTWARE
❑ Software online
❑ Exemplos: Sistemas de bancos e Sistemas de empresas de
aviação.

❑ Software em tempo real


❑ Sistema que precisam de um poder de reação com muita
velocidade, perante eventos produzidos, geralmente por falhas, ou
outra informação restritiva, e que geralmente não depende da
reação de uma pessoa, ou seja que funcionam totalmente
independente.

❑ Estes sistemas se falhar são responsáveis por catástrofes 41

humanas.
APLICAÇÕES DO SOFTWARE
❑Software em tempo real
❑ Exemplos: Software de proteção de plantas nucleares, de
armamentos estratégicos.

❑ Software Cientifico
❑ Sistemas de calculo cientifico muito avançado que requerer de
velocidade de operação relativamente alta, sobre números
basicamente.

❑ Usados fundamentalmente em centros de investigação e


desenvolvimento de alta tecnologia, para aplicações da
cosmonáutica, a aviação, as investigações de física, etc. 42
APLICAÇÕES DO SOFTWARE
❑Software de Desenho de Engenharia
❑ Tem muita relação com a anterior.

❑ Identificam-se fundamentalmente nesta categoria os productos


CAD-CAM muitos avançados.

❑ Exemplos: OrCAD, AutoCAD, LabView, etc.

43
APLICAÇÕES DO SOFTWARE
❑Software Embebido
❑ Característico das maquinarias controladas por mandos
automáticos.

❑ Exemplos: Tornos, fresadoras, robots~da industria


automobilística e outras, mas cada vez mais perto de nos nos
equipos electrodomesticos,

44
PARADIGMAS O MODELOS
DE DESENVOLVIMENTO
45
DESCREVER CADA UM DOS
CICLOS DE VIDA DO SOFT

46

Você também pode gostar