24
Engenharia de Software Software como Produto Márcio Campos - [email protected]

Engenharia de Software Software como Produto Márcio Campos - [email protected]

Embed Size (px)

Citation preview

Page 1: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Engenharia de Software

Software como ProdutoMárcio Campos - [email protected]

Page 2: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

O que é um produto?

Produtopro.du.to

sm (lat productu) 1 Aquilo que é produzido; resultado da produção. 2 Resultado ou rendimento do trabalho físico ou intelectual: Ele vive do produto de seu trabalho. 3 Resultado de uma ou mais forças postas em ação: "Os basaltos são produtos vulcânicos" (Séguier). 10 Econ polít Resultado útil do trabalho.

http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&palavra=produto

Page 3: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

A importância do software

Aparecimento da internet e seu impacto na sociedade.

Disseminação do conhecimento através de livros, bibliotecas, artigos e vídeos.

Arquitetura baseada em padrões abertos e livres com reflexos em outros segmentos (carro da fiat).

http://www.profissionaisti.com.br/2009/08/fiat-aposta-em-veiculo-open-source-com-projeto-fiat-mio/

Software entrega hoje um dos produtos mais valiosos: a informação.

Page 4: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Características do Software

A ênfase do produto software está na concepção e não em sua manufatura.

Software não desgasta.

Software é específico para necessidades individuais.

Page 5: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Definição de Software

Software é um conjunto de instruções de computadores que cuja execução fornece uma determinada funcionalidade e desempenho, um conjunto de dados que permitem ao programas manipularem informação e documentos que descrevem estes mecanismos.

Page 6: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Características do Software

É um processo de construção mental, efetivamente.

Não se deprecia ou se desgasta, se desatualiza.

É desenvolvido e não manufaturado.

Potencializa aspectos cognitivos do homem.

É maleável, configurável e customizável.

Produção baseada em equipes.

Page 7: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Definição de Engenharia de Software

IEEE: engenharia de software é a aplicação sistemática, disciplinada, quantificada de desenvolvimento, operação e manutenção de software; isto é a aplicação da abordagem de engenharia a construção de software; o estudo destas abordagens.

IEEE Standarts Collection: software engineering, IEEE Standart 610.12-1990, IEEE, 1993.

É o estabelecimento e uso de sólidos princípios de engenharia de forma a obter produtos confiáveis e efetivos para seus usuários.

Page 8: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Mas...

Dada uma base grande o suficiente de beta-testers e co-desenvolvedores, praticamente todo problema será caracterizado rapidamente e a solução será óbvia para alguém.

Ou, menos formalmente, ``Dados olhos suficientes, todos os erros são triviais.'' Eu chamo isso de: ``Lei de Linus''.

http://www.geocities.com/CollegePark/Union/3590/pt-cathedral-bazaar-4.html, Eric S. Raymond 1998.

Page 9: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

...segue que

Porque software é um conjunto de conhecimento integrados que estavam anteriormente dispersos, tácitos, latentes eincompletos em grande medida, deduz-se que que o desenvolvimento de software é um processo de aprendizado social.

Baetjer,Howrad, Software as Capital, IEEE Computer Society Press, 1998, p85 em R. Pressman., Engenharia de Software 5 edição.

Page 10: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Justificativa histórica

Crise do Software, ao final dos anos 60.

Custos fora de controle.

Qualidade pífia.

Baixa confiabilidade.

Imaturidade no processo de construção de software.

Baixa maturidade das ferramentas e métodos.

Novidade humana / formação profissional.

Page 11: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Sumário

Software se transformou em um elemento chave do processo produtivo atual.

Software é uma indústria à parte.

Software é um limitador de crescimento das empresas e organizações.

O objetivo da engenharia de software é prover um framework para construção de software de alto nível.

Page 12: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Software como Produto

Dúvidas?Márcio Campos - [email protected]

Page 13: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Engenharia de Software

Software como ProcessoMárcio Campos - [email protected]

Page 14: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

O que é um processo?

Processopro.ces.so

