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

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

©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 1 Engenharia de Software u Projetando, construindo e mantendo grande sistemas de software.

Apresentações semelhantes


Apresentação em tema: "©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 1 Engenharia de Software u Projetando, construindo e mantendo grande sistemas de software."— Transcrição da apresentação:

1 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 1 Engenharia de Software u Projetando, construindo e mantendo grande sistemas de software

2 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 2 Objetivos u Definir a engenharia de software e explicar sua importância u Discutir o conceito de produto de software e processo de software u Explicar a importância da visibilidade do processo u Introduzir a noção de responsabilidade profissional.

3 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 3 Tópicos u Produtos de software u Processo de software u Modelo espiral de Boehm u Visibilidade do processo u Responsabilidade profissional

4 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 4 u A economia de todos os países depende de software u Cada vez mais sistemas são controlados por software u A engenharia de software inclui teorias, métodos e ferramentas para o desenvolvimento profissional de software u O gasto em desenvolvimento de software representa uma fração significativa do PIB de muitos países. Engenharia de Software

5 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 5 u Custo do software geralmente domina o custo do desenvolvimento. Os custos do software de um PC são geralmente maiores do que do hardware; u Software custa mais para manter do que para desenvolver. Para sistemas com uma longa vida, os custos de manutenção são várias vezes maiores do que o de desenvolvimento; u Engenharia de Software trata do desenvolvimento de software de forma eficaz; Custo do Software

6 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 6 Produto de Software u Produtos genéricos Sistemas que são produzidos pelo desenvolvimento de uma organização e vendidos no mercado para qualquer cliente u Produtos customizados Sistemas que são encomendados por um cliente e desenvolvidos especialmente para ele u O maior gasto de software é em produtos genéricos, mas o maior esforço de desenvolvimento está nos produtos customizados.

7 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 7 Atributos dos Produtos de Software u Manutenabilidade Deve ser possível para o software evoluir de forma a atender requisitos que mudam u Dependenbilidade Software não deve causar prejuízo físico ou econômico no caso de uma falha. u Eficiência Software não deve desperdiçar recursos do sistema u Usabilidade O software deve ter uma interface com o usuário adequada e ser documentado

8 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 8 Importância das Características do Produto u A importância relativa destas características depende do produto e do ambiente em que ele será usado u Em alguns casos, alguns dos atributos podem ser mais importantes Em sistemas de segurança-críticos de tempo-real, os atributos- chave podem ser dependenbilidade e eficiência u Os custos tendem a aumentar exponencialmente se altos níveis de um atributo são necessários

9 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 9 Custos da Eficiência

10 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 10 O Processo de Software u Um conjunto estruturado de atividades necessárias para o desenvolvimento de um sistema de software Especificação Projeto Validação Evolução u As atividades variam de acordo com a organização e o tipo de sistema sendo desenvolvido u Deve ser modelado explicitamente se o processo precisa ser gerenciado

11 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 11 Características do Processo u Entendível O processo está definido e bem entendido? u Visibilidade O progresso do processo está externamente visível? u Suportabilidade O processo pode ser apoiado por ferramentas CASE? u Aceitabilidade O processo é aceito pelas pessoas envolvidas nele?

12 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 12 Características do Processo u Confiabilidade Os erros no processo são descobertos antes deles resultarem em erros no produto u Robustez O processo pode continuar mesmo com problemas não esperados u Manutenabilidade O processo pode evoluir de forma a exigir necessidades organizacionais que evoluem u Rapidez Com que rapidez pode o sistema ser produzido

13 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 13 Modelo do Processo em Engenharia (Qualquer) u Especificação - define os requisitos e limitações do sistema u Projeto - Produz um modelo em papel do sistema u Manufatura - construção do sistema u Teste - verifica se o sistema satisfaz a especificação u Instalação - entrega o sistema ao usuário e garante sua operacionalidade u Manutenção - repara falhas no sistema quando elas são descobertas

14 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 14 Modelos do Processo de Software u Normalmente, especificações são incompletas/ anômalas u Distinção sutil entre especificação, projeto e manufatura u Software não se gasta - manutenção não significa troca de componente

15 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 15 Modelos de Processo de Software Genérico u O modelo cascata (waterfall model) Fases distintas e separadas para especificação e desenvolvimento u Desenvolvimento evolucionário Especificação e desenvolvimento são intercalados u Transformação formal Um modelo matemático formal do sistemas é transformado formalmente em uma implementação u Desenvolvimento baseado em reuso O sistema é montado a partir de componentes existentes

16 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 16 Modelos de Processo de Software Genérico u Modelo Híbrido O sistema é particionado em subsistemas menores, onde as partes podem ser desenvolvidas com quaisquer dos modelos. Deve-se considerar o que seja mais apropriado a cada subsistema. u Modelo Espiral Segue uma espiral. Apresenta quatro grandes fases bem definidas, que vão sendo executadas a medida em que se caminha em um ciclo da espiral.

