Buscar

AS+-+2013-02+-+aula+01

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 47 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 47 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 47 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 de Sistemas 
aula 01 
 
 
 
Jobson Luiz Massollar 
jobson.luiz@gmail.com 
Análise de Sistemas 2 
Objetivo do Curso 
 Apresentar os conceitos básicos de análise e modelagem 
de sistemas e a importância dessas práticas para os 
projetos de software. 
 
 Capacitar o aluno a elaborar projetos detalhados de 
sistemas através da técnicas de Análise Orientada a 
Objetos com utilização da linguagem UML (Unified 
Modeling Language) 
 
 
 
Análise de Sistemas 3 
Estrutura do Curso 
 Motivação 
 Fundamentos da Análise de Sistemas 
 Engenharia de Requisitos 
 Análise e Projeto OO 
 Modelagem de Sistemas usando UML 
 
 
Análise de Sistemas 4 
Bibliografia 
 BEZERRA, E.; Princípios de Análise e Projeto de Sistemas com UML. 2ª 
ed., Campus, 2006. 
 WAZLWICK, R. S.; Análise e Projeto de Sistemas de Informação 
Orientados a Objetos. Campus, 2004. 
 PRESSMAN, R. S.; Engenharia de Software. 7ª Edição, Mc Graw Hill, 
2011. 
 SOMMERVILLE, I.; Engenharia de Software, 8ª ed., Pearson, 2007. 
 LARMAN, G.; Utilizando UML e Padrões: Uma introdução a Análise de 
Projetos Orientado a Objetos. Bookman, 2000. 
 FOWLER, M.; SCOTT, K.; UML Essencial. Bookman, 2005. 
Análise de Sistemas 5 
Avaliações 
 A1: 29/09 
 
 A2: 01/12 
 
 A3: 08/12 
 
 Regras: 
a) (A1+A2) / 2  6 E A1  5 E A2  5  APROVADO DIRETO 
b) A1  5 OU A2  5  FAZER A3 
c) Faltar A1 OU A2  FAZER A3 
d) A1  5 E A2  5  REPROVADO DIRETO (não tem direito à A3) 
e) Faltar A1 E A2  REPROVADO DIRETO (não tem direito à A3) 
f) A3 substitui sempre a menor nota (A1 ou A2) 
g) Caso o aluno tenha sido aprovado direto, ele poderá fazer a A3 para 
melhorar a média. 
Análise de Sistemas 6 
Calendário 
 Dias sem aula: 
 
 
 
 
 
 
 Semana Nacional de C&T: 13/10 a 17/10 
 Atenção: o calendário da semana se C&T será divulgado 
posteriormente. 
 
 
Dia Motivo 
15/10 (quarta) Dia do Professor 
20/11 (quinta) Zumbi 
Análise de Sistemas 7 
Material Didático 
 Todas as transparências apresentadas em sala de aula e os 
programas desenvolvidos no laboratório serão postados no 
NetStudent. Os alunos deverão acessar o sistema e fazer o download 
do material. 
 
 Não serão enviadas transparências ou qualquer outro tipo de material 
didático via email. 
 
Análise de Sistemas 8 
Frequência 
 O curso é presencial e, portanto, não haverá abono de faltas. 
 
 Use os 25% de faltas a que você tem direito para os casos realmente 
necessários (doença, viagem, trabalho, etc.). 
 
 Acompanhe o lançamento das frequências no NetStudent. 
Análise de Sistemas 9 
 Nos primórdios da computação o software era simples e 
desenvolvido de forma ad-hoc. 
 
 Metodologia Code and Fix (codifica e conserta) 
 
 
 Primeiro grande software relatado na literatura técnica: IBM OS/360 
 Lançado em 1964, mas só completamente implementado em 
1967. 
 No auge do desenvolvimento, a equipe completa era composta 
por cerca de 1000 pessoas. 
Motivação 
Análise de Sistemas 10 
 Ao longo dos anos pudemos observar a evolução da computação 
