Você está na página 1de 60

Aula II UNIDADE I

Engenhara de Software I Introdução à Sistemas de


Informação e Engenharia de
Software

Profª.: Jenifer Vieira Toledo Tavares


Conteúdo Programático

1. Sistemas de Informação: 2. Engenharia de Software:


1.1. Conceito de Sistema. 2.1. Conceito de Software.
1.2. Tipos de Sistemas. 2.2. Análise da Evolução do Software.
1.3. Componentes fundamentais. 2.3. Conceitos de Engenharia de Software.

2
O que é Informação?

§ Informação
ü Dados (Signos, Sinais) que modificam o modelo mental do
receptor.

§ Que receptores?
ü Humano, animal, empresa, planta, agente, economia,
entre outros.

3
Conceitos

§ O que é um Sistema?

ü Combinação de partes coordenadas, de modo que rivalizem para


realização 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.

v Conjunto de elementos (sub-sistemas) inter-relacionados que


desempenham um conjunto de funções.

4
Sistemas de Informação

§ “Conjunto organizado de pessoas, hardware, software, redes de comunicação


e recursos de dados que coletam, transformam e disseminam informações em
uma organização” (O BRIEN, 2003).

§ “O conjunto de componentes inter-relacionados


que coleta (ou recupera), processa, armazena e
distribui informações destinadas a apoiar a
tomada de decisões e o controle em uma
organização” (LAUDON e LAUDON, 2004).

5
Organização das Informações

§ “A explosão de informação, sobre a qual muito


se comenta e escreve, é também, em grande
medida, a explosão da informação errada e mal
organizada (...) A revolução digital apenas
agravou os problemas”.

6
Preço da Informação

§ As pessoas podem transformar simples dados em informações valiosas para a


organização.

§ A informação exige análise, os dados, não apenas constatação.

§ Diretamente ligado à maneira como ele ajuda os tomadores de decisões a


atingirem as metas da organização. Se não é precisa ou completa, pode gerar
decisões equivocadas. Se é complexa demais para ser compreendida, não é
fornecida no tempo certo ou não é pertinente à situação, perde o seu valor
para organização.

7
Por onde começar a análise de um Sistema?

ü 1. Objetivos totais do sistema

Ex.: Sistema Universidade.


Reitor: formar líderes para o país.
Coordenador da Pós Graduação: desenvolver pesquisa.
Coordenador de Estágio: treinamento técnico visando o mercado.

8
ü2. Ambiente do sistema – elementos fora do sistema que afetam e são
afetados por mudanças nos atributos do sistema.
Ex.: Sistema Editora.
Agentes, distribuidora, leitores.

ü 3. Recursos do sistema – meios que o sistema necessita para


desempenhar suas funções.
Ex.: Sistema Empresa.
Dinheiro, equipamentos, instalações, pessoal, suprimentos e
serviços.

9
ü4. Componentes do sistema – elementos responsáveis pelo
funcionamento do sistema.
Ex.: Sistema Empresa.
Funções de pesquisa, produção, marketing, finanças, pessoal.

ü 5. Administração do sistema – elementos responsáveis pela


elaboração, implantação e acompanhamento do sistema, de modo que
os objetivos do sistema sejam alcançados com o máximo rendimento.

10
Níveis e Tipos de Sistemas de Informação

§ Como existem diferentes interesses e


especialidades, além de níveis em uma
organização – existem diferentes tipos
de sistemas. Nenhum sistema pode
fornecer todas as informações de que
uma empresa necessite.

11
Nível Operacional

§Dá suporte aos gerentes operacionais, acompanhando atividades e transações


elementares da organização.

§O principal propósito de um sistema desse nível é responder a perguntas de


rotina e acompanhar o fluxo de transações pela organização: quantas peças há
no estoque? O que aconteceu com o pagamento do Sr. José?

§Ex.: registro de depósitos bancários em terminais, acompanhamento do


número de horas trabalhadas por dia pelos trabalhadores do chão-de-fábrica.

12
Nível de Conhecimento

§Dão suporte aos trabalhadores do conhecimento e de dados da organização.

§O propósito desses sistemas do nível de conhecimento é auxiliar a empresa


