Arquivo da categoria: Engenharia de Software

Gestão de Processos em metodologia Ágil (SCRUM)

 Andei um pouco afastado do Blog por falta de tempo (Profissão, Musica, etc…), mas vou voltando aos poucos… 😉 Esses últimos dias tive que recapitular algumas coisas sobre gestão de processos, e vou publicar aqui um descritivo sobre metodologia ágil (SCRUM)

A Metodologia SCRUM apenas estabelece conjuntos de regras e práticas de gestão que devem ser adotadas para garantir o sucesso de um projeto. Centrado no trabalho em equipe, melhora a comunicação e maximiza a cooperação, permitindo que cada um faça o seu melhor e se sinta bem com o que faz o que mais tarde se reflete num aumento de produtividade. Englobando processos de engenharia, este método não requer nem fornece qualquer técnica ou método específico para a fase de desenvolvimento de software. As principais características do SCRUM são:

  • é um processo ágil para gerenciar e controlar o desenvolvimento de projetos;
  • é um wrapper para outras práticas de engenharia de software;
  • é um processo que controla o caos resultante de necessidades e interesses conflitantes;
  • é uma forma de aumentar a comunicação e maximizar a cooperação;
  • é uma forma de detectar e remover qualquer impedimento que atrapalhe o desenvolvimento de um produto;
  • é escalável desde projetos pequenos até grandes projetos em toda empresa.
Anúncios

Design Patterns – Padrões de Projeto

Estive fora por um tempo, mais agora esta tudo se resolvendo … rsrs. Neste periodo andei estudando e continuo, um tema da Arquitetura de Software chamado Design Patterns ou Padrões de Projeto.

O Que são Design Patterns ? Vamos tentar levar do modo mais explicativo … Se você tem um problema, como resolve-lo de maneira mais eficaz e diminuindo os riscos com todo escopo ? O Design Patterns nada mais é que um conjunto de soluções para problemas que ocorrem com frequencia em situações especificas baseado em experiências e conhecimento na área.

Estes princípios foram desenvolvidos e levaram a publicação de um livro chamado “Design Patterns: Elements of Reusable Object-Oriented Software“, de 1995 por Eric Gamma, Richard Helm, Ralph Johnson e John Vlissides. Este livro é considerado a principal referência de design patterns para a comunidade de software e tem influenciado na evolução dos padrões de projeto até hoje. Com isso foi criado o nome GoF (Gang of Four) dos quatro criadores do livro. Posteriormente, vários outros livros do estilo foram publicados, como Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, que introduziu um conjunto de padrões conhecidos como GRASP (General Responsibility Assignment Software Patterns).

Padrões  GoF :

Padrões de criação

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton

Padrões estruturais

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Façade
  • Flyweight
  • Proxy

Padrões comportamentais

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

Os padrões GoF são organizados em famílias de padrões: de criação, estruturais e comportamentais.

Padrões de criação – são relacionados à criação de objetos.

Padrões Estruturais – tratam das associações entre classes e objetos.

Padrões  Comportamentais – interações e divisões de responsabilidades entre as classes ou objetos.

Padrões GRASP

  • Controller
  • Creator
  • Expert
  • Law of Demeter
  • Low Coupling/High Cohesion
  • Polymorphism
  • Pure Fabrication

Ao decorrer dos dias em que eu for me aprofundando no assunto irei postando aqui as resoluções com os fontes de cada padrão citado.

Engenharia de Software – Diagramas de Sequência

Ontem estava lendo alguns assuntos sobre UML (Unified Modeling Language) , e quando cheguei na aula de Engenharia de Software tive a sorte de estar passando Diagramas de Sequência e pude rever alguns conceitos para elaborar uma documentação para um projeto que estamos fazendo para faculdade. Seguindo o contexto, diagramas de seguência são basicamente uma representação da troca de mensagens entre objetos ao decorrer de um contexto para realizar determinada tarefa. É uma ferramenta muito eficaz em função dos casos de uso. São compostos por :

Atores, Objetos e (lifeline & Timeline) Mensagens. Exemplo :

Wikpédia

O Ator é representado pelo primeiro (mais à esquerda) elemento da Timeline no diagrama de seqüência, como o “acionador” da interação. Se houver várias instâncias de atores no mesmo diagrama, tente mantê-las na Timeline mais à esquerda ou na linha mais à direita.

O Objeto é representado pela caixa na parte superior de uma linha tracejada verticalmente. A linha vertical é chamada de (lifeline) linha da vida do objeto, e representa a vida do objeto durante a interação.

Uma Mensagem é representada por uma seta horizontal, do emissor para o receptor, com o nome e possíveis argumentos. Existem alguns tipos de mensagens:
** Síncrona – Onde quem envia (emissor) fica esperando resposta. Representada por uma linha.
** Retorno de Mensagem Síncrona – Representada por uma linda tracejada.
*  Assíncrona – Onde quem envia (emissor) NÃO espera resposta. Representada por uma linha com uma volta na ponta.
** Simples ou Indiferenciada – não se decide se é síncrona, de retorno ou assíncrona.