Buscar

Slide 1

Prévia do material em texto

Profa. MSc. Priscila Facciolli
UNIDADE I
Engenharia de Software I
O que é software?
 São instruções (programas de computadores) que quando executadas fornecem as 
características, as funções e o desempenho desejados.
 Estruturas de dados que permitem aos programas manipular adequadamente a informação.
 Documentos que descrevem a operação e o uso dos programas.
Conceitos preliminares
Definições de Engenharia de Software:
 Segundo o IEEE, Engenharia de Software é a aplicação de uma abordagem sistemática, 
disciplinada e quantificável ao desenvolvimento, à operação e à manutenção do software.
 Segundo Sommerville (2011), “é uma disciplina de Engenharia relacionada com todos os 
aspectos da produção de software, desde os estágios iniciais de especificação de sistemas 
até a manutenção desse sistema”.
Conceitos e objetivos
Definições de Engenharia de Software:
 Disciplina de engenharia: aplicação de técnicas, métodos e ferramentas para melhorar os 
resultados de uma atividade.
 Todos os aspectos da produção de software: a Engenharia de Software não está relacionada 
apenas ao processo técnico de desenvolvimento de software, mas também a atividades de 
gestão do projeto, qualidade e métricas que suportem esse processo.
Conceitos e objetivos
Camadas da Engenharia de Software
Fonte: livro-texto
 Ferramentas
 É a camada que proporciona apoio automatizado aos processos e aos métodos, como as 
ferramentas CASE (Computer Aided Software Engineering).
 Métodos
 É a camada que fornece a técnica de como fazer para construir software, ou seja, 
abordagens que incluem comunicação, análise de requisitos, modelagem, construção, testes 
e suporte.
Camadas da Engenharia de Software
 Processo
 É a camada que constitui o elo que mantém juntos os métodos e as ferramentas. Define a 
sequência em que os métodos devem ser aplicados, controlando o projeto, a qualidade, 
definindo os produtos de trabalho e coordenando as mudanças de requisitos.
 Qualidade
 É a camada que suporta a Engenharia de Software, tendo como foco o aperfeiçoamento 
contínuo dos processos.
Camadas da Engenharia de Software
Diferenças básicas entre um software e um outro produto manufaturado:
 Complexidade.
 Não é visto e nem sentido (intangibilidade).
 Não existe produção em série – é sob medida.
 Não tem prazo de validade.
 Precisa acompanhar a evolução técnica e de negócio.
 Ilusão de fácil de ser alterado.
A natureza mutável do software
A Engenharia de Software está dividida em 4 camadas. Qual é a camada responsável por 
definir as técnicas e como elas devem ser utilizadas durante o desenvolvimento do sistema?
a) Qualidade.
b) Processo.
c) Método.
d) Ferramentas.
e) Nenhuma das alternativas está correta.
Interatividade
A Engenharia de Software está dividida em 4 camadas. Qual é a camada responsável por 
definir as técnicas e como elas devem ser utilizadas durante o desenvolvimento do sistema?
a) Qualidade.
b) Processo.
c) Método.
d) Ferramentas.
e) Nenhuma das alternativas está correta.
Resposta
 Para atender as necessidades das empresas, diversos tipos de aplicação surgiram ao longo 
do tempo para atender as constantes demandas comerciais, industriais e pessoais da 
sociedade atual.
 Esses tipos de aplicação são apresentados a seguir.
Tipos de aplicações de softwares
 Sistemas de Processamento de Transações (SPT)
 Sistemas de Informações Gerenciais (SIG)
 Sistemas de Apoio à Decisão (SAD)
 Sistemas de Informação Executiva (SIE)
 Sistemas Especialistas (SE)
 Sistemas de Automação de Escritório (SAE)
Classificações de aplicações de software
 Sistemas tradicionais que coletam, guardam, modificam e recuperam as transações, 
gerenciando as informações das organizações.
 Uma transação é um evento que gera ou modifica dados.
 As transações podem ser de negócio (financeiras, imobiliárias) ou técnicas (banco de dados, 
transações operacionais).
Exemplos: site bancário, compras pela internet, sistema de biblioteca, sistema contábil etc.
Sistemas de Processamento de Transações (SPT)
Características:
 Tempo de resposta rápida – atender os usuários.
 Confiabilidade – dependência da organização.
 Inflexibilidade – processada da mesma maneira.
 Processamento controlado – suporte à organização.
 Armazenamento e recuperação de informação.
 Registro para auditoria – geração de log.
