Você está na página 1de 35

ENGENHARIA DE SOFT 1

SOFTWARE E ENGENHARIA DE SOFTWARE


PARTE I
PROFESSOR: EDILSON LIMA
UNIDADE
1
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
a. A importncia do software;
b. Caractersticas, componentes e aplicaes do software; e
c. Crise e mitos de software
ROTEIRO
PROFESSOR: EDILSON LIMA 02/35
ROTEIRO
ROTEIRO
PROFESSOR: EDILSON LIMA 03/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
a. A importncia do software

O software o produto mais importante desta ltima
era. E devido a sua dualidade com o hardware que
com o passar do tempo melhora o desempenho,
diminui o tamanho e reduz o custo, permite-se
utilizar o software para gerar sistemas mais
sofisticados.
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
O software possui um duplo papel na produo, no s
pode constituir um produto, como tambm pode ser o veculo
de melhora de um produto.
Exemplo:
Como produto de software - podemos citar toda a linha de software e
que normalmente so comercializados, tais como software de sistema e
de aplicao. Um exemplo simples seria o produto Word da Microsoft.
Como veculo de melhora de um produto de software podemos citar
o software Globalink, um tradutor de lnguas que ao instalar pode ser
inserida como uma funo de chamada no Word, bem como pode ser
usado isoladamente como um produto completo.
Como veculo de melhora de um produto industrial quando o
software esta associado a um hardware especfico de uma mquina que
pode assim ser automatizada.
PROFESSOR: EDILSON LIMA 04/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
b. Caractersticas, componentes e aplicaes do
software

CARACTERSTICAS DO SOFTWARE

O software desenvolvido ou passa por um processo de
engenharia; no fabricado. Os problemas de qualidade do hardware
podem ser corrigidos pela manufatura, o que no ocorre com o software.
Os custos dos software esto concentrados no trabalho de
engenharia (anlise, projeto e implementao).
PROFESSOR: EDILSON LIMA 05/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I


O Software no se desgasta. O software no suscetvel
aos males ambientais que causam desgaste do hardware, no
devido a efeitos ambientais como o hardware, mas sim devido
a mudanas que ocorrem no ciclo de vida do software. O
software no se desgasta, mas se deteriora! Quando o
hardware se desgasta substitudo por outro sobressalente.
Durante o ciclo de vida o software passar por modificaes
(manuteno). E a medida que so feitas modificaes,
provvel que novos defeitos sejam introduzidos, causando
dente na curva de taxa de falhas.
PROFESSOR: EDILSON LIMA 06/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
PROFESSOR: EDILSON LIMA 07/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I

O software continua sendo construdo por encomenda.
medida que uma disciplina de engenharia evolui, novos
componentes so criados. No mundo do software estes
componentes ainda esto sendo aprimorados e esto apenas
comeando em ampla escala. Estes componentes devem ser
implementados de modo que possam ser reusados. O reuso de
um componente uma atividade natural no processo de
engenharia. A reusabilidade do software uma mtrica de
qualidade usada para avaliar o quanto um programa ou parte
dele pode ser usada em outras aplicaes.
PROFESSOR: EDILSON LIMA 08/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
COMPONENTES

Os componentes de software so criador por meio de uma srie de
converses que mapeiam as exigncias do cliente para cdigo
executvel em mquina. Um modelo (ou prottipo) das exigncias
convertido num projeto. O projeto de software convertido numa forma
de linguagem que especifica a estrutura de dados do software, os
atributos procedimentais e os requisitos relacionados. A forma de
linguagem processada por um tradutor que a converte em instrues
executveis em mquinas.
PROFESSOR: EDILSON LIMA 09/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
A reusabilidade uma caracterstica importante de um
componente de software de alta qualidade, ou seja, o
componente deve ser projetado e implementado de forma
que possa ser reusado em muitos programas diferentes.

Os componentes de software so construdos usando uma
linguagem de programao que tem um vocabulrio limitado,
uma gramtica explicitamente definida e regras de sintaxe e
semntica bem formadas. Esses atributos so essenciais
para a traduo por mquinas. As formas de linguagem em
uso so linguagens de mquina, linguagem de alto nvel e
linguagem no procedimentais.
PROFESSOR: EDILSON LIMA 10/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
SISTEMAS BASEADOS EM COMPUTADOR

A palavra sistema possivelmente o termo mais usado e abusado do
vocabulrio tcnico. Existem sistemas econmicos, polticos,
educacionais, bancrios e muitos outros tipos de sistemas.

Pressman em 2002, define sistemas baseados em computador como
o conjunto ou arranjo de elementos que so organizados para atingir
alguma meta predefinida pelo processamento da informao.

