Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.