A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula.

Apresentações semelhantes


Apresentação em tema: "15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula."— Transcrição da apresentação:

1 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 12

2 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 2 Projeto de software Arquitetura Reuso Validação de sistemas críticos Bibliografia AGENDA

3 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 3 A organização fundamental de um sistema, materializada em seus componentes, nos relacionamentos entre si e com o ambiente, e nos princípios que dirigem seu desenho e evolução Padrão : IEEE std IEEE Recommended Practice for Architectural description of software-Intensive systems, in [IEEE03]. O Modelo de solução procura documentar a arquitetura de um sistema ou produto, descrevendo-a em visões consistentes. O modelo de solução é descrição arquitetônica primária Projeto de software - Arquitetura

4 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 4 Visões são instancias de pontos de vista, onde um ponto de vista existe para descrever a arquitetura na perspectiva de um conjunto de stakeholders. Visões são uma representação de um sistema inteiro segundo a perspectiva de um conjunto corrlato de preocupações. Cada visão expressa a arquitetura do sistema segundo um ponto de vista, cada ponto de vista determina convenções para criação, representação e analise da visão. Projeto de software - Arquitetura

5 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 5 Visões principais : Visão de Uso - produzida pelos desenhistas de interface com o usuário, descreve o desenho externo do produto, ou seja estrutura e comportamento externamente visíveis. Visão lógica – Feita por desenhistas lógicos, descreve o desenho interno, principais aspectos de organização, estrutura de colaboração das classes Projeto de software - Arquitetura

6 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 6 Visão de testes - Produzida pelos desenhistas, descreve o comportamento dos testes necessários para verificar a visão de uso desenhada Projeto de software - Arquitetura

7 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 7 Outras visões – dependendo do tipo de sistema a ser produzido outras visões podem ser necessárias : Visão de implementação - modela a estrutura logica exatamente como implementada, ou seja um retrato do código Visão de dados – estrutura fisíca dos dados persistentes acessíveis ao sistema. Visão de componentes – modela a estrutura física estática do sistema usando diagrama de componentes. Visão de implantação – modela a estrutura dinamica através de dispositivos, processos, usando diagramas de implantação Projeto de software - Arquitetura

8 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 8 Reuso em projetos trata do reaproveitamento de todos os itens do patrimonio de software de uma organização, de forma estratégica a considerar a organização como um todo e no longo prazo. Os itens reutilizáveis abragem não só código, desenho e testes, como tambem requisitos, especificações planos e outros artefatos. O reaproveitamento de todos os artefatos supera o reaproveitamento de itens isolados quanto a produtividade. Projeto de software - reuso

9 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 9 Custo de desenvolvimento de itens reutilizaveis custa o triplo de um item normal, por isso o planejamento para reuso é essencial para justificar o investimento necessário. Um plano de reutilização estratégica pode incluir: Projeto de software - reuso Metas Responsáveis e equipes Procedimentos de partida Ferramentas Patrimonio existente Beneficios potenciais limitações Padrões Estratégias de comunicação Estratégia de evolução e crescimento. Métricas Suporte ao uso

10 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 10 Estratégia deve incluir: Aquisição de intens de fontes externas. Avaliação de prós e contras de desenvolvimento interno. Itens devem ter proprietarios responsaveis por manutenção e evolução. Gestão de configuração e alteração. Publicação dos itens em repositorio e disponibilidade comunicada Projeto de software - reuso

11 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 11 Gestão de porfólio – Coleção de todos os projetos em andamento, concluidos e propostas de projetos. Muito util no reuso de projetos, deve considerar as interdependencias entre projetos, a concorrecia por recursos escassos, como pessoal especializado, tecnologia e arquitetura utilizados e finalmente a possibilidade de reutilização. Projeto de software - reuso

12 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 12 Problemas com o reuso Aumento nos custos de manutenção Falta de ferramentas de apoio Sindrome do 'não-foi-inventado-aqui' Manutenção de uma biblioteca de componentes Encontrar e adaptar componentes reutilizáveis Padrões de projeto Forma de reusar conhecimento abstrato sobre um problema e sua solução. Descrição do problema e a essência de sua solução Deve ser abstrato o suficiente para ser reutilizado em diferentes casos Frequentemente dependem de característica de objeto, tal como herança e polimorfismo Projeto de software - reuso

13 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 13 Exercicios: 1.Leia o material de apoio e descreva os pontos de vista de cada uma das principais visões de arquitetura de software. 2.Explique cada um dos cinco problemas com reuso. 3.Explique o plano de liberações no modelo de solução (figura 18.1) 4.Crie um plano de liberações Tabular com 3 iterações, considerando emissão de relatórios de notas fiscais: 1.Diário 2.Semanal 3.Mensal. Projeto de software - reuso

14 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 14 Define-se sistema crítico, como um software em que suas características causam riscos inerentes a danos físicos, pessoal e financeiro. Atualmente, são três os tipos de sistemas críticos, tais como: Sistema crítico de segurança: sua falha pode proceder em prejuízos, danos ambientais e perda da vida humana. Um exemplo de sistema crítico de segurança é um software de controle de uma fábrica de fogos de artifício; Sistema crítico de missão: sua falha pode ocasionar problema em alguma atividade conduzida a metas. Um exemplo de sistema crítico de missão é um software de navegação para uma aeronave Sistema crítico de negócio: sua falha pode resultar em custos elevados para a empresa que trabalha com o software. Um exemplo de sistema crítico de negócio é um software contábil de clientes bancários. Validação de Sistemas criticos

15 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 15 Técnicas de Validação Técnicas Estáticas Revisão de projeto, inspeção de código Provas e argumentos matemáticos Técnicas Teste estatístico Teste baseado em cenário Verificação (checking) de run-time Validação de Processo Processos de desenvolvimento que minimizem a probabilidade de erros que possam comprometer a confiabilidade do sistema. Validação de Sistemas criticos

16 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 16 Técnicas de Validação Técnicas de Validação Dinâmicas Testes - analisar o sistema fora de seu ambiente operacional Verificação de run-time - analisar se o sistema está operando dentro de um envelope de confiabilidade Validação de Sistemas criticos

17 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 17 Validação Estática para Segurança Demonstração da segurança através de testes é difícil (deve mostrar o que o sistema faz em todas as situações) Revisões/inspeções devem ser suplementadas com foco em verificar que situações inseguras não acontecem. Pontos importantes Sistemas com aspectos de segurança devem ser desenvolvidos de maneira mais simples possível, utilizando técnicas segurasde desenvolvimento. Provas de segurança são mais simples do que provas de consistência ou correção. Validação de Sistemas criticos

18 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 18 Validação de Confiabilidade Exercitar o programa para verificar se atingiu o nível requerido de confiabilidade Não é o mesmo que processo de teste para defeitos Testes estatísticos devem ser usados, baseados em amostra real/simulada de uso Processo de Validação Estabelecer um perfil operacional para o sistema Construir dados de teste que reflitam o perfil operacional Testar o sistema e observar o número de falhas e os tempos de ocorrência Computar a confiabilidade após número significativo de falhas terem sido observadas Validação de Sistemas criticos

19 15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 19 Bibliografia BIBLIOGRAFIA BÁSICA ENGHOLM JUNIOR, Helio. Engenharia de software na prática. 1ª Edição. São Paulo: Novatec, PAULA FILHO, Wilson de Pádua. Engenharia de Software. 3ª Edição. Rio de Janeiro: LTC, SCHACH, STEPHEN R. Engenharia de Software: Os paradigmas Clássico e Orientado a Objetos. 7ª EdIção. São Paulo: Mcgraw Hill Interamericana, BIBLIOGRAFIA COMPLEMENTAR KOSCIANSKI, André; SOARES, Michel dos Santos. Qualidade de software: Aprenda as Metodologias e Técnicas mais modernas para o desenvolvimento. 2ª Edição. São Paulo: Novatec, NOGUEIRA, Marcelo. Engenharia de Software: Um Framework para a Gestão de Riscos em Projetos de Software. 1ª Edição. Rio de Janeiro: Ciência Moderna, PRESSMAN, Roger S. Engenharia de Software. 6ª Edição. São Paulo: Mcgraw Hill, SOMMERVILLE, Ian. Engenharia de Software. 8º Edição. São Paulo: Pearson Education, TONSIG. Sérgio Luiz. Engenharia de Software: Análise e Projeto de Sistemas. 2ª Edição. Rio de Janeiro: Ciência Moderna, 2008.


Carregar ppt "15/1/2014 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula."

Apresentações semelhantes


Anúncios Google