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

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

Engenharia de Software e Orientação a Objeto Aspectos Avançados em Engenharia de Software Aula 1 Fernanda Campos DCC/UFJF.

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software e Orientação a Objeto Aspectos Avançados em Engenharia de Software Aula 1 Fernanda Campos DCC/UFJF."— Transcrição da apresentação:

1 Engenharia de Software e Orientação a Objeto Aspectos Avançados em Engenharia de Software Aula 1 Fernanda Campos DCC/UFJF

2 Por que Engenharia de Software e Orientação a Objetos?

3 SW ESTÁ FICANDO MAIS COMPLEXO linhas linhas ,4 M linhas M linhas

4 CUSTOS Custos de desenvolvimento são muito altos. Elevam-se os custos de manutenção década de 70 e 80: 60-65% dos custos totais atualmente: 70-80% dos custos totais

5 CENÁRIO Vivendo uma revolução na indústria de software complexidade confiabilidade capacidade de projeto flexibilidade velocidade de desenvolvimento facilidade de manutenção

6 FLEXIBILIDADE FRENTE A MUDANÇAS Mudanças nos processos de negócio do usuário década de 40: 10 anos década de 60-70: 5 anos década de 90: 2 anos século 21: 6 meses

7 HISTÓRICO A primeira abordagem OO para desenvolvimento de software surgiu na década de 60, mas foram necessários 20 anos para que seu uso se tornasse mais popular. Na primeira metade dos anos 90 a OO foi a escolha de muitos desenvolvedores. Cada vez mais a OO tem substituído outras abordagens clássicas de desenvolvimento.

8 VANTAGENS Benefícios de desenvolvimento e técnicos. Tecnologias de objetos direcionam para reuso e reuso de componentes direciona para o desenvolvimento mais rápido e de alta qualidade. Sistemas OO são mais fáceis de serem adaptados...

9 REUTILIZAÇÃO Usar novamente algo que foi feito. Em hardware projetar baseado em componentes integrar componentes desenvolver novos quando necessário Em software todos os artefatos gerados ao longo do processo código

10 OBJETIVOS DA REUTILIZAÇÃO Permitir uma ampla utilização de todos os tipos de informação encontradas em situação de desenvolvimento Exemplo requisitos especificação código testes todas as atividades

11 BENEFÍCIOS DA REUTILIZAÇÃO Menos produção de software novo: aumento da produtividade ganho de qualidade ganho de confiabilidade conhecimento adquirido pode ser compartilhado

12 TÉCNICAS PARA REUTILIZAÇÃO Repositórios ( meio de armazenamento ) Análise de domínio Engenharia reversa Orientação a objetos Design Patterns (padrões de projetos).....

13 ORIENTAÇÃO A OBJETOS Tecnologia que enxerga os sistemas como sendo coleção de objetos interagentes Paradigma de desenvolvimento Envolve todas as atividades de desenvolvimento

14 ORIENTAÇÃO A OBJETOS Alavancas Evolução tecnológica Distribuição de processamento Tecnologia cliente-servidor Internet Tecnologia JAVA Aplicações Web Unificação das metodologias OO

15 ORIENTAÇÃO A OBJETOS O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos. Dos objetos nos interessa a sua estrutura de dados e um conjunto de operações que manipulam estes dados. Os objetos, a sua estrutura de dados e o conjunto de operações são selecionados de acordo com objetivos bem estabelecidos

16 BENEFÍCIOS DA ANÁLISE E PROJETO OO Reduz complexidade através de melhoria do grau de abstração Melhora produtividade a longo prazo, permitindo a reutilização pelos desenvolvedores Torna mais fácil a comunicação entre clientes e desenvolvedores

17 MODELO DE PROCESSO OO Qualquer modelo de processo pode ser adaptado para OO, porém temos que reconhecer que os sistemas OO tendem a evoluir no tempo. Assim sendo um modelo de processo evolutivo, junto com uma abordagem que incentiva o reuso de componentes é o ideal para OO. Modelos usados: Modelo Espiral Evolutivo com Reutilização. RUP Modelos ágeis....

18 CONCEITOS Objetos e atributos Métodos e mensagens Classes e relacionamentos Encapsulamento Herança Polimorfismo

