sistemas de informaÇÃo

Download SISTEMAS DE INFORMAÇÃO

Post on 23-Feb-2016

39 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

SISTEMAS DE INFORMAÇÃO. Alexandre Campos Moretti E-mail : alexandre.moretti@aes.edu.br Versão 1.0.10 – Mar/2010. Processo de Software Orientado a Objetos. Introdução. O desenvolvimento de software atual Uso de linguagens de programação Orientadas a Objeto (OO) Delphi, Java, ... - PowerPoint PPT Presentation

TRANSCRIPT

SPD - Aula - 3 - 13 de Fevereiro

SISTEMAS DE INFORMAOAlexandre Campos MorettiE-mail: alexandre.moretti@aes.edu.br

Verso 1.0.10 Mar/2010.1Processo de SoftwareOrientado a Objetos23O desenvolvimento de software atualUso de linguagens de programao Orientadas a Objeto (OO)Delphi, Java, ...Linguagens compactas com bibliotecas de classes poderosasAmbientes de programao

Sistemas de Banco de Dados RelacionaisOracle, SQL-Server, mySQL, ...Introduo4Na compreenso do mundo, os seres humanos utilizam-se de trs mtodos de organizao dos pensamentos:

Diferenciao

Distino entre todo e parte

Classificao

V a orientao a objetos, como tcnica para modelagem de sistemas, utiliza estes mtodos para diminuir a diferena semntica entre a realidade e o modeloConceito de Software Orientado a Objetos5Conceito de Software Orientado a Objetos

Fases do Desenvolvimento de um Sistema em UML

Anlise de RequisitosEsta fase captura as intenes e necessidades dos usurios do sistema a ser desenvolvido atravs do uso de funes chamadas "use-cases".AnliseA fase de anlise est preocupada com as primeiras abstraes (classes e objetos) e mecanismos que estaro presentes no domnio do problemaDesign (Projeto)Na fase de design, o resultado da anlise expandido em solues tcnicasFases do Desenvolvimento de um Sistema em UML

ProgramaoNa fase de programao, as classes provenientes do design so convertidas para o cdigo da linguagem orientada a objetos escolhidaTestesUm sistema normalmente rodado em testes de unidade, integrao, e aceitao. Os testes de unidade so para classes individuais ou grupos de classes e so geralmente testados pelo programador. Os testes de integrao so aplicados j usando as classes e componentes integrados para se confirmar se as classes esto cooperando uma com as outras como especificado nos modelos.Vises: As Vises mostram diferentes aspectos do sistema que est sendo modelado. A viso no um grfico, mas uma abstrao consistindo em uma srie de diagramas. Definindo um nmero de vises, cada uma mostrar aspectos particulares do sistema, dando enfoque a ngulos e nveis de abstraes diferentes e uma figura completa do sistema poder ser construda. As vises tambm podem servir de ligao entre a linguagem de modelagem e o mtodo/processo de desenvolvimento escolhido. Modelos de Elementos: Os conceitos usados nos diagramas so modelos de elementos que representam definies comuns da orientao a objetos como as classes, objetos, mensagem, relacionamentos entre classes incluindo associaes, dependncias e heranas.Partes que compem a UML Mecanismos Gerais: Os mecanismos gerais provm comentrios suplementares, informaes, ou semntica sobre os elementos que compem os modelos; eles provm tambm mecanismos de extenso para adaptar ou estender a UML para um mtodo/processo, organizao ou usurio especfico. Diagramas: Os diagramas so os grficos que descrevem o contedo em uma viso. UML possui nove tipo de diagramas que so usados em combinao para prover todas as vises do sistemaPartes que compem a UMLO desenvolvimento de um sistema complexo no uma tarefa fcil. O ideal seria que o sistema inteiro pudesse ser descrito em um nico grfico e que este representasse por completo as reais intenes do sistema sem ambigidades, sendo facilmente interpretvel. Infelizmente, isso impossvel. Um nico grfico incapaz de capturar todas as informaes necessrias para descrever um sistemaVisoesUm sistema composto por diversos aspectos: funcional (que sua estrutura esttica e suas interaes dinmicas), no funcional (requisitos de tempo, confiabilidade, desenvolvimento, etc.) e aspectos organizacionais (organizao do trabalho, mapeamento dos mdulos de cdigo, etc.).VisoesViso "use-case": Descreve a funcionalidade do sistema desempenhada pelos atores externos do sistema (usurios)Viso Lgica: Descreve como a funcionalidade do sistema ser implementada. feita principalmente pelos analistas e desenvolvedoresViso de Componentes: uma descrio da implementao dos mdulos e suas dependncias. principalmente executado por desenvolvedores, e consiste nos componentes dos diagramas.Viso de concorrncia: Trata a diviso do sistema em processos e processadores. Este aspecto, que uma propriedade no funcional do sistema.Viso de Organizao: Finalmente, a viso de organizao mostra a organizao fsica do sistema, os computadores, os perifricos e como eles se conectam entre si

Visoes13Conceito de Software Orientado a ObjetosObjetos e Instncias

Classes

Atributos

Mtodos

Visibilidade de atributos e operaes

Mensagens14Conceito de Software Orientado a ObjetosUm objeto denota uma entidade, seja ela de natureza fsica, conceitual ou de software.Entidades fsicas: um carro, uma pessoa, uma casa