eletrônica: 
 
 Primeiro paradigma: caracterizado pela utilização de um mesmo 
dispositivo de processamento por N usuários. Este período 
destaca-se pelo uso intensivo de computadores de grande porte 
ou mainframes, que eram muito caros. 
Motivação 
Análise de Sistemas 11 
 Ao longo dos anos pudemos observar a evolução da computação 
eletrônica: 
 
 Segundo paradigma: caracterizado pela utilização de um 
dispositivo de processamento por um único usuário. Neste 
período temos o surgimento dos computadores pessoais ou 
personal computers (PCs). 
Motivação 
Análise de Sistemas 12 
 Ao longo dos anos pudemos observar a evolução da computação 
eletrônica: 
 
 Terceiro paradigma: caracterizado pela utilização de N 
dispositivos de processamento por um único usuário. Este 
período caracteriza-se fortemente pelo uso intensivo de 
dispositivos móveis e redes de comunicação. 
Motivação 
Análise de Sistemas 13 
 A cada dia novas tecnologias são criadas ou aprimoradas: 
 
 Redes de comunicação (com fio e sem fio) 
 Redes de posicionamento 
 Redes de sensores (presença, temperatura, luminosidade, 
trânsito, ...) 
 Dispositivos móveis 
 Dispositivos cada vez menores e com maior poder de 
processamento e armazenamento 
 Armazenamento de dados na nuvem (cloud storage) 
 Processamento de dados na nuvem (cloud computing) 
 Impressoras 3D 
 Recarga sem fio de dispositivos 
 ... 
Motivação 
Análise de Sistemas 15 
 Essas novas tecnologias permitiram que conceitos criados a alguns 
anos se tornassem realidade: 
 
 Computação móvel: é a capacidade de um dispositivo computacional 
e os serviços associados ao mesmo serem móveis, permitindo este ser 
transportado mantendo-se conectado a uma rede de comunicação. 
 
 Computação pervasiva: define que os recursos computacionais 
estarão distribuídos e integrados ao ambiente de trabalho dos 
usuários de forma imperceptível (sistemas embutidos). 
 
Motivação 
Análise de Sistemas 16 
 Essas novas tecnologias permitiram que conceitos criados a alguns 
anos se tornassem realidade: 
 
 Computação ubíqua: caracteriza-se pelo uso de serviços 
computacionais embutidos no ambiente que nos cerca, de forma que 
seu uso não seja intrusivo e ao mesmo tempo natural para os 
usuários. Neste novo paradigma, os usuários carregam consigo os 
serviços computacionais que necessitam, serviços estes que podem 
ser providos através de dispositivos heterogêneos diversos. 
Motivação 
Análise de Sistemas 17 
 Essas novas tecnologias permitiram que conceitos criados a alguns 
anos se tornassem realidade: 
 
 Desmaterialização: diz respeito a tornar as coisas menos materiais 
com o objetivo de diminuir o consumo de recursos físicos na sua 
produção. 
 
 É importante ressaltar que o conceito de desmaterialização está 
alinhado com o conceito de sustentabilidade, tão difundido nos dias 
de hoje. 
Motivação 
Análise de Sistemas 18 
 No mundo digital de hoje o conceito de desmaterialização, 
combinado com o conceitos da computação ubíqua, vem sendo 
aplicados de forma cada vez mais intensa por empresas privadas e 
governos. 
 
 E isso vem ampliando a atuação de sistemas de software para novas 
áreas. 
 
 Exemplos ? 
Motivação 
Análise de Sistemas 19 
 Exemplos: 
 
1. Digitalização de documentos combinado com assinatura e 
certificação digitais vem sendo adotados de forma cada vez 
mais abrangente por empresas privadas e governos; 
 
2. Tablets cada vez mais apropriados à leitura de conteúdo digital 
estão levando as editoras de livros, jornais e revistas a 
investirem cada vez mais nas versões digitais de seus produtos; 
 
