Upload
internet
View
177
Download
1
Embed Size (px)
Citation preview
Área: Área: Engenharia de Engenharia de
Software e Sistemas Software e Sistemas de Informaçãode Informação
Profa. Elisa Yumi [email protected]
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
O que é
software?
Quais características
tem um software?
Alguém tem um
software?
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
Por que surgiu a Engenharia de
Software?
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
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
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
• .....
9
Qual é o futuro da Engenharia de Software?
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?
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:
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
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.
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?
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
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
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
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/
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)
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
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
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?
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
Área: Área: Engenharia de Engenharia de
Software e Sistemas Software e Sistemas de Informaçãode Informação
Profa. Elisa Yumi [email protected]
Junho/2010