A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução aos Processos de Software. Processo n Uma ação regular e contínua (ou sucessão de ações) realizada de forma bem definida, levando a um resultado.

Apresentações semelhantes


Apresentação em tema: "Introdução aos Processos de Software. Processo n Uma ação regular e contínua (ou sucessão de ações) realizada de forma bem definida, levando a um resultado."— Transcrição da apresentação:

1 Introdução aos Processos de Software

2 Processo n Uma ação regular e contínua (ou sucessão de ações) realizada de forma bem definida, levando a um resultado [Oxford English Dictionary] n Um conjunto parcialmente ordenado de atividades (ou passos) para se atingir um objetivo [Feiler & Humphrey] n Define quem está fazendo o quê, quando e como para atingir um certo objetivo [Jacobson, Booch, Rumbaugh] n O termo ciclo de vida evoluiu para processo n Software processes are software too [Osterweil]

3 Processo versus metodologia n Alguns autores consideram que processos incluem u uma metodologia u pessoas u tecnologia (suporte de ferramentas) n Outros consideram que uma metodologia é a especialização de um processo com um conjunto de métodos

4 Modelo de processo n Uma representação de um processo, usualmente envolvendo u atividades a serem realizadas u agentes que realizam as atividades u artefatos (produtos) gerados u recursos necessários (consumidos)

5 Modelo de processo n Um modelo é usado para entendimento e comunicação do processo, e como base para análise, execução, gerência e melhoria do processo n Idealmente a descrição deve ser formal e completa para permitir, por exemplo, automação n A descrição deve ser apresentada em diferentes níveis de abstração

6 Modelo de processo n O formalismo utilizado para representar o processo é o ingrediente mais importante da modelagem n Não parece haver consenso sobre um formalismo ideal u Terminologias distintas F Fase (Fusion), workflow (RUP), disciplina (RUP), atividade (conceito diferente no OPEN e no RUP) u Mas há um esforço de padronização (SPEM – OMG)

7 Modelo de processo n Formalismos podem ser classificados de várias formas u Diagramáticos u Orientados a linguagens u...

8 Modelo de processo n Alguns exemplos de formalismos diagramáticos u Diagramas de transição de estados F Máquina de estados finitos, statecharts u Técnicas de análise e projeto estruturados (SADT) u UML profiles e conceitos de OO F SPEM – Software Process Engineering Metamodel (padrão OMG) u Petri nets

9 Modelo de processo n Alguns exemplos de formalismos orientados a linguagens u Linguagens de programação de processos F Estendem uma linguagem de programação usual F APPL/A é um exemplo (extensão de Ada) u Notações baseadas em regras e fatos F Exemplo: extensões de Prolog u Notações que usam conceitos de OO F Exemplo: uso de herança para relacionar um modelo de processo com instâncias

10 PSEE n Um PSEE (Process-centred Software Engineering Environment) é um ambiente de desenvolvimento de software no qual os processos utilizados são definidos explicitamente pelo usuário e modelados no ambiente u apóia a atividade de definir, monitorar e avaliar um processo para um projeto específico u Usualmente automatizam parte do processo e guiam o desenvolvedor u Alguns (poucos) ambientes suportam modificações dinâmicas no processo durante execução

11 PSEE n PSEEs suportam e relacionam três disciplinas importantes u Engenharia de processos F definição e evolução de modelos de processos (em geral independentes de projetos específicos) u Engenharia de software F desenvolvimento e evolução de produtos de software u Gerência de projetos F criação de processos específicos para um projeto, coordenação e monitoramento das atividades de desenvolvimento (assegura que o processo é seguido)

12 PSEE Engenharia de software Gerência de projetos Engenharia de processos guia (ou enforcement) automação status,... instanciação monitoramento mudanças (dinâmicas) status,... definição simulação métricas melhorias,... P S E E

13 PSEE Visão geral do fluxo de dados Engenharia de processos Gerência de projetos Engenharia de software Requisitos do processo Requisitos do projeto e do produto Modelo do processo Processo de desenvolvimento software