3. Controles remotos de TVs são disponibilizados pelos próprios 
fabricantes como softwares que rodam em celulares; 
Motivação 
Análise de Sistemas 20 
 Exemplos: 
 
4. Calculadoras científicas, antes tão cobiçadas por profissionais e 
estudantes da área técnica, hoje são oferecidas, muitas vezes 
gratuitamente, como softwares em diversas plataformas; 
 
5. Câmera fotográfica, relógio/despertador, lanterna, console de 
jogos e tocador de música são alguns dispositivos que hoje são 
disponibilizados, via software, em um único aparelho: os 
celulares; 
 
6. Grandes montadoras da indústria automobilística preveem que, 
a partir de 2015, as chaves dos carros comecem a ser 
substituídas por um software rodando nos celulares utilizando 
tecnologia NFC (Near Field Communication);Motivação 
Análise de Sistemas 21 
 Exemplos: 
 
7. Consumo colaborativo, onde pessoas utilizam dispositivos de 
uso pessoal e redes de comunicação para compartilhar bens de 
consumo; 
 
8. Pesquisas já apontam para o uso de impressoras 3D para que 
os próprios usuários possam "imprimir" peças de reposição de 
aparelhos diversos ao invés de comprar esses itens da forma 
tradicional...e isso terá um grande impacto em toda a cadeia 
produtiva. 
Motivação 
Análise de Sistemas 25 
 Atualmente, sistemas de software comandam nossas vidas de uma 
forma muito mais abrangente do que somos capazes de perceber. 
 
 
 Se você ainda duvida disso tente responder... 
 
o que aconteceria se, por um motivo qualquer, todos os softwares que 
gerenciam os negócios, as empresas, os equipamentos, etc., 
parassem de repente de funcionar ? 
Motivação 
Análise de Sistemas 26 
 Sistemas de software vem crescendo em: 
• Abrangência 
• Importância 
• Complexidade 
 
e a interação entre esses diversos sistemas tende a tornar o cenário 
ainda mais complexo. 
 
 A partir daí, temos uma constatação: 
 
O desenvolvimento de sistemas é uma tarefa complexa. 
Motivação 
Análise de Sistemas 27 
 Alguns exemplos da evolução dessa complexidade (valores 
aproximados): 
 Microsoft Word 1.0: 27 KLOCs 
 Photoshop 1.0: 120 KLOCs 
 Windows 3.1: 2,5 MLOCs 
 Windows NT 3.1: 4,5 MLOCs 
 Eclipse versão Europa (2007): 17 MLOCs 
 Windows 2000: 28 MLOCs 
 Windows 7: 40 MLOCs 
 Microsoft Office 2013: 45 MLOCs 
 Mac OS X Tiger: 85 MLOCs 
 
KLOCs = milhares de linhas de código 
MLOCs = milhões de linhas de código 
Motivação 
Análise de Sistemas 28 
 O aumento dessa complexidade vem sendo percebido desde o início 
da década de 70: 
 Barateamento do hardware; 
 Demanda por softwares mais complexos, devido à maior 
capacidade de processamento; 
 Demanda por softwares superior à capacidade de 
desenvolvimento; 
 Software desenvolvido não atendia às necessidades dos usuários; 
 Baixa qualidade do software; 
 Código difícil de manter; 
 Estimativas de custo e prazo raramente cumpridas. 
Motivação 
Crise do Software 
Análise de Sistemas 29 
 A Engenharia de Software surgiu como um dos resultados do esforço 
para tentar superar a crise do software. 
 
 Engenharia de Software: 
 
 Tem como objetivo organizar ferramentas, técnicas e 
metodologias que permitam a construção de software de 
qualidade com um custo aceitável. 
Motivação 
Análise de Sistemas 30 
 Por que precisamos da Engenharia de Software ? Por que não iniciar 
o desenvolvimento do software com a programação ? 
 
 
 Vamos tentar responder essa pergunta fazendo um paralelo com o 
desenvolvimento de sistemas em outras áreas. 
 
Motivação 
Análise de Sistemas 31 
 Exemplos: 
