Вы находитесь на странице: 1из 27

Desenvolvimento de Programas

Aplicando Orientao por Objetos,


Linguagem de Modelagem e
Processo de Engenharia de Software

Cludio Alessandro de Carvalho Silva


Orientador: Marco Lcio Bittencourt
DPM-FEM-UNICAMP

Contedo

Introduo
Desafios

do Desenvolvimento de Software
Breve Histrico

Caractersticas do Conjunto de Software Anterior

Novos Requerimentos

Design e Programao Orientados por Objetos,


UML e Rational Unified Process.
Descrio do Desenvolvimento Atual

Desafios do Desenvolvimento de
Software

Demanda por: automao de processos,


manipulao de grande volume dados, atualizao
freqente e novas funcionalidades.
Softwares cientficos e de engenharia: aumento da
complexidade dos problemas concorre com o
aumento da potncia computacional. Demandas por
eficincia, confiabilidade, visualizao de dados
complexos e interfaces com padres industriais.
Ambiente de pesquisa: incluso e modificao de
mtodos e algoritmos necessidade constante.
Condies necessrias: eficincia na
coordenao de grupos de trabalho, arquitetura
flexvel de software e gerenciamento de mudanas.

Histrico

LNCC

Mestrado e doutorado: Marco Lcio

Trabalhos de iniciao cientfica

Mestrado e doutorado: Cludio

Caractersticas do Conjunto de
Software Anterior

Programao orientada por objetos em C++.

Separao entre interface grfica e ncleo de soluo


numrica.
ACDP: tratamento e notificao de erros e excees, leitura de
dados, manipulao de bancos de dados.
DS: estruturas de dados bsicas (matrizes, vetor, arrays,
string). Mtodos de soluo de sistemas lineares.
SOLVER: verso h do mtodo de elementos finitos 2D e 3D
para problemas estruturais lineares. Implementao baseada
na generalizao de elementos, funes de forma, regras de
integrao e materiais.

OPT: anlise de sensibilidade e otimizao de problemas


estruturais lineares. Sensibilidade variao de parmetros
discretos e variao da forma do domnio. Implementao
baseada na generalizao de variveis de projeto,
funcionais de performance e campos de velocidades.
SAT 2D: gerao de geometrias, interface para gerao de
malhas e definio de parmetros do problema, visualizao
de resultados.
ADAPT: estimador de erros e refinamento de malhas em
problemas estruturais lineares 2D.
Geradores de malha: FRONTAL (2D e refinamento), GID
(2D/3D e visualizao de resultados).

Novos Requerimentos

Tratar novos tipos de problemas e implementar novos mtodos de


soluo: no-linearidades estruturais, Navier-Stokes, difusoconveco, verso p do mtodo de elementos finitos, solues
multi-nvel de sistema de sistemas lineares, otimizao de
parmetros discretos, forma e topologia em problemas nolineares.
Estabelecer uma arquitetura flexvel de programas para pesquisa
e desenvolvimento.
Conjunto de aplicativos: manipulao de geometrias (incluindo
interfaces com padres de trocas de dados), definio do
problema e gerao de malhas, soluo e otimizao,
visualizao.
Resultado: aumento da complexidade do conjunto de software
leva necessidade de procedimentos de projeto, implementao e
gerenciamento.

Design e Programao Orientados por


Objetos, UML e Rational Unified
Process

Orientao por objetos: tcnica de modelagem de


conhecimento baseada na definio de entidades,
responsabilidades e relacionamentos.
Como a programao orientada por procedimentos se
compara programao orientada por objetos? A POO
permite construir sistemas mais robustos.
Por que necessrio modelar? Um modelo uma
simplificao da realidade. Portanto, construmos modelos
para melhor entender o sistema em desenvolvimento pois h
limites na habilidade humana em compreender sistemas
complexos.

UML:
linguagem

de modelagem de sistemas orientados por


objetos e intensivos em software
fuso de trs tcnicas estabelecidas de design (Booch,
Jacobson e Rumbaugh)
tem como objetivo permitir a visualizao, especificao,
documentao (e construo) de sistemas intensivos em
software em diversos domnios (negcios,
telecomunicaes, pesquisa cientfica, transporte,
servios baseados na Web)
composta por entidades, relaes e diagramas usados
em modelagem esttica (estrutural) e dinmica
(comportamento) da arquitetura de um sistema

Arquitetura: conjunto de decises sobre organizao do


sistema de software; seleo dos elementos estruturais e
interfaces; comportamento, ou seja, a colaborao entre
componentes; subsistemas; estilo. A arquitetura no
apenas relacionada como estrutura e comportamento. Mas
tambm com uso, funcionalidade, performance, resilincia,
reutilizao, restries econmicas e tecnolgicas, etc.
A UML apenas uma linguagem de modelagem e
portanto apenas uma parte de um mtodo (processo)
de desenvolvimento de software.

Rational Unified Process

Processo de engenharia de software. Fornece uma abordagem


disciplinada para atribuio de tarefas e responsabilidades
dentro de uma organizao de desenvolvimento de software.
Iterativo: repetio de ciclos de requerimentos, anlise/design,
implementao e testes:
Sistemas de software complexos: impossvel desenvolver
corretamente todas as etapas de uma s vez.
Permite maior flexibilidade em acomodar novos requerimentos,
identificar e atacar riscos o mais cedo possvel.

Controle: gerenciamento dos requerimentos (captura,


execuo, mudana) e controle de alteraes, de modo a
garantir uma compreenso comum das funcionalidades
esperadas.
Focado no desenvolvimento da arquitetura do sistema de
software. Dirigido por use cases.
O processo suportado, automatizado, por um conjunto de
ferramentas: Requisite Pro, Rose, Soda, etc.

Sincronizao das Etapas

Desenvolvimento Atual

Requerimentos: necessidades e viso.


Use cases: seqncia de aes que o sistema executa
levando a um resultado de valor para o usurio.
Use case realizations: definio de objetos e
responsabilidades que implementem o respectivo use case.
Anlise e Design
Sincronizao com componentes e gerao automtica de
cdigo.
Primeira iterao: definio de uma arquitetura inicial,
reviso do design e da documentao dos pacotes Ds, Solver
e Opt, sincronizao com cdigo, implementao piloto
(soluo de problemas estruturais lineares). Definio de
formatos de entrada e sada de dados.

Use Cases

Arquitetura Inicial

Use case Realizations

Design

Sincronizao com Cdigo

Вам также может понравиться