A meta do sistema baseado em computador a de apoiar alguma funo
de negcio ou desenvolver um produto que pode gerar receita. Uma
forma comum de sistema baseado em computador so os Sistemas de
Informao.
PROFESSOR: EDILSON LIMA 11/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Conceito de Sistemas de Informao

Sistema - o conjunto de elementos, concretos ou abstratos,
intelectualmente organizado.

Informao - o conjunto de dados organizados e que representam algo
til para a interpretao do ser humano.

Sistema de informao Stair em 2006 conceitua o sistema de
informao SI como sendo um conjunto de componentes inter-
relacionados que coletam, manipulam e disseminam dados e
informaes para proporcionar um mecanismo de realimentao para
atingir um objetivo.
PROFESSOR: EDILSON LIMA 12/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Transformao de dados em informao

O termo informao no deve ser confundido com os dados. Um gerente
deve entender que a informao o recurso mais importante de uma
organizao, ela representa a inteligncia da organizacional. Conhecer
os processos de transformao de dados em informao auxilia na
administrao de um sistema de informao.
PROFESSOR: EDILSON LIMA 13/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Dados so caracteres, textos, imagens, sons e voz, que expressam um
fato isolado e que por si s no representam algo til, mas podem ser
usados para formar algum conhecimento.
Processamento so os processos de transformao dos dados (ou
informao realimentada) em nova informao. Estes processos so
formados pelos programas de computador que compe um software, so
responsveis por realizar operaes de clculos, classificao e
organizao da informao.
Armazenamento o local onde se guardam dados, informaes e
programas.
Feedback (realimentao) Processo de retornar a informao para
entrada com objetivo de gerar novas informaes.
Informao o resultado obtido pelo sistema que expressa o
conhecimento de uma determinada operao.
PROFESSOR: EDILSON LIMA 14/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Estrutura da Informao

A montagem da informao ocorre pelo processamento dos dados.
Os dados por si s, no representam algum conhecimento (veja a
Figura). Os programas responsveis pelo processamento so instrues
intelectualmente organizadas, ou seja, para que se possa desenvolver
um programa de computador no basta s ter o programador e uma
linguagem de programao, necessrio extrair o conhecimento de um
especialista do negcio.

Este conhecimento analisado e transformado em algoritmos (funes
lgicas e matemticas), que por intermdio da linguagem de
programao, o conhecimento convertido em programa de
computador.
PROFESSOR: EDILSON LIMA 15/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
PROFESSOR: EDILSON LIMA 16/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Elementos de um sistema baseado em computador

Software: so programas de computador, estruturas de dados e
documentao correlacionada que servem para realizar o mtodo lgico,
procedimento ou controle necessrio.
Hardware: dispositivos eletrnicos que fornecem capacidade
computacional, dispositivos de interconectividade (Exemplo:
computadores de rede, dispositivos de telecomunicaes) que
possibilitam o fluxo de dados e dispositivos eltricos/eletromecnicos
(Exemplo: sensores, motores, bombas) que fornecem funes do mundo
externo.
PROFESSOR: EDILSON LIMA 17/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Elementos de um sistema baseado em computador (continuao)

Pessoal (Peopleware): Usurios e operadores de hardware e software,
especialistas do conhecimento e especialistas da TI.
Base de dados: Uma coleo de informao grande e organizada a que se
tem acesso por intermdio do software.
Documentao: Informao descritiva (Exemplo: manuais impressos,
arquivos de ajuda on-line, Web sites) que mostram o uso e/ou operao
do sistema.
Procedimentos: Passos que definem o uso especfico de cada elemento do
sistema ou contexto de procedimento no qual o sistema reside.
PROFESSOR: EDILSON LIMA 18/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I






Observao:
Se acrescentarmos a rede de computadores a um sistema baseado em
computador, est caracterizado o SI Sistema de Informao. A parte
fsica da rede de computadores corresponde ao hardware necessrio
para a interconectividade. A engenharia de sistemas dever decidir
protocolos de comunicao, topologias, enlaces, regras de acesso e
controles de taxas de transferncia.
PROFESSOR: EDILSON LIMA 19/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
APLICAES DO SOFTWARE

O contedo de informao e a determinncia so fatores importantes na
determinao da natureza de um aplicativo. Por exemplo, muitas
aplicaes comerciais fazem uso de dados de entrada altamente
estruturados (um banco de dados) e produzem relatrios formatados.
PROFESSOR: EDILSON LIMA 20/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
As seguintes reas de software indicam a amplitude das aplicaes:

