Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa...

24
Área: Área: Engenharia de Software Engenharia de Software e Sistemas de e Sistemas de Informação Informação Profa. Elisa Yumi Nakagawa [email protected] Junho/2010

Transcript of Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa...

Page 1: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Área: Área: Engenharia de Engenharia de

Software e Sistemas Software e Sistemas de Informaçãode Informação

Profa. Elisa Yumi [email protected]

Junho/2010

Page 2: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Conteúdo

•Software•Engenharia de Software•Sistemas de Informação•Disciplinas de Engenharia de Software em

Engenharia de Computação•Oportunidades de Emprego•Oportunidades de Pesquisa•Conclusão

SSC - Departamento de Sistemas de Computação

2

Page 3: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

O que é

software?

Quais características

tem um software?

Alguém tem um

software?

Page 4: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Software

•Software engloba: ▫Programas: que quando executados produzem

a função e o desempenho desejados▫Documentos: que descrevem a operação e o

uso dos programas▫Estruturas de Dados: que possibilitam que os

programas manipulem adequadamente a informação

•Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico

•Não se desgasta, mas se deteriora

Page 5: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Por que surgiu a Engenharia de

Software?

Page 6: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Breve Histórico

•Crise do software▫Entre 1965 a 1975▫Crescia o número de sistemas de software

baseados em computador▫Não havia nenhuma documentação▫Conjunto de problemas apareceram no

desenvolvimento de software▫Manutenção do software quase impossível

SSC - Departamento de Sistemas de Computação

6

Page 7: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Definição

A aplicação de uma abordagem sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (Fonte: IEEE).

7

Page 8: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Atividades da ES

8

MANUTENÇÃOMANUTENÇÃOEntendimento Modificação Revalidação

CONSTRUÇÃOCONSTRUÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Projeto Codificação Teste

DEFINIÇÃODEFINIÇÃOAnálise de SistemaPlanejamento do Projeto Análise de Requisitos

ATIVIDADES DE APOIOATIVIDADES DE APOIO

• Documentação

• Gerenciamento de Configuração

• Verificação

• Validação

• Revisão Conjunta

• Auditoria

• Resolução de Problemas

• Garantia da Qualidade de Software

• .....

Page 9: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

9

Qual é o futuro da Engenharia de Software?

Page 10: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

10

Engenharia de Software

•Então...▫A Engenharia de Software é uma disciplina

que aplica os princípios de engenharia com o objetivo de produzir software de alta qualidade a baixo custo.

Mas o que é Qualidade de

Software?

Page 11: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

SSC - Departamento de Sistemas de Computação

11

Definição Genérica de Qualidade de Software

um conjunto de atributos de software que devem ser satisfeitos para que o software atenda às necessidades do usuário (seja ele um usuário final, um desenvolvedor ou uma organização).

•De um modo geral, qualidade de software pode ser definida como:

Page 12: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

12

Qualidade depende do Ponto de Vista

a qualidade do produto não pode ser desvinculada dos interesses da organização: custos e prazos

a qualidade fica mais voltada às características internas do software: legibilidade, testabilidade, eficiência

usuáriointeresse fica concentrado principalmente no uso do software: facilidade de uso, requisitos atendidos

desenvolvedor

gerente

Page 13: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

SSC - Departamento de Sistemas de Computação

13

Definição

Sistema automatizado, ou mesmo manual, que abrange pessoas, máquinas, e/ou

métodos organizados para coletar, processar, transmitir e disseminar dados

que representam informação para o usuário.

Page 14: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

SSC - Departamento de Sistemas de Computação

14

Sistemas de Informação

•Utilizando Sistemas de Informação▫Estão presentes no dia a dia de todos as

pessoas e organizações (Exemplo: empresas, universidades, entre outros)

▫Podem ser o diferencial competitivo

Exemplos de Sistemas de Informação?

Page 15: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Sistemas de Informação X Engenharia de Software•Enquanto que ...

▫A Engenharia de Software define métodos, processos e ferramentas para desenvolvimento de software

•Sistemas de Informação...▫...constituem um dos tipos de software que

podem ser beneficiados pelo uso da Engenharia de Software

SSC - Departamento de Sistemas de Computação

15

Page 16: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Disciplinas da EC

• Obrigatória• SSC-620 - Engenharia de Software (4. período)• SCC-604 - Programação Orientada a Objetos (4 período)• SSC-621 - Análise e Projeto Orientados a Objetos (7.

período)• Ênfases:

