1 - APS – Iniciação Desenvolvimento Requisitos.pdf
Aula 1 2-es
1. UP
Cadeira: Engenharia de Software
Aulas 1, 2 – 31/07/12
Docente:
• Cláudia I.F. Jovo
updinfo@yahoo.com or ijovo@up.ac.mz
M.Sc. Cláudia Jovo - 2012 0
2. UP 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 1
3. UP Tópicos a discutir...Eng.Softw II
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.
M.Sc. Cláudia Jovo - 2012 2
4. UP Tópicos a discutir...Eng.Softw II
• ...
• Tipos de Diagramas.
5. Teste de Software
• Itrodução.
• Fundamentos de Teste.
• Tipos de Teste.
• Estratégias de Teste.
M.Sc. Cláudia Jovo - 2012 3
5. UP
… 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 4
6. UP
… 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 5
7. UP
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 6
8. UP
Fundamentos de Eng. de Software
ENGENHARIA
DE SOFTWARE [Definição]
É 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.
M.Sc. Cláudia Jovo - 2012 7
9. UP
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 8
10. UP
Fundamentos de Eng. de Software
Eng. de Software-Tecnologia em Camadas
Engenharia de software é dividida em camadas, focando na
qualidade do software, conforme mostra a fig. abaixo.
Ferramentas
Métodos
Processos
Foco na Qualidade
Figura 1: Camadas da Engenharia de Software
M.Sc. Cláudia Jovo - 2012 10
11. UP
Fundamentos de Eng. de Software
Eng. de Software-Tecnologia em Camadas
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 10
12. UP
Fundamentos de Eng. de Software
Eng. de Software-Tecnologia em Camadas
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 10
13. UP
Fundamentos de Eng. de Software
Eng. de Software-Tecnologia em Camadas
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 10
14. UP
Fundamentos de Eng. de Software
Eng. de Software-Tecnologia em Camadas
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 10
15. UP
Fundamentos de Eng. de Software
Fases de Desenvolvimento de Software
Existem três fases genéricas que dividem o processo de
desenvolvimento de um Software:
Definição:
- 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 11
16. UP
Fundamentos de Eng. de Software
Fases de Desenvolvimento de Software
Existem três fases genéricas que dividem o processo de
desenvolvimento de um Software:
Definição:
Desenvolvimento:
- focaliza-se o "como" (projecto de software,
codificação e realização de testes do software).
M.Sc. Cláudia Jovo - 2012 11
17. UP
Fundamentos de Eng. de Software
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:
- concentra-se nas "mudanças" (correcção,
adaptação e melhoramento funcional).
M.Sc. Cláudia Jovo - 2012 11
18. UP
Fundamentos de Eng. de Software
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.
M.Sc. Cláudia Jovo - 2012 11
19. UP
Processo de Software
• Actividades de Processo
• Características de um Processo de Software
• Modelos de Processo de Desenvolvimento de Software
• Comparação dos Modelos
M.Sc. Cláudia Jovo - 2012 16