Engenharia de Software

24
Engenharia de Software

description

Breve introdução a Engenharia de Software e UML. Apenas primeiros capítulos

Transcript of Engenharia de Software

Engenhariade Software

SumrioIntroduo3Software3Caractersticas de Software3Tipos de Software3Mtodos4Paradigmas de Engenharia de Software5Processos5Tcnicas de entrevistas e de coleta de dados5Tipos de entrevistas6Problemas6Diretrizes Para a Realizao de Entrevistas6Introduo a UML7Por que modelar os softwares?7Desenvolvimento Orientado a objetos7Levantamento de Requisitos7Definio de modelagem8Modelagem8Abstrao9Diagramas na UML10Classes10Diagrama de classes10Atributos11Operaes e mtodos11Associaes12Mecanismos da UML14Perfis15

Introduo

A engenharia de software uma derivao da engenharia de sistemas e de hardware. Ela abrange um conjunto de trs elementos fundamentais - mtodos, ferramentas e procedimentos - que possibilita o controle do processo de desenvolvimento do software e oferece ao profissional uma base para a construo de software de alta qualidade produtivamente. E tais elementos ajudam a estabelecer um modo de pensar para a prtica segura da construo do Software.Software

H 30 anos menos de 1% da populao poderiam descrever o que um software, hoje dificilmente algum no sabe descreve o que seja.Entre as dcadas de 50 e 70 quando a maioria das linguagens de programao apareceram, ningum poderia prever que nos tempos atuais elas seriam indispensveis a negcios e a at mesmo a nossa vida cotidiana com uso de computadores, telefones e qualquer tipo de servio, uma vez que todos os setores dependem de softwares.A grande dificuldade relacionado ao desenvolvimento de programas que o nosso produto no nada fsico e sim completamente lgico. E desempenha um duplo papel: produto e canal de distribuio. Na atualidade ele que trabalha com bem mais precioso para qualquer corporao A Informao.Caractersticas de Software

A definio de Software necessita de uma compreenso mais formal para o pleno entendimento do seu real significado. Por isso algumas caractersticas ajudam a base de compreenso.1. O Software desenvolvido ou passa por processo de Engenharia de Software e no fabricado no sentido clssico;2. Software no se desgasta se deteriora;3. O software tem sua construo contnua;Tipos de Software

Software de Sistema conjunto de sistemas para atender a outros programas. Ex.: Compiladores, editores, utilitrios para gerenciamento de arquivos.Software de aplicao programas sob medida para solues de negocioSoftware Cientifico ou de Engenharia caracterizado por algoritmos number cruchingSoftware embutido reside em um outro sistema e utilizado para implementar funes para o usurio finalSoftware para linha de produtos projetado para prover capacidade especifica de utilizao por muitos clientes diferentes.Software aplicao WEB chamada de WebApps centralizado em rede abarca uma vasta gama de aplicaes.Software de inteligncia artificial soluo de algoritmos no numricos para solucionar problemas complexos que no so passiveis de computao ou de anlise direta.Ainda existem alguns termos associados a software. E alguns so desafios relacionados a problemas intencionais outros relacionados a tecnologia.SISTEMAS LEGADOSSo programas antigos mas ainda atuantes no mercado dos negcios. Estes vem a dcadas recebendo melhorias em seus requisitos de negcios e plataformas computacionais para adequar-se as tecnologias atuais e so motivos de ateno e preocupao desde os anos 60.Camadas de Engenharia de Projetos

Mtodos

Os Mtodos de Desenvolvimento de Sistema se diferenciam pela maneira como o problema deve ser visualizado e como a soluo do problema deve ser modelada. So eles:1. Mtodo baseado na Decomposio de Funes: Abordagem estruturada caracterizada pela decomposio das funes. Os tipos de modelos que representam as funes so: DFD (Diagrama de Fluxo de Dados) se caracteriza pela decomposio hierrquica de processos. MHT (Modelo Hierrquico de Tarefas) se baseia na decomposio hierrquica de tarefas.2. Mtodo baseado na Estrutura de Dados: Abordagem baseada na decomposio de um problema a partir dos dados. Exemplos de tipos de modelos dessa classe: MER (Modelagem Entidade-Relacionamento) Tcnica de Warnier . 3. Mtodo de Anlise baseado na Orientao a Objeto. Os tipos de modelos que representam essa classe so: UML (Unified Process) notao de modelagem, independente de processos de desenvolvimento. Cenrios Paradigmas de Engenharia de Software

