• Nenhum resultado encontrado

Processo de Desenvolvimento. Sumário

N/A
N/A
Protected

Academic year: 2021

Share "Processo de Desenvolvimento. Sumário"

Copied!
26
0
0

Texto

(1)(QJHQKDULDGD6RIWZDUH. Processo de Desenvolvimento Carla Ferreira Carla.ferreira@dei.ist.utl.pt. Sumário „ „ „ „ „ „ „. Objectivos Problemas Qualidades Técnicas Avaliação e Validação Exemplo Conclusões. Processo de Desenvolvimento. 2. 1.

(2) Objectivos „. „. Definir o processo de desenvolvimento como uma série de etapas envolvendo actividades, restrições e recursos, que produzem um produto. Pretende-se impor coerência e estrutura às actividades de desenvolvimento de software O ciclo de vida do produto de software é o seu processo de construção usando um processo de desenvolvimento. Processo de Desenvolvimento. 3. Problemas „. O desenvolvimento de software é difícil de gerir dado que é necessário controlar muitas variáveis: Estrutura organizacional da empresa Necessidades dos clientes Competências da equipa Tecnologia a usar .... „. Pelo que não existe um processo de desenvolvimento universalmente aplicável. Processo de Desenvolvimento. 4. 2.

(3) Qualidades. „. „ „ „. &RPSUHHQVtYHO – a definição do processo é explícita e facilmente entendível $FHLWDomR – o processo é aceite e usável pela equipa de desenvolvimento 9LVLELOLGDGH – as actividades do processo têm resultados visíveis 5HWURDOLPHQWDomR – o processo promove a retroalimentação com os clientes e utilizadores. Processo de Desenvolvimento. 5. Qualidades. „. „ „. „. 5DVWUHDELOLGDGH – é possível relacionar os produtos intermédios de acordo com a sua geração )LDELOLGDGH – o processo promove a detecção precoce de erros (YROXomR – o processo pode ser alterado como consequência de variações das variáveis 6XSRUWH – as actividades do processo são suportadas por ferramentas. Processo de Desenvolvimento. 6. 3.

(4) Técnicas „. Caracterização do Processo Etapas Actividades Produtos. „. Modelos de Processo Cascata Prototipagem Especificação Operacional Faseado Espiral. Processo de Desenvolvimento. 7. Etapas do Processo „. „. „. As etapas do processo estabelecem os pontos onde devem ser tomadas decisões importantes de gestão de projecto Uma etapa do projecto agrega diversas actividades do processo no âmbito um objectivo O fim de cada etapa é denominado de marco ( milestone) do projecto. Processo de Desenvolvimento. 8. 4.

(5) Actividades do Processo „. „ „ „. Corresponde ao menor pequeno grão trabalho da equipa de desenvolvimento, e.g., implementar uma funcionalidade Usa recursos e produz produtos intermédios e finais Cada actividade tem critérios de entrada e saída bem definidos As actividades são organizadas do ponto de vista temporal. Processo de Desenvolvimento. 9. Produtos do Processo „ „ „. São o resultado das actividades do processo Constituem uma representação do software que está a ser desenvolvido Alguns dos produtos mais comuns são: Modelos de requisitos Arquitectura de software Desenho do programa Implementação Modelo de testes. Processo de Desenvolvimento. 10. 5.

(6) Produtos do Processo . Modelos de requisitos . Descrevem o problema para cuja solução se deve construir um programa  Explícita as necessidades dos utilizadores e clientes . Arquitectura de Software . Define a estrutura geral da solução relacionandoa com o problema  A arquitectura de software explícita o compromisso que a solução estabelece entre os requisitos, frequentemente contraditórios, do problema Processo de Desenvolvimento. 11. Produtos do Processo . Desenho do programa . Define a estrutura detalhada da solução Explícita as entidades da implementação: interfaces, estruturas de dados, algoritmos, ... . . Implementação . . Constitui o produto final. Modelo de Testes . Define os testes que devem ser feitos para validar a solução em função dos requisitos  Explícita como se valida que o programa cumpre as especificações Processo de Desenvolvimento. 12. 6.

(7) Modelo de Processo „. „. „. Define os objectivos do desenvolvimento, como seja detectar faltas cedo, obter programas de alta qualidade, ou respeitar o orçamento Cada equipa de desenvolvimento deve escolher o modelo que mais se enquadra com os seus objectivos A equipa deve adaptar o modelo às suas necessidades criando assim o seu próprio processo de desenvolvimento. Processo de Desenvolvimento. 13. Tipos de Modelo de Processo „ „ „ „ „. Cascata Prototipagem Especificação Operacional Desenvolvimento Faseado Espiral. Processo de Desenvolvimento. 14. 7.

(8) Cascata ANÁLI SE DE REQUI SI TOS DESENHO DE SI STEMA. DESENHO DO PROGRAMA. PROGRAMAÇÃO. TESTES. OPERAÇÃO E MANUTENÇÃO. Processo de Desenvolvimento. 15. Cascata „. Positivo: O modelo é simples, associando as etapas à construção de produtos Esta associação facilita as tarefas de gestão. „. Negativo: Mas, não reflecte a forma como se constróem os programas pois ignora a iteração necessária quando há alterações de requisitos ou numa etapa se identificam problemas nos produtos construídos nas fases anteriores. Processo de Desenvolvimento. 16. 8.

(9) Prototipagem REQUI SI TOS DO SI STEMA (informais e incompletos). alterar protótipo PROTÓTI PO DOS REQUI SI TOS. LI STA DE ALTERAÇÕES revisão utilizador/ cliente. PROTÓTI PO DO DESENHO. LI STA DE ALTERAÇÕES. PROTÓTI PO DO SI STEMA. LI STA DE ALTERAÇÕES. TESTES ENTREGA DO SI STEMA Processo de Desenvolvimento. 17. Prototipagem „ „. As etapas estão associadas a produtos executáveis (protótipos) Dá ênfase à qualidade de retroalimentação do processo com vista a um desenvolvimento rápido com os utilizadores e clientes, através do desenvolvimento de protótipos para avaliar da sua satisfação com as soluções de desenho, através de protótipos que avaliam as diferentes alternativas de desenho. Processo de Desenvolvimento. 18. 9.

(10) Prototipagem „. Positivo: Retroalimentação rápida. „. Negativo: Fraca visibilidade que dificulta a gestão Fraca estruturação dos sistemas Requer recursos humanos de grande competência. Processo de Desenvolvimento. 19. Especificação Operacional REQUI SI TOS DO SI STEMA (informais e incompletos) ESPECI FI CAÇÃO OPERACI ONAL (baseada-problema). EXECUTAR E REVER. ESPECI FI CAÇÃO TRANSFORMADA (implementação). TESTES ENTREGA DO SI STEMA Processo de Desenvolvimento. 20. 10.

(11) Especificação Operacional „. Positivo: A retroalimentação centra-se numa única etapa próxima do nível de abstracção do espaço do problema O impacto das alterações de requisitos é analisado rapidamente. „. Negativo: Aplicável apenas se é possível inferir do modelo de requisitos qual vai ser o comportamento do sistema pois o modelo de requisitos já possui a semântica que vai existir no produto final. Processo de Desenvolvimento. 21. Desenvolvimento Faseado „ „. Reduz o ciclo de desenvolvimento através da entrega em partes Existem dois sistemas em simultâneo sistema operacional sistema em desenvolvimento Construção Distribuição 1. Construção Distribuição 2. Sistemas em desenvolvimento Tempo. Sistemas operacionais. Processo de Desenvolvimento. Utilização Distribuição 1. Utilização Distribuição 2. 22. 11.

(12) Desenvolvimento Faseado . A construção das distribuições pode seguir duas estratégias: . Desenvolvimento incremental em que os produtos associados a cada distribuição são construídos por incrementos de funcionalidade  Desenvolvimento iterativo em que as distribuições possuem toda a funcionalidade sendo feitas iterações sobre funcionalidades existentes . Normalmente a construção das distribuições utiliza uma combinação de desenvolvimento incremental e iterativo. Processo de Desenvolvimento. 23. Desenvolvimento Faseado . Positivo: . O treino e familiarização dos utilizadores pode ocorrer logo na primeira distribuição  A experimentação com cada distribuição pode motivar os clientes e utilizadores para a definição de novas funcionalidades  A equipa de desenvolvimento pode focar em diferentes tipos de saber conforme as distribuições . Negativo:  . Pode tornar-se caótico O desenho da solução pode degradar-se. Processo de Desenvolvimento. 24. 12.

(13) Análise de. Anális e. de Ris co3. o3 t ip. po 4 ót i. tó. ,! - $+

(14) #+.

(15) . 2. de os sit are i u w eq ft e R so d o açã Valid isit os u r eq o de de açã st e Valid senho Te dulo de e de mó Test a  !

(16)  / 

(17) + Test e de m t is s e 0  aceitação. Plano de requisitos Conceito de operação Plano de ciclo de vida Plan desen o de volvim ento Pla integ no de r ação e t es te. ipo. de Ris Protótipo1 co1. o Pr. Risc o2. t ot ó Pr. Aná lise. Risco 4. t Pro. Aná lise de. &!'  (!"

(18)  )

(19)  *  $+. De s so enh f tw o ar de Pr e m ogr a aç ão - Des enh detalh o ado. 

(20)       !"

(21)  

(22)  

(23)    $#%. Espiral. Processo de Desenvolvimento. 25. Espiral 1. 1. O modelo espiral combina as actividades do processo com a gestão do risco para maximizar o sucesso Cada etapa do processo tem 4 fases: 2. Determinar Objectivos – objectivos, restrições e alternativas da etapa 2 Avaliar Riscos – análise de riscos e controlo dos riscos 2 Desenvolvimento e Teste – de acordo com o modelo de desenvolvimento que mais se ajuste 2 Planificação – decisão sobre se continuar e plano da próxima etapa Processo de Desenvolvimento. 26. 13.

(24) Espiral „. Positivo: 3 3. Adaptável em função da análise de riscos A manutenção pode ser considerada como mais um ciclo do processo. „. Negativo: 3. 3. Não pode ser aplicado a projectos que têm de terminar devido a um contrato com o cliente Não se pode aplicar a projectos de pequena dimensão sob pena da análise de riscos ser demasiado dispendiosa. Processo de Desenvolvimento. 27. Avaliação e Validação „. Análise póstuma 3. 3. Para avaliar o nosso processo deve ser recolhida informação durante o desenvolvimento e depois do projecto terminar A análise póstuma é uma avaliação de todos os aspectos do projecto, incluindo os produtos, processos e recursos, para identificar as áreas que podem ser melhoradas. Processo de Desenvolvimento. 28. 14.