comercial a integrar novas tecnologias ao negócio e ajudar a organização a
controlar o fluxo de documentos.

§Ex.: aplicações sob a forma de estações de trabalho e sistemas de


automação de escritórios.

13
Nível Gerencial

§Atendem às atividades de monitoração, controle, tomada de decisões e


procedimentos administrativos dos gerentes.

§Esses sistemas têm a característica de produzir relatórios periódicos sobre


as operações, em vez de informações instantâneas.

§Ex.: O que poderia acontecer ao nosso retorno de investimento se o


cronograma da fábrica fosse atrasado por seis meses?

14
Nível Estratégico

§Ajudam a gerência a atacar e enfrentar questões estratégicas e tendências de


longo prazo tanto na empresa quanto no ambiente externo.

§Sua principal preocupação é compatibilizar as mudanças no ambiente


externo com a capacidade da organização.

§ Quais serão os níveis de emprego em cinco anos? Quais são as tendências


de longo prazo do custo do setor e onde nossa empresa se encaixa? Que
produtos deveremos estar fazendo dentro de cinco anos?
15
Tipos de Sistemas

§Sistemas de Apoio Executivo (SAE),


§Sistemas de Informação Gerenciais (SIG),
§Sistemas de Apoio à Decisão (SAD),
§Sistemas de Trabalhadores do Conhecimento (STC),
§Sistemas de Automação de Escritórios,
§Sistemas de Processamento de Transações (SPT).

16
Sistemas de Apoio Executivo (SAE)

§Atendem ao nível estratégico da organização. Abordam decisões não rotineiras que


exigem bom senso, avalição e percepção.

§Os SAEs juntam informações externas (leis tributarias, normas) com dados internos da
empresa e produzem informações filtradas e resumidas de dados críticos úteis para os
executivos.

ü previsão quinzenal de tendências de vendas,


ü plano operacional,
ü previsão de orçamento,
ü planejamento de lucros,
ü planejamento de pessoal.

17
Sistemas de Informação Gerenciais (SIG)
§Atendem ao nível gerencial da empresa, munindo os gerentes de relatórios ou de acesso
on-line aos registros do desempenho corrente e histórico da organização.

§São normalmente orientados aos eventos internos. Têm maior periodicidade (semanal,
mensal...)normalmente através de resumo e comparações.

ü gerenciamento de vendas,
ü controle de estoque,
ü relatórios semanais, mensais ou anuais,
ü análise de investimento de recursos,
ü análise de realocação.

18
Sistemas de Apoio à Decisão (SAD)

§Também acontecem no nível gerencial da organização. Ajudam os


gerentes a tomar decisões não-usuais, que se alteram com rapidez e não
são facilmente especifica com antecedência.

§Podem usar informações externas junto com internas. São mais


analíticos e trazem modelos para interpretação dos dados.
ü análise das vendas por região, programação da produção, análise de custos,
análise de custo de contratos.

19
Sistemas de Trabalhadores do Conhecimento
(STC)
§Atendem às necessidade de informação no nível de conhecimento da
organização.

§Podem estruturar conhecimento científico ou organizar documentos para


funcionários.

ü estações de trabalho de engenharia, estações de trabalho gráficas,


estações de trabalho administrativas.

20
Sistemas de Automação de Escritório (STC)
§Atendem às necessidade de informação no nível de conhecimento da
organização.

§Podem estruturar conhecimento científico ou organizar documentos para


funcionários.
ü sistemas que manuseiam e gerenciam,
ü documentos (através de processadores de textos, publicações desktop),
ü cronogramas (através de calendários eletrônicas),
ü comunicação (através de e-mail, videoconferência).

21
Sistemas de Processamento de Transações (SPT)
§São sistemas integrados básicos que atendem ao nível operacional da organização.

§Realiza e registra as transações rotineiras necessárias ao funcionamento da empresa.


São críticos para uma empresa: se deixarem de funcionar por algumas horas, podem
causar colapso e talvez danos a outras empresas.
ü pedidos de venda,
ü sistema de reserva de hotel,
ü informações de clientes (para agências públicas),
ü folha de pagamento,
ü cadastro de empregados.

