Swebook complexidade

Classificado em Computação

Escrito em em português com um tamanho de 6,46 KB.

Modelagem da arquitetura: Visão do projeto(lógica): Diagrama de estado, diagrama de classes e diagrama de interação. Visão Implementação: Diagramas de componentes, Visão processo: Diagrama de processos, Visão implantação: Diagrama de implantação, Visão de casos de usos: Diagramas de casos de uso e sequência. O projeto de software é composto de duas atividade: Projeto de arquitetura de software: onde o projeto é de 
alto nível com granularidade macro do soft definindo seus componentes e a interface de comunicação entre eles.  Objetivo é satisfazer os requisitos de qualidade. Projeto detalhado do software: projeto mais baixo nível com 
granularidade micro do soft definindo seus objetos e a forma de colaboração entre eles pára realizar as funções do sistema. Objetivo é satisfazer os requisitos funcionais.  Arquitetura de Software está diretamente ligada aós atributos de qualidade.Em um SOO, os objetos interagem  entre si através do envio de mensagens com o objetivo de executar suas tarefas. Pode ser visto como um conjunto de subsistemas que o compõem. Definição dos subsistemas de um SOO é feita no projeto da arquitetura ou projeto arquitetural (define de que forma o sistema se divide em partes e quais são as interfaces entre essas partes). Vantagens de dividir um SOO em subsistemas: • produzir unidades menores de desenvolvimento; • maximizar o reúso no nível de subsistemas componentes; • ajuda a gerenciar a complexidade no desenvolvimento. Arquitetura é o conjunto de decisões significativas sobre a organização de um sistema de software: • a seleção dos elementos  estruturais e as interfaces das quais o sistema é composto. "Arquitetura é a organização fundamental de um sistema que compreende seus componentes, seus relacionamentos uns com os outros e com o ambiente, e os princípios que guiam seu desenho e evolução." Razões pára projetar arquitetura: permitir uma avaliação da arquitetura antes de se construir o produto; concentrar no problema em um nível adequado de abstração pára isolar parte da sua complexidade *apoiar o planejamento da construção do produto possibilitando estimativas custo, esforço, prazo e a definição das partes que poderão ser reusadas. Padrões de arquitetura se difere em tipo de componentes, tipo de conectores e forma de conexão. MODELAGEM DA ARQUITETURA DE SOFTWARE: Na UML os conceitos são usados pára modelar a arquitetura, Visão Lógica (projeto)•Pacotes, •Subsistemas •Componentes •Interfaces •Camadas •Visão Implementação: Diagramas de componentes • Visão Implantação: Diagramas de implantação. Diagramas básicos: • Diagramas pacotes e classes. PACOTES: Um mecanismo de agrupamento geral que pode ser utilizado pára agrupar vários artefatos de um modelo. Notação: uma pasta com uma aba. Pode ser usado Pára organizar modelos em desenvolvimento e Como uma unidade de gerencia de configuração. Pacotes podem ser agrupados dentro de outros pacotes, formando uma hierarquia de contenção. Pode haver relacionamentos de 
dependência entre pacotes.•Classificador é uma entidade de software que implementa os métodos dos serviços especificados em um ou mais interfaces. SUBSISTEMAS: Um subsistema é um classificador que corresponde a um agrupamento de classes. • Sendo um tipo de classificador, um subsistema realiza uma ou mais interfaces. Na UML, um subsistema é representado como um pacote com o estereótipo <<subsistema>>. Subsistemas devem ser inimamente acoplados. Subsistemas devem ser maximamente coesivos. Dependências cíclicas entre subsistemas devem ser evitadas. COMPONENTES: Além dos subsistemas e das classes, um outro tipo de classificador é o componente.  INTERFACES: Definição (serviço): um serviço é alguma tarefa que uma entidade de software realiza pára outra. Um serviço é composto de sua especificação e de seu método. • Especificação: define o que o serviço realiza, além de documentar as informações que são necessárias pára a sua realização. • Método: corresponde ao modo de Realizar um serviço. Dadá a especificação de um serviço, podem existir diversos métodos pára realizá-lo. A primeira notação: é a mesma pára classes. São exibidas as operações que a interface especifica. Deve ser usado o estereótipo <<interface>>. Segunda notação: através de um segmento de reta com um pequeno círculo em um dos extremos e ligado ao classificador que a realiza no outro extremo. Classes clientes conectadas à interface através de um relacionamento de dependência.  Interface fornecida: Uma interface fornecida por um componente, significando uma interface em que o componente fornece um serviço pára outros componentes Interface requerida Uma interface utilizada pelo componente, significando uma 
interface à qual o componente se adapta quando solicita serviços de outros componentes ( ACESSO () FORMA DE ACESSO. Cliente--( ()--Cep. 
CAMADAS: Uma outra forma de organizar a arquitetura de um sistema complexo em partes menores é através de camadas de software.
Uma camada de software, é uma coleção de subsistemas. A UML não tem nenhum elemento gráfico pré-específico pára representar camadas de um sistema. No entanto, pacotes também podem ser utilizados pára representar camadas. VISÃO Implementação: expressa os Componentes de uma aplicação. COMPONENTES:Um componente é uma unidade configurável de software que pode ser utilizada na construção de vários sistemas e que pode ser substituída por outra unidade que forneça a mesma funcionalidade. Sendo um classificador, um componente pode prover acesso aós seus serviços através de uma interface. As classes representam abstrações lógicas; os componentes representam coisas que vivem no mundo dos bits; Outra diferença é que componentes Representam conceitos físicos. • ao invés de conceitos lógicos representados por classes e subsistemas. UML: “um componente de software é um módulo, pacote ou subsistema que tem uma função e uma interface claramente definidas e pode ser integrado em um ou mais sistemas”. 

Entradas relacionadas: