08 - Modelagem

Revisão de 02h31min de 19 de abril de 2012 por Ivo (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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?



Diagrama de Casos de Uso

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.