Académique Documents
Professionnel Documents
Culture Documents
2009-1
Muitos autores parecem tratar metodologia e mtodo como sinnimos, porm seria mais adequado dizer que uma metodologia envolve princpios filosficos que guiam uma gama de mtodos que utilizam ferramentas e prticas diferenciadas para realizar algo. As metodologias de sistemas so utilizadas para estabelecer ordem, definir padres e usar tcnicas j provadas no desenvolvimento de sistemas, agilizando o processo e garantindo maior qualidade no desenvolvimento.
As principais metodologias:
As metodologias
As metodologias usam grficos para representar os elementos de sistemas. As descries e definies de cada elemento so relacionadas no diagrama.
As metodologias
Antes da dcada de 60 no havia utilizao de metodologias no desenvolvimento de software. Mas no decorrer da dcada de 60, sob a influncia do DoD (Departamento de Defesa dos EUA), passou-se a discutir como desenvolver softwares de modo eficiente, ou seja, utilizando um mtodo. Foi ento que surgiu o conceito de estruturao, que levou ao desenvolvimento de mtodos maioria dos projetos de software Na dcada de 70 a como:
utilizava Programao Estruturada (1962) um documento elaborado pelo analista de sistemas que continha uma descrio textual dos Projeto Estrutura (Dc. 70) requisitos do usurio. Este documento apresentava alguns problemas: monoltico, difcil compreenso, Anlise Estruturada.(Dc. 70)
Adiante, surgiram,
Engenharia de software Engenharia da informao (1981) Anlise Essencial (1984 ) Anlise OO (1998)
Programao Estruturada
1962 Artigos escritos por: E.W.Dijkstra e C.Bohm / G.Jacopini O conceito de programao estruturada afirmava que era possvel escrever qualquer programa utilizando seqncia, repetio e deciso. Com a utilizao destes construtores, a programao se tornaria mais fcil de entender e manter.
Projeto Estruturado
Dc. 70 Proposto por W.Stevens., G.Myers e L.Constantine A idia era que em um projeto estruturado organizassese as funes de um programa de forma hierrquica, de modo a controlar a comunicao entre os mdulos do sistema e a coeso, ou seja, as relaes internas entre mdulos. a abordagem ao processo de projeto, uma abordagem que resulta em mdulos de caixa-preta, pequenos e independentes, dispostos em uma hierarquia, que um modelo conceitual da rea de trabalho em si, organizado em uma forma top-down(de cima para baixo), com os detalhes isolados na parte de baixo. a estratgia para sistemas com capacidade de manuteno e sujeitos prova. O nvel aceitvel de qualidade seria um produto de
Anlise Estruturada
Dc. 70 Chris Gane e T.Sarson, Tom Demarco e Edward Yourdon (Duas forte correntes) Descreveram um mtodo estruturado de analisar sistemas, no qual, muitas das atividades so realizadas em paralelo, produzindo documentao nos vrios estgios do desenvolvimento, assim como, revises peridicas so realizadas para se detectar o mais cedo possvel problemas que podem influenciar no produto final. O termo Anlise Estruturada foi popularizado por DeMarco (1989) que inseriu smbolos grficos que possibilitava o analista utilizar a seguintes documentos/diagramas: fluxo de informao, dicionrio de dados, portugus estruturado, tabelas e rvore de deciso. Este conceito minimizou os problemas da fase
Anlise Estruturada
Enfoque nos dados e no processo. Apesar disso, enfatiza a perspectiva das funes, dando ateno especial aos processos. Utiliza tcnicas: complementares. grficas, simples, modulares e
O particionamento feito atravs da abordagem topdown (decomposio funcional). Faz-se uma anlise da funcionalidades que o sistema deve ter, afim de atender as necessidades do cliente.
Anlise Estruturada
Principais papis:
Usurio Conhece BEM o problema mas no sabe como resolve-lo computacionalmente ... Analista Traduz as necessidades do usurio em especificaes formais-tcnicas necessrias aos programadores ... e ferramentas que lhe garantam o rigor dos resultados e, alm disso, que seja capaz de comunicar com os clientes, ou com os utilizadores, e com os membros da equipe de modo a garantir a clareza de idias e o rigor da especificao. Programador Capazes de resolver o problema caso o compreendam ... Gerente de projeto Analista de Sistemas Programador Suporte
Anlise Estruturada
Ferramentas
DFD (Diagrama de Fluxo de Dados) DD (Dicionrio de Dados) Mini-Especificaes Portugus Estruturado rvore de Deciso Tabela de Deciso DED (Diagrama de Estruturas de Dados)
Engenharia de Software
Nos anos 70 Algumas mtricas da engenharia de software foram apresentadas por Bany Boehm e por Amdt Von Staa. Surgiu uma preocupao maior com a produtividade dos analistas e programadores, com a qualidade dos produtos e com os aspectos de segurana de programas e foi criado o ciclo de vida da engenharia de software, o qual veio para preencher certas lacunas deixadas pelo ciclo de vida da anlise estruturada.
Engenharia de Software
A engenharia de software fundamentada em sete fases: viabilidade, anlise, projeto, implementao, teste do sistema, teste do usurio e produo. Quando algum problema ocorre em uma das fases, retoma-se a fase imediatamente anterior para se rever os passos que levaram ao desenvolvimento daquela Na engenharia de software se busca uma maior onde ocorreu o problema. disciplina em termos de desenvolvimento de sistemas e caracterizada pela forte orientao por processos, pela determinao bem acentuada de cada fase, enfatiza a reutilizaro de cdigo de programa, prov revises e pontos de checagem bem determinados e define mtricas bem fundamentadas para o gerente realizar o controle da produtividade, a qualidade e o custo do produto final.
Engenharia da Informao
Na dcada de 80, firmou-se a disputa entre as metodologias focadas no processo e metodologias focadas nos dados. Surgiu a engenharia da informao, em 1981. Matt Flavin, James Martin e Clive Finkelstein Cujo foco est nos dados e no no processo. A Engenharia da Informao um conjunto de tcnicas e ferramentas capazes de ter o rigor das Engenharias Convencionais, aplicadas a Dados, Atividades, Tecnologia e Pessoas, para permitir Planejar, Analisar, Projetar, Construir e Manter sistemas de informao, em que o foco excessivo est na modelagem de dados. (Neto et al. 1988)
Engenharia da Informao
A EI uma metodologia destinada ao levantamento completo das necessidades de informao de empresas ou departamentos, normalmente suportadas por um banco de dados relacional. Concluiu-se que os dados envolvidos em cada processo eram extremamente estveis, se comparados com os processos e esta estabilidade era devido ao fato de que os dados s sofrem algum tipo de mudana no momento em que o negcio tambm muda - evolui.
Engenharia da Informao
O principio fundamental baseava-se no fato de que o dado existe e descrito, independentemente dos processos que podem utiliz-lo e como o centro desta metodologia o dado, a idia principal levantar as estruturas de dados que vo dar origem aos bancos de dados, provendo um fcil acesso aos mesmos. O suporte desta metodologia est baseado na tcnica de modelagem de dados e seus relacionamentos, desenvolvida inicialmente por Peter Chen em 1976, chegando modelagem da informao atravs de Flavin em 1981, e finalmente modelagem semntica dos dados atravs de Shlaer e Mellor em 1988. A EI no uma metodologia rgida, mas deve ser formal e computadorizada, no eliminando a necessidade de manter permanentemente a documentao atualizada, condio fundamenta para pleno conhecimento, anlise
Anlise Essencial
nos seguintes nveis de abstrao: nvel essencial e nvel de implementao. Segundo Mcmenamim e Palmer (1991) o sistema poderia ser entendido como uma caixa preta, que produz a resposta correta atravs de estmulos.
Anlise OO
A partir dos anos 70, mtodos orientados a Objetos comearam a surgir, vislumbrando a mudana de paradigma. A Programao Orientada a Objetos estava amadurecendo, bastava criar uma metodologia. Comeou a nascer a Anlise Orientada a Objetos.
Anlise OO
O principal ganho, foi a uniformidade dos modelos usados para anlise, projeto e implementao. A unificao se deu da perspectiva funcional e dos dados. A comunicao tornou-se mais fcil.
Anlise OO
Os usurios participam mais ativamente do processo de desenvolvimento, atravs da anlise e validao dos diagramas. Com a programao Orientada a Objetos tem-se maior produtividade, portabilidade, reutilizao de cdigo, menor custo e manuteno. (Melo, 2004)
Anlise OO
A anlise e projeto orientado a objetos foram derivados dos conceitos de programao orientada a objetos, abordando o desenvolvimento de sistemas de uma maneira inovadora. Segundo Rumbaugh (1996) orientao a objeto trata-se de uma nova maneira de pensar os problemas utilizando modelos organizados a partir de conceitos do mundo real, sendo o principal componente o objeto, que combina dados e comportamento. De acordo com Furlan (1998) os conceitos bsicos da orientao a objetos so: Objeto: trata-se de qualquer coisa do mundo real com limite e identidade bem definido, contendo atributos (dados) e operaes (comportamentos). Tambm denominado de instncia da classe; Classe: trata-se de um conjunto de objetos que compartilham os mesmos atributos, operaes e relaes; Encapsulamento: capacidade do objeto de ocultar seus dados, deixando visveis operaes que manipulam os dados. Tal recurso propicia segurana e diminuio do trabalho de manuteno; Polimorfismo: possibilidade que uma operao tem de atuar de modos diversos em objetos diferentes; Herana: capacidade de uma nova classe (subclasse) tomar atributos e operaes de uma classe j existente (superclasse), permitindo criar classes complexas sem repetir cdigo (reutilizao);
lguns Conceitos de Orientao a Objeto Para entendermos os conceitos e orientao a objetos, vamos comear com duas perguntas fceis: 1) Olhe para os automveis da figura que segue. Quais caractersticas similares voc identificaria nesses veculos?
lguns Conceitos de Orientao a Objeto Para entendermos os conceitos e orientao a objetos, vamos comear com duas perguntas fceis: 1) Olhe para os automveis da figura que segue. Quais caractersticas similares voc identificaria nesses veculos?
lguns Conceitos de Orientao a Objeto Podemos responder: modelo, cor, fabricantes, ano de fabricao, chassis, placa, tipo e combustvel, nmero de portas, ...
lguns Conceitos de Orientao a Objeto 2) Como se calcula um seguro total para cada um desses veculos?
lguns Conceitos de Orientao a Objeto Ah! Depende, certo? Para qual seguradora vamos realizar esse clculo? Existem fatores complementares que fornecem descontos no clculo como: segurado do sexo feminino ou o segurado tem garagem?
lguns Conceitos de Orientao a Objeto Essa abstrao feitas por representaes do mundo real, chamamos de Objetos. Identificamos os objetos por suas caractersticas e comportamentos. Na concepo da modelagem, um objeto qualquer coisa existente no mundo real, em formato concreto ou abstrato, ou seja, que existe fisicamente ou apenas
lguns Conceitos de Orientao a Objeto So exemplos de objetos: aluno, professor, mesa, cadeira, caneta, automvel, disciplina, estoque, avaliao, seguro, janela do Windows, boto, caixa de dilogo,... Isso significa que ao modelarmos um sistema baseado no paradigma da orientao a objetos, nada mais estamos fazendo do que modelando os conceitos
lguns Conceitos de Orientao a Objeto Os objetos possuem caractersticas propriedades que so seus atributos. ou
Esses atributos identificam o estado de um objeto. Um atributo uma abstrao do tipo de dados ou estado que o objeto da classe possuem.
Tipicamente, identificamos e diferenciamos objetos por seus atributos. Alm dos atributos, os objetos possui comportamentos que modificam seus estado ou prestam servios a outros objetos. Nesse, caso, falamos das suas operaes.
Exemplo: Se um funcionrio possui o atributo salrio, este deve ser atualizado por uma operao do tipo Reajustar Salrio. Essa operao implementamos, ou seja, fazemos sua representao em cdigo = mtodos.
Quando identificamos caractersticas e operaes similares em objetos distintos estamos realizando sua classificao, ou seja, identificando classes. Uma classe uma representao de um conjunto de objetos que compartilham a mesma estrutura de atributos, operaes e relacionando, dentro de um mesmo contexto.
Assim, uma classe especifica a estrutura de um objeto sem informar quais sero seus valores. Em contrapartida, um objeto corresponde ocorrncia(instncia) de uma classe num determinado momento. (Melo, 2004)
UML...
Surge a UML em 1996 como a melhor candidata para ser a linguagem unificadora de notaes; Em 1997 a UML aprovada como padro pela OMG; Desde ento tem tido grande aceitao;
Caractersticas da UML
uma linguagem visual; independente de linguagem de programao; independente de processo de desenvolvimento; No uma linguagem de programao; No uma metodologia.
Usos da UML
Basicamente, a UML permite que desenvolvedores visualizem os produtos de seu trabalho em diagramas padronizados. uma notao independente de processos.
UML - A origem...
A partir dos conceitos de Booch, OMT (Rumbaugh) e OOSE(Jacobson) fundindo-os numa nica linguagem de modelagem comum e largamente utilizada.
UML
O Object Management Group, ou OMG, uma organizao internacional que aprova padres abertos para aplicaes orientadas a objetos.
UML
A UML na sua verso 2.0 define treze tipos de diagramas, divididos em: diagramas estticos e dinmicos. Os diagramas estticos tem a funo de mostrar as caractersticas do sistema que no mudam com o tempo. J os dinmicos mostram como o sistema responde a requisies ou como evoluem durante o tempo. So eles:
UML
UML
A maior dificuldade em modelarmos um sistema no est nos diagramas que temos que desenhar, no cdigo que devemos criar ou nas bases de dados que devemos projetar. Na realizada est nos requisitos que devemos gerenciar. (Melo, 2004)
Diagramas da UML
A UML composta por diversos elementos bsicos que representam as diferentes partes de um sistema, como por exemplo: Classe, Interface, Nota, Pacote, Caso de Uso, Atividades, dentre outros. Alm disso, a UML permite a criao de elementos prprios atravs dos esteretipos, valores de etiqueta e restries, de acordo com Melo (2004). A UML na verso 2.0 composta por treze diagramas, divididos nas categorias estruturais ou estticos e dinmicos, conforme figura 2. Sendo que os estruturais tm o objetivo de mostrar as caractersticas que no mudam com o tempo; j os dinmicos mostram como o sistema evolui durante o tempo, conforme mencionado por Melo (2004).
Esclarecidas as dvidas e tenham os requisitos levantados, h necessidade de document-los. A documentao evita que informaes importantes no se percam. Para isso utilizaremos a Modelagem de Caso de uso.
O primeiro passo separar as funcionalidades do sistema. Exemplo: Suponhamos um sistema de vendas de um loja de roupas:
Registrar os itens vendidos em cada venda. Calcular o total de uma venda. Obter e apresentar as informaes sobre cada produto mediante a leitura de seu cdigo de barras. Reportar ao estoque os dados dos produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto.
Os casos de uso representam funes completas do produto. Um caso de uso realiza um aspecto maior da funcionalidade do produto: deve gerar um ou mais benefcios para o cliente ou os usurios. O conjunto dos casos de uso cobre toda a funcionalidade do produto, e cada caso de uso representa uma fatia independente de funcionalidade.
Devolver Produtos
Efetuar Saque
Os papis dos usurios de um produto so modelados atravs dos atores. Em geral, atores podem ser:
Papis que pessoas representam nos casos de uso Dispositivos de hardware mecnicos ou eltricos Outros sistemas computacionais Tempo (representar atividades peridicas)
Exemplos de ator:
Os atores modelam os papis e no as pessoas dos usurios; por exemplo, o mesmo usurio fsico pode agir como Gerente, Gestor de Estoque ou Gestor de Compras. Pode-se tambm definir atores no humanos, para modelar outros sistemas que devam interagir com o produto em questo: por exemplo, o Sistema Financeiro.
Ator
Generalizao
Caso exista grande nmero de atores, devese procurar agrup-los em atores genricos, que representem caractersticas comuns a vrios grupos de usurios de comportamento semelhante em relao ao produto. Atores genricos e especficos so ligados por relacionamentos de herana.
Entre Ator
Relacionamentos entre atores e casos de uso Os relacionamentos indicam a existncia de comunicao entre atores e casos de uso. Um caso de uso pode estar associado a mais de um ator, quando a sua execuo requer a participao de diferentes atores.
Diagrama de Contexto
Um caso de uso descreve a seqncia de aes que representam um cenrio principal (perfeito) e cenrios alternativos, com o objetivo de demostrar o comportamento do sistema (ou parte dele), atravs de iteraes com atores.
Outros relacionamentos:
Relacionamentos entre casos de uso Notaes especiais so utilizadas para facilitar a descrio de funcionalidades mais complexas. Entre estas notaes, destacamse os casos de usos secundrios, que simplificam o comportamento dos casos de uso primrios atravs dos mecanismos de extenso e incluso. Em linhas gerais,podemos dizer que, casos de uso primrios so aqueles que so invocados por iniciativa direta de um ator; casos de uso secundrios so invocados em um passo de outro caso de uso. Os
Outros relacionamentos:
Um relacionamento de extenso entre casos de uso indica que um deles ter procedimentos acrescidos, em um ponto de extenso, de outro caso de uso. Ex.:
Outros relacionamentos:
Extenso (Extend) Exemplo:
Outros relacionamentos:
Um relacionamento de incluso entre casos de uso indica que um deles ter seu procedimento copiado num local especfico no outro caso de uso. So usados quando aes servem para mais de um caso de uso. Ex.:
Outros relacionamentos:
Incluso (Include)
Exemplo.:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
<<extend>>
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios:
Exerccios: