Prof. Dr. Marcelo Morandini Componentes do grupo: Jocelyn Esdras Denis Benevolo Renato Calabreze Análise do Domínio - domínio do problema; - domínio da solução - domínio do desenvolvimento; Modelando o sistema Modelando o Produto Modelo Baseado na linguagem de programação Modelo Baseado nas Telas Modelo Centrado na Informação Modelando o Processo Modelo Cascata Modelo Incremental e baseado em protótipo; Modelo em Espiral Planejamento do projeto. Execução do projeto - Executa o projeto de acordo com o plano; - Durante o desenvolvimento o plano pode ser modificado de acordo as necessidades. - Informações existentes, fontes de informação e estrutura da informação; - Quais são os interessados (stakeholders); - Aplicações existentes; - Restrições do problema. - Objetivos do projeto; - Nível de conhecimento do cliente e do usuário dos produtos e tecnologias; - Restrições da solução. - Limitações tecnológicas. - Orçamento; - Recursos; -Nível de conhecimento para desenvolver sistemas; - Restrições do desenvolvimento. Modelo baseado na linguagem de programação; Modelo baseado nas telas; Modelo centrado na informação. Uma aplicação de hipermídia tem um ciclo de vida: concepção, desenvolvimento, entrega, manutenção e desativação. Modelos são estruturas que norteiam a elaboração de processos de desenvolvimento, as atividades e os entregáveis. Esses modelos estabelecem fases ou estágios de desenvolvimento e como eles são integrados em um processo global. (2003 IBM adquiriu o RUP, 2001 Manifesto ágil (Schrum, XP)). Fases e atividades do processo Para melhorar o gerenciamento do projeto, dividi-los em grupos gerenciáveis, chamados subprocessos ou fases, especificando os entregáveis e marcos de acompanhamento. Estrutura do processo. Processo linear ou iterativo dependendo dos prazos, tamanho do projeto, disponibilidade de informações em suas múltiplas formas, nível de conhecimento dos desenvolvedores e incerteza do projeto. Sequencia de fases com um mínimo de retorno às fases anteriores. Considera-se o resultado de cada fase correta e completa. Descrição simplificada das fases: Planejamento do projeto: plano de teste, plano do projeto, plano de qualidade; Análise e especificação; Projeto de alto e baixo nível; Implementação e validação. Compreensões adquiridas durante o desenvolvimento do sistema e que têm impacto relevante nas fases anteriores não são levadas em conta. Não existem entregas intermediárias. Inflexível. Não considera possível desenvolvimento em paralelo, não analisa os riscos e tem pouco envolvimento do cliente No desenvolvimento incremental consiste no desenvolvimento de sucessivos componentes do sistema (incrementos). Cada iteração pode ser desenvolvido como um modelo cascata. Um protótipo é desenvolvido baseado nos requistos iniciais. Submetido ao usuário, os requisitos e o projeto são refinados para uma nova iteração. Ele difere do modelo incremental porque no incremental, em cada iteração ele produz um produto final. Todo projeto está sujeito a riscos como: mudança de tecnologia, novas ferramentas, orçamentos incertos e muitos outros. O processo como um todo tem que ser adaptado para facilitar o gerenciamento do risco. O modelo espiral incorpora explicitamente o gerenciamento do risco. Ele tem quatro ciclos distintos: - concepção; - requisitos; - projeto; - implementação. Cada ciclo envolve quatro atividades as quais são executadas progressivamente cada vez mais completas e mais detalhadas: - determinação dos objetivos, alternativas e restrições; - avaliação das alternativas, identificação e solução dos riscos; - desenvolvimento e verificação; - planejamento para o próximo ciclo. - criar um plano do projeto; - o plano é para guiar o desenvolvimento e não criar restrições; - planejar os aspectos específicos da hipermídia. Dividir e programar o trabalho - identificar tarefas; - estimar esforços; - programar tarefas; Gerenciar riscos Garantir qualidade Gerenciar a documentação 1 – Quando devemos usar o modelo de produto centrado na informação? 2 – Para que serve a análise de domínio? 3-Enumere alguns parâmetros na análise do domínio da solução? 4- Quais os problemas do modelo de processo em cascata para o desenvolvimento de sistemas? 5- Qual modelo de processo de desenvolvimento de sistema que considera explicitamente os riscos? Em que fase? 6 – Para que serve o plano do projeto? 7 – Quando deve ser feita a documentação do projeto? 1 – Quando devemos usar o modelo de produto centrado na informação? Quando tivermos que tratar uma base de dados dinâmica, estruturada e com relações complexas, exigindo grande esforço para a sua recuperação e manutenção. 2 – Para que serve a análise de domínio? Serve para adquirir um entendimento apropriado dos modelos de produtos e processos que podem ser utilizados. O domínio do problema define o contexto pré-existente para a aplicação. O domínio da solução define os limites da solução que vai ser desenvolvido. O domínio do desenvolvimento define os limites do processo de desenvolvimento 3-Enumere alguns parâmetros na análise do domínio da solução? Objetivos do projeto, nível de conhecimento do cliente e dos usuários, restrições e limitações tecnológicas. 4-Quais os problemas do modelo de processo em cascata para o desenvolvimento de sistemas? Compreensões adquiridas durante o desenvolvimento do sistema e que têm impacto relevante nas fases anteriores não são levadas em conta. Não existem entregas intermediárias. Inflexível. Não considera possível desenvolvimento em paralelo, não analisa os riscos e tem pouco envolvimento do cliente. 5- Qual modelo de processo de desenvolvimento de sistema que considera explicitamente os riscos? Em que fase? É o modelo espiral, na atividade “avaliação das alternativas, identificação e solução dos riscos”, em todos os quatro ciclos: concepção, requisitos, projeto e implementação. 6 – Para que serve o plano do projeto? Serve para guiar e controlar o desenvolvimento do projeto, ajudando os gerentes de projeto no entendimento das necessidades para a sua execução a fim de alcançar o resultado desejado. 7 – Quando deve ser feita a documentação do projeto? A documentação deve se feita em todas as fases do desenvolvimento, para assegurar que o processo seja aberto, compreensível e fornecendo um registro que pode ser utilizado para aprender, examinar e acompanhar o desenvolvimento do projeto. A documentação também pode ser utilizada para marcar a conclusão das fases do projeto, como guia do usuário, guia de instalação, guia para execução de testes, resultado de testes e muito outros de acordo com as necessidades específicas de cada projeto.