Anda di halaman 1dari 27

Engenharia de Software III

Bem vindos Engenharia de


Software III
Profa. Renata Neves
Engenharia de Software III
Bibliografia Recomendada:

I. PRESSMAN, Roger S
Software Engineering: A
Practitioners Approach.
Editora: McGraw-Hill. Ano:
2010. Edio: 7. Livro
essencial para uma viso geral
da Engenharia de Software
costuma ser a escolha
primria da maioria das
bancas organizadoras.
Engenharia de Software III

II SOMMERVILLE, Ian
Software Engineering. Editora:
Addison Wesley. Ano: 2010.
Edio: 8. Outro timo livro para
uma viso geral da Engenharia de
Software, alm de possuir uma
leitura mais leve do que o livro do
Pressman.
Engenharia de Software III

A Arquitetura de um sistema um
arcabouo abrangente que descreve sua
forma e sua estrutura seus
componentes e como eles se articulam.

Jerrold Grochow
Engenharia de Software III
Desenvolvimento de Software . Problemas?

Complexidade: Entidade abstrata, composto de


partes interdependentes, complexo no entendimento,
exige competncias diferentes de cada membro da
equipe.

Conformidade: O projeto deve atender as


expectativas de clientes exigentes, cumprindo prazos
e estimativa de custos e nveis de qualidade.
Engenharia de Software III
Desenvolvimento de Software . Problemas?

Mutabilidade: O software est em constante


mudana . Interesses mudam, objetivos so trocados
e por isso o projeto deve estar pronto para evoluir
com o menor impacto possvel. Projete pensando no
futuro, pois logo voc estar nele.

Invisibilidade: A necessidade de modelos de


representao simples e eficientes prioridade para a
indstria do software, facilitando o entendimento entre
os envolvidos.
Engenharia de Software III
Engenharia de Software III
O processo de projeto de arquitetura envolve o
estabelecimento de um framework bsico que
identifica os principais componentes do sistema e as
comunicaes entre eles.

Sistemas so decompostos em subsistemas


relacionados.

O processo inicial do projeto, que consiste em


identificar esses subsistemas e estabelecer um
framework para controle e comunicao
denominado Projeto de Arquitetura.
Engenharia de Software III
Arquitetura no Processo de Desenvolvimento de Sistemas
Engenharia de Software III
Nelu Suciu (Arquiteto de Solues, ISDC, Cluj, Romnia)
SOFTWARE ENGINEERING INSTITUTE (Instituto de
Engenharia de Software).
A arquitetura de software tem um duplo propsito:

primeiro ele tem que projetar a mistura equilibrada de recursos


para apoiar a realizao de objetivos de negcio, e,

segundo ele precisa usar uma combinao tima de


tecnologias de implementao sobre hardware, software e
operaes.
Uma boa arquitetura de software pode ser reconhecida quando
os objetivos de negcio so cumpridas pela funcionalidade
entregue, dentro do tempo estimado e o custo.
Engenharia de Software III
Arquitetura no Processo de Desenvolvimento de Sistemas

Philip Lew (CEO, XBOSoft, San Francisco, CA):

Qualquer definio para arquitetura de software tem de ser to


simples quanto possvel, a fim de suportar o teste do tempo.
Tendo em conta que:

"A arquitetura de software os blocos de construo ou


componentes de software, a sua definio, e como esses
componentes so ligados entre si, e suas interaes".
Engenharia de Software III
A primeira meno sobre arquitetura de software foi feita na
dcada de 1970, atravs de um relatrio intitulado:

Software Engineering Tecnhiques.

Perry e Wolf
Garlan e Shaw
Padro ISO/IEEE 1471-2000
Engenharia de Software III
Segundo, Perry e Wolf

Arquitetura = {Elementos*, Organizao**, Decises}


*Elementos de dados **Relacionamento entre os
Elementos de processamento elementos arquiteturais.
Elementos de conexo

Conjunto de elementos arquiteturais que possuem alguma


