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
FATEC - Engenharia de Software I Material cedido por: Profa. Dra. Ana Paula Gonçalves Serra Engenharia de Software Software e Engenharia de Software Capítulo 1 Profa. Dra. Ana Paula Gonçalves Serra

2 O Papel Evolutivo do Software
Globalização Sociedade da Informação Internet ... Passado Programador solitário Atualmente Equipe de Especialistas em software, cada um se concentrando em uma parte da tecnologia necessária para produzir um sistema. Mas as mesmas questões continuam... Por que leva tanto tempo para construir um software? Por que os custos de desenvolvimento são tão latos? Por que não podemos achar todos os erros antes de entregar o software aos clientes? Por que gastamos tanto tempo e esforço mantendo programas existentes? ... Essas são preocupações que a engenharia de software aborda, tenta responder e minimiza os problemas.

3 Evolução do software 1. sistemas batch distribuição limitada
software dedicado 3. sistemas distribuídos hardware de baixo custo inteligência local impacto de consumo 2. sistemas multiusuário tempo real bancos de dados produto de software 4. tecnologia orientada a objetos computação paralela Internet “onda” do desktop Sistemas especialistas e redes neurais artificiais 5. computação ubíqua sistemas portáteis computação nas nuvens 5 4 3 2 1 1950 1960 1970 1980 1990 2000

4 O que é software? Algumas definições básicas de software...
São instruções (programas de computadores) que quando executadas fornecem as características , funções e desempenho desejado; Estrutura de dados que permitem aos programas manipular adequadamente a informação Documentos que descrevem a operação e o uso dos programas Todos concordam com essas definições? Cada uma delas realmente expressa o que é software?

5 O que é software? Software não é somente o programa, mas também conjuntos de dados, arquivos de configuração e documentação necessários para que o software funcione corretamente.

6 Características do Software
Software é desenvolvido e não fabricado. Software não “se desgasta”. Apesar da tendência de utilização de componentes, uma grande parte dos softwares continua sendo construída sob encomenda.

7 Curva da Falhas para o Software
Como seria a curva de falhas para hardware?

8 Categorias de Software – Atuais
Software de Sistemas São softwares utilizados por outros softwares. Ex: compiladores, sistemas operacionais, componentes,... Software de Aplicação São softwares que tem como objetivo resolver um problema específico de negócio. Ex: sistema de folha de pagamento, sistema de gestão de informações, ... Software de Tempo Real São softwares de aplicação, mas que monitoram, analisam e controlam eventos de tempo real. Ex: sistema do metrô, sistema de aviação, ...

9 Categorias de Software – Atuais
Software Científico e de Engenharia Antigamente eram caracterizado apenas por softwares que processavam números. Ex: sistema de astronomia, análise automotiva de tensão à dinâmica orbital do ônibus espacial, sistema de manufatura automatizada, sistema de análise molecular, ... Atualmente softwares de apoiado por computadores, simulação de sistemas e outras aplicações interativas podem ser classificadas como esse tipo de software.

10 Categorias de Software – Atuais
Software Embutido São softwares que residem dentro de um produto, sistema ou memória ROM. Ex: controle do teclado forno microondas, controle de combustível de automóvel,... Software para linha de produtos (prateleira) São softwares que atendem uma necessidade específica para ser utilizado por vários usuários diferentes. Ex: sistema de multimídia (jogos), planilhas, editores de texto,...

11 Categorias de Software – Atuais
Software para Web São softwares desenvolvido para serem disponibilizados em browser. Ex: sites de conteúdo, E-Commerce, E-Business, E-Learning, .... Software para Inteligência Artificial São softwares que utilizam algoritmos não numéricos para resolver problemas complexos que não são passíveis de computação ou análise direta. Ex: robótica, sistemas especialistas, sistema de reconhecimento de padrão (voz, imagens), redes neurais, ...

12 Categorias de Software – Atuais/Futuras
Computação ubíqua São softwares de aplicação que permitem que pequenos dispositivos móveis, como PDAs e celulares, computadores e sistemas empresariais se comuniquem através de diferentes tipos de redes através da computação distribuída. Ex: acesso a informações via celular, TV digital, multimídia conferência móvel, ... Software Aberto São softwares de aplicação com código aberto, que resulta na distribuição de código fonte, de modo que os usuários possam fazer modificações locais. Ex: sistema de operacionais, sistemas de banco de dados, sistemas de E-learning.

13 Algumas questões... Forneça exemplo de sistemas que trabalham com uma ou mais categorias de software. O que são softwares legados? Qual sua relação com o desenvolvimento de software? Quais são os possíveis problemas de um software legados?

