Engenharia de Software I Aula 2

Fazer download em pptx, pdf ou txt
Fazer download em pptx, pdf ou txt
Você está na página 1de 45

Engenharia de Software I

A Natureza Mutável do Software

Hoje em dia sete amplas categorias de softwares


de computadores apresentam desafios
contínuos para os engenheiros de software.

A partir dessas verificamos o porquê de dizer a


natureza mutável do software.
Engenharia de Software I

1) Software de Sistemas: Software de sistema é


uma coleção de programas escritos para
servir a outros programas. A área de software
de sistemas é caracterizada por interação
intensa com o hardware, uso intenso de
usuários, possui estrutura de dados
complexas ( Exemplos: SO, Sistemas de rede)
Engenharia de Software I

2) Software de Aplicação: O software de


aplicação consiste em programas isolados
que resolvem uma necessidade específica do
negócio da empresa (Exemplo: Software de
sistema de tempo real, de pontos de vendas).
Engenharia de Software I

3) Softwares Científicos ou de Engenharia:


Antigamente esses eram caracterizados por
algoritmos que processavam grandes
quantidades de números. Hoje em dia essas
aplicações estão mais próximas de software
de sistemas. Exemplo (software de controle
de riscos – Astronômicos, Vulcanológicos, da
NASA).
Engenharia de Software I

4) Softwares Embutidos: O software embutido


reside dentro de um produto ou sistema e é
usado para implementar e controlar
características e funções para o usuário final e
para o próprio sistema. Os softwares embutidos
podem realizar tarefas muito limitadas e
também tarefas da mais alta capacidade de um
software (controles remotos).
Engenharia de Software I

5) Software para linha de produto: Projetado


para fornecer uma capacidade específica a
ser usada por muitos clientes diferentes, esse
software pode focar para um mercado
limitado e especial ou dirigir-se ao mercado
de consumo em massa (pacote Office,
Windows)
Engenharia de Software I

6) Aplicações da WEB: Dos mais variados tipos.

7) Software para inteligência artificial: O


softwares de IA faz uso de algoritmos não
numéricos para resolver problemas
complexos que não são passíveis de
computação e analise direta.
Engenharia de Software I

Mas por que natureza mutável do software?

De acordo com autores consagrados da disciplina, o software


é um produto diferenciado dos demais de manufatura,
possuindo características que lhe dão natureza própria e
específica. Conhecer essas características é o primeiro passo
para compreender os problemas enfrentados por todos os
envolvidos no processo de software.
Engenharia de Software I

Existem diferenças importantes entre produtos de software


e produtos manufaturados:

Complexidade: normalmente um produto de software tem


muitas regras a serem cumpridas; muitas linhas de código
a serem implementadas; e diversos desenvolvedores, que
têm ideias diferentes e, algumas vezes, divergentes, mas
que podem levar à mesma solução.
Engenharia de Software I

Invisibilidade e intangibilidade: o software é


invisível para o usuário ou cliente. O que se vê
são as consequências da execução,
diferentemente de um produto manufaturado
oriundo de outras engenharias, como um prédio
(da engenharia civil) ou um carro (da engenharia
mecânica ou da automotiva).
Engenharia de Software I

Conformidade e modificabilidade: o software é a


interface entre diversas entidades do meio no qual é
utilizado.

Produção sob medida (taylormade): para software,


não existe produção em série, cada usuário é um
cliente que usa o software à sua maneira, com ênfase
em partes diferentes.
Engenharia de Software I

Não tem prazo de validade: o software não é


sensível a problemas ambientais, nem sofre
nenhum tipo de defeito em razão do uso
cumulativo (aumento de usuários e execução
em máquinas diferentes).
Engenharia de Software I

Ilusão de maleabilidade (fácil de mudar): o


software possui uma ilusão de maleabilidade
extremamente elevada, em razão da sua
natureza abstrata ou não física. As pessoas o
notam como algo de fácil adaptação.
Engenharia de Software I