22
Sistemas de Processamento de Transações (SPT)
§Existem 5 categorias funcionais SPT:

1. vendas/marketing,
2. fabricação/produção,
3. finanças/contabilidade,
4. recursos humanos,
5. outros tipos - únicos para uma particular indústria.

§Todas as organizações têm esses 5 tipos de TPS (mesmo que os sistemas sejam
manuais).

§Esses sistemas são centrais para o negócio (sem eles a organização não sobrevive).

23
Integração e Relacionamento dos Sistemas

24
Com o tempo os Sistemas de Informação vem tendo
um importante papel na vida das organizações...

§ Nos primeiros sistemas a maioria das alterações eram técnicas (fáceis de realizar);
sistemas mais velhos afetavam controle comportamental e gerencial; os sistemas
atuais influenciam as atividades do núcleo organizacional relacionadas a produtos
mercados, fornecedores e clientes.

25
Reflexões

§ “De acordo com IDC, há um agravamento na carência por profissionais de tecnologia no


Brasil. A previsão é de que até 2020 faltarão cerca de 408 mil profissionais qualificados da
área de TI no Brasil.”

26
Exercício de Fixação – Entregar na próxima aula

1. Cite exemplos de sistemas de informações com os quais travamos e travaremos


contato neste ano, mês, semana, dia, amanhã, hoje à noite. Em seguida classifique
estes sistemas quanto ao seu nível e tipo.

2. O que acontece se os sistemas citados na pergunta anterior falharem?

3. Qual a relação entre sistemas de informações, comércio, organizações,


sociedade, desenvolvimento?

27
Conceitos

§O que é Engenharia ?

üDesenvolvimento e Aplicação Sistemática de Modelos de Comprovada Eficácia


gerando Soluções Tecnológicas para Problemas da Humanidade.

üAlguns exemplos
• ???
• Química;
• Eletrônica;
• Naval;

28
Conceitos

§O que é Software?

ü Programas de Computador ?
ü Um produto?
ü Um pacote?
ü Ferramentas?

v Software: é um conjunto de programas de computador, documentação e


dados associados, relacionados com a operação de um sistema de computador
- IEEE 90.

29
Conceitos

§O que é Software ?

• Um conceito mais amplo também inclui:


ü Instruções que executam uma função desejada.
ü Documentos para desenvolver, operar e manter os programas.
ü Estrutura de dados para manipular informação.

+ +

Programas Documentação Dados

30
Conceitos

§Como construir software?

Simplesmente Usar a
“Fazer” Engenharia de Software

OU

31
Essência da Engenharia de Software?

1. Entender o problema (comunicação e análise).

2. Planejar uma solução (modelagem e projeto).

3. Executar o plano (gerar código).

4. Examinar os resultados quanto à precisão (teste e garantida de qualidade).

32
Engenharia de Software

§ Abrange um conjunto de três elementos fundamentais:

ü Métodos.
ü Ferramentas.
ü Procedimentos.

33
Engenharia de Software
§ MÉTODOS: proporcionam os detalhes de como fazer para construir o software.

§ FERRAMENTAS: dão suporte automatizado aos métodos.


ü Existem atualmente ferramentas para sustentar cada um dos métodos.
ü Ferramentas que dão suporte ao desenvolvimento de software CASE - Computer
Aided Software Engineering.
§ PROCEDIMENTOS: constituem o elo de ligação entre os métodos e ferramentas
ü Sequência em que os métodos serão aplicados.
ü Produtos a serem entregues.
ü Controles que ajudam assegurar a qualidade e coordenar as alterações.
ü Marcos de referência que possibilitam administrar o progresso do software.

34
Conceito de Engenharia de Software

§ “Engenharia de Software é o estabelecimento e uso de princípios sólidos de


engenharia (análise, projeto, construção, verificação e gerência de entidades
técnicas ou sociais) , com o intuito de obter, economicamente, um software
que seja confiável e funcione eficientemente em máquinas reais.” (Fritz
Bauer, 1969).

35
Conceito – IEEE 610.12

Engenharia de Software

§ 1. A aplicação de uma abordagem sistemática, disciplinada e quantificável ao


desenvolvimento, operação e manutenção do software, isto é, a aplicação da
Engenharia ao Software.