Motivação 
- Complexidade + 
Análise de Sistemas 32 
 Por que precisamos da Engenharia de Software ? Por que não iniciar 
o desenvolvimento do software com a programação ? 
 
 Porque antes de implementar uma solução computacional existe uma 
série de questões que precisam ser respondidas: 
 Para que será usado esse sistema ? 
 Que usuários usarão o sistema ? 
 O que os usuários esperam que esse sistema ofereça ? 
 Que restrições existem para construir esse sistema ? 
 Que tecnologias eu posso ou não posso usar para construir esse 
sistema ? 
 
...e muitas outras. 
 
Motivação 
Análise de Sistemas 34 
 A Engenharia de Software prega que é preciso haver um Processo de 
Desenvolvimento de Software através do qual construímos nossos 
softwares. 
 
 Processo de Desenvolvimento de Software (PDS): 
 Conjunto de atividades que visam definir, desenvolver, testar e 
manter um produto de software. 
Introdução 
Análise de Sistemas 35 
 A Engenharia de Software prega que é preciso haver um Processo de 
Desenvolvimento de Software através do qual construímos nossos 
softwares. 
 
 Processo de Desenvolvimento de Software (PDS): 
 Conjunto de atividades que visam definir, desenvolver, testar e 
manter um produto de software. 
 
 Como esse processo é representado ? 
 
 Ciclo de Vida: 
Define a sequência de macro-atividades que serão seguidas 
durante o processo de desenvolvimento de um software. 
Introdução 
Análise de Sistemas 36 
 Ciclo de Vida Cascata (Royce, 1970) 
Introdução - Modelo Cascata 
Definição dos requisitos 
Análise 
Projeto 
Implementação 
Teste/Avaliação 
Implantação 
Manutenção 
Análise de Sistemas 37 
 Definição de Requisitos 
 
 Envolve o entendimento dos requisitos, ou seja, das 
necessidades dos usuários do sistema. Nessa fase já é feita uma 
pequena quantidade de análise de alto nível. 
 
 Análise 
 
 Envolve a compreensão do domínio do problema, da informação 
a ser tratada, das funções do software, de aspectos de 
desempenho e interfaces exigidos pelo cliente; 
 Envolve, também, a definição de uma solução computacional; 
 Os requisitos são documentados e revistos com os usuários. 
 
 
Introdução - Modelo Cascata 
Análise de Sistemas 38 
 Projeto 
 Tradução dos requisitos do software para um conjunto de 
representações que detalham como o software será estruturado; 
 São definidos aspectos do software como a arquitetura, a 
estrutura dos dados, lógicas de comportamento (algoritmos) e 
características da interface. 
 
 Implementação ou Codificação 
 Tradução das representações de projeto para uma linguagem de 
programação. 
 
 
Introdução - Modelo Cascata 
Análise de Sistemas 39 
 Testes 
 Concentra-se na avaliação do que foi produzido, para verificar se 
o software construído realmente atende ao que foi especificado e 
se atende às necessidades do usuário. 
 
 Implantação 
 Instalação do sistema em uma infraestrutura computacional; 
 Treinamento; 
 Disponibilização de manuais de uso, operação e demais 
documentações. 
Introdução - Modelo Cascata 
Análise de Sistemas 40 
 Manutenção 
 
 Trata das mudanças necessárias no software após a 
implementação. 
 
 Principais causas das mudanças: 
• Correções de falhas no software (manutenção corretiva) 
• Adaptações a novas necessidades (manutenção adaptativa) 
• Melhoramentos nas funções existentes (manutenção 
evolutiva) 
• Modificações para prevenir possíveis falhas (manutenção 
preventiva) 
Introdução - Modelo Cascata 
Análise de Sistemas 41 
 Na prática o Modelo Cascata é muito difícil de ser seguido, porque 
ele exige que todos os requisitos estejam claros e detalhados na 
fase inicial do desenvolvimento. 
 
 Principal contribuição do Modelo Cascata: 
 
 Tentou refletir no desenvolvimento do software as práticas das 
