Tópicos

Avisos

8 Mai Apresentação de ACS no dia 10.Maio às 14h30 no âmbito das JOIN.

8 Mai Site criado.

Education » ACS » Modulos » AS

Arquitecturas de Software

A concepção de software é simultaneamente o processo de definição da arquitectura, dos componentes, das interfaces e de outras características do sistema (ou componente), e o resultado desse processo. Na óptica do processo e no âmbito do ciclo de vida de desenvolvimento de software, a concepção de software consiste na actividade em que os requisitos de software são analisados com o intuito de produzir uma descrição da estrutura interna e da organização do sistema. Na óptica do produto, a concepção de software (o resultado final do processo) deve descrever a arquitectura do sistema (i.e., como o sistema pode ser decomposto e organizado em componentes), as interfaces entre os componentes, bem como os próprios componentes com um nível de pormenor que permita a construção destes.

Programa resumido

  • Definição das componentes de uma arquitectura software;
  • Decomposição modular. Estruturação do um sistema software complexo;
  • Modelos de controlo e fluxo de informação;
  • Padrões estruturais e de comportamento;
  • Frameworks orientadas ao domínio e de componentes reutilizáveis;
  • Desenvolvimento orientado à reutilização
  • Aplicações multi-camada (especifidades e padrões necessários);
  • Estratégias e mecanismos de integração;

Resultados de Apreendizagem Específicos

  • Avaliar a importância de uma arquitectura de software no contexto geral de disponibilização de uma solução.
  • Definir os diferentes tipos de modelos arquitecturais a nível de estrutura do sistema, decomposição por camadas e por elementos de controlo.
  • Analisar soluções existentes e o seu grau de flexibilidade e reutilização.
  • Analisar e avaliar as qualidades intrínsecas à arquitectura (integridade conceptual, correcção e completude, e construibilidade), os atributos que se revelam em tempo de concepção (capacidade de modificação, portabilidade, reusabilidade, integrabilidade e capacidade de teste) e os atributos que só revelam em tempo de execução (desempenho, segurança, disponibilidade, usabilidade e funcionalidade).
  • Utilizar frameworks específicas e mecanismos de especialização.
  • Definir aplicações com indepêndencia de camadas e modos de a assegurar.
  • Analisar as condicionantes dos modelos de programação e escolher as notações e linguagens mais adequadas para representar artefactos de concepção de software, nomeadamente a organização estrutural da concepção e o comportamento do software.
  • Medir os impactos dos mecanismos de integração na definição de uma arquitectura.
  • Reutilizar soluções pré-definidas e garantidamente testadas e eficazes no âmbito do domínio do problema recorrendo, por exemplo, à utilização de estruturas arquitecturais e perspectivas, estilos arquitecturais, padrões de concepção, famílias de programas e frameworks.

-- 08 May 2007

r2 - 08 May 2007 - 17:01:28 - JoaoMiguelFernandes
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM