© - todos os direiros reservados engenharia de software “a nossa visão” joão macedo cunha...

Post on 21-Apr-2015

106 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© - Todos os direiros reservadoswww.quatrosi.pt

Engenharia de Software“A nossa visão”

João Macedo CunhaDirector Desenvolvimento

jcunha@mail.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

Agenda

• A Quatro• O Projecto• Métodos e Processos

© - Todos os direiros reservadoswww.quatrosi.pt

• Fundada em 1989• Escritórios : Porto , Lisboa ,

Madrid• Volume Vendas 2000 : 2,6

milhões contos• Recursos Humanos : 180

colaboradores

www.quatrosi.ptwww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

+ 600 Clientes

LusomudoLactogalMitsubishi TrucksMota e CompanhiaCreditusIndasaTintas RobbialacIntraplasCartier (Espanha)...

© - Todos os direiros reservadoswww.quatrosi.pt

Reconhecimentos

© - Todos os direiros reservadoswww.quatrosi.pt

O Projecto

© - Todos os direiros reservadoswww.quatrosi.pt

Projecto

J2EE Application Server

Base Tecnológica

Componentes de uso comum

GL

OE AP & AR

INV

CC

HR

© - Todos os direiros reservadoswww.quatrosi.pt

Enquadramento

• Tecnologia Disponível– limites– “buy or build”

• Prazos e Custos– objectivos e orçamento

• Recursos Humanos– tempo de Formação

© - Todos os direiros reservadoswww.quatrosi.pt

Arquitectura

© - Todos os direiros reservadoswww.quatrosi.pt

J2EE : Java 2 Enterprise Edition

• EJBs Object Model• JDBC DataBase• JNDI Naming & Directory Services• RMI-IOP Transport• JMS Messaging• JTA Transações

Suporte na Indústria SWSUN , IBM , Oracle , Compaq , HP ......

PlataformasAIX , Linux , W2000, NT, AS/400 , Mac , OS/390Solaris, ....

Suporte na Indústria SWSUN , IBM , Oracle , Compaq , HP ......

PlataformasAIX , Linux , W2000, NT, AS/400 , Mac , OS/390Solaris, ....

© - Todos os direiros reservadoswww.quatrosi.pt

J2EE

© - Todos os direiros reservadoswww.quatrosi.pt

Enterprise Java Beans

www.javasoft.com/ejb

© - Todos os direiros reservadoswww.quatrosi.pt

Métodos e Processos

© - Todos os direiros reservadoswww.quatrosi.pt

Software Architecture

“As the size of software systems increases, the algorithms and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the organization of the overall system -- the software architecture -- presents a new set of design problems.”

© - Todos os direiros reservadoswww.quatrosi.pt

Processo de Desenvolvimento

Necessidade

Contexto

Arquitectura

Sistema

Solução

Conhecimentodo Domínio

Experiência

Componentes

© - Todos os direiros reservadoswww.quatrosi.pt

Tecn

ologia

Tecn

ologia Dom

ínio

Domínio

Equipa de trabalho

© - Todos os direiros reservadoswww.quatrosi.pt

Funções

• Arquitectura e Pgm Model• Captura de Requisitos• Revisão de Requisitos• Desenvolvimento

– Business Objects– Gui

• Testes qualidade e conformidade

© - Todos os direiros reservadoswww.quatrosi.pt

Equipa de Trabalho

Grupo de Arquitectura e TecnologiaGrupo de Arquitectura e Tecnologia

DesenvolvimentoDesenvolvimento

Business RequirementsBusiness Requirements

© - Todos os direiros reservadoswww.quatrosi.pt

Levantamento de Requisitos

© - Todos os direiros reservadoswww.quatrosi.pt

Objectivo

O quêO quê

ComoComo

Requisitofuncional

Detalhe deimplementação

© - Todos os direiros reservadoswww.quatrosi.pt

Exemplo

• Valor monetário– representar uma quantidade

monetária expressa em duas moedas

– permitir operações de• adição• subtração

© - Todos os direiros reservadoswww.quatrosi.pt

Metodologia

• Process driven– re-utilização

• Use Case driven– descrição clara da utilização prevista

© - Todos os direiros reservadoswww.quatrosi.pt

Componentes

Java Business Components

© - Todos os direiros reservadoswww.quatrosi.pt

Decomposição de Processos

Processo 1

Tarefa A

Tarefa B

Cenário A1

Cenário A2

Cenário B1

Cenário B2