(25) Avaliação Póstuma Desenhar e promover um levantamento retrospectivo para recolher dados sem comprometer a confidencialidade Recolher informação objectiva sobre o projecto que foque nos custos, calendarização e qualidade Organizar uma reunião para recolher informação que o levantamento retrospectivo ignorou Organizar um dia de história do projecto para rever os acontecimentos e dados do projecto e identificar a causa dos problemas ocorridos durante o projecto Publicar os resultados focando nas lições aprendidas. 1.. 2.. 3.. 4.. 5.. Processo de Desenvolvimento. 29. CMM 1 1. 1. O Modelo de Maturidade de Capacidades (CMM) define 5 níveis de maturidade Os níveis de maturidade são atribuídos de acordo com as respostas dadas a um conjunto 110 de perguntas O modelo é usado de duas formas: 2. Os clientes potenciais avaliam a qualidade dos seus fornecedores 2 A equipa de desenvolvimento avalia as suas capacidades e definem como estas podem ser melhoradas. Processo de Desenvolvimento. 30. 15.

(26) Níveis CMM 1tYHO 2SWLPL]DomR 1tYHO *HVWmR 1tYHO 'HILQLomR 1tYHO 5HSHWLomR 1tYHO ,QLFLDomR Processo de Desenvolvimento. 31. Nível Iniciação „. „. „. „. Descreve um processo de desenvolvimento que é ad hoc ou mesmo caótico As entradas do processo não estão definidas Os resultados esperados não estão definidos A produtividade e qualidade de projectos semelhantes é muito variável. Processo de Desenvolvimento. 32. 16.

