Técnicas e Projeto de Sistemas

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Os projetos.
Rational Unified Process
Engenharia de Software
Gerência de Projetos Wesley Peron Seno Introdução
GERENCIAMENTO DE INTEGRAÇÃO DO PROJETO
Débora da Silva Orientadora: Maria Inés Castiñeira
Modelos de Ciclo de Vida
Engenharia de Software
Identificando requisitos
Análise e Projeto de Sistemas I
Rational Unified Process(RUP)
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Processo Desenvolvimento de Software Tradicional
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
O processo de coletar os requisitos (escopo do cliente)
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Como Desenvolver Sistemas de Informação
Gerenciamento de Requisitos com Casos de Uso
Modelos de Processos de Software
Engenharia de Software
Rational Unified Process
Técnicas e Projeto de Sistemas
Técnicas e Projeto de Sistemas
Desafios do desenvolvimento de software
Fundamentos de Engenharia de SW
Cap 2 – Processo de Software
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Processos de Desenvolvimento de Software
Expansão dos Casos de Uso
LABORATÓRIOS DE INFORMÁTICA IV ENGENHARIA DE SOFTWARE: DA TEORIA À PRÁTICA GRUPO 13.
Engenharia de Software
Análise e Projeto de Sistemas
Introdução e Fundamentos Engenharia de Requisitos
Modelos de Processo de Software
Técnicas e Projeto de Sistemas
PSBD II Projeto de Sistemas de Banco de Dados II
Bruno Silva Desenvolvido a partir de
ANÁLISE ESTRUTURADA DE SISTEMAS
Engenharia de Software
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
GERENCIAMENTO DE PROJETOS DE T.I
METODOLOGIA, MÉTODOS E FERRAMENTAS
Processo de Desenvolvimento de Software – PDS C Construção - PAS
Processos de Software.
Técnicas e Projeto de Sistemas
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína ANA PAULA LIMA.
Modelos de Processos de Software
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projetos de Sistemas SUBSEQUENTE 1.
Engenharia de Software
Diagramas de Caso de Uso
Expansão dos Casos de Uso
Gerenciamento de Requisitos e Modelagem de sistemas
Introdução à modelagem orientada a objetos
Sistemas de Informação
Engenharia de Software
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
Aula 02 de Eng. de Requisitos
Professora: Kelly de Paula Cunha
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Desenvolvimento de Software I
Ciclo de Vida de Sistemas de Informação
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
CMMI Capability Maturity Model Integration
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:

Técnicas e Projeto de Sistemas Técnico Subsequente Técnicas e Projeto de Sistemas – Técnico Subsequente

Técnicas e Projeto de Sistemas – Técnico Subsequente Roteiro Tema: Processo de Desenvolvimento de Software. Engenharia de Software; Processo de Desenvolvimento de Software; Ciclos de Desenvolvimento de Software; Técnicas e Projeto de Sistemas – Técnico Subsequente

Relembrando: Software Definição de Engenharia de Software:

Engenharia de Software Aplicação da disciplina de técnicas no desenvolvimento e manutenção de software. Produto de Software Contexto (Problema) E.S. Técnicas e Projeto de Sistemas – Técnico Subsequente

Introdução à Engenharia de Software A Engenharia de Software objetiva: Prover métodos (“como fazer”), ferramentas e procedimentos (sequência em que os métodos serão aplicados) para o desenvolvimento de software de maneira que ele atinja seus objetivos. Técnicas e Projeto de Sistemas – Técnico Subsequente

Engenharia de Software Um software deve, de forma geral, atender os seguintes objetivos: Funcionalidade; Custo; Tempo; Desempenho; Padrões; Leis; Atender as partes interessadas (stakeholders). Técnicas e Projeto de Sistemas – Técnico Subsequente

Engenharia de Software Mas como posso atingir todos esses objetivos??? Técnicas e Projeto de Sistemas – Técnico Subsequente

Engenharia de Software Seguindo um processo de desenvolvimento de software!! Técnicas e Projeto de Sistemas – Técnico Subsequente

Processo de Desenvolvimento de Software É uma sequência de passos que devem ser seguidos para se atingir determinado objetivo. Processo de desenvolvimento de software: Objetiva a construção de um software; Sub processos: Requisitos, análise, desenho, implementação e teste.

ETAPAS DO PROCESSO DE DESENVOLVIMENTO DO SOFTWARE

Processo de Desenvolvimento de Software O ponto de partida então é seguir um ciclo de vida: É uma interação entre os processos; descreve as fases que o software vai passar; Baseado em: Complexidade; Risco; Tamanho da equipe; Necessidade do cliente. Técnicas e Projeto de Sistemas – Técnico Subsequente