17 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 17 Modelo Cascata

18 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 18 Fases do modelo Cascata u Análise e definição de requisitos u Projeto de software e sistema u Implementação e testes de unidades u Integração e teste de sistema u Operação e manutenção u A desvantagem do modelo cascata é a dificuldade de acomodar mudanças depois que o processo está em andamento

19 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 19 Desenvolvimento Evolucionário Versão Final Versão Inicial Descrição dos Esquemas Atividades Concorrentes Versões Intermediárias Especificação Validação Desenvolvimento

20 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 20 Desenvolvimento Evolucionário u Programação exploratória O Objetivo é trabalhar com os clientes e evoluir para um sistemas final a partir de uma vaga especificação inicial. Deveria começar com requisitos bem entendidos. u Prototipagem descartável O objetivo é entender os objetivos do sistema. Deveria começar com requisitos vagamente entendidos.

21 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 21 Desenvolvimento Evolucionário u Problemas Falta de visibilidade do processo Sistemas ficam geralmente mal estruturados Habilidades específicas (ex. linguagens para prototipagem rápida) pode ser necessária u Aplicabilidade Para sistemas interativos de pequeno ou médio porte Para partes de um grande sistema (ex. a interface do usuário) Para sistemas de vida curta

22 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 22 Modelo de Transformação Formal (Refinamento) u Idéia geral: Uma especificação formal (definição matemática, não ambígua) do software é desenvolvida e posteriormente transformada em um programa através de regras que preservam a corretude da especificação (passos de refinamento). Graficamente: Esp. 2 Esp. 1 Implement.

23 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 23 Modelo de Processo Híbrido u Sistemas grandes são normalmente feitos com vários sub-sistemas u Não é necessário usar o mesmo modelo de processo para todos os sub-sistemas u Prototipagem para especificações de alto risco u Modelo Cascata para desenvolvimento de partes bem entendidas

24 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 24 Modelo Espiral para o Processo de Software Avaliação de Alternativas, Identificação e Resolução de Riscos Determinação de Objetivos, Alternativas e Limitações Fase do Próximo Planejamento Desenvolvimento e Validação do Produto do Próximo Nível

25 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 25 Fases do Modelo Espiral u Definição dos objetivos Objetivos específicos para a fase do projeto são identificados u Avaliação e redução do risco Os riscos principais são identificados, analisados e busca-se informações para reduzir estes riscos u Desenvolvimento e validação Escolha de um modelo apropriado para a fase do desenvolvimento u Planejamento O projeto é revisto e planos são feitos para o próximo passo da espiral

26 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 26 Formulário Padrão para uma volta da espiral u Objetivos u Limitações u Alternativas u Riscos u Resolução do risco u Resultados u Planos u Compromisso

27 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 27 Gerenciamento de Riscos u Talvez a tarefa principal de um gerente seja a minimização de riscos u O risco inerente de uma atividade é a medida da incerteza do resultado desta atividade u Atividades de alto risco causam atrasos e gastos extras u O risco está associado com a quantidade de informação disponível. Quanto menor a informação, maior o risco.

28 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 28 Ex: Melhoria da Qualidade u Objetivos Melhoria significativa da qualidade do software. u Limitações No prazo de três anos; Sem grande investimento de capital; Sem mudanças radicais nos padrões da companhia. u Alternativas Reuso de software existente certificado; Introduzir especificação e verificação formal; Investir em ferramentas de teste e validação.

29 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 29 u Riscos Não ser possível alcançar uma melhoria de qualidade com custo apropriado; Melhoria de qualidade poder aumentar o custo de forma excessiva; Novos métodos podem causar a saída de funcionários. u Resolução de risco Pesquisa na literatura existente; Projeto piloto; Levantamento de componentes potencialmente reutilizáveis; Avaliação das ferramentas de suporte disponíveis; Treinamento de funcionários e seminários de motivação. Ex: Melhoria da Qualidade (cont)

30 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 30 u Resultados Experiência com métodos formais é limitada - muito difícil de quantificar melhorias; Pouca disponibilidade de ferramentas de suporte para os padrões de desenvolvimento da empresa; Disponibilidade de componentes para reuso, porém poucas ferramentas para suportar a reutilização. u Planejamento Explorar em mais detalhes a opção de reuso; Desenvolver protótipos de ferramentas de suporte de reuso; Explorar o esquema de certificação de componentes. u Compromisso Patrocinar uma fase de estudo com duração de 18 meses. Ex: Melhoria da Qualidade (cont)