Segundo Roger Pressman, Paradigmas so os modelos de processos que possibilitam: ao gerente: o controle do processo de desenvolvimento de sistemas de software, ao desenvolvedor: a obter a base para produzir, de maneira eficiente, software que satisfaa os requisitos preestabelecidos. Os paradigmas especificam algumas atividades que devem ser executadas, assim como a ordem em que devem ser executadas. A funo dos paradigmas diminuir os problemas encontrados no processo de desenvolvimento do software, e deve ser escolhido de acordo com a natureza do projeto e do produto a ser desenvolvido, dos mtodos e ferramenta a ser utilizado e dos controles e produtos intermedirios desejados. Processos

Processo um conjunto de atividades, aes e tarefas realizadas na criao de algum produto de trabalho. Uma atividade esfora-se para atingir um objetivo amplo e utilizada independentemente do campo de aplicao, do tamanho do projeto, da complexidade ou do grau de rigor que a Engenharia de Software ser aplicada. Uma ao um conjunto de tarefas que resultam num componente do projeto. Uma tarefa se concentra num pequeno objetivo, porem bem definido e produz um resultado tangvel.Tcnicas de entrevistas e de coleta de dados

So diretrizes para as entrevistas que voc far durante a fase de anlise de sistemas do projeto de desenvolvimento de um sistema. Provavelmente entrevistar usurios, gerentes, auditores, programadores e auxiliares que utilizam sistemas j existentes (informatizados ou manuais) e tambm vrias outras pessoas envolvidas. Por que fazemos entrevistas durante a anlise de sistemas? Porque: Precisamos coletar informaes sobre o comportamento de um sistema atual ou sobre os requisitos de um novo sistema de pessoas que tm essas informaes armazenadas em algum lugar em suas cabeas. Precisamos verificar nossa prpria compreenso, como analistas de sistemas, do comportamento de um sistema atual ou dos requisitos de um novo sistema. Essa compreenso deve ser adquirida atravs de entrevistas em combinao com informaes coletadas de modo independente. Precisamos coletar informaes sobre o(s) sistema(s) atual(is) para a execuo do estudo de custo/benefcio para o novo sistema.

Tipos de entrevistas

Reunio Resposta de questionrios Descrio por escrito dos requisitos JADProblemas

Em muitos projetos de alta tecnologia, tem-se observado que a maioria dos problemas difceis no envolvem hardware nem software, mas sim o pleopleware. Os problemas de peopleware na anlise de sistemas so muitas vezes encontrados nas entrevistas. Os problemas mais comuns a que voc deve estar atento so: Entrevistar a pessoa errada no momento errado Fazer perguntas erradas e obter respostas erradas Criar ressentimentos recprocosDiretrizes Para a Realizao de Entrevistas

1. Desenvolva um Plano Geral de Entrevistas extremamente importante que o analista descubra quem deve ser entrevistado2. Certifique-se de que tem Autorizao para Falar com os Usurios Em empresas informais no haver restries mas em empresas de grande porte devera ter previa autorizao, porque Nem todos os usurios so capazes de compreender ou detalhar os requisitos do sistema Desconfiar dos requisitos e intenses de determinados usurios Interferncia nas atribuies dos usurios Se negar a responder apropriadamente por achar que sabe mais do que os outros.3. Planeje a Entrevista para Fazer Uso Eficiente do Tempo coletar, antes da entrevista, tantos dados pertinentes quanto possvel certificar-se de que o usurio conhece o assunto da entrevista realizar a entrevista em uma hora ou menosOs dados dessa entrevista sero manipulados, documentados, analisados e convertidos em uma forma que o usurio pode nunca ter visto antes. Desse modo, pode ser necessrio marcar uma entrevista posterior para verificar: que o analista no cometeu nenhum engano em seu entendimento do que o usurio lhe disse, que o usurio no mudou de opinio nesse nterim, que o usurio entende a notao ou a representao grfica dessas informaes. 4. Utilize Ferramentas Automatizadas que Sejam Adequadas, Mas No Abuse elas serviro pra ajudar e no complicar.