14 PSEE n Alguns ambientes comerciais u Process WEAVER (Cap Gemini) u SynerVision for SoftBench (HP) n Ambos fornecem u um formalismo apropriado para modelar processos u Especificação de atividades e ferramentas para execução automática u Mecanismo de agenda orientada a processos para os agentes

15 PSEE n Alguns ambientes acadêmicos u Prism u Smart u Articulator u Dynamite u Spade u...

16 PSEE n Esforço nacional u ExPSEE [Itana Gimenes-UEM] u Estação TABA [Guilherme Travassos-COPPE] u APSEE [Carla Reis-UFRGS]

17 PSEE n Pesquisa relacionada u CSCW (Computer-supported cooperative work) F Como PSEE, natureza multidisciplinar: organizacional, humano, construção de sistemas F Sistemas de CSCW podem prover parte da infra-estrutura de um PSEE u Sistemas de gerenciamento de Workflow F Suportam processos organizacionais F Semelhantes a PSEEs em vários aspectos u Tecnologia de banco de dados F PSEE manipulam processos e relacionamentos que requerem padrões de acesso elaborados

18 Exemplos de processos n Processos tradicionais (pesados) u RUP, OPEN, Catalysis n Processos ágeis (leves) u XP, Agile modeling, Crystal

19 Exemplos de processos n Consenso em torno de u Iteratividade u Participação de usuários u Flexibilidade de configuração para projetos específicos u Comunicação entre membros da equipe

20 Exemplos de processos n Divergências u Detalhamento de atividades a serem seguidas u Ordem de execução das atividades F Arquitetura robusta (RUP) F Arquitetura para o contexto da iteração atual (agile modeling) u Rigor na atribuição de tarefas a responsáveis F workers (RUP) F alocação sob demanda e interesse (XP) u Artefatos (documentação) gerados u Grau de automação u (im)pessoalidade

21 Exemplos de processos n A polêmica... u Se a tendência é ter processos leves, afinal o desenvolvimento de software é u Arte+Sociologia+Psicologia+... ou u Lógica+Modelos+Engenharia+...??? u E todo o esforço de consolidação da Engenharia de Software como uma ciência exata???

22 Alguns desafios n Organizações oferecem forte resistência à implantação (ou modificação) de processos n PSEEs exigem mudanças organizacionais ainda mais significativas (principalmente quando exigem aderência ao processo) u Resistência também por receio de avaliação individual como resultado dos dados coletados em PSEEs u Ainda não parece existir consenso sobre uma arquitetura para PSEEs (exemplo, projeto do repositório); mas há modelos de referência (NIST-ECMA) u Modelos de processos têm impacto direto em interface com usuário, granularidade e automação de atividades n Modificações dinâmicas oferecem flexibilidade e podem ser uma solução (tópico atual de pesquisa)

23 Alguns temas para artigos n Uso ou análise comparativa de notações para modelagem (representação) de processos n Modelagem de um processo (exemplo, RUP) em algum PSEE de domínio público, considerando o desenvolvimento de um sistema hipotético n Análise do uso de PSEEs para modelagem de processos de software que garantem padrões de qualidade (exemplo, RUP com CMM2) n Análise comparativa de processos ágeis n Análise comparativa de processos tradicionais n Integração entre processos comerciais e métodos formais

24 Algumas referências n Process-Centered Software Engineering Environments. P. K. Garg & M. Jazayeri. IEEE Computer Society Press n The OPEN Process Specification. I. Graham, B. Henderson-Sellers & H. Younessi n The Unified Software Development Process. I, Jacobson, G. Booch & J. Rumbaugh n n n n n

25 E depois de tudo...

26 Momento RELAX n Mensagem Subliminar u Quantidade de informação dividida pelo tempo/Espaço de Exposição.

27 Mensagem Subliminar

28


Carregar ppt "Introdução aos Processos de Software. Processo n Uma ação regular e contínua (ou sucessão de ações) realizada de forma bem definida, levando a um resultado."

Apresentações semelhantes


Anúncios Google