MÓDULO Análise Orientada a Objetos Introdução

Tamanho: px
Começar a partir da página:

Download "MÓDULO Análise Orientada a Objetos Introdução"

Transcrição

1 MÓDULO Análise Orientada a Objetos Introdução Prof. M.Sc. Sílvio Bacalá Júnior

2 OBJETIVO DO MÓDULO Apresentação da disciplina Conteúdo Programático Sistema de Avaliação Bibliografia DAW4 2

3 CURRÍCULO DO PROFESSOR Formado em Engenharia Elétrica pela UFU Pós graduado em Tecnologia da Informação pela UFPE Mestre em Engenharia de Software pela UFU Atuou como Analista de Sistemas, Gerente de Divisão e, atualmente, é professor 20 hs na UFU Atua com Analista Tributário na RFB Foi um dos criadores da versão Windows e Java do programa IRPF, assumindo papéis de Arquiteto, Projetista, Desenvolvedor e Supervisor Técnico. DAW4 3

4 CONTEÚDO PROGRAMÁTICO Introdução Processo de Desenvolvimento de Sistemas Sistemas Web Engenharia de Software para Web Elicitação de Requisitos Análise dos Requisitos Projeto Web DAW4 4

5 SISTEMA DE AVALIAÇÃO Trabalhos ao longo das aulas Prova final na última aula (metade da aula) DAW4 5

6 REFERÊNCIAS BIBLIOGRÁFICAS UML User s Guide. Rumbaugh, Jacobson, Booch RUP. Rumbaugh, Jacobson, Booch Engenharia de Software. Sommerville DAW4 6

7 Evolução do Computador Imagine a vida sem computadores. Sem Web! DAW4 7

8 A Evolução da Web Tempo levado para chegar a 30% da população americana (em anos) Telefone 40 Rádio 35 Televisão 26 Videocassete Computador Internet 4 DAW4 8

9 No início: Conteúdo estático e textual Interação limitada Navegabilidade fácil Desempenho não era essencial Sites desenvolvidos apenas por uma pessoa ou por um pequeno grupo DAW4 9

10 Atualmente: Escopo e complexidade vêm aumentando Sons, imagens, animações, etc. Navegabilidade complexa Desempenho essencial DAW4 10

11 Alguns dados... 84% dos sistemas entregues não atendem as necessidades do cliente 79% dos projetos sofrem com atrasos 63% tem custo maior que o previsto 50% dos sistemas prontos tem problemas: são de baixa qualidade e faltam funcionalidades necessárias DAW4 11

12 O cenário atual Sites feitos com pouca disciplina, sem preocupação com técnicas e métodos padronizados ou maneiras de controlar a qualidade Muitos desenvolvedores acham que o desenvolvimento para a Web é apenas criação de páginas usando HTML, Frontpage ou Dreamweaver Muitos livros e revistas também tratam o desenvolvimento para a Web desta maneira DAW4 12

13 A convergência da tecnologia de redes A representação tradicional do acesso a rede Internet modem Usuário Web Internet modem 9 2 Servidor Web Uma representação atualizada do acesso a rede Internet Qualquer dispositivo Qualquer meio Internet Qualquer meio Usuário Web Servidor Web

14 O crescimento da rede Web Fonte: Nua Surveys <

15 Características de Aplicativos Web Uso intenso de recursos de rede Dirigido a conteúdo Evolução contínua DAW4 15

16 Analogia da ponte DAW4 16

17 Analogia do jardim DAW4 17

18 Desenvolvimento de software Como é feito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software Testes/validação Uma série de problemas!! DAW4 18

19 Como deveria ser DAW4 19

20 A realidade DAW4 20

21 A realidade Modelagem é algo positivo... Arquitetos (algumas vezes) usam UML para criar modelos de alto nível São usados em um primeiro momento Discussões, idéias, etc (análise) Porém logo são inúteis Programadores criam código manualmente Manutenção é feita diretamente no código Modelos perdem a consistência Mesmo com engenharia reversa, acaba sendo um artefato desnecessário DAW4 21

22 Problemas a serem resolvidos Reduzir o fardo da modelagem Dificuldades da linguagem (UML) Inconsistências entre modelo-código Necessidade de ferramentas Achar que modelo é algo desnecessário DAW4 22

23 Reutilização Conhecimento fica criptografado no código DAW4 23

24 Reutilização de conhecimento DAW4 24

25 Reutilização de conhecimento E se mudar o código? DAW4 25

26 Reutilização de conhecimento E se mudar o código? DAW4 26

27 Problemas a serem resolvidos Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Formas mais eficientes para representar o conhecimento Menos dependentes do código final Mais próximas do domínio do problema Diferente da documentação DAW4 27

28 Produtividade Um elemento conceitual corresponde a vários elementos do código Diferença no nível de abstração Mapeamento problema / solução DAW4 28

29 Produtividade DAW4 29

30 Produtividade DAW4 30

31 Produtividade Muitas tarefas de implementação são repetitivas e exaustivas EJB 2.0 CORBA Struts Hibernate Perde-se tempo precioso em trabalho braçal Poderia ser usado em tarefas mais conceituais DAW4 31

