O documento introduz conceitos básicos de engenharia de software, abordando:
1) A definição de software e sua classificação em diferentes categorias;
2) Os principais problemas que levaram à "crise do software" e a evolução da área ao longo das décadas;
3) Os papéis e disciplinas associados ao desenvolvimento de software.
Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão.
Este documento discute conceitos fundamentais de endereços IP, incluindo: (1) O que é um endereço IP e como ele identifica dispositivos em uma rede; (2) Os diferentes tipos de redes públicas e privadas; (3) Como o espaço de endereços IP é dividido em classes A, B, C, D e E.
O documento discute métricas de software, incluindo conceitos, tipos de métricas, processos de medição e métricas para recursos como tempo, pessoas e custos. É apresentada uma agenda com conceitos, aplicações e tipos de métricas para produtos, clientes, processos e gestão.
1.O que é Arquitetura de redes
2.O que é Redes de computadores
3.Protocolos de Rede
4.Topologia da rede
5.Tipos de Cabos de redes
6.Tipos de Redes sem fio
7.Camadas da pilha de protocolos
8.Modelo OSI
8.1 Camadas Modelo OSI
8.2 Funcionamento Modelo OSI
9. Descrição do serviço
10. Conclusão
11. Referencias / Bibliografia
O documento descreve os principais tipos de sistemas operacionais, incluindo monotarefa, multitarefa, em tempo real e por lotes. Discutem como os sistemas operacionais controlam o acesso aos recursos do computador e permitem a execução simultânea de tarefas.
O documento discute a qualidade de software, definindo-a como a conformidade aos requisitos dos clientes. Apresenta diferentes visões de qualidade de software e discute padrões e normas importantes como ISO 9126 para garantir a qualidade. Também descreve exemplos históricos de bugs caros que ocorreram por falta de qualidade.
O documento introduz conceitos básicos de engenharia de software, abordando:
1) A definição de software e sua classificação em diferentes categorias;
2) Os principais problemas que levaram à "crise do software" e a evolução da área ao longo das décadas;
3) Os papéis e disciplinas associados ao desenvolvimento de software.
Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão.
Este documento discute conceitos fundamentais de endereços IP, incluindo: (1) O que é um endereço IP e como ele identifica dispositivos em uma rede; (2) Os diferentes tipos de redes públicas e privadas; (3) Como o espaço de endereços IP é dividido em classes A, B, C, D e E.
O documento discute métricas de software, incluindo conceitos, tipos de métricas, processos de medição e métricas para recursos como tempo, pessoas e custos. É apresentada uma agenda com conceitos, aplicações e tipos de métricas para produtos, clientes, processos e gestão.
1.O que é Arquitetura de redes
2.O que é Redes de computadores
3.Protocolos de Rede
4.Topologia da rede
5.Tipos de Cabos de redes
6.Tipos de Redes sem fio
7.Camadas da pilha de protocolos
8.Modelo OSI
8.1 Camadas Modelo OSI
8.2 Funcionamento Modelo OSI
9. Descrição do serviço
10. Conclusão
11. Referencias / Bibliografia
O documento descreve os principais tipos de sistemas operacionais, incluindo monotarefa, multitarefa, em tempo real e por lotes. Discutem como os sistemas operacionais controlam o acesso aos recursos do computador e permitem a execução simultânea de tarefas.
O documento discute a qualidade de software, definindo-a como a conformidade aos requisitos dos clientes. Apresenta diferentes visões de qualidade de software e discute padrões e normas importantes como ISO 9126 para garantir a qualidade. Também descreve exemplos históricos de bugs caros que ocorreram por falta de qualidade.
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
Material para palestra sobre a Metodologia de desenvolvimento Extreme Programming, ministrada no 1º ENDESDISMO - Encontro de Desenvolvimento de Software p/ Dispositivos Móveis - UNOPAR CCET LONDRINA/PR
Informática aplicada a gestão - Material 1João Filho
O documento descreve a história e conceitos fundamentais da informática. Em particular, (1) traça a evolução dos computadores desde máquinas mecânicas no século 17 até os computadores modernos, (2) define termos-chave como dados, informação e processamento de dados, e (3) explica sistemas numéricos como binário e decimal.
Este documento apresenta os conceitos fundamentais da programação concorrente. Em três frases:
A programação concorrente permite a execução simultânea de várias tarefas computacionais através de múltiplos fluxos de execução. Ela é útil para aproveitar recursos computacionais paralelos e tornar aplicações mais responsivas. No entanto, a concorrência também introduz riscos como corridas, deadlocks e inanição que devem ser evitados.
O documento discute a análise e modelagem de software como parte do desenvolvimento de software. Apresenta os conceitos de análise, projeto, modelagem e tipos de modelos utilizados durante a análise, incluindo modelos de contexto, interação, estrutural e comportamental. Exemplos de diagramas UML são fornecidos para cada tipo de modelo.
Neste trabalho pretendo dar a conhecer o software Open Source (OSS).
Partindo de ideais de partilha, as soluções Open Source têm uma contribuição fundamental para a inovação fora da indústria de software. Elas permitem a leitura, a partilha e a disposição de diferentes programas, agregando benefícios como a redução de custos e maior transparência para o utilizador. Contribuem, também, para a transformação digital, unindo organizações a sistemas ágeis e flexíveis.
Disciplina: Sistemas Operativos
Este documento apresenta os conceitos básicos de sistemas operacionais. Define um sistema operacional como um programa que serve de interface entre o usuário e o hardware, e descreve suas funções principais como facilitar o acesso aos recursos do sistema e gerenciar o compartilhamento de recursos de forma protegida. Também resume os três principais tipos de sistemas operacionais: monotarefa, multitarefa e múltiplos processadores.
O documento discute a história e definições de qualidade de software, mencionando que a qualidade pode ser vista de diferentes perspectivas e existem muitas definições possíveis. A qualidade é analisada em termos de atributos como fatores e critérios, e depende do grau de satisfação dos clientes. Por fim, discute a evolução histórica do conceito de qualidade no Brasil e no mundo.
O documento descreve a evolução e classificação dos sistemas operacionais, incluindo: 1) as gerações dos sistemas desde painéis de programação até sistemas distribuídos; 2) os tipos de sistemas como monotarefa, multitarefa, tempo real e distribuídos; 3) as características dos sistemas com múltiplas CPUs.
O documento resume princípios de design como SOLID e padrões de projeto. Aborda a importância de estudar constantemente e aplicar boas práticas como responsabilidade única, aberto/fechado, substituição de Liskov e inversão de dependência para projetar software de forma limpa e mantível.
O documento fornece uma visão geral da arquitetura de software, discutindo sua importância, definições e histórico. A arquitetura de software emerge nos anos 80 como forma de estudar infraestruturas de software e agora oferece notações para ajudar no desenvolvimento de sistemas complexos. Uma boa arquitetura permite que um sistema atenda requisitos chaves, enquanto uma má pode ser desastrosa.
Um sistema operativo é o software fundamental de um computador que cria uma ligação entre o hardware e o utilizador e gere funções como a execução de programas, gestão de recursos e periféricos. O documento descreve a evolução dos sistemas operativos desde as primeiras versões sem interface até sistemas populares atuais como Windows, Mac OS, Linux e outros.
O documento discute o endereçamento IP, explicando que cada dispositivo de rede precisa de um endereço IP único para identificação e comunicação. O endereço IP é composto por 32 bits divididos em quatro octetos e serve para identificar tanto o dispositivo quanto a rede à qual pertence. O documento também explica conceitos como máscaras de sub-rede, endereços de broadcast e loopback.
Durante um dos ciclos de seminários no Instituto Federal de Mato Grosso do Sul (IFMS), fomos encarregados de apresentar sobre os sistemas operacionais para servidores. Para tanto, criamos um texto que condensaria algumas ideias sobre o assunto com o intuito de compor uma base que não abrangesse somente alguns sistemas, mas mostra-se de forma clara e sucinta o objetivo principal de um sistema operacional, ou seja, abastração e gerência. Para a pesquisa, utilizamos alguns renomados pesquisados de sistemas operacionais como Maziero e Tanembaum, para dar maior credibilidade e sustento às ideias que queríamos expor.
Para ter acesso ao material completo, por favor, acesse meu site. www.luizpicolo.com.br
O documento descreve o modelo de camadas TCP/IP, que consiste em quatro camadas: aplicação, transporte, inter-rede e interface de rede. A camada de aplicação contém protocolos como Telnet, FTP e HTTP. A camada de transporte inclui TCP e UDP. A camada inter-rede usa protocolos como IP e ICMP. A camada de interface de rede gerencia a interface física com dispositivos de rede.
O documento discute a história e características das redes de computadores, desde as primeiras redes centralizadas até as atuais redes distribuídas e em nuvem. Apresenta os principais modelos de redes como cliente-servidor e os tipos de redes como LAN, MAN e WAN. Explica como as redes funcionam através da transmissão de dados entre fontes, transmissores, sistemas de transmissão e destinos.
O documento discute vírus de computador, seus tipos (incluindo cavalos de Tróia, worms e spywares), e como se proteger com antivírus e firewalls. Ele explica o que são hackers, phreakers e phishing, e lista alguns dos melhores antivírus gratuitos e pagos para proteção online.
Redes I - 1.Introdução às Redes de Comunicação de DadosMauro Tapajós
O documento introduz conceitos básicos sobre redes de comunicação de dados. Ele discute por que as redes são usadas, seu impacto para pessoas e empresas, o que é comunicação digital, modelos de comunicação e tipos de informação digital. Também aborda conceitos como topologia de rede, protocolos, tipos de endereços e comutação.
El documento introduce conceptos clave sobre métricas técnicas de software, incluyendo factores de calidad como los definidos por McCall, FURPS e ISO 9126. Explica la importancia de medir atributos internos del software como la modularidad y la independencia funcional para predecir la calidad. También describe métricas para medir modelos de análisis y diseño, como los puntos de función y la complejidad estructural, de datos y del sistema.
Engenharia de software apostila analise de requisitos irobinhoct
1) O documento discute as fases de engenharia de software, incluindo análise de requisitos, desenvolvimento e verificação.
2) A fase de análise de requisitos envolve reconhecimento do problema, avaliação do problema, síntese da solução e especificação dos requisitos do software.
3) As atividades de análise de requisitos incluem reconhecimento do problema, avaliação do problema e síntese da solução através de modelagem, para entender melhor o fluxo de dados e controle do sistema.
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
Material para palestra sobre a Metodologia de desenvolvimento Extreme Programming, ministrada no 1º ENDESDISMO - Encontro de Desenvolvimento de Software p/ Dispositivos Móveis - UNOPAR CCET LONDRINA/PR
Informática aplicada a gestão - Material 1João Filho
O documento descreve a história e conceitos fundamentais da informática. Em particular, (1) traça a evolução dos computadores desde máquinas mecânicas no século 17 até os computadores modernos, (2) define termos-chave como dados, informação e processamento de dados, e (3) explica sistemas numéricos como binário e decimal.
Este documento apresenta os conceitos fundamentais da programação concorrente. Em três frases:
A programação concorrente permite a execução simultânea de várias tarefas computacionais através de múltiplos fluxos de execução. Ela é útil para aproveitar recursos computacionais paralelos e tornar aplicações mais responsivas. No entanto, a concorrência também introduz riscos como corridas, deadlocks e inanição que devem ser evitados.
O documento discute a análise e modelagem de software como parte do desenvolvimento de software. Apresenta os conceitos de análise, projeto, modelagem e tipos de modelos utilizados durante a análise, incluindo modelos de contexto, interação, estrutural e comportamental. Exemplos de diagramas UML são fornecidos para cada tipo de modelo.
Neste trabalho pretendo dar a conhecer o software Open Source (OSS).
Partindo de ideais de partilha, as soluções Open Source têm uma contribuição fundamental para a inovação fora da indústria de software. Elas permitem a leitura, a partilha e a disposição de diferentes programas, agregando benefícios como a redução de custos e maior transparência para o utilizador. Contribuem, também, para a transformação digital, unindo organizações a sistemas ágeis e flexíveis.
Disciplina: Sistemas Operativos
Este documento apresenta os conceitos básicos de sistemas operacionais. Define um sistema operacional como um programa que serve de interface entre o usuário e o hardware, e descreve suas funções principais como facilitar o acesso aos recursos do sistema e gerenciar o compartilhamento de recursos de forma protegida. Também resume os três principais tipos de sistemas operacionais: monotarefa, multitarefa e múltiplos processadores.
O documento discute a história e definições de qualidade de software, mencionando que a qualidade pode ser vista de diferentes perspectivas e existem muitas definições possíveis. A qualidade é analisada em termos de atributos como fatores e critérios, e depende do grau de satisfação dos clientes. Por fim, discute a evolução histórica do conceito de qualidade no Brasil e no mundo.
O documento descreve a evolução e classificação dos sistemas operacionais, incluindo: 1) as gerações dos sistemas desde painéis de programação até sistemas distribuídos; 2) os tipos de sistemas como monotarefa, multitarefa, tempo real e distribuídos; 3) as características dos sistemas com múltiplas CPUs.
O documento resume princípios de design como SOLID e padrões de projeto. Aborda a importância de estudar constantemente e aplicar boas práticas como responsabilidade única, aberto/fechado, substituição de Liskov e inversão de dependência para projetar software de forma limpa e mantível.
O documento fornece uma visão geral da arquitetura de software, discutindo sua importância, definições e histórico. A arquitetura de software emerge nos anos 80 como forma de estudar infraestruturas de software e agora oferece notações para ajudar no desenvolvimento de sistemas complexos. Uma boa arquitetura permite que um sistema atenda requisitos chaves, enquanto uma má pode ser desastrosa.
Um sistema operativo é o software fundamental de um computador que cria uma ligação entre o hardware e o utilizador e gere funções como a execução de programas, gestão de recursos e periféricos. O documento descreve a evolução dos sistemas operativos desde as primeiras versões sem interface até sistemas populares atuais como Windows, Mac OS, Linux e outros.
O documento discute o endereçamento IP, explicando que cada dispositivo de rede precisa de um endereço IP único para identificação e comunicação. O endereço IP é composto por 32 bits divididos em quatro octetos e serve para identificar tanto o dispositivo quanto a rede à qual pertence. O documento também explica conceitos como máscaras de sub-rede, endereços de broadcast e loopback.
Durante um dos ciclos de seminários no Instituto Federal de Mato Grosso do Sul (IFMS), fomos encarregados de apresentar sobre os sistemas operacionais para servidores. Para tanto, criamos um texto que condensaria algumas ideias sobre o assunto com o intuito de compor uma base que não abrangesse somente alguns sistemas, mas mostra-se de forma clara e sucinta o objetivo principal de um sistema operacional, ou seja, abastração e gerência. Para a pesquisa, utilizamos alguns renomados pesquisados de sistemas operacionais como Maziero e Tanembaum, para dar maior credibilidade e sustento às ideias que queríamos expor.
Para ter acesso ao material completo, por favor, acesse meu site. www.luizpicolo.com.br
O documento descreve o modelo de camadas TCP/IP, que consiste em quatro camadas: aplicação, transporte, inter-rede e interface de rede. A camada de aplicação contém protocolos como Telnet, FTP e HTTP. A camada de transporte inclui TCP e UDP. A camada inter-rede usa protocolos como IP e ICMP. A camada de interface de rede gerencia a interface física com dispositivos de rede.
O documento discute a história e características das redes de computadores, desde as primeiras redes centralizadas até as atuais redes distribuídas e em nuvem. Apresenta os principais modelos de redes como cliente-servidor e os tipos de redes como LAN, MAN e WAN. Explica como as redes funcionam através da transmissão de dados entre fontes, transmissores, sistemas de transmissão e destinos.
O documento discute vírus de computador, seus tipos (incluindo cavalos de Tróia, worms e spywares), e como se proteger com antivírus e firewalls. Ele explica o que são hackers, phreakers e phishing, e lista alguns dos melhores antivírus gratuitos e pagos para proteção online.
Redes I - 1.Introdução às Redes de Comunicação de DadosMauro Tapajós
O documento introduz conceitos básicos sobre redes de comunicação de dados. Ele discute por que as redes são usadas, seu impacto para pessoas e empresas, o que é comunicação digital, modelos de comunicação e tipos de informação digital. Também aborda conceitos como topologia de rede, protocolos, tipos de endereços e comutação.
El documento introduce conceptos clave sobre métricas técnicas de software, incluyendo factores de calidad como los definidos por McCall, FURPS e ISO 9126. Explica la importancia de medir atributos internos del software como la modularidad y la independencia funcional para predecir la calidad. También describe métricas para medir modelos de análisis y diseño, como los puntos de función y la complejidad estructural, de datos y del sistema.
Engenharia de software apostila analise de requisitos irobinhoct
1) O documento discute as fases de engenharia de software, incluindo análise de requisitos, desenvolvimento e verificação.
2) A fase de análise de requisitos envolve reconhecimento do problema, avaliação do problema, síntese da solução e especificação dos requisitos do software.
3) As atividades de análise de requisitos incluem reconhecimento do problema, avaliação do problema e síntese da solução através de modelagem, para entender melhor o fluxo de dados e controle do sistema.
O documento apresenta uma introdução sobre métricas em projetos de software, com foco na técnica de pontos de função (APF) e pontos de casos de uso (UCP). Resume os principais conceitos do APF, como entradas e saídas externas, arquivos lógicos internos, e como calcular e ajustar os pontos de função. Também resume o processo de cálculo dos UCP, incluindo atores, casos de uso, fatores de complexidade e ambientais.
O documento discute métricas e modelos para estimativa de esforço em projetos de software. As 3 principais ideias são: 1) Métricas medem atributos de processo e produto para avaliar qualidade, produtividade e gerenciar projetos. 2) Pontos de função medem funcionalidade em vez de linhas de código. 3) Modelos como COCOMO estimam esforço baseado em métricas como loc ou pontos de função e fatores do projeto.
O documento descreve a técnica de Análise de Pontos de Função (APF) para estimativa de software. A APF mede o que o software faz, independente da tecnologia, através da contagem de Pontos de Função. O processo envolve identificar funções de dados e transacionais, determinar a complexidade de cada função e calcular os Pontos de Função ajustados usando um Fator de Ajuste.
O documento apresenta um plano de ensino para capacitar alunos na técnica de Análise de Pontos de Função (APF). O plano inclui 5 aulas expositivas sobre os conceitos e procedimentos da APF, com exemplos e exercícios. O instrutor tem experiência em APF e desenvolvimento de software.
O documento discute métricas de software e Análise de Pontos de Função (APF). Apresenta porque medir software, indicadores derivados de APF, medição de tamanho de produto, norma ISO 14143-1, visão geral e histórico de APF, processo de contagem de APF, propósito, tipo, fronteira e escopo de contagens, funções de dados como Arquivos Lógicos Internos e de Interface Externa.
1) A análise de requisitos é fundamental para obter um software de alta qualidade e envolve descobrir e refinar os requisitos através da comunicação entre cliente e desenvolvedor.
2) Os principais passos da análise incluem modelar o domínio da informação, desenvolver modelos do sistema, particionar o problema e especificar requisitos funcionais e não funcionais.
3) Uma especificação de requisitos efetiva separa funcionalidade de implementação, modela o sistema e seu ambiente, e é revisada para garantir completude e
O documento discute a importância da qualidade no desenvolvimento de software. Aborda conceitos como gestão da qualidade total, garantia e controle da qualidade, normas e certificações, auditorias e avaliações. Também destaca a relevância da qualidade dos processos de desenvolvimento para a obtenção de software de qualidade.
O documento apresenta um caso sobre um projeto dos Correios para implementar um novo serviço de correspondência eletrônica. O documento descreve a situação do projeto, o Termo de Abertura do Projeto e os primeiros passos para definir o escopo, incluindo a Declaração de Escopo e a Estrutura Analítica do Projeto.
Aula Pronta - Gerenciamento de ProjetosAyslanAnholon
Conteúdo desta Aula Pronta: 40 slides em formato PowerPoint (PPT).
Nesta Aula Pronta são abordados:
- Origem do gerenciamento de projetos
- O que é o PMI?
- O que é o Guia PMBOK?
- Características dos projetos
- As nove grande áreas do PMBOK
- Habilidades interpessoais
- O ciclo de vida do projeto
O documento discute métricas e medidas para gerenciamento de projetos de software. Ele aborda tópicos como o processo de gerência de projetos, estimativas, análise de riscos, determinação de prazos, monitoramento e controle e vários tipos de métricas como métricas de processo, produto e qualidade.
O documento discute técnicas para estimar o custo de projetos de software, incluindo a Análise de Pontos de Função. Este método mede o tamanho de aplicações através da contagem de características do software. O documento também aborda frameworks, que fornecem estruturas reutilizáveis para desenvolvimento de software, e padrões de projeto, que descrevem soluções comuns a problemas recorrentes.
Modelo Espiral de Boehm, prototipação em etapas, RUP - Rational Unified Process, Desenvolvimento Ágil, manifesto ágil, Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor, Envolvimento do cliente, Manter a simplicidade, O que é Scrum, Reunião Diária, Retrospectiva da , Planning Poker
O documento discute o processo iterativo de desenvolvimento de software centrado em requisitos, onde o cliente define as funcionalidades implementadas em entregas curtas para validar o produto. Também aborda a importância de levantar requisitos por meio de casos de uso que guiem todo o processo e provoquem mudanças no início para ajustar o escopo.
O documento discute técnicas para estimar o custo de projetos de software, incluindo a Análise de Pontos de Função. Este método mede o tamanho de aplicações através da contagem de características do software. O documento também aborda frameworks, que fornecem estruturas reutilizáveis para desenvolvimento de software, e padrões de projeto, que promovem a reutilização através de soluções comuns a problemas recorrentes.
Modelos e etapas do processo de software.pdfIvanFontainha
O documento discute os fundamentos da engenharia de software, incluindo modelos de processo de software, requisitos funcionais e não funcionais, regras de negócio, projeto de software e validação de requisitos. Apresenta também exercícios para identificar requisitos e regras de negócio para um sistema.
Este documento apresenta uma aula introdutória sobre engenharia de requisitos. Aborda tópicos como definição de requisitos, processos de engenharia de requisitos, etapas da engenharia de requisitos e métodos ágeis. Inclui exemplos reais para ilustrar a importância de se entender corretamente as necessidades dos usuários desde o início.
O documento descreve os principais tópicos do SWEBOK, que é um guia para a engenharia de software. Ele cobre 11 áreas de conhecimento, incluindo requisitos, projeto, construção, teste, manutenção e gerenciamento de projetos de software.
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.
PDS é a parte da engenharia de software que se encarrega de fazer todo o planejamento anterior ao desenvolvimento, incluindo a definição da arquitetura do software, e transformar tudo em um documento ou conjunto de documentos capazes de serem interpretados diretamente pelo programador.
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
O documento discute a evolução da preocupação com a qualidade de software ao longo dos anos, desde as décadas de 1950 a 2000. Nos anos iniciais, os erros eram conhecidos apenas após o término do programa. Nos anos 1970 surgiram análise estruturada e teste antes do término. Nos anos 1980 houve primeiras preocupações com padrões de qualidade. Nos anos 1990 surgiram primeiros processos de teste motivados pelo bug do milênio. Nos anos 2000, testes foram estruturados dentro do processo de desenvolvimento e surgiram ferramentas de
O documento apresenta uma aula introdutória sobre análise de sistemas orientada a objetos. Aborda conceitos sobre sistemas de informação, engenharia de requisitos, modelagem de processos de negócio e casos de uso, análise orientada a objetos com UML e avaliação. A bibliografia inclui referências sobre UML, análise e projeto de sistemas orientados a objetos.
O documento apresenta os principais tópicos sobre requisitos e qualidade de software. Aborda a definição de requisitos funcionais e não funcionais, as boas práticas para elicitação de requisitos, os desafios nesse processo, a importância da qualidade total e do alinhamento com os requisitos para o sucesso de um projeto.
O documento discute a melhoria de processos de software através da adoção do modelo CMMI. Apresenta estatísticas mostrando que a maioria dos projetos de software enfrentam atrasos, ultrapassam o orçamento e não entregam todas as funcionalidades planejadas. Em seguida, explica que a adoção de um modelo de processo como o CMMI pode ajudar organizações a melhorar a gestão de projetos através da avaliação e melhoria sistemática dos processos.
Indicadores de políticas públicas e métricas de software: uma visão em paraleloRoberto de Pinho
O documento apresenta uma metodologia de análise e solução de problemas (MASP) que discute a importância da medição em projetos de software. Apresenta princípios e conceitos sobre métricas de software, incluindo suas finalidades, características, tipos e boas práticas para implementação de um programa de medição.
O documento apresenta as informações sobre o curso de Engenharia de Softwares e Gerência de Projetos ministrado pelo professor Rudson Kiyoshi S. Carvalho na Anhanguera em 2015. Ele descreve o calendário e sistema de avaliação do curso, que inclui ATPS (Atividades de Trabalho de Projeto Supervisionado) e provas. O documento também fornece detalhes sobre os requisitos e entregas dos relatórios do ATPS, como escopo, cronograma e requisitos do projeto de software.
O documento discute conceitos, normas e modelos relacionados à qualidade de software, incluindo:
1) A diferença entre qualidade de produto e processo e como um afeta o outro;
2) Normas como ISO 9001 e 9126 que estabelecem requisitos para sistemas de qualidade e atributos de qualidade de produto;
3) Modelos de maturidade como CMMI e MPS.Br que fornecem melhores práticas para o desenvolvimento de software.
O documento apresenta os conceitos fundamentais de engenharia de software, incluindo: (1) engenharia de software é o estudo sistemático do desenvolvimento de software; (2) qualidade de software envolve atributos como manutenibilidade, desempenho e usabilidade; (3) a crise de software ocorre devido à complexidade dos sistemas e falta de qualificação.
Semelhante a Métricas de software: modelos de contratação e planejamento de projetos (20)
Métricas de software: modelos de contratação e planejamento de projetos
1. Métricas de Software: modelos de
contratação e planejamento de
projetos
José Claudemir Pacheco
Júnior
MSc, AGTIC
jcpacheco.junior@gmail.com
Palestra ministrada na Semana de
Tecnologia da Faculdade Joaquim
Nabuco – Campus Olinda em
22/10/2015
3. Introdução
Engenharia de Software: produzir
sistemas de software de maneira
controlada, quantificada e previsível;
Mais da metade de grandes projetos de
software se deparam com algum tipo de
atraso, excesso de custo ou prazo ou
mesmo fracasso total
(cf. Chaos Report, Standish Group)
“Não se pode gerenciar o
que não se pode medir” (Tom
De Marco)
4. Introdução
Por quê medir software?
• Entender e aperfeiçoar o processo de
desenvolvimento
• Melhorar a gerência de projetos e o
relacionamento com clientes
• Reduzir frustrações e pressões de
cronograma
• Gerenciar contratos de software
• Indicar a qualidade de um produto de software
• Avaliar a produtividade do processo
5. Introdução
Por quê medir software?
• Avaliar os benefícios (em termos de produtividade
e qualidade) de novos métodos e ferramentas
de engenharia de software
• Avaliar retorno de investimento
• Melhorar a exatidão das estimativas
• Oferecer dados qualitativos e quantitativos ao
gerenciamento de desenvolvimento de software,
de forma a realizar melhorias em todo o
processo de desenvolvimento de software
6. Introdução
Principais papéis de Medições de Software, de
acordo com Humphrey:
Processos,
Produtos e
Serviços de
Software
Entender
Avaliar Prever
Controlar
8. Métricas de Software
Medição de um atributo (propriedades ou
características) de uma determinada entidade (produto,
processo ou recursos) de software. Exemplos:
• Tamanho do produto de software (ex: nº de linhas de código,
nº de casos de uso)
• Número de pessoas necessárias para implementar um caso
de uso
• Número de defeitos encontrados por fase de desenvolvimento
• Esforço para a realização de uma tarefa
• Tempo para a realização de uma tarefa
• Custo para a realização de uma tarefa
• Grau de satisfação do cliente (ex: adequação do produto ao
propósito, conformidade do produto com a especificação)
9. Métricas de Software
Uma métrica deve ser:
• Expressa em alguma unidade
• Válida: quantifica o que queremos
medir
• Confiável: produz os mesmos
resultados dadas as mesmas condições
• Prática: barata, fácil de calcular,
entender e testar
10. Métricas diretas
• Medida realizada em
termos de atributos
observados
• Ex.: custo, esforço, nº
de linhas de código, nº
de casos de uso, nº de
diagramas, nº de
requisitos funcionais, nº
de erros por fase etc.
Métricas
indiretas
• Medidas obtidas a
partir de outras
métricas
• Ex.: complexidade,
eficiência,
confiabilidade,
facilidade de
manutenção etc.
Métricas de Software –
Categorização
11. Métricas orientadas a
tamanho
• Medidas diretas do
tamanho dos artefatos
de software associados
ao processo por meio
do qual o software é
desenvolvido.
• Ex.: esforço, custo, nº
de páginas de
documentação, nº de
erros, nº de linhas de
código
Métricas orientadas por
função
• Medição de software do
ponto de vista do
usuário, determinando
de forma consistente o
tamanho e a
complexidade de um
software
Métricas de Software –
Categorização
12. Métricas de
produtividade
• Concentram-se
na saída do
processo de
engenharia de
software.
• Ex.: nº de casos
de uso por
iteração
Métricas de
qualidade
•Oferecem uma
indicação de
quanto o software
se adequa às
exigências
implícitas e
explícitas do
cliente.
•Ex.: nº de erros por
fase
Métricas
técnicas
•Concentram-se nas
características do
software e não no
processo por meio do
qual o software foi
desenvolvido.
•Ex.: complexidade
lógica, reusabilidade,
facilidade de
manutenção
Métricas de Software –
Categorização
13. Comparar a produtividade de engenheiros
de software em termos de linha de código
• Está sendo utilizado a mesma unidade de
medida?
• O que é uma linha de código válida?
• O contexto considerado é o mesmo?
• Mesma linguagem de programação?
• Mesmo framework e bibliotecas?
• O que se quer realmente é o tamanho do
código?
• E a qualidade do código?
Métricas de Software –
Dificuldades
15. Modelos de Contratação de
Serviços de Software
Terceirização de Serviços de TI
• A década de 90 foi caracterizada no Brasil pela
terceirização, inclusive em TI
• Até então o desenvolvimento e manutenção de
sistemas era executado por equipes internas
(analistas de sistemas e programadores)
• Atualmente as organizações buscam manter a sua
equipe de TI com foco no seu negócio principal
(analistas de negócio) e contratam fornecedores
especializados para execução dos serviços
17. Contratação por Homem-Hora
• Serviços (nem sempre projetos) executados pela alocação
de profissionais terceirizados
• Remuneração pela qualificação da equipe e esforço gasto
• Contrato de gestão mais simples
• Agilidade na resposta à mudanças de requisitos
• Não demanda negociação contratual
• Remuneração desvinculada dos resultados entregues
• Antítese da produtividade
• Custo do projeto é orientado pelos aspectos internos do
trabalho (quanto de esforço e nível de especialização).
Estes aspectos estão sob controle do fornecedor
Modelos de Contratação de
Serviços de Software
18. Contratação por Preço Fixo
• Custo do projeto definido em função do escopo apresentado pelo
cliente
• Escopo precisa ser bem definido
• Preço embute risco do escopo
• Previsibilidade de custo (?)
• E se o preço foi mal estabelecido?
• E se o escopo mudar?
• O “fixo” torna-se variável e leva a nova negociação, mas em que
condições?
• Como trabalhar num preço fixo e escopo fechado se a única certeza
sobre um projeto de software é que mudanças de requisitos irão
ocorrer?
Modelos de Contratação de
Serviços de Software
19. Contratação por Preço Unitário
• Quando a unidade de remuneração representa uma entrega de valor
para o cliente, há mais equilíbrio entre riscos e responsabilidades entre
cliente e fornecedor
• Produtividade e qualidade Fornecedor
• Escopo Cliente
• O desafio é ter uma unidade que seja:
• Medida de forma consistente e uniforme
• Orientada ao negócio do cliente
• Auditável
• Vinculada dos resultados entregues
• Uma solução: adotar Pontos de Função para medir projetos de software
Modelos de Contratação de
Serviços de Software
21. Visão Geral da Análise de
Pontos de Função
Surgiu na
IBM no início
da década de
1970 com
Allan
Albrecht,
como
alternativa às
métricas
baseadas em
linhas de
código
Fundação
do
Internation
al
Function
Point User
Group
(IFPUG)
em 1986
Publicação
em 1988
da versão
2.0 do
Manual de
Práticas
de
Contagem
(CPM)
Publicação
em 1990
da versão
3.0 do
Manual de
Práticas
de
Contagem
(CPM)
A versão
mais atual
do CPM
(4.3.1) foi
publicada
em janeiro
de 2010
Históric
o
22. Perspectivas
• O uso da técnica de APF começou significativamente no Brasil no
início da década de 90
• Difusão consistente e crescente
• A partir de 2008, a adoção ao uso de PFs acelerou-se no Governo
Federal por causa da IN 04/2008
• TCU aponta Ponto de Função (PF) como sendo a unidade mais
adequada para determinar o tamanho de qualquer sistema de
informação
• Governos estaduais e municipais tem seguido a mesma diretriz
• O mercado privado também vem usando o processo: Bradesco,
OI, TAM, BM&FBOVESPA, Porto Seguro, Redecard, Cielo, ONS,
Totvs
• Brasil é o país com maior quantidade de usuários da APF
Visão Geral da Análise de
Pontos de Função
23. APF: Técnica de medição das funções (requisitos funcionais)
de um software sob o ponto de vista do usuário
• Usuário é qualquer pessoa ou coisa que se comunica ou interage
com o software a qualquer momento
• Ponto de Função (PF) é a sua unidade de medida
• Medição independente da tecnologia utilizada na construção do
software
• Mede o que o software faz, e não como ele foi construído
A medição é baseada em uma avaliação padronizada dos
requisitos funcionais do usuário, definida pelo IFPUG
• Pode ser feita por qualquer profissional, não restrito à área de TI
• Processo de medição pode ser aprendido em dois dias de treinamento
APF permite não só medir o tamanho do sistema em termos da funcionalidade fornecida
ao usuário, mas também estimar seu tamanho em qualquer fase do seu ciclo de vida,
mesmo que os requisitos ainda não tenham sido detalhados
Visão Geral da Análise de
Pontos de Função
24. • Solicitadas e recebidas pelo usuário do software
• De projetos de desenvolvimento e melhoria de software de
forma independente de sua implementação, e de aplicações já
implementadas (inventário de software)
Medir Funções:
• Consistente: pessoas diferentes medindo devem chegar ao
mesmo resultado
• Simples: o esforço de medição deve onerar o mínimo o esforço
total do projeto
• Clara: entendida pelo cliente e pelo fornecedor
Ser um método de medição:
Objetivos da APF
Visão Geral da Análise de
Pontos de Função
25. A análise “quebra” o sistema em
funções que:
• Permitem ao usuário interagir com o sistema – Funções de Transação
• E armazenar dados – Funções de Dados
Atribui um peso (pontos de função) para cada uma delas
fronteira da aplicação
entradas externas
arquivos
de
interface
externa
consultas externas
Fatto Sistemas
__________________
Sumário Executivo de Projeto
Projeto : BR01020
Cliente : Banco Istabel
Base : 31/05/1998
Custos x Faturado
......................
......................
......................
......................
......................
......................
......................
saídas externas
arquivos lógicos internos
Visão Geral da Análise de
Pontos de Função
27. Pontos de função não medem diretamente esforço, produtividade ou
custo. É exclusivamente uma medida de tamanho funcional do
software. Este tamanho em conjunto com outras variáveis é que pode ser
usado para derivar produtividade, estimar esforço e custo
Requisitos não funcionais são desconsiderados na
medição de PFs
• Tecnologia: sistema operacional, linguagem de programação, etc
• Qualidade: performance, usabilidade, portabilidade, etc
• Padrões: interface, segurança, auditoria, etc
Manutenções que não alteram funções não são medidas
em PF
• Em contratos por PF, o que a APF não mede pode afetar o R$/PF ou
ser alvo de uma métrica diferente
Visão Geral da Análise de
Pontos de Função
Restrições da APF
28. Uma ferramenta para determinar o tamanho de um pacote
adquirido pela contagem de todas as funções
incluídasPermite avaliar o impacto da introdução de mudanças
no processo de desenvolvimento de software (novas ferramentas,
métodos, etc.)Contribui para uma comunicação mais efetiva entre
usuário x desenvolvedor
Suporta a análise de produtividade e qualidade, seja
diretamente ou em conjunto com outras métricas como
esforço, defeitos e custo
Apoia o gerenciamento de escopo de projetos
Complementa o gerenciamento dos requisitos ao
auxiliar na verificação da solidez e completeza dos requisitos
especificados
Visão Geral da Análise de
Pontos de Função
Benefícios da adoção da APF
29. Permite remunerar o fornecedor do desenvolvimento e
manutenção de software pelos resultados entregues (funções do
sistema), não pelo esforço gasto (Homem-Hora)
Provê auxílio aos usuários na determinação dos benefícios de um pacote
para sua organização através da contagem das funções que
especificamente correspondem aos seus requisitos (make or buy)
Um meio para estimar custo e recursos para o
desenvolvimento e manutenção de software
Um fator de normalização para comparação de software
ou para comparação da produtividade na utilização de
diferentes técnicas
Uma ferramenta para fundamentar a negociação
de contratos
Visão Geral da Análise de
Pontos de Função
Benefícios da adoção da APF
30. Usado por milhares de organizações no
Brasil e no mundo, o que aumenta a
possibilidade de benchmarking
Suportado por uma organização de alcance
mundial (IFPUG)
Aplicável a todos os tipos de software
Aplicável a todas as fases de um projeto
de software, inclusive nas fases iniciais
Visão Geral da Análise de
Pontos de Função
Benefícios da adoção da APF
31. Visão Geral da Análise de
Pontos de Função
Quanto custa (R$) 1 PF?
32. Não existe uma tabela padrão de preços do PF
Os preços normalmente são estabelecidos em
função de:
• Concorrência
• Contexto no qual o serviço será executado (requisitos técnicos, de qualidade,
padrões, grau de complexidade, quantidade de artefatos entregáveis etc)
Tudo o que não é diretamente medido pelos PFs afetará o
R$/PF
Ou seja, quanto mais alta são as exigências técnicas e de qualidade,
maior tende a ser o R$/PF
• Por exemplo: um apto de 100 m2 ficará mais caro com um acabamento de alto
luxo, mas continuará tendo 100 m2
Visão Geral da Análise de
Pontos de Função
Quanto custa (R$) 1 PF?
33. • Uma tela de cadastro (inclui, altera, exclui e consulta) possui em
torno de 30 PFs
• Um relatório pode ter de 3 a 7 PFs
Para melhor entender o que representa o volume em PFs:
Organização Ano Volume (PF)/ano R$/PF
ATI-PE 2011 25.300 352
Caixa Econômica Federal 2010 2.000 900
Conselho Nacional de Justiça 2010 40.000 383
Eletrobrás 2009 12.000 542
Emprel 2011 15.000 846
Ministério da Educação 2010 31.200 352
Ministério da Fazenda 2010 14.500 217
Ministério da Justiça 2009 21.400 476
Polícia Federal 2010 10.000 415
Supremo Tribunal Federal 2009 11.000 398
TJ-PE 2011 2.000 322
Fonte: http://fattocs.com/pt/recursos/editais
Visão Geral da Análise de
Pontos de Função
Quanto custa (R$) 1 PF?
35. APF no Planejamento de
Projetos
Estimar tamanho do software (Fase de Concepção)
Medir tamanho do software (Fase de Elaboração)
Medir produtividade da equipe (Horas / PF)
Estimar esforço em horas (PF * Produtividade)
Estimar capacidade de produção da equipe (PF/Homem-Mês)
Quando aplicado adequadamente, o processo de
medição por pontos de função possibilita:
36. Estimar prazo do projeto (Tamanho + Produtividade + Nº
de Colaboradores)
Estimar custo para o projeto (PF Estimado * Custo PF)
Medir indicador de qualidade por projeto (Defeitos / PF)
Apoiar o gerenciamento de escopo do projeto
• Estabilidade dos requisitos = PFatual / PFinicial
• Baseline da organização
• Tamanho do backlog = ∑ PF Projetos
APF no Planejamento de
Projetos
Quando aplicado adequadamente, o processo de
medição por pontos de função possibilita:
37. APF no Planejamento de
Projetos
Os indicadores de
projetos passados
auxiliam no planejamento
de novos projetos
similares
A utilização de
benchmarking também
pode servir de referência
para estimar o esforço de
um novo projeto
Programming
Language N Min P10 P25
Media
n P75 P90 Max Mean StDev
ABAP 5 8.0 - 13.3 13.8 18.0 - 24.3 15.5 6.1
ACCESS 28 0.3 0.5 1.1 2.0 - 5.5 27.0 3.3 5.1
C 27 2.8 6.4 8.5 14.9 19.8 27.4 41.4 15.6 8.9
C++ 20 1.2 5.9 9.3 17.4 24.4 42.3 69.3 21.2 16.9
COBOL 64 1.2 5.2 9.4 16.0 26.0 42.4 69.7 20.1 15.2
JAVA 10 5.3 6.6 14.7 19.6 26.7 67.8 68.2 26.8 22.8
NATURAL 21 2.3 4.8 5.7 9.6 13.7 33.0 42.0 12.7 11.1
ORACLE 49 1.2 3.0 6.0 10.3 15.9 28.1 78.1 13.4 12.9
VISUAL BASIC 54 0.4 2.7 3.8 7.5 14.0 37.2 68.0 13.3 14.9
Fonte ISBSG: The Software Metrics Compendium – 2002
Estatísticas quanto à produtividade (H/PF) por linguagem de prog
39. A utilização de métricas e indicadores permite padronizar a
precificação e contratação de software, além de fornecer
informações relevantes para o planejamento de projetos de software
APF surge como uma técnica robusta para medir software com
fundamento na visão de negócio, provendo maior aproximação entre
a área de TI e a área de negócio
APF apoia de maneira significativa a gestão do processo de
contratação ou desenvolvimento de software
O modelo de contratação de software por PF possibilita:
• Aumento na vazão das demandas (interesse do fornecedor é maximizar
as entregas e com isso seu faturamento)
• Redução de custos (correção de defeitos e improdutividade é ônus do
fornecedor)
• Melhoria na qualidade de requisitos dos projetos, gerando menos
retrabalho (a APF ajuda indiretamente a verificar e validar requisitos)
• Visibilidade dos resultados entregues no serviço
Conclusão
40.
41. Métricas de Software: modelos de
contratação e planejamento de
projetos
José Claudemir Pacheco
Júnior
MSc, AGTIC
jcpacheco.junior@gmail.com