Sistemas de Processamento de Transações (SPT)
Exemplo de uma estrutura física (SPT)
Fonte: autoria própria
Servidor Web
Servidor de 
aplicações
Servidor de 
banco de dados
Cliente Cliente Cliente Cliente Cliente
 São sistemas que fornecem informações integradas para o gerenciamento das organizações.
 Normalmente, são fornecidos como pacotes customizáveis.
 Apoiam o planejamento, o controle e a decisão das organizações por meio de relatórios, 
processos correntes, acesso online e eventos internos.
Exemplos: ERP (TOTVS, SAP) e CRM (relacionamento com o cliente).
Sistemas de Informações Gerenciais (SIG)
Exemplos de SIG:
 ERP: Sistemas Integrados de Gestão Empresarial: interface com banco de dados único para 
gerenciar todos os processos de negócios de uma empresa.
 SCM: Gerenciamento da Cadeia de Suprimentos: permite uma gestão mais eficiente do 
negócio, integrando com fornecedores, fabricantes, atacadistas, varejistas até o 
consumidor final.
 CRM: Gestão de Relacionamento com o Cliente: apoia as empresas na gerência e em 
estreitar laços com clientes.
 KMS: Gestão do Conhecimento: recolhe, registra, organiza e 
recupera o conhecimento dos colaboradores para que fiquem 
internalizados na empresa.
Sistemas de Informações Gerenciais (SIG)
Sistemas de Informações Gerenciais (SIG)
Exemplo de estrutura de ERP:
Fonte: adaptado de: www.acii.com.br
Atendimento 
ao cliente Ordem de 
serviço
Caixa
Estoque
Financeiro
Gerenciamento
Departamento 
pessoal
ERP
 São sistemas que analisam um grande número de variáveis e dados para que seja possível o 
posicionamento quanto a uma questão.
 São interativos com os usuários, processam grande quantidade de informação para gerar 
análises precisas e geram relatórios analíticos da situação.
 Envolvem pesquisa de banco de dados, inteligência artificial, simulações e estatísticas.
 Exemplos clássicos são: análise de crédito, sistemas de BI (Business Inteligence) em geral.
Sistemas de Apoio à Decisão (SAD)
Relacionamento com o cliente
 Passivo, ativo e cooperativo.
Modo de apoio
 Base em modelos, dados ou conhecimento.
Escopo da aplicação
 Empresarial ou desktop.
Sistemas de Apoio à Decisão (SAD)
Arquitetura de um Sistema de Apoio à Decisão (SAD)
Fonte: adaptado de: livro-texto.
Usuário
Interface 
do usuário
Engenharia do 
conhecimento
Sistema gerenciador 
de modelagem 
(SGM)
Sistema 
gerenciador de 
BD (SGBD)
Existem diversos tipos de aplicações de software, com finalidades específicas, para todas as 
áreas de negócio de uma empresa. O tipo de aplicação que permite a integração de várias 
áreas com a troca de informações em um mesmo ambiente é o:
a) Sistema de Apoio à Decisão.
b) Sistema de Especialistas.
c) Sistema de Informações Transacionais.
d) Sistema de Automação de Escritório.
e) Sistema de Informações Gerenciais.
Interatividade
Existem diversos tipos de aplicações de software, com finalidades específicas, para todas as 
áreas de negócio de uma empresa. O tipo de aplicação que permite a integração de várias 
áreas com a troca de informações em um mesmo ambiente é o:
a) Sistema de Apoio à Decisão.
b) Sistema de Especialistas.
c) Sistema de Informações Transacionais.
d) Sistema de Automação de Escritório.
e) Sistema de Informações Gerenciais.
Resposta
 Trata-se de um tipo de sistema de informações gerenciais destinado a facilitar e apoiar a 
informação e a tomada de decisão dos altos executivos.
 É uma forma especializada de SAD, que apresenta os resultados em telas gráficas, fáceisde 
usar e de navegar, criando situações de detalhamento.
 Vem perdendo espaço para os sistemas de BI (Business Inteligence) com seus relatórios e 
painéis interativos.
Sistema de Informação Executiva (SIE)
Características:
 Não exige experiência com computador.
 Fácil de usar.
 Fornece informações resumidas da empresa.
 Possui filtros de dados para a gestão.
 Os dados são obtidos das outras aplicações da organização. 
 Essencialmente, é uma aplicação de consulta.