▫ Sistemas Computacionais Avançados SSC-721 - Teste e Inspeção de Software SSC-722 - Métodos e Técnicas para Analise e Projeto

de Sistemas Reativos▫Sistemas Embarcados

SSC-720 - Engenharia de Software para Sistemas Embarcados

SSC-721 - Teste e Inspeção de Software SSC-741 - Projeto e Implementação de Sistemas E

Page 17: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Oportunidade de Emprego

•Desenvolvimento de sistemas:▫analista de sistemas, projetista, testador, analista

de qualidade, gerente de projetos, gerente de desenvolvimento

•Customização e implantação de sistemas de informação▫CRM (Customer Relationship Management)▫ERP (Enterprise Resource Planning)▫BI (Business Intelligence)

•Consultoria em desenvolvimento de software: ▫profissional autônomo ou empresa de

consultoria

Page 18: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Oportunidade de Pesquisa

•Grupo de Pesquisa em Engenharia de Software▫Criado em 1974

•Objetivo principal: ▫Estabelecer processos, metodologias e

construir ferramentas para apoiar o desenvolvimento de software

•Labes (Laboratório de Engenharia de Software)▫http://www.labes.icmc.usp.br/

Page 19: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Oportunidade de Pesquisa

•Alguns números (2008)▫25 Doutorados Defendidos▫128 Mestrados Defendidos▫Atualmente, aproximadamente:

14 Alunos de Doutorado 19 Alunos de Mestrado Vários Alunos de Iniciação Científica

•Aproximadamente 16 Projetos de Pesquisa em Andamento. Mais relevantes:▫ INCT-SEC (Instituto Nacional de Ciência e

Tecnologia – Sistemas Embarcados Críticos)▫QualiPSo (Quality Platform for Open Source

Software)

Page 20: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Oportunidade de Pesquisa

•Linhas de Pesquisa▫ Programação orientada a objeto e a aspecto▫ Engenharia de software experimental▫ Teste de software

Métodos formais, teste baseado em modelo, model checking, geração de teste, ferramentas de teste, teste de programas paralelos, teste de especificação, teste de programas orientados a aspectos e teste de sistemas orientados a serviços

▫ Reúso de software Padrões de software, componentes, frameworks, linha de produto de

software e geradores de aplicação▫ Arquitetura de software e ambientes de engenharia de software▫ Aplicação orientada a serviço▫ Software livre e aplicações web▫ Ontologia▫ Educação e treinamento em engenharia de software, objetos de

aprendizagem e educação a distãncia

Page 21: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Oportunidade de Pesquisa

•Pesquisadores/Docentes Envolvidos▫ Prof. Dr. Adenilso da Silva Simão ([email protected])▫ Profa. Dra. Elisa Yumi Nakagawa ([email protected])▫ Profa. Dra. Ellen Francine Barbosa ([email protected])▫ Prof. Dr. José Carlos Maldonado ([email protected])▫ Prof. Dr. Márcio Eduardo Delamaro

([email protected])▫ Prof. Dr. Paulo Cesar Masiero ([email protected])▫ Profa. Dra. Renata Pontin de Mattos Fortes

([email protected])▫ Profa. Dra. Rosana Teresinha Vaccare Braga

([email protected])▫ Profa. Dra. Simone do Rocio S. de Souza

([email protected])

Page 22: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Conclusão

SSC - Departamento de Sistemas de Computação

22

Softwares têm qualidade? Qual é o futuro

da Engenharia de Software?

É preciso fazer alguma

coisa?

Page 23: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Conclusão

•Algumas respostas...▫Métodos e processos mais adequados▫Melhores ferramentas de engenharia de

software▫Novas abordagens/tecnologias de

desenvolvimento de software Alguns exemplos:

Metodologias Ágeis Model-driven Development Frameworks Programação Orientada a Aspecto Arquitetura Orientada a Serviço ....

SSC - Departamento de Sistemas de Computação

23

Page 24: Área: Engenharia de Software e Sistemas de Informação Profa. Elisa Yumi Nakagawa elisa@icmc.usp.br Junho/2010.

Área: Área: Engenharia de Engenharia de

Software e Sistemas Software e Sistemas de Informaçãode Informação

Profa. Elisa Yumi [email protected]

Junho/2010