Você está na página 1de 83

Disciplina Engenharia de Software I

UNIDADE I

Conceitos bsicos de Sistemas de
Informao e Engenharia de Software
Professora: J enifer Vieira
2
Contedo Programtico
1. Sistemas de Informao
1.1. Conceito de sistema.
1.2. Tipos de sistemas.
1.3. Sistemas de informao: conceito e componentes fundamentais.

2. Engenharia de Software
2.1. Anlise da evoluo do software.
2.2. Conceitos de Engenharia de Software.

3
Contextualizao
4
Conceitos
5
Conceitos
6
O que Informao?
Informao



Que receptores?

Dados (Signos, Sinais) que modificam o modelo mental do
receptor.
Humano, animal, empresa, planta, ecossistema, agente,
economia, entre outros.
7
O que Informao?
O que um Sistema?
8
Conceitos
combinao de partes coordenadas, de modo que rivalizem
para realizao de um conjunto de objetivos.

Os sistemas aparecem, em nosso mundo, de forma
estruturada, em hierarquias. Assim, um sistema pode sempre
ser decomposto em sistemas menores SUBSISTEMAS.
Conjunto de elementos (sub-sistemas) inter-relacionados
que desempenham um conjunto de funes.
9
Sistemas de Informao
Conjunto organizado de pessoas, hardware, software, redes de
comunicao e recursos de dados que coletam, transformam e
disseminam informaes em uma organizao (O BRIEN, 2003).


O conjunto de componentes inter-relacionados que coleta (ou
recupera), processa, armazena e distribui informaes destinadas a
apoiar a tomada de decises e o controle em uma organizao
(LAUDON e LAUDON, 2004).
Quando se pensa em sistema, deve-se ter em mente 5
consideraes bsicas:
10
Conceitos
1. Objetivos totais do sistema
Ex.: Sistema Universidade.
Reitor: formar lderes para o pas.
Coordenador da Ps Graduao: desenvolver pesquisa.
Coordenador de Estgio: treinamento tcnico visando o
mercado.
2. Ambiente do sistema elementos fora do sistema
que afetam e so afetados por mudanas nos atributos
do sistema.
Ex.: Sistema Editora.
Agentes, distribuidora, leitores.
11
Conceitos
3. Recursos do sistema meios que o sistema
necessita para desempenhar suas funes.
Ex.: Sistema Empresa.
Dinheiro, equipamentos, instalaes, pessoal,
suprimentos e servios.
4. Componentes do sistema elementos responsveis
pelo funcionamento do sistema.
Ex.: Sistema Empresa.
Funes de pesquisa, produo, marketing,
finanas, pessoal.
12
Conceitos
5. Administrao do sistema elementos
responsveis pela elaborao, implantao e
acompanhamento do sistema, de modo que os objetivos
do sistema sejam alcanados com o mximo
rendimento.
Como existem diferentes interesses e especialidades,
alm de nveis em uma organizao existem
diferentes tipos de sistemas. Nenhum sistema pode
fornecer todas as informaes de que uma empresa
necessite.
13
Nveis e Tipos de Sistemas de Informao
D suporte aos gerentes operacionais, acompanhando
atividades e transaes elementares da organizao.

O principal propsito de um sistema desse nvel
responder a perguntas de rotina e acompanhar o fluxo de
transaes pela organizao: quantas peas h no
estoque? O que aconteceu com o pagamento do Sr. Jos?

Ex.: registro de depsitos bancrios em terminais ou um
que acompanhe o nmero de horas trabalhadas por dia
pelos trabalhadores do cho-de-fbrica.
14
Nvel Operacional
Do suporte aos trabalhadores do conhecimento e de
dados da organizao.

O propsito desses sistemas do nvel auxiliar a
empresa comercial a integrar novas tecnologias ao
negcio e ajudar a organizao a controlar o fluxo de
documentos.

Ex.: aplicaes sob a forma de estaes de trabalho e
sistemas de automao de escritrios.
15
Nvel de Conhecimento
Atendem s atividades de monitorao, controle, tomada
de decises e procedimentos administrativos dos
gerentes.

Esses sistemas tm a caracterstica de produzir relatrios
peridicos sobre as operaes, em vez de informaes
instantneas.

