O documento descreve o Rational Unified Process (RUP), um processo de engenharia de software que utiliza uma abordagem iterativa e orientada a objetos. O RUP é dividido em quatro fases principais (concepção, elaboração, construção e transição) e nove disciplinas agrupadas em disciplinas de engenharia e disciplinas de apoio. A disciplina de modelagem de negócios é a primeira das seis disciplinas de engenharia e tem como objetivo estabelecer uma compreensão do negócio e dos requisitos do cliente.
O documento descreve a modelagem da área de processo de Integração de Produto do CMMI Nível 3 usando Mm-BPM 1.0 e SPEM 1.1. Apresenta a motivação, visão geral das metodologias Mm-BPM 1.0 e SPEM 1.1, objetivos e metas da área de processo, e os passos para modelagem seguindo as três etapas da Mm-BPM 1.0: emoldurar, compreender e projetar o processo.
Este documento resume uma aula sobre processos de software. Apresenta conceitos como processo de software, modelos de processo de desenvolvimento de software, modelos de ciclo de vida como cascata e iterativos, além de linguagens, métodos e ferramentas CASE. O objetivo é introduzir os alunos aos principais elementos envolvidos no desenvolvimento de software.
O documento resume os principais conceitos da engenharia de software, incluindo sua definição, áreas de conhecimento, processos, metodologias, modelagem, ferramentas e gerenciamento de projetos. A engenharia de software objetiva o desenvolvimento sistemático e controlado de sistemas de software complexos aplicando princípios de engenharia.
O documento apresenta um resumo sobre o Rational Unified Process (RUP). O RUP é um framework genérico e adaptável para desenvolvimento de software que utiliza modelagem visual, abordagem iterativa e incremental e é centrado em arquitetura e casos de uso. Ele define fases, disciplinas, atividades, artefatos e guias para auxiliar na gestão de projetos de software.
O documento descreve os principais conceitos de engenharia de software, incluindo: (1) as camadas de engenharia de software focadas em qualidade, processos, métodos e ferramentas; (2) os modelos de processo de desenvolvimento de software como linear seqüencial, prototipação, incremental e espiral; (3) o Rational Unified Process (RUP) como um modelo de processo iterativo e incremental baseado em componentes e casos de uso.
O documento descreve a Model-Driven Architecture (MDA), incluindo seu histórico, papéis, tipos de modelos, tecnologias e ferramentas. A MDA visa criar modelos independentes de plataforma para diminuir esforços de manutenção à medida que sistemas envelhecem.
O documento descreve o Rational Unified Process (RUP), um processo de engenharia de software que utiliza uma abordagem iterativa e orientada a objetos. O RUP é dividido em quatro fases principais (concepção, elaboração, construção e transição) e nove disciplinas agrupadas em disciplinas de engenharia e disciplinas de apoio. A disciplina de modelagem de negócios é a primeira das seis disciplinas de engenharia e tem como objetivo estabelecer uma compreensão do negócio e dos requisitos do cliente.
O documento descreve a modelagem da área de processo de Integração de Produto do CMMI Nível 3 usando Mm-BPM 1.0 e SPEM 1.1. Apresenta a motivação, visão geral das metodologias Mm-BPM 1.0 e SPEM 1.1, objetivos e metas da área de processo, e os passos para modelagem seguindo as três etapas da Mm-BPM 1.0: emoldurar, compreender e projetar o processo.
Este documento resume uma aula sobre processos de software. Apresenta conceitos como processo de software, modelos de processo de desenvolvimento de software, modelos de ciclo de vida como cascata e iterativos, além de linguagens, métodos e ferramentas CASE. O objetivo é introduzir os alunos aos principais elementos envolvidos no desenvolvimento de software.
O documento resume os principais conceitos da engenharia de software, incluindo sua definição, áreas de conhecimento, processos, metodologias, modelagem, ferramentas e gerenciamento de projetos. A engenharia de software objetiva o desenvolvimento sistemático e controlado de sistemas de software complexos aplicando princípios de engenharia.
O documento apresenta um resumo sobre o Rational Unified Process (RUP). O RUP é um framework genérico e adaptável para desenvolvimento de software que utiliza modelagem visual, abordagem iterativa e incremental e é centrado em arquitetura e casos de uso. Ele define fases, disciplinas, atividades, artefatos e guias para auxiliar na gestão de projetos de software.
O documento descreve os principais conceitos de engenharia de software, incluindo: (1) as camadas de engenharia de software focadas em qualidade, processos, métodos e ferramentas; (2) os modelos de processo de desenvolvimento de software como linear seqüencial, prototipação, incremental e espiral; (3) o Rational Unified Process (RUP) como um modelo de processo iterativo e incremental baseado em componentes e casos de uso.
O documento descreve a Model-Driven Architecture (MDA), incluindo seu histórico, papéis, tipos de modelos, tecnologias e ferramentas. A MDA visa criar modelos independentes de plataforma para diminuir esforços de manutenção à medida que sistemas envelhecem.
O documento discute engenharia de requisitos de software, descrevendo algumas dificuldades e práticas para elaborar requisitos para o usuário final. Também aborda requisitos funcionais e não funcionais, tipos de requisitos, documentação de requisitos e métodos ágeis como Scrum, RUP, XP.
O documento discute processos de engenharia de software, incluindo: (1) modelos de processos como cascata e evolutivo, (2) atividades de processo como especificação, desenho e validação, (3) RUP como um processo moderno, e (4) CASE para apoiar processos de desenvolvimento de software.
O documento discute os principais conceitos de engenharia de software, incluindo: (1) as camadas da qualidade, processo, métodos e ferramentas, (2) as perguntas que devem ser respondidas no desenvolvimento de software, (3) os modelos de processo como linear sequencial, prototipação, incrementais e espiral, e (4) o Rational Unified Process (RUP).
O documento introduz vários modelos de processo de software, incluindo o modelo cascata tradicional, desenvolvimento evolucionário, desenvolvimento iterativo incremental e o modelo em espiral. Estes modelos variam na flexibilidade para lidar com requisitos mutáveis e no grau de visibilidade do processo.
O documento descreve o IBM Rational Unified Process (RUP), um processo proprietário de engenharia de software criado pela Rational Software Corporation e agora de propriedade da IBM. O RUP usa uma abordagem orientada a objetos e é projetado para aumentar a produtividade das equipes de desenvolvimento de software. Ele define linhas mestras, fases e princípios como gestão de requisitos, uso de arquitetura baseada em componentes e modelagem visual para guiar o desenvolvimento de software.
Este documento apresenta uma aula introdutória sobre engenharia de software. Ele discute o objetivo da disciplina, o que é software e engenharia de software, características e objetivos da engenharia de software, qualidade de software, a crise do software e atividades e artefatos relacionados à engenharia de software.
O documento discute processos de engenharia de software, incluindo modelos de processo como cascata, incremental e orientado a reuso. Ele também descreve atividades-chave como especificação, projeto, implementação, validação e evolução. Além disso, aborda técnicas para lidar com mudanças como prototipação, entrega incremental e o modelo espiral de Boehm, bem como o Rational Unified Process.
Este documento apresenta conceitos básicos de engenharia de software. Ele discute sistemas e suas características, definindo software como um sistema. Também apresenta definições formais de sistemas e engenharia de sistemas. Por fim, descreve engenharia de software como uma tecnologia em camadas focada na qualidade, processos, métodos e ferramentas.
O documento discute os processos de desenvolvimento de software, definindo-os como conjuntos de atividades que levam à produção de um produto de software. Descreve três modelos genéricos de processo - cascata, evolucionário e baseado em componentes - e explica que nenhum é ideal e as organizações devem customizar seus próprios processos.
Geracao Automatica Assistida Iu Marcelo MrackMarcelo Mrack
O documento apresenta o conceito de geração automática de interfaces de usuário, descrevendo o projeto Merlin e como ele segue as premissas das MBUIDE. O Merlin gera interfaces CRUD de forma automática a partir de modelos declarativos, conforme demonstrado em um pequeno estudo de caso.
O documento discute a abordagem de arquitetura orientada a modelos (MDA), definida pela OMG. Apresenta os principais conceitos como modelos independentes de plataforma e específicos de plataforma, além das especificações UML, MOF, CWM e XMI. Também descreve ferramentas CASE como AndroMDA e Accelo que auxiliam no desenvolvimento MDA.
Tecnologias para Definição do Processo Organizacional segundo o MPS.BRLeandro Coutinho
Este documento analisa tecnologias para implementar a Definição do Processo Organizacional no MPS.BR, incluindo Eclipse Process Framework, WebAPSEE, SPEARMINT, Estação TABA e ODE. Ele descreve cada tecnologia e fornece casos reais de uso, concluindo que Estação TABA foi usada em muitas implementações no Brasil.
O documento apresenta os conceitos fundamentais de engenharia de software, incluindo: (1) engenharia de software é o estudo sistemático do desenvolvimento de software; (2) qualidade de software envolve atributos como manutenibilidade, desempenho e usabilidade; (3) a crise de software ocorre devido à complexidade dos sistemas e falta de qualificação.
O documento descreve o Processo Unificado (RUP), apresentando seus principais conceitos e características. O RUP é um framework genérico e customizável para gerenciar o processo de engenharia de software, utilizando a UML para modelagem e definindo um ciclo de vida iterativo e incremental guiado por casos de uso e centrado na arquitetura.
O documento descreve o Ciclo de Vida do Desenvolvimento de Sistemas (SDLC), que inclui estágios como levantamento de requisitos, análise, projeto, desenvolvimento, implementação e manutenção. Além disso, discute abordagens como cascata, espiral e prototipagem, e como a escolha depende do projeto e organização. Finalmente, cobre tópicos como modelagem de dados, processos e objetos.
O documento discute a metodologia de mapeamento de processos de negócio, incluindo decompor processos em atividades e fluxos de informação e transformá-los em diagramas de casos de uso e modelos de dados para projetar sistemas de informação.
O documento apresenta e descreve vários modelos de processos de desenvolvimento de software, incluindo o modelo em cascata, evolucionário, de desenvolvimento incremental, espiral e prototipação. Cada modelo é explicado com seus principais estágios, vantagens e desvantagens. O documento fornece uma visão geral dos paradigmas e abordagens de processos de software.
O documento discute engenharia de requisitos de software, descrevendo algumas dificuldades e práticas para elaborar requisitos para o usuário final. Também aborda requisitos funcionais e não funcionais, tipos de requisitos, documentação de requisitos e métodos ágeis como Scrum, RUP, XP.
O documento discute processos de engenharia de software, incluindo: (1) modelos de processos como cascata e evolutivo, (2) atividades de processo como especificação, desenho e validação, (3) RUP como um processo moderno, e (4) CASE para apoiar processos de desenvolvimento de software.
O documento discute os principais conceitos de engenharia de software, incluindo: (1) as camadas da qualidade, processo, métodos e ferramentas, (2) as perguntas que devem ser respondidas no desenvolvimento de software, (3) os modelos de processo como linear sequencial, prototipação, incrementais e espiral, e (4) o Rational Unified Process (RUP).
O documento introduz vários modelos de processo de software, incluindo o modelo cascata tradicional, desenvolvimento evolucionário, desenvolvimento iterativo incremental e o modelo em espiral. Estes modelos variam na flexibilidade para lidar com requisitos mutáveis e no grau de visibilidade do processo.
O documento descreve o IBM Rational Unified Process (RUP), um processo proprietário de engenharia de software criado pela Rational Software Corporation e agora de propriedade da IBM. O RUP usa uma abordagem orientada a objetos e é projetado para aumentar a produtividade das equipes de desenvolvimento de software. Ele define linhas mestras, fases e princípios como gestão de requisitos, uso de arquitetura baseada em componentes e modelagem visual para guiar o desenvolvimento de software.
Este documento apresenta uma aula introdutória sobre engenharia de software. Ele discute o objetivo da disciplina, o que é software e engenharia de software, características e objetivos da engenharia de software, qualidade de software, a crise do software e atividades e artefatos relacionados à engenharia de software.
O documento discute processos de engenharia de software, incluindo modelos de processo como cascata, incremental e orientado a reuso. Ele também descreve atividades-chave como especificação, projeto, implementação, validação e evolução. Além disso, aborda técnicas para lidar com mudanças como prototipação, entrega incremental e o modelo espiral de Boehm, bem como o Rational Unified Process.
Este documento apresenta conceitos básicos de engenharia de software. Ele discute sistemas e suas características, definindo software como um sistema. Também apresenta definições formais de sistemas e engenharia de sistemas. Por fim, descreve engenharia de software como uma tecnologia em camadas focada na qualidade, processos, métodos e ferramentas.
O documento discute os processos de desenvolvimento de software, definindo-os como conjuntos de atividades que levam à produção de um produto de software. Descreve três modelos genéricos de processo - cascata, evolucionário e baseado em componentes - e explica que nenhum é ideal e as organizações devem customizar seus próprios processos.
Geracao Automatica Assistida Iu Marcelo MrackMarcelo Mrack
O documento apresenta o conceito de geração automática de interfaces de usuário, descrevendo o projeto Merlin e como ele segue as premissas das MBUIDE. O Merlin gera interfaces CRUD de forma automática a partir de modelos declarativos, conforme demonstrado em um pequeno estudo de caso.
O documento discute a abordagem de arquitetura orientada a modelos (MDA), definida pela OMG. Apresenta os principais conceitos como modelos independentes de plataforma e específicos de plataforma, além das especificações UML, MOF, CWM e XMI. Também descreve ferramentas CASE como AndroMDA e Accelo que auxiliam no desenvolvimento MDA.
Tecnologias para Definição do Processo Organizacional segundo o MPS.BRLeandro Coutinho
Este documento analisa tecnologias para implementar a Definição do Processo Organizacional no MPS.BR, incluindo Eclipse Process Framework, WebAPSEE, SPEARMINT, Estação TABA e ODE. Ele descreve cada tecnologia e fornece casos reais de uso, concluindo que Estação TABA foi usada em muitas implementações no Brasil.
O documento apresenta os conceitos fundamentais de engenharia de software, incluindo: (1) engenharia de software é o estudo sistemático do desenvolvimento de software; (2) qualidade de software envolve atributos como manutenibilidade, desempenho e usabilidade; (3) a crise de software ocorre devido à complexidade dos sistemas e falta de qualificação.
O documento descreve o Processo Unificado (RUP), apresentando seus principais conceitos e características. O RUP é um framework genérico e customizável para gerenciar o processo de engenharia de software, utilizando a UML para modelagem e definindo um ciclo de vida iterativo e incremental guiado por casos de uso e centrado na arquitetura.
O documento descreve o Ciclo de Vida do Desenvolvimento de Sistemas (SDLC), que inclui estágios como levantamento de requisitos, análise, projeto, desenvolvimento, implementação e manutenção. Além disso, discute abordagens como cascata, espiral e prototipagem, e como a escolha depende do projeto e organização. Finalmente, cobre tópicos como modelagem de dados, processos e objetos.
O documento discute a metodologia de mapeamento de processos de negócio, incluindo decompor processos em atividades e fluxos de informação e transformá-los em diagramas de casos de uso e modelos de dados para projetar sistemas de informação.
O documento apresenta e descreve vários modelos de processos de desenvolvimento de software, incluindo o modelo em cascata, evolucionário, de desenvolvimento incremental, espiral e prototipação. Cada modelo é explicado com seus principais estágios, vantagens e desvantagens. O documento fornece uma visão geral dos paradigmas e abordagens de processos de software.
Semelhante a Software de Modelagem e Simulação de Processos.ppt (20)
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...Eró Cunha
XIV Concurso de Desenhos Afro/24
TEMA: Racismo Ambiental e Direitos Humanos
PARTICIPANTES/PÚBLICO: Estudantes regularmente matriculados em escolas públicas estaduais, municipais, IEMA e IFMA (Ensino Fundamental, Médio e EJA).
CATEGORIAS: O Concurso de Desenhos Afro acontecerá em 4 categorias:
- CATEGORIA I: Ensino Fundamental I (4º e 5º ano)
- CATEGORIA II: Ensino Fundamental II (do 6º ao 9º ano)
- CATEGORIA III: Ensino Médio (1º, 2º e 3º séries)
- CATEGORIA IV: Estudantes com Deficiência (do Ensino Fundamental e Médio)
Realização: Unidade Regional de Educação de Imperatriz/MA (UREI), através da Coordenação da Educação da Igualdade Racial de Imperatriz (CEIRI) e parceiros
OBJETIVO:
- Realizar a 14ª edição do Concurso e Exposição de Desenhos Afro/24, produzidos por estudantes de escolas públicas de Imperatriz e região tocantina. Os trabalhos deverão ser produzidos a partir de estudo, pesquisas e produção, sob orientação da equipe docente das escolas. As obras devem retratar de forma crítica, criativa e positivada a população negra e os povos originários.
- Intensificar o trabalho com as Leis 10.639/2003 e 11.645/2008, buscando, através das artes visuais, a concretização das práticas pedagógicas antirracistas.
- Instigar o reconhecimento da história, ciência, tecnologia, personalidades e cultura, ressaltando a presença e contribuição da população negra e indígena na reafirmação dos Direitos Humanos, conservação e preservação do Meio Ambiente.
Imperatriz/MA, 15 de fevereiro de 2024.
Produtora Executiva e Coordenadora Geral: Eronilde dos Santos Cunha (Eró Cunha)
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, Central Gospel, Os Mortos Em Cristo, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Biblioteca UCS
A biblioteca abriga, em seu acervo de coleções especiais o terceiro volume da obra editada em Lisboa, em 1843. Sua exibe
detalhes dourados e vermelhos. A obra narra um romance de cavalaria, relatando a
vida e façanhas do cavaleiro Clarimundo,
que se torna Rei da Hungria e Imperador
de Constantinopla.
Software de Modelagem e Simulação de Processos.ppt
1. Modelagem e Simulação de
Processos de Software
Mariane M. Souza
(mms2@cin.ufpe.br)
Centro de Informática
Universidade Federal de Pernambuco
2. Roteiro da Apresentação
Contextualização
Modelagem de Processos de Software
SPEM - Software Process Engineering Meta
Model
Simulação de Processos de Software
SPEM x Simulação
Conclusões
Referências e Bibliografia
3. Contextualização (1/3)
Cerca de 70% de investimentos na área de
Engenharia de Software são realizados para manter
softwares existentes [Pressman 2002]
Qualidade do Produto X Qualidade do Processo
Surgimento de normas para qualidade do processo:
ISO/IEC 12207, CMM, ISO 9001...
Surgimento de abordagens com o objetivo de
disciplinar o processo de desenvolvimento de
software (mecanismo de controle) visando sua
qualidade e melhoria contínua.
4. Contextualização (2/3)
Ferramentas CASE (Computer Aided Software Engineering)...
Ambientes ADS: Ambientes Integrados de Desenvolvimento de
Software
Ambientes PSEE (Process-centred Software Engineering
Environment): ADS orientados ao processo que permitem:
Controle do projeto durante sua execução
Gerência da comunicação entre desenvolvedores
Controle de atividades realizadas
Controle de recursos e prazos
Automação de atividades
Coleta de dados de métricas automaticamente
Guiar os usuários do processo
...
5. Contextualização (3/3)
Ambientes para Implementação de Processos de
Software:
PSEEs que fornecem ferramentas que
automatizam as fases do ciclo de vida do
processo de software:
Definição (Modelagem)
Simulação
Execução
Avaliação
6. Modelagem de Processos de
Software (1/9)
A modelagem auxilia principalmente na fase de definição
(análise de requisitos, projeto e instanciação) do ciclo de
vida do processo de software
A modelagem de processos de software não é uma tarefa
simples, mas pode ser simplificada pela utilização de
ontologias (ambientes ODE – Ontology-based software
Development Environment)
Ontologias são representações do vocabulário de algum
domínio ou problema [Bertollo,2002].
Vantagens: conceitos bem definidos que auxiliam na
integração de ferramentas em ADS.
7. Modelagem de Processos de
Software (2/9)
Processo de Software: Conjunto de todas as
atividades necessárias para transformar os
requisitos do usuário em software.
Elementos básicos para modelagem de processos
de software:
Ator: entidade que executa o processo
Papel: conjunto de responsabilidades necessárias para a
execução de atividades
Atividade: estágio do processo que produz mudanças
visíveis no estado do produto sendo desenvolvido
Artefato: matéria-prima e/ou (sub)produto de uma
atividade relacionada ao processo
8. Modelagem de Processos de
Software (3/9)
Modelo básico do domínio de processos de software
9. Modelagem de Processos de
Software (4/9)
Um modelo de processo de software é uma
representação abstrata da arquitetura, projeto ou
definição do processo de software [Acuña,2001]
Define os elementos que compõem o processo e o
inter-relacionamento entre os mesmos.
Pode ser:
Gráfico ou Textual
Executável (definido formalmente e passível de
ser simulado e validado) ou Não-Executável
(guias)
10. Modelagem de Processos de
Software (5/9)
Um modelo de processo deve possuir um
formalismo de representação
Pode ser orientado a linguagens (PMLs) ou
diagramático
Exemplos:
Máquinas de Estado ou Redes de Petri
(SPADE, Memphis e ProSoft): enfatizam
modelagem gráfica, mas... acoplamento entre
dados do processo e de sua execução
Baseado em Agentes, Regras ou Scripts
(HyperCode e CAGIS): flexibilidade de
construção, mas... Dificuldade de entendimento
11. Modelagem de Processos de
Software (6/9)
Não existe um formalismo ideal
Alguns ambientes combinam múltiplos formalismos
EPOS, Merlin, ProNet/ProSim, Dynamite, APEL
e Mokassin:
Ambientes propícios para modelagem além de
permitir o mapeamento de workflows
modelados, em regras para execução do
processo
Tentativa de Padronização: SPEM
12. Modelagem de Processos de
Software (7/9)
Uma visão é uma projeção de um modelo de
processo descrito em um dado formalismo com
certo nível de detalhes.
Um modelo de processo pode ser projetado em
diferentes visões (perspectivas):
Funcional: representa os elementos de
processo em execução no momento
Comportamental: representa quando e sob que
condições os elementos do processo estão
sendo executados
13. Modelagem de Processos de
Software (8/9)
Perspectivas para Modelagem (Cont.):
Organizacional: representa onde e por quem
na organização os elementos do processo são
executados
Informativa: representa as informações
relacionadas aos elementos de processo
executados no momento.
14. Modelagem de Processos de
Software (9/9)
Vantagens da utilização de Modelagem:
Possibilita maior entendimento e seguimento do
processo
Facilita a gerência do processo
Facilita a adaptação do processo já definido
(redefinição)
Permite a definição de pontos de medição
Permite o compartilhamento de experiências e
aprendizados na organização
15. Meta-modelo criado para suprir a necessidade de
um padrão para as técnicas de modelagem de
processo
Em Novembro de 2002 foi oficializado como um
padrão da OMG (Object Management Group) e
encontra-se atualmente na sua versão 1.1
Abordagem orientada a objetos e define
estereótipos UML para modelagem de processos de
software
A execução do processo não está no escopo da
linguagem
SPEM – Software Process
Engineering MetaModel (1/23)
16. O SPEM foi criado a partir do esforço
conjunto de vários pesquisadores e
empresas tais como:
IBM
Rational
Toshiba
Siemens
...
Pesquisadores: Philippe Kruntchen, Craig
Lairman, etc.
SPEM – Software Process
Engineering MetaModel (2/23)
17. SPEM – Software Process
Engineering MetaModel (3/23)
Arquitetura de modelagem OMG:
18. A especificação do SPEM é baseada em um
UML Profile que é baseado no meta-
modelo MOF.
Um UML Profile é um conjunto de
extensões UML criados com o objetivo de
customizá-la para determinado domínio
(processos de software)
SPEM – Software Process
Engineering MetaModel (4/23)
19. SPEM – Software Process
Engineering MetaModel (5/23)
O SPEM é formado por dois pacotes principais:
SPEM_Foundation: definido por um subconjunto da
UML 1.4
SPEM_Extensions: adiciona a forma de construir e a
semântica necessária em um processo de engenharia de
software.
20. SPEM – Software Process
Engineering MetaModel (6/23)
Estrutura de Pacotes:
21. A modelagem é feita através do uso de estereótipos
Os principais estereótipos definidos pelo SPEM são:
WorkProduct
WorkDefinition
ProcessPerformer
ProcessRole
ProcessPackage
Phase
Process
Document
UMLModel
Activity
Guidance
SPEM – Software Process
Engineering MetaModel (7/23)
22. SPEM – Software Process
Engineering MetaModel (8/23)
WorkProduct: classe de produto de trabalho produzido
em um processo e está associado a um tipo de produto. Ex:
documento, código fonte, etc. Artefato
Notação:
WorkDefinition: é um tipo de operação que descreve o
trabalho realizado no processo. É a representação para
atividades compostas por outras sub-atividades.
Notação:
23. SPEM – Software Process
Engineering MetaModel (9/23)
ProcessPerformer: define o “realizador” de um
conjunto de WorkDefinitions do processo.
Notação:
ProcessRole: define responsabilidades em relação a
WorkProducts específicos e define papéis que realizam e
auxiliam atividades específicas.
Notação:
24. SPEM – Software Process
Engineering MetaModel (10/23)
ProcessPackage: notação especial para pacotes no
contexto SPEM
Notação:
Phase: é uma especialização de um WorkDefinition em
que sua pré-condição define a fase de critérios de entrada e
seus objetivos definem a fase de critérios de saída
Notação:
25. SPEM – Software Process
Engineering MetaModel (11/23)
Process: representa um processo completo, em toda sua
extensão.
Notação:
Document: notação específica para diferentes tipos de
WorkProducts
Notação:
26. SPEM – Software Process
Engineering MetaModel (12/23)
UMLModel: notação específica para diferentes tipos de
WorkProducts
Notação:
Activity: descreve uma parte do trabalho realizado por
um ProcessRole: suas tarefas, operações e ações
executadas por um papel ou de que forma o papel deve
auxiliar
Notação:
27. SPEM – Software Process
Engineering MetaModel (13/23)
Guidance: Informação mais detalhada
sobre o elemento associado fornecida aos
praticantes Ex:Guidelines, Metrics, Tools,
Checklists e Templates.
Notação:
28. SPEM – Software Process
Engineering MetaModel (14/23)
Um Exemplo Simples:
29. SPEM – Software Process
Engineering MetaModel (15/23)
Estudo de Caso:
Ambiente e-WebProject:
Ambiente integrado para o desenvolvimento
e gerência de projetos de software
Pertence ao SESIS: Sistemas de Engenharia
de Software
SPEM: estudo de modelagem para
definição de processos de Gerência de
Configuração e Gerência da Qualidade
para posterior implantação
30. SPEM – Software Process
Engineering MetaModel (16/23)
Características do e-WebProject:
Trabalho cooperativo centrado no processo
Ambiente ativo com o objetivo de forçar o fluxo
de trabalho
Agentes Autônomos
Conjunto de serviços oferecidos via WEB para
os participantes do processo
Categorias de Gerenciamento: Configuração e
Qualidade
31. SPEM – Software Process
Engineering MetaModel (17/23)
Pontos de Partida:
Adoção de padrões de qualidade:
ISO/IEC 12207: estrutura para processo de
desenvolvimento e manutenção de software
ISO/IEC 15504: estrutura para avaliação e
melhoria de processo de software
Mais especificamente...
Padrões na categoria de processos de
suporte (SUP): “atividades guarda-chuva”
32. SPEM – Software Process
Engineering MetaModel (18/23)
Exemplo de Modelagem: (Gerência das Modificações e
Configurações)
33. SPEM – Software Process
Engineering MetaModel (19/23)
Sub-Atividades (WorkDefinition Controlar
Modificação (SUP 2.BP5)):
Sub-Atividade 1: Criar Registro de Evento de
Modificação
Sub-Atividade 2: Analisar Impacto da Modificação
Sub-Atividade 3: Avaliar Modificação
Sub-Atividade 4: Implantar Modificação
Sub-Atividade 5: Verificar o Produto de Trabalho
Sub-Atividade 6: Concluir Modificação
34. SPEM – Software Process
Engineering MetaModel (20/23)
Modelagem (Diagrama de Atividades): Controlar
Modificação
35. SPEM – Software Process
Engineering MetaModel (21/23)
Exemplo de Modelagem (Gerência da Qualidade):
36. SPEM – Software Process
Engineering MetaModel (22/23)
Sub-Atividades (WorkDefinition Realizar
Verificações (SUP 4.BP1)):
Sub-Atividade 1: Abertura da Verificação
Sub-Atividade 2: Definição de Critérios de
Verificação
Sub-Atividade 3: Conduzir a Verificação
Sub-Atividade 4: Fechamento da Verificação
37. SPEM – Software Process
Engineering MetaModel (23/23)
Modelagem (Diagrama de Atividades): Realizar Verificações
38. Simulação de Processos de
Software (1/10)
Um modelo de processo pode conter falhas e
inconsistências
Após a definição do modelo de processo, o próximo
passo seria “simular” o seu comportamento
Simulação: “processo de desenvolver um modelo
matemático ou lógico de um sistema real e então conduzir
experimentos baseados em computador, usando o modelo para
descrever, explicar e predizer o comportamento de um sistema
real.” [Hoover,1989]
Envolve geralmente sistemas de comportamento
dinâmico, incertos ou estocásticos. Exige modelos
executáveis
39. Simulação de Processos de
Software (2/10)
Para que simular?
Prever comportamento futuro dos sistemas usando
modelos
Economia de tempo e recursos financeiros
Ganhos de produtividade e qualidade
Percepção do sistema real
Tipos de Modelos de Simulação:
Voltados à Previsão
Voltados à Investigação: informações e hipóteses
Voltados à Comparação: mudanças em variáveis de
controle
40. Simulação de Processos de
Software (3/10)
Simulação de Processos de Software:
Validação do processo antevendo resultados
que só seriam vistos durante a execução do
mesmo
Detecção de possíveis deficiências no modelo
definido
Auxílio no refinamento de processos de
software
Principais motivações para pesquisa na área:
Dificuldade de pesquisa de campo na área de
processos de software
Menor tempo para validação do processo
41. Simulação de Processos de
Software (4/10)
Algumas aplicações...
Gerência de estratégias: “Seria melhor realizar
este serviço ou terceirizá-lo?”
Planejamento: “O processo A ou o processo B
deve ser utilizado em nosso novo projeto?”
Entendimento (simulações gráficas e
animadas)
Treinamento e aprendizagem
42. Alguns benefícios...
Melhoria na tomada de decisões
organizacionais
Justificativa para iniciativas de melhoria no
processo
Predição dos impactos causados por
mudanças no processo antes da execução
Predição do nível de performance do processo
Suporte à análises “What if...” acessando
múltiplas alternativas de processos sob
diferentes condições e cenários
Simulação de Processos de
Software (5/10)
43. O que se pode simular com relação à:
Modelo de escopo: porção do ciclo de vida ou
todo o ciclo de um produto
Parâmetros de entrada: número de linhas de
código, esforço de projeto (tamanho), taxa de
contratação e demissão, capacidade e
motivação pessoal ao longo do tempo,
afinidades entre desenvolvedores, freqüência da
produção de releases, etc.
Variáveis de resultado: esforço/custo, tempo de
duração, nível de defeito, custo/benefício,
produtividade, etc.
Simulação de Processos de
Software (6/10)
44. Simulação de Processos de
Software (7/10)
Principais tipos de simulação:
Discreta:
Variáveis inalteradas ao longo de intervalos de tempo e
mudam seus valores somente em momentos bem
definidos
Mais utilizada para verificação de escalonamento de
processos
45. Simulação de Processos de
Software (8/10)
Principais tipos de simulação (Cont.):
Contínua:
Valores das variáveis podem mudar continuamente
ao longo do tempo
46. Simulação de Processos de
Software (9/10)
Principais tipos de simulação (Cont.):
Baseada em conhecimento:
Raciocínio de acordo com padrões
armazenados
Suprir com a maior quantidade possível de
informação sobre o domínio
Agentes Inteligentes simulam
comportamento dos desenvolvedores
Simulação baseada em experiências, lições
aprendidas, habilidades, etc.
47. Simulação de Processos de
Software (10/10)
Requisitos importantes para ferramentas de
simulação de processos de software:
Suporte à prévia avaliação do processo instanciado
Configurável para diferentes processos e escopos
Simulação visual, animada e interativa
Informações textuais complementares
Reportagem simultânea de resultados
Suporte à simulação realizada de forma progressiva
e dinâmica
Simulação baseada em conhecimento (experiências,
lições aprendidas, habilidades, etc)
48. Simulação X SPEM (1/3)
SPEM é uma linguagem com bastante
recursos, padrão, porém, trata-se de uma
notação gráfica não-executável
SPEM representa graficamente os
componentes do processo, mas não existe
lógica definindo o relacionamento entre os
mesmos.
A Simulação de processos pode ser
realizada somente em modelos executáveis
Solução: criação de mecanismos de
mapeamento...
49. Simulação X SPEM (2/3)
APES2:
Ferramenta free e open-source criada
por estudantes na IUP ISI –Universidade
de Toulouse, França, 2003
Validação e Automação do modelo
definido na linguagem SPEM
Geração de XML correspondente ao
modelo gráfico definido
Vasta documentação
50. Simulação X SPEM (3/3)
APES2 define todos os relacionamentos
entre os componentes do processo. Ex:
composição de atividades, ordem de
execução de atividades, etc.
Cada componente possui um estado
(esperando, pronto, ativo, parado,
completo) utilizado pelo simulador para
controle do processo
SPEM + APES2: modelo de processo
facilmente entendível e executável
51. Conclusões (1/2)
Qualidade do produto de software está
ligada ao processo de geração do mesmo.
Ambientes PSEE são de fundamental
importância para o cenário de definição,
acompanhamento e aperfeiçoamento de
processos
A Modelagem de processos é um recurso
valioso, que deve ser utilizado pois:
“Força” a documentação do processo
Facilita a visualização do processo e sua
“divulgação” e entendimento pelos membros da
organização
52. Conclusões (2/2)
A linguagem SPEM define um padrão de fácil
utilização e visualização (familiarizados com UML)
A simulação de processos de software é um grande
recurso para análise e validação do modelo
proposto antes de sua institucionalização na
organização, permitindo:
Entendimento, aprendizado e treinamento do processo
Aperfeiçoamento dos modelos construídos
O modelo deve refletir a realidade...
Muitos ambientes não se preocupam com a
definição de características específicas da
organização
53. Referências (1/1)
[Acuña, 2001]: ACUÑA, S. T.; FERRÉ, X. Software Process Modelling. In: WORLD
MULTICONFERENCE ON SYSTEMICS, CIBERNETICS AND INFORMATICS, 5., 2001,
Orlando, EUA. Proceedings... Orlando, EUA: 2001. p. 1-6. Disponível em:
<http://is.ls.fi.upm.es/udis/miembros/xavier/papers/processmodelling.pdf>. Acesso em: 11
Out. 2005.
[Bertollo, 2002]: ODE – Um Ambiente de Desenvolvimento de Software Baseado em
Ontologias. In: SIMPOSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE, 4., 2002,
Gramado, Brasil. Anais... Gramado, Brasil: 2002.
[Hoover, 1989]: Hoover, S., Perry, R. Simulation a problem-solving approach,
Reading, Massachusetts: Addison-Wesley, 1989.
[Pressman,2002]: Pressman, R., Engenharia de Software, São Paulo: Makron Books,
2002.
54. Bibliografia (1/3)
A FRAMEWORK FOR EVALUATING PROCESS MODELLING LANGUAGES FOR
DISTRIBUTED ENVIRONMENTS. Disponível em:< www.idi.ntnu.no/grupper/su/
publ/alfw/sea2005-distributed-pml.pdf >. Acesso em: 11 Out. 2005.
ABDALA, M. A. D. et al. Utilizando SPEM para a Modelagem dos Processos da
Qualidade e do Gerenciamento da Configuração em um Ambiente Integrado. In:
SIMPOSIO INTERNACIONAL DE MELHORIA DE PROCESSO DE SOFTWARE, 5.,
2003, Recife, Brasil. Anais… Recife, Brasil.
ARAUJO, R.M. Construção Gráfica de Processos de Desenvolvimento e Geração de
uma Ontologia de Processos de Software. 2005. 73 p. Monografia (Graduação em
Ciências da Computação) - Universidade Federal de Pernambuco, Recife.
BERTOLLO, G.; FALBO, R. A. Apoio Automatizado à Definição de Processos de
Software em Níveis. In SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE, 2.,
2003, Fortaleza, Brasil. Anais... Fortaleza, Brasil: 2003.
CHRISTIE, A. M. Simulation: An Enabling Technology in Software Engineering.
Crosstalk: The Journal of Defense Software Engineering, p. 25-30, April 1999
55. Bibliografia (2/3)
KELLNER, M. I.; MADACHY, R. J.; RAFFO, D. M. Software Process Simulation Modeling:
Why? What? How?. The Journal of Systems and Software, v. 46, n. 02/03, p. 1-18,
April 1999.
MARTINS, P. V.; SILVA, A. R. da. Comparação de Metamodelos de Processos de
Desenvolvimento de Software. In: CONFERENCE FOR QUALITY IN INFORMATION
AND COMMUNICATIONS TECHNOLOGY, 5., 2004, Porto, Portugal. Proceedings...
Porto, Portugal. Disponível em:<berlin.inesc-id.pt/alb/static/papers/2004/pv-
quatic2004.pdf>. Acesso em: 11 Out. 2005.
MENDES, R.C. Modelagem e Avaliação do CMMI no SPEM para Definição de um
Meta-Processo de Software. 2005. 83 p. Monografia (Graduação em Ciências da
Computação) - Universidade Federal de Pernambuco, Recife.
MURTA, L.G. P.; BARROS, M. de O.; WERNER C. M. L. Charon: Uma máquina de
Processos Extensível Baseada em Agentes Inteligentes. In: WORKSHOP IBERO-
AMERICANO DE ENGENHARIA DE REQUISITOS E AMBIENTES DE SOFTWARE, 5.,
2002, Havana, Cuba. Proceedings... Havana, Cuba: 2002. Disponivel em: <
https://sety.cos.ufrj.br/prometeus/ publicacoes/ideas2002-paper80.pdf>. Acesso em: 11
Out. 2005.
OLIVEIRA, S. R. B; VASCONCELOS, A. M. L.; ROUILLER, A. C. Uma Proposta de um
Ambiente de Implementação de Processo de Software. INFOCOMP Journal of
Computer Science, v. 4, n. 01, p. 70-77, Março 2005. Disponível em:
<http://www.dcc.ufla.br/infocomp/artigos/v4.1/art09.pdf> Acesso em: 11 Out. 2005.
56. Bibliografia (3/3)
OMG. Software Process Engineering Metamodel Specification, v.1.1, January 2005.
SCACCHI, W. Understanding Software Process Redesign using Modeling, Analysis and
Simulation. Software Process Improvement and Practice, v. 5, n. 01, p. 183-195,
March 2000.
SILVA, F.A. das D. et al. Um Modelo de Simulação de Processos de Software Baseado
em Agentes Cooperativos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE
SOFTWARE, 13., 1999, Florianópolis, Brasil. Anais... Florianópolis, Brasil: 1999.
SILVA, F.A. das D. Um Modelo de Simulação de Processos de Software Baseado em
Conhecimento para o Ambiente PROSOFT. 2001. 124 p. Dissertação (Mestrado em
Informática) - Universidade Federal do Rio Grande do Sul, Porto Alegre.
WICKENGERG, T.; DAVIDSSON, P. On Multi Agent Based Simulation of Software
Development Processes. In: INTERNATIONAL WORKSHOP ON MULTI-AGENT
SYSTEMS AND AGENT-BASED SIMULATION, 3., 2002, Bologna, Italy. Proceedings...
Bologna, Italy. p. 171-180. Disponível em: <
www.ide.bth.se/~pdv/Papers/MABS2002.pdf>. Acesso em: 11 Out. 2005.