Software de Sistemas. uma coleo de programas escritos para dar
apoio a outros programas, normalmente possui uma forte interao com
o hardware e so utilizados como processadores de telecomunicao,
componentes do sistema operacional, computadores com intenso uso de
mltiplos usurios, operaes concorrentes que exigem escalonamento
(schedule), compartilhamento de recursos, estrutura de dados complexas
e mltiplas interfaces;
Software de Tempo Real. um software que monitora/analisa/controla
eventos do mundo real, exige um controle/sada que responde ao
ambiente externo e um componente de monitorao que coordena todos
os demais componentes de forma a obter resposta em tempo real (que,
tipicamente, varia de 1 milisegundo at 1 minuto) possa ser mantida. O
termo tempo-real difere do interativo ou time-sharing que podem
exceder o tempo de resposta sem resultados desastrosos;
PROFESSOR: EDILSON LIMA 21/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
As seguintes reas de software indicam a amplitude das aplicaes:

Software Comercial. o de maior rea de aplicao. Distintos sistemas
de informao que processam folhas de pagamentos, contas a pagar e a
receber, estoques, etc. Os tipos mais comuns de sistemas de informao
esto na categoria do e-business (negcios eletrnicos). So eles: ERP
(Enterprise Resource Planning) Planejamento dos Recursos
Empresariais; CRM (Customer Relationship Manager) Gerenciamento
das Relaes com o Cliente; e SCM (Supply Chain Management)
Gerenciamento da Cadeia de Suprimentos;
Software Cientfico e de Engenharia. caracterizado por algoritmos de
processamento de nmeros. As aplicaes variam da astronomia a
vulcanologia, da anlise de fadiga de mecnica dinmica orbital de
naves espaciais recuperveis, e da biologia molecular manufatura
automatizada;
PROFESSOR: EDILSON LIMA 22/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
As seguintes reas de software indicam a amplitude das aplicaes:

Software Embutido. O software embutido (embedded software) reside
na memria ROM e usado para controlar produtos e sistemas para
mercados industriais e de consumo. Pode ser usado para controlar
tambm funes muito limitadas, tais como o controle de um forno de
microondas e funes digitas de automveis;
Software de Computador Pessoal. Processamento de textos, planilhas
eletrnicas, computao grfica, diverses, gerenciamento de banco de
dados, etc. De fato, o software de computador pessoal continua a
representar os mais inovadores projetos de interfaces com seres
humanos de toda a indstria de software;

PROFESSOR: EDILSON LIMA 23/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
As seguintes reas de software indicam a amplitude das aplicaes:

Software para Web. As pginas da Web recuperadas por um browser
constituem software que incorpora instrues executveis (p. ex., CGI,
HTML, Pearl ou Java) e dados (p. ex., hipertexto e uma variedade de
formatos visuais e de udio);
Software de Inteligncia Artificial (Artificial Inteligency AI). Faz uso
de algoritmos no numricos para resolver problemas complexos que
no sejam favorveis computao ou anlise direta. Atualmente, a
rea de AI mais ativa a dos sistemas especialistas, tambm chamados
sistemas baseados em conhecimento. Outras reas de aplicao: so o
reconhecimento de padres (voz e imagem), jogos e demonstrao de
teoremas. Atualmente a chamada rede neural artificial simula a estrutura
dos processos cerebrais e pode levar a uma nova classe de software que
consegue reconhecer padres complexos e aprender com a experincia
passada.
PROFESSOR: EDILSON LIMA 24/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
c. Crise e mitos de software
CRISE
Pressman em 2002 intitulando Software: Uma crise no horizonte define
crise como um ponto decisivo no curso de algo. O termo se refere a um
conjunto de problemas que so encontrados no desenvolvimento de
software de computador.

Por haver um rpido crescimento da demanda por software, imaginava-
se que com toda a complexidade no desenvolvimento, haveria uma forte
crise. Com a inexistncia da Engenharia de Software nessa poca, no
haviam tcnicas estabelecidas para o desenvolvimento de sistemas que
funcionassem adequadamente ou que pudessem ser validadas. Porm
estes mesmos problemas considerados como a crise do software,
ainda so os mesmos da atualidade.
PROFESSOR: EDILSON LIMA 25/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Gerentes responsveis pelo desenvolvimento de software
concentram-se nas questes problemticas de primeiro
plano:

As estimativas de prazo e de custo frequentemente so imprecisas;
A produtividade das pessoas da rea de software no tem
acompanhado a demanda por seus servios; e
A qualidade de software s vezes menos que adequada.
PROFESSOR: EDILSON LIMA 26/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Esses problemas so a manifestao mais visvel de outras
dificuldades do software:

