Upload
docong
View
218
Download
0
Embed Size (px)
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