Notes - MIECT
Análise de Sistemas
Notes - MIECT
Análise de Sistemas
  • Análise de Sistemas
  • Visual Modelling With UML
    • System Development Lifecycle (SDLC)
    • Modelling
    • UML
      • Aplicação Da UML No Desenvolvimento
      • Elementos Comuns
    • UML Activity Diagram
      • Fluxos de ações e de dados
    • UML Use case diagrams
      • Modelo Funcional
    • Requirements Elicitation Epproaches
    • Use Case Driven Development
      • Documentação de Casos de Uso
      • Tipo de Casos de Uso
      • Modelo de Uso de Caso
      • O Caso de Uso Possui Vários Fluxos
      • Elementos Essenciais
      • As "3 Questões Mágicas"
      • Regras Para Escrever um Uso de Caso
      • Como Descobrir o Caso de Uso
      • Reusing Behavior With Include
      • Optional Behavior Activation With Extend
  • Introdução à Análise [Orientada] Por Objetos
    • As "coisas" Do Domínio
    • 3 Modelos Para Modelar a Complexidade
    • Natureza e Representação Dos Objetos
    • Modelar Relações Entre Classes
      • Associação
      • Agregação
      • Navegabilidade
      • Generalização (Herança)
      • Síntese da Notação Básica do Diagrama de Classes
    • Tipos de dados
    • Papeis != Nome da Associação
    • Agregação Vs. Composição
    • Força de Ligação
    • Indicações no Modelo do Domínio
      • Associações N-árias
    • Classe Abstrata
    • Diagramas de Objetos
  • Modelos de Interação - Diagramas de Sequência
    • Categorias de Modelos
      • Tipos de Modelos Comportamentais
    • Diagramas de Sequência
    • Colaboração ao Nível do Objeto
    • Planos de Abstração
      • Exemplos
    • Notação
    • Diagramas de Iteração
    • Caso de Utilização
    • Diagramas de Sequência de Sistemas (DSS)
  • Máquinas de Estados
    • Máquinas de Estados
      • Sintaxe
    • Transição
    • Atividades internas
    • Quando Utilizar o DE
    • Ciclo de Vida de um Objeto
  • Arquitetura do Software e a UML
    • Elementos Comuns
    • Arquitetura de Software
    • Composição da Arquitetura
    • Requisitos e Compromissos
    • Vistas de Arquitetura na UML
      • Arquitetura Lógica
      • Arquitetura de Componentes do Software
      • Arquitetura de instalação
  • Processos de Software
    • Fases do SDLC
      • Planeamento
      • Análise
      • Desenho
      • Implementação
    • Software Process
    • Planeado ou Evolutivo?
      • Modelo Cascata
      • Modelo Evolucionário
    • Unified Process / Open Unified Process
      • Lifecycle
    • Desenvolvimento Ágil
  • Elementos Comuns da UML
    • Elementos
  • Transformação Digital e o SDLC
    • Transformação Digital
    • O Analista
  • Determinação de Requisitos e OpenUP
    • Determinação de Requisitos
    • Tipos de Requisitos
    • Desempenho
    • Atributos de Qualidade
    • FURPS
    • Regra do Negócio
    • Recolha de Requisitos
    • Documentação dos Requisitos
      • Bem Formulados
    • OpenUP
  • Práticas da Engenharia de Requisitos
    • Requisitos vs Cenários
      • Foco na Utilização
    • SRS – Software Requirements Specification
    • Requisitos Evolutivos
    • Atividades da Engenharia de Requisitos
    • Prototipagem Como Validação de Requisitos
  • Práticas da Análise no Projeto de AS
    • Fases, iterações e pontos de controlo
    • Novos processos
    • Modelo [dos conceitos] do domínio
    • Papel dos casos de uso
    • Situações de modelação com CaU
    • Desenvolvimento iterativo e incremental
  • Metodologias ágeis e user stories
    • Use Case Design
    • Critérios de Aceitação
    • Story Points
    • Bakclog
    • Recall
    • User stories and use cases: what is the difference?
    • Usage centric approaches to requirements: benefits
    • Take away messages
  • Gestão de equipas com o SCRUM
    • Como organizar as atividades da equipa
    • Histórias de utilização
    • Planeamento e monitorização do progresso
  • Vistas de Arquitetura
    • Papel do arquiteto (de software)
    • O que é a arquitetura de software?
    • Três tipos de estruturas
    • Caso Exemplo
    • Requisitos com impacto nas decisões de arquitetura
    • A arquitectura de software é importante
    • Documentar a arquitetura
    • Estilos de arquitetura
    • Exemplo da indústria
  • Testes e Quality Assurance na Construção
    • Práticas que podem induzir ou medir a qualidade do produto
    • Ciclo de vida dos testes
    • O papel dos testes de software
    • Testing techniques
    • Pirâmide dos testes
    • Test-driven development
    • Cucumber framework
  • Integração Contínua & Entrega Contínua (CI/CD)
    • Desenvolvimento iterativo
    • Quality checks → análise estática do código
    • A build é mais que compilar...
    • Práticas da integração contínua
    • Continuous...
    • Integration tests
Powered by GitBook
On this page
  • Continuously integrating the “units”
  • Suggested development workflow
  • The build process
  1. Integração Contínua & Entrega Contínua (CI/CD)

Desenvolvimento iterativo

PreviousCucumber frameworkNextQuality checks → análise estática do código

Last updated 2 years ago

Cada iteração envolve escolher um pequeno subconjunto dos requisitos, para projetar/desenhar, implementar e testar.

  • Desenvolvimento em ciclos curtos

  • Cada ciclo dá um incremento executável (parcial)

  • Cada incremento é testado e integrado

  • O feedback de cada iteração leva ao refinamento e adaptação da próxima.

Continuously integrating the “units”

The essence of it lies in the simple practice of everyone on the team integrating frequently.

CI makes the development process smoother and less risky.

CI involves triggering a (remote) build when a change gets committed to the code repository, which includes: fetching the code from source code repository, compiling code, running automated tests and creating build out of it.

Suggested development workflow

  1. Update from shared SCM

  2. Code a new feature (tests + code) in a dedicate feature branch

  3. Run automated build on local machine

    1. Repeat #2 and #3 till tests pass

  4. Commit (integrate with “central”)

    1. Pull requests advised (with peer code review)

  5. Run a build on a clean machine

    1. Update artifacts, update build status (feedback)

    2. Immediately fix bugs and integration issues

The build process

A build has several stages.

A successful build implies success in code correctness and quality checks.

Automatic build tools run quality checks (e.g.: unit testing, code inspections).