§ 2. O estudo de abordagens como as definidas em (1).

36
Uma Crise no Horizonte

§A indústria de Software tem tido uma “crise” que a acompanha há


mais de 40 anos.

§Problemas não se limitam ao software que não funciona


adequadamente, mas abrange:
üdesenvolvimento, testes, manutenção, suprimento, etc.

37
Reflexões
§Os usuários estão satisfeitos com os sistemas de software
existentes?

§Os produtos de software permitem realizar tarefas de


maneira mais rápida e eficiente do que anteriormente?

ü Avanços na medicina, na agricultura, nos transportes, no


comércio, na indústria, na educação,…

§Engenharia de Software é profissão dos sonhos de


americanos.

§Profissão mais bem paga:


http://www.careercast.com/jobs-rated/best-jobs-2015

38
Reflexões

§Entretanto, produtos de software não estão isentos de problemas.

§Enorme diferença entre um erro em um projeto feito para uma


disciplina na universidade, de um erro em um grande sistema de
software.

ü Alguns defeitos simplesmente causam aborrecimentos; outros custam


bastante tempo e dinheiro;

ü Outros podem ameaçar a vida das pessoas.

39
Quanto mais tarde a detecção de um erro, mais
cara é a sua correção!

§ Segundo Pfleeger, o custo para a correção de um erro cometido em um projeto durante


a etapa inicial da análise é um décimo do custo para corrigir um erro semelhante depois
que o sistema foi entregue ao cliente.

§ Metade dos custos de correção de defeitos encontrados durante a fase de testes e


manutenção vem de erros cometidos no início de vida do sistema.

40
Therac - 25

§Equipamento de Radioterapia.

§Entre 1985 e 1987 se envolveu em 6 acidentes,


causando mortes por overdoses de radiação.

§Software foi adaptado de uma antecessora, Therac-


6:
üfalhas por falta de testes integrados.
üfalta de documentação.

41
Defeito, Erro e Falha
§Defeito: pode impossibilitar a realização de uma ação na execução de um
programa.
ü Também conhecidos como bugs.
ü Também podem acontecer nos requisitos e documentos de projeto do software.

Thomas Edison, 1978.

42
Defeito, Erro e Falha
§Erro: uma ação humana, que resulta em um software com defeitos. Além
disso, um erro pode levar a inclusão de uma falha.

ü Desenvolvedor que interpreta de forma incorreta


um modelo de projeto.

ü Programador que atribui um tipo errado a uma


variável.

ü Testador que não executa corretamente os passos


de um caso de teste.

43
Defeito, Erro e Falha
§ Falha: De acordo com o padrão IEEE (1983) uma falha ocorre quando um
programa não se comporta conforme o esperado ou apresenta resultados
diferentes do planejado.

Erro Humano pode levar a Defeito pode levar a Falha

44
Pesquisem

§Outros fracassos do desenvolvimento de


software?

45
Questões de Engenharia de Software
v Software é somente um programa de computador?
v Por que é necessário ter uma disciplina de Engenharia de Software? Não
é suficiente somente saber programas?
v Com tantas novas tecnologias de software surgindo a cada momento,
seria possível dominar todas elas?
v As ferramentas de software disponíveis no mercado não resolvem o
problema de falta de qualidade e produtividade em desenvolvimento de
software?
v Quais são os efeitos da aplicação dos conceitos e técnicas da Engenharia
de Software na manutenção?
v Por que o desenvolvimento de software apoiado na Engenharia de
Software exige muita documentação?
v Se o software vai ser alterado constantemente, vale a pena manter seus
documentos atualizados?
v Quais conceitos e técnicas de Engenharia de Software são uteis para um
desenvolvimento de software?
46
Qual o papel do Engenheiro de Software?

§ Utilizar conceitos, princípios, métodos e ferramentas para construir programas


de computador para solucionar determinado problema.

§ Projetar e desenvolver software de alta qualidade.

47
Ambições dos Engenheiros de Software

48
Ambições dos Engenheiros de Software

49
Quem faz a Engenharia de Software?

§ A comunicação entre clientes e desenvolvedores.


§ Componentes-chave no desenvolvimento de software:
ü Cliente.
ü Desenvolvedor.
ü Usuário.

