15 de dezembro de 2008

UML - Unified Modeling Language

UML (Unified Modeling Language), esta é uma linguagem para modelagem de dados para uma melhor comunicação tanto entre as etapas e fases do desenvolvimento, como entre equipe e cliente.
A UML é uma linguagem visual de modelagem unificada para modelar sistemas computacionais por meio do paradigma de orientação a objetos. Acrescentando a esta definição, segundo (CONALLEN 2003), ela é apenas uma linguagem, mas como qualquer linguagem, expressa os fatos com certas tendências, modelos e projetos de sistema em um modo orientado a objeto.
A UML veio a priori pra suprir a necessidade de uma linguagem comum que pudesse se entendida entre todos desenvolvedores desde analista, projetista de software, programadores e os demais stacksholders envolvidos no desenvolvimento.

Engenharia de Software

Na constante busca por um melhor aproveitamento dos conhecimentos com os projetos já construídos, a engenharia de software realiza este estudo que se faz necessário pra solucionar e compreender as melhores práticas a serem seguidas. Estudando também os processos que envolvem todo o desenvolvimento e construção de um software.
Uma análise mais profunda sobre do que se trata a Engenharia de Software nos remete a um cenário cada dia mais presente na vida dos desenvolvedores, que é está habituado à constante mudança de requisitos por parte do usuário. Estas mudanças já devem ser esperadas e apontadas previamente na fase de análise de requisitos, pois se um problema for tardiamente encontrado trará um contratempo maior para o sistema como um todo.
Com isso nota-se a importância da Engenharia de Software ora por mostrar as melhores soluções padrões que foram desenvolvidas ora por dividir este processo em etapas que ajudam a minimizar tanto o custo quanto o tempo de desenvolvimento.
Neste cenário de desenvolvimento de software, muitas vezes fica difícil de coordenar as pessoas envolvidas no desenvolvimento do projeto, pois, todo o esforço deve ser planejado, coordenado e acompanhado, preservando sempre a qualidade do software desenvolvido.