Laboratório de Engenharia de Software 2 PCS-2044: A reutilização em projetos corporativos Prof. Jorge Luis Risco Becerra Auxiliares:Prof. Eduardo Lobo Profa. Gabriela Barbaran Prof. Leonardo Dias Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP CONTEXTO INICIAL Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Contexto do Lab. 1 Processo básico Programação e Estágio Conceitos Básicos Guia Geral do Lab. 1 Laboratório de Engenharia de Sw. 1 Técnicas Básicas de A&P OO Desenvolver um Projeto num ambiente controlado Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Contexto do Lab. 2 Conheciment os do Lab. 1 Processos Especializados Conceitos Avançados Técnicas Avançadas de Projeto Ambiente de FSW Laboratório de Engenharia de Sw. 2 Desenvolver um Projeto Real Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP OS PROJETOS E A REUTILIZAÇÃO Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Introdução • Os projetos tem ênfase no desenvolvimento e na gerência. • Deverá ser utilizada uma arquitetura de SW. em três camadas: interface, lógica de negócio e middleware. • O projeto deve observar a reutilização de artefatos e informações de projeto. Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Os projetos – Desenvolver dois subsistemas de um sistema Enterprise Resource Planning (ERP) para uma unidade de ensino (PECE). – O sistema ERP deverá ser desenvolvimento com tecnologia Web Service e SOA. – Deverá ser realizado um levantamento real e deverá ser implementado completamente. Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Divisão das FSW Turma 4a. feira Projeto 1 Projeto 2 Turma 6a. feira Projeto 3 Projeto 4 Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP CRM Unidade Acadêmica Unidade Financeira WI FI, Cell, TV Unidade de Infraestrutura Unidade de TI Processos de Negócios Clientes Fornecedores Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP A OPERAÇÃO Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Premissas Iniciais – As duas turmas ou FSW desenvolverão dois subsistemas do sistema ERP. Deve-se entregar na metade do ciclo e no final do ciclo. – Cada fábrica desenvolverá um ciclo completo do projeto. – A segmentação do subsistema dever-se-á baseada na arquitetura de três camadas. – Os subsistemas são implementados separadamente pelas fábricas, mas deve-se prever a integração no final do ciclo. – Os processos do projeto são instanciados pela FWS de acordo com guia de processo básico. Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe Projeto Portal 1 Portal 2 Gerencial Estoque Portal N .... Financeiro Middleware Equipe Infra BD EG Web ... E-mail Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Projeto • Seguir o Processo de Desenvolvimento sugerido • Executar as tarefas passadas • Comunicar as decisões tomadas • Garantir a qualidade do sistema • Utilizar técnicas de reuso • Aprender a utilizar de forma eficiente as ferramentas do laboratório • Apontar as tarefas executadas Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Infra • Preparar-se para treinar as outras equipes nas ferramentas do laboratório e nas técnicas ligadas às etapas de desenvolvimento, testes e implantação do processo de desenvolvimento de software. • Conhecer tecnicamente as ferramentas e configurá-las para uso no projeto. • Ser referência no uso das ferramentas do laboratório Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Infra • Montar um protótipo com todas as definições técnicas que deverão ser seguidas durante o projeto (padrão de nomes, patterns utilizados, modelo arquitetural, etc) • Seguir o processo de desenvolvimento sugerido. • Utilizar técnicas de reuso • Apontar as tarefas executadas Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Gerência • • • • • Controle de Requisitos Controle do Escopo Controle do cronograma Controle dos recursos Financeiros Controle das atividades dos membros da equipe e da Equipe como um todo Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Gerência • • • • • • • Controle da comunicação Controle de mudanças Controle dos Riscos do Projeto Controle da Qualidade Controle de integração Definição do processo de desenvolvimento Apontar as tarefas executadas Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Atribuições Gerais • Supervisão geral (professores) – Consultoria geral – Supervisionar as atividades executadas pelas diferentes equipes do projeto. – Coordenar a realização das atividades didáticopedagógicas da disciplina. – Aulas específicas Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Metodologia • Estrutura do portal no SharePoint: – Área Pública (única): Documentos Padrão Documentos de Apoio Documentos Finais – Área Privada (uma para cada fábrica): Documentos em Andamento Documentos individuais Equipe Gerência Aluno 1, 2 Equipe de Projeto Aluno 3, 4, 5 , n Equipe Infra Aluno 5, 6, 7 Equipe Banco Dados Aluno 8 Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP ARQUITETURA DA FSW VISÃO PROCESSOS Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Projeto Visão geral das atividades Planejar a realização do projeto Realizar atividades de requisitos, análise e projeto Equipe gerência Equipe de infraestrutura documento Realizar prospecção tecnológica Preparar capacitação Gerenciar o planejamento Monitorar as atividades do projeto Realizar atividades de codificação e testes unitários e modulares componente Desenvolver protótipo Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Visão geral dos processos Especificação dos requisitos Definir os Definir o requisitos do domínio do cliente e do sistema software Planejar projeto e implementar os processos Processos referência planejamento descrição sistema Implementação Implementação arquitetura implementação requisitos do usuário Análise, Projeto e Arquitetura requisitos do software Integração software Teste unidade e de módulos Integração software componentes e módulos Projeto Análise Teste integração modelagem estática e dinâmica arquitetura implementação Implantação Implantação software (sistema) Processo de Reuso Equipe de Projeto: análise, projeto, des. e teste Planejamento Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Teste de aceitação Equipe Projeto: análise, projeto, des. e teste Implantação do Processo Analisar os modelos de processo arq. processo referência Fazer o planejamento Definir papéis e responsabilidades planejamento descrição sistema se considerado necessário descrição sistema Papéis e responsabilidades Instanciar processo padrão arq. processo referência arq. processo instanciada Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe de Projeto: Analista Realizar prospecção de tecnologias e definir as adotadas requisitos do cliente prospecção tecnológica Definir requisitos do cliente descrição sistema Planejar e preparar capacitação Estudar tecnologias Requisitos do cliente material capacitação Identificar e especificar os requisitos de software especificação requisitos Equipe gerência Equipe Infra-estrutura Processo de Especificação requisitos Monitorar atividades material capacitação Definir plano de testes plano de teste Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Relatório Equipe Infra-estrutura Processo de Análise Realizar análise e projeto do protótipo Definir requisitos do protótipo requisitos protótipo requisitos do cliente Codificar e testar o protótipo análise e projeto protótipo protótipo Realizar modelagem dinâmica e estática análise Equipe de Projeto: analista requisitos Definir padrões gráficos de interface padrões IHC Elaborar o projeto IHC (diagramas navegacionais) requisitos projeto IHC Definir esquema do BD projeto BD análise (esquema tabelas e rel.) Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Processo de Projeto Equipe de Projeto: Projetista Elaborar a interface gráfica do software análise Interface software Desenvolver projeto dos componentes análise Eq. Infra-estrutura Modelar banco dados: ER análise Definir requisitos de teste projeto componentes Apresentar o protótipo projeto BD (ER, tabelas, campos) plano teste componentes Realizar capacitação no final da fase projeto Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Equipe Projeto: Arquiteto Processo de Arquitetura Definir arquitetura de módulos análise Definir arquitetura de componentes diagrama de módulos Definir arquitetura do software definição dos componentes Definir arquitetura tecnológica detalhamento dos componentes Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP diagrama de distribuição Equipe de Projeto: Desenvolvedor Processo de Implementação e testes Codificar componentes Testar componentes problema solução Corrigir problemas encontrados Integrar componentes do módulo Realizar testes integração no módulo problema solução análise e projeto componente plano testes resultado testes software (sistema) Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Corrigir problemas encontrados Equipe de Projeto: Desenvolvedor Processo de Implantação do software Planejar a implantação do software Implantar o software Realizar testes de aceitação problema solução Corrigir problemas plano de implantação Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP CONHECIMENTOS INICIAIS E AVALIAÇÃO Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Conhecimentos • De negócio – ERP – Processos das unidades do PECE • Tecnológicos – – – – – – – – Engenharia de software (processo de desenvolvimento de software) Web Services Reutilização Arquitetura de software (três camadas) Processo Unificado (RUP) Java .Net Técnicas de gerência Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Avaliação • Avaliação semanal com o acompanhamento diário da produtividade de cada aluno. – Fator individual • Avaliação final do projeto por equipe. – Nota de 0 a 10 – O projeto deve ser entregue • Média da disciplina – Nota da avaliação final mais a nota individual. • O professor pode determinar a realização de avaliações (prova escrita ou outra forma) durante a disciplina. Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP Datas Importantes • Inicio 14/01/2009 • Entrega do projeto 1: 04/03/2009 • Entrega do projeto 2: 22/04/2009 Laboratório de Tecnologia de Software (LTS) - Escola Politécnica da USP