Sistema de Informação Executiva (SIE)
Exemplo de estrutura de um Sistema de Informação Executiva (SIE)
Fonte: adaptado de: www.wiki.thema.inf.br
Dezenas mais sorteadas
Quina
Rateio
Ganhadores
Ano Sorteio
Dezenas
Mês sorteio Dia sorteio Filtro
dez
Quadra
Total sorteado
R$190.544.247,44
mai
mar
ago
set
jul
jan
abr
Outros
nov
Mês sorteio
Jan
Mar
Abr
Mai
Jul
R$ 14.410.708,81
R$ 21.713.718,92
R$ 10.000.441,74
R$ 28.424.544,43
R$17.198.359,95
2003
 Usam conhecimentos e procedimentos de inferência para resolver problemas que 
necessitam de especialistas para serem resolvidos.
 Utilizam inteligência artificial com linguagens como LISP e PROLOG..
 São capazes de simular a capacidade de decisão humana.
Exemplo: fazer diagnóstico do sistema de injeção de um automóvel, análise de crédito de um 
cliente, entre outros.
Sistemas Especialistas (SE)
Vantagens:
 Custo reduzido.
 Perigo reduzido.
 Múltiplos conhecimentos.
 Aumento do nível de confiança. 
 Resposta rápida.
Sistemas Especialistas (SE)
 São aplicativos que facilitam a vida dos funcionários de uma empresa realizando as 
atividades que outrora eram manuais.
 Aumentam a produtividade e a qualidade das informações apresentadas.
 Principais são: editores de texto, planilhas eletrônicas, e-mail, chats, correios de voz, 
videoconferência, entre outros.
Sistemas de Automação de Escritório (SAE)
São exemplos de softwares para Sistemas de Processamento de Transações (SPT):
a) Controle da produção, datawarehouse e estoque.
b) Gestão financeira, faturamento e estoque.
c) Contas a pagar, faturamento e estoque.
d) Robótica, inteligência artificial e estoque.
e) Nenhuma das alternativas está correta.
Interatividade
São exemplos de softwares para Sistemas de Processamento de Transações (SPT):
a) Controle da produção, datawarehouse e estoque.
b) Gestão financeira, faturamento e estoque.
c) Contas a pagar, faturamento e estoque.
d) Robótica, inteligência artificial e estoque.
e) Nenhuma das alternativas está correta.
Resposta
Para tratar esses problemas, a Engenharia de Software possui a disciplina: Gestão de Projetos.
Seu conceito: permitir que empresas criem um produto de software de acordo com:
 O que foi solicitado (escopo).
 Dentro do prazo.
 Dentro do orçamento. 
 Com a qualidade esperada.
Problemas com prazos, planejamentos e custos
Fonte: autoria própria 
Tempo
Escopo
Custo
Qualidade
Escopo
 É necessário identificar com clareza e com detalhes quais são as necessidades (requisitos) 
dos envolvidos no projeto.
Prazo
 Uma vez definido o escopo, são realizadas as estimativas de tempo e recursos para atender 
essas necessidades.
Custo
 Com a definição do prazo e dos recursos, chega-se a 
estimativa de valores para a realização do projeto.
Problemas com prazos, planejamentos e custos
 Qualidade de um produto de software pode ser definida como o atendimento às 
necessidades do cliente.
 O processo de qualidade deve fazer parte do processo de desenvolvimento de software.
 Deve ser verificada durante todo o ciclo de construção (garantia da qualidade) e validada 
quando o produto está pronto (controle da qualidade).
 Qualidade é uma ação preventiva.
Qualidade de software
Processo-base de qualidade de software
Fonte: adaptado de: livro-texto.
Início
Não Sim
Fim
Melhora o 
processo
Produto 
ok?
Processo 
padronizado
Desenvolve 
produto
Assegura a 
qualidade 
do produto
Define 
processo
 O gerenciamento de projetos se baseia na tríplice restrição para atender às expectativas 
dos clientes. 
Assinale a alternativa que apresenta elementos que pertencem a essa tríplice restrição:
a) Escopo, custos e riscos.
b) Prazo, riscos e qualidade.
c) Escopo, recursos e qualidade.
d) Escopo, prazo e qualidade.
e) Recursos, custo e qualidade.
Interatividade
 O gerenciamento de projetos se baseia na tríplice restrição para atender às expectativas 
dos clientes. 
Assinale a alternativa que apresenta elementos que pertencem a essa tríplice restrição:
a) Escopo, custos e riscos.
b) Prazo, riscos e qualidade.
c) Escopo, recursos e qualidade.
d) Escopo, prazo e qualidade.
e) Recursos, custo e qualidade.
Resposta
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
Referências
ATÉ A PRÓXIMA!

Continue navegando