Visão de Negócio (direção, gestão, administração) Qualidade Pessoas (CHA) Uniminas Metodologias: RUP, XP e MSF Fatores Críticos de Sucesso (Fabricação de Software) Processos Gestão de Projetos Infraestrutura TI/comunicaçã o Clientes Clientes • MSF – Microsoft Solutions Framework • Fases: visão, planejamento, estabilização e instalação • Disciplinas: projeto, riscos e competência • Mais ágil e menos formal que o RUP • RUP – Rational Unified Process • Desenvolvido pela Rational (hoje da IBM) • Processo mais utilizado atualmente • XP – Extreme Programming • Atividades: planejamento, projeto, codificação e teste • Gera sensação de produtividade constante Uniminas Metodologias: RUP, XP e MSF Processos de Engenharia de Software • Qual a melhor forma de obter requisitos? • Informal, fluxos de dados, DER ou casos de uso • O que é mais importante para o cliente? • saber logo se o projeto é viável e factível ou • começar a ver telas do software funcionando • O que é mais fácil gerenciar? • 6 projetos de 30 dias ou • 1 projeto de 6 meses • Qual construção durará mais tempo? • Uma feita com base na expertise de um mestre de obras especialista ou • Uma feita com projeto estrutural considerando as necessidades atuais e futuras do prédio Uniminas Metodologias: RUP, XP e MSF Sobre Engenharia de Software • Dirigido por casos de uso • Centrado em arquitetura • Iterativo e incremental • Fases e iterações Casos de Uso Dirige Guia Arquitetura Uniminas Metodologias: RUP, XP e MSF RUP – Pilares Estratégicos • Concepção • Escopo e viabilidade • Elaboração • Factibilidade e arquitetura básica • Construção • Desenvolvimento gerando versão-beta • Transição • Testes de aceitação e entrega do produto • Implantação (fase não coberta pelo RUP) • Disciplinas: levantamento, capacitação, operacionalização, desativação, gestão de pessoas e de projeto. Uniminas Metodologias: RUP, XP e MSF RUP – Fases e Objetivos • São mini-projetos com objetivos: • Integração de middleware, versão-alfa, casos de uso ... versão-beta e produto • Vantagens: • • • • • • • Redução de riscos Percepção antecipada Quebra da complexidade Facilitação do gerenciamento Trabalho com parte dos requisitos Construção de builds executáveis Evolução incremental do sistema pela evolução iterativa e incremental de seus componentes Uniminas Metodologias: RUP, XP e MSF RUP – Iterações Processo Unificado 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 8 9 10 11 7 6 5 4 3 2 1 100 90 80 70 60 50 40 30 20 10 0 Cascata Fonte: BOEHM, Barry. Software Engineering Economics. New Jersey: Prentice Hall, 1981. Uniminas Metodologias: RUP, XP e MSF Evolução do projeto • Atividades (disciplinas e tarefas): • Planejamento • Planejar o que vai ser feito • Projeto • Projetar como será feito • Codificação • Implementar o que está definido • Testes • Testar e entregar o que foi implementado Uniminas Metodologias: RUP, XP e MSF XP = Extreme Programming • Programador: • Planeja, projeta e codifica códigos • Cliente: • Conta as estórias dos requisitos e aprova os testes • • • • • Testador: Rastreador: Treinador: Consultor: Chefe: Executor de testes Procura problemas Treina os usuários Definidor de requisitos Gerente do projeto Uniminas Metodologias: RUP, XP e MSF Papéis do XP Disciplinas x Metodologias Cascata MSF RUP XP Modelagem do negócio Requisitos Análise Projeto Implementação Teste Distribuição (instalação) Configuração e mudanças Gestão de projeto Ambiente Uniminas Metodologias: RUP, XP e MSF Comparativo de Disciplinas Descrição da Estratégia Visão de Negócio Objetivos e Metas Estratégicos Indicadores Estratégicos De Desempenho Uniminas Realidade Atual Engenharia de Processos Metodologias: RUP, XP e MSF Modelagem do Negócio Processos (o quê, quando, porquê) Métricas Táticas e Operacionais ‘ Papéis e Responsabilidades Informações (entrada e saída) Uniminas Metodologias: RUP, XP e MSF Requisitos: Uma questão de comunicação? • Para que servem os requisitos? • Acordo entre os desenvolvedores e o cliente sobre o que deve ser feito • Definir as fronteiras do sistema • Elucidar os riscos do projeto • Subsidiar a estimativa de esforços • Subsidiar o planejamento do projeto • Subsidiar o estudo de retorno • Tangibilizar os benefícios do sistema • Facilitar a gestão do escopo do sistema Uniminas Metodologias: RUP, XP e MSF Requisitos • • • • • • Funcionality: Funcionalidade Usability: Usabilidade Reliability: Confiabilidade Performance Desempenho Suportability: Suportabilidade +: • Restrições de projeto • Requisitos de: implementação, físicos e interface Uniminas Metodologias: RUP, XP e MSF Tipos de requisitos - FURPS+ Déc. Análise Abordagens Ferramentas 60 Tradicional Funcional •Textos e Fluxogramas 70 Estruturada Funcional Dados •Diagrama de Fluxo de Dados (DFD) •Diagrama de Estrutura de Dados (Modelo Conceitual) •Mini-especificações e Normalização •Dicionário de Dados 80 Essencial Funcional Dados Controle •Lista de Eventos e DFD •Diagrama Entidade-Relacionamento (DER) •Diagrama de Transição de Estados (DTE) •Mini-especificações e Normalização •Dicionário de Dados 90 Orientada a Objetos Todos os •Equivalentes aos anteriores •Modelos de casos de uso, análise e projeto •Modelos de distribuição, implementação e de aspectos do negócio e do sistema testes •Diagramas de seqüência, estado, atividades... Uniminas Metodologias: RUP, XP e MSF Análise • • • • • • Prova de conceito arquitetural Definir uma arquitetura candidata Refinar a arquitetura Analisar o comportamento Projetar componentes Projetar o banco de dados Uniminas Metodologias: RUP, XP e MSF Análise e projeto Projetos • PMI – Project Management Institute: • Project Management Body of Knowledge (PMBOK) • Prince2 – Metodologia do governo inglês: • Adotada em vários países europeus • TenSetp • Processo de uma multinacional americana que é representante do PMI • Agile • Resultante de um manifesto feito por 17 especialistas em Fevereiro de 2001 em Utah – USA • ISO 10006: • A International Standards Organization tomou o PMI como base e fez uma simplificação Uniminas Metodologias: RUP, XP e MSF Gestão de Projetos Gestão de • Conceito: É a execução controlada do • • • • • software visando revelar falhas (bugs). Falha: Desvio de comportamento Erro: Origem da falha Testes não provam que o software está livre de falhas. Eles minimizam este risco e aumentam a confiança. Agregam valor ao produto. São partes integrantes da qualidade. Uniminas Metodologias: RUP, XP e MSF Testes • Quanto às pessoas: • Desenvolvedores • Testes independentes • Entidades verificadoras e certificadoras • Profissionais chaves do cliente • Quanto a granularidade: • • • • Testes de unidade (desenvolvedores) Testes de integração (ambos) Testes de sistema (ambos) Testes de aceitação (cliente) Uniminas Metodologias: RUP, XP e MSF Níveis de testes • Quanto à visão do sistema: • Caixa preta (por fora do sistema) • Caixa branca (por dentro do sistema) • Quanto às dimensões da qualidade: Dimensão ● Funcionalidade Unidade Integração Sistema ● Usabilidade ● Confiabilidade ● Performance ● Suportabilidade Uniminas Metodologias: RUP, XP e MSF Tipos de testes Obrigado! • Livros: • • • • • • • • DeMARCO, Tom. Análise estruturada e especificação de sistemas. Rio de Janeiro: Campus, 1989. FROTA, Álvaro. O Barato Sai Caro!, Qualitymark, SP, 1999. JACOBSON, Ivar; et al. The Unified Software Development Process. Massachusetts: 2001. KERZNER, Harold PhD. Strategic Planning for Project Management Using a Project Management Maturity Model; John Wiley & Sons, Inc., New York, 2001. LARMAN, Craig. Utilizando UML e padrões: uma introdução a análise e ao projeto orientados a objetos. Porto Alegre: Bookman, 2000. MCMENAMIN, Stephen & PALMER, John. Análise essencial de sistemas. São Paulo : McGraw-Hill, 1991. PMBOK 2004 – Project Management Body of Knowledge, PMI – Project Management Institute. YOURDON, Edward. Análise estruturada moderna. Rio de Janeiro: Campus, 1992. • Sites: • • http://berlin.inesc.pt/alb/static/papers/2004/pv-quatic2004.pdf www.pmi.org e www.rational.com • www.acc.com.br/empresa/marcio/ • Disponível em: Uniminas Metodologias: RUP, XP e MSF Referências