14 Crise do Software Início em 1968 em uma conferência organizada para discutir a chamada “crise do software” Desenvolvimento de Software informal não era suficiente Atrasos constantes Custos maiores do que previsto Não eram confiáveis Difícil manutenção Desempenho inferior ao esperado Declive do custo de hardware Evoluiu-se muito a capacidade de produzir software (preocupação com qualidade, compreensão das atividades de desenvolvimento, criação de técnicas e notações, ... )

15 Crise do Software Crise de tecnologia - hardware caminha mais rápido que o software Crise de oferta - demanda é maior que a capacidade de desenvolvimento Crise de manutenção - projeto mal feito e recursos escassos não permitem manutenção.

16 Crise e Futuro do Software
Ainda vivemos em crise de software? Ver as próximas transparências... Qual é o futuro do software?

17 Alguns Exemplos de Problemas de Software
Explosão do foguete Arianne V que possuía na sua codificação uma rotina destinada ao Ariana IV, e que não deveria ser ativada. Aeroporto de Denver, que ficou fechado durante anos esperando o funcionamento do sistema de bagagens, o que poderia ser detectado em um sistema de simulação.

18 Alguns Exemplos de Problemas de Software
Explosão do foguete Arianne V (1996) em 40 segundo após decolagem que possuía na sua codificação uma rotina do Ariane IV, que não deveria ser utilizada. A rotina convertia valor flutuante em inteiro e que recebeu como entrada um valor que estava fora da faixa permitida e fez com que os computadores principais e de backup dessem “shut-down” ao mesmo tempo. Projeto da Agência Espacial Européia que custou: 10 anos U$ 8 Bilhões U$ 500 milhões de carga do foguete

19 Alguns Exemplos de Problemas de Software
Aeroporto de Denver, que ficou fechado durante anos esperando o funcionamento do sistema de bagagens, o que poderia ser detectado em um sistema de simulação.

20 Problemas de Software Por que os programas não ficam prontos rapidamente? Por que os custos de desenvolvimento são tão altos? Por que os erros não são detectados antes da entrega aos consumidores? Por que é difícil medir o progresso durante o desenvolvimento?

21 Mitos de Software Sob o ponto de vista do gerente
Aumentar o tamanho da equipe resolve o problema de um projeto atrasado. Terceirizar resolve os problemas de gerência. Sob o ponto de vista da equipe de desenvolvimento Não há como avaliar a qualidade do software até que ele seja efetivamente colocado em produção. O único produto que realmente interessa é o código executável. Uma vez que o programa está pronto, acabou o trabalho do “engenheiro de software”.

22 FATEC - Engenharia de Software I
Mitos de Software Sob o ponto de vista do usuário/cliente Basta uma visão geral dos objetivos para se iniciar o desenvolvimento do software. É fácil acomodar as mudanças de requisitos durante o desenvolvimento do software. Realidade do impacto da modificação: Profa. Dra. Ana Paula Gonçalves Serra

23 Engenharia de Software em Camadas
Qualidade: É a camada que suporta a engenharia de software, tendo como foco um software total com qualidade. Um maior detalhamento será descrito no material de Qualidade e discutido. Processo: É um conjunto de atividades e resultados associados que geram um produto de software. Há quatro atividades de processo fundamentais comuns a todos os processos de software. 1. Especificação do software: as funcionalidades (requisitos funcionais), as restrições tecnológicas (requisitos não-funcionais ou atributos) e as restrições de negócio (requisitos de domínio) devem ser definidas. 2. Desenvolvimento do software: detalhamento, solução e codificação devem ser realizadas de modo que atenda as especificações. 3. Validação do software: o software tem de ser validado para garantir que ele realize o que foi especificado 4. Evolução do software: O software deve evoluir para atender às necessidade mutáveis do cliente/usuário. Um maior detalhamento será descrito no material de Modelos de Processos de Software e discutido. Profa. Dra. Ana Paula Gonçalves Serra – Engenharia de Software I

24 Engenharia de Software em Camadas
Métodos: São abordagens para o desenvolvimento de software, que incluem: modelos, notações, regras, recomendações e diretrizes. É a camada que fornece a técnica de como fazer para construir softwares, ou seja a maneira de conduzir um processo. Ferramentas: É a camada que proporciona apoio automatizado aos processos e métodos, como por exemplo às ferramentas CASE (Computer Aided Software Engineering). Profa. Dra. Ana Paula Gonçalves Serra – Engenharia de Software I

25 Exercício Exercício-Aula 1.pdf

26 Agradecimento Material cedido por: Profa. Dra. Ana Paula Gonçalves Serra Copyright © Profa. Ana Paula Gonçalves Serra. Todos direitos reservados. Reprodução ou divulgação total ou parcial deste documento é expressamente proibido sem o consentimento formal, por escrito, da Profa. Ana Paula Gonçalves Serra.

27 Bibliografia Engenharia de Software Roger Pressman
6ª edição – McGrawHill


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google