Buscar

DRU-Material_Apoio_1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Informática Básica Profa. Jane Maria dos Santos 1 
 FACULDADES CARLOS DRUMMOND DE ANDRADE 
Centro Superior de Educação Tecnológica – Ponte Rasa 
 
Profa.: Jane Maria dos Santos 
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas 
Competência: INFORMÁTICA BÁSICA 
 
 
 
11.. OO qquuee éé ssooffttwwaarree?? 
 
Não podemos associar software somente a programas de computador, na 
verdade, essa é uma visão restrita. Software não é apenas o programa mas 
também toda a documentação associada e dos dados de configuração 
necessários para fazer com que esses programas operem corretamente. Um 
sistema de software, usualmente, consiste em uma série de programas 
separados, arquivos de configuração que são utilizados para configurar esses 
programas, documentação do sistema, que descreve a estrutura desse 
sistema, e documentação do usuário, que explica como utilizar o sistema, e no 
caso de produtos de software, sites Web para usuários fazerem o download 
das informações recentes sobre o produto. 
 
Existem dois tipos de produtos de software: 
Produtos Genéricos: São sistemas conhecidos como stand-alone, produzidos 
por uma organização de desenvolvimento e vendidos no mercado a qualquer 
cliente capaz de adquiri-lo. Também podemos nos referir a eles como pacotes 
de software. Exemplos: Bases de dados, processadores de texto, pacotes de 
desenho e as ferramentas de gerenciamento de projetos. 
Produtos sob encomenda: (personalizados ou customizados). São 
sistemas encomendados por um cliente em particular. O software é 
desenvolvido especialmente para aquele cliente por uma empresa de software. 
Exemplos: Sistemas de controle de para dispositivos eletrônicos, sistemas 
escritos para serem compatíveis com um processo de negócios específico e 
sistemas de controle de tráfego aéreo. 
 
Uma diferença importante entre esses diversos tipos de software é que, nos 
produtos genéricos, a organização que desenvolve o software controla sua 
especificação. Para os produtos personalizados, a especificação é usualmente 
desenvolvida e controlada pela organização que está comprando o software. 
Os desenvolvedores de software devem trabalhar de acordo com essa 
especificação. 
 
22.. EEvvoolluuççããoo ddoo SSooffttwwaarree 
 
O melhor desempenho de hardware, menor tamanho e custo mais baixo 
precipitaram o aparecimento de sistemas baseados em computadores mais 
sofisticados. 
Temos no inicio da década de 1990, a descrição por Alvin Toffler (futurista), 
de uma “mudança de poder”, em que velhas estruturas de poder 
(governamental, educacional, industrial, econômico e militar) se desintegrariam 
Informática Básica Profa. Jane Maria dos Santos 2 
enquanto os computadores e o software levariam a uma “democratização do 
conhecimento”. 
Inicialmente no desenvolvimento de sistemas computadorizados, o 
hardware sofreu contínuas mudanças, enquanto o software era visto por muitos 
com uma reflexão posterior. A programação de computador era uma arte 
“secundária” para a qual havia poucos métodos sistemáticos. O 
desenvolvimento de software era feito virtualmente sem administração – até 
que os prazos começassem a se esgotar e os custos a subir demasiadamente. 
Durante esse período era usada uma orientação em batch (em lote) para a 
maioria dos sistemas. 
Temos assim: 
De 1950 a meados de 1960: Os primeiros anos 
� Orientação Batch 
� Distribuição limitada 
� Software customizado 
 
De meados de 1960 a meados de 1980: A segunda era 
� Multiusuário 
� Tempo real 
� Bancos de dados 
� Produtos de software 
 
Inicio de 1980 a meados de 1990: terceira era 
� Sistemas distribuídos 
� “Inteligência” embutida 
� Hardware de baixo custo 
� Impacto de consumo 
 
desde meados de 1990: quarta era 
� Sistemas de desktop poderosos 
� Tecnologias orientadas a objetos 
� Sistemas especialistas 
� Redes neurais artificiais 
� Computação paralela 
 
A maior parte do software era desenvolvida, e em última análise, usada pela 
própria pessoa ou organização e se apresentasse problemas era o próprio 
“usuário” que o consertava. 
Em movimento a quinta era, os problemas associados ao software de 
computador continuam a se intensificar, temos: 
1. A sofisticação do software ultrapassou nossa capacidade de construir 
um software que extraia o potencial do hardware; 
2. Nossa capacidade de construir programas não pode acompanhar o ritmo 
da demanda de novos programas; 
3. Nossa capacidade de manter os programas existentes é ameaçada por 
projetos ruins e recursos inadequados. 
 