50
Uma Perspectiva da Indústria de Software?

§ Atualmente software custa mais que hardware.


§ Constante auto-questionamento de gerentes e técnicos:
ü Por que é preciso tanto tempo para terminar os programas?
ü Por que os custos são tão altos?
ü Por que não 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 construído ?

51
Causas óbvias dos Problemas da ES
§ Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resulta
em estimativas “a olho”.

§ Comunicação entre o cliente e o desenvolvedor é muito fraca.

§ Falta de testes sistemáticos e completos.

§ O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido


clássico.

§ Profissionais recebem pouco treinamento formal.

§ Falta investimento (em ES).

§ Falta métodos e automação.


52
Quais são os atributos de um bom software?
§ O software deve atender os requisitos funcionais e desempenho que foram
solicitados pelo usuário e além disso deve atender requisitos não funcionais,
tais como facilidade de manutenção, nível de confiança, eficiência e facilidade
de uso.

§ Facilidade de manutenção
ü Software deve ser escrito de modo que possa evoluir para atender as
necessidades mutáveis.

§ Nível de confiança
ü Software confiável não deve ocasionar danos físicos ou econômicos, no
caso de um defeito no sistema.

53
Quais são os atributos de um bom software?

§ Eficiência
ü O Software não deve desperdiçar os recursos do sistema.

§ Facilidade de uso
ü O Software deve ser utilizável, sem esforços indevidos, pelo usuário para
quem foi projetado.

54
Conclusões

§ Quais são os problemas?

ü A sofisticação do software ultrapassou nossa capacidade de construção.

ü Nossa capacidade de construir programas não acompanha a demanda por


novos programas.

ü Nossa capacidade de manter programas é ameaçada por projetos ruins.

55
Conclusões

§ Desenvolver software é um processo complexo.

§ Sucesso depende de pessoas, de processos e ferramentas.

§ Existem vários modelos de processo:


ü Todos têm pontos positivos e fracos;
ü Todos têm fases genéricas em comum;
ü Devemos procurar melhorar o processo corrente;
ü CMMI e MPS.BR ajudam neste aspecto.

56
Conclusões

§ Soluções
ü Começar a utilizar conceitos de engenharia de SW.

ü Tratar o software como um produto.

ü Utilizar sempre um modelo de processo de SW.

ü Treinamento contínuo em técnicas, metodologias e modelos.

57
Exercício de Fixação – Entregar na próxima aula

4. Quais os materiais do Engenheiro de Software?

5. Quais as ferramentas do Engenheiro de Software?

6. Quais são os fatores que dificultam a adoção de boas práticas de Engenharia de


Software?

7. Quem usa produtos e serviços de software?

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

58
Exercício de Fixação – Entregar na próxima aula

9. São comuns nas equipes de desenvolvimento de software, profissionais


responsáveis por várias funções como analistas, projetistas, programadores
simultaneamente em um mesmo projeto. Quais são as implicações dessa
organização de equipes?

10. Após mais de 40 anos de Engenharia de Software, pode-se dizer que ainda se
vive uma crise de software, considerando a falta de atendimento de prazos, custos
e de qualidade?

59
Referências

§ SOMMERVILLE, Ian. Engenharia de software. 8. ed. São Paulo Pearson Addison Wesley, 2008.
552 p. ISBN 9788588639287. Capítulo I e II.
§ ENGHOLM. H. J. Engenharia de Software na prática. Editora Novatec. 2010 – Capítulo I itens
1.9; 1.10; 1.11.1; 1.11.2.
§ HIRAMA. K. Engenharia de Software: Qualidade e Produtividade com Tecnologia. Capítulo I.
§ PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática. 2. ed. São Paulo: Pearson
Prentice Hall, 2007. 537 p. ISBN 9788587918314. Capítulo I.
§ PRESSMAN, Roger S. Engenharia de software. 7. ed. São Paulo, SP: Pearson Makron Books,
2011. 780 p. ISBN 9788563308337.
§ PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos, métodos e padrões. 3.
ed. reimpr. Rio de Janeiro, RJ: LTC, 2012. 1248 p. ISBN 9788521616504.

60