TIPOS DE APLICAÇÕES DE SOFTWARE

Classificações de aplicações de software

Para atender às necessidades das organizações e da própria


sociedade, foram surgindo, ao longo do tempo, diversos tipos de
aplicações de software ou sistemas de informação que abrangem
praticamente todas as atividades comerciais, industriais e pessoais da
sociedade atual.
Engenharia de Software I

•Sistemas de Processamento de Transações (SPT) ou


Transaction Processing System (TPS)

Constituem um tipo de sistema de informação


ou aplicação de software transacional. Coletam,
guardam, modificam e recuperam as transações
(operações das áreas de negócio) de uma
organização.
Engenharia de Software I
Uma transação é um acordo, uma comunicação, um
movimento ou algo realizado entre entidades
diferentes ou objetos, muitas vezes, envolvendo a
troca de itens de valor, tais como informações, bens,
serviços e dinheiro.
Além disso, caso a troca seja de mercadorias, de um
lado, por dinheiro, do outro, será conhecida como
transação de duas partes: uma parte está dando o
dinheiro, e a outra parte está recebendo a mercadoria.
Engenharia de Software I
São exemplos de transações: financeira,
imobiliária, custo de transação, de banco de
dados, processamento de transações etc.
Engenharia de Software I
Para ser considerado um SPT ou TPS, um sistema de
informação deve passar pelo teste de Atomicidade,
Consistência, Isolamento e Durabilidade (ACID). Em
ciência da computação, ACID é um conjunto de
propriedades que garante que as operações de
bancos de dados sejam processadas de forma
confiável. No contexto de bancos de dados, uma
única operação lógica sobre os dados é chamada de
transação.
Engenharia de Software I
A essência de um programa transacional é que ele
gerencia os dados que devem ser deixados em um
estado consistente. Um exemplo: se um
pagamento eletrônico for feito em um sistema
bancário, o montante deverá ser retirado de uma
conta e adicionado a outra. Se o sistema ou a
aplicação não puder completar apenas um desses
passos, deixará a transação bancária inconsistente.
Engenharia de Software I
Sistemas desse tipo são integrados e atendem
ao nível operacional, bem como
computadorizados, realizando transações
rotineiras, como folha de pagamento, pedidos
etc.
Engenharia de Software I
Os recursos são predefinidos e estruturados, e por
meio deles os gerentes monitoram operações
internas e externas da empresa. Dessa forma, são
críticos, pois, se deixarem de funcionar, poderão
causar danos à própria empresa e a outras.
Atendem a quatro categorias funcionais:
vendas/marketing, fabricação/produção,
finanças/contabilidade e recursos humanos.
Engenharia de Software I
Sistemas ou aplicações TPS apresentam as
características descritas a seguir.
Resposta rápida (rapid response): alto desempenho
com tempo de resposta rápido é uma característica
essencial. As empresas não podem ter clientes à espera
de um TPS para responder às suas transações. O tempo
de resposta a partir da entrada da transação, para
processá-la e gerar a saída, deve ser de alguns
segundos ou menos.
Engenharia de Software I
Confiablidade (reliability): muitas organizações
dependem fortemente de seus sistemas TPS – um
colapso irá interromper as operações ou mesmo parar
o negócio. Para um TPS ser considerado eficaz, sua taxa
de falha deve ser muito baixa. Se um TPS falhar, então a
recuperação rápida e precisa deverá ser permitida. Isso
é feito com procedimentos de backup e recuperação do
essencial.
Engenharia de Software I
Inflexibilidade (inflexibility): para um sistema TPS, cada
transação deve ser processada da mesma maneira,
independentemente do usuário, do cliente ou da hora do
dia. Se um TPS for flexível, haverá muitas oportunidades
para a execução de operações não padrão. Por exemplo,
uma linha aérea comercial precisa, constantemente,
aceitar reservas de passagens aéreas a partir de uma
variedade de agentes de viagens; aceitar dados
diferentes de operações distintas de agentes seria um
problema.
Engenharia de Software I
Processamento controlado (controlled processing): o
processamento de um TPS deve dar suporte às
operações de uma organização. Por exemplo, caso uma
organização atribua funções e responsabilidades aos
funcionários em particular, o TPS deve aplicar e manter
essa exigência (segurança).
Engenharia de Software I
Armazenamento e recuperação de informações nos
TPS: armazenar e recuperar informações em um TPS
deve ser eficiente e eficaz. Os dados são armazenados
em bases de dados, e o sistema deve ser projetado
corretamente, com procedimentos de backup e
recuperação. O armazenamento e a recuperação dos
dados devem ser precisos, uma vez que estes são
usados muitas vezes ao longo do dia.
Engenharia de Software I
Um banco de dados é uma coleção de dados bem-
organizados, que armazena os registros contábeis e
operacionais na base de dados; é sempre o protetor de
dados delicados das organizações, permitindo,
geralmente, uma visão restrita quanto aos seus
acessos; é projetado dentro de determinadas
estruturas de BDs existentes comercialmente: estrutura
hierárquica, estrutura em rede, estrutura relacional e
estrutura orientada a objetos.
Engenharia de Software I
Como as organizações empresariais têm-se tornado
muito dependentes dos aplicativos ou sistemas do tipo
TPS, um colapso nesses sistemas pode parar rotinas
regulares do negócio e, assim, interromper o seu
funcionamento por um determinado período de tempo.
A fim de evitar perda de dados e minimizar as
interrupções quando um TPS falha, um bom backup e
procedimentos de recuperação são colocados em uso. O
processo de recuperação pode reconstruir o sistema ou a
aplicação quando ocorre uma falha.
Engenharia de Software I
•Sistemas de Informações de Gestão (SIG) ou Management
Information Systems (MIS)