Ex.: O que poderia acontecer ao nosso retorno de
investimento se o cronograma da fbrica fosse atrasado
por seis meses?
16
Nvel Gerencial
Ajudam a gerncia a atacar e enfrentar questes
estratgicas e tendncias de longo prazo tanto na empresa
quanto no ambiente externo.

Sua principal preocupao compatibilizar as mudanas
no ambiente externo com a capacidade da organizao.

Quais sero os nveis de emprego em cinco anos? Quais
so as tendncias de longo prazo do custo do setor e onde
nossa empresa se encaixa? Que produtos deveremos estar
fazendo dentro de cinco anos?
17
Nvel Estratgico
Sistemas de Apoio Executivo (SAE),
Sistemas de Informao Gerenciais (SIG),
Sistemas de Apoio Deciso (SAD),
Sistemas de Trabalhadores do Conhecimento (STC),
Sistemas de Automao de Escritrios,
Sistemas de Processamento de Transaes (SPT).
18
Seis tipos mais importantes de Sistemas
Atendem ao nvel estratgico da organizao. Abordam decises
no rotineiras que exigem bom senso, avalio e percepo.

Os SAEs juntam informaes externas (leis tributarias, normas) com
dados internos da empresa e produzem informaes filtradas e
resumidas de dados crticos teis para os executivos.

Trabalha com questes no analticas mas holsticas.


19
Sistemas de Apoio Executivo (SAE)
previso quinzenal de tendncias de vendas,
plano operacional,
previso de oramento,
planejamento de lucros,
planejamento de pessoal.
Atendem ao nvel gerencial da empresa, munindo os gerentes de
relatrios ou de acesso on-line aos registros do desempenho corrente
e histrico da organizao.

So normalmente orientados aos eventos internos. Tm maior
periodicidade (semanal, mensal...)normalmente atravs de resumo e
comparaes.
20
Sistemas de Informao Gerenciais (SIG)
gerenciamento de vendas,
controle de estoque,
relatrios semanais, mensais ou anuais,
anlise de investimento de recursos,
anlise de realocao.
Tambm acontecem no nvel de gerncia da organizao.
Ajudam os gerentes a tomar decises no-usuais, que se alteram
com rapidez e no so facilmente especifica com antecedncia.

Podem usar informaes externas junto com internas. So mais
analticos e trazem modelos para interpretao dos dados.
21
Sistemas de Apoio Deciso (SAD)
anlise das vendas por regio, programao da produo, anlise
de custos, anlise de custo de contratos.
Atendem s necessidade de informao no nvel de
conhecimento da organizao.

Podem estruturar conhecimento cientfico ou organizar
documentos para funcionrios.
22
Sistemas de Trabalhadores do Conhecimento
(STC)
estaes de trabalho de engenharia, estaes de
trabalho grficas, estaes de trabalho administrativas.

Atendem s necessidade de informao no nvel de
conhecimento da organizao.

Podem estruturar conhecimento cientfico ou organizar
documentos para funcionrios.
23
Sistemas de Automao de Escritrio (STC)
sistemas que manuseiam e gerenciam,
documentos (atravs de processadores de textos, publicaes
desktop),
cronogramas (atravs de calendrios eletrnicas),
comunicao (atravs de e-mail, videoconferncia).

So sistemas integrados bsicos que atendem ao nvel operacional
da organizao.

Realiza e registra as transaes rotineiras necessrias ao
funcionamento da empresa. So crticos para uma empresa: se
deixarem de funcionar por algumas horas, podem causar colapso e
talvez danos a outras empresas.
24
Sistemas de Processamento de Transaes (SPT)
pedidos de venda,
sistema de reserva de hotel,
informaes de clientes (para agncias pblicas),
folha de pagamento,
cadastro de empregados.
Existem 5 categorias funcionais SPT:






Todas as organizaes tm esses 5 tipos de TPS (mesmo que os
sistemas sejam manuais).

Esses sistemas so centrais para o negcio (sem eles a organizao
no sobrevive).
25
Sistemas de Processamento de Transaes (SPT)
vendas/marketing,
fabricao/produo,
finanas/contabilidade,
recursos humanos,
outros tipos - nicos para uma particular indstria.