Percebemos que inicialmente os sistemas baseados em computador eram 
desenvolvidos pela administração orientada ao hardware. Os gerentes de 
projeto concentravam-se no hardware, porque ele era o maior item de 
Informática Básica Profa. Jane Maria dos Santos 3 
orçamento particular do desenvolvimento do sistema. Colocado de forma 
simples, os gerentes aplicavam controles, métodos e ferramentas que 
reconhecemos hoje como engenharia de hardware. 
Na programação havia poucos métodos e poucas pessoas usavam. O 
programador aprendia normalmente por tentativa e erro, os técnicos criaram 
uma mística que poucos conheciam e também não se importavam em 
conhecer, principalmente os gerentes. Podemos dizer que era um mundo 
indisciplinado. Hoje, a distribuição de custos para o desenvolvimento de 
software mudou totalmente. O software agora é o item de maior custo, e 
iniciam-se os seguintes questionamentos pelos gerentes: 
1. Por que demora tanto tempo para que os programas sejam concluídos? 
2. Por que os custos são tão elevados? 
3. Por que não descobrimos todos os erros antes de entregarmos o 
software aos nossos clientes? 
4. Por que temos dificuldade em medir o progresso enquanto o software 
está sendo desenvolvido? 
Essas preocupações levaram a manifestação da preocupação relativa ao 
software e a maneira pela qual ele é desenvolvido. Inicia-se a adoção de 
práticas de engenharia de software. 
 
 
33.. OO qquuee éé eennggeennhhaarriiaa ddee ssooffttwwaarree?? 
 
A engenharia de software é uma disciplina da engenharia que se ocupa de 
todos os aspectos da produção do software, desde estágios iniciais de 
especificação do sistema até a manutenção desse sistema, depois que ele 
entrou em operação. Nessa definição, há duas frases importantes: 
1. “Disciplina da engenharia”: Os engenheiros fazem os produtos funcionarem. 
Eles aplicam teorias, métodos e ferramentas nas situações apropriadas, de 
modo seletivo; e sempre procuram descobrir soluções para os problemas, 
mesmo quando não existem teorias aplicáveis e métodos de apoio. Os 
engenheiros também reconhecem que precisam trabalhar de acordo com as 
restrições organizacionais e financeiras e, assim, procuram soluções que 
estejam dentro das restrições. 
2. “Todos os aspectos da produção de software”: a engenharia de software 
não se dedica só aos processos técnicos de desenvolvimento de software, 
mas também a atividades como o gerenciamento de projetos de software e 
o desenvolvimento de ferramentas, métodos e teorias que dêem apoio a 
produção do software. 
 
Em suma: 
 “A engenharia de software é uma disciplina que reúne metodologias, 
métodos e ferramentas a ser utilizados, desde a percepção até o momento em 
que o sistema desenvolvido deixa de ser operacional, visando resolver 
problemas inerentes ao processo de desenvolvimento e ao produto de 
software.” 1 
 
 
 
1
. Carvalho, A.M.B. & Chiossi, T.C.S. Introdução a Engenharia de Software. Editora da Unicamp, 2001 
Informática BásicaProfa. Jane Maria dos Santos 4 
44.. OO qquuee éé uumm pprroocceessssoo ddee ssooffttwwaarree?? 
 
Um processo de software é um conjunto de atividades e resultados 
associados que geram um produto de software. Existem 4 atividades de 
processo fundamentais, comuns a todos os processos de software. São elas: 
1. Especificação de software: A funcionalidade do software e as restrições 
em sua operação devem ser definidas. 
2. Desenvolvimento de software: O software deve ser produzido de modo 
que atenda a suas especificações. 
3. Validação do software: O software tem de ser validado para garantir que 
ele faz o que o cliente deseja 
4. Evolução do software: O software deve evoluir para atender às 
necessidades mutáveis do cliente 
Diferentes processos de software organizam essas atividades de maneiras 
diversas e são descritos em diferentes níveis de detalhes. Os prazos das 
atividades variam, do mesmo modo que os resultados de cada atividade. 
Diferentes organizações podem utilizar processos diferentes para produzir o 
mesmo tipo de produto. 
 
55.. OO qquuee éé uumm mmooddeelloo ddee pprroocceessssoo ddee ssooffttwwaarree?? 
 
