O documento apresenta a modelagem de domínio para uma linha de produtos de software para gestão de crises em diferentes modalidades de transporte. Apresenta as premissas estabelecidas para a modelagem, incluindo a formação de uma equipe multidisciplinar e a realização da análise de contexto. Também descreve os modelos de domínio produzidos, identificando requisitos comuns e variantes para a linha de produtos, bem como os stakeholders e usuários comuns.
Proposta para especificação de histórias de usuários alinhadas a IEEE 830André Agostinho
Uma proposta para especificação de user stories utilizando a engenharia centrada a uso e criando especificações de requisitos alinhadas a prática a IEEE 830. A proposta considera ainda o uso da metodologia ágil Scrum e da técnica BDD para testar e validar user stories, além de fornecer living documentation para e equipe de desenvolvimento e do cliente.
1. O documento apresenta Paulo Furtado como professor e fornece informações sobre suas disciplinas de levantamento de requisitos. 2. É discutido o que a disciplina ensina e não ensina, com foco em questionar a forma atual de identificação de requisitos e priorizar a priorização. 3. A primeira aula trata de conceitos iniciais como visão de produto, evolução, processos cognitivos e aprendizado.
Este documento apresenta uma técnica chamada JAD (Joint Application Design) para levantamento de requisitos de software. Inicialmente, ele discute problemas comuns no processo de elicitação de requisitos, como a comunicação deficiente entre usuários e desenvolvedores. Em seguida, introduz a pirâmide de requisitos e algumas técnicas tradicionais de elicitação como entrevistas e brainstorming. Finalmente, apresenta a técnica JAD em mais detalhes.
O documento discute modelos conceituais, definindo-os como descrições do sistema proposto em termos de idéias e conceitos integrados sobre o que ele deve fazer e como deve se comportar. O documento também apresenta três tipos de modelos conceituais: baseados em atividades, objetos e metáforas.
Este documento discute diferentes tipos de protótipos e suas aplicações. Ele explica como protótipos em papel, modelos de volume, encenações, storyboards e protótipos de serviços podem ser usados para tangibilizar ideias, validar soluções com usuários e aprimorar projetos de forma iterativa.
O documento discute o design centrado no usuário, definindo design como a especificação de um objeto para atingir metas considerando requisitos e restrições. Apresenta especializações do design como design de interação, interfaces e informação. Define requisitos como condições necessárias para atender usuários e metas do projeto, vindos de pesquisas com usuários, análises de necessidades e definição de cenários e fluxos de tarefas.
O documento discute princípios de usabilidade e experiência do usuário, incluindo definições de usabilidade, onde se aplica, diretrizes e elementos de interface. É destacada a importância da arquitetura da informação e de técnicas de avaliação como questionários e card sorting para garantir uma boa experiência do usuário.
O documento discute técnicas de prototipagem rápidas, especificamente protótipos em papel. Estes permitem testar designs de forma barata e rápida nos primeiros estágios do processo de design. Protótipos em papel podem avaliar a navegação, layout, fluxo de telas e outros elementos importantes de um projeto antes de investir em um protótipo digital. O documento fornece diretrizes para criar protótipos em papel e usar esta técnica de forma efetiva.
Proposta para especificação de histórias de usuários alinhadas a IEEE 830André Agostinho
Uma proposta para especificação de user stories utilizando a engenharia centrada a uso e criando especificações de requisitos alinhadas a prática a IEEE 830. A proposta considera ainda o uso da metodologia ágil Scrum e da técnica BDD para testar e validar user stories, além de fornecer living documentation para e equipe de desenvolvimento e do cliente.
1. O documento apresenta Paulo Furtado como professor e fornece informações sobre suas disciplinas de levantamento de requisitos. 2. É discutido o que a disciplina ensina e não ensina, com foco em questionar a forma atual de identificação de requisitos e priorizar a priorização. 3. A primeira aula trata de conceitos iniciais como visão de produto, evolução, processos cognitivos e aprendizado.
Este documento apresenta uma técnica chamada JAD (Joint Application Design) para levantamento de requisitos de software. Inicialmente, ele discute problemas comuns no processo de elicitação de requisitos, como a comunicação deficiente entre usuários e desenvolvedores. Em seguida, introduz a pirâmide de requisitos e algumas técnicas tradicionais de elicitação como entrevistas e brainstorming. Finalmente, apresenta a técnica JAD em mais detalhes.
O documento discute modelos conceituais, definindo-os como descrições do sistema proposto em termos de idéias e conceitos integrados sobre o que ele deve fazer e como deve se comportar. O documento também apresenta três tipos de modelos conceituais: baseados em atividades, objetos e metáforas.
Este documento discute diferentes tipos de protótipos e suas aplicações. Ele explica como protótipos em papel, modelos de volume, encenações, storyboards e protótipos de serviços podem ser usados para tangibilizar ideias, validar soluções com usuários e aprimorar projetos de forma iterativa.
O documento discute o design centrado no usuário, definindo design como a especificação de um objeto para atingir metas considerando requisitos e restrições. Apresenta especializações do design como design de interação, interfaces e informação. Define requisitos como condições necessárias para atender usuários e metas do projeto, vindos de pesquisas com usuários, análises de necessidades e definição de cenários e fluxos de tarefas.
O documento discute princípios de usabilidade e experiência do usuário, incluindo definições de usabilidade, onde se aplica, diretrizes e elementos de interface. É destacada a importância da arquitetura da informação e de técnicas de avaliação como questionários e card sorting para garantir uma boa experiência do usuário.
O documento discute técnicas de prototipagem rápidas, especificamente protótipos em papel. Estes permitem testar designs de forma barata e rápida nos primeiros estágios do processo de design. Protótipos em papel podem avaliar a navegação, layout, fluxo de telas e outros elementos importantes de um projeto antes de investir em um protótipo digital. O documento fornece diretrizes para criar protótipos em papel e usar esta técnica de forma efetiva.
Rodrigo Branas tem experiência em desenvolvimento Java, gerenciamento de projetos e certificações. Ele trabalhou para várias empresas e ministrou treinamentos sobre diversos tópicos de tecnologia.
O documento discute a análise de requisitos de software, incluindo: (1) a importância da elicitação correta de requisitos, (2) as definições de requisitos e os stakeholders envolvidos, (3) os desafios da elicitação de requisitos e as técnicas recomendadas para superá-los.
Este documento discute métodos e técnicas de avaliação no design de interação, incluindo avaliações analíticas e empíricas. Ele também aborda o planejamento de avaliações no processo iterativo de design, com avaliações formativas e somativas. Finalmente, destaca os benefícios das avaliações para desenvolvedores, clientes e usuários.
Quero ser analista de requisitos ou negócios. Por onde eu começo? Venícios Gustavo
Este documento fornece conselhos e orientações para quem deseja se tornar um analista de requisitos ou negócios. Ele discute as experiências e qualificações do autor, incluindo sua formação acadêmica e experiência profissional. Também explica os papéis e responsabilidades de um analista de negócios e a importância da engenharia de software e comunicação nesta profissão. Por fim, lista certificações disponíveis e dicas para ter sucesso no mercado.
O documento descreve as etapas de um projeto informacional, incluindo atualizar o plano do projeto, revisar o escopo do produto e detalhar o ciclo de vida. O objetivo é desenvolver especificações para um novo produto a partir de informações coletadas.
O documento discute as etapas de um projeto informacional, incluindo: (1) definir o ciclo de vida do projeto em espiral, (2) identificar os requisitos dos clientes usando o diagrama de Kano, e (3) definir especificações técnicas dos requisitos dos clientes usando a técnica QFD.
O documento apresenta uma introdução ao Design Thinking, definindo-o como uma metodologia centrada no usuário que utiliza ferramentas dos designers para integrar as necessidades das pessoas, possibilidades da tecnologia e requisitos de negócios. O processo inclui etapas de empatia, definição, ideação, prototipação e testes para desenvolver soluções inovadoras com foco no usuário. Exemplos de ferramentas são entrevistas, mapas conceituais e brainstorming.
Arquivo utilizado em palestra ministrada na UFMG (Universidade Federal de Minas Gerais) na Escola de Ciência da Informação aos alunos da especialização em Gestão Estratégica da Informação. (em 04/04/2011)
O documento discute o papel do arquiteto de software, incluindo a definição de arquitetura de software e estilos arquiteturais. Também aborda a descrição de arquiteturas usando linguagens como ADL e o papel importante do arquiteto de software no projeto de sistemas.
O documento discute conceitos e tipos de prototipagem, incluindo: (1) protótipos simulam a aparência e funcionalidade de um produto em desenvolvimento; (2) existem protótipos de baixa, média e alta fidelidade; (3) o processo de prototipagem envolve desenvolver um modelo conceitual, protótipo e avaliação cíclica.
Este artigo discute a importância de realizar testes de segurança em aplicações web. Apresenta as falhas de segurança mais comuns na internet, como invasões de sites e vazamentos de dados. Também mostra extensões do Firefox e ferramentas que auxiliam nos testes de segurança, diminuindo a probabilidade de um software ser lançado com falhas críticas nessa área.
Este documento fornece um resumo sobre projeto de software, abordando tópicos como:
1) Definição de projeto de software e sua importância no ciclo de vida do desenvolvimento;
2) Processo de projeto, incluindo modelos estruturado e orientado a objetos;
3) Conceitos fundamentais como abstração, modularidade e padrões;
4) Técnicas como refatoração e estruturação em camadas e MVC.
O documento discute o desenho de componentes de software utilizando a UML. É abordado as principais técnicas, ferramentas e melhores práticas para desenho de componentes de software, incluindo componentes, reúso de software, diagramas de componentes e de deployment na UML, e um estudo de caso para identificar componentes de software. A apresentação é recomendada para arquitetos de software e outros envolvidos no desenvolvimento de software.
O documento discute protótipos de papel para comunicar interações. Apresenta que protótipos simulam produtos em desenvolvimento e permitem avaliação por usuários e desenvolvedores. Descreve três tipos de protótipos - horizontal, vertical e de cenário - e explica que podem ser estáticos em papel ou interativos em aplicativos.
O documento discute a introdução do RUP e UML. Resume os principais conceitos do RUP como um processo de engenharia de software iterativo e disciplinado e como a UML é usada para modelagem visual no RUP.
Este documento discute a importância do teste de software e apresenta uma estratégia para gerar casos de teste a partir de casos de uso especificados para um projeto. Além disso, resume seis artigos incluídos nesta edição sobre testes com objetos mock, visualização de informação, melhoria de processos de software, arquitetura de software, usabilidade e gerenciamento de projetos e riscos.
O documento discute diferentes tipos de protótipos para testes de usabilidade de aplicativos móveis, incluindo protótipos em papel, wireframes navegáveis, wireframes em movimento e protótipos HTML. Vários exemplos destacam a importância de testar com usuários reais e obter feedback para melhorar continuamente o design.
O documento discute a técnica de estimativas ágeis chamada Planning Poker, que permite que uma equipe de desenvolvimento chegue a estimativas compartilhadas sobre o esforço necessário para entregar funcionalidades de software. A técnica usa cartas com pontos para que cada membro da equipe vote secretamente sobre a complexidade de uma tarefa, permitindo um debate sobre os votos para se chegar a um consenso.
Trabalho acadêmico com a finalidade de apresentar a prototipação de software, como auxílio no levantamento e esclarecimento de requisitos presentes em projeto de software.
Tema muito abordado, e utilizado não só em projetos de softwares, mas em todo meio, pois a facilitação ou entendimento de um negócio não esclarecido através da prototipação é de tamanha importância. Diante, apresento formas, tipos e classificações de protótipos para a produção de um software que retrata uma necessidade, ou um "mundo" há ser analisado.
Orientado pelo Professor Aldo Moura, presente na Faculdade UNIBRATEC para o curso de Análise e Desenvolvimento de Sistemas.
O documento discute as etapas iniciais de planejamento de um projeto, incluindo a definição do escopo do produto e do projeto, identificação de partes interessadas e adaptação de um modelo de referência.
O documento introduz os principais conceitos de lógica e lógica de programação. Em particular, define o que é lógica, explora os princípios da lógica clássica e diferentes tipos de lógicas. Também define o que é lógica de programação e conceitos-chave como operadores lógicos, algoritmos e fluxogramas.
Khaled Nazzal successfully completed the Equity Exam for the Bloomberg Essentials Training Program in March 2016. The document acknowledges Khaled Nazzal's completion of the exam, which was part of the Bloomberg Essentials Training Program. Tom Secunda of Bloomberg congratulated Khaled Nazzal on completing the exam.
Rodrigo Branas tem experiência em desenvolvimento Java, gerenciamento de projetos e certificações. Ele trabalhou para várias empresas e ministrou treinamentos sobre diversos tópicos de tecnologia.
O documento discute a análise de requisitos de software, incluindo: (1) a importância da elicitação correta de requisitos, (2) as definições de requisitos e os stakeholders envolvidos, (3) os desafios da elicitação de requisitos e as técnicas recomendadas para superá-los.
Este documento discute métodos e técnicas de avaliação no design de interação, incluindo avaliações analíticas e empíricas. Ele também aborda o planejamento de avaliações no processo iterativo de design, com avaliações formativas e somativas. Finalmente, destaca os benefícios das avaliações para desenvolvedores, clientes e usuários.
Quero ser analista de requisitos ou negócios. Por onde eu começo? Venícios Gustavo
Este documento fornece conselhos e orientações para quem deseja se tornar um analista de requisitos ou negócios. Ele discute as experiências e qualificações do autor, incluindo sua formação acadêmica e experiência profissional. Também explica os papéis e responsabilidades de um analista de negócios e a importância da engenharia de software e comunicação nesta profissão. Por fim, lista certificações disponíveis e dicas para ter sucesso no mercado.
O documento descreve as etapas de um projeto informacional, incluindo atualizar o plano do projeto, revisar o escopo do produto e detalhar o ciclo de vida. O objetivo é desenvolver especificações para um novo produto a partir de informações coletadas.
O documento discute as etapas de um projeto informacional, incluindo: (1) definir o ciclo de vida do projeto em espiral, (2) identificar os requisitos dos clientes usando o diagrama de Kano, e (3) definir especificações técnicas dos requisitos dos clientes usando a técnica QFD.
O documento apresenta uma introdução ao Design Thinking, definindo-o como uma metodologia centrada no usuário que utiliza ferramentas dos designers para integrar as necessidades das pessoas, possibilidades da tecnologia e requisitos de negócios. O processo inclui etapas de empatia, definição, ideação, prototipação e testes para desenvolver soluções inovadoras com foco no usuário. Exemplos de ferramentas são entrevistas, mapas conceituais e brainstorming.
Arquivo utilizado em palestra ministrada na UFMG (Universidade Federal de Minas Gerais) na Escola de Ciência da Informação aos alunos da especialização em Gestão Estratégica da Informação. (em 04/04/2011)
O documento discute o papel do arquiteto de software, incluindo a definição de arquitetura de software e estilos arquiteturais. Também aborda a descrição de arquiteturas usando linguagens como ADL e o papel importante do arquiteto de software no projeto de sistemas.
O documento discute conceitos e tipos de prototipagem, incluindo: (1) protótipos simulam a aparência e funcionalidade de um produto em desenvolvimento; (2) existem protótipos de baixa, média e alta fidelidade; (3) o processo de prototipagem envolve desenvolver um modelo conceitual, protótipo e avaliação cíclica.
Este artigo discute a importância de realizar testes de segurança em aplicações web. Apresenta as falhas de segurança mais comuns na internet, como invasões de sites e vazamentos de dados. Também mostra extensões do Firefox e ferramentas que auxiliam nos testes de segurança, diminuindo a probabilidade de um software ser lançado com falhas críticas nessa área.
Este documento fornece um resumo sobre projeto de software, abordando tópicos como:
1) Definição de projeto de software e sua importância no ciclo de vida do desenvolvimento;
2) Processo de projeto, incluindo modelos estruturado e orientado a objetos;
3) Conceitos fundamentais como abstração, modularidade e padrões;
4) Técnicas como refatoração e estruturação em camadas e MVC.
O documento discute o desenho de componentes de software utilizando a UML. É abordado as principais técnicas, ferramentas e melhores práticas para desenho de componentes de software, incluindo componentes, reúso de software, diagramas de componentes e de deployment na UML, e um estudo de caso para identificar componentes de software. A apresentação é recomendada para arquitetos de software e outros envolvidos no desenvolvimento de software.
O documento discute protótipos de papel para comunicar interações. Apresenta que protótipos simulam produtos em desenvolvimento e permitem avaliação por usuários e desenvolvedores. Descreve três tipos de protótipos - horizontal, vertical e de cenário - e explica que podem ser estáticos em papel ou interativos em aplicativos.
O documento discute a introdução do RUP e UML. Resume os principais conceitos do RUP como um processo de engenharia de software iterativo e disciplinado e como a UML é usada para modelagem visual no RUP.
Este documento discute a importância do teste de software e apresenta uma estratégia para gerar casos de teste a partir de casos de uso especificados para um projeto. Além disso, resume seis artigos incluídos nesta edição sobre testes com objetos mock, visualização de informação, melhoria de processos de software, arquitetura de software, usabilidade e gerenciamento de projetos e riscos.
O documento discute diferentes tipos de protótipos para testes de usabilidade de aplicativos móveis, incluindo protótipos em papel, wireframes navegáveis, wireframes em movimento e protótipos HTML. Vários exemplos destacam a importância de testar com usuários reais e obter feedback para melhorar continuamente o design.
O documento discute a técnica de estimativas ágeis chamada Planning Poker, que permite que uma equipe de desenvolvimento chegue a estimativas compartilhadas sobre o esforço necessário para entregar funcionalidades de software. A técnica usa cartas com pontos para que cada membro da equipe vote secretamente sobre a complexidade de uma tarefa, permitindo um debate sobre os votos para se chegar a um consenso.
Trabalho acadêmico com a finalidade de apresentar a prototipação de software, como auxílio no levantamento e esclarecimento de requisitos presentes em projeto de software.
Tema muito abordado, e utilizado não só em projetos de softwares, mas em todo meio, pois a facilitação ou entendimento de um negócio não esclarecido através da prototipação é de tamanha importância. Diante, apresento formas, tipos e classificações de protótipos para a produção de um software que retrata uma necessidade, ou um "mundo" há ser analisado.
Orientado pelo Professor Aldo Moura, presente na Faculdade UNIBRATEC para o curso de Análise e Desenvolvimento de Sistemas.
O documento discute as etapas iniciais de planejamento de um projeto, incluindo a definição do escopo do produto e do projeto, identificação de partes interessadas e adaptação de um modelo de referência.
O documento introduz os principais conceitos de lógica e lógica de programação. Em particular, define o que é lógica, explora os princípios da lógica clássica e diferentes tipos de lógicas. Também define o que é lógica de programação e conceitos-chave como operadores lógicos, algoritmos e fluxogramas.
Khaled Nazzal successfully completed the Equity Exam for the Bloomberg Essentials Training Program in March 2016. The document acknowledges Khaled Nazzal's completion of the exam, which was part of the Bloomberg Essentials Training Program. Tom Secunda of Bloomberg congratulated Khaled Nazzal on completing the exam.
Introdução para iniciantes sobre a plataforma Arduino.
Nessa introdução eu mostro alguns esquemas elétricos básicos para você ir montando na protoboard e ir acompanhando os exemplos que são mostrados.
Você pode acompanhar a leitura desse slide no youtube: https://www.youtube.com/watch?v=Xv-oT41FIRQ
O documento apresenta uma introdução ao Arduino, abordando conceitos básicos de eletrônica como esquemático, leis de Ohm e protoboard. Em seguida, explica os principais comandos e projetos possíveis com a placa Arduino, como fazer um LED piscar, leitura de potenciômetro e LDR, controle de motor CC e buzzer. Por fim, introduz o software Processing, mostrando como se conecta ao Arduino para desenvolvimento de projetos gráficos e interativos.
The document contains the results of 4 logic exercises involving statements connected by logic operators like conjunction (˄), disjunction (˅), implication (→), biconditional (↔), and negation (~). For each exercise, the values of 5 variables (p, q, r, s, t) are listed that would make the statement true according to the rules of logic.
O documento discute ORM (Object Relational Mapping), definindo-o como uma técnica para mapear objetos e dados relacionais. Ele descreve o problema de mapear tipos não escalares de linguagens orientadas a objetos para tipos escalares de SQL. Em seguida, apresenta Hibernate, NHibernate e Fluent NHibernate como soluções ORM para .NET, e fornece instruções passo a passo para começar a usar Fluent NHibernate em um projeto C#.
Avaliação Heurística de Aplicativos de Bateria para Windows PhoneAndré Agostinho
O documento descreve uma avaliação heurística de aplicativos de gerenciamento de bateria para Windows Phone, apresentando as interfaces e funcionalidades dos aplicativos Battery Advisor Booster Saver Doctor e Battery Pro +.
Mapeando processos de negócios com Zackman Framework e SBVRAndré Agostinho
Este documento apresenta os detalhes de uma apresentação sobre engenharia de software realizada por três estudantes. Apresenta os temas abordados, incluindo quadros de referência para engenharia de software e regras de negócio e requisitos de software. Fornece exemplos de um sistema de monitoramento de acúmulo de águas pluviais em estradas para ilustrar os conceitos, incluindo stakeholders, estrutura do sistema, modelo de dados e regras de negócio definidas usando SBVR.
A proposal to combine elicitation techniques to write vision document and use...André Agostinho
Analyse a proposal to combine elicitation techniques to write vision document and use cases specifications. The results obtained from this study showed that the combination of selected techniques can generate effectively a vision document and use case specifications and align them to Scrum methodology by product backlog generation and user story derived from use cases.
Palestrante: Emerson Castelano – Eccox
Tradicionalmente, as empresas utilizam múltiplas ferramentas de automação de workload enquanto os cenários de TI e os requisitos de negócios mudam rapidamente. Para atendimento à TI Bimodal a automação do workload fica dividida para atendimento à TI tradicional (Modo 1) e a ágil (Modo 2) com o desafio de executar e automatizar o workload para atendimento aos dois modos: confiável e ágil. A implementação de uma automação end-to-end e o planejamento contínuo de liberação de jobs no ambiente de produção tem um papel importante para atingir-se esse objetivo.
O documento discute a utilização da computação em nuvem para garantir a continuidade dos negócios através da tolerância a desastres. Ele apresenta métodos de pesquisa sobre replicação de dados em nuvens públicas e privadas usando point-in-time para recuperação de dados após incidentes. Também analisa cenários de falhas e a definição de parâmetros como Recovery Point Objective (RPO) para alinhar a tecnologia às necessidades do negócio.
O documento discute estruturas de controle em PHP, como if/else para tomar decisões baseadas em condições lógicas, switch/case para executar código com base em diferentes valores de variáveis, e while/for para executar código em laços de repetição até que uma condição seja falsa.
Este documento fornece uma visão geral do framework Scrum, descrevendo seus principais conceitos como papéis, eventos, artefatos e valores ágeis. O Scrum é indicado para equipes pequenas que precisam de flexibilidade e agilidade para entregar incrementos frequentes de um produto complexo.
Palestrante: Luiz Carlos Orsoni - MAFFEI
A partir das z990 (T-Rex, em 2.003), os Mainframes da Série z passaram a ser Super Escalares, ou seja, capazes de executar mais de uma Instrução por Ciclo. Embora sejam indiscutivelmente capazes, isto não significa que sempre executarão mais do que uma Instrução por Ciclo, podendo não executar nenhuma! Como já enfatizamos em vezes anteriores, isto é extremamente dependente da qualidade do Software e de outras atividades que ocorram simultaneamente nos CECs. Esta palestra procurará aclarar os conceitos envolvidos, tendo como exemplos os detalhes internos das z13, capazes de executar até dez Instruções por Ciclo.
Palestrante: Álvaro Guimarães Salla - MAFFEI
Fascina-me a frase: “As mentiras do ontem, um dia se cansam de o ser, e se transformam nas verdades de hoje”. Veja, por exemplo, na política brasileira... Lembro-me, ainda jovem (sim, eu o fui), mostrando às pessoas do Banco do Brasil (mais jovens ainda), recém-chegadas das agências, que computador não era um cérebro eletrônico. O ano que estávamos (ou ele que estava?) era 1.969. Depois de alguma falsa erudição, eu concluía sem brilhantismo, a meio do pasmo geral, que uma CPU não pode executar dois programas ao mesmo tempo. Após algum sofrimento causadopelosconceitosnovos,aideiaeraentendidaesetransformavaemverdadeeternaesólida. Anosmais tarde, o primeiro MP65 com as suas duas corpulentas CPUs. Os mesmos alunos e toca a explicar como garantir a integridade dos dados compartilhados por elas na memória. Eu dizia enfático: “Isso é uma responsabilidade do sistema operacional, implementado via locks e latches”. Mais uma verdade eterna e sólida se construía e era enfiada goela abaixo da anoréxica plateia. But, time went by... Então, no dia 18 de Maio próximo, esta pessoa que vos escreve (agora bem velha), irá subir ao púlpito do CMG para humildemente repetir a frase inicial deste texto e depois dizer: “Sim senhores (as), a função Simultaneous Multithreading do z13 nega a primeira eterna e sólida verdade e a função Transactional Execution Facility (zEC12 e z13) nega a segunda eterna e sólida verdade”. No passado, terminei chamadas para o CMG como esta, com o lugar comum: “Não Perca”... Agora, não sei... Talvez eu diga “Perca...”, mas ao menos você sabe o que estará deixando de ganhar, isto é, mais duas eternas e sólidas verdades...
O documento compara treinamento supervisionado e não supervisionado em sistemas de detecção de intrusão baseados em anomalias. O estudo mostra que o treinamento supervisionado teve melhores resultados em taxas de detecção e falsos positivos, demonstrando que os limites dos grupos são mais consistentes com treinamento supervisionado.
Palestrante: Etéocles da Silva Cavalcanti
Não é um assunto novo e nem uma novidade, mas ... modelos de filas são ferramentas importantes para os profissionais que atuam na área de Capacity Planning e estão cada vez mais inseridos em muitos produtos e ferramentas, mas ... quando modelos analíticos estão disponíveis para serem utilizados, tornam-se um problema sério pelo fato de há uma barreira quanto do seu uso e seus resultados, normalmente por falta de conhecimento, conceitos, premissas, métricas estatísticas e sobre os modelos. Esse assunto realmente tem uma complexidade teórica estatística muito alta e se entramos nos detalhes teóricos passamos a temer sobre seu uso e resultados. O objetivo é apresentar de uma forma simples e direta que modelagem analítica é ainda uma ferramenta importante e que devemos e podemos utilizá-la melhor se tivermos conhecimento melhor do seu uso e seus resultados. A simples construção de ferramentas que calcule todas as métricas estatísticas dos componentes de um sistema de fila, gera a oportunidade de realizarmos simulações com pequenas mudanças de parâmetros. Nos estudos de capacidade a utilização de teoria das filas passam a ter mais consistência e sua flexibilidade nas análises e/ou questionamentos complexos trazem respostas rápidas e consistentes aos nossos gestores na tomada de decisão.
O documento apresenta um estudo de caso sobre o uso da Internet das Coisas (IoT) para economia de energia em residências. O projeto monitora o consumo de energia de eletrodomésticos por meio de sensores e permite o desligamento remoto desses aparelhos via página web, reduzindo o desperdício de energia. Os resultados indicaram uma queda significativa no consumo após a implementação do sistema proposto.
O documento descreve problemas com o desenvolvimento de software tradicional e o surgimento de métodos ágeis como Scrum para resolver esses problemas. Aborda os princípios do Manifesto Ágil, as origens e processos do Scrum, incluindo papéis, cerimônias e resultados esperados com sua adoção.
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...André Agostinho
Projeto de IHC - Mestrado Profissional IPT
Desenvolvimento de um aplicativo para mobilidade utilizando como abordagem o Ciclo de Engenharia de Usabilidade Mayhew (Deborah Mayhew)
Mobile App development using Mayhew's Engineering Usability Cycle
O documento descreve diferentes modelos de processo de software, incluindo o modelo cascata, modelo de prototipação, modelo RAD e modelos evolutivos como o incremental e o espiral. Os modelos visam fornecer representações simplificadas dos processos de desenvolvimento de software.
Este documento apresenta o professor Rodrigo Gomes da Silva e seu seminário sobre o Processo Iterativo com RUP. Ele fornece seus contatos, certificações, formação acadêmica e experiência profissional, além da agenda do seminário, que inclui tópicos como sintomas de problemas em desenvolvimento de software, as melhores práticas da engenharia de software, princípios do desenvolvimento iterativo, o processo RUP e suas fases, disciplinas, papéis e artefatos.
O documento apresenta o Rational Unified Process (RUP) como um modelo de processo de software iterativo e incremental derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software. O RUP divide o projeto em concepção, elaboração, construção e transição, produzindo artefatos em cada fase. Ele também descreve workflows como atividades que ocorrem durante o desenvolvimento e a abordagem do RUP implementada pela IBM.
Frameworks da web - Uma ferramenta de reutilização de softwareThomas Kanzig
O documento discute frameworks web, definindo-os como conjuntos de classes reutilizáveis para desenvolvimento de aplicações web. Apresenta suas características como modularidade, reusabilidade e extensibilidade. Discutem-se também os papéis envolvidos em seu uso e desenvolvimento, além de exemplos como CakePHP.
O documento fornece uma visão geral do Rational Unified Process (RUP), incluindo suas principais características como seis práticas comprovadamente efetivas, dimensões temporal e espacial, quatro fases, nove fluxos de trabalho e ferramentas de automação.
Este documento resume um curso sobre sistemas e aplicações multimídia. Discute conceitos como autoria de sites, padrão XML, projetos multimídia e ciclo de vida de projetos. Explica como um documento XML é validado através de um esquema e como projetos multimídia envolvem formação de equipe, direitos autorais e fases como ativação, especificação e desenvolvimento.
Este documento resume um curso sobre sistemas e aplicações multimídia. Discute tópicos como autoria de sites, padrão XML, projetos multimídia, formação de equipes de projeto e ciclo de vida de projetos multimídia.
Este documento descreve uma metodologia para desenvolvimento de sistemas de informação baseados em orientação a objetos. A metodologia inclui etapas como levantamento de requisitos, modelagem de casos de uso, desenvolvimento de modelos conceituais de classes e diagramas de estado. O objetivo é apresentar métodos e técnicas para produzir sistemas de informação eficientes e eficazes.
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.
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREEdson Oliveira Junior
Este documento apresenta um estudo sobre gerenciamento de variabilidades em linhas de processo de software. Ele propõe uma abordagem chamada SMartySPEM que combina as abordagens SMarty e SPEM 2.0 para representar variabilidades em linhas de processo utilizando a notação UML. O documento também descreve uma revisão sistemática realizada sobre o tema e apresenta um exemplo de aplicação da abordagem proposta.
O documento discute a análise de sistemas, incluindo seu objetivo de introduzir um processo sistemático para o desenvolvimento de software de qualidade. Detalha as etapas do projeto como estudo de viabilidade e levantamento de requisitos, e fornece exemplos de como realizar a análise de requisitos para projetos pequenos e complexos.
O documento discute diferentes modelos de processo de software, incluindo o modelo sequencial linear, a prototipação, RAD e modelos evolucionários incrementais e em espiral. O modelo sequencial linear divide o processo em engenharia de sistemas, análise de requisitos, projeto, codificação, teste e manutenção em uma abordagem sequencial. A prototipação envolve a construção rápida de protótipos para refinar os requisitos. O modelo RAD busca um desenvolvimento rápido através de componentes reutilizáveis. Os modelos evolucionários constroem
Revisa conceitos de Orientação a Objetos. Revisa conceitos de Padrões de Projeto.
Apresenta um breve histórico da evolução da arquitetura de software. Mostra a importância que a escolha do padrão arquitetural exerce na construção de software. Demonstra de maneira prática e em forma de experimento, um projeto de software Java que tenha sido aplicado os padrões arquiteturais adotados no mercado de trabalho, habilitando os alunos a definirem e utilizarem os padrões arquiteturais.
1) RAD (Rapid Application Development) é um modelo de desenvolvimento de software iterativo e incremental que enfatiza um ciclo de desenvolvimento extremamente curto (entre 60 e 90 dias).
2) O processo de RAD inclui fases como modelagem de negócios, modelagem de dados, geração da aplicação e teste, variando de acordo com a abordagem adotada.
3) RAD tem vantagens como desenvolvimento rápido, prototipagem, reuso de componentes e envolvimento do usuário, mas também desvantagens como dificuldade para projetos grandes e riscos em test
O documento descreve um projeto de desenvolvimento de um software de gestão de documentos para o almoxarifado de uma universidade. O software foi desenvolvido utilizando Java e PostgreSQL, seguindo um modelo incremental do ciclo de vida waterfall. O projeto foi entregue dentro do prazo e com as funcionalidades requisitadas, porém poderia ser aprimorado com técnicas como testes automatizados.
O documento discute os vários níveis de reutilização na perspectiva de frameworks e padrões de projeto. Aborda a reutilização nos paradigmas funcional e orientado a objetos, conceitos como classe, herança, composição e componentes. Também discute frameworks, tipos, vantagens e desvantagens, além de padrões de projeto comuns em frameworks como Template Method e Abstract Factory.
O documento discute diversos modelos de processo de desenvolvimento de software, incluindo: (1) o modelo em cascata, que estrutura o processo de forma sequencial e sistemática; (2) a prototipação, que permite a construção rápida de protótipos para validação de requisitos; e (3) o modelo espiral, que incorpora elementos iterativos e de análise de risco. O documento também apresenta o Rational Unified Process (RUP), que é iterativo, incremental, guiado por casos de uso e baseado na arquitetura do sistema.
Este documento descreve um projeto de automação para uma nova fábrica de farinha de empanamento que visa inovação tecnológica e criação de competências. O projeto utilizou uma gestão tecnológica baseada em metodologias de projeto e automação para gerir conhecimento e agregar valor. Isso resultou no desenvolvimento de uma nova tecnologia de produção e na capacitação da equipe, além de reduzir custos e prazos de implantação.
Semelhante a Identificando requisitos comuns e variantes em linhas de produtos de software (20)
How to justify technical debt mitigations in Software EngineeringAndré Agostinho
In this presentation André Agostinho e Cassio Silva covers the importance in dealing with technical debt in software engineering showing the real impacts, daily approaches and best practices for mitigations
O Google Web Stories é uma funcionalidade lançada em 2020 que permite a criação de páginas na web no formato de stories. Estas páginas podem aparecer em qualquer site ou na aba Discover do app Google e oferecem ferramentas gratuitas para sua criação. Os web stories trazem vantagens como conteúdo atrativo para os usuários e aumento de engajamento em comparação a formatos tradicionais.
Impact Mapping is a strategic planning technique and goal driven created by Gojko Adzic. In this presentation I explain how to use Impact Mapping with Scrum and what's the best practices in defining good goals.
ARIA - Acessible Rich Internet Applications #SnetTalks2André Agostinho
In this presentation Giovanni Dias explains ARIA term, ways to apply and whats is the relevance in improving accessibility experience to handicapped users.
AMP são páginas otimizadas para carregamento rápido em dispositivos móveis, criadas pelo Google para competir com o Facebook Instant Articles e Apple News. As páginas AMP usam HTML, JavaScript e cache específicos para carregar em menos de um segundo, usar menos dados e ter melhor ranqueamento no Google.
Lead time and cycle time. What matters? #SnetTalks1André Agostinho
The document discusses different timing metrics for software development projects:
1) Reaction time is the time until a task is started.
2) Cycle time is the time from reaction to finishing a task.
3) Lead time is the time from cycle completion to finishing the overall story/functionality.
4) Time-to-market is when the functionality goes to production.
The document argues that while the ideal matters, timing matters more, and recommends focusing optimization efforts on reducing cycle time, reaction time, and time-to-market to speed up software delivery.
Overcoming automation fear in infrastructure as codeAndré Agostinho
In 2020 at CMG Impact Las Vegas I covered Infrastructure as code, explaining principles, challenges, tools and what's the relevance to multi-cloud scenarios.
Returning to this subject, I prepared an interesting topic that is a pain for many DevOps teams: Overcome Automation Fear. I'll try to answer questions as "Why Should I need automation?" or "How to automate in chaotic infrastructure?"
I hope this presentation can help you overcome these obstacles, or at least, change your mindset about infra-automation.
Scaling multi cloud with infrastructure as codeAndré Agostinho
This document summarizes a presentation about scaling multi-cloud infrastructure using infrastructure as code and tools like Terraform. It defines infrastructure as code as an approach to infrastructure automation based on practices from software development. Some benefits of IaC include enabling consistent and repeatable changes through practices like version control and testing. Challenges include configuration drift and maintaining consistency across servers. The presentation demonstrates using Terraform to provision cloud infrastructure for a web application across multiple clouds in an automated and repeatable way.
Cloud continuous integration- A distributed approach using distinct servicesAndré Agostinho
In cloud computing services the ability to share and deliver services, scale computing resources and distribute data storage and files requires a deployment process aligned with agility and scalability. The continuous integration can automate process reducing operational effort, improving code quality and reducing time to market. This presentation shows a proposal for distributed continuous integration to use differents cloud computing services, from planning to execution of scenarios.
[1] A empresa Akamai está desenvolvendo uma tecnologia para fornecer conteúdo complementar em tempo real para smartphones e tablets enquanto as pessoas assistem TV; [2] O Super Bowl atrai mais de 100 milhões de telespectadores e a CBS está promovendo experiências em várias telas para engajar espectadores e vender anúncios; [3] Experts estimam que o mercado de segunda tela crescerá de US$ 490 milhões para US$ 5,9 bilhões até 2017.
O documento discute 9 erros comuns que as pessoas cometem no LinkedIn, incluindo recomendar por interesse, não endossar habilidades de outros, e esperar o momento certo para construir uma rede.
O documento discute o surgimento de uma grande botnet na China que infectou mais de um milhão de dispositivos móveis. Os dispositivos foram infectados por um trojan descoberto em 2011 que se espalhou por meio de mais de 7 mil aplicativos infectados. Dispositivos Android são mais vulneráveis que iOS, e compõem 90% do mercado móvel chinês em rápido crescimento.
O documento discute como o crowdfunding está financiando novas tecnologias e inovações, permitindo que usuários apoiem projetos que desejam ver criados. Isso está criando uma nova geração de empreendedores e permitindo que ideias que poderiam ter limitações financeiras sejam desenvolvidas.
O documento discute o lançamento de novos dispositivos Kindle Fire pela Amazon, incluindo versões atualizadas do Kindle Fire e dois novos modelos de alta resolução, Kindle Fire HD e Kindle Fire HD 8.9. A Amazon espera que os novos dispositivos e serviços de conteúdo ajudem a empresa a competir melhor com rivais como Apple no mercado de tablets.
Identificando requisitos comuns e variantes em linhas de produtos de software
1. Identificando requisitos comuns
e variantes em linhas de produtos
de software
Engenharia de Requisitos de Softwares - Prof. Dr. Paulo Sérgio Muniz Silva – 2016
André Rocha Agostinho
2. Objetivos da apresentação
Análise de domínio e reuso de requisitos de software
Até o momento, a finalidade do sistema de gestão de crise era a de gerenciar o
atendimento de acidentes de veículos em estradas. Agora, seu escopo deve ser
ampliado para tratar diversas situações de crise, como as decorrentes de
desastres naturais, de várias modalidades de transporte, etc., constituindo uma
linha de produtos de software.
• Apresentar uma versão inicial de parte significativa do modelo de domínio,
numa linguagem apropriada, que identifique e especifique requisitos
comuns e variantes da linha de produtos. Para tanto:
– Empregar o método de modelagem proposto por (Kim, J. et al., 2006).
Explicitar as premissas assumidas.
– Apresentar uma avaliação a respeito da viabilidade de aplicação prática
deste método de modelagem.
2
3. Objetivos da apresentação
Rastreabilidade dos requisitos de software
Considerando a solução proposta na primeira parte:
• Definir a Estratégia de Rastreabilidade dos requisitos de software para a linha
de produtos definida.
• Considerando a estratégia definida:
– Elaborar alguns fragmentos de matrizes de rastreabilidade considerando
os requisitos de domínio identificados como requisitos comuns e
variantes.
– Definir os principais atributos dos requisitos de software a serem
utilizados na gerência dos requisitos. Justificar.
3
4. Organização da apresentação
1. Linha de produtos de software
– Definição
– Motivação
– Reuso do software
2. Análise de domínio utilizando a abordagem Feature Oriented Domain Analysis
– Conceitos
– Processo de análise de domínio
– Análise de produtos de domínio
3. Modelagem de domínio
– Premissas estabelecidas
– Modelos de domínio
– Identificação de requisitos comuns e variantes
– Especificação de requisitos comuns e variantes
4. Rastreabilidade dos requisitos do software
– Estratégia de rastreabilidade
– Matrizes de rastreabilidade
– Atributos dos requisitos de software a serem gerenciados
4
6. Uma Linha de Produtos de Software é um conjunto de sistemas intensivos em
software, compartilhando um conjunto controlado de características comuns que
satisfazem a uma necessidade ou missão específica de um segmento particular do
mercado, desenvolvido a partir de um conjunto comum de ativos fundamentais
(core assets) segundo uma prescrição.
Linha de produtos de software
Definição
(Pohl, K. el al., 2005)
6
7. (Pohl, K. el al., 2005)
Break-Even Point
• (Weiss and Lai 1999) entre 3 e 4
• (Pohl, K. el al., 2005) 3
Principal:
Redução do custo no desenvolvimento
Outras motivações:
Melhorias na qualidade, redução no
time to market, menor esforço de
manutenção e etc.
Considerações:
A ponto preciso depende de várias
características da organização e do
mercado previsto, tais como base de
clientes, expertise e tipos de
produtos. A estratégia inicial pra
criar o primeiro produto também vai
influenciar neste número.
Linha de produtos de software
Motivação
7
8. As partes que serão reutilizadas podem ser partes existentes ou desenvolvidas para
reuso futuro.
Linha de produtos de software
Reuso do software
Podem incluir, entre outros:
• Conhecimento do domínio
• Modelo de domínio
• Técnicas de elicitação, análise e modelo de requisitos
• Arquitetura e componentes de software
• Planos de teste e casos de teste
• Processos, métodos e ferramentas
(Pohl, K. el al., 2005)
8
9. • Conceitos
• Processo de análise de domínio
• Análise de produtos de domínio
Análise de domínio – abordagem FODA 9
10. • Domínio (ou domínio da aplicação):
Um conjunto de aplicações atuais ou futuras que compartilham um conjunto
comum de capacidades e dados.
• Análise de domínio:
O processo de identificar, coletar, organizar e representar as informações relevantes
do domínio, baseado no estudo dos sistemas existentes e de suas histórias de
desenvolvimento.
• Modelo do domínio:
Definição das funções, dados e relações num domínio.
• Característica (feature)
Atributos do sistema que afetam os usuários finais e stakeholders: eles devem
entender as características para utilizarem o sistema.
(Kang et al., 1990)
Análise de domínio – abordagem FODA
Conceitos
10
11. • Reuso de software:
O processo para implementer novos sistemas de software com base na informação
de um software existente.
• Reuso de componentes:
Um componente de software (incluindo requisitos, arquitetura, código, testes e etc)
concebido e implementado para uma finalidade específica de reutilização.
(Kang et al., 1990)
Análise de domínio – abordagem FODA
Conceitos
11
12. Análise de domínio reúne e representa as informações em sistemas de software que
compartilham um conjunto comum de recursos e dados.
Métodos [GILR89A, MCNI86A, PRIE87A] sugerem 3 fases no processo de análise de
domínio.
1. Análise de contexto:
Define a extensão (ou limites) de um domínio para análise.
2. Modelagem de domínio:
Deescreve os problemas dentro do domínio que são endereçados pelo software.
3. Modelagem de arquitetura:
Cria arquitectura (s) de software que implementa uma solução para os
problemas no domínio.
Análise de domínio – abordagem FODA
Processo de análise de domínio - Fases
(Kang et al., 1990)
12
13. Fontes Produtor Consumidores
Usuário final
Usuário final
Especialista
De domínio
Analista
de domínio
Analista
de Requisitos
Projetista de
Software
(Kang et al., 1990)
Análise de domínio – abordagem FODA
Processo de análise de domínio - Participantes
13
14. 1) Análise de contexto 2) Modelagem de domínio 3) Modelagem de arquitetura
Info.
Produt
os
Modelo
de
domínio
Modelo
de
domínio
Modelo
de
Arquit.
Escopo
E
Limites
Analista de domínio, usuários e
especialista do domínio
• Limites e escopo do
domínio.
• Reunir informações para
análise.
Analista de domínio, usuários,
especialista do domínio e analista de
requisitos
• Fontes de informação e outros
produtos de análise de contexto
• Apoiar a criação de um modelo de
domínio
• Revisão do modelo
Analista de domínio,
especialista do domínio, analista
de requisitos e projetista de
software
• Produzir o modelo de
arquitetura com o modelo de
domínio.
• Revisão do modelo
Análise de domínio – abordagem FODA
Processo de análise de domínio - Processo
(Kang et al., 1990)
14
15. Produtos
da análise
do domínio
Produtos do
novo sistema
a ser desenvolvido
Análise
de contexto
Modelagem
de Domínio
Modelagem
da Arquitetura
Contexto
e
escopo
Modelos
(Features,
ER, etc)
Arq.
Estrutura
de controle
Novo
contexto
Novas
espec.
Nova
arquit.
Requisitos
Requisitos
Requisitos Software
Domínio
Domínio
Domínio
Usuário
Usuário
Especialista
do domínio
Analista
do domínio
Adicionar, Modificar e remover “features”
Adicionar, Modificar e remover “features”
Adicionar, Modificar e remover “features”
Análise de domínio – abordagem FODA
Processo de análise de domínio – Adaptando novos produtos
(Kang et al., 1990)
15
16. • Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
16
17. 1. Formação de uma equipe seguindo a formação de participantes da abordagem
FODA:
Papéis Representados por
Analista de domínio
Pessoa com sólida experiência em análise e modelagem de
domínios de sistemas variados.
Especialistas de
domínio
Pessoas especializadas em gestão de crises de qualquer natureza
com foco em modalidades de transportes.
Usuários
Representantes: Atendente, Supervisor, Coordenador,
Observador, Grupo de Apoio à Crise (Bombeiros. Médicos,
Enfermeiros)
Modelagem de domínio
Premissas estabelecidas
• Analista de domínio
• Analistas de requisitos
• Especialistas de domínio
• Projetistas de softwares
• Usuários
17
18. 2. Etapa da análise de contexto foi realizada seguindo o processo de análise de
domínio da abordagem FODA
Insumos utilizados no processo:
Documento visão do SGAVE (Sistema de Gestão de Acidentes de Veículos em
Estradas)
- Definição e finalidade do produto
- Relação dos stakeholders e usuários
Modelagem de domínio
Premissas estabelecidas
18
19. 3. Aplicar o método FODA para abstrair elementos do SGC
“Desenvolvimento de produtos de domínio genéricos e amplamente aplicáveis
dentro de um domínio é o principal objetivo do método FODA. Este conhecimento
geral pode ser alcançado por abstrair "fatores" que fazem uma aplicação diferente
de outras aplicações. No entanto, para desenvolver aplicações dos produtos
genéricos, os fatores que foram abstraídos devem ser feito de forma específica e
introduzida durante o refinamento. Não só o conhecimento geral, mas também os
fatores que tornam cada aplicativo exclusivo são partes importantes do
conhecimento de domínio e devem ser capturados nos produtos de domínio.”
(Kang et al., 1990)
Conceitos de modelagem utilizados
- Agregação/Decomposição
- Generalização/Especialização
Modelagem de domínio
Premissas estabelecidas
19
20. 4. Escopo, limites e contexto
Produto:
Sistema de Gestão de Crises (SGC).
Definição:
Sistema de gestão de acidentes em rodovias no Estado de São Paulo.
Foco de atuação:
Acidentes de veículos em rodovias
Finalidade:
Facilitar o processo de gestão de crise, auxiliando a designação eficaz de recursos e
orquestrando a comunicação entre todas as partes envolvidas no tratamento da
crise.
Modelagem de domínio
Premissas estabelecidas
20
21. 4. Escopo, limites e contexto
Produto:
Sistema de Gestão de Crises (SGC).
Linha de Produtos:
Sistema de Gestão de Crises para Modalidades de Transportes (SGCMT).
Foco de atuação:
Meios de transportes (Carros, Motos, Caminhões, Aviões, Helicópteros, Trens e etc).
Finalidade:
Facilitar o processo de gestão de crise, auxiliando a designação eficaz de recursos e
orquestrando a comunicação entre todas as partes envolvidas no tratamento da
crise.
Modelagem de domínio
Premissas estabelecidas
PLANO DE MERCADO
PLANO DE PRODUTO
21
22. 5. Diagrama de estrutura (alto nível)
SGC
GCAR GCAF GCAA
Gestão da
crise
SGCMT
Gestão da
crise
Gestão da
crise
1) Família de produtos SGC
Sistema de Gestão de Crise
2) Linha de produtos SGCMT
Sistema de Gestão de Crise para
Modalidades de Transportes
3) Produtos SGCMT
• GCAR - Gestão de Crise para
Acidentes Rodoviários
• GCAF - Gestão de Crise para
Acidentes Ferroviários
• GCAA - Gestão de Crise
para Acidentes Aéreos
4) Finalidade
Facilitar o processo de gestão de
crise, deslocando recursos
e orquestrando a comunicação
entre todas as partes envolvidas.
Modelagem de domínio
Premissas estabelecidas
22
23. 6. Stakeholders comuns da linha de produtos SGCMT
Produto
Resumo dos principais
Stakeholders
Resumo dos stakeholders
em comum
GCAR
Polícia Rodoviária
Concessionárias de
Rodovias
1. Governo do Estado de São Paulo
2. Vítimas
3. Testemunhas
4. Comunidade local
5. Operadoras de Telefone
6. Atendente da Crise
7. Coordenador da Equipe de Gestão de Crise
8. Equipe de Gestão de Crise
9. Grupos de resgate
1. GRAU (Grupo de Resgate e
Atendimento a Urgências)
2. CBPMESP (Corpo de Bombeiros
Militar do Estado de São Paulo)
3. Grupamento de Radiopatrulha Aérea
da Polícia Militar.
GCAF
Polícia Ferroviária
Concessionárias de
Ferrovias
GCAA
Polícia Federal
Força Área Brasileira
Exército Brasileiro
Marinha do Brasil
Modelagem de domínio
Premissas estabelecidas
23
24. 7. Usuários comuns da linha de produtos SGCMT
Produto
Resumo dos stakeholders
em comum
Resumo dos usuários
em comum
GCAR
1. Governo do Estado de São Paulo
2. Vítimas
3. Testemunhas
4. Comunidade local
5. Operadoras de Telefone
6. Atendente da Crise
7. Coordenador da Equipe de Gestão
de Crise
8. Equipe de Gestão de Crise
9. Grupos de resgate
1. GRAU (Grupo de Resgate e
Atendimento a Urgências)
2. CBPMESP (Corpo de
Bombeiros Militar do Estado
de São Paulo)
3. Grupamento de
Radiopatrulha Aérea da
Polícia Militar.
• Atendente
6. Atendente da Crise
• Coordenador
7. Coordenador da Equipe de
Gestão de Crise
• Observador, Supervisor
6 Equipe de Gestão de Crise
• Recursos Humanos
9. Grupos de resgate
• Centro de Controle
8. Equipe de Gestão de Crise
• Operadora de Telefonia
5. Operadoras de Telefone
GCAF
GCAA
Modelagem de domínio
Premissas estabelecidas
24
25. Produto Atores Casos de Uso
GCAR
• Atendente
• Coordenador
• Observador
• Supervisor
• Recursos
Humanos
• Centro de
Controle
1. Abrir chamado de incidente
2. Cancelar chamado de incidente
3. Consultar chamado de incidente
4. Avaliar chamado de incidente
5. Registrar ocorrência da crise
6. Cancelar ocorrência da crise
7. Monitorar situação da crise
8. Modificar situação da crise
9. Encerrar ocorrência da crise
10. Definir estratégia de mitigação
11. Modificar estratégia de mitigação
12. Cancelar estratégia de mitigação
13. Avaliar estratégia de mitigação
14. Definir procedimentos de mitigação
15. Consultar procedimentos de mitigação
16. Alocar recursos para a crise
GCAF
GCAA
Use Cases: Best Practices - By Ellen Gottesdiener - 2003 - IBM
8. Atores candidatos e casos de uso
Modelagem de domínio
Premissas estabelecidas
25
26. 9. A escolha da linguagem de modelagem
• Um artefato composto de um vocabulário de conceitos do domínio (suas
definições e propriedades), um modelo mostrando todas as relações
possíveis entre estes conceitos e um conjunto de regras formais que
restringem a interpretação dos conceitos e relações, representando de
maneira clara e não ambígua o conhecimento do domínio.
(Guarino, 1997)
Selecionadas
• ER
• SBVR
• Método de modelagem por metas e cenários (Kim, J. et al., 2006)
Modelagem de domínio
Premissas estabelecidas
26
27. Análise de domínio e reuso de requisitos de software
Até o momento, a finalidade do sistema de gestão de crise era a de gerenciar o
atendimento de acidentes de veículos em estradas. Agora, seu escopo deve ser
ampliado para tratar diversas situações de crise, como as decorrentes de
desastres naturais, de várias modalidades de transporte, etc., constituindo uma
linha de produtos de software.
• Apresentar uma versão inicial de parte significativa do modelo de domínio,
numa linguagem apropriada, que identifique e especifique requisitos
comuns e variantes da linha de produtos. Para tanto:
– Empregar o método de modelagem proposto por (Kim, J. et al., 2006).
Explicitar as premissas assumidas.
– Apresentar uma avaliação a respeito da viabilidade de aplicação prática
deste método de modelagem.
Objetivo 1 27
28. • Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
28
30. Modelagem de domínio
Modelos de Domínio - SBVR
30
Regra R1:
O coordenador deve aguardar a ocorrência de uma crise para definir uma estratégia de
mitigação.
Regra R2:
O supervisor registra uma ocorrência de uma crise após um chamado ser classificado como
legítimo
Regra R3:
Os recursos consomem procedimentos de mitigação quando alocados pelo coordenador
Termo:
É usado para designar um conceito de palavra.
Verbo: O verbo é usado para designar conceitos de verbos, usualmente um verbo, preposição ou
combinação. Tal designação é definida no contexto na forma de expressão.
Palavra-chave: A palavra-chave é usada para símbolos linguísticos na construção de declarações – as
palavras podem ser combinadas com outras designações para formular declarações e definições
31. • Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
31
32. Motivação
As principais abordagens orientadas à características FODA/FeaturSEB NÃO
SUPORTAM um processo bem definido e a fonte de variabilidade.
• Processo bem definido
Sem um processo bem definido, a abordagem torna-se menos aplicável pela
ausência de um conjunto de passos de como se aplicar o método
• Fonte de variabilidade
Sem capturar o conhecimento da fonte de variabilidade, torna-se mais difícil
prever quando as variações vão ocorrer e de onde elas se originam.
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
32
33. Metas e cenários na engenharia de requisitos
“São formas efetivas de indentificação de requisitos na engenharia de requisitos.”
(Kim et al, 2004, Potts, 1997; Rolland et al., 1998b. Sutcliffe, 1998)
“Metas fornecem uma análise racional para requisitos . Requisitos existem por
estarem fundamentados sobre metas. Metas fornecem uma base para requisitos.”
(Dardenee et al., 1991; Kim et al., 204; Sommerville and Sawyer, 1997)
“Cenários descrevem situação reais, capturando requisitos reais em um
determinado contexto.”
(Rolland et al, 1998b)
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
33
34. • No contexto de linha de produto metas de negócios de alto nível guiam
planos de marketing e planos de produtos e forcam produtos em uma família
de produtos a terem requisitos comuns e variantes.
• Nas metas de negócios as características dos produtos são determinadas e
também fornecem uma análise sobre os requisitos do domínio.
• A modelagem de metas e cenários possibilita a gestão adequada das
variações entre produtos em uma família de produto.
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Metas e cenários em características de produtos
34
35. CenárioMeta
< Alcança
N
Autor >
1
Comum
Alternativo
Opcional
Tipo de variação
Meios de
se alcançar a meta
Tipos de cenários
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Metas e cenários na análise de requisitos do domínio
35
36. Meta
V + Target + Direction
V: Verbo ativo
Target: Objeto concentual ou físico
Direction: Fonte ou destino
Cenário
S + V + Target + Direction + Manner
S: Agente para o sistema projetado ou o próprio sistema projetado
V: Verbo ativo
Target: Objeto conceitual ou físico
Direction: Fonte ou destino
Manner: Forma o qual o cenário está implementado
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Escrevendo metas e cenários em características de produtos
36
37. Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Características da abordagem
37
38. Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Análise de requisitos do domínio – Processo de modelagem
38
39. Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
39
BG: Meta de negócio
Sg: Meta de serviço
Ss: Cenário de serviço
IAg: Meta de interação
IAs: Cenário de interação
INg: Meta interna
INs: Cenário interno
40. Meta de negócio do SGCMT
BG: "Ser o principal e o melhor sistema de gestão de crise de meios de transportes
para o estado de São Paulo"
Metas de serviços
Sg1: "Fornecer gestão de crise para acidentes rodoviários“
Sg2: “Fornecer gestão de crise para acidentes ferroviários“[alternativo]
Sg3: "Fornecer gestão de crise para acidentes aéreos“[alternativo]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
40
Nível de negócio
41. • Sg1: "Fornecer gestão de crise para acidentes rodoviários“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a
Urgências) para uma ocorrência de crise via centro de controle. [comum]
• Sg2: “Fornecer gestão de crise para acidentes ferroviários“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a
Urgências) para uma ocorrência de crise via centro de controle. [comum]
• Ss2: Coordenador pode alocar unidades da polícia ferroviária para acidentes de trens
via centro de controle [opcional]
• Sg3: "Fornecer gestão de crise para acidentes aéreos“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a
Urgências) para uma ocorrência de crise via centro de controle [comum]
• Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para
acidentes de aviões via centro de controle [opcional]
Nível de serviçoAnálise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
41
42. • Sg1: "Fornecer gestão de crise para acidentes rodoviários“
Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para
uma ocorrência de crise via centro de controle [comum]
IAg1: “Alocar unidades GRAU para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
• IAs3: Coordenador pode acionar unidades do GATE (Grupo de Ações Táticas Especiais da
PM) para o local da crise por meio das unidades GRAU [opcional]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
42
Nível de interação
43. • Sg1: "Fornecer gestão de crise para acidentes rodoviários“
Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para
uma ocorrência de crise via centro de controle [comum]
IAg1: “Alocar unidades GRAU para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
• IAs3: Coordenador pode acionar unidades do GATE (Grupo de Ações Táticas Especiais da
PM) para o local da crise por meio das unidades GRAU [opcional]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
43
Nível interno
INg2: “Encaminhar informações da ocorrência e procedimentos para a central
da GRAU“
• INs1: Módulo de comunicação SGC deve transmitir um pacote com informações
sobre a ocorrência para a central da GRAU [comum]
• INs2: Módulo de comunicação SGC deve aguardar confirmação da central da GRAU
[comum]
• INs3: Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para a central da GRAU [opcional]
44. • Sg3: "Fornecer gestão de crise para acidentes aéreos“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências)
para uma ocorrência de crise via centro de controle [comum]
• Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de
aviões pelo centro de controle [opcional]
IAg2: “Alocar unidades da FAB para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades da FAB para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
44
Nível de interação
45. • Sg3: "Fornecer gestão de crise para acidentes aéreos“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências)
para uma ocorrência de crise via centro de controle [comum]
• Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de
aviões pelo centro de controle [opcional]
IAg2: “Alocar unidades da FAB para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades da FAB para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
45
Nível interno
INg2: “Encaminhar informações da ocorrência e procedimentos ao centro de
controle da FAB “
• INs1: Módulo de comunicação SGC deve transmitir um pacote com informações
sobre ocorrência para o centro de controle de desastres aéreos da FAB [comum]
• INs2: Módulo de comunicação SGC deve aguardar a confirmação para o centro de
controle de desastres aéreos da FAB [comum]
• INs3: Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para o centro de controle de desastres aéreos da FAB [opcional]
46. Fornecer gestão de
crise para acidentes
rodoviários
Fornecer gestão de
crise para acidentes
ferroviários
Fornecer gestão de crise
para acidentes aéreos
Ser o principal e o melhor sistema de gestão de crise
de meios de transportes para o estado de São Paulo
Alocar unidades GRAU
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos a central
da GRAU.
Alocar unidades GRAU
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos a central
da GRAU.
Alocar unidades GRAU
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos a central
da GRAU.
SGCMT
Alocar unidades da FAB
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos ao centro
de controle de desastres
aéreos da FAB.
Árvore de metas
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
46
47. Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
47
48. • Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
48
49. Representação dos requisitos do domínio – Visão geral
- Metas e cenários no nível de interação dos requisitos de domínio são usados
para ajudar a construir casos de usos.
- Uma meta no nível de interação é alcançada através de cenários e um caso de
uso contém o conjunto de cenários possíveis para alcançar a meta
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
49
50. Representação dos requisitos do domínio – Regras-guia de transferência
Regras Definição
R1 Metas no nível de interação tornam-se casos de uso
R2 Um agente que necessita interagir com a meta torna-se o ator primário
R3
Cenários tornam-se especificações textuais de casos de uso e um agente ou
sujeito do cenário pode se tornar um ator. Caso um agente não se torne um
ator primário o mesmo deve ser considerado como secundário
R4
Metas com requisitos variantes no nível de interação tornam-se casos de uso
com tipo variante. Se uma meta tem um relacionamento como “alternativo”,
um caso de uso com o estereótipo “<<alternative>>” é representado no
diagrama. Se uma meta tem um relacionamento como “opcional”, um caso de
uso com o estereótipo “<<opcional>>” é representado no diagrama.
R5
Metas e cenários no nível interno são descritos em cada especificação textual
de caso de uso
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
50
51. Representação dos requisitos do domínio – Diagrama de casos de uso
Coordenador
<<comum>>
Alocar unidades GRAU
para o local da crise
<<opcional>>
Alocar unidades da FAB
para o local da crise
SGCMT
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
51
52. Representação dos requisitos do domínio – Diagrama de casos de uso
Coordenador
<<comum>>
Alocar unidades GRAU
para o local da crise
<<opcional>>
Alocar unidades da FAB
para o local da crise
SGCMT
R1
META DE INTERAÇÃO >
CASO DE USO
R2
AGENTE > ATOR
R4
ESTEREÓTIPOS DE
VARIAÇÃO
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
52
53. Representação dos requisitos do domínio – Especificação de caso de uso
Nome do caso de uso: Alocar unidades GRAU para o local da crise
Atores: Coordenador
Descrição do caso de uso:
1. Coordenador deve definir a estratégia de mitigação da crise <<comum>>
2. Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida <<comum>>
1. Encaminhar informações da ocorrência e procedimentos para a central da
GRAU
1. Módulo de comunicação SGC deve transmitir um pacote com informações
sobre a ocorrência para a central da GRAU <<comum>>
2. Módulo de comunicação SGC deve aguardar confirmação da central
da GRAU <<comum>>
3. Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para a central da GRAU << opcional >>
3. Coordenador pode acionar unidades do GATE para o local da crise por meio das
unidades GRAU <<opcional>>
Tipo de variação: Comum
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
53
54. Nome do caso de uso: Alocar unidades GRAU para o local da crise
Atores: Coordenador
Descrição do caso de uso:
1. Coordenador deve definir a estratégia de mitigação da crise <<comum>>
2. Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida <<comum>>
1. Encaminhar informações da ocorrência e procedimentos para a central da
GRAU
1. Módulo de comunicação SGC deve transmitir um pacote com informações
sobre a ocorrência para a central da GRAU <<comum>>
2. Módulo de comunicação SGC deve aguardar confirmação da central
da GRAU <<comum>>
3. Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para a central da GRAU << opcional >>
3. Coordenador pode acionar unidades do GATE para o local da crise por meio das
unidades GRAU <<opcional>>
Tipo de variação: Comum
Representação dos requisitos do domínio – Especificação de caso de uso
R1
META DE INTERAÇÃO >
CASO DE USO
R2
AGENTE > ATOR
R3
CENÁRIOS DE INTERAÇÃO
> ESPECIFICAÇÃO
AGENTES > ATOR
R4
ESTEREÓTIPOS DE
VARIAÇÃO
R5
METAS E CENÁRIOS DO NÍVEL
INTERNO SÃO DESCRITOS NA
ESPECIFICAÇÃO DE CASO DE USO
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
54
55. Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
55
56. Pontos fortes
1. Uma boa abordagem para a derivação do escopo das metas de negócios
2. Os níveis de metas propostos auxiliam nas definições dos requisitos de
acordo com cada perspectiva
3. Existe uma rastreabilidade total entre metas, cenários, requisitos e
especificação
4. Existe uma rastreabilidade parcial entre planos de marketing e de produto
com as metas de negócio
5. Bom entendimento sobre a variabilidade das características do produto em
uma linha de produto
6. Facilidade em escalar a produção de novos produtos utilizando-se do reuso
do software
Modelagem de domínio
Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
56
57. Pontos fracos
1. Dificuldade em se aplicar o método sem um documento visão bem
definido
2. Dificuldade em se criar metas de serviços sem um plano de marketing bem
definido
3. Dificuldade na derivação de cenários para as metas dos níveis
subsequentes
4. Dificuldade no uso do método sem um conhecimento prévio de uma
abordagem dirigida à características como o FODA e o FeaturSEB
5. Necessidade dos papéis de analista do domínio e especialista do domínio.
E segundo o FODA de uma equipe contendo um analista de requisitos ,
usuários e projetista de software.
6. Não encontrado nenhum papel relacionado à gerente de produto ou
gerente grupo-produto (linha de produto).
Modelagem de domínio
Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
57
58. Oportunidades
1. Adaptar os papéis do FODA com uma metodologia ágil
Ex: Em equipes usando metodologia Scrum, tentar adequar os papeis da
equipe que possam de fato suprir um analista de domínio e um
especialista do domínio.
2. Considerar na abordagem FODA os conceitos de Lean Startup
Ex: Para criar produtos MVP (Mínimo produto viável) tentar utilizar um
processo de análise de domínio mais enxuto e tentar adaptar os métodos
de modelagem para a criação de linhas de produtos que possam
responder bem a mudanças.
Modelagem de domínio
Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
58
59. Rastreabilidade dos requisitos de software
Considerando a solução proposta na primeira parte:
• Definir a Estratégia de Rastreabilidade dos requisitos de software para a
linha de produtos definida.
• Considerando a estratégia definida:
– Elaborar alguns fragmentos de matrizes de rastreabilidade
considerando os requisitos de domínio identificados como requisitos
comuns e variantes.
– Definir os principais atributos dos requisitos de software a serem
utilizados na gerência dos requisitos. Justificar.
Objetivo 2 59
60. Rastreabilidade dos requisitos de software 60
Estratégia de rastreabilidade
- As características dirigem o MCU (Spence, I.; Probasco, L. , 2000)
- Pré-rastreabilidade: das origens à especificação dos requisitos
- Método proposto no artigo Kim, J. et al
- Rastreabilidade das características do software à especificação de
casos uso através de metas e cenários.
- Rastreabilidade da ERS alinhadas à prática IEEE 830-1998.
- Rastreamento para trás (estágios anteriores do desenvolvimento).
61. Rastreabilidade dos requisitos de software 61
Estratégia de rastreabilidade
Quais as relações que têm interesse para a gerência de requisitos?
- Identificar o conjunto de objetos (Ramesh,B.; Jarke, M., 2001) exigidos
para definir os itens de rastreabilidade.
• Necessidade e característica
• RF e RNF
• Itens do glossário
• Caso de uso e Seção de caso de uso
• Ator
Spence e Probasco (2000)
62. Rastreabilidade dos requisitos de software 62
Estratégia de rastreabilidade
As características dirigem o MCU
(Spence, I.; Probasco, L. , 2000)
63. Rastreabilidade dos requisitos de software 63
Matrizes de rastreabilidade
As características dirigem o MCU
Necessidade
Características
Alocação de
recursos GRAU
Alocação de
recursos da Polícia
Rodoviária
Alocação de
recursos da
Polícia Ferroviária
Alocação de
recursos da FAB
Fornecer gestão de crise
para acidentes
rodoviários
X X
Fornecer gestão de crise
para acidentes
ferroviários
X X
Fornecer gestão de crise
para acidentes aéreos
X X
64. Rastreabilidade dos requisitos de software 64
Matrizes de rastreabilidade
As características dirigem o MCU
Características
Casos de uso
Encaminhar
procedimentos de
mitigação para as
unidades da GRAU
Encaminhar
procedimentos de
mitigação para as
unidades da FAB
Alocar unidades
GRAU para o
local da crise
Alocar unidades
da FAB para o
local da crise
Alocação de recursos
GRAU
X X
Alocação de recursos da
FAB
X X
Alocação de recursos da
Polícia Rodoviária
Alocação de recursos da
Polícia Ferroviária
65. Rastreabilidade dos requisitos de software 65
Atributos dos requisitos de software a serem gerenciados
Fatores críticos de sucesso
• Prioridade
o Alta, Média e Baixa
• Dificuldade
o Alta, Média e Baixa
• Status
o Apontado, Aprovado, Em desenvolvimento, Implementado e
Validado
• Valor de negócio (Baseado em ROI )
o Alto, Médio e Baixo
Cohn, Mike, Agile Estimating and Planning, 2006
66. Rastreabilidade dos requisitos de software 66
Atributos dos requisitos de software a serem gerenciados
Matriz de atributos
Características
Atributos
Prioridade Dificuldade Status Valor de negócio
Alocação de recursos
GRAU
Alta Média Implementado Alto
Alocação de recursos da
FAB
Baixa Alta Apontado Baixo
Alocação de recursos da
Polícia Rodoviária
Alta Média
Em
desenvolvimento
Alto
Alocação de recursos da
Polícia Ferroviária
Média Alta Apontado Médio
67. Referências
1) Kim, J.; Kim, M.; Park, S. Goal and scenario based domain requirements analysis environment. In:
The Journal of Systems and Software, 79 (2006) p. 926-938
2) Kang, K.C. et al, Feature-oriented domain analysis feasibility study. CMU/SEI-TR- 21, 1990.
3) Pohl, K. et al. Software Product Line Engineering – Foundations, Principles, and Techniques.
Springer-Verlag, 2005
4) Arango, G. A brief introduction to domain analysis. In Proc. of the 1994 ACM Symposium on Applied
Computing, Phoenix, AZ USA, 1994, pp. 42-46.
5) Evermann, J.; Wand, Y. Toward formalizing domain modeling semantics in language syntax. IEEE
Transactions on Software Engineering, vol. 31 (1), 2005.
6) Guizzardi, G., Herre, H., Wagner G. On the general ontological foundations of conceptual modeling.
In Proc. of 21st Intl. Conf. on Conceptual Modeling (ER 2002), Springer-Verlag, Berlin, LNCS n. 2503,
2002, pp. 65-78.
7) Spence, I.; Probasco, L. Traceability strategies for managing requirements with use cases.
IBM/Rational, 2000.
8) Gottesdiener , E; Use Cases: Best Practices . IBM, 2003
9) Cohn, Mike, Agile Estimating and Planning Prentice Hall, 2006
67
Klaus Pohl - Software Product Line Engineering: Foundations, Principles and Techniqueshttps://books.google.com.br/books?hl=pt-BR&lr=&id=J4GqT4OUsSMC&oi=fnd&pg=PA3&dq=klaus+pohl+family+product+line&ots=SBwCxb2bPh&sig=P-9GK_H5J2ZO_akEq_AR45twsS8#v=onepage&q&f=false
Weiss and Lai 1999 - Software product-line engineering: a family-based software development process
[Gilroy 89] Kathleen A. Gilroy, Edward R. Comer, J. Kaye Grau & Patrick J. Merlet. Impact of Domain Analysis on Reuse Methods.
[McNicholl 86] Daniel G. McNicholl, et al. Common Ada Missile Packages (CAMP) - Volume I: Overview and Commonality Study Results.
[Prieto-Diaz 87] Ruben Prieto-Diaz. Domain Analysis for Reusability.
[Gilroy 89] Kathleen A. Gilroy, Edward R. Comer, J. Kaye Grau & Patrick J. Merlet. Impact of Domain Analysis on Reuse Methods.
[McNicholl 86] Daniel G. McNicholl, et al. Common Ada Missile Packages (CAMP) - Volume I: Overview and Commonality Study Results.
[Prieto-Diaz 87] Ruben Prieto-Diaz. Domain Analysis for Reusability.
O analista de domínio interage com usuários e especialistas de domínio para estabelecer os limites do domínio e um escopo adequado para análise. O analista também reúne fontes de informação para realizar a análise
O analista de domínio utiliza fontes de informação e outros produtos de análise de contexto para apoiar a criação de um modelo de domínio. Este modelo é revisado pelo usuário do sistema, o especialista de domínio, e o analista de requisitos.
Usando o modelo de domínio, o analista de domínio produz o modelo de arquitetura. Este modelo deve ser revisto pelo especialista do domínio, o analista de requisitos e o projetista de software. O usuário não precisa participar nesta revisão.
The requirements analyst and software designer will use the products of a domain analysis when implementing a new system. During implementation, these products are tailored to produce the specification and design of that system. This tailoring process will provide feedback of information to the domain analyst and expert to modify or extend the domain analysis for future developments.
Agregação/DecomposiçãoAbstrair uma coleção de unidades em uma nova unidade é chamado de agregação. Refinando uma agregação em suas unidades constituintes é chamado de decomposição.
Generalização/EspecializaçãoAbstrair os pontos em comum entre uma coleção de unidades em uma nova unidade conceitual suprimir diferenças detalhadas é chamado de generalização. Refinando uma unidade generalizada em uma unidade incorporando detalhes é chamado de especialização.
Parametrização: Parameterization is a component development technique in which components are adapted in many different ways by substituting the values of parameters which are embedded in the component. It allows codification of how adaptation is made within a component. The Ada generic is one example of parameterization
Agregação/Decomposição
Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
Agregação/Decomposição
Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
Agregação/Decomposição
Agregação/Decomposição
Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
Agregação/Decomposição
Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
Use Cases: Best Practices - By Ellen Gottesdiener - 2003 – IBM
When you’re naming use cases, follow these best practices:
- Name your use cases using this format: action verb + [qualified] object.
Examples are “Place order,” “Request product or service,” “Monitor network usage, “Assign resources to project”.
- Avoid vague verbs such as do or process. Instead, use precise verbs such as “query”,
“approve”, “notify”, “monitor”, “generate” and so on.
Agregação/Decomposição
Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
1 meta pode ser atingida por N cenários
Ponto de variação vem da relação Meta-Cenário
Cada cenário pode atingir uma meta de 3 formas: comum, alternativo e opcional
Comum: Fluxo principal.
Alternativo: Quando existe mais de 1 uma forma para se atingir a meta
Opcional: Podem ser usadas ou não. Possibilidade (zero ou todas) de se atingir uma metal
Cada nivel tem a sua preocupação com as perspectivas da linha de produto.
Nivel de negócio: as metas de negócio da organização
Nivel de serviço: são serviços que podem alcançar as metas de negócio (como o escopo na linha de produto é determinado)
Nivel de interação: foca-se na interação entre o sistema e suas entidades. São nas metas de interação que os requisitos na linha de produto são indentificados
- Nivel interno: foca-se na funcionalidade entre objetos e o sistema.