modelagem de software.pptx

38
 MODELAGEM DE SOFTWARE

Upload: tiago-ferreira

Post on 05-Nov-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

UML

Modelagem de Software

Orientador: Fbio MamorAlunos: Elias J. Ferreira, Messias J. Ferreira, Izael C. Jesus e Tiago J. FerreiraINSTITUTO FEDERAL DE RONDNIACampus Vilhena Curso Tcnico em Informtica Subsequente - 2010

Desenvolvimento de SistemasModelos so essenciais em qualquer atividade de engenharia. O software, por ser um artefato invisvel e conceitual, mais do que qualquer outro artefato, precisa ser construdo com base em modelos.

Viso Geral

Conforme a Wikipdia:... a modelagem de software a atividade de construir modelos que expliquem as caractersticas ou o comportamento de umsoftwareou de umsistema de software...Modelos so usados para identificar as caractersticas e funcionalidades que um software e no planejamento de sua construo.A modelagem se faz por meio de desenhos grficos que simbolizam os componentes de um software e seus inter-relacionamentos.

O que modelagem de Software

Modelagem de Software a atividade de construir modelos que expliquem as caractersticas ou o comportamento de um software ou de um sistema de software.Freqentemente a modelagem de software usa algum tipo de notao grfica e so apoiados pelo uso de Ferramentas CASE.A modelagem de software normalmente utiliza a construo de modelos grficos.

Modelos de software so construdos para uma visualizao do sistema a ser construdo, permitindo uma melhor compreenso e entendimento. Eles podem tambm ser utilizados para a especificao e para a documentao do software. O modelo quando utilizado para especificao possibilita uma descrio precisa do que ser desenvolvido pelos programadores. A documentao feita atravs de modelos deve refletir o que foi desenvolvido e ser a base para as atividades de manuteno.

Importncia da Modelagem

Abstrao: O melhor entendimento e maior compreenso do sistema a ser desenvolvido;Visualizao: Visualizar o software antecipadamente antes mesmo da sua implementao;Especificao: Descreve precisamente o que deve ser feito;Construo: Os modelos proporcionam um guia para a construo do sistema. Gerao automtica com ferramentas baseadas em modelos; (algumas ferramentas geram os cdigos a partir do modelo desenhado);Documentao: Os modelo documentam as decises tomadas e auxiliam na comunicao entre equipes nas diferentes fases do ciclo de vida do software.

Objetivos da Modelagem

De acordo com Booch, Rumbaugh e Jacobsonm: A escolha dos modelos a serem criados tem profunda influncia sobre a maneira como um determinado problema atacado e como uma soluo definida;Todo modelo pode ser expresso em diferentes nveis de preciso;Os melhores modelos esto conectados realidade;Nenhum modelo nico suficiente. Todo sistema no trivial melhor abordado atravs de um conjunto pequeno de modelos proximamente independentes.

Princpios da Modelagem

No passado, os desenvolvedores sofriam muito com a falta de ferramentas de modelagem de uso comum. As diferentes notaes e linguagens existentes foram desenvolvidas visando software com caractersticas especificas. Por exemplo, desenvolvedores de software de controle e tempo real utilizavam notaes como Statecharts e Redes de Petri; desenvolvedores de sistemas de banco de dados utilizavam Diagramas Entidade-Relacionamento (DER); e desenvolvedores de sistemas de informao utilizavam Diagramas de Fluxos de Dados (DFD), como parte de metodologias estruturadas.Linguagens de Modelagens

No final da dcada de 90, o OMG (Objetc Management Group) incentivou a criao de uma linguagem padro para mtodos orientados a objetos. A UML que unificou diferentes notaes j existentes foi aprovada para ser um padro da indstria de software.

Linguagens de Modelagens

Na programao procedural a modelagem de software e feita atravs de fluxogramas onde o objetivo consiste na identificao de quais procedimentos so necessrios para resolver um determinado problema e, assim, criar um conjunto de procedimentos devidamente ordenados para a sua soluo.O modelo mais usado neste mtodo o DFD Diagrama de Fluxo de Dados.Modelagem Estruturada

DFD Diagrama de Fluxo de Dados

Odiagrama de fluxos de dados(DFD) uma ferramenta para a modelagem de sistemas. Ela fornece apenas uma viso do sistema, a viso estruturada das funes, ou seja, o fluxo dos dados.D.F.D representa:Imagem do sistema, projeto ou produto;Modelo de organizao;Apresentao em etapas com aumento gradativo de detalhes;Utilizao dos princpios da modularizao e da hierarquizao.

Modelo base do Diagrama:

DFD Diagrama de Fluxo de Dados

So categorias lgicas de objetos ou pessoas que representam Origem ou destino de dados, e, que acionam um sistema e/ou recebem informaes;Podem ser pessoas, sistemas ou unidades departamentais;possuem as seguintes regras:x- letra para identificao;nome- nome da entidade : Ex: Clientes, Sistema Acesso, Banco, etc.Como descobrir entidades externas ?No mnimo temos duas : quem usa o sistema (cliente) e quem opera o sistema (departamento A)