Um modelo de processo de software é uma descrição simplificada de um 
processo de software, que é apresentada a partir de uma perspectiva 
específica. 
Os modelos, pela sua natureza, são simplificações; e assim, um modelo de 
processo de software é uma abstração do processo real que está sendo 
descrito. 
Alguns exemplos dos tipos de modelos de processo de software que podem 
ser produzidos são: 
1. Um modelo de Workflow: As atividades, nesse modelo, representam 
ações humanas. 
2. Um modelo de Fluxo de dados ou de atividades: Ele representa o 
processo como um conjunto de atividades 
3. Um modelo de papel/ação: Esse modelo representa os papéis das 
pessoas envolvidas no processo e as atividades pelas quais são 
responsáveis 
 
Existem os modelos gerais ou também chamados de paradigmas de 
desenvolvimento de software, alguns exemplos: 
� O modelo em cascata (modelo de ciclo de vida clássico); 
� Modelo de ciclo de vida clássico com realimentação; 
� Espiral; 
� Prototipagem evolutiva. 
 
66.. OO qquuee ssããoo mmééttooddooss ddee eennggeennhhaarriiaa ddee ssooffttwwaarree?? 
 
Um método de engenharia de software é uma abordagem estruturada para 
o desenvolvimento de software, cujo objetivo é facilitar a produção de software 
de alta qualidade, apresentando uma boa relação custo-benefício. 
Informática Básica Profa. Jane Maria dos Santos 5 
Métodos como análise estruturada foram inicialmente desenvolvidas na 
década de 1970, os métodos orientados a funções que ainda são largamente 
utilizados e que a partir da década de 80 e 90 foram complementados por 
métodos orientados a objetos. 
Essas diferentes abordagens foram integradas em uma única, construída 
segundo o UML (Unified Modeling language – linguagem de modelagem 
unificada). 
 
77.. OO qquuee ssããoo ffeerrrraammeennttaass CCAASSEE?? 
 
CASE significa Computer-Aided Software Engineering (engenharia de 
software com o auxilio do computador). Quando falamos em ferramentas CASE 
(ou CASE tools) estamos nos referindo a gama de programas utilizados para 
apoiar as atividades de processos de software, como exemplo: analise de 
requisitos, modelagem de sistemas e testes. 
Esse tipo de ferramenta (CASE), destinada a dar apoio à analise e ao 
projeto, dividem-se em: 
Upper-CASE: dá apoio às fases iniciais do processo de software. 
Lower-CASE: dá apoio a implementação e aos testes. 
 
88.. QQuuaaiiss ooss pprriinncciippaaiiss ddeessaaffiiooss ddaa eennggeennhhaarriiaa ddee ssooffttwwaarree?? 
 
São três os principais desafios da engenharia de software 
1. O desafio do legado (herança): A maioria dos grandes sistemas de 
software em uso atualmente foi desenvolvida há muitos anos. O desafio 
do legado significa poder fazer a manutenção e a atualização desses 
softwares, para evitar custos excessivos e prosseguir com as prestações 
de serviço. 
2. Heterogeneidade: Se refere a desenvolver técnicas para construir 
softwares confiáveis, que sejam flexíveis o bastante para lidar com a 
diferença de ambientes atuais. 
3. Fornecimento: Diz respeito a reduzir o tempo para o fornecimento de 
sistemas grandes e complexos, sem comprometer a qualidade. 
 
99.. OO qquuee éé qquuaalliiddaaddee ddee ssooffttwwaarree?? 
 
“Qualidade de Software é um processo sistemático que focaliza todas as 
etapas e artefatos produzidos com o objetivo de garantir a conformidade de 
processos e produtos, prevenindo e eliminando defeitos”2. 
 
Assim o autor apresenta de forma simplificada o que é a qualidade de 
software, porém o conceito de qualidade vai mais além, pois o termo refere-se 
a uma característica subjetiva. Como então avaliar a qualidade de um produto 
de software? 
Diversas metodologias foram desenvolvidas ao longo do tempo e todas 
englobam um conjunto de atividades, métodos e práticas desde os requisitos à 
manutenção do software para a obtenção da qualidade, procurando sempre a 
melhoria de cada etapa do desenvolvimento. 
 
 
2. Bartié, Alexandre – Garantia da Qualidade de Software – Campus, 2002 
Informática Básica Profa. Jane Maria dos Santos 6 
Na gestão de Qualidade de Software temos duas divisões macros: A 
Qualidade de Processo e a Qualidade de Produto, tendo que a dimensão da 
qualidade de processo envolve todas as atividades em que o foco principal é 
garantir a qualidade de cada etapa do processo de engenharia de software e a 
dimensão da qualidade de produto tem como objetivo garantir a qualidade do 
produto de tecnologia gerado durante o ciclo de desenvolvimento. Em ambos 
os processos têm os testes utilizados para a garantia da qualidade.

Continue navegando