Ir para o conteúdo principal
Metodologia da pesquisa científica Aula 1 – Introdução: pensando metodologia e organizando o TCC Dalton Martins [email_address] Senac Sorocaba  Agosto, 2011
O que veremos? Motivações para uso de metodologia da pesquisa científica: por quê fazer isso num curso de Tecnologia de Desenvolvimento de Sistemas?
Explicando dinâmica;
Organizando grupos;
Definindo temas;
Modelo do projeto de TCC;
Combinando próximos passos.
Motivações Produzir software envolve: - lidar com muitas informações; - envolver muitas pessoas; - lidar com o imprevisível; - entender diferentes realidades; - trabalhar sob pressão; - trabalhar com prazos específicos; - lidar com novos conhecimentos. Para isso, é preciso algo que facilite na sistematização das ideias: - um processo de trabalho! Não um processo qualquer: mas algo que envolva  tecnologia e pessoas! É sobre isso que iremos tratar no curso de metodologia.
O que acontece na prática?
pontos sobre  desenvolvimento de sistemas  de  informação  que gostaria observar: Quais são as fontes dos  principais problemas  em questão quando se trata de desenvolver software? Como os  métodos  mais utilizados tem contribuído para isso? Que  novas possibilidades  poderiam ser experimentadas a partir do TCC?
*Sucesso: projetos entregues no prazo, dentro do orçamento e com os requisitos corretos *Falharam: projetos cancelados e nunca utilizados *Problemas: atrasados, fora do orçamento e/ou com menos funcionalidades que demandadas Fonte: Chaos Repport 2009 Como os  projetos  de TI   ocorrem
Como as  pessoas  vêem isso 51%  dos usuários acham que a implantação do seu ERP não deu certo . 46%  dos usuários acha que sua organização não entendeu o uso do sistema na melhoria de seus processos . 40%  dos projetos falharam em atingir seus objetivos dentro de um ano de existência. 52,9%  dos projetos vão custar aproximadamente 189% de seu orçamento original Fonte: Chaos Repport 2009, Robbins-Gioia Survey 2001, Conference Board Survey 2001.
Quais as  principais causas  encontradas 1. Falta de envolvimento do usuário 2. Falta de suporte executivo 3. Falta de clareza nos objetivos de negócio 4. Falta de maturidade emocional 5. Pouca otimização 6. Falta de um processo ágil 7. Falta de experiência em gerenciamento de projeto 8. Falta de conhecimento técnico 9. Má execução técnica do projeto 10. Falta de ferramentas e infra-estrutura Fonte: Chaos Repport 2009
Quais as  causas  tem a ver com relacionamento entre pessoas? 1.  Falta de envolvimento do usuário 2.  Falta de suporte executivo 3.  Falta de clareza nos objetivos de negócio 4.  Falta de maturidade emocional 5. Pouca otimização 6. Falta de um processo ágil 7.  Falta de experiência em gerenciamento de projeto 8. Falta de conhecimento técnico 9. Má execução técnica do projeto 10. Falta de ferramentas e infra-estrutura Fonte: Chaos Repport 2009
Quais o  principal problema  no desenvolvimento de um projeto de TI? Relacionamento entre pessoas , que impacta em: - dificuldade de construir uma visão comum; - dificuldade de ter clareza de requisitos; - dificuldade de ter orientação clara sobre os rumos do projeto; - baixo nível de adesão; -  possibilidades reduzidas de atingir o que se espera, pois cada um espera coisas muito diferentes.
Como os  métodos  de desenvolvimento de software buscam tratar isso? Propondo metodologias que, com variações, se propõe a organizar as etapas abaixo:
Como os  métodos  de desenvolvimento de software buscam tratar isso? As metodologias se propõem a: - mapear processos e sistematizar etapas de trabalho; - mostrar conexões entre essas etapas de trabalho; - documentar melhores casos e práticas de aplicação de seus processos; - criar símbolos, diagramas e esquemas padronizados que facilitem a comunidade de usuários do processo a se comunicarem.
Como os  métodos  de desenvolvimento de software buscam tratar isso?
Como os  métodos  de desenvolvimento de software buscam tratar isso? Metodologias de apoio são fundamentais! Mas, há algo ainda anterior a isso que o processo de desenvolvimento de software precisa levar em conta: Uma organização é formada por   redes de  conversação   entre pessoas.
Organização como  redes de conversação As  redes de conversação  expressam domínios de relações  que podem ser: -  formais:  áreas, departamentos, gerências, etc. -  informais:  eventos, encontros, almoço, amizade, afinidades, adesão . -   formais e informais:  na prática, as  coisas ocorrem juntas.
Organização como  redes de conversação ? Como ocorre esse  acoplamento? Em geral, nossa preocupação como técnicos é: - tratamos mais dos processos do que das pessoas; - consideramos que mediar as relações não é nosso trabalho.
Arquitetura do Projeto   A arquitetura de um projeto é o conjunto de  elementos  estruturais  que utilizamos para articular os objetos do  projeto. Produzir a arquitetura de um projeto é produzir o  espaço  do projeto: - como ele irá ocorrer; - quais serão seus elementos; - como esses elementos conversam entre si; - como esses elementos foram concebidos. De que maneira levamos em consideração as redes na  Arquitetura de um Projeto?
Ecossistema de colaborações As técnicas e ferramentas de  análise  ajudam a: - projetarmos uma ecologia de processos de colaboração entre os participantes de um projeto; - facilitam a comunicação; - facilitam o aproveitamento da  inteligência coletiva ; - facilitam o surgimento do novo: inovação! Como?
Ecossistema de colaborações Ao projetar, levando em consideração que atuamos num  ecossistema de colaborações, precisamos dar conta da Integração entre: - procedimentos, normas, processos de uma organização; - diversas maneiras como esses procedimentos são  aplicados; - redes de conversação; - metodologias de apoio ao desenvolvimento de sistemas. Para atuar nessa integração, surgem as ferramentas da Análise
Importância e princípios de modelagem Por que modelamos um sistema? Para que possamos  melhor entender  os diversos elementos e fatores que devem ser levados em consideração para o desenvolvimento de um sistema.  É uma necessidade de  comunicação! Um sistema de software é composto de um  conjunto de requisitos  que representam as  necessidades de diferentes  pessoas que planejam utilizar o sistema.
Importância e princípios de modelagem Importâncias de um modelo: - ajuda a visualizar um sistema como ele é ou como gostaríamos que fosse; - permite especificarmos a estrutura e o comportamento do sistema; - fornece um guia para nos orientar na construção do sistema; - documenta as decisões que tomamos ao longo do projeto.
Importância e princípios de modelagem Princípios de modelagem: 1. A escolha de que modelos utilizar possui uma  profunda influência  sobre como o problema vai ser entendido e como a solução pode ser encontrada; 2. Cada modelo pode ser expresso em  diferentes níveis  de precisão; 3. Os melhores modelos são  conectados a realidade ; 4. Nenhum modelo isolado é suficiente. Todo sistema não-trivial é melhor modelado utilizando um  pequeno conjunto  de modelos independentes.
Modelando software:  Análise  de software orientado a objetos Análise foca na  investigação  do problema e seus requisitos.  A ênfase é dada ao processo de  identificação e descrição dos objetos  – ou conceitos – que fazem parte do domínio de um problema.
Quais  recursos  os diferentes  analistas  utilizam para se  comunicarem , alinharem visões e otimizarem esforços na realização de um projeto de software?
Tipologia da análise: o papel das metodologias A metodologia é uma  linguagem padrão  para a construção de modelos de software. É organizada a partir de  3 blocos  de construção: 1.  Elementos:  são as abstrações (conceitos) que compõem um modelo de software.  2.  Relações:  são as formas que os elementos podem ser interconectados.  3.  Diagramas:  são as formas que os diferentes elementos podem ser agrupados, permitindo descrever diversas visões sobre o funcionamento de um sistema. Analisar um sistema é  mapear seus elementos , suas possíveis relações e utilizar diagramas para documentar as decisões produzidas ao longo da análise.
Dinâmica do projeto Formaremos grupos de até 2 pessoas;