DFD Entidades Externas

So o Meio por onde os dados e as informaes trafegam;Regras:nome: nome do dado. Ex: Pedido, Nota Fiscal, Produto, Item,arg: argumento de acesso a um depsito . Ex: Cgc, CPF, CEP, cdigo , matricula, Nome, etc... aconselhvel que todo fluxo de dados tenha uma descrio. Exemplo: AEntidade Externavendedor acessa oprocessoCadastrar_Pedido. Neste caso podemos ter um fluxo de dados com a descrio "Dados do pedido".DFD Fluxo de Dados

Transformam fluxos de dados em uma atividade;so mdulos do sistema;Regras:n: nmero de referncia do processo. Ex: 0 , 1,2,3,, 1.1, 1.2funo: descreve o processo no verbo infinitivo. Ex: Cadastrar Cliente, Gerar Arquivo, Imprimir Relatrio, etc.loc: local fsico onde se desenvolve o processo. Ex: Almoxarifado; Contabilidade, etc.

DFD - Processos

So locais de armazenamento de dados. So arquivos fsicos tabelas de umbanco de dadosem que se armazenam osdadosgerados a partir de umprocesso.Regras:Dn: nmero do depsito. Ex: 0,1,2,3, D1/1, D1/2nome: nome do depsito. Ex: Clientes, Produtos, Contas, etc. Para tornar mais fcil identificar DD leve em conta dois tipos de arquivos : Cadastral e de Movimento ( Movimento de Itens, etc.)

DFD Depsito de Dados

DFD - Viso Geral

Locadora de VdeoA viso de um usurio diferente da viso de um engenheiro. Para que a linguagem de comunicao seja uniformizada, precisamos utilizar a mesma base de informao, os mesmos conceitos.A modelagem orientada a objetos elimina a necessidade de aprender uma nova linguagem, pois a mesma baseada em conceitos que j conhecemos os objetos e seus relacionamentos. Isto ocorre porque, na modelagem orientada a objetos, os modelos da realidade so desenvolvidos tendo como fonte de inspirao os objetos.

Modelagem Orientada a Objetos

O principal bloco de construo de todos os sistemas de software o objeto ou a classe.Um objeto alguma coisa geralmente estruturada a partir do vocabulrio do espao do problema ou do espao da soluo.Uma classe a descrio de um conjunto de objetos comuns.Todos os objetos tm uma identidade: podem receber nomes ouser diferenciados dos demais objetos de alguma maneira.Todos os objetos possuem estado: costuma haver dados a eles associados.Todos os objetos possuem comportamento: pode serfeito algo com o objetoou ele poder fazer algo com outros objetos.

Princpios da MOO

Reuso de Componentes do Programa;Desenvolvimento mais rpido e com melhor qualidade;Facilidade de manuteno, adaptao e ampliao;

A principal representante da Modelagem Orientada a Objetos a UML.

Vantagens da MOO

O UML a linguagem de modelagem de software definitiva. Esse padro emergiu nos anos 90 quando os lideres da modelagem de software se juntaram para tirar as melhores idias de seus processos de modelagem e criar uma linguagem padro para modelagem de software. O padro UML dirigido pela Object Management Group, ou OMG.UML Linguagem de Modelagem Unificada

Abrange todas as vises necessrias ao desenvolvimento e implantao de sistemas, desde sistemas de informao corporativos a serem distribudos a aplicaes baseadas em Web at sistemas complexos embutidos de tempo real.UML Caractersticas

uma linguagem para visualizao: por trs de cada smbolo empregado existem a uma semntica bem definida. uma linguagem para especificao: permite construir modelos precisos, sem ambigidades e completos. uma linguagem para construo: possvel mapear os modelos da UML em linguagens de programao tais como Java, C++, C# ou at tabelas de bancos de dados relacionais. uma linguagem para documentao: documenta a arquitetura do sistema e todos os seus detalhes; proporciona uma linguagem para a expresso de requisitos e par a realizao de testes; oferece uma linguagem para a modelagem de atividades de planejamento do projeto e de gerenciamento de verses.UML Caractersticas

Diagramas da UMLDiagramas Estruturais: ->Diagrama de Classes ->Diagrama de Objetos ->Diagramas de componentes ->Diagrama de instalao ->Diagrama de pacotes->Diagrama de estruturas

Diagramas da UMLDiagramas comportamentais->Diagrama de caso de uso->Diagrama de transio de estado->Diagrama de atividadeDiagramas de Interao->Diagrama de sequncia->Diagrama de interatividade->Diagrama de comunicao->Diagrama de tempo

Casos de uso Use Case Um caso de uso representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema.

Um conjunto de cenrios, onde cada cenrio uma sequencia de passos a qual descreve uma interao entre um usurio (atores) e o sistema.

