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

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

Engenharia de Software I

Apresentações semelhantes


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

1 Engenharia de Software I
Prof. Josué Froner

2 Introdução Objetivo: apresentar conceitos introdutórios sobre Engenharia de Software, assim como auxiliar a definição modularidade e arquitetura, ciclo de vida do software, reutilização, medição, ferramentas e ambientes integrados, trabalhar a distinção entre engenharia de software e ciência da computação;

3 O que é software? Em geral, é o conjunto de programas, e sua respectiva documentação, que instruem computadores a realizar funções desejadas. Em termos simples, são conjuntos de instruções para um computador (NASA). Conjunto de programas, procedimentos, dados e documentação associados a um sistema de computador, e não somente ao programa em sí (PFLEEGER)

4 Compreendendo o software
Desenvolvido por engenharia e não manufaturado; Não tem desgaste; Construção do software é exclusiva para o problema em questão. Desenvolvido através de códigos (linguagens); Diferentes tipos de aplicações.

5 Curva de falhas real para o software
Curva ideal Curva real mudança tempo Índice de falhas

6 Software no tempo 50/60- sem metodologia, programar é arte 60 – conceito de estruturação: programação, projeto e análise estruturada 60/70 – inicio do SGBD´s 1976 – Modelo Entidade Relacionamento – Peter Shen 80 – Metodos: focados no processo x focados nos dados 81 – Eng. Informação : James Martin e Clive Finkelstein 84 – prevalencia da funcionalidade sobre os dados  origina a análise de PF, OO 95 – criação do conceito de caso de uso – Ivar Jacobson 96 – criação UML 97 – jacobson lança RUP 1950 1-orientacao batch, distribuição limitada, software customizado 2 – multiusuário, tempo real, banco de dados, produtos de software 3 – sistemas distribuídos, Inteligência embutida, Hardware de baixo custo, impacto de consumo 4 - sistemas de desk-top poderosos, tecnologias orientadas a objetos, sistemas especialistas, redes neurais artificiais, computação paralela 1960 1970 1980 1990 2000 utilizado para automatizar tarefas. nada mais é um conjunto de comandos que são rodados sequencialmente. Criado para o MS-DOS, o batch foi utilizado para o sistema operativo carregar programas para preparar o ambiente para rodar outros programas Mais info:

7 Importância Software é fator que diferencia;
Evolução do hardware  evolução do software = aproveitar as potencialidades; PARA QUÊ SOFTWARE? automatização de processos; melhorar qualidade das informações; apoiar decisões estratégicas; mais credibilidade as informações;

8 Crise do software Aflição crônica (Prf. Daniel Teichroew, 1989)
Não funcionamento adequado; métodos de desenvolvimento; Processo de manutenção crescente com o aumento de software no mercado; Estimativas de prazos imprecisas; Produtividade dos trabalhadores da área não acompanham a demanda; Qualidade do software a desejar

9 Causas da aflição ou crise
Elemento de sistema lógico e único -> desafio intelectual  probabilidade de falhas é um fato; Manutenção envolve correção ou modificação no projeto; Falta de experiência em gerenciamento de software; Profissionais com pouco treinamento formal.

10 Mitos Administrativos Do cliente Do profissional
Utilização correta de manuais de padrões; CASE atualizadas mas sem utilização; Contratação de novos profissionais para compensar o atraso; Do cliente Objetividade profissional dos desenvolvedores e gerencia para com o anseio do cliente (detalhar, requisitos); Do profissional O trabalho nunca fica completo plenamente; Avaliação continua do trabalho não só quando está pronto; Entrega do software não é o fim temos a documentação do mesmo como base;

11 O que é Engenharia de Software? Definições formais
Segundo Bauer (1969): estabelecimento e uso de princípios e métodos comprovadamente eficazes de engenharia a fim de obter software: Economicamente viável; Confiável; Operável em máquinas reais. Engenharia de software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais

12 Engenharia de Software (IEEE)
Aplicação de abordagem sistemática, disciplinada e quantificada para o desenvolvimento, operação e manutenção do software. (IEEE, STD ) Além disso, compreende o estudo das abordagens em si. IEEE STD , IIEEE Sttandard Gllossary off Soffttware Engiineeriing Termiinollogy, IEEE, Piscataway, NJ, 1997. PAULK, M.C. et al. The Capattiibiilliitty Matturiitty Modell – Guiidelliines ffor iimproviing tthe soffttware process, Addison Wesley, SEI series, 1995.

13 Engenharia de Software
Disciplina tecnológica e gerencial que se preocupa com a produção sistemática e a manutenção dos produtos de software que são desenvolvidos e modificados no tempo e seguindo estimativas de custos.(Fairley, 1985) Parte da engenharia de sistemas e de hardware, abrangendo um conjunto de três elementos fundamentais – métodos, ferramentas e procedimentos – possibilitando o gerenciamento e controle do processo de desenvolvimento de software visando a alta qualidade de desenvolvimento. (Pressman, 2006)

14 Engenharia de Software (Webopaedia)
Disciplina no ramo da Ciência da Computação que se preocupa com o desenvolvimento de grandes aplicações de software. Cobre não somente os aspectos técnicos do desenvolvimento de sistemas de software, mas também questões relativas a gerenciamento, tais como a direção de equipes de programação, cronograma e orçamento.

15 Em resumo (SEI): Engenharia é a aplicação sistemática do conhecimento científico para a construção de soluções efetivas em custos para problemas práticos relativos à humanidade. Engenharia de Software é o ramo da engenharia que aplica conceitos da Ciência da Computação e da Matemática para alcançar soluções efetivas em custos para problemas de software.

16 Por que Engenharia de Software?
Softwares que extraiam o potencial do hardware; Ritmo de demanda de novos programas; Projetos ruins e recursos inadequados interferem na manutenção de programas; objetivo: Sistematizar o processo de criação e manutenção de software

17 Problemática levantada
Tempo longo para conclusão de programas; Custos elevados; Encontrar erros antes da entrega final do software para o cliente; Difícil medição do progresso de desenvolvimento;

18 Pilares da ES (4Ps+1F) - Jacobson Pessoas Projeto Produto Processo
Ferramentas

19 Pessoas Arquitetos, desenvolvedores, engenheiros de teste, gerentes, usuários, clientes, patrocinadores, sponsors e todos os primariamente envolvidos em um projeto de software.

20 Projeto O elemento organizacional através do qual o desenvolvimento de software é gerenciado. O seu resultado é o produto.

21 Produto Artefatos que são criados durante o ciclo de vida do projeto, tais quais: modelos, código fonte, executáveis, e documentação. É o software per se.

22 Processo Definição do conjunto completo de atividades necessárias para a transformação dos requisitos dos usuários em um produto. Um processo é um modelo para a criação de projetos.

23 Ferramentas Software que é utilizado para a automação das atividades definidas no processo. Exemplo: ferramentas de engenharia de software auxiliada pelo computador (CASE) ou de gerenciamento de projeto.

24 Observação: O processo que guia o desenvolvimento deve ser orientado às pessoas, ou seja, é agradável para todas as pessoas que o utilizam…

25 Referências PRESSMAN, ROGER.S.ENGENHARIA DE SOFTWARE. SÃO PAULO: MAKRON, 2006 JURAN, J. GRYNA, FRANK. CONTROLE DA QUALIDADE: COMPONENTES BÁSICOS DA FUNÇÃO QUALIDADE - V.2 - SÃO PAULO : MAKRON, 1991. PFLEEGER, SHARI L. ENGENHARIA DE SOFTWARE: TEIORIA E PRÁTICA. 2.ED.SÃO PAULO: PRENTICE HALL, 2004. FAIRLEY, RICHARD. SOFTWARE ENGINEERING CONCEPTS. SINGAPORE: MCGRAW-HILL, 1985. e


Carregar ppt "Engenharia de Software I"

Apresentações semelhantes


Anúncios Google