Evitando os Problemas.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Engenharia de Software
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como.
Engenharia de Software
Engenharia de Software
Prototipação de Software
SAD - SISTEMA DE APOIO À DECISÃO Prof. Wagner Andrade
Rational Unified Process(RUP)
Engenharia de Software Professor Sandro de Paiva Carvalho.
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Computer Aided Software Engineering
12.1 © 2007 Eduardo Brião 12 REPROJETO DA ORGANIZAÇÃOCOM SISTEMAS DE INFORMAÇÃO Capítulo.
Processo Desenvolvimento de Software Tradicional
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Como Desenvolver Sistemas de Informação
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Modelos de Processos de Software
Engenharia de Software
Processos de Software II
Processo de Software Prof. Dr. rer. nat. Daniel D. Abdala
Prof.Alfredo Parteli Gomes
Fundamentos de Engenharia de SW
Cap 2 – Processo de Software
Fase de Elaboração: Fluxo de Requisitos
Metolodogia de Desenvolvimento de Data Warehouse
Engenharia de Software
Análise de problemas Capacidade de pensamento crítico
Rapid Application Development (RAD)
Análise e Projeto de Sistemas
Engenharia de Software
Engenharia de Software
Desenvolvimento Rápido de Aplicação (RAD)
Modelos de Processo de Software
Fase de Concepção (Início, Planejamento)
PSBD II Projeto de Sistemas de Banco de Dados II
O Processo de desenvolvimento de software
Documentação de Software
Bruno Silva Desenvolvido a partir de
ANÁLISE ESTRUTURADA DE SISTEMAS
Engenharia de Software
Processo de Desenvolvimento 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.
Sistemas de Informação
METODOLOGIA, MÉTODOS E FERRAMENTAS
Processos de Software.
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Técnicas e Projeto de Sistemas
Gestão de Projetos de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Engenharia de Software
Fase de Concepção (Início, Planejamento)
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Prototipação de Software
Engenharia de Software
Aula 02 de Eng. de Requisitos
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Apresentação Leonardo Brussolo de Paula
TÉCNICAS DE ESTIMATIVAS
Desenvolvimento de Software I
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
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.
Sistemas de Informações Sistemas Informações Empresariais 11. Administração de Sistemas Márcio Aurélio Ribeiro Moreira
Transcrição da apresentação:

Evitando os Problemas

Objetivos Modelo de ciclo de vida em cascata Modelo de ciclo de vida incremental e prototipagem Importância do gerenciamento de projeto Como usuários podem estar envolvidos num projeto Ferramentas CASE no desenvolvimento de sistemas © 2001 Jaelson Castro

Desafios Bom gerenciamento do projeto Qualidade no sistema entregue Mas software é intangível! Não pode ser pesado Sua força não pode ser medida Sua durabilidade não pode ser avaliada Sua resistência ao esforço físico não pode ser estimada © 2001 Jaelson Castro

Planejamento Estratégico de Sistemas de Informação Atividades que Precedem o Projeto de Desenvolvimento de Sistemas de Informação Planejamento Estratégico de Sistemas de Informação Sistemas de Informação funcionam dentro do contexto de uma organização e devem satisfazer suas necessidades atuais e futuras Decisão estratégica do caso de estudo Agate: atrair companhias multinacionais para campanhas internacionais de advertência © 2001 Jaelson Castro

Atividades que Precedem o Projeto de Desenvolvimento de Sistemas de Informação Modelagem do Negócio Entender como uma determinada atividade do negócio é realizada e como ela contribui para os objetivos da organização Gerenciamento de campanha é uma importante função do negócio para Agate: Deve ser modelado para determinar como será realizado © 2001 Jaelson Castro

Ciclos de Vida dos Projetos O ciclo de vida descreve as relações temporais, de interesse e de entrada/saída entre diferentes ciclos de vida O conceito de ciclo de vida inclui o conceito de feedback (retornando para uma fase anterior) assim como indo para a próxima fase. No passado, o conceito de ciclo de vida era aplicado para o gerenciamento de sistemas complexos que tinham algum tipo de hardware como produto final, exemplo: mísseis, redes de computadores, aeronaves, etc. Não é fácil avaliar e observar os resultados da análise e projeto de sistemas de informação © 2001 Jaelson Castro

Ciclos de Vida Benefícios Deficiências Processa o entendimento e compreensão Ordena as atividades globais Melhora a qualidade do produto Reduz os custos de software Deficiências Granularidade muito baixa -- esconde detalhes importantes do processo © 2001 Jaelson Castro

O modelo do Ciclo de Vida em Cascata © 2001 Jaelson Castro

Resultados do Ciclo de Vida em Cascata © 2001 Jaelson Castro