© - Todos os direiros reservadoswww.quatrosi.pt

Use Cases

Use Case 1

Use Case 2

Tarefa A

Tarefa B

© - Todos os direiros reservadoswww.quatrosi.pt

eXtreme Programming

Múltiplas Iterações

Desenho Simples

Testes Unitários

XP advocates keeping designs as simple as possible

© - Todos os direiros reservadoswww.quatrosi.pt

Vantagens

• Prioridades– Versão 1– Versão 2

• Protótipos• Diferir implementação• Métrica simplificada

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

© - Todos os direiros reservadoswww.quatrosi.pt

Analysis & Design Patterns

“A pattern is an idea that has been useful in one practical context and will probably be useful in others”

Martin Fowler

© - Todos os direiros reservadoswww.quatrosi.pt

Experiência

• Não - tangível• Recurso a soluções testadas

– obtidas da prática• Solução adequada à dimensão do

problema– relação custo/resultado

• Um modelo simples é sempre melhor que um complexo, se ambos resolvem o problema no contexto pretendido

© - Todos os direiros reservadoswww.quatrosi.pt

Experiência

• Re-utilização• Conhecimento• Vocabulário• Qualidade• Normalização• Produtividade

© - Todos os direiros reservadoswww.quatrosi.pt

Patterns

• Os Patterns representam experiência, que pode ser transmitida/ensinada

• Podem ser definidos como– “best practices”– “lições aprendidas”

• Desenvolvidos a partir de experiências reais

© - Todos os direiros reservadoswww.quatrosi.pt

Re-utilizar

BlackBox

WhiteBox

© - Todos os direiros reservadoswww.quatrosi.pt

Re-use

Design

Comportamento

Aplicação

© - Todos os direiros reservadoswww.quatrosi.pt

Exemplos

• Singleton : Logging• AbstractFactory : Users• Facade : Order• Command : Batch• Proxy : Gui• Policy :

CreditCheck

© - Todos os direiros reservadoswww.quatrosi.pt

Patterns: Geração de Código

• Geração de acordo com o modelo do Pattern

• Modelos simplificados• Definido durante a fase de Analise/Desenho

ClasseConcreta

ClasseAbstractaPatternClass

FrameWork

© - Todos os direiros reservadoswww.quatrosi.pt

Abstracção

• Uma abstracção desenvolve-se generalizando exemplos concretos

• O número de casos concretos permite aumentar a capacidade da extensão e aplicabilidade de uma abstracção

© - Todos os direiros reservadoswww.quatrosi.pt

Abstracção

• OO– Herança

• comportamento concreto comum

– Interface• comportamento abtracto comum

© - Todos os direiros reservadoswww.quatrosi.pt

Exemplos : Herança

• Descrições multilingua• Adição dinâmica de propriedades• Workflow / State Machine

© - Todos os direiros reservadoswww.quatrosi.pt

Exemplo : interface

• Adicionável– Valor monetário– Quantidade (classificada)

QuantidadeQualificadaUnidadeMedida

ValorMonetarioMoeda

Adicionavel

add()

<<Interface>>

© - Todos os direiros reservadoswww.quatrosi.pt

Desenho

Pattern Diagram

Class Diagrams

© - Todos os direiros reservadoswww.quatrosi.pt

Programming Model

• Documentação actualizada• Exemplos claros• Erros típicos• Politicas

– Logging,Exception handling,etc

Desenhado para re-utilização futura

© - Todos os direiros reservadoswww.quatrosi.pt

Logging & Exception

• Exportar os comentários• Registo de situações inesperadas• Debugging • Tratamento coerente das

excepções

© - Todos os direiros reservadoswww.quatrosi.pt

Testes

• Verificação automática– testes repetitivos automatizados

• Verificação funcional– use cases

• Performance– volume de informação adequada

© - Todos os direiros reservadoswww.quatrosi.pt

Ferramentas

• Requirements : Tool interno• Model : Rational Rose• Code Generation : Tool Interno +

Rose• IDE : JBuilder • App server : OrionServer +

IBM WebSphere• Controlo Versões : MS Source Safe

© - Todos os direiros reservadoswww.quatrosi.pt

Software Architecture

“As the size of software systems increases, the algorithms and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the organization of the overall system -- the software architecture -- presents a new set of design problems.”

© - Todos os direiros reservadoswww.quatrosi.pt

Perguntas

João Macedo CunhaDirector Desenvolvimento

jcunha@mail.quatrosi.pt

?

top related