26
Tipos de Sistemas
27
Integrao e Relacionamento dos Sistemas
28
A interdependncia entre a Organizao e o
Sistema de Informao
29
Com o tempo os Sistemas de Informao vem tendo
um importante papel na vida das organizaes...
Nos primeiros sistemas a maioria das alteraes eram tcnicas
(fceis de realizar); sistemas mais velhos afetavam controle
comportamental e gerencial; os sistemas atuais influenciam as
atividades do ncleo organizacional relacionadas a produtos
mercados, fornecedores e clientes.
30
Sistemas de Informao
So as Pessoas
28% dos profissionais de TI esto insatisfeitos com o atual
trabalho;
75% deles trocariam de emprego na primeira oportunidade;
Recursos humanos constituem 70% dos custos do
desenvolvimento;
O setor de TI o de maior nmero de profissionais
estressados, ficando frente de outros setores considerados
crticos, como medicina, finanas e vendas;

Fonte: Software Engineering Institute, 2009 e SkillSoft, 2006.
Reflexes
O que Engenharia ?

Desenvolvimento e Aplicao Sistemtica de
Modelos de Comprovada Eficcia gerando Solues
Tecnolgicas para Problemas da Humanidade.

Alguns exemplos
???
Qumica;
Eletrnica;
Naval;
31
Conceitos
32
Pra que?! O que faz? Como? ...
O que Software?
Programas de Computador ?
Um produto?
Um pacote?
Ferramentas?
Software: um conjunto de programas de
computador, documentao e dados associados,
relacionados com a operao de um sistema de
computador - IEEE 90.
33
Conceitos
O que Software ?
Um conceito mais amplo tambm inclui:
Instrues que executam uma funo desejada;
Documentos para desenvolver, operar e manter os
programas;
Estrutura de dados para manipular informao;
34
Programas
+ +
Dados
Documentao
Conceitos
Como construir software?
35
Simplesmente
Fazer
OU
Usar a
Engenharia de Software
Conceitos
Software permeia o nosso mundo.


O software est presente, explicitamente ou
mesmo sem se fazer notar, em todos os aspectos
da nossa vida.

Boas prticas de Engenharia de Software.
36
Reflexes
Torna nossa vida mais confortvel, eficiente e efetiva.

Assegurar que o software tenha uma contribuio
positiva em nossas vidas.

37
Software bsico;
Tempo Real;
Comercial;
Cientfico e de Engenharia;
Embutido;
Para computador pessoal;
IA;


Aplicaes do Software
A indstria de Software tem tido uma crise que a
acompanha h mais de 40 anos.

Problemas no se limitam ao software que no funciona
adequadamente, mas abrange:
desenvolvimento, testes, manuteno, suprimento, etc.
38
Uma Crise no Horizonte
Os usurios esto satisfeitos com os sistemas de
software existentes?

Os produtos de software permitem realizar tarefas
de maneira mais rpida e eficiente do que
anteriormente?



Engenharia de Software profisso dos sonhos de
americanos segundo pesquisa divulgada em:
http://www.careercast.com/jobs-rated/10-best-jobs-2011
39
Reflexes
Avanos na medicina, na agricultura, nos transportes, no
comrcio, na indstria, na educao,

Entretanto, produtos de software no esto isentos de
problemas.

Enorme diferena entre um erro em um projeto feito
para uma disciplina na universidade, de um erro em um
grande sistema de software.
40
Reflexes
Alguns defeitos simplesmente causam aborrecimentos;
outros custam bastante tempo e dinheiro;

Outros podem ameaar a vida das pessoas.
Defeito: pode impossibilitar a realizao de uma ao
na execuo de um programa.
41
Defeito, Erro e Falha
So tambm conhecidos como bugs.
Tambm podem acontecer nos requisitos e documentos de
projeto do software.
Thomas Edison, 1978.
Erro: uma ao humana, que resulta em um software com
defeitos. Alm disso, um erro pode levar a incluso de uma
falha.
42
Defeito, Erro e Falha
Desenvolvedor que interpreta de
forma incorreta um modelo de
projeto.

Programador que atribui um tipo
errado a uma varivel.

Testador que no executa
corretamente os passos de um caso
de teste.
Erro Humano pode levar a Defeito pode levar a Falha
43
Defeito, Erro e Falha
Falha: De acordo com o padro IEEE (1983) uma falha
ocorre quando um programa no se comporta conforme o
esperado ou apresenta resultados diferentes do planejado.
Equipamento de Radioterapia.