No so dedicados tempo para coletar dados sobre o processo de
desenvolvimento de software. Sem nenhuma indicao slida de
produtividade, no podemos avaliar com preciso a eficcia de novas
ferramentas, mtodos ou padres;
A insatisfao do cliente com o sistema concludo ocorre muito
frequentemente. A comunicao entre o cliente e o desenvolvedor de
software frequentemente muito fraca; e
A qualidade de software frequentemente suspeita. Somente agora
comeam a surgir conceitos quantitativos slidos de confiabilidade e
garantia de qualidade de software.

PROFESSOR: EDILSON LIMA 27/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
MITOS DO SOFTWARE
O mito de software /sistemas surgiu nos primrdios de seu desenvolvimento
e propagaram desinformao e confuso. Alguns dos mitos remanescentes
de software ainda merecem crditos:

Mitos Administrativos
o Mito: J temos um manual repleto de padres e procedimentos para
trabalhar com o sistema. Isso no oferecer ao meu pessoal tudo o que
eles preciso saber?
o Realidade: O manual de padres pode muito bem existir, mas ser que
ele usado? Os profissionais tm conhecimento de sua existncia?
completo? Em muitos casos, a resposta a todas estas perguntas no.

PROFESSOR: EDILSON LIMA 28/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Mitos Administrativos

o Mito: Temos os softwares de ltima verso e compramos os mais
novos computadores. Porque ainda estamos atrasados?
o Realidade: E preciso muito mais do que o ltimo modelo de
computador para se trabalhar com um software de alta qualidade. As
operaes com os novos softwares /sistemas so mais importantes do
que o hardware para se conseguir boa qualidade e produtividade, tais
operaes dependem do treinamento do pessoal.

o Mito: Se estamos atrasados com prazo, podemos adicionar mais
usurios ou programadores?
o Realidade: O desenvolvimento de software no um processo
manufaturado.
PROFESSOR: EDILSON LIMA 29/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Mitos dos Clientes

o Mito: Uma declarao geral dos objetivos suficiente para comear a
escrever programas.
o Realidade: Uma definio inicial ruim a principal causa de fracasso
dos esforos de desenvolvimentos de software. Dominar a informao,
funo, desempenho, interfaces, restries de projeto e critrios de
validao fundamental.

o Mito: Os requisitos de projeto mudam continuamente, mas as
mudanas podem ser facilmente acomodadas, porque o software
/sistema flexvel.
o Realidade: verdade que os requisitos de software /sistema se
modificam, mas o impacto da mudana varia de acordo com o tempo em
que ela introduzida.
PROFESSOR: EDILSON LIMA 30/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
PROFESSOR: EDILSON LIMA 31/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Mitos do Profissional

o Mito: Assim que escrevermos o programa e o colocarmos em
funcionamento nosso trabalho estar completo.
o Realidade: Os dados de indstrias indicam que entre 50% e 70% de
todo o esforo gasto num programa ser despendido depois que ele for
entregue pela primeira vez ao cliente.

o Mito: Enquanto o software no estiver funcionando no tenho
condies de avaliar sua qualidade.
o Realidade: Um dos mecanismos mais efetivos de avaliao de
software /sistema a reviso formal, que pode ser aplicada desde o
incio do projeto, o que considerado um filtro de qualidade.

PROFESSOR: EDILSON LIMA 32/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Mitos do Profissional

o Mito: Um projeto bem sucedido o programa funcionando.
o Realidade: Um programa funcionando somente uma parte de uma
configurao de software. A documentao forma os alicerces para um
desenvolvimento bem sucedido e, o que mais importante, fornece um
guia para a tarefa de manuteno de software.
PROFESSOR: EDILSON LIMA 33/35
1 SOFTWARE E ENGENHARIA DE SOFTWARE PARTE I
Um analista de sistema sempre deve fazer reflexo sobre a
Qualidade na Engenharia de Software e na Interao
Homen-Computador.




FIM DA UNIDADE
PROFESSOR: EDILSON LIMA 34/35
ROTEIRO
PROFESSOR: EDILSON LIMA
Bibliografia
PAULA FILHO, Wilson de Pdua. Engenharia de software
Fundamentos, mtodos e padres. 2.ed. Rio de Janeiro: LTC, 2003.
PRESSMAN, Roger S. Engenharia de software. 6.ed. Rio de Janeiro: Mc-
Graw-Hill, 2006.
SOMMERVILLE, Ian. Engenharia de software. 6.ed. So Paulo: Addison
Wesley, 2003.


35/35

Você também pode gostar