19 IDENTIFICANDO OS ELEMENTOS DE UM MODELO OO Os elementos a serem identificados são: Classes e objetos Atributos Operações e mensagens

20 Identificando classes e objetos Podemos iniciar a identificação de objetos examinando a definição do problema ou fazendo uma varredura na descrição Objetos são determinados identificando cada nome e devem ser colocados numa tabela. Sinônimos devem ser anotados

21 Os objetos se manifestam em uma das seguintes maneiras: Entidades externas: (outros sistemas, equipamentos ou pessoas) que produzem ou consomem informações a serem usadas pelo software Coisas: (relatórios, cartas, sinais) que são parte do domínio da informação do problema. Ocorrência ou evento: (propriedade de transferir ou executar uma serie de movimentos) que ocorrem dentro do contexto da operação do sistema. Papéis: (gerentes engenheiros, vendedores) desempenhados por pessoas que interagem com o sistema. Unidades organizacionais: (divisões, grupos, equipes) que são relevantes para aplicação. Lugares: (andar da manufatura, escrit´rio0 que estabelecem o contato entre o problema e a função principal do sistema. Estruturas: (veículos, sensores e computadores) que definem a classe de objetos ou, no extremo, relacionam classes e objetos.

22 Especificando Atributos É o atributo que define o objeto, que esclarece o que o objeto significa no contexto do problema. Atributos descrevem um objeto que foi selecionado no modelo de análise Devem ser selecionados os atributos que pertencem ao objeto Que tipo de dados definem o objeto no contexto do problema?

23 Definindo Operações Operações definem o comportamento do objeto e modificam os atributos. Uma operação deve conhecer a natureza dos atributos do objeto e ser implementada de forma que seja permitida a manipulação das estruturas de dados derivadas dos atributos.

24 Operações podem: Manipular dados (adicionar, deletar, reformatar, selecionar) Executar uma computação Monitorar um objeto pela ocorrência de um evento de controle.

25 Exercício Identifique os objetos a partir das sentenças do seguinte problema do B&B. Tom e Sue estão implantando uma pousada numa pequena cidade de New England. Eles terão três quartos para hóspedes. Eles querem um sistema para gerenciar as reservas e para monitorar despesas e ganhos. Quando um cliente potencial telefona para a reserva, eles irão verificar a agenda e se existir vaga eles entrarão com o nome do cliente, endereço, numero de telefone, datas, concordância do preço, número do cartão de crédito e número(s) do(s) apartamento(s). Reservas devem ser garantidas pelo pagamento de um dia. Reservas poderão ser feitas sem garantias até uma data definida. Se não confirmada até a data a reserva será cancelada.

26 Exercício Identifique os objetos a partir das sentenças do seguinte problema do consultório dentário. Tom está iniciando a prática de dentista numa cidade pequena. Ele terá uma assistente de dentista, uma higienista e uma recepcionista. Ele quer um sistema para gerenciar as consultas. Quando um paciente telefonar para uma consulta, a recepcionista irá verificar o calendário e irá tentar agendar o paciente o mais breve possível para preencher os horários disponíveis. Se o paciente concordar com a consulta proposta, a recepcionista entrará com a consulta, com o nome do paciente e o horário proposto. O sistema irá verificar o nome do paciente e completar detalhes necessários a partir do arquivo do paciente, incluindo o número de identidade do paciente. Após cada exame ou limpeza, o higienista ou assistente irá marcar a consulta como terminada, adicionando comentários e agendando nova visita, se apropriado. O sistema irá executar buscas pelo nome do paciente e pela data. Detalhes dos arquivos do paciente são mostrados junto com as informações da consulta. A recepcionista pode cancelar consultas. A recepcionista pode imprimir uma lista de notificação para lembrar de telefonar dois dias antes das consultas. O sistema inclui o número de telefone do paciente a partir do seu arquivo. A recepcionista também pode imprimir diariamente ou semanalmente calendários de trabalho com todos os pacientes.


Carregar ppt "Engenharia de Software e Orientação a Objeto Aspectos Avançados em Engenharia de Software Aula 1 Fernanda Campos DCC/UFJF."

Apresentações semelhantes


Anúncios Google