Entre 1985 e 1987 se envolveu em 6 acidentes,
causando mortes por overdoses de radiao.

Software foi adaptado de uma antecessora, Therac-6:
falhas por falta de testes integrados.
falta de documentao.

44
Therac - 25
Outros fracassos do
desenvolvimento de
software?
45
Pesquisem
46
Administrativos:

Mito: J temos uma manual repleto de padres e
procedimentos para a construo do software.

Realidade: O manual de padres pode muito bem
existir, mas ser que ele usado? O profissionais
de software tm conscincia de sua existncia? Ele
reflete a moderna prtica de desenvolvimento?
completo?
Mitos do Software
47
Administrativos:

Mito?: Meu pessoal tem ferramentas de
desenvolvimento de ultima gerao; afinal de
contas lhes compramos os mais novos
computadores.

Realidade: preciso muito mais do que hardware
e software para se ter boa qualidade e
produtividade.
Mitos do Software
48
Administrativos:

Mito?: Se ns estamos atrasados, podemos
adicionar mais programadores e tirar o atraso.

Realidade: O desenvolvimento de sw no um
processo mecnico igual a manufatura.
Mitos do Software
49
Do Cliente:

Mito?: Uma declarao geral dos objetivos
suficiente para se comear a escrever programas
podemos preencher os detalhes mais tarde.

Realidade: Uma definio ruim a principal causa de
fracasso dos esforos de desenvolvimento de
software.
Mitos do Software
50
Do Cliente:

Mito?: Os requisitos de projeto modificam-se
continuamente , mas as mudanas podem ser facilmente
acomodadas, porque o software flexvel.

Realidade: verdade que os requisistos de modificam,
mas o impacto da mudana varia de acordo com o
tempo em que ela introduzida.
Mitos do Software
51
Do Cliente:

Mito?: Assim que escrevemos o programa e o
colocarmos em funcionamento, nosso trabalho estar
completo.

Realidade: Algum disse certa vez que quanto mais
cedo se comea a escrever o cdigo, mais tempo
demora para que se consiga termin-lo. Os dados da
indstria indicam que entre 50 e 70% de todo o esforo
gasto num programa sero despendidos depois que ele
for entregue pela primeira vez ao cliente.
Mitos do Software
52
Do Cliente:

Mito?: A nica coisa a ser entregue em um projeto
bem-sucedido o programa funcionando.

Realidade: Um programa funcionando somente
uma parte de uma configurao de sw que inclui
vrios outros elementos. A documentao forma os
alicerces para um desenvolvimento bem-sucedido e
fornece um guia para a tarefa de manuteno do sw.
Mitos do Software
53
Ambies dos Engenheiros de Software
54
Ambies dos Engenheiros de Software
55
Anlise versus sntese de um problema.

Mtodo ou tcnica: procedimento para a produo de um
resultado.

Ferramenta: instrumento ou sistema automatizado para
realizar alguma coisa.

Procedimento: receita de combinao de ferramentas e
tcnicas.

Paradigma: estilo de fazer algo.
Por que a Engenharia de Software?
56
Utilizar o conhecimento sobre computadores e
computao para a soluo de problemas.

Analisar o problema para determinar a sua natureza.

Utilizar tcnicas, mtodos, ferramentas e procedimentos
para a resolver os problemas.
O que Engenharia de Software?
57
Utilizar conceitos, princpios, mtodos e ferramentas
para construir programas de computador para solucionar
determinado problema.

Projetar e desenvolver software de alta qualidade.
Qual o papel do Engenheiro de Software?
58
Qual o papel do Engenheiro de Software?
Cincia da
Computao
Cliente
Teorias
Funes
Computacionais
Problema
Engenharia de
Software
Ferramentas e tcnicas
para resolver
problemas
59
A comunicao entre clientes e desenvolvedores.
Componentes-chave no desenvolvimento de software:
Quem faz a Engenharia de Software?
Cliente.
Desenvolvedor.
Usurio.
60
Atualmente software custa mais que hardware.
Constante auto-questionamento de gerentes e tcnicos:
Uma Perspectiva da Indstria de Software?
Por que preciso tanto tempo para terminar os programas?
Por que os custos so to altos?
Por que no se consegue encontrar todos os erros antes que
o software seja liberado para os clientes?
Por que existe uma dificuldade em medir o progresso
medida que o software est sendo construdo ?
61
1. Entender o problema (comunicao e anlise).

