Buscar

Aula01 Conceitos Gerais APS

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 77 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 77 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 9, do total de 77 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

Prévia do material em texto

ANÁLISE E PROJETO DE SOFTWARE 
Socorro Vânia Alves 
Socorro.vania@gmail.com 
O que veremos hoje? 
FUNDAMENTOS DA ANALISE E PROJETO DE SISTEMAS 
 Definição de Sistemas 
 Características 
 Tipos de Sistemas 
 Análise de Sistemas 
 Abordagem Sistêmica x Abordagem Analítica 
 Análise e Projeto de Sistemas de Software 
 Definição de Software 
 Processos de Software 
 Modelos Tradicionais de Processos de Software 
Conceituando Sistemas 
 Afinal, O que é um Sistema? 
Conceituando Sistemas 
 Quantas vezes já nos referimos ou ouvimos a palavra 
sistema: 
 O sistema telefônico ficou mudo! 
 
 
 O sistema de trânsito da cidade 
está horrível. 
 
 O sistema de coleta de lixo está 
perfeito. 
 
Outros exemplos de Sistemas 
Conceituando Sistema 
 É importante conhecer os sistemas em geral, pois embora 
muitos tipos de sistemas pareçam ser totalmente diferentes, 
eles têm muitas semelhanças. 
 Existem princípios comuns e teorias que se aplicam a quase 
todos os tipos de sistemas independentemente da área onde se 
encontram. 
 Teoria Geral dos Sistemas. 
 
 
Conceituando Sistema 
 A Teoria Geral dos Sistemas ajuda a compreender 
melhor os sistemas baseados em computador 
(automatizados). 
 Vamos iniciar com a definição do termo sistema. 
 
 
Conceituando Sistema 
“Um conjunto de entidades relacionadas, interdependentes, que 
interagem entre si, buscando atingir um objetivo declarado.” 
(Rosini, 2008) 
Exemplo de Sistema 
Exemplo de Sistema 
Conceituando Sistema 
 Subsistema 
  Os componentes que formam 
um sistema também podem 
ser vistos como outros 
sistemas. 
 
 Um sistema poderá ser 
composto por outro nível de 
sistema, mais simples, ou seja 
um subsistema. 
Conceituando Sistema 
 O corpo humano se divide em outros subsistemas: 
Exemplo de Sistema 
Componentes do Sistema Digestivo 
Conceituando Sistema 
 Definição 
 
 Vários autores contribuíram para que o 
entendimento do que é um sistema pudesse 
ficar claro para todos. 
 
 Um dos conceitos que possui grande aceitação 
e aplicação para a área da Computação é 
definido por Peter Schoderbek (SCHODERBEK 
et al., 1990 apud MARTINELLI; VENTURA, 
2006, p. 6), segundo o qual: 
 
Conceituando Sistema 
 Outra Definição 
 
“É o conjunto de objetos ou entidades, com 
relações entre os objetos e os atributos 
relacionados com cada um deles e com o 
ambiente, de maneira a formar um todo”. 
Peter Schoderbek (SCHODERBEK et al., 1990 apud MARTINELLI; VENTURA, 2006). 
 
Conceituando Sistema 
 Na definição de Schoderbek identificamos: 
 
 os objetos ou entidades são os elementos que 
compõem o sistema; 
 os relacionamentos são as fronteiras que ligam os 
objetos; 
 os atributos são as características tanto dos 
objetos como dos relacionamentos; 
 o ambiente é o que está fora do sistema, ou seja, 
aquele que não participa do sistema. O sistema é 
cercado pelo ambiente no qual opera. 
 
Conceituando Sistema 
 Ambiente 
 
Conceituando Sistema 
 Entidades, relacionamentos, atributos (características) 
 
Características dos Sistemas 
Características dos Sistemas 
 Será o homem um Sistema? 
  Objetivo 
 
 Componentes 
 
 Estrutura 
 
 Comportamento 
 
 Ciclo de Vida 
 
Manter o corpo vivo 
Sistema esquelético, sistema nervoso, etc. 
O sistema nervoso permite a comunicação entre as 
várias partes do corpo. A comunicação é feita por 
meio de impulsos nervosos, que são mensagens que 
percorrem as células do sistema nervoso, os neurônios. 
Na exposição ao calor o corpo transpira mais 
intensamente. 
Nasce, cresce, envelhece e morre 
Análise de Sistemas 
E agora... 
 
O que significa fazer a Análise de Sistemas? 
O que significa “Análise”? 
 
“Estudo profundo...” 
 
“Exame de qualquer 
coisa, parte por parte...” 
 
“Decomposição do todo 
em seus elementos...” 
 
Dicionário de Língua Portuguesa. 
 A palavra Análise significa o processo de 
