O documento discute processos e metodologias de desenvolvimento de software, como Análise Estruturada, Análise Essencial, Processo Unificado e Catalysis. Ele também propõe diretrizes para apoiar a evolução de sistemas legados, mapeando informações de diagramas de fluxo de dados para casos de uso em UML.
O documento descreve as principais etapas do ciclo de vida de um projeto de software, incluindo planejamento, análise e especificação de requisitos, projeto, implementação, testes, implantação e manutenção. Também discute modelos de ciclo de vida clássico e estruturado.
Conceito de analise de desenvolvivento de sistemasluanrjesus
1. O documento discute os conceitos e processos fundamentais da análise de sistemas, incluindo definições de sistemas, análise e modelagem. 2. Aborda as etapas do ciclo de vida de desenvolvimento de software, como definição, desenvolvimento e manutenção. 3. Destaca a importância da análise para identificar requisitos, reduzir erros e facilitar a manutenção do sistema.
O artigo discute a importância da rastreabilidade de requisitos para a qualidade do software, apresentando dois modelos de referência para apoiar a definição do modelo de rastreabilidade. O documento também aborda como a rastreabilidade interfere na qualidade do produto e como os requisitos são gerenciados ao longo do processo de desenvolvimento.
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 descreve o plano de projeto para o desenvolvimento de um sistema de painel de estoque para um hospital universitário utilizando Java. Ele inclui estimativas de esforço, análise de riscos, planejamento de tarefas e qualidade, além de detalhar os requisitos funcionais e não funcionais do sistema. A equipe estima que o projeto pode ser concluído em 48 dias.
O documento resume um artigo sobre a importância do documento de requisitos no desenvolvimento de software. O artigo descreve como o documento de requisitos deve ser elaborado, destacando elementos como introdução, requisitos funcionais, não funcionais e escopo. Além disso, fornece um exemplo de como estruturar um documento de requisitos.
O documento discute a gerência de requisitos no processo de engenharia de software, abordando tópicos como a evolução dos requisitos, conceito de gerência de requisitos, gerenciamento de mudanças, rastreabilidade, ferramentas, entre outros.
O documento descreve as principais etapas do ciclo de vida de um projeto de software, incluindo planejamento, análise e especificação de requisitos, projeto, implementação, testes, implantação e manutenção. Também discute modelos de ciclo de vida clássico e estruturado.
Conceito de analise de desenvolvivento de sistemasluanrjesus
1. O documento discute os conceitos e processos fundamentais da análise de sistemas, incluindo definições de sistemas, análise e modelagem. 2. Aborda as etapas do ciclo de vida de desenvolvimento de software, como definição, desenvolvimento e manutenção. 3. Destaca a importância da análise para identificar requisitos, reduzir erros e facilitar a manutenção do sistema.
O artigo discute a importância da rastreabilidade de requisitos para a qualidade do software, apresentando dois modelos de referência para apoiar a definição do modelo de rastreabilidade. O documento também aborda como a rastreabilidade interfere na qualidade do produto e como os requisitos são gerenciados ao longo do processo de desenvolvimento.
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 descreve o plano de projeto para o desenvolvimento de um sistema de painel de estoque para um hospital universitário utilizando Java. Ele inclui estimativas de esforço, análise de riscos, planejamento de tarefas e qualidade, além de detalhar os requisitos funcionais e não funcionais do sistema. A equipe estima que o projeto pode ser concluído em 48 dias.
O documento resume um artigo sobre a importância do documento de requisitos no desenvolvimento de software. O artigo descreve como o documento de requisitos deve ser elaborado, destacando elementos como introdução, requisitos funcionais, não funcionais e escopo. Além disso, fornece um exemplo de como estruturar um documento de requisitos.
O documento discute a gerência de requisitos no processo de engenharia de software, abordando tópicos como a evolução dos requisitos, conceito de gerência de requisitos, gerenciamento de mudanças, rastreabilidade, ferramentas, entre outros.
Os principais problemas no desenvolvimento de sistemas são: (1) a baixa produtividade devido ao acúmulo de demandas (backlog) e longos prazos para entrega, (2) a falta de confiabilidade que gera erros e instabilidades, e (3) os altos custos com manutenção já que a maior parte dos recursos é gasta nessa atividade.
UM ESTUDO SOBRE ABORDAGENS DE TESTE E SUAS CONTRIBUIÇÕES PARA A QUALIDADE NO ...Fábio Pio
Este artigo discute como o desenvolvimento dirigido a testes, uma prática ágil, pode contribuir para a criação de software de qualidade. O artigo faz uma revisão bibliográfica sobre garantia da qualidade, ciclos de teste tradicionais e desenvolvimento dirigido a testes. Também apresenta um estudo de caso aplicando questionários a desenvolvedores para avaliar suas percepções sobre as abordagens.
O documento discute como os sistemas de informações gerenciais podem ajudar a Apple a retomar a liderança no mercado de smartphones, que foi perdida para a Samsung. A Apple precisa reestruturar sua gestão de informações e inovar para reconquistar clientes e se manter competitiva em um mercado em constante evolução tecnológica.
MAPEAMENTO ENTRE A METODOLOGIA ÁGIL FDD E O MODELO DE QUALIDADE MPS.BR NOS N...Adson Wendel
1) O documento apresenta um mapeamento entre a metodologia ágil FDD e o Modelo de Qualidade MPS.BR nos níveis de maturidade G e F, realizado por Adson Wendel Cirilo Ferreira para obtenção do título de Especialista em Engenharia de Software.
2) O objetivo é ajudar empresas a definirem um processo ágil e ganharem mais velocidade nos processos dos resultados esperados pela certificação MPS.BR, tornando-se mais competitivas.
3) O documento revisa a FDD, o MPS.BR
O documento discute engenharia de requisitos, definindo-a como o processo de aquisição, refinamento e verificação das necessidades de um sistema. Aborda os tipos de requisitos funcionais e não funcionais, métodos para obter requisitos como entrevistas e questionários, validação de requisitos e desafios na análise de requisitos.
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Maicon Zerbielli
Artigo que fala um pouco sobre gestão de softwares em equipes ágeis com utilização de métricas e indicadores como ferramenta de apoio e de tomada de decisão. Desenvolvido sobre um micro-processo simples de desenvolvimento de software.
O documento descreve o Rational Unified Process (RUP), um modelo de processo de software que fornece boas práticas para o desenvolvimento de sistemas. O RUP é dividido em quatro fases principais: Iniciação, Elaboração, Construção e Transição. Cada fase tem objetivos, artefatos esperados e critérios de avaliação para marcos importantes no projeto. O documento detalha os principais elementos de cada fase do RUP.
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.
O documento discute o Capability Maturity Model Integration (CMMI) e o The Open Group Architecture Framework (TOGAF). O CMMI é um modelo de maturidade e melhores práticas para desenvolvimento e manutenção de software, enquanto o TOGAF é um framework para arquitetura empresarial. O documento também fornece contexto histórico sobre o desenvolvimento do CMMI e descreve suas principais representações e níveis de maturidade.
O documento discute a evolução e gerenciamento de requisitos durante o desenvolvimento de sistemas. Requisitos tendem a mudar conforme o entendimento sobre o problema aumenta. É importante planejar processos para rastrear mudanças e avaliar seus impactos para manter os requisitos atualizados e o escopo sob controle. Ferramentas de gerenciamento de requisitos podem ajudar nessas tarefas.
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 descreve o modelo CMMI (Capability Maturity Model Integration), que fornece um framework para melhoria de processos de software e sistemas. O CMMI inclui níveis de maturidade, áreas de processo, metas e práticas. O documento também fornece um histórico do desenvolvimento do CMMI e seus modelos anteriores.
Engenharia de software apostila analise de requisitos iirobinhoct
Este documento propõe uma estratégia para implantar processos de gerenciamento e desenvolvimento de requisitos em uma organização visando melhorar a qualidade de software. A estratégia inclui definir processos para gerenciar requisitos, planejar o desenvolvimento com base nos requisitos e validar/verificar os produtos do desenvolvimento.
Análise e Modelagem do SGA - Sistema de Gerenciamento de Atividades AcadêmicasRubem Almeida
O documento apresenta um projeto de pesquisa para desenvolver um Sistema de Gerenciamento de Atividades Acadêmicas (SGA) que visa administrar resultados, trabalhos e atividades de estudantes ao longo da vida acadêmica. O projeto se concentrará na etapa de análise do sistema, produzindo documentos como escopo, casos de uso e requisitos, além de diagramas UML e um protótipo, para especificar detalhadamente as funcionalidades do SGA.
O documento discute a aplicação de uma metodologia ágil combinando Scrum e Kanban no gerenciamento de projetos de sistemas. Ele explica que Scrum e Kanban podem ser usados juntos para melhorar os processos de gerenciamento e desenvolvimento de projetos, aproveitando as características adaptativas de ambos e permitindo entregas incrementais frequentes.
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 descreve as etapas e premissas fundamentais de uma metodologia de desenvolvimento de sistemas de informação. A metodologia inclui fases como estudo preliminar, análise do sistema atual, projeto lógico, projeto físico e implantação. Também enfatiza a importância da modularidade, da equipe e do levantamento de requisitos para o sucesso do desenvolvimento do sistema.
Uma análise sobre gestão de pessoas baseada nos métodos ágeiss4nx
O documento apresenta uma análise sobre gestão de pessoas em equipes de desenvolvimento de software baseada nos métodos ágeis. Aborda os modelos tradicionais de gestão de pessoas do PMBOK e P-CMM e como métodos como Scrum e XP enfatizam valores como colaboração, respeito e inclusão. Apresenta um estudo de caso onde Scrum e XP foram aplicados na gestão de recursos humanos de forma alinhada aos modelos tradicionais.
FEI - Modelagem de negocios - 2° semestre 2010nathan85
O documento discute modelos de negócios, metodologias para desenvolvimento de sistemas, SGBD e CMM. Apresenta os conceitos de modelo de negócios, suas vantagens e tipos como varejista e B2B. Aborda metodologias para desenvolvimento de sistemas, SGBD, conceitos como chave primária e estrangeira. Explica o CMM, seus níveis de maturidade e KPAs. Por fim, discute SOA e a evolução dos modelos de negócios na economia digital.
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Diógenes Almeida
Para se destacar perante a concorrência, as empresas do segmento de tecnologia têm investido na área de inovação e em métodos ágeis, que são baseados na entrega contínua. Os métodos ágeis utilizam pouca documentação, com isso muitas informações levantadas são armazenadas em meios informais de comunicação, o que acarreta em perda de informações. Levando em consideração os métodos ágeis, o tema inovação e o problema da perda da informação, este trabalho propõe um protótipo para avaliação da maturidade em gestão da inovação de projetos baseados em metodologias ágeis. O protótipo trouxe vários benefícios, como: apoio à melhora contínua do projeto e auxílio a fiscalização do andamento do projeto.
Keep a positive attitude, take breaks from stressors, and spend time with loved ones. Respond calmly by getting the facts, writing things down, considering different approaches, and communicating with others before making a decision. Getting busy solving problems prevents worrying so remain calm under pressure by focusing on constructive solutions.
The document is a job application letter from Than Win Aung applying for a full-time position. He has over 11 years of experience as a cinema projectionist technician and 3 years of experience as a supervisor at Times Cineplex Empire Cinema. He attaches his CV and relevant certificates for reference.
Os principais problemas no desenvolvimento de sistemas são: (1) a baixa produtividade devido ao acúmulo de demandas (backlog) e longos prazos para entrega, (2) a falta de confiabilidade que gera erros e instabilidades, e (3) os altos custos com manutenção já que a maior parte dos recursos é gasta nessa atividade.
UM ESTUDO SOBRE ABORDAGENS DE TESTE E SUAS CONTRIBUIÇÕES PARA A QUALIDADE NO ...Fábio Pio
Este artigo discute como o desenvolvimento dirigido a testes, uma prática ágil, pode contribuir para a criação de software de qualidade. O artigo faz uma revisão bibliográfica sobre garantia da qualidade, ciclos de teste tradicionais e desenvolvimento dirigido a testes. Também apresenta um estudo de caso aplicando questionários a desenvolvedores para avaliar suas percepções sobre as abordagens.
O documento discute como os sistemas de informações gerenciais podem ajudar a Apple a retomar a liderança no mercado de smartphones, que foi perdida para a Samsung. A Apple precisa reestruturar sua gestão de informações e inovar para reconquistar clientes e se manter competitiva em um mercado em constante evolução tecnológica.
MAPEAMENTO ENTRE A METODOLOGIA ÁGIL FDD E O MODELO DE QUALIDADE MPS.BR NOS N...Adson Wendel
1) O documento apresenta um mapeamento entre a metodologia ágil FDD e o Modelo de Qualidade MPS.BR nos níveis de maturidade G e F, realizado por Adson Wendel Cirilo Ferreira para obtenção do título de Especialista em Engenharia de Software.
2) O objetivo é ajudar empresas a definirem um processo ágil e ganharem mais velocidade nos processos dos resultados esperados pela certificação MPS.BR, tornando-se mais competitivas.
3) O documento revisa a FDD, o MPS.BR
O documento discute engenharia de requisitos, definindo-a como o processo de aquisição, refinamento e verificação das necessidades de um sistema. Aborda os tipos de requisitos funcionais e não funcionais, métodos para obter requisitos como entrevistas e questionários, validação de requisitos e desafios na análise de requisitos.
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Maicon Zerbielli
Artigo que fala um pouco sobre gestão de softwares em equipes ágeis com utilização de métricas e indicadores como ferramenta de apoio e de tomada de decisão. Desenvolvido sobre um micro-processo simples de desenvolvimento de software.
O documento descreve o Rational Unified Process (RUP), um modelo de processo de software que fornece boas práticas para o desenvolvimento de sistemas. O RUP é dividido em quatro fases principais: Iniciação, Elaboração, Construção e Transição. Cada fase tem objetivos, artefatos esperados e critérios de avaliação para marcos importantes no projeto. O documento detalha os principais elementos de cada fase do RUP.
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.
O documento discute o Capability Maturity Model Integration (CMMI) e o The Open Group Architecture Framework (TOGAF). O CMMI é um modelo de maturidade e melhores práticas para desenvolvimento e manutenção de software, enquanto o TOGAF é um framework para arquitetura empresarial. O documento também fornece contexto histórico sobre o desenvolvimento do CMMI e descreve suas principais representações e níveis de maturidade.
O documento discute a evolução e gerenciamento de requisitos durante o desenvolvimento de sistemas. Requisitos tendem a mudar conforme o entendimento sobre o problema aumenta. É importante planejar processos para rastrear mudanças e avaliar seus impactos para manter os requisitos atualizados e o escopo sob controle. Ferramentas de gerenciamento de requisitos podem ajudar nessas tarefas.
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 descreve o modelo CMMI (Capability Maturity Model Integration), que fornece um framework para melhoria de processos de software e sistemas. O CMMI inclui níveis de maturidade, áreas de processo, metas e práticas. O documento também fornece um histórico do desenvolvimento do CMMI e seus modelos anteriores.
Engenharia de software apostila analise de requisitos iirobinhoct
Este documento propõe uma estratégia para implantar processos de gerenciamento e desenvolvimento de requisitos em uma organização visando melhorar a qualidade de software. A estratégia inclui definir processos para gerenciar requisitos, planejar o desenvolvimento com base nos requisitos e validar/verificar os produtos do desenvolvimento.
Análise e Modelagem do SGA - Sistema de Gerenciamento de Atividades AcadêmicasRubem Almeida
O documento apresenta um projeto de pesquisa para desenvolver um Sistema de Gerenciamento de Atividades Acadêmicas (SGA) que visa administrar resultados, trabalhos e atividades de estudantes ao longo da vida acadêmica. O projeto se concentrará na etapa de análise do sistema, produzindo documentos como escopo, casos de uso e requisitos, além de diagramas UML e um protótipo, para especificar detalhadamente as funcionalidades do SGA.
O documento discute a aplicação de uma metodologia ágil combinando Scrum e Kanban no gerenciamento de projetos de sistemas. Ele explica que Scrum e Kanban podem ser usados juntos para melhorar os processos de gerenciamento e desenvolvimento de projetos, aproveitando as características adaptativas de ambos e permitindo entregas incrementais frequentes.
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 descreve as etapas e premissas fundamentais de uma metodologia de desenvolvimento de sistemas de informação. A metodologia inclui fases como estudo preliminar, análise do sistema atual, projeto lógico, projeto físico e implantação. Também enfatiza a importância da modularidade, da equipe e do levantamento de requisitos para o sucesso do desenvolvimento do sistema.
Uma análise sobre gestão de pessoas baseada nos métodos ágeiss4nx
O documento apresenta uma análise sobre gestão de pessoas em equipes de desenvolvimento de software baseada nos métodos ágeis. Aborda os modelos tradicionais de gestão de pessoas do PMBOK e P-CMM e como métodos como Scrum e XP enfatizam valores como colaboração, respeito e inclusão. Apresenta um estudo de caso onde Scrum e XP foram aplicados na gestão de recursos humanos de forma alinhada aos modelos tradicionais.
FEI - Modelagem de negocios - 2° semestre 2010nathan85
O documento discute modelos de negócios, metodologias para desenvolvimento de sistemas, SGBD e CMM. Apresenta os conceitos de modelo de negócios, suas vantagens e tipos como varejista e B2B. Aborda metodologias para desenvolvimento de sistemas, SGBD, conceitos como chave primária e estrangeira. Explica o CMM, seus níveis de maturidade e KPAs. Por fim, discute SOA e a evolução dos modelos de negócios na economia digital.
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Diógenes Almeida
Para se destacar perante a concorrência, as empresas do segmento de tecnologia têm investido na área de inovação e em métodos ágeis, que são baseados na entrega contínua. Os métodos ágeis utilizam pouca documentação, com isso muitas informações levantadas são armazenadas em meios informais de comunicação, o que acarreta em perda de informações. Levando em consideração os métodos ágeis, o tema inovação e o problema da perda da informação, este trabalho propõe um protótipo para avaliação da maturidade em gestão da inovação de projetos baseados em metodologias ágeis. O protótipo trouxe vários benefícios, como: apoio à melhora contínua do projeto e auxílio a fiscalização do andamento do projeto.
Keep a positive attitude, take breaks from stressors, and spend time with loved ones. Respond calmly by getting the facts, writing things down, considering different approaches, and communicating with others before making a decision. Getting busy solving problems prevents worrying so remain calm under pressure by focusing on constructive solutions.
The document is a job application letter from Than Win Aung applying for a full-time position. He has over 11 years of experience as a cinema projectionist technician and 3 years of experience as a supervisor at Times Cineplex Empire Cinema. He attaches his CV and relevant certificates for reference.
Huwelijk en gezin
een reeks artikelen genomen van de website van www.opusdei.nl
Inhoud
Verloving en christelijk leven
Het mysterie van het huwelijk
De vorming van een positief gevoelsleven
De liefde versterken: de waarde van moeilijkheden
De kracht van zuurdesem
De opvoedingstaak van het gezin (1)
De opvoedingstaak van het gezin (2)
Nuclear power generates electricity through nuclear fission reactions that produce heat to power steam turbines. A nuclear power plant has a reactor core that sustains a controlled nuclear chain reaction to heat water and produce steam. This turns turbines that generate electricity. Nuclear power has advantages like reducing greenhouse gas emissions compared to fossil fuels. However, it also has disadvantages like radioactive waste, safety risks from accidents, high construction costs, and potential military applications.
The immune system protects the body from infection and disease. It has both innate (nonspecific) defenses that provide immediate response and adaptive (specific) defenses that provide long-term protection. The innate system includes physical and chemical barriers that prevent pathogen entry. If barriers are breached, inflammation responds. The adaptive system recognizes specific pathogens using B cells and T cells. It has memory to mount stronger responses. Diseases can compromise immune function.
O documento discute os tipos de radiação nuclear, incluindo partículas alfa, beta e radiação gama. Também aborda elementos radioativos naturais e artificiais, além dos benefícios e riscos da radioatividade e energia nuclear para a saúde humana.
Como especificar requisitos em metodologias ágeis?Priscilla Aguiar
O documento discute como os requisitos são especificados em metodologias ágeis. Apresenta user stories como uma forma de descrever requisitos de maneira sucinta, focada no valor para o usuário, e discute técnicas como modelagem de casos de uso para requisitos complexos.
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.
Metodologias de desenvolvimento de sistemas de informaçãoJean Carlos
O documento discute conceitos e métodos de desenvolvimento de sistemas de informação. Ele define metodologia como um conjunto de procedimentos e técnicas para guiar o desenvolvimento de sistemas. Também descreve várias técnicas comuns como modelagem de entidade, diagramas de fluxo de dados e orientação a objetos.
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
O documento discute o desenvolvimento ágil de software usando a metodologia Kanban. Apresenta as dificuldades do desenvolvimento de software tradicional e como as metodologias ágeis, incluindo Kanban, buscam solucionar esses problemas com foco em pessoas, interações e satisfação do cliente. Kanban usa um quadro visual para limitar o trabalho em progresso e melhorar o fluxo e a produtividade da equipe.
Este artigo analisa as metodologias híbridas de desenvolvimento de software baseadas em publicações de autores que já contribuíram com a comunidade científica e acadêmica através de pesquisas e estudos de casos abordando o tema. Primeiramente, aborda-se uma série de acontecimentos, em ordem cronológica, que vão desde as primeiras soluções pensadas para fazer frente à crise de software até o surgimento dos métodos híbridos. Em seguida, são detalhadas algumas metodologias mais conhecidas, tanto tradicionais, quanto ágeis. Feito isso o uso dos paradigmas híbridos é descrito, e por fim, o trabalho é concluído com a análise dos trabalhos analisados.
Análise, projeto e implementação de sistemasDiego Marek
O documento discute o desenvolvimento de sistemas de informação e gestão de projetos. Apresenta quatro etapas para a construção de um sistema de informação: 1) definição e entendimento do problema, 2) desenvolvimento de soluções alternativas, 3) avaliação e escolha de soluções, e 4) implementação da solução. Também discute abordagens como o ciclo de vida tradicional de sistemas e o livro "Sistemas de Informações Organizacionais" que trata de projeto e implementação de sistemas de informação.
O documento descreve processos tradicionais de engenharia de software, incluindo o modelo em cascata, o modelo em espiral, a prototipação e o modelo incremental. Também discute o Rational Unified Process (RUP), que utiliza o Unified Modeling Language (UML) e é estruturado em fases e iterações.
1. O documento descreve as principais etapas do ciclo de vida do desenvolvimento de software, incluindo especificação, projeto e implementação, métodos de projeto, programação e depuração e validação.
2. As etapas ajudam a orientar equipes de desenvolvedores no processo de criação de software, desde a concepção inicial até a descontinuação do produto.
3. A gestão adequada do ciclo de vida permite que empresas planejem de forma inteligente e organizada o desenvolvimento e manutenção de seus sistemas.
O documento descreve as principais etapas do ciclo de vida do desenvolvimento de software, incluindo a especificação, projeto e implementação, métodos de projeto, programação e depuração e validação. O ciclo de vida do software é um processo iterativo que envolve várias atividades para levar um produto de software desde sua concepção inicial até a descontinuação.
O documento descreve o modelo cascata de desenvolvimento de software, que estrutura o processo em etapas sequenciais como análise de requisitos, projeto, codificação, teste e manutenção. O modelo tem a vantagem de estruturar o processo, porém também possui limitações como falta de feedback entre etapas e dificuldade em lidar com mudanças.
1. O documento descreve os processos de engenharia de requisitos, incluindo atividades como estudo de viabilidade, elicitação e análise de requisitos, especificação e validação.
2. A elicitação e análise de requisitos envolvem interagir com stakeholders para obter requisitos do sistema através de técnicas como entrevistas e observações.
3. Os requisitos obtidos são então documentados, classificados e negociados para resolver conflitos, produzindo uma versão inicial dos requisitos do sistema
Workflow, Business Intelligence e Ferramentas Colaborativasigorc2
O documento discute workflow, business intelligence e ferramentas colaborativas. Ele explica o que são workflow e processos de negócio, objetivos de workflow, e sistemas de gerenciamento de workflow. Também discute o que é business intelligence, tipos de ferramentas BI, e como BI pode ajudar empresas. Por fim, aborda como ferramentas colaborativas podem auxiliar na análise de requisitos e gerência de configuração em grupos.
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Rogério Almeida
O documento descreve e compara as metodologias Cascata e Unificada para desenvolvimento de sistemas. A metodologia Cascata tem um processo sequencial em fases, enquanto a Unificada tem um processo iterativo e incremental. As vantagens da Unificada incluem desenvolvimento iterativo e definição de papéis, mas suas desvantagens são a possibilidade de atrasos caso uma pessoa assuma muitos papéis.
Este documento discute técnicas para levantamento de requisitos em sistemas de software. A amostragem é apresentada como uma técnica fundamental para guiar o processo de levantamento de requisitos, auxiliando na seleção de documentos e pessoas a serem investigados. São descritos os principais tipos de amostragem e como calcular o tamanho adequado da amostra. Posteriormente, são apresentadas técnicas específicas como investigação, entrevistas, questionários e observação.
O documento discute metodologias de desenvolvimento de software, especificamente o Rational Unified Process (RUP). O RUP é uma metodologia iterativa e incremental que utiliza a linguagem UML para modelagem. Ele define atividades como análise, projeto e implementação ao longo de fases como iniciação, elaboração e construção.
1. O documento apresenta técnicas para levantamento de requisitos, incluindo amostragem, investigação, entrevistas, questionários e observação.
2. A amostragem é útil para selecionar documentos e pessoas a serem analisados de forma sistemática e representativa. Existem diferentes tipos de amostra, como intencional, randômica simples e randômica complexa.
3. O tamanho da amostra depende do custo, tempo e tipo de informação desejada, como percentuais ou médias.
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.
O documento discute os princípios e práticas das metodologias ágeis de desenvolvimento de software em comparação com a abordagem tradicional de gerenciamento de projetos, com o objetivo de aumentar a credibilidade do paradigma ágil e incentivar sua adoção. Apresenta os doze princípios da agilidade e descreve a metodologia Extreme Programming, incluindo seus valores, princípios, papéis, práticas e ciclo de vida iterativo e incremental.
O presente artigo visa a demonstrar a importância dos Sistemas da Qualidade para o desenvolvimento de Software na área de Tecnologia da Informação. Cada vez mais cresce os números de empresas que estão reduzindo seus custos com o Sistema de informação, assim desenvolvendo seus próprios softwares com ferramenta eficaz, determinando seus padrões de qualidade de software. Garantindo a satisfação no cliente e um retorno em todas as áreas de produtividades. A metodologia para a elaboração do presente estudo utilizou-se de pesquisas em livros, jornais e revistas especializadas e consulta em sites científicos da Internet. Após análise, conclui-se que os Sistemas de Qualidade são de fundamental importância para a criação de softwares na área de Tecnologia da Informação.
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.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
1. Uma Proposta de Evolução em Sistemas Legados
Luciana de Paiva Silva1
, Victor F.A. Santander2
12
Universidade Estadual do Oeste do Paraná
Rua Universitária, 2.069 - Jd. Universitário
Cascavel /PR - CEP 85814-110
1
lucianapaiva@unipan.br
2
vfasantander@unioeste.br
Resumo - O processo de evolução de sistemas legados é um tópico de
recentes pesquisas na área de engenharia de requisitos. Organizações vêm
se defrontando continuamente com a necessidade de mudar e/ou melhorar
seus sistemas computacionais. Neste processo de evolução, as maiores
mudanças envolvem a transição do uso de metodologias tradicionais tais
como Análise Estruturada e Essencial para metodologias Orientadas a
Objetos tais como Catalysis e Processo Unificado (UP). É consensual que
um processo de evolução de sistemas legados não deve se basear
unicamente na avaliação do código fonte, mas também nos demais artefatos
que possam facilitar o processo de elicitação, análise e documentação de
requisitos. Neste contexto, uma das principais dificuldades reside na falta
de diretrizes que permitam mapear informações de sistemas legados
representadas em modelos tais como Diagramas de Fluxos de Dados
(DFDs) para novos artefatos utilizados em metodologias orientadas a
objetos, como Casos de Uso em UML. Neste artigo, apresentamos um
breve estudo das principais metodologias de desenvolvimento de software
utilizadas atualmente tanto no âmbito acadêmico quanto industrial, bem
como propomos um conjunto de diretrizes para apoiar desenvolvedores no
processo de evolução de sistemas legados mapeando informações contidas
em DFDs e código fonte para Casos de Uso em UML.
Palavras-chave: Análise, Engenharia Reversa, Modelagem, Engenharia de
Requisitos.
1. Introdução
O desenvolvimento de sistemas computacionais de pequeno e médio porte é apoiado
por inúmeras técnicas, métodos e processos, a fim de facilitar e padronizar o seu
desenvolvimento. Processos de desenvolvimento de software, comumente, não são
seguidos e compreendidos adequadamente, sendo negligenciados em pontos
fundamentais para o sucesso do projeto de software.
Escolher e executar adequadamente processos de desenvolvimento de software, são
aspectos fundamentais para desenvolver produtos de software de qualidade [1].
2. Gerentes de projeto deparam-se com a difícil tarefa de escolher a melhor abordagem a
ser aplicada no desenvolvimento de um determinado projeto de software.
Mais recentemente, a Engenharia de Requisitos [2] tem surgido para melhorar o
processo de desenvolvimento de software em um dos pontos cruciais para a obtenção
de um produto de qualidade: a correta elicitação, análise, especificação e validação de
requisitos. É de consenso tanto da comunidade acadêmica quanto industrial que um
produto de software de qualidade é aquele que é capaz de atender os requisitos
funcionais e não-funcionais dos respectivos usuários [3,4].
Assim, verifica-se neste contexto, que a qualidade de um produto de software é
fortemente influenciada pela qualidade do processo utilizado. Melhorar o processo de
desenvolvimento é um aspecto fundamental para a melhoria da qualidade do produto.
Fornecer software de qualidade não é apenas uma questão de funcionalidade visual. É
necessário atentar para a documentação do mesmo, a facilidade para rastrear e avaliar
impactos de mudanças nos requisitos, verificar a satisfação dos requisitos não-
funcionais, entre outros aspectos críticos. Este sentimento é também expresso em [5],
no qual são identificados os problemas mais comuns em projetos de software como
falhas na elicitação e análise de requisitos e impossibilidade completa de manutenção,
devido principalmente à falta ou inadequada documentação.
Estes problemas agravam-se ao observarmos que, em muitos casos, desenvolvedores
de software encontram-se em contextos de trabalho, nos quais há a necessidade de
atualizar e/ou reconstruir sistemas legados, juntamente com a difícil tarefa de evoluir
de metodologias tradicionais tais como abordagem estruturada [6] e essencial [10]
para metodologias mais modernas e atuais, como UP (Processo Unificado) [2,7]e
Catalysis[8]. As dificuldades neste processo são inúmeras. É importante considerar
todas as informações úteis e que possam ser aproveitadas a partir da documentação
existente do sistema legado. Propomos neste artigo, um conjunto de diretrizes que
visam facilitar o processo de transição em sistemas legados, e mais especificamente,
diretrizes que permitem mapear importantes informações modeladas em Diagramas
de Fluxos de dados (DFDs) para Casos de uso em UML.
A definição destas diretrizes é motivada pela grande quantidade de empresas que
ainda utilizam metodologias tradicionais e necessitam migrar para abordagens
orientadas a objetos, sem saber como nem quais informações podem ser mapeadas
neste processo de evolução.
Desta forma, este artigo discute, inicialmente, os principais processos e metodologias
de desenvolvimento de software existentes atualmente. Em seguida, propõe-se um
conjunto de diretrizes para apoiar a evolução natural que muitas empresas se
defrontam em relação à transição do uso de métodos tradicionais estruturados para o
uso de metodologias e processos orientados a objetos, como UP e Catalysis. Este
artigo está estruturado como se segue. Na seção 2 investiga-se aspectos essenciais de
cada uma das metodologias. Na seção 3 é apresentado o conjunto de diretrizes para
auxiliar engenheiros de requisitos na transição do uso de metolodogias. Na seção 4,
apresentamos as dificuldades encontradas no uso das diretrizes propostas e na seção 5
as considerações finais, bem como trabalhos futuros.
2. Usando Metodologias de Desenvolvimento de Sistemas
3. Independente da metodologia escolhida para a construção de um produto de software,
a mesma deve possuir uma semântica bem-definida, de modo que, qualquer outro
desenvolvedor possa interpretar e ser capaz de entender os propósitos do sistema sem
ambigüidades.
A metodologia deve também propiciar e nortear o desenvolvimento de forma que o
produto final de software possua características fundamentais relacionadas a
qualidade do produto em si. Algumas destas características e sub-características de
software são definidas em normas e modelos, como por exemplo na norma
ISO/IEC9126[9].
Ao definirmos a metodologia a ser utilizada devemos ter em mente que a abordagem
de cada uma difere em relação a conceitos e processos a serem utilizados, sem contar
que a experiência do analista é fator primordial para o sucesso de qualquer análise.
Muitas suposições são feitas quando tratamos a respeito de metodologias e seus
benefícios e vantagens em relação a outras já existentes. O que se observa na prática,
é uma constante evolução decorrente de experiências pessoais de um grupo de
pessoas. Essa evolução tem levado a criação de abordagens de desenvolvimento de
software mais sistemáticas, bem definidas e preocupadas em integrar efetivamente os
usuários no processo de desenvolvimento de software, e de forma mais critica, no
processo de engenharia de requisitos. Busca-se também desenvolver softwares mais
coesos, de fácil gerenciamento, passíveis de certificação e com um custo menor.
Recentemente, processos tais como o Processo Unificado e Catalysis têm sido
propostos para desenvolver softwares com estas características.
Neste contexto, se observarmos que sistemas legados precisam evoluir e em muitos
casos essa evolução implica em mudança de paradigma. A seguir fazemos um breve
relato das principais metodologias de desenvolvimento de sistemas existentes. Em
seguida, propomos um conjunto de diretrizes que visam facilitar o trabalho de
engenheiros de requisitos no processo de evolução de sistemas legados, quando há a
necessidade de mudança de abordagens de desenvolvimento.
2.1 Análise Estruturada de Sistemas
Em meados dos anos 70 o problema da especificação dos requisitos verdadeiros
começou a atrair séria atenção. Em 1975, o primeiro trabalho foi publicado por
Douglas T. Ross e Kennety E. Schoman Junior, Técnicas de Projeto de Análise
Estruturada ou SADT. Este trabalho foi um grande passo à frente na tecnologia de
definição de requisitos, por ter sido a primeira abordagem a propor um conjunto
prático de ferramentas de modelagem gráfica que superaram as deficiências evidentes
da especificação narrativa [7].
O maior problema com o SADT é que Ross e Choman não definiram claramente o
processo de desenvolvimento de uma especificação de requisitos. Em 1977, Gane e
Sarson [5], melhoraram o SADT oferecendo uma estratégia rudimentar para construir
um modelo de requisitos de um sistema baseado em dados. Na verdade, sua proposta
era a utilização adicional das ferramentas de modelagem da análise estruturada:
utilização específica do diagrama do fluxo de dados em combinação com o dicionário
de dados e a descrição de processos e procedimentos.
Estas técnicas, e mais especificamente a Análise Estruturada, tiveram como objetivo
principal auxiliar o analista a determinar se requisitos verdadeiros foram omitidos ou
4. se houve introdução de preferências ou influências tecnológicas. Porém, seus autores
não foram felizes em fornecer informações suficientes e orientações conceituais para
que os analistas pudessem realizar esta distinção.
Na verdade, este ponto crucial e de extrema importância foi fator importante para a
maioria dos analistas da época, pois apenas a experiência ditava como proceder.
Assim, todo o processo de desenvolvimento de sistemas por esta técnica era baseado
em:
Definir os fluxos de dados recebidos pelo sistema entradas;
Definir os fluxos de dados fornecidos pelo sistema saídas; e
Definir os dados que devem ser armazenados e os processos que devem ser
executados para transformar os fluxos de entrada nos fluxos de saída
2.2 Análise Essencial de Sistemas
A Análise Essencial ou Análise Estruturada Moderna tem por finalidade fornecer uma
declaração dos requisitos verdadeiros do sistema [10]. Este requisito verdadeiro,
também conhecido como requerimento essencial ou lógico é uma característica que o
sistema deve ter, qualquer que seja a tecnologia utilizada para implementá-lo.
Atualmente, estes requisitos receberam a denominação de Requisitos Funcionais.
A Análise Essencial de Sistemas tentou resolver o problema principal que existe na
maior parte dos projetos de software, a má formulação destes requisitos, bem como
sua distinção entre a visão lógica e física.
Com isso, todo o processo de desenvolvimento de sistemas constituia-se dos seguintes
aspectos:
Definir requisitos essenciais ou lógicos;
Identificar os eventos estímulos, aos quais o sistema deve responder para
atingir ao seu propósito;
Identificar os dados que devem ser armazenados e a atividade que deve ser
executada para que o sistema responda completamente ao evento.
2.3 Processo Unificado
O Processo Unificado UP , em comparação com outros processos conhecidos, é
bastante completo em sua definição [2].
O UP encaixa-se na definição geral de processo: um conjunto de atividades
executadas para transformar um conjunto de requisitos do cliente em um sistema de
software. Porém, é uma estrutura genérica de processo que pode ser customizado
adicionando-se ou removendo-se atividades com base nas necessidades específicas e
nos recursos disponíveis para um projeto orientado a objetos [2].
Seus princípios chave são: dirigido a casos de uso (ações executadas por um ou mais
atores), centrado na arquitetura (considerada o alicerce fundamental sobre o qual o
UP se erguerá) e iterativo e incremental (uma iteração é um miniprojeto que resulta
em uma versão do sistema liberada interna ou externamente).
O UP subdivide o desenvolvimento de software em quatro grandes fases denominadas
de Concepção, Elaboração, Construção e Transição. Estas fases também são
5. marcos de referência ( milestones ) no desenvolvimento, sendo que cada fase possui
alguns objetivos e conteúdo associados[2].
No processo iterativo e incremental, os stakeholders (o conjunto de sistemas, grupos
ou indivíduos que são afetados pelo sistema de software) acompanham e participam
de cada iteração no desenvolvimento de software. Esta integração permite que
mudanças ou adaptações necessárias ao sistema sejam mais facilmente acomodadas e
que problemas mais críticos no desenvolvimento possam ser descobertos em iterações
e fases iniciais do desenvolvimento. Outro aspecto positivo da abordagem iterativa é
que a mesma é orientada a riscos, sendo que em cada iteração os riscos de
desenvolvimento são avaliados e decisões podem ser tomadas, permitindo um
controle gradual dos riscos durante a evolução do sistema. Consideramos também que
o processo iterativo e incremental lida com uma realidade freqüentemente ignorada,
na qual usuários não conseguem definir todos os requisitos de um sistema
completamente no início do processo. Iterações sucessivas permitem uma evolução
gradual.
2.4 Processo Catalysis
A Análise e Projeto orientado a objetos utilizam os mesmos conceitos básicos para
descrever o domínio do usuário e o software. No Catalysis, estes conceitos básicos
são objetos, representando um cluster (menor unidade de informação) de informação
e funcionalidade, e uma ação, representando um evento, tarefa, trabalho, mensagem,
mudança de estado, interação, ou atividade. No Catalysis, a ação é colocada no
mesmo nível de objeto, porque um bom projeto requer cuidado sobre as ações
ocorridas e o que elas executam [8].
Diferente de alguns métodos de orientação a objeto, o Catalysis não se inicia sempre
determinando responsabilidades de ações para objetos específicos. Primeiramente
determina-se o que acontece e, em seguida, determina-se qual objeto é responsável
pela ação e qual é responsável pela sua inicialização. Finalmente determina-se como
será efetuada a ação.
O Catalysis utiliza o Refinamento, como um meio de mostrar objetos e ações em
diferentes escalas. Alguns atores podem ser peças de um software, como um sistema
de escalonamento, por exemplo. O Catalysis utiliza o conceito de programação
orientada a objeto, na qual unidades podem ser encapsuladas organizadamente em
objetos ou classes. Cada objeto possui uma série de tarefas que executam dados que
são utilizados para detalhar estas tarefas em grandes escalas. O Catalysis considera os
casos essenciais do projeto como os mesmos em todas as escalas, mostrando
variações no nível de detalhamento.
3. O Processo de Transição em Sistemas Legados
Muitas são as contribuições relacionadas a atualização de sistemas legados em relação
a uma nova metodologia [12,13,14,15,16]. Fontanette et al [13], relata em seu artigo
que os sistemas legados possuem lógica de programação, decisões de projeto,
requisitos de usuário e regras de negócio, que podem ser recuperados, facilitando sua
reconstrução, sem perda da semântica. Assim, abandoná-los e começar o projeto do
zero seria uma perda considerável.
6. Nas próximas seções descreve-se as diretrizes que apontamos como decisivas para
realizar a transição entre metodologias, visando melhorar/atualizar os sistemas
legados.
3.1 Treinamento de Pessoal
Este treinamento requer que a equipe que irá realizar esta difícil tarefa, tenha algumas
qualidades que julgamos serem essenciais:
a) Conhecimento da nova metodologia(Catalysis e RUP, na maioria dos casos);
b) Conhecimento de ferramentas CASE que facilitem o trabalho de migração;
c) Excelente ambiente de trabalho, não só em relação ao grau de relacionamento do
grupo como também em relação a um local apropriado para o desenvolvimento
do trabalho, sem precisar dividir o ambiente de trabalho com várias pessoas de
setores diferentes, por exemplo.
Estas qualidades são fundamentais para que o processo de migração seja mais efetivo
e produtivo.
3.2 Organização da Base de Informações
A organização da base de informações é decisiva para facilitar a engenharia reversa
[17] de um sistema legado utilizando outra metodologia. As seguintes situações
podem ser observadas:
a) Um sistema sem documentação neste caso, estão disponíveis apenas as
informações do código fonte do sistema;
b) Um sistema com documentação atualizada Neste caso, se temos uma
documentação em ordem, o processo é facilitado, uma vez que podemos verificar
a análise efetuada anteriormente e as atualizações que se tornaram necessárias
com o passar dos anos. Temos um histórico completo do sistema, simplificando a
organização.
c) Um sistema com uma documentação não atualizada Nesta situação bastante
comum, as equipes mal tiveram tempo de realizar as atualizações nos códigos
fontes do sistema. Normalmente, as equipes que trabalham no sistema não foram
as mesmas que o desenvolveram.
Em qualquer das situações acima, devemos ter em mente que a equipe que irá realizar
a tarefa de evolução de sistemas legados utilizando uma nova metodologia, não será a
mesma que o desenvolveu. Assim, normalmente precisamos nos basear em alguns
pontos cruciais para o desenvolvimento do projeto, conforme segue:
Deve-se integrar efetivamente, o usuário/cliente no processo de desenvolvimento.
A integração e interação constante de usuário/cliente durante todo o processo de
transição do uso de metodologias modificando e reconstruindo sistemas legados
é ponto decisivo para o sucesso do processo.
Deve-se considerar efetivamente os requisitos que o sistema deve atender (ou
requisitos verdadeiros). Os requisitos do sistema são o que o sistema produz ou
emite em forma de relatórios e consultas visuais em tela para os respectivos
usuários. O que o sistema produz justifica a sua existência e a sua essência.
7. Preocupar-se com a satisfação dos requisitos de clientes e usuários é uma questão
chave no processo de transição adotado.
Para compreendermos melhor este processo, tomemos como base os três tipos
diferentes de situações apresentadas em relação a sistemas legados (baseados na
documentação existente) e suas respectivas ações a serem desenvolvidas, de acordo
com a Tabela 2.
Neste exemplo, supomos a transição da metodologia da Análise essencial ou
estruturada para uma metodologia de Orientada a Objetos, como RUP ou Catalysis.
Cabe ressaltar que ambas as metodologias orientadas a objetos consideram os casos
de uso como elementos chaves e essenciais no processo de desenvolvimento.
Sistemas Legados
Situação da Documentação
Precária AtualizadaInexistente
Análise Estruturada/Análise
Essencial
Implementado na
Análise Estruturada
Fases:
1 Realizar a Conversão
de DFDs em Casos de
Uso;
2 Analisar E/S do
Sistema
3 Validar com os
Stakeholders as E/S
apontadas na Fase 2.
4 Organizar Casos de
Uso.
Implementados na
Análise Essencial
Fases:
1- Analisar código
fonte do
Sistema;
2- Analisar E/S do
Sistema
3- Validar com os
Stakeholders as
E/S apontadas
na Fase 2.
Fases:
1 Atualizar DFDs - Analisar
DFDs existentes e compará-los
com a análise efetuada no
código fonte;
2 Realizar a Conversão de
DFDs em Casos de Uso;
3 Analisar E/S do Sistema
4 Validar com os
Stakeholders as E/S apontadas
na Fase 3.
5 Organizar Casos de Uso
Fases:
1 Analisar Diagrama
de Contexto;
2 Realizar a Conversão
de DFDs em Casos de
Uso;
3 Analisar E/S do
Sistema
4 Validar Stakeholders
apontados na Fase 1 e as
E/S apontadas na Fase 3.
5 Organizar Casos de
Uso.
Tabela 2. Passos a serem seguidos na realização de engenharia reversa em sistemas legados.
Observando a Tabela 2, podemos visualizar as análises e comparações a serem
efetuadas em sistemas legados considerando a documentação existente.
É importante observar que relatos na literatura apontam para o consenso de que a
análise do código fonte e sua organização, auxilia o engenheiro de software a
8. remodelar o sistema sob o enfoque orientado a objetos [13,14,15,16]. Contudo, pouca
atenção se dá as outras possibilidades de uso de informações, como por exemplo, o
mapeamento de modelos e diagramas que representam, tipicamente, os aspectos
essenciais de um sistema. Desta forma, pode-se enriquecer a coleta de informações
necessária a atualização/reconstrução de sistemas legados. Modelos tais como DFDs
podem efetivamente ser mapeados para casos de uso em UML, facilitando o trabalho
de transição entre metodologias.
A seguir apresentamos um conjunto de diretrizes que permitem mapear Diagramas de
Fluxos de Dados para casos de uso em UML. As diretrizes a serem propostas podem
ser aplicadas para mapear elementos de metodologias tradicionais (Estruturada ou
Essencial), para o Processo Unificado ou para o Catalysis, uma vez que nosso
principal enfoque será obter os casos de uso referentes ao sistema, os quais são
elementos chaves nos dois processos orientados a objetos.
3.3 Mapeando elementos de Diagramas de Fluxos de Dados para Casos
de Uso em UML.
Um dos maiores problemas atuais no desenvolvimento de software está relacionado
ao processo de transição entre metodologias. Atualmente, muitas organizações são
obrigadas a mudar seus sistemas computacionais utilizando novas abordagens de
desenvolvimento, as quais apresentam algumas vantagens tais como: maior
flexibilidade, suporte automatizado para todo o processo de desenvolvimento, etapas
e artefatos bem definidos, bem como possibilidade de uso efetivo do paradigma
orientado a objetos. Contudo, na maioria das situações, existem informações
importantes nos sistemas legados que devem ser mapeadas para novos artefatos
gerados no uso de novas metodologias.
Neste contexto, verificamos que tipicamente Diagramas de Fluxos de Dados
desenvolvidos utilizando metodologias tradicionais precisam ser mapeados de forma
mais efetiva e sistemática para a técnica de casos de uso. É importante ressaltar que
casos de uso fazem parte da UML e são considerados essenciais na maioria dos
processos de desenvolvimento orientados a objetos atualmente utilizados. Não é
correto assumir que apenas o código fonte em sistemas legados é suficiente para
elicitar e documentar todos os requisitos essenciais de sistemas computacionais
objetos de transição e evolução. É necessário atentar para toda documentação
disponível que possa auxiliar na transição e evolução de sistemas de software.
Neste sentido, propomos a seguir, um conjunto de diretrizes que visam auxiliar
desenvolvedores no processo de mapeamento entre os artefatos gerados nas
metodologias tradicionais e artefatos gerados nas metodologias orientadas a objetos.
O foco das diretrizes está no mapeamento de Diagramas de Fluxos de Dados (DFDs)
para Casos de Uso em UML. Após a descrição das diretrizes, apresentamos uma
tabela que mostra a aplicabilidade das diretrizes para cada situação, tomando como
base a documentação disponível dos sistemas legados.
Estas diretrizes são dependentes exclusivamente da situação documental disponível,
de acordo com a Tabela 2, podendo ser aplicadas, dependendo da situação da
documentação do software legado, conforme descrito na Tabela 3.
Situação da Documentação Existente Diretrizes a serem implementadas
9. A B C D E
Inexistente X X
Precária X X X X
Atualizada Estruturada X X X
Atualizada Essencial X X X X
Tabela 3. Uso das diretrizes propostas de acordo com a situação documental disponível.
a) Diretriz A Análise do Diagrama de Contexto (DFD nível 0) - Esta diretriz tem
por objetivo relacionar as entidades externas como prováveis atores do sistema
legado. Esta informação deverá ser validada com a Diretriz E. Nessa diretriz todas as
entidades externas serão relacionadas como possíveis atores do sistema.
Quadro 1. Diretriz A análise do diagrama de contexto
b) Diretriz B Conversão do Diagrama de Fluxo de Dados para Diagrama de
Casos de Uso
b.1)Subdiretriz B1 - Para cada DFD de ultimo nível do sistema legado será
elaborado um Caso de Uso, como exemplificado na Figura 1.
Figura 1. Conversão DFD para diagrama de caso de uso.
b.2) Subdiretriz B2 - Analisar a especificação do processo do DFD (Figura 3).
Caso o DFD não possua Entidade Externa, ele é o resultado de um outro
processo anterior que o originou. Neste caso, deve ser definido apenas como um
Entidades Externas
que serão prováveis
atores do sistema:
- Cliente
- Atendente
- Gerente
Sistema de
Controle de
Locadora
Cliente Atendente
Gerente
Fluxos de entrada/saída
no DFD são
mapeados para
especificação do caso
de uso pré e pós-
condições (Figura 2)
Entidade Externa é mapeada para
ator no diagrama de casos de uso
O processo no DFD é
mapeado para Caso de uso
e o Português estruturado
deste processo é mapeado
para a especificação do
caso de uso (Figura 2)
10. caso de uso do tipo <<include>> ou <<extend>> , o qual será chamado em outro
caso de uso. Devemos ter o cuidado de validá-lo com o DFD que o chamou, e
assim incluí-lo no processo de conversão (Figura 2 e Figura 3). Normalmente, a
especificação do processo indica quais são os passos necessários para se atingir
um determinado objetivo. Deste modo, pode-se a partir da especificação do
processo analisado já incluir no caso de uso correspondente as colaborações e
generalizações indicadas de acordo com a Figura 3.
Figura 2. Conversão DFD para caso de uso especial
Figura 3. Análise e conversão da especificação do processo Validar Cliente.
Fonte: Código do Português Estruturado [6].
b.3) Subdiretriz B3 Analisar os fluxos de entrada e saída do DFD, bem como
a especificação do processo do DFD. Este passo é importante para validar os
depósitos de dados identificados no DFD (Figura 1, 3 e Tabela 4).
Vejamos, por exemplo, a Tabela 4. Nesta tabela o caso de uso Validar Cliente é
descrito com base nas informações contidas na especificação do processo do DFD
(Figura 3). Definimos o objetivo do caso de uso analisado, sua prioridade, indicando
se sua execução é essencial ao sistema, as pré-condições existentes para sua execução,
as pós-condições após a sua execução e o cenário principal juntamente com os fluxos
secundários, indicando alternativas de execução. Descreve-se também os caso de uso
pai e subordinados, os quais são detectados no decorrer da conversão dos DFDs.
No passo 1 do cenário principal (O caso de uso inicia Quando DeptVendas requer a
validação do cliente) devemos indicar o responsável pela execução do mesmo.
Apesar da especificação do processo do DFD não indicar o ator, o DFD possui como
Entidade Externa o DeptVendas, logo, ele é incluído como ator do Caso de Uso. Nos
<<include>>
<<include>>
<<include>
<<include>>
Criar
cliente
Novo
11. outros passos é realizada uma referência a especificação do processo, como por
exemplo, em Se cliente encontrado no DFD, que foi representado pelo passo 2 O
sistema verifica a existência do cliente .
Os fluxos de exceção são tratados pelos casos de uso secundários (include ou extend),
associados ao caso de uso principal Validar Cliente.
Caso de Uso Validar Cliente
Objetivo Este caso de uso descreve o procedimento para que um cliente seja
validado de acordo com sua situação decorrente do crédito
Prioridade ( x )Essencial ( ) Secundário
Pré-Condições Dados do cliente e Pedido do cliente incluído .
Pós-Condições Pedido do Cliente Processado.
Cenário Principal 1. O caso de uso inicia Quando DeptVendas requer a
validação do cliente
2. O sistema verifica existência do cliente (caso de uso
checar cliente é incluído)
3. O sistema verifica o crédito do cliente (caso de uso
checar crédito é incluído)
4. O sistema reune todos os pedidos do cliente (caso de
uso reunir pedidos é incluído)
5. O sistema cadastra todos os pedidos do cliente (caso de
uso criar pedido cliente é incluído)
Fluxos Secundários
Caso de Uso Pai
Caso de Uso
Subordinado
Checar cliente
Checar crédito
Reunir pedidos
Criar pedido
Tabela 4. Especificação do Caso de Uso.
c) Diretriz C Organização das Entradas e Saídas do Sistema esta diretriz tem por
objetivo relacionar e validar as entradas e saídas do sistema. Este passo requer o
auxílio da equipe ou responsável pela manutenção do sistema, que indicará para cada
entrada (em tela) e saída (relatório existente) o usuário responsável pela informação.
Deste modo, o engenheiro de software terá uma relação de todos os atores
(stakeholders) que são afetados.
d) Diretriz D Validação dos Stakeholders esta diretriz tem por objetivo validar os
stakeholders apontados pela diretriz D. Deste modo, o engenheiro de software deve
comparar com os atores já identificados pela diretriz B e realizar as alterações
necessárias nos casos de uso identificados.
e) Diretriz E Organizar Casos de Uso esta diretriz tem por objetivo organizar os
diagramas de caso de uso de acordo com as notações propostas pela UML. Casos de
uso devem ser agrupados em pacotes ou pela especificação de relacionamentos de
generalização, inclusão e extensão, existentes entre os mesmos [4].
12. 4. Principais Dificuldades Presentes no Processo de Transição
entre Metodologias
A experiência já ditava regras desde a Análise Estruturada, uma vez que apenas os
analistas experientes tinham conhecimento para discernir o lógico do físico, pois os
poucos que conseguiam aprender a fazer esta distinção, não tinham sucesso em passar
esta aptidão aos colegas [7].
Na prática, o que verificamos é que, com pouquíssimas exceções, as pessoas não
conseguem aprender uma nova metodologia de desenvolvimento com tanta facilidade.
Para muitos analistas, uso do UP ou Catalysis envolve diversas dificuldades técnicas e
de origem pessoal.
A realidade de nossas empresas, tanto privadas, quanto estatais ou do governo, como
é o caso do Exército Brasileiro, está começando a mudar. A experiência de um dos
autores do presente artigo no Exército Brasileiro mostra que grupos de
desenvolvimento de sistemas de Brasília, Capital Federal, se encontram num dilema
entre a transição de metodologia, pois ainda utilizam a Análise Estruturada. A
transição tem se mostrado lenta e gradual buscando um só objetivo: o
desenvolvimento e migração de sistemas existentes e a desenvolver. As diretrizes
propostas neste artigo são fruto da experiência de desenvolvimento dos autores, bem
como das dificuldades encontradas no âmbito da análise de sistemas do Exército
Brasileiro.
5. Considerações Finais e Trabalhos Futuros
Apresentamos, inicialmente, neste artigo, um relato das principais metodologias de
desenvolvimento de sistemas existentes, buscando facilitar o estudo dos fatores
envolvidos no processo de migração de projetos elaborados através da Análise
Estruturada ou a Análise Essencial para projetos elaborados utilizando processos e
metodologias Orientadas a Objeto.
Com base neste estudo inicial, propomos um conjunto de diretrizes para auxiliar
engenheiros de software/requisitos no processo de transição entre metodologias
tradicionais e orientadas a objetos. Basicamente, propõe-se de forma sistemática,
mapear as informações existentes na documentação do processo tradicional para o
processo de desenvolvimento orientado a objetos. Apoiamo-nos no fato de que as
informações presentes em DFDs podem auxiliar o processo de construção e descrição
de casos de uso em UML. Defende-se a idéia de que as diretrizes propostas devem ser
aplicadas de acordo com a documentação disponível em relação aos sistemas legados
sendo tratados.
Verificamos neste trabalho que o processo de transição de abordagens de
desenvolvimento tradicionais para as utilizadas na orientação a objetos implica,
inicialmente, em uma mudança de cultura bastante complexa dentro da empresa.
Consideramos também que outros aspectos importantes tais como rastreamento de
requisitos, modelagem organizacional e tratamento de requisitos não-funcionais, não
considerados na análise estruturada e essencial de sistemas, devem ser inseridos
gradualmente na equipe de desenvolvimento aumentando progressivamente o grau de
maturidade dessas organizações.
13. Ressaltamos que as diretrizes propostas foram elaboradas com base em experiências,
principalmente, no processo de análise de sistemas da Marinha do Brasil e do
Exército Brasileiro, do qual um dos autores participa há mais de 12 anos.
Nossos estudos iniciais apresentados neste artigo servem de base para a elaboração de
uma proposta mais ampla na qual pretendemos:
a)Associar a modelagem organizacional com a modelagem funcional [18] da empresa
com base na documentação existente dos sistemas legados;
b)Desenvolver uma ferramenta que suporte a conversão do DFDs para Casos de Uso
usando as diretrizes propostas neste artigo, pois como já mencionamos, a técnica de
casos de uso é chave na UML, bem como nos principais processos de
desenvolvimento Orientado a Objetos.
6. Referências Bibliográficas
[1] Filho, T. L. Metodologia de Desenvolvimento de Sistemas , Axcel Books, Rio de
Janeiro,2003.
[2] Scott, Kendall. O Processo Unificado Explicado . Bookman,, Porto Alegre,2003
[3] Chung, L.; Nixon, B.; Yu,Eric;Mylopoulos,John. Non-Functional requirements in Software
engineering , USA: Kluwer Academic Publishers, 2000,439p.
[4] Booch, G.; Rumbaugh, J., Jacobson, I. The Unified Modeling Language , Addison-
Wesley,1999.
[5] Shlaer,S.; Mellor,S. Análise de Sistemas Orientada para Objetos , Makron Books, São
Paulo,1990.
[6] Gane, C.; Sarson,Trish. Structured Systems Analysis , New York, Improved System
Technologies, 1977.
[7] Jacobson, I.; Booch, G.; Rumbaugh, J. The Unified Software Development Process ,
Addison-Wesley (1999).
[8] D Souza, D. and A.Wills. Objects, Components and Frameworks with UML: The
Catalysis Approach , USA: Addison-Wesley, (1995).
[9] ISO International Standard Organization. ISSO 9000 Quality Management system. 1.ed.
Geneva: ISSO 2000.
[10 McMenamin, S.; Palmer,J. F. Análise Essencial de Sistemas , Makron Books, São
Paulo,1984.
[11] Toranzo, Marco A., Uma Proposta para Melhorar o Rastreamento de Requisitos de
Software , Centro de Informática, Universidade Federal de Pernambuco, Tese de Doutorado,
Dezembro, (2002).
[12] Fukuda, A. P. Refinamento Automático de sistemas Orientados a Objetos Distruidos São
Carlos/SP, 2000. Dissertação de Mestrado. Universidade Federal de São Carlos
[13] Fontanete,V. et al. Reengenharia de Sistemas Legados Baseada em Componentes usando
Transformações . São Carlos/SP,2003. Artigo. Universidade Federal de São Carlos.
[14] Jesus,E.S. Engenharia Reversa de Sistemas Legados Usando Transformações . São
Carlos/SP, 2002, Dissertação de Mestrado, Universidade Federal de São Carlos.
[15] Werner, C.M.L.; Braga, R. M.M. Desenvolvimento Baseado em Componentes . XIV
Simpósio Brasileiro de Engenharia de Software SBES2000 Minicursos e Tutoriais pg. 297-
329 2-6 de Outubro, 2000.
[16] Jesus, E. S. Engenharia Reversa de Sistemas Legados Usando Transformações , 2000 -
Dissertação de Mestrado, Ciências da Computação, UFSCAR.
[17] Chikofsky, E. Reverse Engineering and Design Recovery A Taxonomy . IEEE Software
[18] Santander, Victor F.A. Integração de Modelagem Organizacional com Modelagem
Funcional na Engenharia de Requisitos . Centro de Informática, Universidade Federal de
Pernambuco, Tese de Doutorado, Dezembro, (2003).