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

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

Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software"— Transcrição da apresentação:

1 Engenharia de Software
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Engenharia de Software Profa. M.Sc. Yáskara Menescal 1

2 2 Introdução Por Sommerville, software compreende tudo que é necessário para um sistema computacional funcionar: Programa de computador Documentação Arquivos de configuração Entre outros E existe por causa das necessidades de clientes.

3 Introdução Como transformar necessidades em software?
3 Introdução Como transformar necessidades em software? Devem ser consideradas as atividades: Entender as necessidades do cliente Planejar a solução Implementar a solução Validar esta solução Entregar o produto ao cliente Estas atividades são executadas... Ordenadas ou não Formalmente ou informalmente

4 Introdução Todo processo de transformação tem início e fim.
4 Introdução Todo processo de transformação tem início e fim. Essa variável temporal, denominada de ciclo de vida, determina as fases do desenvolvimento de software.

5 Outros Processos Contidos no Processo Principal
Introdução Engenharia de Software Processo de Desenvolvimento de Software Análise de Requisitos Implemen-tação Implan-tação Projeto Teste Atividades Garantia de qualidade; - Gerência de Configuração; - Gerência de Riscos; - Métricas; Estimativas; - Revisões Técnicas Formais. Outros Processos Contidos no Processo Principal

6 Processo de software É uma série de passos (um ROTEIRO).
Para criar EM TEMPO um SOFTWARE de ALTA QUALIDADE, sem estourar o ORÇAMENTO. Motivação

7 Processo de software Como “escolher“ um processo?
As CARACTERÍSTICAS DA APLICAÇÃO (domínio do problema, tamanho, complexidade etc); A TECNOLOGIA a ser adotada na sua construção (paradigma de desenvolvimento, linguagem de programação, mecanismo de persistência etc), a organização; ONDE o produto será desenvolvido; O PERFIL DA EQUIPE de desenvolvimento.

8 Processo de software Quando se “escolhe“ um processo DEFINE­SE um:
Modelo de Ciclo de Vida (ou modelo de processo). É uma representação abstrata da estrutura (“ESQUELETO“) de processo. Inclui algumas atividades principais. A ordem de precedência entre elas. Opcionalmente, artefatos requeridos e produzidos.

9 Ciclo de vida Em geral, os ciclos de vida envolvem as seguintes FASES : Planejamento Análise e Especificação de Requisitos Projeto Implementação Testes Entrega e Implantação Operação Manutenção

10 Processo de Desenvolvimento
Um processo é organizado em atividades. Atividades são de responsabilidade de um membro da equipe (trabalhador). Atividade (Tarefas) Trabalhador (papel)

11 Processo de Desenvolvimento de SW
Atividades devem gerar um artefato de saída, que possa ser verificado, e podem requisitar um artefato de entrada. Um artefato é um modelo, documento ou código produzido por uma atividade. Artefatos

12 Processo de Desenvolvimento de SW
Uma entrega (liberação) é um artefato entregue ao cliente Um processo deve estabelecer uma série de marcos. Um marco é um ponto final de uma atividade de processo.

13 Atividades - artefatos
(tarefas) Realizados por Trabalhador (papel) Responsável Entrada/saída Artefatos (produto do trabalho)

14 Papéis Na elaboração de um processo, deve-se definir quais pessoas desempenham papéis. Os papéis podem variar de um processo para outro

15 Atividades (disciplinas)
Em um processo, as atividades devem ser alocadas aos papéis... deve ser determinados o fluxo de trabalho, a rede de dependências e os marcos

16 Artefatos Artefatos podem ser documentos, modelos, códigos, incrementos, etc. Um processo define quem produz e consome os artefatos e quando eles serão produzidos (marcos)

17 Marcos (milestones) Um marco (milestone) é um ponto final de uma atividade de processo. Um processo deve estabelecer uma série de marcos.

18 Visão geral de um processo

19 Processo de Desenvolvimento de SW
19 Processo de Desenvolvimento de SW Um processo de software é a especificação do processo de transformar necessidades em software Especifica as atividades envolvidas Determinando entradas e saídas Atribuindo a responsabilidade de execução a grupos de pessoas (papeis de desenvolvedores) Determina o ciclo de vida de desenvolvimento Determina as fases do ciclo Define atividades importantes e opcionais de cada fase

