Aula 1 2-es
Transcript of Aula 1 2-es
M.Sc. Cláudia Jovo - 2012
UP
0
Cadeira: Engenharia de Software
Aulas 1, 2 – 31/07/12
Docente:
• Cláudia I.F. Jovo
M.Sc. Cláudia Jovo - 2012
UP
1
Tópicos a discutir...Eng.Softw II
1. Fundamentos de Eng. Software
• Definição de Eng. Software.
• Eng. Software-Tecnologia em Camadas.
• Fases de Desenvolvimento Software.
2. Processo de Software
• Actividades de Processo.
• Características de um Processo de Software.
• Modelos de Processos de Desenvolvimento de
Software.
• Comparação dos Modelos.
M.Sc. Cláudia Jovo - 2012
UP
2
3. Processos de Analise e Desenho Estruturado –Modelo Essencial
• Diagrama de Contexto.
• Diagrama de Fluxo de Dados.
• Dicionário de Dados.
• Modelação de Dados.
• Vida das Entidades.
• Ciclo de Vida das Entidades.
4. Analise e Modelação de Sistemas Baseada em UML
• Introdução á UML.
• Evoluição de UML.
• Tipos de Elementos Básicos.
• Tipos de Relações.
Tópicos a discutir...Eng.Softw II
M.Sc. Cláudia Jovo - 2012
UP
3
• ...
• Tipos de Diagramas.
5. Teste de Software
• Itrodução.
• Fundamentos de Teste.
• Tipos de Teste.
• Estratégias de Teste.
Tópicos a discutir...Eng.Softw II
M.Sc. Cláudia Jovo - 2012
UP
4
… Bibliografia?...
Sommerville, I., Software Engineering, Addison – Wesley Publishing Company Inc,
USA (1992).
Easteal, C. and davies G. Software Engineering: Analisys and Design the McGraw –
Hill International, London, UK (1989).
Gilb, T. Principles of Software Engineering Management, Addilson – Wesley, 1988.
Roger S. Pressman, Engenharia de Software. 3ª Ed. 1992.
MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no
Desenvolvimento do Software. Florianópolis: Visual Books, 2007.
M.Sc. Cláudia Jovo - 2012
UP
5
… Avaliação!
• Interacção do estudantes (10%)
• Teste Escrito (2 ou +) – (70%)
• Trabalhos em Grupo (1/2 est.) (20%)
• Exame Escrito (100%)
M.Sc. Cláudia Jovo - 2012
UP
6
Fundamentos de Eng. de Software
• Def. de Eng. Software
• Eng. Software-Tecnologia em Camadas
• Fases de Desenvolvimento de Software
M.Sc. Cláudia Jovo - 2012
UP
7
Fundamentos de Eng. de Software
ENGENHARIA DE SOFTWARE
É uma disciplina da engenharia dedicada a todos os aspectos da
produção de software.
Na a produção de software usa-se dois tipos de metodologias:
Estruturada e a Orientado a Objectos.
A engenharia de software se concentra nos aspectos práticos da
produção de um sistema de software, enquanto que as outras ciências
estudam os fundamentos teóricos dos aspectos computacionais.
O termo foi criado na década de 1960 e utilizado oficialmente em
1968 na NATO - Conferência sobre Eng. de Software.
[Definição]
M.Sc. Cláudia Jovo - 2012
UP
8
Fundamentos de Eng. de Software
“O que é Eng de Software?”
um conjunto de técnicas e procedimentos utilizados no
desenvolvimento do software com a finalidade de produzir softwares
com padrão e qualidade. Ela se ocupa de todos os aspectos da
produção do software.
M.Sc. Cláudia Jovo - 2012
UP
10
Eng. de Software-Tecnologia em Camadas
Engenharia de software é dividida em camadas, focando na
qualidade do software, conforme mostra a fig. abaixo.
Fundamentos de Eng. de Software
Figura 1: Camadas da Engenharia de Software
Ferramentas
Métodos
Processos
Foco na Qualidade
M.Sc. Cláudia Jovo - 2012
UP
10
Eng. de Software-Tecnologia em Camadas
Fundamentos de Eng. de Software
Ferramentas
Dão suporte automatizado ou semi-automatizado ao processo e
aos métodos; quando as ferramentas se integram tem-se um
sistema denominado CASE (Computer Aided Software
Engineering),.
Essa integração ajuda na criação de informação que possa ser
usada por outra ferramenta para o apoio no desenvolvimento de
Software.
M.Sc. Cláudia Jovo - 2012
UP
10
Eng. de Software-Tecnologia em Camadas
Fundamentos de Eng. de Software
Metodos
“Como fazer”
Engloba um conjunto de tarefas que inclui análise de requisitos,
projecto, construção de programas, teste e manutenção.
Métodos definem procedimentos sistemáticos e ordenados de
construção de software.
Exemplos de metodologias da engenharia de Software:
Estruturada e Orientada a Objetos.
M.Sc. Cláudia Jovo - 2012
UP
10
Eng. de Software-Tecnologia em Camadas
Fundamentos de Eng. de Software
Processo
“Produção”
É um conjunto de actividades e resultados associados que levam à
produção de um produto de software.
M.Sc. Cláudia Jovo - 2012
UP
10
Eng. de Software-Tecnologia em Camadas
Fundamentos de Eng. de Software
Foco na Qualidade
“Base”
Toda engenharia deve se fundamentar no comprometimento com a
qualidade.
Focando-se na qualidade produz uma mudança cultural no uso do
produto desenvolvido.
M.Sc. Cláudia Jovo - 2012
UP
11
Fases de Desenvolvimento de Software
Existem três fases genéricas que dividem o processo de
desenvolvimento de um Software:
Definição:
Fundamentos de Eng. de Software
- esta fase focaliza o "o quê" (análise do sistema,
planeamento do projecto de software e análise de
requisitos).
M.Sc. Cláudia Jovo - 2012
UP
11
Fases de Desenvolvimento de Software
Existem três fases genéricas que dividem o processo de
desenvolvimento de um Software:
Definição:
Desenvolvimento:
Fundamentos de Eng. de Software
- focaliza-se o "como" (projecto de software,
codificação e realização de testes do software).
M.Sc. Cláudia Jovo - 2012
UP
11
Fases de Desenvolvimento de Software
Existem três fases genéricas que dividem o processo de
desenvolvimento de um Software:
Definição:
Desenvolvimento:
Manutenção:
Fundamentos de Eng. de Software
- concentra-se nas "mudanças" (correcção,
adaptação e melhoramento funcional).
M.Sc. Cláudia Jovo - 2012
UP
11
Reflexão
Liste os varios tipos de metodos para cada metodologia
(Estruturada e Orientada a Objectos).
Fale das características de uma boa engenharia no contexto de
Eng. de Sofware.
Fundamentos de Eng. de Software
M.Sc. Cláudia Jovo - 2012
UP
16
Processo de Software
• Actividades de Processo
• Características de um Processo de Software
• Modelos de Processo de Desenvolvimento de Software
• Comparação dos Modelos