engenharias clássicas, sugerindo que o processo de 
desenvolvimento de software deve estar sujeito à disciplina, 
planejamento e gerenciamento. 
Introdução - Modelo Cascata 
Análise de Sistemas 42 
 Existem vários outros ciclos de vida propostos na literatura técnica: 
 Prototipagem descartável 
 Prototipagem evolutiva 
 Desenvolvimento evolucionário 
 Modelo incremental 
 Modelo espiral 
 Modelo de desenvolvimento baseado em componentes 
 RUP 
 
 O importante é que, independente do ciclo de vida, todos eles 
incluem a fase de Análise como uma das etapas do 
desenvolvimento. 
Introdução - Modelo Cascata 
Análise de Sistemas 47 
 Análise: 
 
 
 
 
 
 
 Análise de Sistemas: 
 
 Exame de cada parte de um sistema para conhecer-lhe a 
natureza, as funções, as limitações, as estruturase os 
comportamentos. 
Introdução 
 "Exame de cada parte de um todo para conhecer-lhe a 
natureza, as funções, etc." 
 (Dicionário Aurélio) 
Análise de Sistemas 48 
 Entretanto, sistemas computacionais não são compostos apenas por 
software. Eles são formados por um conjunto de elementos: 
 Hardware 
 Software 
 Pessoas 
 Processos 
 etc. 
 que interagem para atingir um objetivo. 
 
 Logo, a Análise de um sistema abrange o entendimento de todos 
esses elementos. 
Introdução 
Análise de Sistemas 49 
 Para que a Análise ocorra da forma adequada é preciso: 
1. Coletar informações sobre o sistema desejado, as pessoas que 
irão usá-lo e o contexto onde ele está inserido; 
2. Documentar os resultados da análise, e; 
3. Avaliar se a documentação gerada atende às necessidades do 
usuário. 
 
 Temos, então, as 4 fases iniciais do desenvolvimento de um sistema: 
1. Elicitação 
2. Análise 
3. Especificação 
4. Avaliação 
Introdução 
Análise de Sistemas 50 
Introdução 
 Essas fases do desenvolvimento de um sistema são tão importantes 
e críticas que foi criada uma sub-área da Engenharia de Software 
somente para cuidar dessas questões, chamada de Engenharia de 
Requisitos. Ela é formada por atividades de: 
 
1. Elicitação (ou Levantamento) 
• Capturar e entender as necessidades dos usuários. 
2. Análise 
• Organizar as necessidades dos usuários e elaborar uma solução 
computacional para o problema. 
3. Especificação (ou Documentação ou Modelagem) 
• Documentar a solução proposta. 
4. Avaliação 
• Avaliar se a especificação produzida atende às necessidades dos 
usuários. 
 
Análise de Sistemas 51 
Processo de Desenvolvimento 
 
Mundo real Mundo computacional 
Requisitos do cliente 
Análise de Sistemas 52 
Processo de Desenvolvimento 
 
Mundo real Mundo computacional 
Requisitos do cliente Requisitos do sistema 
Análise de Sistemas 53 
Processo de Desenvolvimento 
 
Mundo real Mundo computacional 
Requisitos do cliente Requisitos do sistema 
Especificação 
Análise de Sistemas 54 
Processo de Desenvolvimento 
 
Mundo real Mundo computacional 
Requisitos do cliente 
Modelos de projeto 
Requisitos do sistema 
Especificação 
Análise de Sistemas 55 
Processo de Desenvolvimento 
 
Mundo real Mundo computacional 
Requisitos do cliente 
Modelos de projeto 
Código 
Requisitos do sistema 
Especificação 
Análise de Sistemas 56 
Processo de Desenvolvimento 
 
Mundo real Mundo computacional 
Requisitos do cliente 
Código 
Programação é 
importante somente na 
parte final do processo. 
Modelos de projeto 
Requisitos do sistema 
Especificação

Continue navegando