decomposição de uma objeto/elemento/problema 
em seus diversos elementos constituintes, a fim de se 
poder compreendê-lo melhor. 
 Dedução 
 
 
 Raciocínio dedutivo 
O que significa “Análise”? 
Raciocínio Dedutivo 
O que significa “Análise”? 
Raciocínio Dedutivo 
O que significa “Análise”? 
O que é Análise de Sistemas? 
 Analisar um sistema implica realizar um estudo profundo 
de forma a entender como ele funciona e verificar se é 
necessário introduzir melhorias. 
 
 Analisar um sistema consiste em: 
 Conhecer os seus objetivos 
 Decompô-lo em componentes 
 Conhecer cada um dos seus componentes e as relações 
entre si. 
 
 
 
Análise de Sistemas 
 Na Análise de Sistemas o sistema pode ser 
abordado de duas formas clássicas: analítica ou 
sistêmica 
 
 Então teremos a Abordagem Sistêmica e a 
Abordagem Analítica 
 
 Ambas as abordagens são muito usuais dependendo 
do que se quer ao estudar um determinado sistema. 
 
 
Análise de Sistemas 
 Abordagem Sistêmica 
 
 A abordagem sistêmica é aquela na qual se 
“olha” para o sistema de uma forma geral e 
abrangente. 
 Nela não se observam partes ou as relações 
entre partes específicas. 
 Procura-se identificar as bordas do sistema 
e o que está dentro e fora dessa borda 
(limite do sistema). 
 
 
Análise de Sistemas 
 Abordagem Analítica 
 
 Preocupa-se com o detalhamento das partes 
que compõem um sistema. 
 Nessa abordagem o “olhar” se volta para 
cada parte e cada relacionamento 
presentes no interior do sistema. 
 
 
 
Análise de Sistemas 
 
Quem é o responsável de executar a Análise de 
Sistemas? 
O Analista de Sistemas 
 Funções do Analista 
 Identificar os objetivos do sistema, conhecendo 
os resultados que se pretende alcançar 
 Efetuar um levantamento prévio dos requisitos 
para a analise do sistema 
 Criar modelos que representem o sistema para 
facilitar a análise do mesmo 
 Encontrar soluções alternativas para alcançar 
os objetivos 
 
O Analista de Sistemas 
 Características do Analista 
 
O Engenheiro de Software 
 http://pt.wikihow.com/Se-Tornar-um-Engenheiro-de-
Software 
 “Entenda que fazer a engenharia do software não é o 
mesmo que programar o mesmo. Todo engenheiro de 
software sabe como programar, mas nem todo 
programador sabe sobre engenharia de software.” 
Análise de Sistemas 
 
Que tipo de Sistemas iremos tratar? 
 Definindo Software 
 Software é: 
 Instruções (programas de computador) que, quando 
executadas, produzem a função e o desempenho desejados 
 Estrutura de dados que permitem a manipulação das 
informações 
 Documentos que descrevem a operação e uso de programas 
 
 Isto é, um software é um programa de computador e 
toda a sua documentação associada, tais como 
requisitos, modelos de projetos e manuais de usuários 
 
 
 
 
 Definindo Software 
 Antigamente o foco era mais no hardware sendo 
o software apenas uma consequência 
A programação não era um área organizada 
Poucos métodos formais eram aplicados 
 Esquema baseado na tentativa e erro 
 
 O que foi a Crise do Software? 
 
 
 
 Atividade #01 
 Pesquise sobre a Crise do Software 
 A seguir, elabore uma resenha descrevendo o 
que você entendeu sobre a Crise do Software 
 
 
 
 
 
 Definindo Software 
 A Crisedo software foi um termo que surgiu nos 
anos 70. 
 O termo expressava as dificuldades do 
desenvolvimento de software frente ao rápido 
crescimento da demanda, da complexidade dos 
problemas a serem resolvidos e da inexistência 
de técnicas estabelecidas para o 
desenvolvimento de sistemas. 
 
 
 
 Definindo Software 
 Solução para a Crise do Software 
 Utilização de técnicas, ferramentas e processos 
sistematizados para produzir software 
 Treinamento e educação em conjunto com a mudança de 
paradigma sobre o que é desenvolver software e como 
deveria ser feito 
 Criação da Engenharia de Software 
 
 
 
 
 A Engenharia de Software 
 A criação da Engenharia de Software surgiu 
numa tentativa de contornar a crise do software 
e dar um tratamento de engenharia (mais 
sistemático e controlado) ao desenvolvimento de 
sistemas de software complexos 
 
 
 Engenharia de Software 
 O termo Engenharia de Software tornou-se 
conhecido após uma conferência em 1968, 
quando as dificuldades e armadilhas de 
projetar sistemas complexos foram discutidas. 
 A busca de soluções começou. 
 Ela se concentrou em melhores metodologias e 
ferramentas. 
 
 
 Engenharia de Software 
 Uma característica importante dos sistemas de 
software é a complexidade de seu 
desenvolvimento. 
 Esta complexidade cresce à medida que cresce 
o tamanho do sistema. 
 
 
A Evolução do Software 
 O rápido crescimento da capacidade computacional 
das máquinas resultou na demanda por sistemas de 
software cada vez mais complexos. 
 O surgimento de sistemas de software mais complexos 
resultou na necessidade de reavaliação da forma de 
se desenvolver sistemas. 
 Consequentemente as técnicas utilizadas para a 
construção de sistemas computacionais têm evoluído 
de forma impressionante, notavelmente no que tange 
à modelagem de sistemas. 
 
O desenvolvimento de Software 
 Muitas vezes queremos programar diretamente 
nossos sistemas em vez de projetá-los anteriormente. 
Essa não é uma boa prática. 
O desenvolvimento de Software 
 Os principais problemas encontrados foram: 
 falta de qualidade do produto final; 
 não cumprimento dos prazos; 
 não cumprimento dos custos. 
 
 A partir desses resultados surgiram estudos de 
processos e técnicas para melhoraria da qualidade 
e confiabilidade dos produtos, e também a 
produtividade dos desenvolvedores. 
O desenvolvimento de Software 
 Uma forma de se aumentar a qualidade do 
software é definindo um processo de 
desenvolvimento eficaz que contemple todas as 
fases necessárias para sua produção. 
O desenvolvimento de Software 
 Portanto, a tarefa de desenvolver software com 
qualidade 
 Demanda uma série de atividades com 
diferentes níveis de abstração, valendo-se 
de diferentes técnicas e propósitos 
O desenvolvimento de software requer algumas 
ETAPAS que, de acordo com a forma com que 
se relacionam entre si, originam os diferentes 
processos de desenvolvimento de Software 
 
Processos de Desenvolvimento de Software 
 Processo de software é uma metodologia 
 
 É um “roteiro” 
 Uma série de passos previsíveis 
 
 Tem a finalidade de auxiliar na criação de um 
resultado com alta qualidade e dentro do prazo 
estabelecido 
Processos de Desenvolvimento de Software 
 Um Processo de Software pode ser descrito como 
um conjuntos de atividades coerentes para 
especificar, projetar, implementar e testar sistemas 
de software. 
 Consiste na aplicação de um processo sistemático, 
disciplinado e quantificado ao desenvolvimento, à 
operação e à manutenção de software. 
 Propicia estabilidade, controle e organização para 
uma atividade que pode, sem controle, tornar-se 
bastante caótica 
Características de Software 
 A aplicação de um processo de desenvolvimento de 
software possibilita que o software adquira 
atributos ou características que o classifiquem como 
um bom software? 
 Mas quais são esses atributos? 
 
 
 
 
 
 
 
O software deve proporcionar ao usuário a 
funcionalidade e o desempenho requeridos e deve 
ser passível de manutenção, confiável e de fácil uso. 
Processos de Desenvolvimento de Software 
Modelo de Processo de Software 
 O que é um modelo de Processo de Software? 
 
 
 
 Foram propostos para trazer ordem aos casos 
existentes na área de desenvolvimento de software 
Modelo de Processo de Software 
 Modelos tradicionais: 
O modelo Cascata 
O modelo Evolucionário 
Modelo Espiral 
 Prototipação 
O modelo Iterativo e Incremental 
 
 
 
O Modelo Cascata 
Comunicação 
Início do projeto 
Levantamento de 
Requisitos 
Planejamento 
Estimativas 
Cronograma 
Acompanhamento 
Modelagem 
Análise 
Projeto 
Construção 
Codificação 
testes 
Emprego 
entrega 
suporte 
O Modelo Cascata 
 Outra representação do Cascata 
 
O Modelo Cascata 
 Vantagens: 
 É simples 
 Fácil de gerenciar, pois consiste em dividir a tarefa 
em tarefas menores e autocontidas. 
 
 
 
 
 
 
 
O Modelo Cascata 
 Desvantagens 
 Os sistemas devem ser totalmente entendidos e analisados, 
antes que possam ser projetados e implementados. 
 Dificuldade de acomodar mudanças depois que o processo 
está em andamento 
 Uma versão operacional do software só estará disponível no 
final do projeto 
 Os riscos são protelados para as etapas finais 
 em grandes projetos, cada etapa consome grande 
quantidade de tempo e recursos 
 Erros graves não detectados podem ser desastrosos 
 
 
O Modelo Espiral 
 O problema relatado pelo cliente é abordado em ciclos. 
 Um ciclo completo é chamado de ciclo de vida 
 Ao final de cada ciclo, há a liberação de uma versão 
