Podem ser construdos em vrios nveis, uma vez que existe a possibilidade de especificar um processo atravs de um diagrama de maior detalhe. O diagrama de fluxo de dados de primeiro nvel nalgumas metodologias designado por diagrama de contexto. Tipos de notaes propostas pelas metodologias estruturadas cont : Diagrama de transio de estados state transition diagram : uma representao grfica dos estados em que um sistema ou uma entidade se pode encontrar ao longo da sua existncia, e dos eventos que desencadeiam as transies entre estados.
Diagrama do ciclo de vida de entidade entity life cycle : consiste numa verso adaptada de um diagrama de estados, em que o objetivo descrever a evoluo de uma entidade ao longo da sua existncia, designadamente as operaes de criao, alteraes significativas e eliminao do sistema. Diagramas entidade associao entity relarionship diagram : So especificaes grficas que representam as relaes estticas de um sistema, designadamente as entidades, com os seus atributos, e a forma como estas se encontram associadas.
Dicionrios de dados: so repositrios de definies de todos os elementos e conceitos utilizados e manipulados pela organizao e respetivos sistemas de informao e que incluem entre outros os dados, ficheiros, processos e entidades. Tipos de notaes propostas pelas metodologias estruturadas cont : Matrizes entidade-processo: so matrizes que demonstram as relaes existentes entre as entidades e os processos, isto , permitem identificar que entidades intervm em que processos.
Normalizao: consiste num processo de construo do esquema de uma base de dados a partir da lista de entidades e dos respetivos atributos, aplicando um conjunto de regras designadas por formas normais do modelo relacional, cuja preocupao eliminar redundncias na estrutura de dados e garantir a integridade da informao.
Fluxogramas: diagramas que expressam os passos de execuo de algoritmos e processamentos realizados no sistema. O elevado nmero de metodologias disponveis no mercado fez com que a simbologia utilizada variasse normalmente conforme a. Por exemplo, na figura seguinte pode-se observar como o mesmo conceito processo representado por smbolos grficos distintos, conforme as metodologias de Yourdon e SSADM. A figura seguinte representa o enunciado da gesto de compras atravs de um diagrama de fluxo de dados notao de Yourdon : os processos representados por ovais , as entidades intervenientes retngulos , os repositrios de dados retngulos abertos lateralmente , e os fluxos de informao setas.
Poderamos representar alguns processos com um nvel de detalhe superior, e para isso j dispomos de informao no enunciado. Por exemplo, no caso do processo registo da requisio 1. Outro tipo de diagrama muito utilizado o entidade-associao, que apresenta a viso esttica do sistema, identificando as entidades sobre as quais interessa guardar informao, bem como o respetivo relacionamento.
Qualquer relao expressa num diagrama entidade associao pode ser sempre analisada na perspetiva de ambas as entidades intervenientes, e implica a sua caracterizao segundo dois conceitos adicionais:. Na relao entre requisies e encomendas, a cardinalidade desta relao, representada pelos smbolos mais prximos de cada retngulo, l-se uma requisio pode ser satisfeita por vrias encomendas; a modularidade pode ser lida podemos ter uma requisio que no d origem a nenhuma encomenda o caso em que o diretor no aprova o pedido.
Algumas notaes mais conhecidas so: Redes de Petri: diagramas particularmente adequados para a representao de sistemas com problemas de concorrncia e com restries a nvel de sincronizao; utiliza conceitos como transies, funes de input e de output.
No entanto, estes diagramas no garantem nem demonstram a respetiva correo, face s funcionalidades identificadas. No sentido de resolver este problema, foram propostas notaes formais, que se caracterizam por adotar conceitos muito prximos da matemtica, com o rigor e formalismo correspondentes, sendo deste modo possvel demonstrar a correo da especificao. Linguagem Z: linguagem de especificao formal, com simbologia e conceitos matemticos e lgica de primeira ordem conjuntos, tipos de dados, constantes, definies de estado, estado inicial, operaes.
Das muitas metodologias propostas para o desenvolvimento de software, apenas se vo referir as metodologias estruturadas. SSADM A modelao de um sistema segundo trs perspetivas complementares: 1 a sua funcionalidade DFD 2 a sua estrutura - obtida atravs de diagramas de entidade associao DEA 3 a sua evoluo ao longo do tempo representada pelos diagramas de ciclos de vida de entidades. Durante muito tempo e ainda hoje foi considerada a metodologia de referncia e ensinada em diversos cursos universitrios.
No Reino Unido, foi durante muito tempo obrigatria a sua utilizao em todos os projetos relacionados com o desenvolvimento de sistemas de informao a nvel governamental. SSADM uma metodologia concebida sobretudo para a anlise e desenho do sistema, no contemplando as tarefas relacionadas com a implementao, testes e instalao do mesmo.
Integra diversas notaes orientadas para a modelao quer dos processos quer dos dados. A sequncia de atividades envolve: A realizao de um estudo de viabilidade, de modo a avaliar at que ponto o sistema tem custos aceitveis. A anlise de requisitos do negcio. A especificao dos mesmos requisitos. A especificao lgica do sistema, de modo a determinar a forma como os requisitos identificados so implementados.
O desenho fsico do sistema. Information Systems. Yourdon Systems Method proposta por Yourdon, revista em ; semelhante STRADIS pois recorre muito decomposio funcional, mas tambm atribui uma importncia significativa estrutura dos dados. Engenharia de Informao proposta por James Martin em integra muitos dos conceitos, melhores prticas, modelos e tcnicas das metodologias estruturadas e do desenvolvimento de software dos anos numa abordagem coerente a todas as atividades do processo de.
Alguns problemas das tcnicas e metodologias estruturadas descritas: No conseguem lidar adequadamente com o problema da complexidade e do tamanho crescente dos sistemas. No resolvem o problema da crescente atividade de manuteno do software. Verifica-se com frequncia a m compreenso dos requisitos do utilizador, por parte dos intervenientes tcnicos. Permanece a dificuldade de lidar com alteraes aos requisitos.
No fcil a integrao e reutilizao de mdulos e componentes do sistema. Os erros de conceo so descobertos tardiamente. A qualidade do software baixa e o seu desempenho inadequado. No fcil identificar quem fez o qu, quando e porqu.
Tem uma preocupao estratgica com a definio dos sistemas de informao, o que expresso nos diferentes estgios de evoluo do processo designadamente: 1 planeamento estratgico dos sistemas de informao, 2 anlise de reas do negcio, 3 desenho de sistemas, e 4 implementao. A aplicao de diversas das melhores prticas atuais de engenharia de software veio solucionar algumas destas questes e esteve na origem do conceito da orientao por objetos.
A orientao por objetos, se bem que em termos prticos tenha sido primeiramente concretizada ao nvel das linguagens de programao, no tem impacto apenas a esse nvel. O conceito da orientao por objetos baseia-se numa nova forma de analisar o mundo, pois reproduz a forma como o ser humano se apercebe e expressa a realidade que o rodeia.
O ser humano classifica e subdivide o mundo em diferentes objetos, com base nas diferenas e semelhanas existentes ao nvel das caractersticas e comportamento dos mesmos objetos. As tcnicas orientadas por objetos identificam e definem cada objeto de modo a reutiliz-lo, da mesma forma que o ser humano acumula conhecimento com base no previamente adquirido. Nas abordagens orientadas por objetos, a perspetiva de modelao dos sistemas muda, uma vez que o mesmo conceito base utilizado ao longo de todas as fases do processo, promovendo a reutilizao e o encapsulamento da informao, e facilitando a manuteno.
As metodologias orientadas por objetos so abordagens mais naturais do que as baseadas em processos e dados, e os conceitos bsicos so simples e reproduzem o mundo real. A definio exata de orientao por objetos no nica. Para Coad e Yourdon , o paradigma da orientao por objetos resulta da convergncia de quatro outros conceitos: objetos,. As razes da engenharia de software orientada por objetos podem ser encontradas num trabalho desenvolvido na linguagem Simula em finais dos anos , que estava vocacionada para a implementao de sistemas de simulao.
Desde o incio dos anos que trs ideias independentes ganharam importncia, com o objetivo de facilitar todo o processo de.
Estes trs conceitos esto na base da primeira linguagem classificada como verdadeiramente suportando este paradigma, a linguagem Smalltalk Goldberg, , criada nos laboratrios PARC da Xerox. No entanto, e at meados da dcada de , a maioria das iniciativas relacionadas com o paradigma da orientao por objetos situava-se ao nvel da programao. Coad e Yourdon identificaram as motivaes principais para a realizao de atividades de anlise segundo o paradigma da orientao por objetos: Poder tratar domnios de problemas mais complexos.
Melhorar a interao entre o analista e o especialista do problema. Aumentar a consistncia interna dos resultados da anlise. Representar explicitamente aspetos comuns a diversos conceitos.
Construir especificaes capazes de resistir mudana. Reutilizar resultados da anlise. Conceber uma representao consistente para a anlise e desenho. Nas abordagens orientadas por objetos distinguem-se essencialmente dois grandes grupos de conceitos: 1 os princpios, que constituem um conjunto de ideias base de todo o paradigma, e alguns deles so mesmo os requisitos necessrios para um sistema ser considerado orientado por objetos; e 2 as restantes noes base, comuns a todos os sistemas orientados por objetos.
Encapsulamento da informao o processo de esconder todos os detalhes de um objeto que no contribuem para as suas caractersticas essenciais, nem para a disponibilizao de funcionalidades para o seu exterior. Herana Representa a definio de relaes entre classes atravs da qual uma subclasse partilha, acrescenta ou redefine operaes e atributos a partir de uma ou mais superclasses; uma subclasse uma especializao de uma ou mais superclasses.
Pode ser encarado como a localizao de funcionalidades numa nica abstrao autocontida, que esconde a respetiva implementao e decises de desenho, atravs da disponibilizao de uma interface pblica. O conjunto de operaes que so acessveis do exterior constitui a interface do objeto. Esta caracterstica permite a criao de objetos estveis e reutilizveis, reproduzindo o mundo real de forma correta.
Este termo aparece associado s noes de generalizao e de. Polimorfismo a capacidade de esconder vrias implementaes distintas atravs de uma nica interface.
Outra forma de definir esta propriedade dizer que ela representa a capacidade de objetos diferentes responderem de forma diferente mesma mensagem. Tal concretizado pelo facto de uma operao aceitar argumentos de tipos diferentes ou mesmo desconhecidos.
Abstrao a representao concisa duma ideia ou objeto mais complexa, incidindo sobre as caractersticas essenciais do objeto. As abordagens tradicionais concretizam esta ideia pelas abstraes funcionais processos , enquanto os mtodos orientados por objetos utilizam objetos. Estes quatro princpios so considerados necessrios e suficientes para considerar uma linguagem como sendo orientada por objetos.
Outros Conceitos Chave do Paradigma da Orientao por Objetos Existem outros conceitos que so fundamentais para a compreenso do paradigma da orientao por objetos, o conceito de objeto, O conceito de classe, para alm de outros que esto diretamente relacionados com estes. Para alm destes princpios, existem outras noes importantes: Modularidade - decomposio lgica e fsica de conceitos em unidades mais elementares, de forma a facilitar a aplicao dos princpios da engenharia de software.
Concorrncia - propriedade que distingue um objeto ativo de um outro no ativo. Objeto: praticamente cada metodologia e respetivo autor apresentam definies prprias: Firesmith : um objeto pode ser definido como uma abstrao de software que modela todos os aspetos relevantes de uma nica entidade conceptual ou tangvel, que pertence ao domnio da soluo. Object Management Group: um objeto uma coisa, criada como uma instncia de um tipo de objetos.
Cada objeto tem uma identidade nica distinta e independente de quaisquer das suas caractersticas. Cada objeto tem uma ou mais operaes. Berard : objetos so as entidades reais ou conceptuais que podem ser encontradas no mundo que nos rodeia.
Booch : algo ao qual se pode fazer qualquer coisa; tem estado, comportamento e identidade. Objeto: praticamente cada metodologia e respetivo autor apresentam definies prprias cont : Coad e Yourdon : uma abstrao de qualquer coisa no domnio de um problema, refletindo a capacidade do sistema de manter informao sobre ele e de interagir com ele; um encapsulamento de valores de atributos e dos seus servios exclusivos.
Rumbaugh : um objeto um conceito, abstrao ou coisa com fronteiras bem definidas e com significado para o problema em questo; promove a reutilizao e funciona como uma base concreta para a respetiva implementao em software. Shlaer e Mellor : um objeto uma abstrao de um conjunto de coisas do mundo real de tal forma que todos os elementos do conjunto instncias tm as mesmas caractersticas e respeitam as mesmas regras e polticas.
Resumidamente, e de forma a integrar as diversas definies, os objetos representam entidades fsicas, Conceptuais, ou apenas necessrias para a representao em computador por exemplo, estruturas de dados ;.
Outros Conceitos Chave do Paradigma da Orientao por Objetos Atributos So propriedades nomeadas de um objeto que indicam os valores possveis que esse atributo pode assumir ao longo do tempo; O estado de um objeto definido pelo valor dos seus atributos.
Comportamento de um objeto o conjunto de aes que um objeto pode realizar de forma independente. Normalmente existem dois termos para referir os mecanismos utilizados para implementar este conceito: ao nvel da anlise o termo mais utilizado o de operao ou servio, ao nvel da programao o termo mtodo refere-se implementao de uma operao.
A maioria das operaes realizadas responde a perguntas ou alteram o estado do objeto. Classe um descrio de grupos de objetos com propriedades atributos , comportamento operaes , e relaes comuns. Os atributos permitem, em geral, identificar a classe, definir as caractersticas especiais da classe, definir o estado da classe, reter alguma informao sobre a classe, e identificar o comportamento do objeto.
Pode ser vista como um template para um determinado objeto e todos os que lhe forem semelhantes, ou uma fbrica, que produz tantos objetos idnticos quanto necessrio. Para especificar detalhadamente um atributo deve-se identificar o domnio dos seus valores, as unidades de medida, o valor por omisso, o valor inicial, as condies de leitura e escrita, e eventuais condies relacionadas com outros atributos do objeto ou classe.
Dado um enunciado de um problema, a anlise orientada por objetos procura identificar os objetos concretos e as respetivas classes, a partir de todos os substantivos que dele sejam extrados.
O seu objetivo ltimo ser sempre identificar: Um conjunto de classes que representem totalmente o domnio do problema. Os atributos de cada classe. A interface e os servios de cada classe. As diversas relaes entre classes. Objetos concretos que seja necessrio particularizar. Por exemplo, Coad indica um conjunto de questes a colocar, de modo a averiguar se um substantivo do enunciado constitui um objeto ou uma classe: A informao sobre o objeto tem que ser retida de modo a que o sistema funcione adequadamente?
O objeto realiza operaes que alteram atributos de outros objetos? O objeto tem mais do que um atributo? Outros objetos aparentemente idnticos disponibilizam operaes idnticas?
O objeto produz ou consome informao essencial para o funcionamento do sistema? Noutras situaes, so indicadas checklists de circunstncias em que um potencial objeto no o deve ser, por exemplo: Objetos ou classes com apenas um atributo. Classes com apenas um objeto. Objetos ou classes sem servios aplicveis, ou que no produzem um resultado visvel para o problema em anlise. Objetos ou classes que no sejam relevantes para a soluo do problema. Objetos ou classes que de facto correspondem a atributos de outros objetos.
No enunciado da gesto de compras, nota-se que a pesquisa passa a incidir sobre outras palavras substantivos em vez de verbos , devido mudana de paradigma, e aos conceitos base fundamentais que lhes esto subjacentes objetos em vez de processos. Caso da gesto de compras de materiais de uma empresa resoluo : Sempre que algum funcionrio tem necessidade de comprar bens para as suas atividades, este preenche uma requisio onde identifica os bens em questo com base na consulta de uma lista anteriormente disponibilizada a todos os funcionrios , a qual envia para o seu diretor.
As operaes realizadas por objetos podem ser identificadas pela pesquisa no enunciado de verbos associados a cada objeto. Essas operaes podem ser agrupadas nas seguintes categorias: Modificador - operao que altera o estado de um objeto.
Seletor - operao que acede ao estado de um objeto. Iterador - operao que permite que todas as partes de um objeto sejam acedidas segundo uma ordem bem definida. Destrutor - liberta o estado de um objeto ou destri-o. Os objetos funcionam como caixas negras - escondem os detalhes da sua implementao aos objetos que a utilizam. O acesso aos objetos efetuado atravs da interface por eles disponibilizada, composta por operaes e por atributos. Os objetos comunicam entre si por mensagens, que so a invocao de um mtodo com o mesmo nome, no contexto do objeto recetor da mensagem.
A figura seguinte apresenta o modelo de comunicao entre objetos por mensagens. Na prtica, este modelo a invocao de uma funo, tal como nas abordagens tradicionais. A diferena que esta invocao realizada no contexto de um objeto, o que significa que tem em conta o seu estado, traduzido nos valores que os seus atributos assumem. Por isso, o mesmo mtodo executado com os mesmos parmetros sobre objetos diferentes, mas ambos instncias da mesma classe, pode produzir resultados diferentes. A interface o conjunto de operaes e atributos disponibilizados por uma classe e pode dividir-se em trs partes consoante a visibilidade : pblica - visvel para todos os objetos do sistema, protegida - s visvel pelas suas subclasses, e privada - faz parte da interface mas no visvel para nenhuma outra classe do sistema, s est disponvel na implementao da prpria classe.
Entre as diversas classes de um sistema podem ser estabelecidas diferentes tipos de relaes: Associao: representam relaes estruturais entre objetos de classes diferentes, e cuja informao tem que ser preservada durante algum tempo; expressa pelo verbo ter. Entre as diversas classes de um sistema podem ser estabelecidas diferentes tipos de relaes cont : Dependncia: relao em que uma mudana de estado num objeto ocorrida pela receo de uma mensagem pode implicar o envio de uma mensagem a outro objeto, e Exemplo: um automvel para andar precisa de se abastecer na bomba de gasolina.
Agregao: a conhecida relao entre o todo e as partes whole-part ; um exemplo possvel a relao uma empresa tem empregados. Composio: forma de agregao em que a relao de pertena forte e com tempos coincidentes; o objeto agregador responsvel pela criao e destruio do objeto que entra na sua composio; uma concretizao desta relao dizer que o corpo humano tem uma perna. Algumas abordagens procuram definir conceitos que permitem agrupar classes: assunto Coad e Yourdon , pacote UML.
Independentemente do nome dos diagramas utilizados por cada metodologia, cada uma apresenta notaes para modelar a viso esttica do sistema: a estrutura dos objetos, as relaes de agregao e de especializao, e a comunicao entre objetos ;. Ao longo das dcadas de e de surgiram inmeras propostas de metodologias, sobretudo concentradas nas tarefas de anlise e desenho, utilizando os conceitos relacionados com o paradigma da orientao por objetos.
Mtodo de Booch proposto por Grady Booch em Baseia-se na ideia da repetio de atividades de um processo de desenvolvimento de modo a refinar o modelo em sucessivas iteraes. As suas principais atividades esto orientadas para a identificao de classes e objetos, e respetivas caractersticas, e determinao das relaes entre classes. OOSE proposto por Ivar Jacobson em Resulta da evoluo do modelo Objectory tambm do mesmo autor e a sua maior contribuio foi a introduo da noo de caso de utilizao que funciona como uma descrio da interao entre o utilizador e o sistema.
OMT proposto por James Rumbaugh em Concentrou as suas propostas na anlise e desenho de software, s quais aplicou tcnicas orientadas por objetos.
A sua metodologia apresentava essencialmente trs modelos principais: esttico ou de objetos onde representam classes, objetos, a hierarquia e outras relaes , dinmico apresentava o comportamento dos objetos e do sistema global e funcional diagrama de fluxo de informao no sistema semelhante aos diagramas de fluxos de dados.
OOAD proposto por Coad e Yourdon em apresentava como uma das suas principais vantagens o facto de ser muito simples ao nvel dos conceitos, atividades e diagramas o que o tornava um dos mais fceis de compreender. As suas principais atividades relacionadas com a anlise so no fundo aquilo que todos esperavam realizar num processo que aplicasse as noes da orientao por objetos: Identificar objetos utilizando critrios simples substantivos.
Definir uma estrutura de relaes generalizao-especificao. Definir uma estrutura de relaes de associao whole-part. Identificar assuntos subsistemas. Definir os atributos. Definir os servios. Mtodo de Wirfs-Brock no efetua uma distino clara entre anlise e desenho, e a sua principal contribuio foi a definio de um diagrama designado por CRC cards Class-Responsibility-Colaboration que procura identificar as classes do sistema, a sua interface e as relaes entre elas.
As principais atividades consistem em avaliar a especificao do cliente, extrair classes candidatas por anlise da especificao, identificar grupos de classes superclasses , definir e atribuir responsabilidades para cada classe, identificar relaes entre classes, identificar colaboraes entre classes com base nas responsabilidades, e construir representaes hierrquicas das classes. Apesar dos benefcios reconhecidos na utilizao de metodologias independentemente do paradigma utilizado , elas no esto isentas de crticas e de aspetos menos positivos: Complexidade nos conceitos, tcnicas e aplicao.
Desconhecimento global da metodologia e falta de competncias dos informticos para a sua execuo com qualidade. Ferramentas que suportam a metodologia difceis de utilizar. Constatao da ausncia de melhorias significativas no processo e produto final. Concentrao na anlise da situao atual, menor importncia aos objetivos futuros. Tempo que decorre at disponibilizao dos resultados finais.
Rigidez na aplicao dos mtodos e conceitos. Desta forma, um novo grupo de metodologias comeou a aparecer nos ltimos anos, que implicam um nvel de formalismo muito menor.
Muitas destas novas metodologias advogam A no realizao de atividades de anlise e desenho. A produo de muito menos documentao por comparao com as metodologias estruturadas ou orientadas por objetos. Defendem que a principal documentao de um sistema , ou deveria ser, o cdigo fonte das aplicaes desenvolvidas. Comungam a ideia de que as principais atividades a realizar ao longo de todo o processo de desenvolvimento so essencialmente a programao e os testes.
Estes mtodos So bastante adaptveis, pois respondem imprevisibilidade dos requisitos ao longo do tempo; e concentram-se na satisfao das necessidades das pessoas informticos e utilizadores , e no na definio de processos;. Partilham a ideia do desenvolvimento iterativo tpico das abordagens orientadas por objetos; e reforam a importncia da atividade de testes. Em determinadas circunstncias estes mtodos so particularmente aconselhveis, sobretudo se estivermos a falar de sistemas pequenos ou com requisitos incertos ou volteis, em que os programadores so responsveis, experientes e encontram-se motivados, os clientes so igualmente participativos e responsveis, ou ainda quando a equipa de desenvolvimento relativamente reduzida e estvel.
A comparao das metodologias existentes uma tarefa complexa devido a um conjunto de dificuldades que se colocam, como: No existem metodologias iguais e portanto em qualquer comparao estaremos sempre a comparar conceitos por vezes no comparveis. Muitas metodologias so influenciadas ou particularmente concebidas para serem utilizadas com linguagens de programao especficas. Muitas metodologias assumem um contexto de aplicao onde no existem os problemas que no mundo real tm que enfrentar.
A abrangncia das metodologias varia fortemente algumas apenas. A comparao entre metodologias tem que considerar obrigatoriamente apenas um subconjunto das mesmas, e um subconjunto de funcionalidades.
A prpria definio do conceito metodologia pode ser limitativa. Vantagens em termos conceptuais das abordagens orientadas por objetos face s estruturadas: Um nico paradigma consistente ao longo de todo o processo, mais prximo do processo cognitivo humano.
Facilitam a reutilizao do cdigo e da arquitetura global do sistema, o que potencia o aumento de produtividade dos informticos. Apresentam modelos que refletem mais adequadamente o mundo real. Anterior no carrossel. Explorar E-books. Os mais vendidos Escolhas dos editores Todos os e-books. Explorar Audiolivros. Os mais vendidos Escolhas dos editores Todos os audiolivros. Explorar Revistas. Escolhas dos editores Todas as revistas.
Explorar Podcasts Todos os podcasts. Explorar Documentos. Enviado por mmlimarj. Denunciar este documento.
Fazer o download agora mesmo. Pesquisar no documento. Antonio Costa Bigua. Marco Kersul. Johnn David Amancio. Bruno Siqueira. Mauricio Lopes. Leo Cruz. Marcos Virginio. Eduardo Eugenio. Roger Espanhol. Felipe Rodrigues Sobrinho. Diogenes moises luz. Constante Fieira. Felipe B.
0コメント