32 Problemas a serem resolvidos Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Foco em tarefas conceituais Evitar tarefas repetitivas DAW4 32

33 Manutenibilidade Correções Erros Melhorias Evolução Novas funcionalidades Exigem nova análise, projeto, implementação, testes, etc... Normalmente o tempo é curto DAW4 33

34 Engenharia para a Web Processo utilizado para criar aplicativos Web de alta qualidade Não é igual a Engenharia de Software tradicional, mas compartilham muitos conceitos e princípios fundamentais Incorpora novas abordagens, metodologias, ferramentas, técnicas e normas para atender os requisitos exclusivos dos sistemas para a Web Desenvolvimento para a Web é uma mistura de publicações impressas e desenvolvimento de software, entre marketing e computação, entre comunicações internas e relações externas, e entre arte e tecnologia DAW4 34

35 Manutenção a realidade DAW4 35

36 Manutenibilidade DAW4 36

37 Manutenibilidade DAW4 37

38 Exemplo de manutenção Modificar um campo de um registro em uma aplicação baseada em Struts Tabela, índices, visões, consultas, etc. (SQL) Ação (classe Java) Mapeamento (XML) Formulário (XML) Bean de dados (Java/XML) DAO - Data Access Objects (Java) Página (HTML) Regras de validação (Javascript) Arquivo de mensagens (.properties) etc. DAW4 38

39 Manutenibilidade Trabalho braçal para construir Re-trabalho braçal para modificar Rastreabilidade Um elemento conceitual Diversos artefatos de implementação Consistência das mudanças Entre os diversos artefatos DAW4 39

40 Manutenibilidade Erros de programação podem ser facilmente encontrados Compilador / IDE Checagens simples (método privado nunca é chamado, etc.) Erros conceituais Difíceis de identificar no código Conhecimento está criptografado DAW4 40

41 Manutenibilidade DAW4 41

42 Manutenibilidade DAW4 42

43 Manutenibilidade DAW4 43

44 Manutenibilidade Uma vez realizada a alteração Atualizar os modelos (Quase) nunca acontece Uma vez que os desenvolvedores tenham um modelo mental começam a descartar o modelo físico (documentação) Resultado = modelos desatualizados Faz parte do fardo da modelagem DAW4 44

45 Problemas a serem resolvidos Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Aproveitar o retrabalho de forma mais produtiva Possibilitar que mudanças sejam realizadas no nível conceitual Facilitar a localização de erros e falhas Manter a consistência entre modelo e código DAW4 45

46 Validação Verificações automáticas de restrições de alto nível Difíceis de se realizar diretamente no código Exemplos (máquina de estados): Estados inalcançáveis Transições infinitas Estados mortos Facilita manutenção Evitando introdução de erros DAW4 46

47 Validação DAW4 47

48 Otimização Nível de código Pré-calcular expressões Utilização de macros Remoção de expressões redundantes Em nível mais alto não é possível sem a existência de um modelo Remover estados redundantes Normalizar base de dados Indexar tabelas de acordo com as consultas existentes DAW4 48

49 Problemas a serem resolvidos Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Validação / otimização Fazer uso de checagem automática Utilizar o conhecimento de especialistas do domínio DAW4 49

50 Portabilidade Acompanhar a evolução das plataformas de hardware/software Novas tecnologias surgem Aumenta a pressão para a migração Custo do porte: Esforço gasto em tarefas específicas da plataforma DAW4 50

51 Portabilidade Software independente da plataforma Requisitos Modelos Regras de negócio Otimizações 1 mes Software dependente da plataforma Código Arquivos de configuração Scripts (sql, make, etc) Código específico da plataforma Bibliotecas da plataforma 6 meses DAW4 51

52 Portabilidade Software independente da plataforma Requisitos Modelos Regras de negócio Otimizações 3 meses Software dependente da plataforma Código Arquivos de configuração Scripts (sql, make, etc) Código específico da plataforma Bibliotecas da plataforma 3 meses DAW4 52

53 Problemas a serem resolvidos Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Validação / otimização Portabilidade Reduzir o esforço específico de plataforma Concentrar no trabalho conceitual DAW4 53

54 Alta complexidade do software atualmente Exemplo: LBS Location-Based Systems GIS Geographical Information Systems Múltiplas plataformas Múltiplas interfaces Diversas fontes de dados Interoperabilidade Usuário final leigo DAW4 54

55 Rastreamento (radiofrequência, GPRS) Visualização (Java SWING, Web, JME, Palm) Localização Roteamento Telemetria Acionamento remoto DAW4 55

56 Tecnologias envolvidas Hardware dedicado (veículos) GPS, sensores, atuadores Software embarcado (C) Geoposicionamento Leitura/escrita sinais Protocolo de comunicação Transmissão Criptografia Central (C++) Armazenamento dos dados Autenticação DAW4 56

57 Tecnologias envolvidas Monitoramento/rotas (Java/SWING) Visualização dos veículos Sobreposição no mapa Cálculo de rotas Servidor de mapas (Java) Visualização em camadas Caching Base de dados PostgreSQL + PostGIS Funções de consulta / geometria Diferentes fornecedores de mapas DAW4 57

58 Tecnologias envolvidas Dispositivos móveis Celular (JME) PND Personal Navigation Device (C# /.NET) Android IOS Visualização Web Portal de mapas (Javascript) Edição de mapas (Java/SWING) Nomes de ruas Sentido/mão de direção DAW4 58

59 Problemas a serem resolvidos Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Validação / otimização Portabilidade Lidar com a alta complexidade do software atual Diferentes especialistas (TI vs domínio) Necessidade de integração / interoperabilidade DAW4 59

60 Resultado Complexidade exige Diversos profissionais Diversos especialistas Comunicação é crítica Especialistas em TI x Especialistas no domínio Cada um em seu território! Porém, com a alta complexidade Torna-se uma tarefa difícil Além disso Constantes mudanças nas plataformas/requisitos/tecnologias disponíveis DAW4 60

61 Solução Desenvolvimento usando Modelos Processo de Software Modelagem Reutilização Produtividade Manutenibilidade Validação / otimização Portabilidade Alta complexidade DAW4 61

62 PROCESSOS DE SOFTWARE DAW4 62

63 Áreas envolvidas: Análise de sistemas e projetos Engenharia de software Engenharia de hipermídia e hipertexto Engenharia de requisitos Interação humano-computador Desenvolvimento de interface de usuário Engenharia de informação Indexação e recuperação de informações Teste Modelagem e simulação Gerenciamento de projetos Projeto gráfico e apresentação DAW4 63

64 Desenvolvimento para a Web X Desenvolvimento tradicional Imediatismo: o tempo em que um site completo precisa ficar pronto pode ser apenas alguns poucos dias ou semanas Segurança: aplicativos para a Web estão disponíveis via rede, é difícil ou até mesmo impossível limitar a população de usuários que irão acessar o aplicativo Estética: é inegável que boa parte do apelo dos aplicativos para a Web é o seu visual DAW4 64

65 Tipos de aplicativos Web Informacional. Conteúdo apenas para leitura é fornecido com navegação simples e links. Download. Um usuário faz o download de informações dos servidores apropriados Personalizável. O usuário personaliza o conteúdo para suas necessidades específicas Interação. Comunicação entre uma comunidade de usuários ocorre em salas de bate-papo, fóruns ou mensagens instantâneas. Entrada de Usuário. Entradas baseadas em formulários são os mecanismos primários para a comunicação necessária. DAW4 65

66 Tipos de aplicativos Web Orientado a transações. O usuário faz um pedido que é atendido pelo aplicativo Orientado a serviços. O aplicativo fornece um serviço para o usuário. Portal. O aplicativo direciona o usuário para outros conteúdos ou serviços fora do domínio do portal do aplicativo. Acesso a Banco de Dados. O usuário faz uma consulta em um grande banco de dados e extrai informações. Data warehousing. O usuário consulta uma coleção de grandes bancos de dados e extrai informações. DAW4 66

67 Modelo de Processo DAW4 67

68 Atividades do Modelo de Processo Formulação: atividade que identifica as metas e objetivos do aplicativo e determina um escopo para o primeiro incremento Planejamento: estima os custos do projeto, avalia riscos associados com o desenvolvimento, e define um cronograma bem definido para o primeiro incremento, e um menos definido para os demais Análise: são estabelecidos os requisitos técnicos e identificados os itens de conteúdo que serão incorporados. Requisitos para projeto gráfico (estética) também são definidos. DAW4 68

69 Atividades do Modelo de Processo Engenharia: Projeto de Conteúdo e Produção: projetar, produzir e/ou obter todos os textos, gráficos, conteúdo de áudio e vídeo que serão integrados ao aplicativo. Geração de Páginas: conteúdo definido na atividade de engenharia é fundido com os projetos de arquitetura, navegação e interface para produzir páginas DAW4 69

70 Atividades do Modelo de Processo Teste: tenta descobrir erros em applets, scripts e formulários; e ajuda a garantir que o aplicativo irá funcionar corretamente em diferentes ambientes Avaliação do Cliente: mudanças são pedidas e serão integradas ao sistema no próximo ciclo do processo incremental. DAW4 70

71 Problemas que normalmente ocorrem: Inconsistência das informações; Manutenção normalmente utiliza muitos recursos e tempo; Falta de escalabilidade; Necessidade de um visual comum; No início, requisitos são muito vagos; Os requisitos irão mudar consideravelmente durante o desenvolvimento e especialmente quando o aplicativo já estiver em uso; A tecnologia também vem mudando muito rapidamente. DAW4 71

72 Cenário atual Grande parte dos desenvolvedores para a Web não utilizam um processo de desenvolvimento bem definido e documentado Dos poucos que estão utilizando processos bem definidos e documentados, apenas alguns estão utilizando modelos padronizados pela indústria de software Na maioria dos casos o processo se foca na Implementação. Análise de Requisitos e Projeto normalmente estão combinadas no começo do projeto, e as atividades de Teste são conduzidas em conjunto com a implementação. DAW4 72

73 Formulação As seguintes perguntas devem ser feitas: Qual o principal motivo para desenvolvermos este aplicativo? Por que este aplicativo é necessário? Quem vai usar este aplicativo? DAW4 73

74 Formulação As respostas destas perguntas servirão para definir: Metas de informação: Indicam a intenção de fornecer conteúdo específico e/ou informação para o usuário Metas de aplicativo: Indicam a habilidade de executar tarefas do aplicativo DAW4 74

75 Formulação Quando todas as metas de ambos os tipos forem identificadas, um perfil de usuário é desenvolvido Quando todas as metas e perfis de usuários estiverem desenvolvidos, a atividade de formulação irá focar a declaração de escopo do aplicativo para a Web DAW4 75

76 Análise Análise de Conteúdo: todo o conteúdo a ser fornecido pelo aplicativo é identificado Análise de Interação: a maneira pela qual o usuário interage com o aplicativo é descrita em detalhes Análise Funcional: os cenários de uso criados na análise de interação irão definir operações que irão ser utilizadas no aplicativo, que implicam outras funções de processamento Análise de Configuração: O ambiente e a infra-estrutura na qual o aplicado reside são descritos em detalhe DAW4 76

77 Análise: cenário atual especificação detalhada de requisitos raramente é feita argumentação mais comum é que a evolução contínua dos aplicativos para a Web torna os documentos de requisitos obsoletos antes mesmo de completar o desenvolvimento DAW4 77

78 Projeto O dilema do projetista: O projeto deve resolver os problemas imediatos É preciso criar uma arquitetura que comporte uma evolução rápida DAW4 78

79 Elementos técnicos para um projeto efetivo: Métodos e Princípios de Projeto: Modularidade eficiente (alta coesão e baixo acoplamento) e outras heurísticas da construção de software devem ser utilizadas também para a Web. Pode-se utilizar inclusive os métodos de projetos para sistemas orientados a objetos, pois a hipermídia define objetos que interagem através de um protocolo de comunicação que é bem parecido com o utilizado na orientação a objetos. Regras de Ouro (Golden Rules): Sistemas para a Web já vêm sendo construídos há uma década. Neste tempo, os projetistas desenvolveram um conjunto de heurísticas que podem ser reaplicadas durante o projeto de novos aplicativos. DAW4 79

80 Elementos técnicos para um projeto efetivo: Padrões de Projetos (Design Patterns): São abordagens genéricas utilizadas para resolver problemas genéricos que podem ser adaptadas para resolverem uma grande variedade de problemas mais específicos. Modelos (Templates): um modelo pode ser utilizado para fornecer um esqueleto para qualquer tipo de padrão de projeto que será utilizado no aplicativo. DAW4 80

81 Projeto de Arquitetura Tem foco na definição da estrutura hipermídia do aplicativo, na aplicação de padrões e na construção de modelos (templates) para montar a estrutura e permitir reuso A atividade paralela chamada de Projeto de Conteúdo, deriva a estrutura geral e o esboço detalhado do conteúdo que será apresentado no aplicativo Nesta etapa é definida a estrutura que será utilizada DAW4 81

82 Estrutura Linear DAW4 82

83 Estrutura de Grade DAW4 83

84 Estrutura Hierárquica DAW4 84

85 Estrutura de Rede (Pure Web) DAW4 85

86 Projeto de Navegação Objetivo: definir caminhos que permitam ao usuário acessar conteúdos e serviços identificar as semânticas de navegação para diferentes usuários e definir os mecanismos para realizar a navegação DAW4 86

87 Tarefas do Projeto de Navegação Definir tipos de usuários Criar uma unidade semântica de navegação (semantic navigation unit SNU) para cada objetivo associado a cada tipo de usuário SNU é composta de um conjunto de sub-estruturas navegáveis que podemos chamar de caminhos (ways of navigating WoN) Cada um desses caminhos representará a melhor maneira de navegar para que um determinado usuário atinja sua meta ou sub-meta. Escolher como os links serão identificados. Dentre as opções estão: textos, ícones, botões, etc DAW4 87

88 Projeto de Interface Métodos utilizados na Engenharia de Software podem ser utilizados, porém são necessárias algumas considerações adicionais Na Web a interface tem um papel fundamental DAW4 88

89 Recomendações para construção de uma boa interface: Erros no servidor, mesmo os menores, podem fazer com que um usuário deixe o site e procure a informação ou serviço que deseja em outro lugar; Não se deve forçar o usuário a ler grandes quantidades de texto, principalmente se for texto explicando como operar o aplicativo ou navegar por ele; Avisos de Em Construção devem ser evitados, são links desnecessários que causam uma expectativa do usuário que com certeza irá se desapontar; DAW4 89

90 Recomendações para construção de uma boa interface: Usuários não gostam de rolar a tela, informações importantes devem ser colocadas no topo, de forma que apareça logo que a página é carregada; Menus e barras de navegação devem ser projetados de forma consistente, e devem estar disponíveis em todas as páginas que o usuário irá navegar. Não se deve contar com as funcionalidades do browser; Opções de navegação devem ser óbvias, mesmo para o usuário casual. O usuário não pode ficar procurando pela tela até encontrar o que deseja. DAW4 90

91 Considerações Pessoas gastam horas clicando em um site para encontrar uma simples informação. Surfar na Web é muito mais difícil do que parece. Os usuários (potenciais clientes) estão conseguindo navegar no seu site? Por que os humanos têm que se adaptar a tecnologia? Por que a tecnologia não se adapta aos humanos? Sua empresa não é o público-alvo. Você deve escrever seu site em uma linguagem que seus usuários compreendam. DAW4 91

92 Considerações Grandes erros continuam acontecendo na Web: links quebrados, cores não padronizadas, URLs que mudam e fazem com que links externos para seu site fiquem quebrados. Na Internet, sobrevive o mais fácil de usar. Se o usuário não consegue achar o produto, ele não irá comprá-lo. Atenção com a usabilidade aumenta a porcentagem de visitantes que se tornam clientes. DAW4 92

93 Testes Assim como na Engenharia de Software, na Engenharia para a Web as atividades de teste também visam encontrar erros Na Web o desafio é ainda maior, pois os aplicativos podem ser acessados utilizando diferentes browsers, sistemas operacionais, plataformas de hardware, etc DAW4 93

94 Testes O modelo de conteúdo é revisto para descobrir erros O modelo de projeto é revisto para descobrir erros de navegação Componentes selecionados passam por um processo de teste de unidade A arquitetura é construída e testes de integração são conduzidos DAW4 94

95 Testes O aplicativo já integrado é testado em sua funcionalidade geral e conteúdo fornecido O aplicativo é implementado em diferentes configurações de ambientes e testado em sua compatibilidade com cada configuração O aplicativo é testado por uma população controlada de usuários DAW4 95

96 Gerenciamento Muitos desenvolvedores acabam optando por pouco ou nenhum gerenciamento por causa do curto período de desenvolvimento e da constante evolução de aplicativos para a Web A combinação de tarefas técnicas e não técnicas que ocorrem são um desafio para qualquer grupo de profissionais Para evitar confusões, frustrações e falhas, um planejamento precisa ocorrer, riscos precisam ser considerados, um cronograma precisa ser estabelecido e acompanhado, e mecanismos de controle precisam ser definidos DAW4 96

97 Equipe de Desenvolvimento normalmente menores que as equipes de desenvolvimento de software tradicional no desenvolvimento de software tradicional as equipes divididas em unidades menores para resolver diferentes problemas e executar diferentes tarefas no desenvolvimento para a Web, as equipes divididas em grupos multidisciplinares, que construirão diferentes seções do aplicativo para a Web, mas em geral irão trabalhar em problemas similares DAW4 97

98 Equipe de Desenvolvimento Papéis Desenvolvedores e Provedores de Conteúdo: coleta e geração de conteúdo, vem de diversas áreas não relacionadas com software Web Publisher: organiza conteúdo, faz a conexão entre o pessoal técnico que constrói o aplicativo e o pessoal não-técnico que desenvolve o conteúdo Web Engineer: se envolve em várias atividades durante o desenvolvimento (levantamento de requisitos; análise; projeto arquitetural, de navegação e de interface; implementação; e teste) DAW4 98

99 Equipe de Desenvolvimento Papéis Especialista de Suporte: serão responsáveis por dar continuidade no suporte ao aplicativo para a Web, responsável pelas correções, adaptações e melhorias no site Administrador (WebMaster): responsável pela operação do site no dia-a-dia, incluindo desenvolvimento e implementação de regras para operação do aplicativo; fixação de procedimentos de suporte; implementação de procedimentos de segurança e direitos de acesso; medição e análise de tráfego; coordenação de mudanças de procedimentos; coordenação de especialistas de suporte DAW4 99

100 Gerenciamento de Projeto O desenvolvimento de aplicativos para a Web é uma área relativamente nova e há poucos dados históricos que podem ser utilizados para fazer estimativa Nenhum tipo de métrica publicado e há pouca discussão de como elas devem ser Estimativas baseadas apenas em experiências com projetos similares Quase todo aplicativo para a Web quer inovar em alguma coisa, isto acaba fazendo com que estimativas baseadas em experiência com outros projetos, apesar de úteis, estejam sujeitas a uma alta margem de erro. Grande parte dos aplicativos na Web é construída por terceiros, especializados neste tipo de desenvolvimento DAW4 100

101 Tarefas da empresa contratante Muitas das atividades de análise devem ser feitas internamente, a definição do público-alvo; dos objetivos; das informações e serviços a serem fornecidos; e das medidas quantitativas e qualitativas que serão utilizadas para medir o sucesso. Um esboço do projeto deve ser criado economizará tempo e custo para o desenvolvedor, permite uma ideia melhor de como deverá ser o aplicativo. Um esboço do cronograma deve ser definido e acompanhado. Os níveis de interação entre o contratante e o contratado devem ser identificados definindo as responsabilidades de cada um. DAW4 101

102 Gerenciamento de Configuração estratégias utilizadas na Engenharia de Software são aplicáveis, porém táticas e ferramentas devem ser adaptadas para as características dos aplicativos para a Web DAW4 102

103 Limitações a serem consideradas: Conteúdo: um aplicativo para a Web típico possui bastante conteúdo. O desafio é organizá-lo em um conjunto racional de objetos e então estabelecer mecanismos de controle de configuração apropriados. Pessoas: como o desenvolvimento do aplicativo para a Web é contínuo, qualquer pessoa pode criar conteúdo, muitas delas não têm conhecimentos em engenharia de software e desconhecem as necessidades de gerenciamento de configuração. DAW4 103

104 Limitações a serem consideradas: Escalabilidade: as técnicas e controles aplicados a aplicativos para a Web pequenos não são bem escaláveis, é comum ver aplicativos crescendo em tamanho e complexidade, e com isso pequenas mudanças acabam tendo efeitos inesperados e problemáticos. Política. Quem é o dono do aplicativo? Esta questão é bastante discutida em grandes e pequenas companhias, e a resposta tem impacto significativo nas atividades de gerenciamento e controle. DAW4 104

105 Conclusão A maneira desordenada com que a maior parte dos aplicativos para a Web são construídos é preocupante, principalmente quando analisamos as pesquisas que mostram que a grande maioria dos sites tem problemas de funcionalidade e/ou usabilidade As técnicas criadas e já consolidadas na Engenharia de Software podem ser utilizadas e isto é uma vantagem. Porém, é preciso fazer algumas adaptações, tendo muito cuidado com todas as características específicas de sistemas para a Web DAW4 105

106 Conclusão Poucos desenvolvedores utilizam as técnicas de engenharia, normalmente, de forma restrita ou errônea. Problema que também ocorre na Engenharia de Software, mas na Engenharia para a Web a incidência é ainda maior Os problemas ocorrem principalmente nas áreas de Análise, Requisitos, Testes, Validação e Manutenção, que são áreas importantes que ainda não recebem a atenção necessária, pois a maior parte dos desenvolvedores concentram-se apenas na fase de Implementação DAW4 106

107 Conclusão Os estudos mostram que o uso de técnicas de engenharia é eficaz e eficiente, portanto os esforços devem ser concentrados nesta adaptação das técnicas utilizadas na Engenharia de Software, incluindo o desenvolvimento de métricas e técnicas para o gerenciamento de projeto. Paralelamente precisa haver um trabalho para conscientizar desenvolvedores da importância do uso destas técnicas, mostrando como as mesmas poderiam tornar seu trabalho mais eficiente, trazendo também melhores resultados DAW4 107

108 REFERÊNCIAS BIBLIOGRÁFICAS [BIE98] BIEBER, Michael. Web Engineering. New Jersey Institute of Technology, < [GIN01] GINIGE, Athula e MURUGESAN, San. Web Engineering: An Introduction. IEEE Multimedia. Janeiro-Março [GIN01b] GINIGE, Athula. Engineering A Better Website. University Of Western Sydney. Austrália, Outubro de < [GIN01c] GINIGE, Athula. Web Engineering in Action. University Of Western Sydney. Austrália, Outubro de 2000 < [MCD01] MCDONALD, Andrew e WELLAND, Ray. The University, Glasgow G12 8QQ, Scotland < [MUR00] MURUGESAN, San. Web Engineering For Sucessful Web Application Development. University Of Western Sydney. Austrália, Outubro de < [NIE00] NIELSEN, Jakob. Designing Web Usability. New Riders Publishing, [PRE01] PRESSMAN, Roger S. Software Engineering: A Practioner s Approach. McGraw-Hill. 5ª edição DAW4 108

Engenharia para a Web

Engenharia para a Web Engenharia para a Web Fabricio Breve Universidade Federal de São Carlos UFSCar São Carlos Junho de 2002 Projeto e Gerência de Sistemas de Software Professoras: Sandra / Rosângela / Júnia Tópicos A Evolução

Leia mais

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação

Leia mais

Prof. Luiz A. Nascimento

Prof. Luiz A. Nascimento Prof. Luiz A. Nascimento Qual a importância da Engenharia de Software? O desenvolvimento de um software envolve processos muitos complexos. A engenharia de software estabelece um modelo para se construir

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software ENG SOFT - TESTES TESTES DE SOFTWARE 1. Fundamentos sobre testes de software A atividade de teste de software sempre foi considerada como um gasto de tempo desnecessário, uma atividade de segunda classe,

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu

Leia mais

Organização para Realização de Teste de Software

Organização para Realização de Teste de Software Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da

Leia mais

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer

Leia mais

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada

Leia mais

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Elias Ferreira Elaborador por: Prof. Edison A. M. Morais Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto ... definem tarefas que levam a um entendimento de qual ser ao impacto do software sobre o negócio, o que o cliente quer e como os usuários finais irão interagir com o software. (Pressman, 2011) Prof.

Leia mais

Engenharia de Software.

Engenharia de Software. Engenharia de Software Prof. Raquel Silveira O que é (Rational Unified Process)? É um modelo de processo moderno derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software

Leia mais

Modelos de Processo de Software

Modelos de Processo de Software Modelos de Processo de Software Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com PAE: Armando M. Toda armando.toda@gmail.com (material produzido e atualizado pelos professores

Leia mais

ENGENHARIA DE SOFTWARE. Introdução

ENGENHARIA DE SOFTWARE. Introdução ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software AJA Software www.ajasoftware.wordpress.com De Olho na Pista Documento de Arquitetura Confidencial De Olho na Pista, 2013 1 Sumário 1. Introdução 3 2. Metas e Restrições da Arquitetura 3 3. Padrão da Arquitetura

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 12 http://www.ic.uff.br/~bianca/engsoft2/ Aula 12-31/05/2006 1 Ementa Processos de desenvolvimento de software (Caps. 2, 3 e 4 do Pressman) Estratégias e técnicas de teste

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado) Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível

Leia mais

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas

Leia mais

Gerência de Projetos de Software. Prof. Dr. João Dovicchi INE / CTC / UFSC.

Gerência de Projetos de Software. Prof. Dr. João Dovicchi INE / CTC / UFSC. Prof. Dr. João Dovicchi INE / CTC / UFSC dovicchi@inf.ufsc.br http://www.inf.ufsc.br/~dovicchi Programa Projetos e Metodologias Tipos e abordagens Organização Estimativas de Esforço e Gerência de Riscos

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 1- Visão Geral de Testes de Software Aula 2 Estrutura para o Teste de Software SUMÁRIO 1. Introdução... 3 2. Vertentes

Leia mais

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira Educação de iniciação profissional validada e legitimada pela sociedade Registro da adequação à prática através de certificação

Leia mais

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

Requisitos de Software e UML Básico. Janaína Horácio

Requisitos de Software e UML Básico. Janaína Horácio Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos

Leia mais

Guia do Processo de Teste Metodologia Celepar

Guia do Processo de Teste Metodologia Celepar Guia do Processo de Teste Metodologia Celepar Agosto de 2009 Sumário de Informações do Documento Documento: guiaprocessoteste.odt Número de páginas: 11 Versão Data Mudanças Autor 1.0 26/12/07 Criação.

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade I - Engenharia de Requisitos Definição de Requisitos Tipos de Requisitos Processos de Engenharia de Requisitos - Levantamento ou elicitação 1 Processo de software Engenharia

Leia mais

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1 ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho

Leia mais

Documento de Arquitetura de Software- SGE

Documento de Arquitetura de Software- SGE Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de

Leia mais

PROCESSO DE SOFTWARE

PROCESSO DE SOFTWARE PROCESSO DE SOFTWARE Allan Senna Costa dos Santos Discente do Curso Tecnologia em Análise e Desenvolvimento de Sistemas Faculdades Integradas de Três Lagoas (AEMS) Jhonatan Ricardo Ferraris da Silva Discente

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; ! Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?

Leia mais

ENGENHARIA PARA A WEB

ENGENHARIA PARA A WEB UNIVERSIDADE FEDERAL DE SÃO CARLOS DEPARTAMENTO DE COMPUTAÇÃO ENGENHARIA PARA A WEB FABRICIO APARECIDO BREVE SÃO CARLOS, JUNHO DE 2002 ÍNDICE Introdução... 3 1. A Evolução da Web... 4 2. O que é Engenharia

Leia mais

Apps na prática 1 Aviso Legal: Este material foi produzido e desenvolvido pela Fábrica de Aplicativos S.A para o curso presencial e online.

Apps na prática 1 Aviso Legal: Este material foi produzido e desenvolvido pela Fábrica de Aplicativos S.A para o curso presencial e online. Apps na prática 1 Índice O que é um app? 03 Sistemas operacionais 09 O que precisa para fazer um aplicativo? 12 Inspirações e casos de sucesso da Fábrica 15 Apresentação da Fábrica 19 Como estruturar o

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

ISO/IEC 12207: Manutenção

ISO/IEC 12207: Manutenção ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

Mac TPOO. Ouro dos Tolos. Professor: Fábio Kon. Alunos: Paulo Cheque Bernardo nusp: Renato Pelizzari da Silva nusp:

Mac TPOO. Ouro dos Tolos. Professor: Fábio Kon. Alunos: Paulo Cheque Bernardo nusp: Renato Pelizzari da Silva nusp: Mac 413 - TPOO PlopIME 2005 Ouro dos Tolos Professor: Fábio Kon Alunos: Paulo Cheque Bernardo nusp: 3671381 Renato Pelizzari da Silva nusp: 3680523 Nome / Classificação Ouro dos Tolos / Padrão de análise

Leia mais

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr. Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de

Leia mais

Escopo: PROCESSOS FUNDAMENTAIS

Escopo: PROCESSOS FUNDAMENTAIS Escopo: PROCESSOS FUNDAMENTAIS Etapa:Desenvolvimento de software Disciplina: Auditoria & Qualidade em Sistemas de Informação Professor: Lucas Topofalo Integrantes: Joel Soares de Jesus Luiz R. Bandeira

Leia mais

Ciclo de vida: fases x atividades

Ciclo de vida: fases x atividades Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação

Leia mais

Software: na visão da ES

Software: na visão da ES Software: na visão da ES É um produto transformador de informações De acordo com a semiótica: dados são símbolos com uma determinada sintaxe e informação são dados com uma determinada semântica Veículo

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CI 221 DISCIPLINA: Engenharia de Software AULA NÚMERO: 3 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos básicos como processo, projeto, produto, por que

Leia mais

O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado.

O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado. Modelagem de casos de uso Casos de uso O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado. O que é Segundo Ivar Jacobson, um caso de uso

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw

Leia mais

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento

Leia mais

Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software

Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software Prof.ª Dr.ª Symone Gomes Soares Alcalá Universidade Federal de Goiás (UFG) Regional Goiânia (RG) Faculdade de Ciências

Leia mais

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E 1 2 3 4 5 6 ASSUNTO DO MATERIAL DIDÁTICO ENGENHARIA DE SOFTWARE 8ª EDIÇÃO/2007 IAN SOMMERVILLE CAPÍTULO ESTIMATIVAS DE CUSTO DE SOFTWARE 7 CONCEITOS DE LUCROS E DESPESAS Lucro = Receita Despesa Procura

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 Plano de Ensino e Aprendizagem 2 3 Objetivos CONTEÚDO Se preparar para o inicio de um projeto Acompanhamento projeto Controles Métricas

Leia mais

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015 Gerência e Planejamento de Projeto Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto - aspectos gerais Parte 2: Plano

Leia mais

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: marcelosantos@outlook.com www.marcelohsantos.com.br TECNOLOGIA EM JOGOS

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Definições e ciclo de vida

Definições e ciclo de vida Definições e ciclo de vida A aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software. É a aplicação sistemática de conhecimentos científicos

Leia mais

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais

FATORES E MÉTRICAS DE QUALIDADE

FATORES E MÉTRICAS DE QUALIDADE FATORES E MÉTRICAS DE QUALIDADE 1 2 FATORES DE QUALIDADE OPERAÇÃO DO PRODUTO CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE

Leia mais

O Fluxo de Requisitos

O Fluxo de Requisitos O Fluxo de 1 Finalidade do fluxo de requisitos A finalidade deste fluxo é: Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer. Oferecer ao desenvolvedor um melhor entendimento

Leia mais

Engenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Engenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Engenharia de Software Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Projeto de Software Fundamentos de projeto de software Projeto estruturado Índice do documento de projeto

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp web@cercomp.ufg.br 1. Introdução É um processo proprietário de Engenharia de software criado pela Rational Software Corporation,

Leia mais

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Verificação e Validação Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Objetivos Apresentar a verificação e validação de software e discutir a distinção entre elas Descrever

Leia mais

Ciências da Computação Disciplina:Computação Gráfica

Ciências da Computação Disciplina:Computação Gráfica Ciências da Computação Disciplina:Computação Gráfica Professora Andréia Freitas 2013 7 semestre Aula 06 MEMORIA, F. Design para a Internet. 1ª Edição. Rio de Janeiro: Campus, 2005. ALVES, W. P. Crie, anime

Leia mais

MODELOS DE PROCESSOS (PARTE 2)

MODELOS DE PROCESSOS (PARTE 2) MODELOS DE PROCESSOS (PARTE 2) Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Recordando nossas Datas Provas (novas datas): 3ª Prova (1ª chamada): 03/07 2ª Prova (2ª chamada):

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto

Leia mais

SSC-546 Avaliação de Sistemas Computacionais

SSC-546 Avaliação de Sistemas Computacionais QUALIDADE DE PACOTE DE SOFTWARE SSC-546 Avaliação de Sistemas Computacionais Profa. Rosana Braga (material profas Rosely Sanches e Ellen F. Barbosa) Qualidade de Produto de Software Modelo de Qualidade

Leia mais

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO O que é Qualidade de Software Produto? Boa fabricação. Deve durar muito. Bom desempenho. Utilizável tanto em UNIX quanto em DOS. Adaptável às minhas

Leia mais

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

Unidade 4 Teste na Implantação do Sistema

Unidade 4 Teste na Implantação do Sistema Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1 Teste de Unidade 4.2 Teste de Integração 4.3 Teste de Validação 4.4 Teste de Sistema 4.5 Teste na Migração Introdução O processo

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 7 http://www.ic.uff.br/~bianca/engsoft2/ Aula 7-12/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Unidade 4 Projeto de Banco de Dados

Unidade 4 Projeto de Banco de Dados Unidade 4 Projeto de Banco de Dados Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

Leitura: Cap : Sommerville; cap20: Pressman

Leitura: Cap : Sommerville; cap20: Pressman Leitura: Cap26-27 - 28: Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47 Manutenção de software É modificar um programa depois que

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 3 http://www.ic.uff.br/~bianca/introinfo/ Aula 3-12/09/2007 1 Objetivo da disciplina O objetivo dessa disciplina é dar ao aluno noções básicas de computação. Serão apresentados

Leia mais

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Gerência e Planejamento de Projeto Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto Aspectos Gerais Parte 2: Plano de

Leia mais

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita

Leia mais

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa Qualidade de : Visão Geral SSC 121-Engenharia de 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Qualidade de Qualidade é um termo que pode ter diferentes interpretações Existem muitas definições

Leia mais