organizao. Os elementos e sua organizao so definidos
por decises tomadas para satisfazer objetivos e restries.
Engenharia de Software III
Padro ISO/IEEE 1471-2000

A Arquitetura a organizao fundamental


de um sistema incorporada em seus
componentes, seus relacionamentos com o
ambiente, e os princpios que conduzem
seu design e evoluo.
Engenharia de Software III
Vantagens de projetar e documentar uma
arquitetura de software:
Tratamento da qualidade do sistema;
Guia para o consenso;
Apoio ao processo de planejamento;
Preservao da integridade dos mdulos do
sistema;
Auxlio gerncia devido complexidade;
Reuso em larga escala.
Engenharia de Software III
Engenharia de Software III
Modelos arquiteturais
Utilizados para representar diferentes vises
da arquitetura.
Estes modelos podem representar um subconjunto
de elementos arquiteturais (decomposio em
mdulos) ou uma viso especfica que contemple
apenas determinado tipo de elemento (voltada, por
exemplo, para a estrutura ou para o comportamento
do software).
Engenharia de Software III
Engenharia de Software III
Papel: Arquiteto de Software

O papel arquiteto de software lidera e coordena as


atividades e os artefatos tcnicos no decorrer do projeto. O
arquiteto de software estabelece a estrutura geral de cada
viso de arquitetura: a decomposio da viso, o
agrupamento dos elementos e as interfaces entre esses
principais agrupamentos. Portanto, comparado aos outros
papis, a viso do arquiteto de software ampla, e no
detalhada.
Rational Unified Process.
Engenharia de Software III
O arquiteto de software tem de ser capaz de
planejar, documentar e decidir quais tecnologias
estaro envolvidas na concepo do software (isso
inclui linguagem de programao e framework), e
at mesmo a infra-estrutura necessria para abrigar
e processar o software.

Eduardo Spaki.
Engenharia de Software III

Rational Unified Process.


Engenharia de Software III
O projeto de arquitetura de software de um sistema afeta
o desempenho, a manuteno e a distribuio do sistema
(Bosch, 2000).
O estilo de arquitetura escolhidos podem depender de
requisitos no funcionais do sistema, como:

Desempenho requisito crtico, a arquitetura deve ser


projetada para localizar operaes crticas e prioriz-las.
Engenharia de Software III

Proteo Uma estrutura em camadas para arquitetura


deve ser utilizada, com os itens mais crticos protegidos
por camadas mais internas.

Segurana todas as operaes de segurana devem


ser localizadas em um nico subsistema, isto reduz
custo, reduz problemas com validao de segurana e
torna possvel fornecer servios sistemas de proteo
relacionados.
Engenharia de Software III
Disponibilidade A arquitetura deve ser projetada para
incluir componentes redundantes, e assim ser possvel
substituir ou reparar o sistema, sem a necessidade de
parar o sistema. Normalmente sistemas que devem ser
tolerantes a defeitos e terem alta disponibilidade.

Facilidade de Manuteno e distribuio - A arquitetura


deve ser projetada usando componentes de baixa
granularidade e auto contidos que possam ser
modificados sem afetar os demais.
Engenharia de Software III
Um estilo de arquitetura um padro de
organizao do sistema.

Garlan e Shaw 2003


Engenharia de Software III
TP: 01 Curso Disciplina
Data, dia da semana- nome completo.
1. Quais os fatores que influenciam os problemas no desenvolvimento de
software?
2. Explique o processo bsico do projeto de arquitetura?
3. Qual a definio de arquitetura de acordo com a ISO/IEEE1471/2000?
4. Cite as vantagens da aplicao de um projeto de arquitetura de software?
5. O que so modelos arquiteturais?
6. O que um estilo de arquitetura de software?
7. Para escolha de um estilo de arquitetura de software que requisitos no
funcionais devemos avaliar?
8. Lista os requisitos no funcionais do sistema que temos que avaliar para
desenvolver um projeto de arquitetura.
Engenharia de Software III

Anda mungkin juga menyukai