Sistemas de Software -...

Preview:

Citation preview

ARQUITETURA E DESENHO

DE SOFTWARE

CMP 1063

Prof. Me. Fábio Assunção

Parte 1

ARTEFATO

Pelo dicionário:

1. Produto de trabalho mecânico; objeto, dispositivo,

artigo manufaturado.

2. Aparelho, engenho, mecanismo construído para um

fim determinado.

Exemplos na arqueologia:

Ferramentas de pedra, ruínas de construções,

documentos, monumentos, crônicas/inscrições, etc.

ARTEFATO DE SOFTWARE

Resultado de um conjunto de atividades

proveniente das tarefas envolvidas no processo de

desenvolvimento de um sistema de software.

Relembrando: processo de software, o que é?

Isto é:

Um subproduto concreto de um produto de software;

Provê informações sobre e internamente ao software;

Um documento;

Um modelo;

Um executável.

ARTEFATO DE SOFTWARE

Exemplo simplório:

Documento de Requisitos ► Diagrama de Casos de

Uso ► Diagrama de Classes, etc.

Algum exemplo concreto?

ARTEFATO DE SOFTWARE

Do ponto de vista do usuário, é um conjunto de

informações que o auxiliem na operação do

sistema, como frames de ajuda, documentação do

sistema, documentação do usuário, ajuda online,

etc.

SOFTWARE

Sendo assim, vamos (re)definir software como a

coleção de artefatos criados durante a execução

de um processo de (desenvolvimento de) software.

RELEMBRANDO...PAPÉIS, ATIVIDADES, ARTEFATOS E FLUXOS E TRABALHO

O que são workers (papéis),

activities (atividades), artfacts

(artefatos) e workflows (fluxo

de trabalho/processo)?

PAPÉIS, ATIVIDADES, ARTEFATOS E FLUXOS E TRABALHO

Um processo / fluxo de

trabalho é organizado por

um conjunto de atividades.

Atividades são tarefas de

responsabilidade de um

membro da equipe com uma

função específica, um papel

específico.

Um artefato é resultante de

uma atividade.

PAPÉIS

Na definição de um método, deve-se também

definir quais serão os papéis envolvidos.

Por método, entende-se como o modelo de processo de

software em uso.

Ex.: Cascata, Incremental, Protótipo, PU, RUP, etc.

Na elaboração de um processo, deve-se definir

quais recursos humanos assumirão quais papéis.

Os papéis podem variar de um processo para

outro.

PAPÉIS

ATIVIDADES

Em um método, as atividades (tarefas) são as

disciplinas.

Por disciplina, entende-se como

Em um processo, as atividades são delegadas aos

papéis.

Em um processo, também são definidos os fluxos

de trabalho e os marcos.

ATIVIDADES

ARTEFATOS

Em um método, as atividades e papéis e

consomem artefatos.

Um processo define quem produz e/ou consome

artefatos.

Um processo define marcos; Isto é, determina

quando um artefato deve ser consumido.

ARTEFATOS

MARCOS (MILESTONES)

Uma marco delimita o ponto final de uma

atividade de processo.

Marcos principais delimitam fases.

Marcos intermediários permitem verificar o

progresso de desenvolvimento.

MARCOS (MILESTONES)

INCREMENTOS, BUILDS E RELEASES

Um incremento é um componente de software

compilado.

Uma build é componente parcial do produto de

software, composto por diversos incrementos.

Uma release é uma build entregue ao cliente,

contendo em si executáveis, bibliotecas, manuais,

etc.

INCREMENTOS, BUILDS E RELEASES

Relembrando... (1) processo incremental e (2)

processo iterativo.

PROCESSO UNIFICADO - PU

FASES DO PU

MODELO DE ANÁLISE

“Preenche a lacuna entre a descrição sistêmica

que descreve o sistema como um todo ou a

funcionalidade de negócio que é atingida

aplicando-se software, hardware, dados, pessoal e

outros elementos de sistema e um projeto de

software que descreve a arquitetura, a interface

de usuário e a estrutura em termos de

componentes de software ” (Pressman).

MODELO DE ANÁLISE

1) Descreve o que o cliente quer.

2) Exercita uma base para o projeto.

3) Determinar requisitos para validação ao fim.

MODELO DE ANÁLISE

Faz uma “ponte” entre:

Uma representação do mundo real; um relato dentro

domínio do negócio. Isto é, um relato em nível de

sistema que descreve a funcionalidade global, com o

hardware, os dados e as pessoas envolvidas, dentre

outros elementos.

Modelo de projeto que descreve a arquitetura,

interface do usuário e estrutura em nível de

componente de aplicação. Isto é, a solução do

problema.

MODELO DE ANÁLISE

MODELO DE ANÁLISE

Modelos de análise (Pressman):

Modelagem de dados:

Modelo entidade-relacionamento (MER).

Modelagem de análise orientada a objetos:

Diagrama de casos de uso.

Diagrama de atividades.

Modelagem de análise orientada a fluxos

Diagrama de fluxo de dados (DFD) níveis 0 e 1.

Modelagem de análise baseada em classes:

Modelagem de colaboração de responsabilidades de classes

(CRC).

Modelagem de análise comportamental:

Diagrama de estados.

MODELOS DE ANÁLISE E ARTEFATOS

Artefatos da fase de elaboração Documento de business case (investigação preliminar)

Documento de orçamento e cronograma

Documento de especificação de requisitos Requisitos funcionais (Modelo de use case)

Requisitos não funcionais

Modelo conceitual inicial

Glossário

Projeto arquitetural (poderá incluir um Modelo de componentes)

Fase de construção Refinamento dos requisitos funcionais (Modelo de use case)

Refinamento do modelo conceitual (Modelo conceitual) Inclui vários tipos de diagramas UML

Refinamento do projeto arquitetural (poderá incluir um Modelo de componentes)

Refinamento do glossário

Projeto de baixo nível (Modelo de projeto) Inclui vários tipos de diagramas UML

Esquema de banco de dados

Planos de testes

Fase de implantação Planos de publicação

Planos de testes alfa, beta

Planos de treinamento

Recommended