20 Levantamento de Requisitos
20 Processo de Desenvolvimento de SW Processo de desenvolvimento de software – conjunto de atividades executadas coordenadamente ; Ciclo de Vida: encadeamento das fases. Compreende todas as atividades necessárias para definir, desenvolver, testar e manter um produto de software; Existem vários processos, mas não um melhor; Atividades comuns compostas de micro-atividades , como por exemplo: Análise Projeto Implementação Testes Implantação Levantamento de Requisitos

21 Levantamento de Requisitos
21 Processo de Desenvolvimento de SW Exemplo: O ciclo de Vida Em Cascata (clássico ou linear) possui uma tendência macro para a progressão seqüencial apesar de poder haver retroalimentação; Problemas: Projetos reais raramente seguem o fluxo; Presume possibilidade de declarar previamente todos os requisitos; A implantação fica distante da fase inicial. Entendendo o problema... Análise Projeto Implemen-tação Testes Implantação Levantamento de Requisitos ...Construindo o software Extraído de BEZERRA, E. Princípio de Análise e Projetos de Sistemas.

22 Atividades de Um Processo de Desenvolvimento de Software

23 Levantamento de Requisitos
23 Objetivos: trabalhar para construir o sistema correto. Envolve: capturar os vários requisitos (funcionais e não funcionais), negociar prazo, custo e escopo ( o que e não como). Dificuldades: cliente e desenvolvedor falam línguas diferentes, é difícil definir o que o cliente quer e os documentos de requisitos dele são ambíguos. O que são requisitos? São características/necessidades do cliente que podem ser expressas como: - funcionais: o que o sistema deve fazer - não-funcionais: restrições sobre como o sistema deve desempenhar suas funções Exemplo - Registrar o empréstimo de uma fita é um requisito funcional. - Estabelecer que o tempo de empréstimo da fita não pode ser superior a 48 horas é uma restrição, ou requisito não funcional. Erros comuns na especificação de requisitos: Deve ficar claro ao analista que requisitos são coisas que o cliente ou usuário solicitam, e não coisas que ele, como analista, planejou. Análise Projeto Implemen-tação Testes Implantação Levantamento de Requisitos Levantamento de Requisitos Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA 23

24 representem o sistema a ser desenvolvido.
24 Objetivos: Estudo dos requisitos levantados na fase anterior para construção de modelos que representem o sistema a ser desenvolvido. Envolve: eliminar falhas da análise de requisitos, abordar questões técnicas do desenvolvimento de software (como e não o que). Dificuldades: as mesmas dificuldades da análise de requisitos Levantamento de Requisitos Análise Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação 24

25 25 Objetivos: proposta de uma solução que atenda os requisitos da análise e que seja passível de implementação. Envolve: detalhes físicos de implementações, trabalha o comportamento interno do software, plano e implementação das decisões arquitetônicas. Podemos concluir que... O resultado da análise é o enunciado do problema, e que o projeto será a sua resolução. Problemas mal enunciados podem até ser resolvidos, mas a solução não corresponderá às expectativas. - A qualidade do processo de análise é importante porque um erro de concepção resolvido na fase de análise tem um custo; na fase de projeto tem um custo maior; na fase de implementação maior ainda, e na fase de implantação do sistema tem um custo relativamente astronômico. Levantamento de Requisitos Análise Projeto Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação 25

26 Dificuldade: falta de conhecimento da equipe de
26 Objetivos: construir uma versão operacional do software que possa ser entregue ao cliente para avaliação. Envolve: implementar código fonte em uma determinada linguagem, implementar código de teste unitário para o código fonte e integrar o sistema. Dificuldade: falta de conhecimento da equipe de desenvolvimento sobre a uma determinada tecnologia. Levantamento de Requisitos Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen- tação Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação 26

27 ATIVIDADES INDEPENDENTE DO CICLO DE VIDA
27 Objetivos: assegurar que o sistema tenha qualidade antes de ser entregue aos clientes; Envolve: definir o que será testado, executar os testes de integração do sistema e avaliar os testes. Levantamento de Requisitos Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Testes Implantação 27

28 O sistema é empacotado, distribuído e
28 O sistema é empacotado, distribuído e instalado no ambiente do usuário. Os manuais são escritos, os dados são importados para o sistema e o pessoal é treinado para operá-lo. Levantamento de Requisitos Análise Projeto Requisitos: Não funcionais – confiabilidade, desempenho, portabilidade, segurança, usabilidade. Normativos – custo, prazo, plataforma tecnológica, aspectos legais como licenciamento. Implemen-tação OBJETIVOS DAS ATIVIDADES INDEPENDENTE DO CICLO DE VIDA Testes Implantação Implantação 28


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google