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