São sistemas ou aplicativos que fornecem as


informações necessárias para gerenciar efetivamente
as organizações. Esses sistemas envolvem três recursos
primários: tecnologia, informações e pessoas.
Engenharia de Software I
É importante reconhecer que, embora todos os três recursos
sejam componentes-chave, quando se estudam SIGs ou MIS, o
recurso mais importante são as pessoas envolvidas.
SIGs englobam o estudo dos sistemas de informação nas
empresas e na administração; dão suporte ao nível gerencial
por meio de relatórios, processos correntes e históricos por
meio de acessos on-line orientados a eventos internos,
apoiando o planejamento, o controle e a decisão; e dependem
dos aplicativos TPS para aquisição de dados, resumindo e
apresentando operações e dados básicos periodicamente.
Engenharia de Software I
Os SIGs são distintos dos TPS, já que estes são usados
para analisar outros sistemas de informação aplicados
às atividades operacionais da organização.
Academicamente, o termo é usado com frequência
para referir-se ao grupo de métodos de gestão de
informação ligado à automação ou ao apoio à tomada
de decisão humana, por exemplo, Sistemas de Apoio à
Decisão (SADs), ou sistemas especialistas.
Engenharia de Software I
A sigla SIG (ou MIS) surgiu para descrever esses tipos de
aplicação de software, que foram desenvolvidos para
fornecer, aos gestores, informações sobre vendas,
estoques e outros dados que ajudam na gestão da
empresa.
Engenharia de Software I
A sigla SIG, hoje, é utilizada amplamente em uma série
de contextos e inclui, entre outros:

•Sistemas de Apoio a Decisão (SADs);


•Recursos e aplicações de gestão de pessoas;
•Sistemas Integrados de Gestão Empresarial (ERP –
Enterprise Resource Planning);
•Gestão do Desempenho Empresarial (EPM – Enterprise
Performance Management);
Engenharia de Software I

