INTRODUÇÃO A INFORMÁTICA

Slides:



Advertisements
Apresentações semelhantes
Auditoria de Processo Marcelo Waihrich Souza
Advertisements

Rational Unified Process
Engenharia de Software
Gerenciamento de Projetos
Gerência de Projetos Wesley Peron Seno Introdução
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Engenharia de Software
Engenharia de Software
Modelos de Processos de desenvolvimento de Software
Engenharia de Software Engenharia de Software Prof. Inês Ap. Gasparotto Boaventura 1. Semestre/2001.
Gerenciamento do escopo do projeto
FACULDADE DOS GUARARAPES
Mitos e Problemas Relacionados ao Software
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Adélia Barros Introdução à Engenharia de Software Modelos de Processo Adélia Barros
Processos de Desenvolvimento de Software
Processo Desenvolvimento de Software Tradicional
Engenharia de Requisitos
Engenharia de Software
Plano de Projeto de Software
Como Desenvolver Sistemas de Informação
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento do Escopo
Modelos de Processos de Software
Engenharia de Software
Processos de Software II
Análise e Desenvolvimento de Sistemas
TRIBUNAL DE JUSTIÇA DE PERNAMBUCO DIRETORIA DE INFORMÁTICA Workshop de Testes PROSOFT Setembro/ 2010 Daniel Leitão Juliana Xavier.
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Engenharia de Software
Fundamentos de Engenharia de SW
Cap 2 – Processo de Software
PMBOK 5ª Edição Capítulo 5
Projeto: Capacitação em GP
BENCHMARKING.
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
ENGENHARIA DE SOFTWARE José Manuel de Sacadura Rocha
Processos de Software Profa. Cintia Carvalho Oliveira
Engenharia de Software
Análise e Projeto de Sistemas
Fundamentos de Engenharia de Software
Arquitetura do Software
GESTÃO DE PROJETOS Aula 5 1.
Prof. Alexandre Vasconcelos
Software e Engenharia de Software ENGENHARIA DE SOFTWARE - PRESSMAN
Projeto de Banco de Dados
Modelos de Processo de Software
Engenharia de Software
Técnicas e Projeto de Sistemas
PSBD II Projeto de Sistemas de Banco de Dados II
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Qualidade de Processo de Software CMM e CMMI Aldo Rocha.
Engenharia de Software
Engenharia de Software
Engenharia de Software
METODOLOGIA, MÉTODOS E FERRAMENTAS
Processos de Software.
Processos de Software.
1. Como a engenharia de software pode contribuir no desenvolvimento de sistemas? 1.1 O problema do software 1.2 A velha crise do software 1.3 Os velhos.
Técnicas e Projeto de Sistemas
Gestão de projetos de Software GTI-16
Engenharia de Software
Engenharia de Software
Engenharia de Software
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Ciclo de Vida de Sistemas de Informação
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

INTRODUÇÃO A INFORMÁTICA Introdução à Engenharia de Software

Engenharia de Software “Estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais”. Pressman (1995)

Engenharia de Software Todas as definições reforçam a exigência da engenharia no desenvolvimento do software. Ela abrange um conjunto de três elementos fundamentais: - métodos; - ferramentas; - procedimentos.

Métodos Proporcionam os detalhes de “como fazer” para construir o software. Envolvem um conjunto de tarefas: - Planejamento e estimativa de projeto. - Análise de requisitos de software e de sistemas. - Projeto de estrutura de dados. - Programas e algoritmos de processamento. - Codificação. - Teste. - Manutenção.

Ferramentas Proporciona apoio automatizado ou semi-automatizado aos métodos. Engenharia de software auxiliada por computador. CASE (Computer - Aided Software Engeneering). São ferramentas integradas de forma que a informação criada por uma ferramenta possa ser utilizada por outra ferramenta.

Procedimentos Constituem o elo de ligação que mantém juntos os métodos e as ferramentas. Definem : - A seqüência em que os métodos serão aplicados. - Os produtos que ajudam a assegurar a qualidade e coordenar as mudanças. - Marcos de referência que possibilitam os gerentes de software avaliar o progresso.

Engenharia de Software Engenharia de Software compreende um conjunto de etapas que envolve : Métodos, Ferramentas e Procedimentos. Essas etapas são conhecidas como componentes do Ciclo de Vida do Software.

Engenharia de Software Ciclos de Vida mais conhecidos : Ciclo de Vida Clássico; Prototipação; Modelo Espiral; Técnicas de quarta geração

Engenharia de Software Um ciclo de vida é escolhido tendo-se como base :  a natureza do projeto e da aplicação;  os métodos e as ferramentas a serem usados;  os controles e produtos que precisam ser entregues.

Ciclo de Vida Clássico (Cascata) Requer uma abordagem sistemática seqüencial ao desenvolvimento de software. Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção

Análise e engenharia de sistemas Ciclo de Vida Clássico Análise e engenharia de sistemas Estabelecimento dos requisitos para todos os elementos do sistema. Envolve a coleta dos requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível.

Análise de requisitos de software Ciclo de Vida Clássico Análise de requisitos de software O processo de coleta dos requisitos é intensificado e concentrado especificamente no software. O engenheiro de software deve compreender o domínio da informação para o software, bem como a função, desempenho e interface exigidos. Os requisitos tanto para o sistema como para o software, são documentados e revistos com o cliente.

Ciclo de Vida Clássico Projeto Se concentra em quatro atributos distintos do programa:  estrutura de dados;  arquitetura de software;  detalhes procedimentais;  caracterização de interface. Traduz as exigências numa representação do software que pode ser avaliada quanto à qualidade antes que a codificação se inicie. É documentado e torna-se parte da configuração do software.

Ciclo de Vida Clássico Codificação O projeto é traduzido em instruções executáveis pelo computador. Se o projeto estiver bem detalhado, a codificação pode ser executada mecanicamente.

Ciclo de Vida Clássico Testes Concentra-se : Nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas. Nos aspectos funcionais externos, garantindo que a entrada definida produza resultados reais que concordem com os resultados exigidos.

Ciclo de Vida Clássico Manutenção O software sofrerá mudanças depois que for entregue ao cliente. Causas: erros foram encontrados; o software deve ser adaptado a fim de acomodar mudanças em seu ambiente externo. A manutenção de software reaplica cada uma das etapas precedentes do ciclo de vida a um programa existente, e não a um novo.

Ciclo de Vida Clássico É o mais antigo e o mais amplamente usado da engenharia de software. Problemas: Projetos reais raramente seguem fluxo seqüencial que o modelo propõe. Muitas vezes é difícil para o cliente declarar todas as exigências explicitamente. Uma versão de trabalho não estará disponível até um ponto tardio do cronograma do projeto.

Ciclo de Vida Clássico Embora o ciclo de vida clássico tenha fragilidades, ele é significativamente melhor do que uma abordagem casual ao desenvolvimento de software.

Uma visão genérica O processo de desenvolvimento de software contém três fases genéricas, independente do paradigma de software escolhido: 1. DEFINIÇÃO, 2. DESENVOLVIMENTO e 3. MANUTENÇÃO.

Uma visão genérica

Uma visão genérica Definição: “o que” será desenvolvido.  Análise do sistema : define o papel de cada elemento num sistema baseado em computador, atribuindo, em última análise, o papel que o software desempenhará.  Planejamento do projeto de software : assim que o escopo do software é estabelecido, os riscos são analisados, os recursos são alocados, os custos são estimados e as tarefas e a programação de trabalho, definidas.

Uma visão genérica Definição: “o que” será desenvolvido.  Análise de requisitos : o escopo definido para o software proporciona uma direção, mas uma definição detalhada do domínio da informação e da função do software é necessária antes que o trabalho se inicie.

Uma visão genérica Desenvolvimento: “como” será desenvolvido. Projeto de software : traduz os requisitos do software num conjunto de representações que descrevem a estrutura de dados, a arquitetura, o procedimento algorítmico e as características de interfaces.  Codificação : as representações do projeto devem ser convertidas numa linguagem artificial que resulte em instruções que possam ser executadas pelo computador. A etapa de codificação realiza essa conversão. 

Uma visão genérica Desenvolvimento: “como” será desenvolvido.  Realização de testes do software : logo que é implementado numa forma executável por máquina, o software deve ser testado para que se possa descobrir defeitos de função, lógica e implementação.

Uma visão genérica Manutenção:“mudanças” que estão associadas à:  CORRECÃO DE ERROS,  ADAPTAÇÕES, e  AMPLIAÇÕES. Três tipos de mudanças são encontradas durante a fase de manutenção:

Uma visão genérica Correção : mesmo com as melhores atividades de garantia da qualidade, é possível que o cliente descubra defeitos no software. A manutenção corretiva muda o software para corrigir defeitos. Adaptação : com o passar de tempo, o ambiente original para o qual o software foi desenvolvido provavelmente mudará. A manutenção adaptativa resulta em modificações no software a fim de acomodar mudanças em seu ambiente.

Uma visão genérica Melhoramento funcional : à medida que o software é usado, o cliente/usuário reconhecerá funções adicionais que oferecerão benefícios, estendendo o software para além de suas exigências funcionais originais.

Uma visão genérica  Atividades de proteção : complementam as fases e passos descritos na visão genérica da Engenharia de Software.  Revisões : são feitas para garantir que a qualidade seja mantida à medida que cada etapa é concluída. 

Uma visão genérica  Documentação : desenvolvida e controlada para garantir que informações completas sobre o sistema e o software estejam disponíveis para uso posterior.  Controle das mudanças : é instituído de forma que elas possam ser aprovadas e acompanhadas.