Prof. Gilberto Braga de Oliveira
Análise de Programação
Tó pic o s a s e re m abo rdado s :
Apresentação do curso
Competências, habilidades e bases tecnológicas
Principais tópicos
Conceitos Básicos de Engenharia
de Software Avaliações
3
Co m pe t ê n c ias
Interpretar e analisar modelos de dados; Interpretar e avaliar documentação de Análise e Projeto de Sistemas. Identificar e utilizar técnicas de modelagem de dados.Habilidade s
Utilizar técnicas de
modelagem de dados
Utilizar técnicas de análise
e projeto de sistemas
Aplicar técnicas de
modularização, especificação e verificação de software
5
c o n t in uaç ão ... Habilidade s
Utilizar ferramentas de
apoio ao desenvolvimento de software
Aplicar orientação a objetos
na construção da hierarquia de classes do sistema
Definir, junto ao cliente,
os requisitos do programa solicitado.
Bas e s Te c n o ló gic as
Modelagem de dados
Metodologias de análise e
projetos de sistemas
utilizando a linguagem de modelagem unificada (UML)
7
c o n t in uaç ão ... Bas e s
Te c n o ló gic as
Metodologia de projeto de
sistemas UML:
Diagramas de Caso de Uso, de Classes e de Objetos.
Diagramas de Iteração – Seqüência e colaboração
Diagrama de Gráfico de Estado e de Atividades
Prin c ipais t ó pic o s
Conceitos fundamentais de
Engenharia de Software
Programação Orientada a Objetos Diagrama de Classes
Diagrama de Objetos
Diagrama de Caso de Uso Diagrama de Atividades
Diagrama de Iteração/Seqüência Diagramas de Gráfico de Estado.
9
Avaliaç ão
Exercícios:
Conceitos fundamentais de ES POO e Classes
Levantamento de Requisitos com
Casos de Uso
Processos e Diagramas de
Atividades
Atividades:
Trabalho (em dupla)
Fe rram e n t as Ne c e s s árias
Sistema Operacional Kurumin 7.0 J2SE SDK 1.6.0_17 NetBeans 6.8 Eclipse Galileo 3.5.1 UML Omondo 3.5.0Prof. Gilberto Braga de Oliveira
Análise de Programação
Conceitos Básicos de Engenharia de Software
Tó pic o s a s e re m abo rdado s :
Conceitos básicos Processos de Engenharia de Software Metodologias e Métodos Ferramentas, Tecnologias e Práticas Qualidade de Software13
Co n c e it o s bás ic o s
Engenharia de Software:
Área da computação voltada para a
especificação, desenvolvimento e manutenção de sistemas de
software.
Aplica tecnologias e práticas de
gerenciamento de projetos e outras disciplinas
Objetiva a organização,
Áre as de c o n h e c im e n t o da
En ge n h aria de So ft ware
Requisitos de software Projeto de software Construção de software Teste de software Manutenção de software Gerencia de Configurações de software15
Áre as de c o n h e c im e n t o da
En ge n h aria de So ft ware
Gerencia de engenharia de software Processos de engenharia de software Ferramentas e métodos de engenharia de software Qualidade de softwareCo n c e it o s bás ic o s
Software:
Seqüência de instruções seguidas,
e/ou executadas, na manipulação, redirecionamento ou modificação de dado/informação ou
acontecimento.
Produto da Engenharia de
Software, inclui manuais e especificações.
17
Pro c e s s o s de En ge n h aria de
So ft ware
Seqüência coerente de práticas para
desenvolvimento ou evolução do sistema de software: Especificação Projeto Implementação Testes Interação entre:
Mo de lo s de pro c e s s o de SW
PLC Cascata Desenvolvimento Iterativo e Incremental Evolucional (prototipação) Espiral Ágil, etc.19
Mo de lo s de m at uridade do
pro c e s s o
CMM – Capability Maturity Model http://www.sei.cmu.edu/ Nível 1 – Caótico Nível 2 – Repetivel Nível 3 – Definido Nível 4 – Gerenciável Nível 5 - OtimizadoMo de lo s de m at uridade do
pro c e s s o
MPS.BR – Melhoria de Processo do
Software Brasileiro
http://www.softex.br/mpsBr/
Nível G – Parcialmente gerenciado Nível F – Gerenciado
Nível E – Parcialmente definido Nível D – Largamente definido Nível C – Definido
Nível B – Gerenciável
21
Me t o do lo gia e Mé t o do
Metodologia:
Princípios filosóficos que norteiam métodos
Método:
Uso de ferramentas e práticas para a produção de alguma
Me t o do lo gia e Mé t o do
Metodologia Estruturada:
Construção de um modelo lógico(não
físico) de um sistema, usando técnicas gráficas que orientam
usuários, analistas e projetistas.
Análise Estruturada Projeto Estruturado
Programação Estruturada DFD e MER
23
Me t o do lo gia e Mé t o do
Metodologia Orientada a
Objetos:
Estratégia de modelagem,
programação e análise que permite manipular “objetos”
facilitando a comunicação e o entendimento do produto de
software a ser desenvolvido.
Orientação a Objetos
Rational Unified Process (RUP)
De s e n vo lvim e n t o Ágil de
So ft ware
Programação Extrema (XP)
Metodologia ágil para
equipes pequenas e médias que irão desenvolver
software com requisitos
vagos e constante mudanças.
Valores
Comunicação Simplicidade FeedBack
25
De s e n vo lvim e n t o Ágil de
So ft ware
Programação Extrema (XP): Práticas: Jogo de Planejamento Pequenas versões Metáfora Projeto Simples Time coeso Testes de Aceitação Ritmo SustentávelDe s e n vo lvim e n t o Ágil de
So ft ware
Programação Extrema (XP): Práticas: Reuniões em Pé Código coletivo Programação em pares Codificação padronizada Desenvolvimento orientado a testes Refatoração27
Mo de lage m
A abstração de um sistema, facilita a comunicação e o entendimento entre os envolvidos no desenvolvimento do software. Análise EstruturadaGANE & SEARSON
UML
Fe rram e n t as , Te c n o lo gias e
Prát ic as
Linguagens de Programação Banco de Dados Paradigmas de Programação Programação Estruturada29
Fe rram e n t as
CASE (Computer-Aided Software Engineering): Eclipse ERwinProcess Modeler, etc... EDI
NetBeans
Qualidade de So ft ware
Garantir a qualidade do software
através da definição e normatização de processos de desenvolvimento. Qualidade do processo de software: CMM MPS.BR