Escolar Documentos
Profissional Documentos
Cultura Documentos
Doutor em Engenharia de Produção pela Escola Politécnica da Universidade de São Paulo (USP); mestre em
Engenharia de Produção pela Universidade Paulista (Unip); graduado em Física pela USP.
CDU 681.3
© Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou
quaisquer meios (eletrônico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem
permissão escrita da Universidade Paulista.
Prof. Dr. João Carlos Di Genio
Reitor
Comissão editorial:
Dra. Angélica L. Carlini (UNIP)
Dra. Divane Alves da Silva (UNIP)
Dr. Ivan Dias da Motta (CESUMAR)
Dra. Kátia Mosorov Alonso (UFMT)
Dra. Valéria de Carvalho (UNIP)
Apoio:
Profa. Cláudia Regina Baptista – EaD
Profa. Betisa Malaman – Comissão de Qualificação e Avaliação de Cursos
Projeto gráfico:
Prof. Alexandre Ponzetto
Revisão:
Valéria Nagy
Juliana Maria Mendes
Sumário
Engenharia de Software I
APRESENTAÇÃO.......................................................................................................................................................7
INTRODUÇÃO............................................................................................................................................................7
Unidade I
1 FUNDAMENTOS DA ENGENHARIA DE SOFTWARE.................................................................................9
1.1 Conceitos preliminares .........................................................................................................................9
1.2 Conceitos e objetivos........................................................................................................................... 11
1.3 Conceitos de processo e produto de software.......................................................................... 13
1.3.1 Processos de software............................................................................................................................ 13
1.3.2 A dimensão do produto de software............................................................................................... 15
1.4 A natureza mutável do software.................................................................................................... 15
2 TIPOS DE APLICAÇÕES DE SOFTWARE..................................................................................................... 19
2.1 Classificações de aplicações de software.................................................................................... 19
2.1.1 Sistemas de Processamento de Transações (SPT) ou Transaction Processing
System (TPS).......................................................................................................................................................... 20
2.1.2 Sistemas de Informações de Gestão (SIG) ou Management Information Systems (MIS)......23
2.1.3 Sistemas de Apoio à Decisão (SAD) ou Decision Support Systems (DSS)......................... 25
2.1.4 Sistemas de Informação Executiva (SIE) ou Executive Information Systems (EIS)....... 30
2.1.5 SE (Sistemas Especialistas) ou ES (Expert Systems)................................................................... 31
2.1.6 Sistemas de Automação de Escritório (SAE) ou Office Automation Systems (OAS).... 34
2.2 Problemas com prazo, planejamento e custos ........................................................................ 35
2.3 Qualidade de software........................................................................................................................ 38
Unidade II
3 PROCESSO DE SOFTWARE............................................................................................................................. 45
3.1 Conceitos preliminares ...................................................................................................................... 45
3.2 Etapas do processo de software...................................................................................................... 48
3.3 Processo Pessoal de Software (PSP)............................................................................................... 51
3.4 Processo para equipe de software (TSP) ..................................................................................... 55
4 MODELOS DE CICLO DE VIDA DE SOFTWARE........................................................................................ 62
4.1 Introdução a ciclo de vida de software........................................................................................ 62
4.2 Os principais modelos de ciclo de vida de software............................................................... 64
4.2.1 O modelo codifica-remenda............................................................................................................... 64
4.2.2 O modelo cascata (waterfall).............................................................................................................. 64
4.2.3 O modelo incremental........................................................................................................................... 65
4.2.4 O modelo Rapid Application Development (RAD)...................................................................... 68
4.2.5 Os modelos evolucionários.................................................................................................................. 70
4.2.6 Os modelos especializados................................................................................................................... 72
4.2.7 O Unified Process (UP) .......................................................................................................................... 74
4.2.8 O Rational Unified Process (RUP)...................................................................................................... 77
4.2.9 O processo Praxis..................................................................................................................................... 79
4.2.10 O processo cleanroom (sala limpa)................................................................................................ 80
Unidade III
5 OS MODELOS E MÉTODOS ÁGEIS............................................................................................................... 86
5.1 Considerações e conceitos ............................................................................................................... 86
5.2 O método ágil eXtremme Programming (XP)............................................................................ 91
5.3 O método ágil Scrum........................................................................................................................... 94
5.4 O método ágil Iconix............................................................................................................................ 99
6 OUTROS MODELOS E MÉTODOS ÁGEIS.................................................................................................102
6.1 O método ágil Feature Driven Development (FDD)...............................................................102
6.2 O método ágil Adaptative Sofware Development (ASD)....................................................106
6.3 O método ágil Dynamic Systems Development Method (DSDM)...................................107
6.4 O método ágil Crystal........................................................................................................................109
6.5 método ágil Test Driven Development (TDD)...........................................................................110
6.6 A modelagem ágil (MA)....................................................................................................................112
Unidade IV
7 PRÁTICAS DA ENGENHARIA DE SOFTWARE........................................................................................118
7.1 Conceitos preliminares......................................................................................................................118
7.2 Princípios centrais...............................................................................................................................118
7.3 Práticas de comunicação.................................................................................................................120
7.3.1 A técnica de reunião walkthrough................................................................................................ 123
7.3.2 A técnica de reunião Joint Application Development/Design (JAD)................................ 124
7.4 Práticas de planejamento................................................................................................................127
7.4.1 Plano de projetos.................................................................................................................................. 130
7.4.2 Estrutura Analítica do Projeto (EAP) ou Work Breakdown Structure (WBS).................131
7.4.3 Recursos.................................................................................................................................................... 132
7.4.4 Responsabilidades................................................................................................................................ 133
7.4.5 Cronogramas.......................................................................................................................................... 134
7.4.6 Gerenciamento de riscos................................................................................................................... 134
8 PRÁTICAS DE MODELAGEM.......................................................................................................................135
8.1 Conceitos preliminares......................................................................................................................135
8.2 Modelagem orientada a objetos...................................................................................................138
8.3 Modelagem de sistemas com a linguagem unificada de modelos ou Unified
Modeling Language (UML)......................................................................................................................142
8.4 Modelagem de processos de negócio com Business Process Modeling
Notation (BPMN) .............................................................................................................................................................. 145
8.5 Outras práticas de modelagem de software............................................................................146
8.6 Práticas de construção......................................................................................................................148
8.6.1 Arquitetura baseada em componentes........................................................................................ 149
8.6.2 Verificação da qualidade.................................................................................................................... 149
8.6.3 Controle de mudanças........................................................................................................................ 150
8.7 Práticas de implantação...................................................................................................................150
APRESENTAÇÃO
A disciplina foi organizada com a apresentação dos conceitos e da fundamentação dos princípios da
engenharia de software; avança no detalhamento e na introdução aos conceitos de processos e produtos
de software, tanto sob o ponto de vista do profissional envolvido quanto da estrutura da organização.
Essa preocupação com a engenharia de software passa por uma organização das estruturas, mudança
de cultura e qualificação das pessoas de Tecnologia da Informação (TI) nas empresas.
INTRODUÇÃO
Desde que os sistemas de informação ou aplicações de software foram introduzidos no mundo dos
negócios, vêm adquirindo um papel cada vez mais estratégico para as empresas, e isso vem ocorrendo
tanto com provedores de informações quanto de soluções de tecnologia e serviços, cujos objetivos visam,
por meio da automação, a aumentar a produtividade e, consequentemente, os lucros experimentados
por tais empresas, principalmente, na fidelização de seus clientes e parceiros.
Esse papel estratégico, todavia, alinhado à massificação crescente dos computadores pessoais e
de sua mobilidade, leva a uma conexão cada vez maior de pessoas e da sociedade de modo geral. Isso
ocorre tanto no trabalho quanto em casa, na locomoção, em todos os lugares. A informação instantânea
e a comunicação estão presentes, trazendo grandes desafios às áreas de TI das organizações.
Surgem, também, cada vez mais desafios na produção rápida de soluções automatizadas e de alta
qualidade de seus produtos de software e dos serviços prestados à população.
Atualmente, a TI tem presença nas mais diferentes expressões de uma organização, não se restringindo
mais à execução de transações repetitivas e à automação de processos industriais; exige-se das soluções
de TI uma integração de todos os processos, produtos e meios, indo dos níveis mais simples até o apoio
às decisões estratégicas e ao monitoramento de resultado de negócios.
7
O que se observa é que a abrangência da TI é um fato, mas a busca da qualidade e da produtividade
em seus processos não tem acompanhado e atendido às demandas dentro das expectativas geradas
pelo avanço tecnológico presente. Isso tem exigido grande esforço das organizações na busca de uma TI
organizada, no uso de práticas e ferramentas da engenharia de software, que levem a um novo patamar
na qualidade de seus produtos.
Dessa forma, adotar modelos reconhecidos nos mercados nacional e internacional, como o RUP, o
Scrum e outros, é também importante para a obtenção do sucesso nessa empreitada organizacional.
Conforme diversos autores consagrados que serão abordados neste livro-texto, com tal esforço, os
processos e os produtos de TI, com qualidade assegurada, estarão contribuindo para a realização do
grande objetivo de se ter uma empresa competitiva e desafiadora no mercado.
8
ENGENHARIA DE SOFTWARE I
Unidade I
1 FUNDAMENTOS DA ENGENHARIA DE SOFTWARE
Desde que a chamada crise do software foi detectada e apresentada nas décadas de 1960 e 1970,
muito esforço e muitos estudos foram direcionados para encontrar as causas ou os sintomas dos
problemas. Dentre esses esforços, destaca-se o surgimento da engenharia de software, em meados dos
anos 1970.
Saiba mais
As propostas que surgiram tinham como foco a necessidade de dar um tratamento de engenharia
ao desenvolvimento de softwares cada vez mais complexos, sistematizando-os e criando formas de
controlá-los.
O foco está em prevenir a insatisfação do cliente por meio de um melhor entendimento dos requisitos
estabelecidos e derivados, e, então, utilizá-los no projeto do software. A engenharia possui diversas
definições. No entanto, Fritz Bauer (apud PRESSMAN, 1995) definiu o conceito mais conhecido, na
primeira conferência dedicada ao tema, em 1969, da seguinte forma:
O autor Ian Sommerville diz que a ciência da computação está voltada para as teorias e os métodos
que são a base dos computadores e sistemas de software. Por outro lado, a engenharia de software
está voltada para os problemas práticos da produção. Algum conhecimento da ciência da computação
é essencial para os engenheiros de software, da mesma forma que algum conhecimento de Física é
essencial aos engenheiros elétricos (SOMMERVILLE, 2007).
Observação
Pode-se dizer que a Engenharia de Software é uma disciplina da
engenharia dedicada ao tratamento de todos os aspectos envolvidos na
produção de softwares.
Paula Filho (2003) apresenta algumas definições envolvidas com a engenharia de software que
podem provocar algumas confusões no uso dos conceitos e que estão apresentados no quadro 1.
Informática Ciência que visa ao tratamento da informação por meio do uso de equipamentos
e procedimentos da área de processamento de dados.
Conjunto organizado de conhecimentos relativos a um determinado objeto,
Ciência especialmente, os obtidos mediante a observação, a experiência dos fatos e um
método próprio.
Processamento
de dados (TI na Tratamento dos dados por meio de máquinas, com o fim de obter resultados da
atualidade) informação representada pelos dados.
10
ENGENHARIA DE SOFTWARE I
O autor afirma que a informática, dessa forma, é definida como uma ciência cujo assunto é o
processamento de informações por meio de máquinas. A ciência, por sua vez, tem como foco a
acumulação do conhecimento por meio do método científico, geralmente, baseado em experimentos e
observações.
Saiba mais
• um software é um produto desenvolvido por profissionais que também dão suporte a ele, em longo
prazo, e abrange programas executáveis em computadores de diversos portes ou arquiteturas,
conteúdos que são apresentados quando programas são executados, informações descritivas em
forma impressa ou virtual.
Outro conceito importante é o de software legado, que é um software bastante antigo, que
tem sido continuamente modificado para adequar-se às mudanças dos requisitos de negócio ou
às novas tecnologias e é considerado indispensável às funções de negócios fundamentais para a
empresa.
11
Unidade I
A criação de um software bem-sucedido se dá por meio de um processo que possa ser adaptável
às diversas condições e projetos, da maneira mais ágil possível, que conduzirá a um resultado de alta
qualidade, atendendo às necessidades dos clientes que, de fato, usarão o software.
Observação
A engenharia de software está fortemente ligada à noção de qualidade. A figura a seguir mostra
suas camadas.
Ferramentas
Métodos
Processo
Foco na qualidade
A Figura 1 mostra que a camada Foco na qualidade dá sustentação a todas as outras camadas,
já que a qualidade envolve a cultura de aperfeiçoamento contínuo de processos envolvidos com o
desenvolvimento e a manutenção do software.
• o processo define uma metodologia, ou um conjunto de métodos, que deve ser estabelecida para
que possamos ter uma entrega efetiva do software;
12
ENGENHARIA DE SOFTWARE I
• o processo também é a base para o controle do gerenciamento de projetos de software, pois permite
aplicar métodos técnicos, bem como gerar diferentes produtos, como modelos, documentos,
mudanças, além de estabelecer marcos, garantir qualidade e gerir mudanças de forma apropriada.
A camada de métodos:
• se as ferramentas utilizadas nos métodos e processos forem interligadas de forma que informações
criadas por uma ferramenta são usadas por outra, serão denominadas de suítes de ferramentas.
Essas ferramentas são conhecidas como “engenharia de software com o auxílio do computador”, ou,
em inglês, Computer-Aided Software Engineering (CASE).
Observação
As normas e os modelos envolvidos com a engenharia de software definem, com clareza, que um
processo de software é a forma de se obter um produto de software. Mas qual é a diferença entre
processo e produto de software?
Para Paula Filho (2003, p. 4), “um processo de software é um conjunto de passos parcialmente
ordenados, constituídos por atividades, métodos, práticas e transformações usados para atingir uma
meta”.
13
Unidade I
De acordo com Pressman (2006, p. 16), “processo de software é como um arcabouço para as tarefas
que são necessárias para construir software de alta qualidade. Um processo de software define a
abordagem que é adotada quando o software é elaborado”.
Já para o autor Sommerville (2007, p. 64): “um processo de software é um conjunto de atividades e
resultados associados que levam à produção de um produto de software”.
A partir dessas definições, é possível entender que o processo é a forma pela qual os engenheiros de
software irão produzir um produto de software, e o processo são os passos ou as atividades necessárias
para se construir um software que, junto aos seus modelos e documentos, denomina-se produto de
software.
Ainda para os autores Paula Filho (2003), Pressman (2006) e Sommerville (2007), existem quatro
atividades fundamentais que são comuns para todos os processos de software:
• Especificação do software:
• Desenvolvimento do software:
• Validação do software:
— em que o software é verificado para garantir que está de acordo com os requisitos do cliente;
— a validação ocorre durante a entrega do produto final ao usuário ou cliente, que deverá validar
se o produto executa as funcionalidades para o qual foi contratado.
• Evolução do software:
— todo produto de software sofre, ao longo do tempo, alterações, tanto para corrigi-lo quanto
para promover sua evolução quanto às suas regras atuais ou novas tecnologias.
Ainda para o autor Sommerville (2007), têm-se tipos diferentes de sistemas de informação
ou software que necessitam de diferentes processos de desenvolvimento, por exemplo: software
de tempo real para uso em aviões tem de ser especificado antes de começar o desenvolvimento,
em razão do seu alto risco e das garantias de que ele não falhará em uso; já em um sistema de
e-commerce, a especificação e a programação podem ocorrer juntas, em virtude da sua baixa
taxa de risco.
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 e tentar lançar uma luz sobre as razões da existência da tão comentada “crise
do software”.
De acordo com Capovilla (1999), existem diferenças importantes entre produtos de software e
produtos manufaturados que não podem deixar de ser notadas.
15
Unidade I
— Softwares nascem das necessidades do cliente e das áreas de negócio e, dessa forma,
devem representar modelos do mundo real. Cada detalhe presente no ambiente ou cada
problema que o software deverá resolver transforma-se num elemento a mais na aplicação
ou no sistema de informação que está sendo desenvolvido. Isso gera complexidade no
processo de desenvolvimento, que se torna maior à medida que a quantidade desses
elementos aumenta e à medida que estes possuem diversas interações. Dessa forma, o
esforço não é somente o de construir a nova funcionalidade, mas envolve, também, a
necessidade de integrá-la com as demais.
— Ao contrário de outros produtos, o software não pode ser desenhado ou projetado de uma
maneira que corresponda ao mundo real em toda a sua plenitude. Ele não possui natureza
física, não possui formato nem dimensões e não pode ser definido geometricamente.
— O software é um produto que não pode ser visto nem tocado pelo homem. Mesmo os modelos
ou diagramas criados para representá-lo, na verdade, não descrevem o software em si, mas
representam os fluxos de controle, de dados ou padrões de dependência. Isso dificulta o
trabalho dos desenvolvedores, que deve ser baseado apenas em representações abstratas e
grandes volumes de textos descritivos.
— Também a comunicação durante o projeto fica prejudicada, uma vez que é difícil falar sobre
um item abstrato, e fica muito dependente de conhecimentos dos envolvidos no problema e
nas tecnologias de solução. Dessa forma, parte do conhecimento sobre o projeto fica retida
na mente de membros específicos da equipe, haja vista que esse conhecimento não pode
ser representado de forma satisfatória; mesmo que os desenvolvedores utilizem modelos
para representar o sistema de software, essa intangibilidade causa grandes dificuldades de
comunicação, tanto entre os elementos da equipe de desenvolvimento quanto entre a equipe
e o cliente, podendo acarretar problemas no produto.
16
ENGENHARIA DE SOFTWARE I
— A maior parte da literatura, das normas e dos modelos da engenharia de software é formada
na base das boas práticas existentes na área.
— Além dessa característica dinâmica dos sistemas representados pelo software, a rápida evolução
tecnológica gera mais uma incerteza: as próprias técnicas de desenvolvimento e ferramentas
mudam em velocidade acelerada, e as equipes precisam estar sempre em treinamento para
acompanhar esse ritmo de mudanças e para se adequarem às recentes tecnologias.
• 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.
— Não se desgasta com o uso: em software, os componentes lógicos são duráveis. A falha resulta
de erros humanos cometidos durante o processo de desenvolvimento; alguns softwares foram
desenvolvidos há mais de trinta anos e continuam operando dentro de grandes empresas.
17
Unidade 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).
— O software é o único produto em que, quando há defeito, o cliente paga pela correção, exceto
no caso de erros ou defeitos apresentados durante o tempo da garantia.
— De acordo com Kruchten (2002), o software é, por definição, fácil de mudar; então, naturalmente,
as organizações querem tirar vantagem dessa característica. Pressionam por mudanças no
software durante todo o seu desenvolvimento, até mesmo quando são liberados. Na construção
de uma ponte, por exemplo, não existe esse tipo de flexibilidade, o cliente não pode dizer: “Agora
que eu já vejo os pilares, eu gostaria que essa ponte fosse colocada dois quilômetros rio acima”.
As qualidades de um produto de software podem ser divididas entre aquelas que são diretamente
visíveis para o cliente e aquelas que afetam principalmente o desenvolvimento desse produto; a
confiabilidade é diretamente visível pelo cliente, já sua capacidade de manutenção afeta basicamente
a área de desenvolvimento, embora suas consequências possam atingir o cliente de forma indireta,
aumentando o tempo entre as liberações de novas versões, por exemplo.
Propriedades que são diretamente visíveis pelos usuários do produto de software, tais
como confiança, latência, usabilidade e taxa de atendimento, são chamadas de propriedades
externas; as que não são diretamente visíveis por usuários finais, tais como manutenibilidade,
reusabilidade e rastreabilidade, são chamadas internas, mesmo quando seu impacto no processo
de desenvolvimento e evolução do software pode afetar os usuários indiretamente (PEZZÉ;
YOUNG, 2008).
18
ENGENHARIA DE SOFTWARE I
Saiba mais
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.
Os autores da área, usando formas ou classificações diferentes, definem seis tipos básicos de
aplicações de software ou sistemas de informação:
Esses aplicativos de software (ou sistemas de informação), em virtude de sua importância, serão
detalhados a seguir.
19
Unidade I
Saiba mais
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.
Outra definição indica que uma transação é um evento que gera ou modifica dados que são,
eventualmente, armazenados em um sistema de informação ou aplicação de software.
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.
Lembrete
20
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.
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.
De acordo com Figueiredo (2011), 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. Para o autor, atendem a
quatro categorias funcionais: vendas/marketing, fabricação/produção, finanças/contabilidade e recursos
humanos.
No caso de a conclusão da transação falhar, como prevenção, esta deve ser parcialmente “revertida”
pelo TPS. Embora esse tipo de integridade deva ser fornecido, também, para o processamento de
transações em lote (batch), para processamento on-line, essa garantia é mais importante, em razão dos
acessos simultâneos de diversos usuários.
Observação
Os TPS devem ter um log (registro) de transações, para recuperação em caso de falhas. O
processamento de transações não se limita a programas de aplicação. O sistema de arquivos (journaled
file system) fornecido com o sistema operacional Unix AIX, da IBM, utiliza técnicas similares para manter
a integridade dos arquivos do sistema, incluindo um diário.
21
Unidade I
Saiba mais
• 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.
• 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.
22
ENGENHARIA DE SOFTWARE I
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.
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.
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.
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.
É 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.
De acordo com Figueiredo (2011), 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.
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.
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.
A sigla SIG, hoje, é utilizada amplamente em uma série de contextos e inclui, entre outros:
23
Unidade 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. 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.
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.
Alguns benefícios que podem ser apresentados para diferentes tipos de sistemas de gestão da
informação:
• a identificação desses aspectos pode ajudar a empresa a melhorar seus processos de negócios e
operações;
• 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;
24
ENGENHARIA DE SOFTWARE I
Observação
Decisão é uma escolha dentre as alternativas existentes por meio de estimativas dos pesos destas. Apoio
à decisão significa auxiliar nessa escolha, gerando tais estimativas evolução ou comparação e escolha.
As expressões sistema de apoio à decisão ou aplicação de apoio à decisão têm sido utilizados de
diferentes formas (após a década de 1980) e têm recebido diferentes definições, de acordo com o ponto
de vista de cada autor.
25
Unidade I
Finlay (1994) e outros autores definem o SAD, de modo geral, como um sistema computacional
que auxilia no processo de tomada de decisão. Turban (1995) define-o mais especificamente como um
sistema de informação interativo, flexível e adaptável, especialmente desenvolvido para apoiar a solução
de um problema gerencial não estruturado, a fim de aperfeiçoar a tomada de decisão, que utiliza dados,
provê interface amigável e permite ao tomador de decisão ter sua própria percepção.
Para Keen (1980), um SAD concilia os recursos intelectuais individuais com a capacidade do
computador de melhorar a qualidade da decisão. Ainda de acordo com o autor, os sistemas do tipo SAD
são sistemas computacionais que apoiam os gerentes tomadores de decisão e que são direcionados para
os problemas semiestruturados.
Para Sprague e Carlson (1982), SADs correspondem a sistemas computacionais interativos que
auxiliam os tomadores de decisão a utilizarem dados e modelos solucionados de problemas não
estruturados. De acordo com Figueiredo (2011), SADs atendem, também, ao nível de gerência, ajudando
a tomar decisões não usuais com rapidez e antecedência, a fim de solucionar problemas não definidos;
além disso, usam informações internas, obtidas dos TPS e dos SIGs, e externas, como preços de produtos
concorrentes etc.
Os aplicativos do tipo SAD têm maior poder analítico que os outros sistemas, construídos em diversos
modelos, para analisar e armazenar dados, bem como para apoiar a tomada de decisões diárias, por isso
devem possuir uma interface de fácil acesso e atendimento ao usuário; são interativos, podendo-se
alterar e incluir dados por meio de menus que facilitam a entrada destes e a obtenção de informações
processadas.
Em contrapartida, Keen (1980) diz que é impossível dar uma definição precisa incluindo todas as
facetas do aplicativo SAD. Com a ausência de uma definição de total abrangência, pode-se ter maior
entendimento sobre SAD por meio do seu histórico:
• os conceitos de apoio à tomada de decisão envolvem duas grandes áreas de pesquisa: o estudo
teórico das tomadas de decisões nas organizações, realizado no Instituto de Tecnologia de Carnegie,
no fim dos anos 1950 e início dos anos 1960, e os trabalhos técnicos em sistemas computacionais
interativos realizados pelo MIT (Instituto de Tecnologia de Massachusetts),na década de 1960;
• o conceito de SAD tornou-se uma área de pesquisa em meados dos anos 1970, sendo estudado
intensamente antes do início dos anos 1980;
• em meados e no final dos anos 1980, iniciou-se o estudo dos sistemas de informação executiva,
dos sistemas de apoio à decisão em grupo e dos sistemas de apoio à decisão organizacional,
envolvendo um único usuário e o SAD orientado à modelagem;
• no início dos anos 1990, começaram a surgir, a partir do SAD, os conceitos de data warehouse
(DW) e processamento analítico on-line (OLAP). Com a virada do milênio se aproximando, novas
aplicações analíticas baseadas na web foram introduzidas.
26
ENGENHARIA DE SOFTWARE I
Observação
Os autores possuem propostas diversas de classificação para sistemas ou aplicativos do tipo SAD.
Seguem alguns critérios de classificação desses aplicativos.
— um SAD passivo é um sistema que auxilia o processo de tomada de decisão, mas não traz,
explicitamente, sugestões ou soluções;
— um SAD cooperativo apresenta, para o tomador de decisão (que atua como um conselheiro), as
opções de modificar, completar ou refinar as sugestões apresentadas por outros colaboradores,
para que sejam validadas;
— o sistema realizará a validação das sugestões até que uma solução consolidada seja gerada.
27
Unidade I
— desktop, um sistema pequeno que roda para um gerente em um personal computer (PC), ou
computador pessoal.
Com relação à arquitetura dos sistemas de informação SAD, os vários autores identificam diversos
componentes.
• o Sistema Gerenciador de Banco de Dados (SGBD) ou Data Base Management System (DBMS)
armazena a informação (que pode ser um repositório organizacional tradicional ou remoto, com
a utilização da internet para acesso, ou personalizado para cada usuário;
• o Sistema Gerenciador de Modelagem Básica (SGMB) ou Basic Modeling Management System
(BMMS) faz a representação de eventos, fatos ou situações usando vários tipos de modelos, por
exemplo: modelos de otimização e modelos goal-seeking;
• o Sistema de Geração de Diálogo e Gerenciamento (SGDG) ou Dialog Generation Management
System (DGMS), ou Gerenciador de Interface, melhora a interatividade do usuário com o sistema.
Power (2000) afirma que se tem estudado a construção de um SAD com quatro componentes:
interface com o usuário; banco de dados; modelagem e ferramentas analíticas; arquitetura e rede de
trabalho de SAD.
28
ENGENHARIA DE SOFTWARE I
Marakas (1999) propõe uma arquitetura generalizada que também é composta por cinco partes
distintas:
A figura a seguir mostra a visão de Marakas (1999), com as cinco partes distintas da arquitetura de
um SAD.
Engenharia do
Usuário conhecimento
Sistema
Gerenciador de
Modelagem (SGM)
Sistema
Gerenciador
Interface de BD (SGBD)
do usuário
Observação
Dentre os mais famosos aplicativos do tipo SAD, podem-se citar o
Sistema de Apoio à Decisão para Diagnósticos Médicos (SADDM), bem como
a aplicação de sistemas SAD à área de produção agrícola, comercialização
e sustentabilidade do desenvolvimento agrícola.
Os sistemas SAD têm muitas aplicações que ainda podem ser descobertas,
portanto podem ser utilizados em qualquer campo de uma organização,
como para auxiliar a tomada de decisão em estoques ou decidir qual fatia de
mercado uma linha de produtos deve seguir (VIEIRA, 2011, p. 23).
São comumente considerados como uma forma especializada de SAD, todavia a ênfase dos EIS está
em apresentar os resultados em telas gráficas e fáceis de usar, como interfaces de usuário. O sistema
oferece relatórios sofisticados e tem capacidade drill down.
Em geral, os EIS estão em toda a empresa, nos SADs que ajudam os executivos de alto nível a analisar
e comparar tendências, e dão destaque a variáveis importantes para que estes possam monitorar o
desempenho e identificar oportunidades e problemas. Os EIS e as tecnologias de armazenamento de
dados estão convergindo no mercado, e, nos últimos anos, o termo perdeu popularidade para o Business
Intelligence (BI), com as subáreas de relatórios analíticos e painéis digitais (dashboards).
Conforme Figueiredo (2011), os SIE ou EIS atendem ao nível gerencial sênior, que tem pouca ou
nenhuma experiência com computadores; servem para ajudar a tomar decisões não rotineiras que exigem
bom senso, avaliação e percepção; e criam um ambiente generalizado de computação e comunicação,
em vez de aplicações fixas e capacidades específicas. Projetados para incorporar dados externos, como
leis e novos concorrentes, também adquirem informações dos SIGs e dos SADs, a fim de obter dados
resumidos e úteis aos executivos, não só sob a forma de textos, mas também como gráficos projetados
para solucionar problemas específicos que se alteram seguidamente, por meio de modelos menos
analíticos. São formados por estações de trabalho, menus gráficos, dados históricos e de concorrentes e
bancos de dados externos, sendo de fácil comunicação e interface amigável.
A literatura mostra que os SIEs possuem uma série de vantagens, mas apresentam, também, um
conjunto de desvantagens.
• Vantagens: fáceis de serem usados por altos executivos; não exigem muita experiência com o
computador; fornecem informações resumidas para a empresa, no tempo necessário; a informação
30
ENGENHARIA DE SOFTWARE I
que é fornecida é mais bem-compreendida; possuem filtros de dados para a gestão; melhoram as
informações de rastreamento; e oferecem eficiência aos tomadores de decisão.
Observação
Em outras palavras, são um programa ou conjunto de programas de computador que busca emular
(e não simular) a capacidade de decisão de um especialista humano (nesse contexto, emular significa
agir em tudo como um humano) (BARR; FEIGENBAUM, 1981).
Engelmore e Feigenbaum (1993) afirmam que os SEs são programas de computador derivados
de um ramo da pesquisa em computação chamado Inteligência Artificial (IA). O objetivo científico
dessa área é entender tal inteligência por meio da construção de programas de computador que
exibem um comportamento inteligente); preocupa-se com os conceitos e métodos de inferência
simbólicos – ou raciocínio – usados por um computador e com a forma pela qual o conhecimento
utilizado para fazer essas inferências será representado no interior da máquina.
31
Unidade I
Assim, de modo potencial, todo e qualquer problema que possa ser resolvido usando um programa
de computador e que envolva capacidade de tomar decisões pode ser solucionado por meio de um ES.
Diz-se de um modo potencial porque nem sempre isso acontece.
Como exemplo, um ES pode ser empregado para realizar diagnósticos sobre os sistemas (mecânicos,
elétricos etc.) de um automóvel. Contudo, é praticamente impossível implementar um ES que aja do
mesmo modo que um ser humano numa situação tão frequente como ultrapassar um carro e, de repente,
vir um carro pela frente em sentido contrário.
O mesmo ser humano pode ter reações diferentes. Com isso, pretende-se dizer que os ES
funcionam bem, mas apenas num domínio restrito. Ambas as situações referidas retratam momentos
que exigem tomadas de decisões, contudo a segunda não é passível de ser resolvida usando-se um
sistema desse tipo.
• sistema: conjunto de elementos, materiais ou ideais entre os quais se pode encontrar ou definir
alguma relação;
• especialista: pessoa que se destaca com particular interesse e cuidado em certo estudo; conhecedor,
perito.
• custo reduzido: por uma quantia irrisória ou gratuita (caso o acesso ao sistema ou o uso deste seja
permitido), qualquer pessoa pode ter acesso a conhecimentos especializados sobre determinada
área ou certo assunto;
• perigo reduzido: um ES pode ser usado para operar uma máquina em ambientes hostis ao homem;
o programa que controla o sistema de navegação implementado no veículo de exploração enviado
a Marte, por exemplo, pode ser um ES;
• aumento do nível de confiança: o uso dos ES pode reforçar a ideia de que foi tomada a decisão
correta, oferecendo uma segunda opinião, ou “desempatando”, no caso de vários especialistas
estarem em desacordo quanto a um assunto;
• resposta rápida: uma vez que corre numa máquina, para situações em que o tempo é um fator de
máxima importância, um ES pode ser, efetivamente, mais rápido que um humano.
Uma vez que o conhecimento de um perito humano tem de ser posto numa forma explícita para
poder ser introduzido no ES, o desenvolvimento deste traz vantagens indiretas, porque o conhecimento
(estando explícito) pode ser examinado no que se refere a consistência, coerência etc.
Saiba mais
De acordo com Perottoni et al. (2001), até a década de 1970, todas as atividades efetuadas nos
escritórios das empresas eram realizadas de forma manual, tornando difícil obter-se uma posição
atualizada das tarefas realizadas, bem como a coleta de dados para reunião sobre determinado assunto
em um dado momento.
Como não existia um modo informatizado de arquivar os relatórios gerados pelas aplicações da
época, formavam-se pilhas de papéis nas mesas dos funcionários, gerando altos custos com material de
escritório, além de desperdícios e retrabalho.
No início dos anos 1970, segundo Turban, McLean e Wetherbe (2004), foram desenvolvidas aplicações
com o objetivo de automatizar as operações realizadas nos escritórios, melhorando e agilizando as
atividades ali desempenhadas. Esses sistemas de automação de escritório tinham como propósito
aumentar a produtividade, reduzir custos e oferecer melhores resultados. Conforme Laudon e Laudon
(2004), disponibilizam diversas funções, tais como processadores de textos, agendas eletrônicas, editores
de imagens e gerenciamento de diversos tipos de projetos.
Após a automação das atividades realizadas nos escritórios, a organização das informações tornou-
se mais rápida e mais confiável. O foco passou para a busca e comparação de diversas alternativas do
mesmo problema, auxiliando o tomador de decisões.
Dentre os diversos conceitos e definições existentes, pode-se afirmar que automação de escritório
envolve o uso de equipamentos de informática e softwares para criar, coletar, armazenar, manipular
e retransmitir digitalmente informações necessárias para a realização de tarefas e o cumprimento de
objetivos em um escritório ou local de trabalho.
Pode-se considerar que a espinha dorsal da automação de escritório é a existência de uma rede
de computadores, a qual permite que os usuários transmitam dados, correspondências e imagens,
com ou sem voz. Todas as tarefas realizadas em um escritório, (inclusive ditados; digitação;
preenchimento de formulários; cópias; transmissão e recepção de fax e telex; gerenciamento de
microfilmes e registros; e uso de telefone, PABX e correio eletrônico administrativo) recaem nessa
categoria.
A expressão automação de escritório era popular nos anos 1970 e 1980, antes que o computador
pessoal entrasse em cena. A automação com sistemas de informação, na atualidade, ajuda nos serviços
de escritório, tais como preparação e comunicação da correspondência.
34
ENGENHARIA DE SOFTWARE I
• editores de texto;
• grupos de notícias;
• máquinas de fax;
• correio de voz;
• sistemas multimídia;
• videoconferência.
Como tendência, os sistemas de automação de escritórios estão cada vez mais integrados à internet
para compartilhamento de informações. Todavia, ainda existem diversos obstáculos para a difusão dos
aplicativos do tipo SAE, tais como dificuldade de integrar componentes (diferentes padrões) e custo de
armazenar informações não usuais (imagens, som, vídeos).
Observação
Uma aplicação de software possui forte integração de diversos elementos, e sua característica de
múltipla funcionalidade exige a interação de sistemas de bancos de dados, uso de redes de comunicação,
segurança no acesso indevido aos dados e diversas outras habilidades que não eram exigidas nos sistemas
desenvolvidos num passado recente. Sob esse prisma, os aspectos do gerenciamento do projeto, bem
como o controle de prazos e de custos são peças-chave para o sucesso de um projeto de sistemas de
software.
Ainda de acordo com o PMBOK (2008), para atender a essas metas, é necessário que a missão do
projeto esteja definida, isto é, devem-se definir os aspectos relativos a:
• processos: como o projeto deve ser elaborado para atingir seus objetivos.
A gerência deve formar uma equipe onde todos os seus membros entendam
o relacionamento de suas atividades com a dos outros membros (fluxo); e
garantir que todas as pessoas envolvidas no projeto tenham visão abrangente
do projeto, de modo que todas as atividades previstas sejam executadas
conforme o cronograma estabelecido. Também é necessário garantir que
as pessoas envolvidas sejam capazes de ter a mesma visão de todos os
processos que estão sendo desenvolvidos, ou seja, garantir a visibilidade do
projeto (TREVISANI et al, 2004).
Uma das maiores dificuldades em projetos de software para os gerentes durante o planejamento
de um projeto são as estimativas, tanto do prazo quanto dos custos. Essas estimativas devem
36
ENGENHARIA DE SOFTWARE I
se aproximar ao máximo da realidade. Uma estimativa maior do que o cliente espera pode
causar perda de competitividade, tanto no caso de tempo quanto de custo, sobretudo, quando o
concorrente, estimando de forma correta, apresenta um projeto mais barato e em menor prazo. Já
quando a estimativa for abaixo da realmente exequível, poderá causar transtornos para a equipe,
atrasos e prejuízos. Todavia, as pesquisas demonstram que a maior parte dos projetos de software
ultrapassa o prazo estipulado e despende mais recursos do que o previsto no orçamento e na
estimativa iniciais.
Um estudo realizado nos Estados Unidos na década de 1990 identificou que as empresas americanas
gastaram 81 bilhões de dólares em projetos de software que foram cancelados em 1995, e 31% dos
projetos estudados foram cancelados antes de estarem concluídos; 53% dos projetos de software que
foram concluídos excederam em mais de 50% a sua estimativa de custo; somente 9% dos projetos,
em grandes organizações, foram entregues no tempo e no orçamento previsto. O estudo aponta o
gerenciamento de software como a razão para o sucesso ou a falha de um projeto de software (ROUILLER,
2008).
Dentre as diversas razões apontadas, Trevisani et al. (2004) listam as seguintes causas desse insucesso:
• planejamento do projeto top-down: quando a alta gerência impõe, de “cima para baixo”, o prazo
e/ou o custo que o projeto deve ter, sem discutir com a equipe;
• fechamento de contrato com o cliente sem consultar a equipe técnica: em algumas situações,
o gerente de vendas está negociando e, na ânsia de fechar o negócio rapidamente, aceita as
exigências do cliente sem ter a certeza de que estas serão passíveis de serem atendidas pela
equipe técnica;
Ao longo do tempo, a engenharia de software tem apresentado diversas alternativas e técnicas para
os processos de planejamento de um projeto de software, relativas aos problemas das estimativas e do
cumprimento dos prazos e dos custos envolvidos.
Dentre as técnicas mais conhecidas, citamos a Análise por Pontos de Função (APF), a Use Case Point
(UCP) e o Constructive Cost Model (COCOMO).
37
Unidade I
Saiba mais
Para saber mais sobre o APF, acesse o site disponível em: <http://www.
bfpug.com.br>. Trata-se de um grupo brasileiro que tem como objetivo
estimular e divulgar a utilização da métrica de pontos por função no Brasil.
Quando se estuda a qualidade de software, uma das evoluções mais necessárias está em entender
que a qualidade do produto de software é importante, mas a do processo de produção de aplicações é
ainda mais.
No caso de um prato de comida, por exemplo, podemos dizer mais sobre a qualidade observando
como o prato foi preparado do que analisando o produto final, pois não conseguimos ter certeza da
higiene ou do valor nutricional apenas comendo o conteúdo do prato. Essa descoberta aconteceu, ao
longo dos anos, durante a própria evolução dos conceitos de qualidade. Modernamente, considera-se
que a qualidade do produto é conseguida de forma consistente, em longo prazo, a partir da qualidade
do processo.
A qualidade do processo pode ser explicada como o melhor caminho lógico a ser percorrido entre o
início e a conclusão de um produto que será construído. Para determiná-lo, são utilizadas as ferramentas
da qualidade total para efetuar os estudos e as simulações, e determinar a rota ideal.
A figura a seguir mostra que há uma ligação clara entre a qualidade do processo e a qualidade do
produto na manufatura, porque o processo é relativamente fácil de padronizar e monitorar. Uma vez
38
ENGENHARIA DE SOFTWARE I
que o sistema de manufatura é calibrado, pode ser executado várias vezes e gerar produtos de alta
qualidade.
Define Asseguara a
Desenvolve qualidade do
processo produto produto
Início
Não Sim
Melhora o Produto Processo
processo ok? padronizado
Fim
Saiba mais
De acordo com Rocha, Maldonado e Weber (2001), um produto é algo concreto, no qual se percebem
as formas, os tamanhos, as cores, a beleza, a perfeição e outras observações perceptíveis aos sentidos
humanos.
Pode-se afirmar que qualidade é o sentimento de satisfação de uma pessoa por ter conquistado
algum produto desejado. O comprador espera que o produto adquirido funcione por muito tempo e que
não apresente problema durante sua vida útil.
A qualidade de um produto ou serviço pode ser vista de duas formas: com o olhar do produtor e o
do cliente.
39
Unidade I
Também do ponto de vista do cliente, a qualidade de um produto pode ser vista por diversas
características, por exemplo, sua dimensão, sua cor, sua durabilidade, seu design, as funções que
desempenha etc. Assim, é um conceito multidimensional.
A qualidade tem muitas dimensões e é, por isso, mais difícil definir qualidade de produto.
Cada requisito é, em seguida, quantificado, a fim de que a qualidade possa ser interpretada por
todos (empresa, trabalhadores, gestores e clientes) exatamente da mesma maneira. Os produtos
devem exibir esses requisitos, a publicidade se faz em torno deles, o controle de qualidade visa
a assegurar que estejam presentes no produto, a medição da satisfação se faz para apurar em
que medida esses requisitos estão presentes e em que medida vão realmente ao encontro das
necessidades.
De acordo com Shiba (1997), citando a norma ISO/IEC 9126, devem-se considerar alguns aspectos
para se obter a qualidade do produto, conforme apresentado no quadro a seguir.
Aspecto Descrição
40
ENGENHARIA DE SOFTWARE I
Lembrete
Resumo
41
Unidade I
Exercícios
Questão 1. De acordo com Paula Filho (2003), muitas pessoas, inclusive dirigentes de empresas,
percebem o computador como um problema, e não como solução. Muitos aceitam que os sistemas de
informática “são assim mesmo” e que não existe solução. A partir dessa colocação do autor, analise as
afirmativas que seguem:
II – Uma das causas de problemas com softwares decorre das suas características peculiares, e não
dos processos e produtos.
III – Os problemas dos sistemas de informática podem ser fruto de deficiência dos operadores, ou
seja, causados pelos usuários dos sistemas.
V – Os problemas dos sistemas de informática não podem ser originados das tecnologias envolvidas,
e sim das equipes de desenvolvimento de sistemas.
42
ENGENHARIA DE SOFTWARE I
I) Afirmativa correta.
Justificativa: de acordo com Paula Filho (2003), isso pode ocorrer por falta de treinamento, dificuldade
de uso do sistema ou outros fatores relacionados com pessoas.
V) Afirmativa incorreta.
inadequados que apresentarão defeitos ao longo de sua vida útil, provocando problemas aos seus
usuários e aos processos de negócio.
44