2. Planejar uma soluo (modelagem e projeto).

3. Executar o plano (gerar cdigo).

4. Examinar os resultados quanto preciso (teste e
garantida de qualidade).
Essncia da Engenharia de Software?
62
Engenharia de Software o estabelecimento e uso de
princpios slidos de engenharia (anlise, projeto,
construo, verificao e gerncia de entidades tcnicas
ou sociais) , com o intuito de obter, economicamente,
um software que seja confivel e funcione
eficientemente em mquinas reais. (Fritz Bauer, 1969)
Conceito de Engenharia de Software?
63
Engenharia de Software

1. A aplicao de uma abordagem sistemtica,
disciplinada e quantificvel ao desenvolvimento,
operao e manuteno do software, isto , a aplicao
da engenharia ao software.

2. O estudo de abordagens como as definidas em (1).
Conceito IEEE 610.12
64
Abrange um conjunto de trs elementos fundamentais:
Engenharia de Software
Mtodos.
Ferramentas.
Procedimentos.
65
MTODOS: proporcionam os detalhes de como fazer para
construir o software.

FERRAMENTAS: do suporte automatizado aos mtodos.
Engenharia de Software
Existem atualmente ferramentas para sustentar cada um dos mtodos
Ferramentas que do suporte ao desenvolvimento de software CASE -
Computer Aided Software Engineering.
PROCEDIMENTOS: constituem o elo de ligao entre os
mtodos e ferramentas
Sequncia em que os mtodos sero aplicados.
Produtos a serem entregues.
Controles que ajudam assegurar a qualidade e coordenar as alteraes.
Marcos de referncia que possibilitam administrar o progresso do software.
66
MTODOS + FERRAMENTAS + PROCEDIMENTOS =
CICLO DE VIDA DE DESENVOLVIMENTO DE SOFTWARE
(CVDS) ou Modelo de Processo de Desenvolvimento de Software.

Alguns dos ciclos de vida mais conhecidos so:
Engenharia de Software
Cascata (Ciclo de vida clssico).
Prototipao.
Espiral.
Incremental.
Ciclo de Vida do Software (CVS) a concepo at a
aposentadoria do software.
67
Processo de Desenvolvimento
68
Causas bvias dos Problemas da ES
No dedicamos tempo para coletar dados sobre o desenvolvimento
do software - resulta em estimativas a olho.

Comunicao entre o cliente e o desenvolvedor muito fraca.

Falta de testes sistemticos e completos.

O Software desenvolvido ou projetado por engenharia, no
manufaturado no sentido clssico.

Profissionais recebem pouco treinamento formal.

Falta investimento (em ES).

Falta mtodos e automao.
69
Quanto mais tarde a deteco de um erro, mais
cara a sua correo!
Segundo Pfleeger, o custo para a correo de um erro cometido em
um projeto durante a etapa inicial da anlise um dcimo do custo
para corrigir um erro semelhante depois que o sistema foi entregue
ao cliente.

Metade dos custos de correo de defeitos encontrados durante a
fase de testes e manuteno vem de erros cometidos no incio de
vida do sistema.
70
Sugesto para deteco de erros
Muitos estudantes esto acostumados a desenvolver e testar o seu
prprio software;

Seus testes podem ser menos efetivos do que pensam;

Fagan (1986), estudou o modo como os defeitos tm sido
detectados: ele descobriu que executar um programa com dados de
teste revela somente cerca de um quinto dos defeitos cometidos
durante o desenvolvimento do sistema.
71
Sugesto para deteco de erros (continuao)
O processo de reviso, realizado por colegas que mutuamente
examinam e comentam o cdigo e o projeto que eles criam, revela
quatro dos cinco defeitos restantes (Fagan, 1986).

Ento, a qualidade do software pode aumentar consideravelmente
somente com a reviso e dos trabalhos pelos colegas.
72
Qual tem sido o grau de sucesso dos sistemas
atuais?
Pense como era a vida das pessoas antes dos processadores de
texto, das planilhas eletrnicas, do correio eletrnico, da telefonia
sofisticada.