O modelo do Ciclo de Vida em Cascata Críticas Divisão inflexível do projeto em estágios distintos. Projetos reais raramento seguem isso! Iterações são inevitáveis Pode levar muito tempo Difícil de responder às mudanças de requisitos do cliente Adequado quando os requisitos são bem entendidos © 2001 Jaelson Castro

O modelo do Ciclo de Vida em Cascata com interação © 2001 Jaelson Castro

O modelo do Ciclo de Vida em Cascata Vantagens As tarefas de um determinado estágio podem ser atribuídas a equipes especializadas O progresso do projeto pode ser avaliado no final de cada fase para saber se o projeto deve ou não proceder © 2001 Jaelson Castro

Modelo de Ciclo de Vida “Prototipagem” Construir rapidamente para explorar alguns aspectos dos requisitos do sistema Não é requerido como a funcionalidade final do sistema Incompleto (faltam algumas funcionalidades) Não atende a todos requisitos não funcionais (ex. Performance, segurança) © 2001 Jaelson Castro

Modelo de Ciclo de Vida “Prototipagem” Investigar requisitos do usuário Que dados devem ser fornecidos e que dados devem ser capturados Investigar o modelo adequado de interface Determinar se uma particular plataforma de implementação é apropriada Determinar a eficiência de uma linguagem, SGBD ou infra-estrutura de comunicação © 2001 Jaelson Castro

Modelo de Ciclo de Vida “Prototipagem” © 2001 Jaelson Castro

Vantagens da “Prototipagem” Demonstrações antecipadas das funcionalidades do sistema ajudam a identificar erros de entendimento entre o desenvolvedor e o cliente Requisitos do cliente que tenham sido esquecidos são identificados Dificuldades na interface podem ser identificadas A possibilidade e utilidade pode ser testada (parcialmente) © 2001 Jaelson Castro

Problemas da “Prototipagem” O cliente pode não entender o esforço extra necessário para produzir um sistema completo e pode esperar uma entrega rápida Pode desviar a atenção de características funcionais, unicamente para as características de interface Requer o envolvimento significativo do usuário Gerenciar o ciclo de vida da prototipagem não é fácil © 2001 Jaelson Castro

Aplicabilidade da “Prototipagem” Para sistemas interativos de tamanho pequeno ou médio Para partes de grandes sistemas (interface do usuário) Para sistemas de curto tempo de vida © 2001 Jaelson Castro

Modelo de Ciclo de Vida Espiral Processo é representado como um espiral ao invés de uma sequência de atividades com possibilidade de retorno Cada volta no espiral representa uma fase no processo. Não há fases fixas como especificação ou projeto - repetições no espiram são escolhidas dependendo do que é requisitado Riscos são explicitamente avaliados e resolvidos através do processo © 2001 Jaelson Castro

Modelo de Ciclo de Vida Espiral © 2001 Jaelson Castro

Setores do Modelo Espiral Atribuindo objetivos Objetivos específicos para a fase são identificados Avaliação e redução de riscos Riscos são avaliados e atividades são identificadas para reduzir os riscos chave Desenvolvimento e validação Um modelo de desenvolvimento para o sistema é escolhido e pode ser qualquer um dos modelos genéricos Planejamento O projeto é revisado e o próxima fase do espiral é planejada © 2001 Jaelson Castro

Fases do Desenvolvimento de Sistemas de Informação Nós focalizamos agora na parte de desenvolvimento do ciclo de vida de um software. Existem várias maneiras de dividir o desenvolvimento de um sistema de informação em fases Para esse curso, nós identificamos quatro fases: estudo de possibilidades, análise de requisitos, projeto do sistema, implementação Todas as atividades associadas a cada fase devem ser realizadas, gerenciadas e documentadas. Suporte ao Desenvolvimento -- ferramentas e metodologias que auxiliam a realização, gerenciamento e documentação das quatro fases © 2001 Jaelson Castro

Fases do Ciclo de Vida de um Sistema de Informação © 2001 Jaelson Castro

Fase I: O Estudo de Possibilidades Decidindo o que fazer Confirma que um problema existe Realiza um estudo para determinar se o sistema pode desenvolvido para solucionar o problema (2 dias - 4 semanas) Um estudo de possibilidades olham o problema no seu mais alto nível (sem detalhes) O estudo de possibilidades é revisado pelo cliente (usualmente por um gerente) e se a revisão for positiva, então é feito um estudo mais detalhado dos requisitos. © 2001 Jaelson Castro

Fase II: A Análise de Requisitos Estudar detalhadamente procedimentos e sistemas de informação computadorizados já existeantes e documentá-los. Definir objetivos a serem atingidos pelo novo sistema Propor processos de négocios alternativos (várias possibilidades) que possam se adaptar melhor aos objetivos e metas da organização. Discutí-los com o cliente e ter o feedback de qual é a alternativa desejada. © 2001 Jaelson Castro