aprimorada do software, ou seja, uma versão mais 
completa 
 O software evolui ao longo do tempo 
 
 
 
O Modelo Espiral 
O Modelo Espiral 
 Outra representação 
do Espiral 
 
O Modelo Espiral 
 Outra representação do Espiral 
 
O Modelo Espiral 
 Vantagens 
 O grupo de desenvolvimento será capaz de trabalhar em 
todo um ciclo de vida do projeto e o cliente vai fornecer 
“feedback” bem cedo para a equipe de desenvolvimento, 
tornando a detecção de problemas mais fácil e rápida. 
 Qualquer mudança no sistema pode ser incorporada ao 
ciclo seguinte 
 Normalmente o cliente fica satisfeito ao ver que as versões 
que são geradas de seu software estão ficando conforme 
sua expectativa. Isso mostra para os desenvolvedores que 
estão no caminho certo do desenvolvimento do sistema. 
 
 
 
O Modelo Espiral 
 Desvantagens 
O processo é mais difícil de gerenciar, pois há falta 
de visibilidade do processo 
Sistemas são, em geral, pobremente estruturados 
O modelo espiral não se “encaixa” bem com as 
ferramentas de gerência de projetos tradicionais, 
tais como gráfico de Gantt, PERT, etc.; 
Pode ocorrer precipitação e entrega de código, 
sem que seja feita análise completa do alcance dos 
seus objetivos 
 
 
O Modelo Espiral 
 Aplicabilidade 
Para sistemas interativos pequenos ou médios 
Para partes de sistemas grandes (ex. a interface de 
usuário) 
Para sistemas de curto-prazo 
 
O Modelo Iterativo e Incremental 
 Esse modelo é um aprimoramento do modelo 
espiral e incorpora mais formalismos e rigor. 
 Baseado em “incrementos” no software 
 Há a necessidade de expandir e refinar o software deacordo com novas informações 
 A medida que o tempo vai avançando o modelo 
incremental aplica uma sequência linear gerando 
“incrementos” 
O Modelo Iterativo e Incremental 
O Modelo Iterativo e Incremental 
 Outra representação do Iterativo e Incremental 
 
O Modelo Iterativo e Incremental 
 Tem-se n iterações de tempo fixo, por exemplo de 3 
semanas 
 Dentro de cada uma dessas iterações todas as 
atividades necessárias dentro do processo de 
desenvolvimento são desenvolvidas e em muitas vezes 
em paralelo 
 Dentro de uma iteração fazemos a analise de 
requisitos, projetamos, implementamos, testamos, 
integramos e entregamos o software no final da 
iteração para o cliente 
O Modelo Iterativo e Incremental 
 No final de uma iteração entregamos uma fatia para 
o cliente e com base no seu feedback fazemos as 
adaptações necessárias para que sejam tratadas 
talvez na próxima iteração 
 O sistema vai evoluindo ao final de cada iteração 
 O resultado entregue no final de cada iteração é um 
sistema executável, porém incompleto. 
O Modelo Iterativo e Incremental 
 Outra representação do Iterativo e Incremental 
 
O Modelo Iterativo e Incremental 
 Por exemplo, um software de processamento de 
texto: 
 1º incremento : funções básicas de gerenciamento de 
arquivo, edição e produção de texto 
 2º incremento: recursos sofisticados de edição e 
produção de texto 
 3º incremento: revisão ortográfica e gramatical 
 4º incremento: recursos avançados de formatação 
(layout) 
O Modelo Iterativo e Incremental 
 Normalmente o primeiro incremento é um produto 
essencial 
 Os requisitos básicos são atendidos 
 Cada etapa final de uma sequência linear requer 
uma atividade de prototipação 
Outros Processos de Desenvolvimento de Software 
 A partir dos modelos tradicionais vários 
processos de software foram elaborados 
Processos Ágeis 
 Extreme Programming – XP 
 Scrum 
 Lean 
 Desenvolvimento dirigido à funcionalidade (FDD) 
Método de desenvolvimento de sistemas dinâmicos 
(DSDM) 
PU (Processo Unificado) 
 RUP (Processo Unificado da Rational) 
 Atividade #02 
 Leia o artigo Modelos de Processos Ágeis: 
conceitos e princípios 
 
 
 
 
 
 
 Atividade #03 
 Elabore uma pequena apresentação destacando 
os pontos chaves dos processos XP e Scrum 
 
 
 
 
 
Referências 
 Engenharia de Software – Uma abordagem 
profissional. 7º Edição. Pressman, R. S. Editora 
Bookman. Capítulo 1 
 
 Engenharia de Software 6º Edição. 
Sommerville, I. Editora Persson. Capítulo 1 
FIM

Outros materiais