Entidade conceitual: um organograma de uma empresa

Entidade de software: um boto em uma GUI15Conceito de Software Orientado a Objetos uma entidade capaz de reter um estado (informao/atributos/propriedades) e que oferece uma srie de operaes (comportamentos/mtodos) ou para examinar ou para afetar este estado

Um objeto um conceito, uma abstrao, algo com limites e significados ntidos em relao ao domnio de uma aplicao

Objetos facilitam a compreenso do mundo real e oferecem uma base real para implementao em computador16Conceito de Software Orientado a ObjetosUm objeto algo que tem:Estado

Comportamento

Identidade17Conceito de Software Orientado a ObjetosComportamento de um ObjetoO comportamento determina como um objeto pode responder a interaes mediante ativao de operaes decorrentes de mensagens recebidas de outros objetos

O Comportamento determinado pelo conjunto de operaes que o objeto pode realizar.

Controle AcadmicoJos da SilvaSolicita matrculaRetorna: 104547818Conceito de Software Orientado a ObjetosIdentidade de um Objeto

Cada objeto tem um nico identificador, mesmo que seu estado seja idntico ao de outro objeto

Jose da Silva (objeto)Controle Acadmico (Sistema que est sendo construdo)Semestre (estado)Matrcula 1045478(Propriedade de um aluno)Lista de Semestres Cursados (candidato a objeto)Semestre corrente (o mesmo que semestre)19Conceito de Software Orientado a ObjetosClasse

Uma classe a descrio de um grupo de objetos com propriedades Semelhantes (atributos), mesmo comportamento (operaes), mesmos relacionamentos com outros objetos (associaes e agregaes), e mesma semntica

Um objeto uma instncia de uma classe,

Uma classe uma abstrao queEnfatiza caractersticas relevantesAbstrai outras caractersticasAbstrao: ajuda lidar com a complexidade

20Conceito de Software Orientado a ObjetosExemplos de Classes

ProfessorAtributos: Nome, Matrcula, Data de Contratao,TitulaoOperaes: DefineNome(), AlteraNome(),TempoServio(), DefineTitulao(), AlteraTitulao(), ...

Turma:Atributos: Cod, Nome, Local, Crditos, Horrio, CapacidadeOperaes: DefineCod(), AlteraCod(), DefineNome(), AlteraNome(), NrCreditos(), AdicionaAluno(), EliminaAluno(), VerificaEstado(), ...21Conceito de Software Orientado a ObjetosClasseEncontrando Classes

Uma classe deveria capturar uma e somente uma abstrao chave.Abstrao ruim: classe "Aluno" que conhece a informao do aluno e as disciplinas que aquele aluno est matriculado.

Boa abstrao: separar em uma classe para Aluno e uma classe para Disciplina22Conceito de Software Orientado a ObjetosClasse

Nomeando Classes

Uma classe deveria ser um substantivo singular que melhor caracteriza a abstrao

Dificuldades na nomeao das classes podem indicar abstraes mal definidas

Nomes deveriam surgir diretamente do domnio do problema23Conceito de Software Orientado a ObjetosAtributo

O estado de um objeto dado por valores de atributos e por ligaes que tem com outros objetos

Todos os objetos de uma classe so caracterizados pelos mesmos atributos, ou variveis de instncias

O mesmo atributo pode ter valores diferentes de objeto para objeto24Conceito de Software Orientado a ObjetosAtributo

Atributos so definidos ao nvel da classe, enquanto que os valores dos atributos dos atributos so definidos ao nvel do objeto

Exemplos:uma pessoa (classe) tem os atributos nome, data de nascimento e pesoJoo uma pessoa (objeto da classe pessoa) com nome "Joo da Silva", data de nascimento "18/03/1973" e peso "70Kg"25Conceito de Software Orientado a ObjetosMtodos

O comportamento invocvel de objetos so os mtodos

Um mtodo algo que se pode pedir para um objeto de uma classe fazer

Objetos da mesma classe tem os mesmos mtodos

Mtodos so definidos ao nvel de classe, enquanto que a invocao de uma operao definida ao nvel de objeto26Conceito de Software Orientado a ObjetosMensagens

Uma mensagem uma solicitao feita por um objeto A a um objeto B

Como resultado desta solicitao, o objeto B ir modificar seu estado ou ir retornar algum valor

O conceito de mensagem est diretamente associado ao conceito de operao

A interao entre os objetos feita atravs da troca de mensagens

27Conceito de Software Orientado a ObjetosHierarquia

Quando vamos trabalhar com um grande conjunto de classes de objetos, necessrio organizar estas classes de maneira ordenada de modo que tenhamos uma hierarquia

Em uma hierarquia de classes teremos as classes mais genricas no topo, e as mais especficas na base.28Conceito de Software Orientado a ObjetosHierarquia

Automveisautomveis utilitrios (camionetes leves)utilitrios urbanosutilitrios off-roadautomveis de passeiopasseio famliapasseio esportivoautomveis de cargacarga inflamveiscarga com frigorfico29Conceito de Software Orientado a ObjetosHerana

Em uma hierarquia de classes semelhantes podemos dizer que as classes mais especficas herdam as caractersticas das mais genricas, ou seja, todo automvel de passeio famlia um automvel de passeio

A classe

Recommended

View more >