Fase II: A Análise de Requisitos Definir os limites do sistema de informação a ser construído como parte da coleção dos processos de negócio. Definir requisitos não-funcionais do sistema proposto, incluindo requisitos de entrada/saída, requisitos de resposta, requisitos de arquivo, etc. Colecionar estatísticas de volumes, quantidades de dados gerenciados pelo sistema. Oferecer estimativas de custos e redimentos para a solução proposta. © 2001 Jaelson Castro

Fase III: O Projeto Especificar uma arquitetura e um projeto detalhado para o sistema de informação proposto Primeiro é especificado o sistema ideal, encontrando todos os requisitos funcionais, então o sistema é modificado para ter os requisitos não-funcionais e outras restrições Recursos alocados para equipamentos de hardware, tarefas pessoais e tarefas de programação. © 2001 Jaelson Castro

Fase III: O Projeto Especificações técnicas são preparadas para: Arquitetura de sistema (componentes, interfaces de sistema para sistemas existentes) Processamento lógico (como o sistema faz o que é suposto a fazer?), Projeto da base de dados (Que informação é manipulada pelo sistema?), Entrada/saída (O que os usuários vêem?), Requisitos de plataforma (em que sistemas o sistema roda?) e Procedimentos manuais (como as pessoas usam o sistema?). © 2001 Jaelson Castro

Fase IV: A Implementação (não coberto nesse curso) O sistema é implementado com base na especificação do projeto Programação do sistema é realizada São conduzidos os testes do sistema, tanto das partes individuais quanto do sistema como um todo (teste de aceitação) Equipamento é adquirido e instalado Procedimentos, manuais do sistema, especificações de software e documentações são concluídas Pessoal é treinado © 2001 Jaelson Castro

Gerenciando o Desenvolvimento de Sistemas de Informação Com a continuação do projeto mais detalhes tornam-se disponíveis, assim como o que o sistema proposto deve fazer e como operá-lo Em cada estágio são identificados riscos para a organização e suas importâncias Se existe um risco de falha catastrófica então o sistema também deve ser redefinido ou cancelado. © 2001 Jaelson Castro

Envolvimento do Usuário Garante que há o envolvimento contínuo e efetivo do usuário com o projeto. Usuários podem estar envolvidos em vários níveis e desempenhar muitos diferentes papéis Envolvimento direto Coleta de fatos Consulta Explica cuidadosamente o papel deles Oferece treinamento quando requerido Dá tempo suficiente © 2001 Jaelson Castro

Abordagens Metodólogicas Abordagem para desenvolvimento de software (ex. OO) Um conjunto de técnicas e notações (ex. UML) Um modelo de ciclo de vida (ex. Espiral incremental) Um conjunto unificado de procedimentos e filosofia Nesse curso nós não seguimos uma metodologia específica Nós apenas aplicamos técnicas de OO de uma forma coordenada usando UML © 2001 Jaelson Castro

Processo de Apoio Automático (CASE) Computer-aided software engineering (CASE) é um software de apoio aos processos de desenvolvimento e evolução de software Automação de atividade Editores gráficos para desenvolvimento do modelo de sistema Dicionário de dados para gerenciar entidades de projeto Construtor de GUI para construção da interface do usuário Debuggers para ajudar a encontrar falhas no programa Tradutores automáticos para gerar novas versões do programa © 2001 Jaelson Castro

Apoio CASE para Preparação de Diagramas Verificação da corretude sintática Suporte ao dicionário de dados Verificaçã da consistência e completude Navegação para ligar diagramas Estender em camadas Rastrear Geração de relatórios Simulação do sistema Análise de performance © 2001 Jaelson Castro

Apoio CASE para Construção de Software Gerador de código Debuggers Ferramentas de manutenção etc © 2001 Jaelson Castro

CASE - Benefícios Padronizar a notação e diagramação Realizar verificação automática da qualidade dos modelos Reduzir tempo na recuperação de dados sobre o sistema Reduzindo tempo e esforço para produzir código Promover reuso de modelos © 2001 Jaelson Castro

CASE - Desvantagens Limitações na flexibilidade da documentação oferecida A necessidade de trabalhar de um modo específico Falso sentido de corretude Custos adicionais para instalação e treinamento © 2001 Jaelson Castro

Tecnologia Case Tecnologia Case tem conduzido melhorias significativas no processo de software embora não na ordem de magnitude dita anteriormente Desenvolvimento de software exige pensamento criativo - não é uma leitura automática. Desenvolvimento de software é uma atividade de equipe e, para grandes projetos, o maior tempo é gasto nas interações da equipe. Tecnologia CASE, realmente não auxilia isso. © 2001 Jaelson Castro