AMS Cap1 Introducao Modelagem PDF
AMS Cap1 Introducao Modelagem PDF
AMS Cap1 Introducao Modelagem PDF
2 edio
Eduardo Bezerra Editora Campus/Elsevier
Sistemas de Informaes
A necessidade a me das invenes
Em conseqncia do crescimento da importncia da informao, surgiu a necessidade de gerenciar informaes de uma forma adequada e eficiente e, desta necessidade, surgiram os denominados sistemas de informaes.
Um SI uma combinao de pessoas, dados, processos, interfaces, redes de comunicao e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negcio de uma organizao com relao s informaes.
Vantagens do ponto de vista competitivo.
Sistemas de Software
Um dos componentes de um denominado sistema de software. Compreende os mdulos funcionais computadorizados que interagem entre si para proporcionar a automatizao de diversas tarefas. Caracterstica intrnseca do desenvolvimento de sistemas de software: complexidade.
Sistemas de Software
Uma analogia...
Modelos de Software
Na construo de sistemas de software, assim como na construo de sistemas habitacionais, tambm h uma gradao de complexidade.
A construo desses sistemas necessita de um planejamento inicial.
Um modelo pode ser visto como uma representao idealizada de um sistema que se planeja construir. Maquetes de edifcios e de avies e plantas de circuitos eletrnicos so apenas alguns exemplos de modelos.
Diagramas e Documentao
No contexto de desenvolvimento de software, correspondem a desenhos grficos que seguem algum padro lgico. Podemos tambm dizer que um diagrama uma apresentao de uma coleo de elementos grficos que possuem um significado predefinido. Diagramas normalmente so construdos de acordo com regras de notao bem definidas.
Ou seja, cada forma grfica utilizada em um diagrama de modelagem tem um significado especfico.
Diagramas e Documentao
Diagramas permitem a construo de uma representao concisa de um sistema a ser construdo.
uma figura vale por mil palavras
No entanto, modelos tambm so compostos de informaes textuais. Dado um modelo de uma das perspectivas de um sistema, dizse que o seu diagrama, juntamente com a informao textual associada, formam a documentao deste modelo.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 10
Modelagem de Software
A modelagem de sistemas de software consiste na utilizao de notaes grficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares
11
12
Paradigma?
Um paradigma uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual esse sistema entendido e construdo. A primeira abordagem usada para modelagem de sistemas de software foi o paradigma estruturado.
Uso da tcnica de decomposio funcional divida sucessivamente um problema complexto em subproblemas
13
14
Analogia Biolgica
Cada clula interagiria com outras clulas atravs do envio de mensagens para realizar um objetivo comum. Adicionalmente, cada clula se comportaria como uma unidade autnoma. De uma forma mais geral, Kay pensou em como construir um sistema de software a partir de agentes autnomos que interagem entre si.
15
16
Pizzaria
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 17
O paradigma da orientao a objetos visualiza Paradigma da Orientao Objetos um sistema de software como uma a coleo de agentes interconectados chamados objetos. Cada objeto responsvel por realizar tarefas especficas. atravs da interao entre objetos que uma tarefa computacional realizada. Um sistema de software orientado a objetos consiste de objetos em colaborao com o objetivo de realizar as funcionalidades deste sistema. Cada objeto responsvel por tarefas especficas. atravs da cooperao entre objetos que a computao do sistema se desenvolve. Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio
18
Conceitos e Princpios da OO
Conceitos
Classe Objeto Mensagem
Princpios
Encapsulamento Polimorfismo Generalizao (Herana) Composio
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 19
20
Representante
Cliente
Produto
21
Abstrao
Uma abstrao qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes. Abstrao depende do observador.
22
23
24
Classe X Objeto
Objetos so abstraes de entidades que existem no mundo real. Classes so definies estticas, que possibilitam o entendimento de um grupo de objetos. CUIDADO: estes dois termos muitas vezes so usados indistintamente em textos sobre orientao a objetos.
25
Mensagens
Para que um objeto realize alguma tarefa, deve haver um estmulo enviado a este objeto. Pense em um objeto como uma entidade ativa que representa uma abstrao de algo do mundo real
Ento faz sentido dizer que tal objeto pode responder a estmulos a ele enviados Assim como faz sentido dizer que seres vivos reagem a estmulos que eles recebem.
Independentemente da origem do estmulo, quando ele ocorre, diz-se que o objeto em questo est recebendo uma mensagem. Uma mensagem uma requisio enviada de um objeto a outro para que este ltimo realize alguma operao.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 26
Mensagens
Objetos de um sistema trocam mensagens
isto significa que estes objetos esto enviando mensagens uns aos outros com o objetivo de realizar alguma tarefa dentro do sistema no qual eles esto inseridos.
27
Encapsulamento
Objetos possuem comportamento.
O termo comportamento diz respeito a que operaes so realizadas por um objeto e tambm de que modo estas operaes so executadas.
De acordo com o encapsulamento, objetos devem esconder a sua complexidade... Esse princpio aumenta qualidade do SSOO, em termos de:
Legibilidade Clareza Reuso
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 28
Encapsulamento
O encapsulamento uma forma de restringir o acesso ao comportamento interno de um objeto.
Um objeto que precise da colaborao de outro para realizar alguma tarefa simplesmente envia uma mensagem a este ltimo. O mtodo (maneira de fazer) que o objeto requisitado usa para realizar a tarefa no conhecido dos objetos requisitantes.
Encapsulamento
Uma interface pode ter vrias formas de implementao. Mas, pelo princpio do encapsulamento, a implementao utilizada por um objeto receptor de uma mensagem no importa para um objeto remetente da mesma.
30
Polimorfismo
Objeto receptor Objeto receptor
Polimorfismo
a habilidade de objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras. Em uma linguagem orientada a objetos:
for(i = 0; i < poligonos.tamanho(); i++) poligonos[i].desenhar();
32
Generalizao (Herana)
A herana pode ser vista como um nvel de abstrao acima da encontrada entre classes e objetos. Na herana, classes semelhantes so agrupadas em hierarquias.
Cada nvel de uma hierarquia pode ser visto como um nvel de abstrao. Cada classe em um nvel da hierarquia herda as caractersticas das classes nos nveis acima.
33
Herana
A herana facilita o compartilhamento de comportamento entre classes semelhantes. As diferenas ou variaes de uma classe em particular podem ser organizadas de forma mais clara.
34
35
Evoluo do Hardware
A chamada Lei de Moore bastante conhecida da comunidade de computao. Essa lei foi declarada em 1965 pelo engenheiro Gordon Moore, co-fundador da Intel. Lei de Moore: A densidade de um transistor dobra em um perodo entre 18 e 24 meses.
36
Evoluo do Software
O rpido crescimento da capacidade computacional das mquinas resultou na demanda por sistemas de software cada vez mais complexos. O surgimento de sistemas de software mais complexos resultou na necessidade de reavaliao da forma de se desenvolver sistemas. Conseqentemente as tcnicas utilizadas para a construo de sistemas computacionais tm evoludo de forma impressionante, notavelmente no que tange modelagem de sistemas.
37
Evoluo do Software
Na primeira metade da dcada de 90 surgiram vrias propostas de tcnicas para modelagem de sistemas segundo o paradigma orientado a objetos. Houve uma grande proliferao de propostas para modelagem orientada a objetos.
diferentes notaes grficas para modelar uma mesma perspectiva de um sistema. cada tcnica tinha seus pontos fortes e fracos.
38
Necessidade de um Padro
Percebeu-se a necessidade de um padro para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Alguns esforos nesse sentido de padronizao, o principal liderado pelo trs amigos. Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem unificadora. Em 1997, a UML aprovada como padro pelo OMG. Desde ento, a UML tem tido grande aceitao pela comunidade de desenvolvedores de sistemas. uma linguagem ainda em desenvolvimento. Atualmente na verso 2.0.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 39
Diagramas da UML
Um diagrama na UML uma apresentao de uma coleo de elementos grficos que possuem um significado predefinido.
No contexto de desenvolvimento de software, correspondem a desenhos grficos que seguem algum padro lgico.
Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criao de diversos documentos.
Estes documentos, denominados artefatos de software, podem ser textuais ou grficos.
Os artefatos grficos produzidos no desenvolvimento de um SSOO so definidos atravs dos diagramas da UML.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 42
43