Técnicas e Projeto de Sistemas – Técnico Subsequente Principais modelos de ciclo de vida do software: Codifica-remenda; Cascata; Prototipagem evolutiva Incremental; Espiral; Entrega evolutiva; Técnicas e Projeto de Sistemas – Técnico Subsequente

Ciclos de Vida de Software Codifica-remenda: Partindo de uma especificação incompleta Alto risco; Impossível de gerenciar; Não permite assumir compromissos confiáveis Especificação??? Produto Técnicas e Projeto de Sistemas – Técnico Subsequente

Codifica-remenda Produto Partindo de uma especificação incompleta, ou mesmo ausente, inicia-se a codificação do software, que por sua vez tende a gerar “algo”. Esse “algo gerado”, na grande maioria das vezes não é o que o cliente deseja, mas vai sendo alterado e consertado até que o produto atinja um estágio que permita seu uso. Nenhum processo é seguido nessa iteração.

Clássico ou Cascata: Foi o primeiro modelo a ser conhecido em engenharia de software e está na base de muitos ciclos de vida utilizados nos dias de hoje. Cada passo deve ser completado antes que o próximo passo possa ser iniciado. Mais utilizados em situações nos quais os requisitos são fixos.

Ciclos de Vida de Software Clássico ou Cascata: início Requisitos Análise Desenho Implementação Teste Final Técnicas e Projeto de Sistemas – Técnico Subsequente

Clássico ou Cascata (desvantagens): Sequencial; Rígido; Burocrático; Não prevê correções nas fases posteriores; O cliente só vê o resultado no final do projeto; Indicado para projetos pequenos. Técnicas e Projeto de Sistemas – Técnico Subsequente

Espiral O modelo espiral é mais adequado para sistemas complexos e que exijam um alto nível de interações com os usuários, a fim de possibilitar a abordagem de todos os problemas desse software. Usado com mais frequência em grandes projetos. Maior controle sobre os riscos do projeto, tornando o processo de construção de um produto complexo mais seguro.

Técnicas e Projeto de Sistemas – Técnico Subsequente Espiral: 1 2 3 4 Técnicas e Projeto de Sistemas – Técnico Subsequente

Prototipagem evolutiva e incremental: Baseado no modelo espiral; Ao final de cada volta o usuário tem acesso a um protótipo; Útil para aprovações de ideias e coleta de novos requisitos; Desvantagem: Cliente insiste que o protótipo seja, com ligeiras modificações, a versão final do produto. Técnicas e Projeto de Sistemas – Técnico Subsequente

Prototipagem evolutiva: Técnicas e Projeto de Sistemas – Técnico Subsequente

Técnicas e Projeto de Sistemas – Técnico Subsequente Entrega evolutiva: Tem como objetivo promover um desenvolvimento conjunto (desenvolvedor trabalhando junto com o usuário) a fim de descobrir os requisitos de maneira incremental. Técnicas e Projeto de Sistemas – Técnico Subsequente

Técnicas e Projeto de Sistemas – Técnico Subsequente Entrega evolutiva: Diferente do desenvolvimento incremental, esse modelo volta sempre à fase de definição de requisitos, num movimento exploratório de conceitos do produto e necessidades do usuário. início Requisitos Análise Desenho de alto nível Desenho detalhado Implementação Teste Não Produto completo? Sim Final Técnicas e Projeto de Sistemas – Técnico Subsequente

Ciclos de Vida de Software Documentos gerados: Técnicas e Projeto de Sistemas – Técnico Subsequente

Ciclos de Vida de Software Documentos gerados: Requisitos: Visão geral, conceitos de operações, requisitos funcionais, não funcionais... Análise: Detalhamento dos requisitos, diagrama de casos de uso, casos de uso reais, divisão de módulos... Design: Diagrama de BD, DFD (Diagrama de Fluxo de Dados), Classes, Sequencia... Técnicas e Projeto de Sistemas – Técnico Subsequente

Ciclos de Vida de Software Documentos gerados: Implementação: Código comentado, resultado de testes unitários... Teste: Plano de teste, documento de execução de testes... Implantação: Diagrama de implantação, tutoriais, treinamentos... Técnicas e Projeto de Sistemas – Técnico Subsequente

Atividade – Valor 2,0 pontos Em sua opinião, como a engenharia de software pode ajudar no atendimento aos objetivos do software? Descreva os ciclos de vida de software destacando os riscos associados a cada um deles: Codifica-remenda; Cascata; Espiral; Prototipagem evolutiva. Você irá abrir uma empresa de desenvolvimento de software com outros 3 colegas. Qual dos ciclos de vida de software vistos até o momento você utilizaria? Por que? Você consegue descrever um cenário onde seja interessante o uso de todos esses processos de ciclo de vida ou, em sua opinião, é uma “perda de tempo” criar tanta documentação para desenvolver um software? Justifique sua resposta. Técnicas e Projeto de Sistemas – Técnico Subsequente