27
ARQUITETURA E DESENHO DE SOFTWARE CMP 1063 Prof. Me. Fábio Assunção Parte 1

Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

  • Upload
    docong

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

ARQUITETURA E DESENHO

DE SOFTWARE

CMP 1063

Prof. Me. Fábio Assunção

Parte 1

Page 2: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 3: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 4: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

ARTEFATO DE SOFTWARE

Exemplo simplório:

Documento de Requisitos ► Diagrama de Casos de

Uso ► Diagrama de Classes, etc.

Algum exemplo concreto?

Page 5: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 6: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 7: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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)?

Page 8: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 9: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 10: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

PAPÉIS

Page 11: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os 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.

Page 12: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

ATIVIDADES

Page 13: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 14: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

ARTEFATOS

Page 15: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 16: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

MARCOS (MILESTONES)

Page 17: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 18: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

INCREMENTOS, BUILDS E RELEASES

Page 19: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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

processo iterativo.

Page 20: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

PROCESSO UNIFICADO - PU

Page 21: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

FASES DO PU

Page 22: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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).

Page 23: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 24: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 25: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

MODELO DE ANÁLISE

Page 26: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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.

Page 27: Sistemas de Software - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17676... · quais recursos humanos assumirão quais papéis. Os papéis

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