31 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 31 Ex.: Catálogo de Componentes u Objetivo Obter um catálogo de componentes de software u Limitações Dentro de uma ano; Deve suportar os tipos de componentes existentes; Custo total menor que R$ 100. 000,00. u Alternativas Comprar um software existente para recuperação de informação; Comprar um banco de dados e desenvolver um catálogo usando o banco de dados; Desenvolver um catálogo de propósito especial.

32 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 32 u Riscos Pode ser impossível obtê-lo de acordo com as limitações impostas; A funcionalidade do catálogo pode ser inapropriada. u Resolução do risco Desenvolver um catálogo de um protótipo (usando L4G e SGBD existente) para clarificar requisitos; Contratar consultores para relatar as capacidades atuais dos sistemas de recuperação de informação; Relaxar as limitações de prazo. Ex.: Catálogo de Componentes (cont)

33 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 33 u Resultados Sistemas de recuperação de informação são inflexíveis; Requisitos identificados não podem ser alcançados; Protótipo utilizando o SGBD pode ser estendido para completar o sistema; O desenvolvimento de uma catálogo de propósito especial pode ser muito caro. u Planos Desenvolver o catálogo utilizando SGBD existente, estendendo o protótipo e melhorando a interface com o usuário. u Compromisso Patrocinar mais 12 meses de desenvolvimento. Ex.: Catálogo de Componentes (cont)

34 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 34 Flexibilidade do Modelo Espiral u Sistemas bem entendidos (baixo risco técnico) - modelo cascata. A fase de análise de risco é relativamente barata. u Requisitos estáveis e especificação formal. Segurança crítica - Modelo de transformação formal u Risco alto de IU, especificação incompleta - modelo de prototipagem u Modelo híbrido acomodado para diferentes partes do projeto.

35 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 35 Vantagens do Modelo Espiral u Foca atenção nas opções de reuso u Foca atenção em eliminação cedo de erros u Qualidade desde o início u Integra desenvolvimento e manutenção

36 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 36 Problemas do Modelo Espiral u Contrato de desenvolvimento geralmente já especifica o modelo de processo e produtos (deliverables) u Requer experiência em avaliação de risco u Precisa de refinamento para ser usado

37 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 37 Os Risco do Modelo de Processo u Cascata Alto risco para novos sistemas devido a problemas de especificação e de projeto Baixo risco para desenvolvimento bem entendido que usa tecnologia conhecida u Prototipagem Baixo risco para novas aplicações pois especificação e programa ficam em compasso Alto risco devido à falta de visibilidade do processo u Transformacional Alto risco devido à necessidade de tecnologia avançada e habilidade da equipe

38 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 38 Visibilidade do Processo u Sistemas de software são intangíveis, assim gerentes precisam de documentos para avaliar o progresso u Contudo, isto pode causar problemas Prazo para os produtos de acompanhamento pode não ser adequado para o tempo necessário para completar a atividade A necessidade de produzir documentos limita a iteração do processo O tempo que leva para revisão e aprovação de documentos é significativo u Modelo cascata é ainda o mais usado para geração de documentos

39 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 39 Documentos do Modelo Cascata

40 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 40 Visibilidade do Modelo de Processo Modelo de ProcessoVisibilidade do Processo Modelo CascataVisibilidade boa, cadaatividade produz algum Produto de saída Evolucionário Visibilidade pobre, não econômico paraproduzir documentos durante iteração rápida Formal Transformação Visibilidade boa, documentos devem ser produzidos a partir de cada fase para que o processo continue Desenvolvimento Orientado a Reuso Visibilidade moderada, pode ser artificial para produzir documentos descrevendo reusoe componentes reusáveis. Modelo EspiralVisibilidade boa,Cada segmento e cada anel da espiral pode produzir algum documento. Desenvolvimento

41 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 41 Ética u Confidencialidade u Competência u Direito de propriedade intelectual u Mal uso do computador

42 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 42 Pontos principais u A engenharia de software trata de teorias, métodos e ferramentas para o desenvolvimento, gerenciamento e evolução de produtos de software u Produtos de software incluem programas e documentação. Atributos do produto: manutenabilidade, dependenbilidade, eficiência e usabilidade u O processo de software consiste naquelas atividades envolvidas no desenvolvimento de software

43 ©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 43 Pontos principais u O modelo cascata considera cada atividade do processo uma fase distinta; u Desenvolvimento evolucionário considera as atividades do processo de forma concorrente; u O modelo de processo é baseado em riscos u A visibilidade do processo envolve a criação de produtos associados às atividades; u Engenheiros de software têm responsabilidades éticas e sociais;


Carregar ppt "©Jaelson Castro 2000Engenharia de Sofware, Capítulo 1 Slide 1 Engenharia de Software u Projetando, construindo e mantendo grande sistemas de software."

Apresentações semelhantes


Anúncios Google