Os produtos de softwares tm apoiado avanos na medicina, na
agricultura, nos transportes, etc

Alm de nos permitir realizar as coisas nunca feitas antes, como
microcirurgias, educao, multimdia e robtica.
73
Quais so os atributos de um bom software?
O software deve atender os requisitos funcionais e desempenho
que foram solicitados pelo usurio e alm disso deve atender
requisitos no funcionais, tais como facilidade de manuteno,
nvel de confiana, eficincia e facilidade de uso.

Facilidade de manuteno
Software deve ser escrito de modo que possa evoluir para atender as
necessidades mutveis.
Nvel de confiana
Software confivel no deve ocasionar danos fsicos ou econmicos, no caso de
um defeito no sistema.
74
Quais so os atributos de um bom software?
Eficincia
O Software no deve desperdiar os recursos do sistema.
Facilidade de uso
O Software deve ser utilizvel, sem esforos indevidos, pelo usurio para quem
foi projetado.
75
O que Software de Qualidade?
software que funciona ( confivel):
ele no deve falhar mais do que o especificado na documentao.
software que funciona de acordo com a sua especificao:
Mesmo software que aparentemente funciona pode no estar satisfazendo a sua
especificao.
software que fcil de manter.
Cdigo bem escrito
Documentao apropriada.
76
O que Software de Qualidade?
software que funciona de maneira eficiente.
Software mais eficiente no necessariamente software que roda mais rpido ou
que gasta menos memria/disco.
A complexidade do cdigo e o custo tambm so fatores importantes.
software que possui uma boa interface com o usurio:
Muitos softwares no funcionam direito porque so difceis de usar.
77
Concluses
Quais so os problemas?
A sofisticao do software ultrapassou nossa capacidade de
construo.

Nossa capacidade de construir programas no acompanha a
demanda por novos programas.

Nossa capacidade de manter programas ameaada por
projetos ruins.
78
Concluses
Desenvolver software um processo complexo;

Sucesso depende de pessoas, de processos e ferramentas;

Existem vrios modelos de processo:
Todos tm pontos positivos e fracos;
Todos tm fases genricas em comum;
Devemos procurar melhorar o processo corrente
CMMI e MPS.BR ajudam neste aspecto.
79
Concluses
Solues
Comear a utilizar conceitos de engenharia de SW.

Tratar o software como um produto.

Utilizar sempre um modelo de processo de SW.

Treinamento contnuo em tcnicas, metodologias e modelos.
80
Exerccio I
Entregar dia 06/08/2012 e discusso ser feita em
sala.
Resenha crtica sobre o artigo (Delineando o valor do
sistema de informao de uma organizao);
81
1. Cite exemplos de sistemas de informaes com os quais travamos
e travaremos contato neste ano, ms, semana, dia, amanh, hoje
noite?

2. O que acontece se os sistemas citados na pergunta anterior vem a
falhar?

3. O bug do ano 2.000 tem alguma coisa a haver com isto tudo?

4. Qual a relao entre sistemas de informaes, comrcio,
organizaes, sociedade, desenvolvimento?

5. Se o 'gnio da lmpada' lhe desse a oportunidade, qual o sistema
de informaes que voc queria ter em mos? Por qu?




Exerccio de Fixao Entregar dia 13/08/2012
82
6. Quais os materiais do Engenheiro de Software?

7. Quais as ferramentas do Engenheiro de Software?

8. O que um Desenho de software?

9. O que uma implementao de software?

10. Quem usa produtos e servios de software?

11. Quem administra projetos de software e como os
administra?


Exerccio de Fixao
PRESSMAN, Roger S. Engenharia de Software. 6 ed. So Paulo:McGraw-
Hill, 2006.
MECENAS, Ivan Jos, OLIVEIRA, Vivianne de. Bancos de Dados: Do
modelo conceitual a implementao fsica. 1 ed. Rio de Janeiro:Alta Books,
2005.
HEUSER, Carlos Alberto. Projeto de Banco de Dados: vol 4 da srie Livros
Didticos Informtica Ufrgs. 6 ed. So Paulo:Artmed, 2004.
83
Referncias

Você também pode gostar