(27) Nível Repetição „. „. Entradas, saídas, recursos e controlo do processo estão identificados Apenas as entidades abaixo podem ser medidas para fins de gestão &RQWUROR. (QWUDGDV. &RQVWUXLUR6LVWHPD. 6DtGDV. 5HFXUVRV Processo de Desenvolvimento. 33. 1. Nível Definição. 1 1. As actividades de gestão e de engenharia encontram-se documentadas, normalizadas e integradas definindo um procedimento normalizado a toda a organização A organização adapta o processo normalizado aos casos concretos Dado que o processo se encontra definido é possível medir os produtos internos e avaliar da sua qualidade e das relações de qualidade entre os diferentes produtos, e.g., a qualidade dos requisitos pode ser usada para predizer acerca da qualidade do código. Processo de Desenvolvimento. 34. 17.

(28) Nível Gestão „. „. „. A retroalimentação determina como os recursos são afectados As medidas deste nível reflectem as características do processo como um todo A gestão usa uma base de dados de métricas fornece informação acerca das características de produtividade, faltas, etc. Processo de Desenvolvimento. 35. Nível Optimização „. „. Retroalimentação quantitativa é incorporada no processo para melhorar continuamente o processo Difere do nível Gestão pois possibilita a alteração dinâmica da estrutura do processo e desta forma da própria organização. Processo de Desenvolvimento. 36. 18.

(29) Níveis CMM $SHUIHLoRDPHQWR FRQWtQXRGH SURFHVVR. 1tYHO *HVWmR. &RQWURORGH SURFHVVR. 1tYHO 'HILQLomR. 'HILQLomR GHSURFHVVR. 1tYHO 5HSHWLomR. 'LVFLSOLQD GHSURFHVVR. 1tYHO ,QLFLDomR. 1tYHO 2SWLPL]DomR. *HVWmRGD DOWHUDomR *HVWmR TXDQWLWDWLYD. *HVWmRGH HQJHQKDULD. *HVWmRGH SURMHFWR. Processo de Desenvolvimento. 37. Exemplo „. Sistema de Suporte e Gestão às Páginas de uma Disciplina da LEIC 3. Funcionalidades do Discente 4 Ver página. 4 Inscrição de aluno. 4 Inscrição de grupo 3. 4 .... Funcionalidades do Docente 4 Criar e modificar página 4 Inscrição de alunos. 4 Definição das características dos grupos 4 .... Processo de Desenvolvimento. 38. 19.

(30) Modelo Unificado 56 7

(31) 89;:=<>@?AB>ACDFEG D. Tem po. ?L'DFJD: Definição Elaboração. Const rução. Transição. Modelação do Negócio Requisit os Análise e Desenho I m plem ent ação Test e I nst alação. 56 7

(32) 89;:=<>IH7J9KEML>. Gest ão de Configurações Gest ão de Proj ecto Iterações preliminares. Iter. 1. Iter. 2. Iter. n. NL>E"DOP;>:. Iter. n+1. Iter. n+2. Iter. m. Iter. m+1. Processo de Desenvolvimento. 39. Caracterização „. Etapas 3 3. Determinam num marco que disponibiliza um conjunto de artefactos Pontos de decisão de gestão. „. Fluxos de Trabalho 3 3. Engenharia – actividades de construção de modelos Suporte – actividades de gestão. „. Iterações 3. Mini-projectos que aumentam as funcionalidades do produto. Processo de Desenvolvimento. 40. 20.

(33) Etapas „. „. „. „. Definição – estabelece a visão do produto final e do seu caso de negócio Elaboração – estabelece uma arquitectura base da solução Construção – o produto é efectivamente construído por “enchimento” da arquitectura Transição – o produto é entregue aos clientes e utilizadores. Processo de Desenvolvimento. 41. Fluxos de Trabalho „. Os fluxos de trabalho de engenharia constróem os seguintes produtos: 3 3 3 3 3. Modelo de casos de uso Modelo de análise Modelo de desenho Modelo de implementação (código) Modelo de testes. Processo de Desenvolvimento. 42. 21.

(34) Iterações „. „ „ „. Reduzem o risco pois se a iteração falha apenas essa iteração tem de ser repetida Reduzem o risco pois os problemas são identificados mais cedo Aumentam a produtividade pois os resultados são rapidamente visíveis Aumentam a retroalimentação com os clientes pois os resultados são visíveis rapidamente. Processo de Desenvolvimento. 43. Conclusões „. P14 – Construir sistemas incrementalmente 3 3. 3. Diminui o risco associado a cada versão Ver uma versão ajuda os utilizadores a perceberem que outras funcionalidades necessitam Contudo, se for escolhida a arquitectura errada pode ser necessário um redesenho completo. Para reduzir este risco deve-se construir inicialmente alguns protótipos descartáveis. Processo de Desenvolvimento. 44. 22.

(35) Conclusões „. P16 – Alterações durante o desenvolvimento são inevitáveis 3. 3. Todos os artefactos devem possuir referências cruzadas para permitir a rastreabilidade Procedimentos de gestão devem considerar a possibilidade de alterações inesperadas Orçamentos e planeamento devem ser suficientemente flexíveis de modo a não se ignorar as alterações para cumprir orçamentos e prazos 3. Processo de Desenvolvimento. 45. Conclusões „. P21 – Linguagens diferentes para diferentes etapas 3. 3. Uma abordagem unificadora, e redutora, para complexidade do processo de desenvolvimento, que use a mesma notação ao longo de todo o processo ainda não é viável Para cada uma etapas do processo de desenvolvimento escolher as técnicas e linguagens que mais se adaptam. Processo de Desenvolvimento. 46. 23.

(36) Conclusões „. P22 – Técnicas antes das ferramentas Q Q. Antes de se usar uma ferramenta deve-se possuir uma disciplina sobre o seu uso Inicialmente deve-se seguir uma técnica sem o apoio de ferramentas de modo a verificar que é útil e antes de investir em ferramentas que automatizem a técnica Se uma técnica não funciona sem automatização de certeza que não funciona com automatização Q. Processo de Desenvolvimento. 47. Conclusões „. P26 – Saber quando é tão importante como saber como Q. Q. Saber como usar uma técnica bem não a torna numa boa técnica nem nos torna em bons engenheiros O bom engenheiro sabe como usar diversas técnicas e, mais importante, sabe quando usar cada uma delas. Processo de Desenvolvimento. 48. 24.

(37) Conclusões „. P27 – Parar assim que se atinge o objectivo Q. Q. Evitar ficar de tal forma envolvido pelo método que se está a utilizar que se esquece o objectivo Se, por exemplo, se entende qual o problema a resolver após metade dos passo do método a isso destinados, então não é necessário continuar com os restantes passos. Processo de Desenvolvimento. 49. Conclusões „. P28 – Conhecer métodos formais Q Q. Q. Os métodos formais podem ajudar a descobrir problemas escondidos Os métodos formais não devem ser usados para especificar um sistema completamente mas sim para ajudar nas partes mais complicadas onde a utilização de uma linguagem natural dificulta a clarificação Utilizar diferentes métodos formais consoante as necessidades. Processo de Desenvolvimento. 50. 25.

(38) Conclusões „. P172 – Fazer a análise póstuma do projecto Q. Q. No fim do projecto os intervenientes devem ter 3 a 4 dias de análise sobre os problemas que ocorreram Usar a metodologia definida atrás. Processo de Desenvolvimento. 51. Referências „ „ „ „. Pfleeger98, Capítulo 2. 1,2,7,8,9 Pfleeger98, Capítulo 11. 5 Jacobson99, Capítulo 1 David95. Processo de Desenvolvimento. 52. 26.

(39)

Referências

Documentos relacionados

Figura 1 - Protocolo alerta triangular das ocorrências traumáticas de Urgências ou Emergências...5 Figura 2 - Fluxograma das solicitações telefônicas de urgência

Não Não Min./horas Baixa Semi- persistente Min./horas Min./horas Não Não Horas/dias Média Circulativa Min./horas Min./horas Horas/dias Não Dias/semanas Alta Propagativa

[r]

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Este estudo, assim, aproveitou uma estrutura útil (categorização) para organizar dados o que facilitou a sistematização das conclusões. Em se tratando do alinhamento dos

Para aprofundar a compreensão de como as mulheres empreendedoras do município de Coxixola-PB adquirem sucesso em seus negócios, aplicou-se uma metodologia de

Ao rever todas as análises e discussões que realizamos neste trabalho, embasadas nos preceitos funcionalistas aplicados à tradução e nos paradigmas bakhtinianos,

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no