A - Definição: O que faz este software?
Modelagem de software é uma representação simplificada de algo real. Assim como uma planta de uma casa, ela apresenta o que o projeto realizara quando estiver pronto e todas as suas funções. Basicamente a modelagem significa capturar as características e traduzir para um modelo que possa ser manipulado e processado pelo computador, onde serão tratadas as questões funcionais e seus fluxos de dados. A modelagem é feita através de diagramas como o DFD (diagrama de fluxo de dados), para representar e identificar as características do software a ser criado.
B - Funcionalidades: Que serviços ele disponibiliza?
Atualmente empresas determinam todos os requisitos funcionais e não-funcionais de um determinado sistema, porém se esquecem de elaborarem um modelo lógico do sistema, passando direto para a fase de codificação. Com isso vem as funcionalidades de modelagem de software que são:
.Elaboração de diagramas que facilitam e padronizam o projeto a ser desenvolvido convertendo-o a uma linguagem simples e direta.
.A modelagem fornece múltiplas visões do sistema a ser modelado, analisando-o e modelando-o sob diversos aspectos, procurando-se assim atingir a completitude da modelagem, permitindo que cada diagrama complemente os outros.
.A utilização de diversos diagramas permite que falhas possam ser descobertas nos diagramas anteriores, diminuindo a possibilidade da ocorrência de erros durante a fase de desenvolvimento do software.
Como diagramas UML temos:
Diagrama de Caso de Uso - Descreve a funcionalidade proposta para o novo sistema, e geralmente estão relacionados a atores, que podem ser um humano ou uma entidade máquina que interage com o sistema para executar um trabalho significante.
Diagrama de Classes - É uma representação da estrutura e relações das classes que servem de modelo para objetos, definindo todas as classes que o sistema deve ter, bem como é a base para a construção dos diagramas de comunicação, seqüência e estados.
Diagrama de Seqüência ou Diagrama de Seqüência de Mensagens - Representa uma seqüência de processos, ou seja, a maneira como os grupos de objetos colaboram em algum comportamento ao longo do tempo.
Diagrama de Colaboração - Exibe uma interação, consistindo de um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles.
Diagrama de Atividade ou Fluxograma - Representa os fluxos conduzidos por processamentos. É essencialmente um gráfico de fluxo, mostrando o fluxo de controle de uma atividade para outra.
Diagrama de Componentes - Ilustra como as classes devem ser organizadas de acordo com seus componentes de trabalho.
Diagrama de Estrutura Composta - Utilizado para descrever a colaboração interna de classes, interfaces ou componentes para especificar uma funcionalidade.
Diagrama de Distribuição - Apresenta as instâncias dos componentes e seus relacionamentos.
Descrever objetivamente as funcionalidades
C - Benefícios: O que ele facilita no dia a dia?
A modelagem de software facilita o desenvolvimento do software em questão pois levante todas ou quase todas as possibilidades de um sistema. Pois ela facilita a comunicação de todas as pessoas envolvidas no processo de
desenvolvimento de um sistema - gerentes, coordenadores, analistas, desenvolvedores - por apresentar um vocabulário de fácil entendimento.
D - Interface gráfica: Um exemplo (print) de uma tela?
Print de tela não ficou legal
E - Fornecedor: Quem fornece (quem criou) este software?
A modelagem é feita de varias formas, mas certas linguagens ajudam no seu desenvolvimento como Java e UML. Um exemplo de fornecedor seria a IBM® Rational® Rose® Enterprise que fornece uma linguagem de modelagem comum para permetir a criação mais rapida de software de qualidade.
F - Estado da Arte: Exemplos atuais
Temos como exemplo atual o diagrama UML, que possui um vocabulario de ser entendido,e sua praticidade. A modelagem por UML por ser a mais usada utiliza para auxilio as ferramentas CASE.
Exemplo de programas para modelagem:
Poseidon para UML - Ferramenta de modelagem de sistemas da empresa alemã Gentleware AG. O Poseidon é uma evolução da ferramenta de código-aberto ArgoUML que com mais de 350.000 instalações está entre as ferramentas de modelagem mais conhecidas. Seu principal foco está na facilidade de uso que a torna simples de aprender e usar. O Poseidon é gratuitamente, e profissionalmente.
Umbrello UML - Ferramenta de modelagem para Linux, com código-fonte aberto para edições.
JUDE ou Java and UML Developer Environment - Ferramenta grátis para UML e que possui funções que não são encontradas em outras ferramentas gratuitas, como por exemplo adição de diagramas de sequencia (diagrama que representa uma sequência de processos da forma mais simples e logica).
G - Bibliografia: Livros, artigos ou sites consultados
http://www.dimensaotech.com/2008/08/modelagem-de-software/
http://pt.wikipedia.org/wiki/Modelagem
Sommerville, Ian
Engenharia de Software/ Ian Sommerville: tradução André mauricio de andrade.