Diagrama de casos de usoCorresponde a uma viso externa de alto nvel do sistema. Representa graficamente os atores, os casos de uso e o relacionamento entre esses elementos.

Diagrama de ClasseDiagramas de Classe mostram as diferentes classes que fazem um sistema e como elas se relacionam. Os Diagramas de Classe so chamados diagramas estticos porque mostram as classes, com seus mtodos e atributos bem como os relacionamentos estticos entre elas: quais classes conhecem ou quais classes so parte de outras classes, mas no mostram a troca de mensagens entre elas.

DIAGRAMA DE CLASSE

Associao : So relacionamentos estruturais entre instncias e especificam que objetos de uma classe esto ligados a objetos de outras classes.

DIAGRAMA DE CLASSE

Associao : So relacionamentos estruturais entre instncias e especificam que objetos de uma classe esto ligados a objetos de outras classes. Dependncia - So relacionamentos de utilizao no qual uma mudana na especificao de um elemento pode alterar a especificao do elemento dependente. A dependncia entre classes indica que os objetos de uma classe usam servios dos objetos de outra classe. Generalizao (herana : simples ou composta) - Relacionamento entre um elemento mais geral e um mais especfico. Onde o elemento mais especfico herda as propriedades e mtodos do elemento mais geral. Agregao Regular - tipo de associao ( parte de , todo/parte) onde o objeto parte um atributo do todo ; onde os objetos partes somente so criados se o todo ao qual esto agregados seja criado. Pedidos composto por itens de pedidos.Composio - Relacionamento entre um elemento ( o todo) e outros elementos (as partes) onde as parte s podem pertencer ao todo e so criadas e destrudas com ele.

Diagrama de ClasseAtributosNa UML, atributos so mostrados com pelo menos seu nome, e podem tambm mostrar seu tipo, valor inicial e outras propriedades. Atributos podem tambm ser exibidos com sua visibilidade: + indica atributos pblicos# indica atributos protegidos- indica atributos privadosOperaesOperaes (mtodos) tambm so exibidos com pelo menos seu nome, e podem tambm mostrar seus parmetros e valores de retorno. Operaes podem, como os Atributos, mostras sua visibilidade: + indica operaes pblicas# indica operaes protegidas- indica operaes privadas

Diagrama de Classe

Diagrama de interatividadeDiagramas de interatividade so variaes de Diagrama de atividade". Nele, sequncias formam um fluxo de atividades, mostrando como elas trabalham em uma sequncia de eventos.Diagrama de Interatividade pode ser visto como um Diagrama de Atividade em que as atividades so substitudas por pequenos Diagramas de Sequncia ou como Diagrama de Sequncia que usam, de forma complementar, a notao do Diagrama de Atividades para mostrar controle de fluxo.

Diagrama de InteratividadeDiagramas de Atividade so similares as Diagramas de Fluxo de procedimentos, com a diferena de que todas as Atividades so claramente anexas aos Objetos.Diagramas de Atividade so sempre associados a um Classe, uma Operao ou um Caso de Uso.

Diagrama de interatividade

Concluso importante sabermos que a modelagem de software auxilia o analista de sistemas e os programadores a realizarem um bom trabalho de desenvolvimento de software. Auxilia na compreenso da informao, como o sistema ir se comportar e como funcionam os seus processos. Possui a vantagem de ser um guia de reviso, consistncia e preciso da especificao. Permitem que erros sejam visualizados antes da fase de codificao do software e reduz os riscos de implementao do mesmo.

BibliografiaBooch, G. et al. UML Users Guide, 1999;Engenharia de Software, 2007 Jair C Leite;http://pt.wikipedia.org/wiki/Modelagemhttp://pt.wikipedia.org/wiki/Ferramentas_de_Modelagemhttp://www.klebermota.eti.br/2011/09/23/introducao-a-modelagem-de-software/http://engenhariadesoftware.blogspot.com.br/2007/06/modelos-de-software.htmlhttp://www.devmedia.com.br/modelagem-de-software-com-uml-easy-java-magazine-4/20140http://www.dimensaotech.com/2008/08/modelagem-de-software/http://www.dimap.ufrn.br/~jair/ES/slides/Modelos.pdfhttp://www.ppgia.pucpr.br/~alcides/Teaching/ProgramasAprendizagem/ModelagemOrientadaObjetos/Introducao.htmlhttp://pt.wikipedia.org/wiki/Diagrama_de_fluxo_de_dadoshttp://pt.wikipedia.org/wiki/Diagrama_entidade_relacionamentohttp://www.guilhermepontes.eti.br/sgbd/revisao.pdfhttp://www.sifap.com.br/download/aps/1803SLIDES_Cap_3_Modelagem_Orientada_a_Objetos_e_UML_1.pdfhttp://www.macoratti.net/vb_dfd1.htmInstituto Federal da Bahia - Alunos: Fabiano Souza e Luana Menezes