Introduo a UMLUML (Linguagem de modelagem unificada) e uma linguagem visual utilizada para modelar software no paradigma orientado a objetos. Tornou-se nos ltimos anos, um padro adotado internacionalmente, nos ltimos anos ela engenharia de software. A UML oferece um grande nmero de diagramas que enfocam nas caractersticas estruturais e comportamentais de um software. Cada diagrama possui funo especifica.Por que modelar os softwares?Por mais simples que seja um software, ele deve ser modelado antes de inicia sua implementao, entre outras coisas porque, naturalmente os sistemas tendem a crescer (abrangncia, tamanho ou complexidade. Por isso o sistema nunca esto totalmente finalizados. Tais situaes se devem aos seguintes fatores Clientes desejam constantemente modificaes ou melhorias Novas estratgias das corporaes e consequentemente de seus sistemas Promulgaes de leis, novos impostos e alquotas fazendo com que os sistemas necessitem de manutenes. Por isso a necessidade da documentao detalhada, precisa e atualizada para que quando necessrio possamos interferir nos sistemas sem muitos erros, corrigindo o que for necessrio e principalmente sem provocar mais problemas.

Desenvolvimento Orientado a objetosRefere-se ao ciclo de vida do software> analise, projeto e implementao. Sua essncia a identificao e organizao de conceitos de aplicao. O problema que ser resolvido por um software traz a dificuldade que manipular sua essncia e complexidade utilizando-se de modelos para mais fcil compreenso e desenvolvimento estratgico.O desenvolvimento [e um processo conceitual, sendo fundamentalmente um modo de pensar e no uma tcnica de programao.Levantamento de Requisitos Levantamento de Requisitos constitui na principal fase da modelagem. Dependendo do mtodo/processo adotado, essas etapas ganham, por vezes, nomenclaturas diferentes, podendo algumas delas ser condensadas em uma etapa nica, ou uma etapa pode ser dividida em duas ou mais. Veremos que este se divide em fases: Concepo - onde feito o levantamento de requisitos; Elaborao - onde feita a anlise dos requisitos e o projeto do software. As fases de Elaborao e Construo ocorrem, sempre que possvel, em ciclos iterativos, dessa forma, sempre que um ciclo completado pela fase de Construo, volta-se fase de Elaborao para tratar do ciclo seguinte, at todo o software ser finalizado.A fase de levantamento de requisitos deve identificar dois tipos de requisitos: os funcionais e os no-funcionais. Os requisitos funcionais correspondem ao que o cliente quer que o sistema realize, ou seja, as funcionalidades do software. J os requisitos no-funcionais correspondem s restries, condies, consistncias, validaes que devem ser levadas a efeito sobre os requisitos funcionais. Alguns requisitos no-funcionais identificam regras de negcio, ou seja, as polticas, normas e condies estabelecidas pela empresa que devem ser seguidas na execuo de uma funcionalidade.Durante essa fase, modelamos as questes que foram abstradas durante as entrevistas iniciais para termos certeza se o que o usurio solicitou foi de fato compreendido.

Definio de modelagem um modo de pensar a respeito dos problemas aplicando-se modelos organizados em torno de conceitos do mundo real.Superficialmente, o termo OO significa organizarmos o software como uma coleo de objetos distintas ou incorporam estruturas de dados e comportamentos.Geralmente, incluem 4 aspectos: identidade, classificao, herana e polimorfismo.Identidade significa que os dados so organizados em entidades distintas e intangveis, os objetos.Num mundo real, um objeto simplesmente existe, mas em uma Linguagem de Programao, cada projeto possui referencia nica pela qual ele pode ser acessado.Classificao significa que os dados com a mesma estrutura (atributos) e comportamentos (mtodos ou operaes) so agrupados em uma classe.Uma classe uma abstrao que descreve propriedades importantes para uma aplicao e ignora as demais.Cada objeto considerado uma instancia de sua classe, tendo seu prprio valor, mas que compartilha atributos e mtodos.Herana o compartilhamento de atributos e operaes entre classes com base em um relacionamento hierrquico. uma superclasse que possui informaes gerais que as subclasses refinam. Uma subclasse herda todos os recursos e componentes da classe me.Polimorfismo significa que a mesma operao pode se comportar de forma diferente para classes diferente. Uma operao [e um procedimento ou transformao que um objeto realiza ou a que est sujeito e essa operao realizada atravs da classe se chama mtodos.

ModelagemModelo uma abstrao de algo com a finalidade de entende-lo antes de constru-lo. A abstrao a capacidade humana fundamental, que nos permite com uma complexidade. Para montar um sistema, engenheiros e desenvolvedores precisam abstrair diferentes vises do sistema, montar modelos e notaes exatas.Recomenda-se trs tipos de modelos: modelo de classes que descreve a estrutura esttica de um sistema em termos de classes e relacionamentos. Modelo de estado que descreve a estrutura de controle de um sistema de termos de eventos e estados Modelo de interaes que descreve como os objetivos individuais colaboram para conseguir o comportamento do sistema como um todo.Diferentes problemas do nfase diferente aos trs tipos de modelo

Abstrao o exame seletivo de certos aspectos de um problema. O objetivo da abstrao isolar os aspectos importantes para alguma finalidade e suprir os aspectos que no so importantes. Todas as abstraes so descries incompletas de um mundo real e se permitem ser incompletas e imprecisas. Na modelagem voc no precisa procrar uma verdade absoluta, mas a adequao para uma finalidade. No existem um modelo correto ou mais correto, existe apenas modelo adequado ou inadequado.

O vocabulrio da UML abrange trs tipos de blocos de construoItens RelacionamentosDiagramasOs itens so abstraes identificadas como validao de primeira classe em um modelo. Os relacionamentos agrupam colees interessantes de itens.Itens da UML1. Itens estruturais 2. Itens Comportamentais 3. Itens Agrupamentos4. Itens anotacionais1) so os substantivos utilizado em modelos da IML. So as partes mais estticas do modelo, representando elementos conceituais ou fsicos. So chamados de classificadores. Ex.: classe, colaborao, interfaces e componentes. 2) so as partes dinmicas dos modelos de UML. So os verbos de um modelo, representando comportamentos no tempo e no espao.Ex.: Caso de uso e interaes

Diagramas na UML a apresentao grfica de um conjunto de elementos, geralmente representados com itens e relacionamentos. Um diagrama constitui uma projeo de um determinado sistema representando uma viso parcial dos elementos que compe o sistema. Temos um conjunto com 13 modelos diferentes.ClassesSo blocos de construo mais importantes de qualquer sistema Orientado a Objetos. Uma classe no um objeto individual, mas uma descrio de um conjunto de objetos que compartilham os mesmos atributos, operaes, relacionamentos e semntica.A escolha das classes depende da natureza e do escopo de uma aplicao, uma questo de critrio. Pode implementar uma ou mais interfaces. representada graficamente com um retngulo. SimplesSensor de temperaturaCliente

Parede

ouou

Qualificadojava::awt:: Retanguloregras de negcio:: Agente de Fraude

Regras O smbolo :: reservado para pacote Nome de classe [e sempre em letra maiscula Nome de pacote sempre em letras minsculas Nome composto cada palavra comea com letra maisculaDiagrama de classesOferecem uma notao grfica para modelar classes e seus relacionamentos, descrevendo assim possveis objetos. So usados por erem concisos, fceis de entender e funcionam bem na pratica e correspondem a um conjunto infinito de objetos.Um diagrama de classes formado por:

Atributos uma propriedade nomeada de uma classe que descreve um intervalo de valores que as instancias da propriedade podem apresentar. Representa alguma propriedade do item que est sendo modelado, compartilhado por todos os objetos dessa classe.

Valor um elemento dos dados e no os confunda com objetos. Um atributo descreve valores.

Operaes e mtodosUma operao a implementao de um servio que pode ser solicitado por algum objeto de classe para modificar um comportamento. Em programao a conhecemos como funes e procedimentos.RegraO nome de um mtodo um verbo ou uma locuo verbal leve, representando algum comportamento de classe correspondente.Uma operao pode ser aplicada em classes diferentes com comportamentos diferentes. Essa operao se chama POLIMORFISMOQuando uma operao tem mtodos em diversas classes, importante que todos tenham a mesma assinatura o nmero e os tipos de argumentos e do tipo de resultado.RelacionamentosAo construir modelos abstratos, possvel identificar que diferentes classes no trabalham sozinhas. A maioria colabora com outras de vrias maneiras.Uma ligao uma conexo ou conceitual entre objetos.Ex.: Joo Silva TrabalhaPara empresa SimplexLigaes so associaes que normalmente aparecem cimo verbos em relatos de problemas.Na modelagem Orientada a Objetos existem 3 tipos de relacionamentos:Dependncias => representam relacionamentos de utilizao entre casses (incluindo relacionamentos de refinamento, rastreamento e vnculos),Generalizaes => relacionam classes generalizadas s suas especializaesAssociaes

Uma associao uma descrio de um grupo de ligaes com estrutura semntica comuns.O nome em uma associao opcional, se o modelo no ambguo. Ambiguidade surge quando um modelo possui vrias associaes entre as mesmas classes.Quando existem mais associaes ou nomes na extremidade da associao

Dentro de um diagrama de classes os relacionamentos ligam a classes de alguma forma obedecendo seu contexto. Lembrando, elas podem ser de 3 tipos distintos: dependncia, associao e generalizao.Graficamente, cada um desses tipos possui um modelo, uma representao.Dependncia geralmente em uma nica direo, sendo representada por Frequentemente, o contato da dependncia representa uma assinatura, ou seja, a alterao de uma afeta a outra, mas s numa direo.

Associao Unria ou reflexiva relaciona uma classe com o objeto da mesma classe. Tambm a chamamos de auto relacionamento.

Associao Binaria relaciona objetos de duas classes distintas.

representado por um diamante aberto. Caso haja um cruzamento de linha dessem ser representados com:C

Associao Ternria relaciona objetos de duas ou mais classes. Utilizam um losango para convergir todas as ligaes da associao

Generalizao relaciona classe-me / filho ou superclasse. Deriva de um item mais geral par um mais generalizado.Nesse caso a filha herda todos os atributos da me e em seus valores o que prevalece o valor da me.

Numa assinatura, as filhas devem ter TODOS parmetros e nomes.Associao numa associao, fundamentalmente podemos ter 4 tipos de aprimoramentos.Nome identifica a associao que descreve a natureza de relacionamento.Para evitar a ambiguidade, podemos adicionar uma direo.

Papel tem o papel apenas de nomear explicitamente o papel desempenhado por uma classe na associao.

Uma mesma classe pode executar papeis diferentes iguais e/ou diferentes em outras associaes.Multiplicidade em algumas situaes importante determinar a quantidade de objetos que podem ser conectadas por uma associao.

MultiplicidadeSignificado

0..1Indica que os objetos das classes associadas no precisam obrigatoriamente estar relacionados, mas se houver relacionamento indica que pelo menos uma instancia da classe relaciona-se com as instancias da outra classe

1..1Indica que apenas um objeto da classe relaciona-se com objetos da outra classe

0..*Indica que pode haver ou no instancias da classe participando do relacionamento

*Indica que muitos objetos da classe esto envolvidos na associao

1..*Indica que h pelo menos um objeto envolvido no relacionamento, podendo haver muitos objetos envolvidos

3..5Estabelece que existem pelo menos trs instancias envolvidas no relacionamento e no mximo 4 ou 5 as instancias envolvida e no mais do que isso.

Agregao uma associao entre duas classes representando um par, onde um significa o todo e o outro a parte.

Quando temos uma generalizao de uma classe, entramos noutro conceito O.O. de herana.Composio constitui uma variao da agregao, onde apresentado um vnculo mais forte entre objetos todo e os objetos parte, procurando demonstrar que os objetos-parte tem de estar associado a um nico objeto-todo.

So basicamente 2 tipos> herana simples e herana mltipla Simples

Mltipla

Ao modelarmos relacionamentos de herana devemos considerar: Considerando um conjunto de classes, procure o que so comuns em duas ou mais classes Eleve as responsabilidades, atributos e operaes comuns para uma classe mais geral. Especifique que as classes mais especficas herdaro ad classe mais geral, determinando um relacionamento de generalizao, definindo a partir da especificao para a classe-me. Em algumas situaes, necessitamos que nossas classes no recebam objetos que no so o que chamamos de classe-folha porque so incompletas. Essas classes identificamos como classe abstratas. A identificamos em UML com o texto em itlico.Essa conveno se aplica a operao que fornecem uma assinatura, mas est incompleta e deve ser implementada por algum nvel mais baixo de abstrao.

Uma herana/generalizao unidirecional, somente a classe especializada recebe valor vindo da classe-me.Numa associao existe um par bidirecional

Mecanismos da UMLSo mecanismos para fazermos referencias e alteraes, temos:Notas so artefatos que dependem de papeis importantes tem finalidade de fazermos comentrios diferenciados dos modelos que conhecemos. Tem notao grfica especifica>

Esteretipos permite a criao de novos tipos de blocos de construo representado graficamente por >No um relacionamento de generalizao onde criamos uma classe-mae e filhas. um meta tipo criando o equivalente a uma nova classe num meta modelo da UML. Temos uma forma parecida com o RUP da Rational. Cria um modelo utilizado limites, controles e entidades de classes atravs de fronteiras.Dentro de esteretipos podemos utilizar notaes grficas, como cones e cores para compor uma indicao individual sutilValor atribudo - um esteretipo que permite a criao de novas informaes de especificao.Tudo na UML tem seu conjunto de propriedades, usamos valores atribudos para acrescentar novas propriedades e podemos utilizar em modelo existentes ou esteretipos individuas e que no sejam os mesmos atributos de uma classe e o considere como um metadado.So adicionados com uma nota anexas num valor afeado atravs de uma representao de nota ligado atravs de uma linha tracejada.Restrio tem conotao semntica e serve para adicionar nova semntica ou alterar regras existentes. Representada graficamente com sequencia entre chaves { }Podem adicionar uma nova semntica ou mudar regras existentes. Uma restrio deve ser considerada verdadeira para que o modelo seja bem formado. As mais utilizadas so relacionadas a tempo e espao. Seriam como pr-condies para coisas podem acontecer. Podem ser escritas de forma livre. Quando um tipo mais formal, utilizamos o OCL modelo de auto relacionamento e prximo ao elemento de associao.PerfisFrequente vale a pena definir um padro de programao e banco de dado, com comportamentos diferenciados dependendo das linguagens utilizadas no projeto. um conjunto de esteretipos, valores atribudos e restries que selecionam um conjunto de sub-elementos para que modelador no fique confuso em relao a elementos particulares.Dentro dos perfis, caso seja necessrio, fazermos comentrios dentro dos modelos. Existem basicamente 4 regras.1. Incluir um comentrio com o texto em uma nota prximo ao elemento a que se refere2. Ocultar e tornar visvel elementos conforme desejar. No e necessrio manter visvel Exiba seus comentrios em diagramas somente quando necessrios. 3. Caso o comentrio seja extenso colocar em documentao externa em forma de anexo.4. A medida de que evoluir mantenha os comentrios que registram informaes significativas.

Quando houver a necessidade de incrementar os modelos com blocos que no so elementos bsicos devemos ter um cuidado maior, mas podem ser feitos atravs de esteretipos e valores atribudos De antemo certifique-se que no h possibilidade de faz-lo com itens bsicos da UML e em seguida adicione uma nova propriedade alo elemento individual ao esteretipo. Regras de generalizao sero aplicadas.

Diagrama de Classes

Seu principal enfoque permitir a visualizao das classes que comporo o sistema com seus respectivos atributos e mtodos, bem como em demostrar como as classes se relacionam, alm de ser a base para a criao de vrios outros diagramas.Lembre-se que ao criar um diagrama de classes em UML, que so apenas uma apresentao grfica da viso esttica do projeto de um sistema e no precisa captar tudo dobre a viso de projeto do sistema.Um diagrama bem estruturado: Enfatiza a comunicao de um nico aspecto da viso esttica do projeto Contem somente apenas elementos essncias para compreenso Fornece detalhes consistente com seu respectivo nvel de abstrao No muito minimalista

Ao criar o diagrama de classes: Atribua um nome que identifique-se com seu proposito Distribua seus elementos e evite o cruzamento de linhas Organize para que elementos de semanticamente relacionados fiquem fisicamente prximos Use notas e cores como indicaes visuais com finalidade de chamar ateno para caractersticas importantes Procure no exibir uma quantidade excessiva de tipos de relacionamentos.

Ao criarmos as classes comum, mas no obrigatrio, que as mesmas possuam atributos e mtodos. Alm dessas propriedades, encontramos os classificadores, que caracterizam a visibilidades tanto para tributos como para mtodos, multiplicidade com relao a quantidade de instancias dessa classe, assinaturas e polimorfismos.SmboloTipoDescrio

+PblicoVisvel para qualquer classe

#PrivadoVisvel apenas para descendentes da classe

-ProtegidoVisvel somente dentro da classe

~PacoteVisvel apenas para classes do mesmo pacote

ExercciosSistema de controle de cinema

Um cinema pode ter muitas salas, sendo necessrio, portanto, registrar informaes a respeito de cada sala, como sua capacidade, ou seja, o nmero de acentos disponveis. O cinema apresenta muitos filmes. Um filme tem informaes como ttulo e durao. Assim, sempre que um filme for apresentado, deve-se registr-lo tambm. Um filme tem um nico gnero, mas um gnero pode se referir a vrios filmes. Um filme pode ter muitos atores atuando nele, e um ator pode atuar em muitos filmes. Em cada filme, um ator interpretar um ou mais papis diferentes. Por uma questo de propaganda, til anunciar os principais atores do filme e que papis eles interpretam. Um mesmo filme pode ser apresentado em diferentes salas e horrios. Cada apresentao em uma determinada sala e horrio chamada Sesso. Um filme sendo apresentado em uma sesso tem um conjunto mximo de ingressos, determinado pela capacidade da sala. Os clientes do cinema podem comprar ou no ingressos para assistir a uma sesso. O funcionrio deve intermediar a compra do ingresso. Um ingresso deve conter informaes como o tipo de ingresso (meio ingresso ou ingresso inteiro). Alm disso, um cliente s pode comprar ingressos para sesses ainda no encerradas.

Sistema de locao de veculos Desenvolva o diagrama de classes para um sistema de locao de veculos, levando em considerao os seguintes requisitos: A empresa possui muitos automveis. Cada automvel tem atributos como nmero de placa, cor, ano, tipo de combustvel, nmero de portas, quilometragem, renavam, chassi, valor de locao, etc. Cada carro tem um modelo e uma marca, mas um modelo pode relacionar-se a vrios carros e uma marca pode referir-se a vrios modelos, embora cada modelo so tenha uma nica marca especfica. Um carro pode ser alugado pode ser alugado por vrios clientes, em momentos diferentes, e um cliente pode alugar muitos carros. preciso saber quais carros esto locados ou no. Sempre que um carro for locado preciso armazenar a data e a hora de sua locao e, quando for devolvido, a data e a hora da devoluo.