sm (lat processu) 1 Ato de proceder ou de andar. 2 Sociol Sucessão sistemática de mudanças numa direção definida. 3 Concatenação ou sucessão de fenômenos. 4 Seguimento, decurso: O processo dos tempos. 5 Série de ações sistemáticas visando a certo resultado: O processo de fazer vinho. 6 Ação ou operação contínua ou série de ações ou alterações que ocorrem de uma maneira determinada: Em adiantado processo de decomposição. 7 Ação de ser feito progressivamente.

http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&palavra=processo

Page 15: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

O que é processo de software?[Jair C. Leite] Um conjunto de atividades realizadas por

pessoas cujo objetivo é desenvolvimento ou evolução de software e sua documentação.

Atividades genéricas em todos os processos:

Especificação – o que o sistema deve fazer (funcionalidade) e quais as restrições

Desenvolvimento – produção do software

Verificação – avaliar correção, validação e outros aspectos de qualidade

Manutenção – mudanças no software

Um modelo de processo de software é uma representação abstrata das atividades, papéis e artefatos

http://74.125.47.132/search?q=cache:6neVGpl132YJ:www.dimap.ufrn.br/~jair/ES/slides/ProcessoDeSoftware.pdf+processo+de+software&cd=5&hl=pt-BR&ct=clnk&gl=br

Page 16: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Modelos de Processos - Cascata (waterfall, Linear sequencial model)

http://cost.jsc.nasa.gov/pcehhtml/pceh.htm

Page 17: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Modelos de Processos - Cascata

O processo do modelo sugere que o desenvolvimento seja feito seguindo etapas específicas.

Existem objetivos específicos para serem alcançados em cada etapa.

Cada atividade dentro de cada etapa deve ser bem sucedida.

O processo é considerado como não interativo.

Cada estágio deve entregar um conjunto de documentos

Page 18: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Modelos de Processo - Cascata

1. Systems Concept/System Requirements Analysis

2. Software Requirements Analysis

3. Software Parametric Cost Estimating

4. Preliminary Design

5. Detailed Design

6. Coding and Computer Software unit (CSU) Testing

7. Computer Software Component (CSC) Integration and Testing

8. Computer Software Configuration Item (CSCI) Testing

9. System Integration and Operational Testing

Page 19: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Modelos de Processo - Espiral

http://boole.computer.org/portal/site/computer/menuitem.eb7d70008ce52e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1&path=computer/homepage/misc/Boehm&file=index.xml&xsl=article.xsl&

Page 20: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Modelos de Processo - Espiral

Captura o processo interativo de prototipação por natureza.

Incorpora, de forma controlada, o modelo em cascata.

Software é desenvolvido em uma série de construções.

Tipicamente, o modelo espital está dividido entre 3 e 6 regiões de trabalho.

Comunicação com cliente, planejamento, análise de riscos, engenharia, construção, avaliação do cliente.

Page 21: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Relação entre processo e produto

Questão de qualidade.

Correlação entre a qualidade do processo e a qualidade do produto.

Quanto maior a qualidade do processo, maior a qualidade do produto.

Page 22: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

mas...

Evaluating the service quality of software providers appraised in CMM/CMMI

Rodrigo Pinheiro dos Santos1 Contact Information, Kathia Marçal de Oliveira1 Contact Information and Wander Pereira da Silva1 Contact Information

(1) Catholic University of Brasilia, SGAN 916 Norte AV. W5, 70.790-160 Brasilia, DF, Brazil

The results show a considerable discrepancy between customers’ expectations and their perceptions of the services provided.

Page 23: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Software como um conjunto de tecnologias

Qualidade.

Busca da melhoria contínua .

Desenvolvimento de referências para a melhoria do produto e do processo.

Modelos de avaliação e produtos de processos.

Processo de desenvolvimento.

Elemento integrador de métodos, técnicas, ferramentas e habilidades humanas.

Métodos e Ferramentas

Mecanismos de como fazer, abordar e executar um determinado problema apoiado por tecnologia.

Page 24: Engenharia de Software Software como Produto Márcio Campos - camposmf@gmail.com

Software como Produto

Dúvidas?Márcio Campos - [email protected]