Podcast
Questions and Answers
Qual é o objetivo principal da elicitação de requisitos?
Qual é o objetivo principal da elicitação de requisitos?
- Criar um código-fonte inicial para o sistema.
- Estabelecer um padrão de interface gráfica para o sistema.
- Documentar todos os requisitos técnicos do sistema.
- Assegurar que os usuários e desenvolvedores tenham a mesma visão do problema. (correct)
O que define um requisito em um sistema?
O que define um requisito em um sistema?
- Uma condição que o sistema deve satisfazer segundo documentos formais. (correct)
- Um recurso opcional que pode ser implementado.
- Uma norma de qualidade que deve ser atendida pelo software.
- Um limite de tempo para a entrega do projeto.
Qual atividade faz parte do processo de engenharia de requisitos?
Qual atividade faz parte do processo de engenharia de requisitos?
- Análise e documentação dos requisitos. (correct)
- Codificação do sistema.
- Definição da arquitetura de software.
- Testes e validação do código.
Qual é a primeira fase na subdivisão da especificação e análise de requisitos?
Qual é a primeira fase na subdivisão da especificação e análise de requisitos?
O que está envolvido na fase de projeto (design) do sistema?
O que está envolvido na fase de projeto (design) do sistema?
Na fase de implementação, o que é primordial em um processo orientado a objetos?
Na fase de implementação, o que é primordial em um processo orientado a objetos?
Qual dos seguintes aspectos não é considerado durante a fase de projeto (design)?
Qual dos seguintes aspectos não é considerado durante a fase de projeto (design)?
Qual é um resultado chave da análise de aplicação?
Qual é um resultado chave da análise de aplicação?
Qual é uma das principais motivações para utilizar processos no desenvolvimento de software?
Qual é uma das principais motivações para utilizar processos no desenvolvimento de software?
Qual destas definições melhor descreve um processo de software?
Qual destas definições melhor descreve um processo de software?
Os processos de software garantem automaticamente que o software desenvolvido terá alta qualidade?
Os processos de software garantem automaticamente que o software desenvolvido terá alta qualidade?
Qual é uma caracterÃstica de um processo de software ideal?
Qual é uma caracterÃstica de um processo de software ideal?
Qual é um dos principais desafios no desenvolvimento de software?
Qual é um dos principais desafios no desenvolvimento de software?
Um processo de software pode ser definido como:
Um processo de software pode ser definido como:
O que é um aspecto importante da especificação e análise no processo de software?
O que é um aspecto importante da especificação e análise no processo de software?
Como a aprendizagem organizacional pode impactar os processos de software?
Como a aprendizagem organizacional pode impactar os processos de software?
Flashcards
Processo de Software
Processo de Software
Conjunto de atividades necessárias para o desenvolvimento de software, envolvendo metodologias, polÃticas, tecnologias e procedimentos para criar e manter um produto de software.
Objetivos de Processos de Software
Objetivos de Processos de Software
Apresentar conceitos básicos e terminologia para a área de processos de software.
Diferença entre processo e Engenharia de Software
Diferença entre processo e Engenharia de Software
Processo de software é um conjunto de etapas, enquanto Engenharia de Software é a aplicação de princÃpios e métodos para garantir a qualidade.
Desafios no Desenvolvimento de Software
Desafios no Desenvolvimento de Software
Signup and view all the flashcards
Requisitos de software
Requisitos de software
Signup and view all the flashcards
Elicitação de Requisitos
Elicitação de Requisitos
Signup and view all the flashcards
Implementação
Implementação
Signup and view all the flashcards
Validação
Validação
Signup and view all the flashcards
Requisito
Requisito
Signup and view all the flashcards
Engenharia de Requisitos
Engenharia de Requisitos
Signup and view all the flashcards
Especificação e Análise
Especificação e Análise
Signup and view all the flashcards
Análise de DomÃnio
Análise de DomÃnio
Signup and view all the flashcards
Análise de Aplicação
Análise de Aplicação
Signup and view all the flashcards
Projeto (Design)
Projeto (Design)
Signup and view all the flashcards
Study Notes
Introdução: Processos de Software
- A disciplina abrange os processos de desenvolvimento de software.
- O objetivo é apresentar conceitos básicos e terminologia.
Objetivos
- Apresentar conceitos fundamentais e terminologia utilizada em processos de software.
Processos vs. Requisitos
- É essencial entender os requisitos do projeto de software antes de iniciar o desenvolvimento.
- A comunicação clara sobre o que o software precisa fazer é crucial.
- O cliente precisa definir os requisitos do software.
Motivação
- Por que utilizar processos em Engenharia de Software?
- Processo é sinônimo de Engenharia de Software?
- Não, é um elemento importante, mas não é sinônimo.
- Existe um processo de software ideal?
- Não, cada software tem necessidades e caracterÃsticas especÃficas.
- Utilizar processos garante alta qualidade em software?
- Não, depende do nÃvel de maturidade do processo.
Processo de Software
- Por que é tão "difÃcil" usar processos no desenvolvimento de software?
- Quais são os problemas no desenvolvimento de software?
Principais Problemas no Desenvolvimento de Software
- Especificação de requisitos
- Definição e cumprimento de prazos
- Custo do projeto
- Produtividade
- Qualidade e testes de software
- Trabalho em equipe
- Capacitação de pessoal
- Planejamento
- Motivação
- Manutenibilidade
- Gerência de projeto
Categorias de Problemas
- Pessoas
- Processo
- Negócio
Principais Desafios do Desenvolvimento de Software
- Novos ambientes de desenvolvimento
- Contratos externos e ambientes distribuÃdos
- Gerenciamento de riscos
- Capacitação de pessoal
- Planejamento
- Padrões de desenvolvimento de software
- Certificação
- Aprendizagem organizacional
- Produtividade e motivação
O que é Processo de Software?
- Um conjunto de atividades necessárias e relacionadas para o desenvolvimento de software.
- Uma metodologia para a realização de atividades, ações e tarefas em desenvolvimento de software.
- Um conjunto de polÃticas, estruturas, tecnologias, procedimentos e artefatos necessários para conceber, implementar e manter um produto de software.
- Um conjunto de atividades de engenharia para transformar requisitos em software.
Processo de Software: Definições
- Uma sequência de atividades necessária e relacionada ao desenvolvimento do software (Sommerville).
- Uma metodologia para o desenvolvimento de software com qualidade (Pressman).
- PolÃticas, estruturas organizacionais e tecnologias para conceber, implementar e manter um produto de software (Fuggeta 2000).
- Atividades necessárias para transformar os requisitos do usuário em um sistema de software (Humphrey, 1989).
Processo de Software (Fluxograma)
- Problema → Elicitação (especificação e análise) → Projeto → Implementação → Validação → Solução
Elicitação de Requisitos
- Compreensão do problema
- Compreensão do domÃnio
- Visão compartilhadas de usuários e desenvolvedores
- Especificação de requisitos
- Engenharia de Requisitos
Especificação e Análise
- Estudo detalhado de requisitos e criação de modelos.
- Quebrar o sistema em componentes para entender como eles interagem.
- Pode ser dividido em análise de domÃnio e análise de aplicação.
Projeto (Design)
- Como o sistema funcionará de acordo com os recursos tecnológicos existentes.
- Descrição da estrutura do software.
- Considerar os aspectos fÃsicos e dependentes de implementação.
- Exemplos: arquitetura, interface gráfica, linguagem de programação, gerenciamento de banco de dados.
Implementação
- Codificação do sistema usando a linguagem de programação escolhida.
- Reuso de componentes, bibliotecas e padrões de software.
- As atividades de projeto e implementação são fortemente relacionadas.
"Validação" / Verificação
- Verificar se o software atende à especificação.
- Verificar se o software está sendo construÃdo corretamente.
- Validar se o software atende às expectativas do cliente.
- Exemplos: testes de sistema.
Evolução
- Os requisitos mudam com as mudanças do negócio, o software também deve evoluir.
- Novas necessidades surgem durante o uso do software.
- Erros devem ser corrigidos.
- Novas tecnologias podem ser adicionadas ao sistema.
- O desempenho do sistema pode exigir melhorias.
Processo de Software: Atividades, Artefatos, Ferramentas, Papéis
- O processo de software é visualizado como um fluxo.
- O processo possui papéis, atividades, artefatos e ferramentas.
- Papéis: descrições das pessoas e suas responsabilidades. Exemplos incluem gerente de projeto, analista, projetista, desenvolvedor.
- Atividades: tarefas que produzem artefatos.
- Artefatos: os resultados das atividades. Exemplos incluem diagramas, programas, documentos de texto, etc.
- Ferramentas: ajudam na execução das atividades.
Processo de Software: Terminologia (Artefatos)
- Um artefato pode ser composto por outros artefatos.
- Artefato é o resultado de uma atividade.
- Exemplos: diagramas, programas, documentos de texto, desenhos, contratos, projetos, planos, módulos implementados, testados e aprovados.
Processo de Software: Terminologia (Tarefa)
- É uma ação executada por uma pessoa para a realização ou monitoramento do projeto.
- Não representa progresso no desenvolvimento, mas consome recursos (tempo, esforço).
Processo de Software: Terminologia (Atividade)
- Um conjunto de tarefas resultando em artefatos.
- Indica progresso no desenvolvimento.
- Pode ser simples ou complexo, envolvendo diferentes técnicas de controle de qualidade.
Processo de Software: Terminologia(Ferramentas)
- Auxiliam a execução das atividades e tarefas dos processos.
- AutomatÃzam tarefas.
- Minimizam erros.
- Agilizam processos.
Processo de Software: Terminologia (Papéis)
- Descrição de como as pessoas se comportam no processo, suas responsabilidades e habilidades necessárias.
- Exemplos: Gerente de projeto, analista, projetista, desenvolvedor, avaliador de qualidade.
Exemplo de Papéis
- Gerente de Projeto: coordena as atividades do projeto.
- Analista: compreende o domÃnio do negócio.
- Projetista: avalia as soluções, detalha a solução.
Exemplo de Arquitetos
- Definir arquitetura do sistema.
- Identificar subsistemas e interfaces.
Exemplo de Desenvolvedores
- Implementação/codificação do sistema.
Exemplo de Papéis(cont.)
- Avaliadores de Qualidade: garantem a adequação do processo e do produto a padrões de qualidade
Processo de Software: Terminologia (Pré e Pós-Condições)
- Declarações verdadeiras antes e depois de uma atividade.
- Exemplo: pré-condição: requisitos aprovados pelo cliente; pós-condição: modelos UML revisados.
Processo de Software (Produtos)
- Resultado de uma atividade do processo.
- Exemplos: modelo da arquitetura.
Exemplo de Tarefas Relacionadas a um Papel
- Um exemplo de um papel no desenvolvimento de software e as tarefas envolvidas.
Exemplo de uma Atividade
- Realizar estimativas para um projeto: detalhar as atividades, estimar recursos, cronograma e orçamento.
Sem o uso de processos...
- Procedimentos não documentados e inconsistentes.
- Repetição de erros.
- Dificuldade em prever prazos e orçamentos.
- Alto Ãndice de defeitos e retrabalho.
- Dificuldade em implementar boas práticas e lições aprendidas.
- Dificuldade na prevenção de defeitos.
Bibliografia
- Lista de referencias utilizadas no material apresentado.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.