•Gerenciamento da Cadeia de Suprimentos


(SCM – Supply Chain Management);
•Gestão do Relacionamento com o Clientes
(CRM – Customer Relationship Management);
•Gestão de projetos e aplicações de
recuperação de banco de dados.
Engenharia de Software I

Os SIGs ou MIS são sistemas


planejados de coleta, processamento,
armazenamento e divulgação de dados
na forma de informações necessárias
para apoiar as pessoas a
desempenharem as funções de gestão.
Engenharia de Software I

A sigla MIS e a expressão sistema de


informação, muitas vezes, são confundidos.
Sistemas de informação incluem aqueles que
não se destinam à tomada de decisão. A área
de estudo chamada MIS refere-se, em
sentido restrito, à gestão de tecnologia da
informação.
Engenharia de Software I

Essa área de estudo não deve ser


confundida com ciência da computação.
Gestão de serviços é uma disciplina
profissional focada; MIS tem, também,
algumas diferenças em relação a ERP, que
incorpora elementos não necessariamente
focados na decisão.
Engenharia de Software I
Um sistema MIS de sucesso deve dar suporte a um
plano de negócios de cinco anos ou equivalente. Deve
fornecer relatórios baseados em análise de
desempenho em áreas críticas desse plano, com
feedback constante, que permita o controle de cada
aspecto do negócio, incluindo o recrutamento e os
regimes de treinamento. Com efeito, o MIS deve não
apenas indicar como está o andamento do negócio,
mas também por que este não vai tão bem como
planejado, quando for o caso.
Engenharia de Software I
Alguns benefícios que podem ser apresentados para
diferentes tipos de sistemas de gestão da informação:

- a empresa é capaz de destacar suas forças e


fraquezas, em razão da presença de relatórios de
receita, registros de desempenho do empregado etc.;

- a identificação desses aspectos pode ajudar a


empresa a melhorar seus processos de negócios e
operações;
Engenharia de Software I

- a disponibilidade dos dados do cliente e o feedback


podem ajudar a empresa a alinhar seus processos de
negócio com as necessidades dos clientes;

- a gestão eficaz de dados de clientes pode ajudar a


empresa a realizar atividades de marketing direto e a
fazer promoções diferenciadas;
Engenharia de Software I

- a informação é considerada um ativo importante para


qualquer empresa no mundo moderno competitivo;

- as tendências de compra do consumidor e os


comportamentos deste podem ser previstos pela
análise dos relatórios de vendas e das receitas de cada
região de operação da empresa.
Engenharia de Software I

Exemplo de sistemas SIG ou MIS:

ERP – Enterprise Resource Planning ou Sistemas


Integrados de Gestão Empresarial: planejamento de
recursos empresariais que fornece uma interface de
usuário para toda a organização, a fim de gerenciar
processos de negócios. Isso pode incluir gerenciamento
de projetos, contabilidade, pessoal, produção e
distribuição.
Engenharia de Software I

SCM – Supply Chain Management ou Gerenciamento


da Cadeia de Suprimentos: sistemas que permitem uma
gestão mais eficiente da cadeia de abastecimento,
integrando os elos de uma cadeia de suprimentos. Isso
pode incluir fornecedores, fabricantes, atacadistas,
varejistas e consumidores finais.
Engenharia de Software I

CRM – Customer Relationship Management ou Gestão


do Relacionamento com Clientes: sistemas de apoio às
empresas na gerência e nos relacionamentos com
clientes potenciais e atuais, e com parceiros de
negócios em marketing, vendas e serviços.
Engenharia de Software I

KMS – Knowledge Management Systems ou Sistemas


de Gestão de Conhecimento: ajudam as organizações a
facilitarem a recolha, o registro, a organização, a
recuperação e a disseminação do conhecimento. Isso
pode incluir documentos, registros contábeis, dados
sem registro e procedimentos, práticas e habilidades.

Você também pode gostar