FACULDADE DO LITORAL SUL PAULISTA FALS MARCOS ANTONIO FERIAN FILHO SISTEMA DE GERENCIAMENTO DE VENDA UML

Tamanho: px
Começar a partir da página:

Download "FACULDADE DO LITORAL SUL PAULISTA FALS MARCOS ANTONIO FERIAN FILHO SISTEMA DE GERENCIAMENTO DE VENDA UML"

Transcrição

1 FACULDADE DO LITORAL SUL PAULISTA FALS MARCOS ANTONIO FERIAN FILHO SISTEMA DE GERENCIAMENTO DE VENDA UML PRAIA GRANDE 2010

2 MARCOS ANTONIO FERIAN FILHO SISTEMA DE GERENCIAMENTO DE VENDA UML Projeto de Matéria de Trabalho de conclusão de curso, Faculdade do Litoral Sul Paulista, sob orientação do Prof. Paulo R. T. Cândido. PRAIA GRANDE 2010

3 MARCOS ANTONIO FERIAN FILHO SISTEMA DE GERENCIAMENTO DE VENDA UML Projeto de Matéria de Trabalho de conclusão de curso, Faculdade do Litoral Sul Paulista, sob orientação do Prof. Paulo R. T. Cândido. AVALIAÇÃO: NOTA: ( ) PRAIA GRANDE 2010

4 RESUMO É de extrema importância utilizar uma metodologia de desenvolvimento de sistema para obtermos, desde os primeiros passos, até a etapa final de conclusão do projeto de software. Citamos a UML por ser a unificação das três mais conceituadas linguagens de modelagem de sistemas orientadas a objetos (Booch de Grady, OOSE de Jacobson e o OMT de Rumbaugh). Este trabalho mostra a utilização da UML no sistema para que se possa criar uma metodologia de desenvolvimento do sistema que englobe todas as fases do projeto, desde os eventos iniciais, passando pelo levantamento de Requisitos, Análise, Projeto, Programação e Testes. PALAVRAS CHAVES: metodologia, desenvolvimento, UML, Programação.

5 5 ABSTRACT It is extremely important to use a system development methodology to obtain, from the early stage until the final stage of completing the software project. We quote the UML to be the unification of the three most prestigious modeling languages for object-oriented systems (Grady Booch, OMT and Jacobson's OOSE of Rumbaugh). This work shows the use of UML in the system so you can create a system development methodology that encompasses all phases of a project from the initial events, going from Olympic Requirements, Analysis, Design, Programming and Testing. KEY WORDS: methodology, development, UML, Programming

6 6 SUMÁRIO 1 INTRODUÇÃO... Erro! Indicador não definido. 1.1 APRESENTAÇÃO OBJETIVOS GERAIS E ESPECÍFICOS JUSTIFICATIVA ABRANGÊNCIA METODOLOGIA ESTRUTURA ANÁLISE E PROJETOS ORIENTADOS A OBJETOS CONCEITOS E HISTÓRIA ANÁLISE ORIENTADA A OBJETOS O PROJETO ORIENTADO A OBJETOS CLASSES OBJETOS ABSTRAÇÃO Abstração de procedimentos Abstração de dados ENCAPSULAMENTO HERANÇA POLIMORFISMO UML INTRODUÇÃO HISTÓRICO COMPLETO ACEITAÇÃO PADRONIZAÇÃO OMG APLICAÇÃO DA UML ETAPAS DE DESENVOLVIMENTO DE UM SISTEMA UTILIZANDO UML ANÁLISE DE REQUISITOS ANÁLISE PROJETO PROGRAMAÇÃO...25

7 7 4.5 TESTES MODELOS DE ELEMENTOS DEFINIÇÃO RELEMBRANDO CLASSES Nomes Relembrando atributos OPERAÇÕES Relembrando objetos ESTADOS PACOTES COMPONENTES RELACIONAMENTOS ASSOCIAÇÕES Agregação Generalizações Generalização normal Generalização restrita DEPENDÊNCIA E REFINAMENTOS MECANISMOS GERAIS DIAGRAMAS CONCEITOS Diagrama de Casos de Uso DIAGRAMA DE CLASSES DIAGRAMA DE OBJETOS DIAGRAMA DE ESTADOS DIAGRAMA DE SEQUÊNCIA DIAGRAMA DE COLABORAÇÃO DIAGRAMA DE ATIVIDADES DIAGRAMA DE COMPONENTES DIAGRAMA DE IMPLANTAÇÃO CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS Referencial Eletrônico... 55

8 8 1 INTRODUÇÃO 1.1 APRESENTAÇÃO Os desenvolvimentos do sistema de software de grande porte são suportados por métodos de análise e projeto que modelam esse sistema de modo a fornecer para todos os envolvidos (cliente, analista, programador, etc) uma compreensão única do projeto. A UML não é uma metodologia de desenvolvimento, o que significa que ela não diz pra você o que fazer primeiro, qual passo inicial ou como projetar seu sistema, mas ela auxilia na visualização dele como um todo e a comunicação entre os objetos. A UML traz novos conceitos que geralmente não são usados, um bom entendimento dessa linguagem não é somente um conhecimento básico de sua simbologia e significado, mas também um contexto geral de modelagem orientada a objetos. Com a junção das três mais conceituadas metodologia de modelagem orientada a objetos criou-se a UML, aproveitando o que havia de melhor em cada um delas, adicionando conceitos e visões da linguagem. UML permite criar certos conceitos mais claramente que as linguagens alternativas (Fowler, 2000). Para entendermos melhor, conceituamos UML como uma padronização de modelagem orientada a objetos, de forma que qualquer sistema possa ser modelado corretamente, com consistência, fácil de ser entendido, atualizado e compreensível. Com este trabalho, pretendo justamente, pesquisar sobre esta linguagem de modelagem, suas aplicações, vantagens e desvantagens.

9 9 1.2 OBJETIVOS GERAIS E ESPECÍFICOS Objetivamos de maneira geral com esta pesquisa, o estudo aprofundado de uma metodologia de modelagem unificada de desenvolvimento de sistemas orientados a objetos baseados em UML e sua utilização para melhor entendimento graficamente representado, o nosso sistema de carimbos. Claramente, os objetivos apresentados são: Aprofundar nosso estudo sobre UML, obtendo um amplo conhecimento sobre essa metodologia; Estudar como se desenvolve uma metodologia de desenvolvimento de Sistemas; Mostrar a importância do uso da metodologia no desenvolvimento de Sistemas; Desenvolver uma metodologia de trabalho baseada em UML; Mostrar as grandes vantagens da UML utilizando como estudo de caso situações rotineiras do nosso sistema;

10 JUSTIFICATIVA Com o interesse em estudar uma metodologia unificada de desenvolvimento baseada no nosso sistema, desenvolvemos o presente projeto com o intuito de apresentar uma metodologia e salientar a importância da sua aplicação, a qual nos ajuda resolver muitos problemas encontrados no decorrer de todo o desenvolvimento de um sistema. 1.4 ABRANGÊNCIA A UML é uma linguagem de desenvolvimento de sistemas orientados a objetos dominantes, comuns entre os melhores analistas e desenvolvedores. Pretendemos comprovar a eficácia do uso desta metodologia. Pontos a serem citados: A Modelagem de Sistema, usando os conceitos da orientação a objetos; Estabelecer um método conceitual entre toda equipe envolvida no projeto do sistema (cliente, analista, desenvolvedor, etc) Mostrar a qualidade de um sistema desenvolvido utilizando UML. 1.5 METODOLOGIA Para organizarmos melhor o trabalho, vamos definir as seguintes etapas: Estudo da Metodologia UML; Conceitos sobre esta metodologia; Utilização da metodologia estudada com base no nosso sistema de carimbos; Estudo e definição de ferramentas para desenvolvimento de sistemas; Conclusão sobre a metodologia utilizada e sua aplicação;

11 ESTRUTURA Este tópico falará um pouco do nosso trabalho e no que constitui cada capítulo. No capítulo 2, descreveremos um pouco da análise de projetos orientados a objetos, necessidades, surgimento, utilização, etc. Esse capítulo é extremamente importante para o entendimento da análise orientada a objetos. No capítulo 3, faremos a introdução a UML (Unified Modeling Language ou Linguagem de Modelagem Unificada), citaremos sua utilização, o que ela nos disponibiliza, aceitação, padronização, documentação, atualização e aplicações. No capítulo 4, falaremos um pouco das etapas técnicas da UML, essas etapas vão desde o levantamento dos requisitos até, praticamente, o fim do projeto, que é a fase de testes. O capítulo 5 traz uma definição de modelos de elementos e descreve detalhadamente todos os modelos de elementos utilizados pela UML. O capítulo 6 fala um pouco sobre os diagramas de UML, mostra um pouco dos 9 tipos de diagramas utilizados pela UML, exemplificando graficamente e simulando o uso de alguns destes diagramas. Neste capítulo também, você poderá ver, o uso de dois destes diagramas com teste em diversos cenários no nosso sistema. No capítulo 7 faremos as conclusões finais sobre todo o trabalho. O capítulo 8 traz toda a bibliografia utilizada no desenvolvimento do trabalho.

12 12 2 ANÁLISE E PROJETOS ORIENTADOS A OBJETOS 2.1 CONCEITOS E HISTÓRIA Como vimos, a importância da modelagem dentro de um sistema é indiscutível, ela é a parte central que leva a todas s informações para a implantação de um bom sistema. Com ela, podemos visualizar e controlar o desenvolvimento de um sistema de maneira eficaz, identificando e gerenciando riscos, estipulando e cumprindo prazos, dentro das estimativas de custo. Tendo como base essas informações iniciais, várias metodologias para o desenvolvimento de sistemas foram criadas. As primeiras, que foram as metodologias estruturadas, caracterizam o desenvolvimento de um sistema em torno de procedimentos e funções. Até os dias de hoje, existem sistemas ainda desenvolvidos com base em metodologias estruturadas, o que os torna pouco estáveis, pelo fato de que, à medida que os requisitos vão se modificando com o crescimento da empresa, a manutenção do sistema, necessária, fica cada vez mais difícil. Com a evolução das metodologias, o desenvolvimento de sistemas passou a ter uma visão diferenciada, com outras perspectivas. Foi nesse momento, que surgiu as metodologias orientadas a objetos, que caracterizam o escopo do desenvolvimento do sistema em torno de classes e objetos. Essa metodologia foi muito bem aceita no mundo dos desenvolvedores, tendo em vista, que o método orientado a objetos possibilitava a construção de projetos de sistemas de todos os tipos de domínio e problema, incluindo todos os graus de tamanho e complexibilidade. O sucesso da modelagem orientada a objetos foi tão grande, que em pouco tempo, foram surgindo muitos e muitos métodos, e esse crescimento deu-se de maneira desordenada em um curto espaço de tempo. Eram inúmeros métodos, cada um com suas peculiaridades e falhas, e sem nenhum relacionamento com os demais. Sendo assim, os usuários destes métodos, sentiram a dificuldade de encontrar um, que atendesse todas as suas expectativas, o que ocasionou a chamada guerra de métodos.

13 13 Como toda guerra sempre tem um vencedor, nos métodos não foi diferente. Tendo os métodos de maior destaque dentre todos, méritos de Jacobson, Booch e Rumbaugh, surgiu a linguagem de modelagem unificada, a UML. Porém, a UML é apenas parte de uma metodologia, ela disponibiliza as ferramentas necessárias para se criar e ler modelos, mas não aponta quais modelos deverão ser criados, nem quando deverão ser criados. Essa tarefa é responsabilidade de um processo de desenvolvimento de sistema. Mesmo com todo o avanço das metodologias, a UML precisava interagir com uma metodologia específica que pudesse obter o máximo proveito dos recursos da Linguagem de Modelagem Unificada, foi criado então o Processo Unificado. E foi assim que as respostas para quem está fazendo o que, quando e como puderam ser definidas e um padrão no desenvolvimento de sistemas orientado a objetos pode ser definido. 2.2 ANÁLISE ORIENTADA A OBJETOS Análise é um estudo de um problema antes de qualquer ação (De Marco, 1978). Analisar é você identificar as necessidades de um sistema, e o que este precisa ter para atender os requisitos levantados de acordo com as necessidades do usuário. Analisar não é definir ou pensar como o sistema será desenvolvido, mas sim investigar o problema a ser resolvido com a implantação do sistema. O grande objetivo da Análise Orientada a Objetos é, primeiramente, tornar formal uma visão do mundo real no qual o sistema será desenvolvido, estabelecendo os objetos que serão pontos chaves na estrutura organizacional e também as que o mundo real impõe. Depois, essa análise formaliza a colaboração de um dado conjunto de objetos na execução do sistema que está sendo desenvolvido. 2.3 O PROJETO ORIENTADO A OBJETOS O Projeto Orientado a Objetos é o momento da especificação das partes da construção, ou seja, instruções, guias, recomendações, etc. É utilizado para implementar um sistema em um ambiente específico, em prol da solução do problema.

14 CLASSES As classes são utilizadas para compor o vocabulário do sistema que está sendo desenvolvido, através da abstração de objetos que constituem o domínio do problema. Vamos exemplificar da seguinte maneira: As classes são utilizadas para agrupar os objetos que possuem os mesmos atributos e comportamentos: Todos os alunos de uma escola possuem atributos comuns: nome, sobrenome, data de nascimento, nome da mãe, nome do pai e um comportamento comum. Podemos nos referir a um estudante tanto para inscrevê-lo ou retirá-lo. Os valores destes atributos variam para cada um deles, ou seja, na maioria das vezes, são diferentes, mas todos eles compartilham os mesmos atributos e comportamentos (operações podem ser realizadas sobre eles) Outro exemplo podemos ter uma classe chamada Cachorro, como atributos a um cão podemos considerar: Nome, Peso e Cor do pelo e as operações ou métodos, que representam o que esse cachorro faz podemos citar latir e abanar. Simbolizamos essa classe, seus atributos e operações da seguinte maneira: FIGURA 1 CLASSE CACHORRO

15 OBJETOS Um objeto representa uma coisa física, tangível, uma idéia ou um conceito. Um objeto é uma instância de uma classe. FIGURA 2 EXEMPLO DE OBJETO Um objeto pode ser composto por outro objeto, ou mesmo pode pedir a colaboração de outro objeto enviando uma mensagem, o que denominamos invocar um método do outro. 2.6 ABSTRAÇÃO Abstração é o princípio de ignorar os aspectos de um assunto não relevante para o propósito em questão, tornando possível uma concentração maior nos assuntos principais. (Cood, 1991) Na Análise Orientada a Objetos, podemos considerar duas formas existentes de abstração, de Procedimentos e de Dados.

16 Abstração de procedimentos Consiste em considerar um procedimento como uma operação bem definida, como algo único, mesmo que se utilize mais procedimento interno. Esse tipo de abstração é utilizado quando uma função se divide em outras sub-funções, que por sua vez, decompõe-se em outras funções Abstração de dados Consiste em definir um tipo de dado conforme as operações aplicáveis aos objetos desse tipo, ou seja, a definição de um tipo de dado por seu comportamento e estado utilizando-se métodos. A manipulação deste dado é realizada somente através de seu método. Um exemplo é classificar uma lista a partir das operações aplicadas a ela, como inserção e remoção. Qualquer objeto do tipo lista, só pode sofrer modificações através dessas operações. 2.7 ENCAPSULAMENTO Podemos definir encapsulamento como a separação de um programa em partes, o mais isoladas possível. O objetivo principal é tornar o software mais flexível, fácil de modificar e criar novas implementações. Como exemplo podemos classificar uma dona-de-casa sendo o usuário e um liquidificador sendo o sistema. A dona-de-casa não precisa conhecer o circuito interno para utilizar o liquidificador, apenas os botões que o fazem funcionar. Uma grande vantagem do encapsulamento é que toda parte pode ser modificada sem que os usuários da classe em questão sejam afetados. No exemplo anterior, vamos supor que o liquidificador precisou de reparo e a dona-de-casa chamou um técnico, o técnico poderia facilmente substituir o motor do liquidificador por outro totalmente diferente sem que a dona-de-casa fosse afetada, pois ela ia continuar somente pressionando os botões.

17 HERANÇA O conceito de herança se refere ao compartilhamento de atributos e operações com base numa relação hierárquica entre diversas classes. Uma classe pode ser definida em forma geral e em seguida, refinada em subclasses seguintes. Cada subclasse herda propriedades (atributos e operações) de suas superclasses. Representamos da seguinte maneira: FIGURA 3 HERANÇA O objetivo de utilizar a herança é a intenção de aproveitar código ou comportamento generalizado ou especializar operações ou atributos. O conceito de herança de várias classes é conhecido como herança múltipla. Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada, por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa. Esta é provavelmente a característica mais discutida da abordagem orientada a objetos. (Mazzola, 1999) 2.9 POLIMORFISMO O termo Polimorfismo foi gerado do grego (poli = muitas e morphos = formas). Na Análise Orientada a Objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes

18 18 concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogenia (através da interface do tipo mais abstrato). Um conceito em teoria de tipo no qual um nome (como uma declaração de variável) pode denotar objetos de muitas subclasses diferentes que são relacionadas por alguma superclasse comum, assim, qualquer objeto denotado por esse nome tem a capacidade de responder a algum conjunto comum de operações de modos diferentes. (Booch, 2000).

19 19 3 UML 3.1 INTRODUÇÃO A UML é a linguagem padrão para especificar, visualizar, documentar e construir artefatos de um sistema e pode ser utilizada com todos os processos ao longo do ciclo de desenvolvimento e através de diferentes tecnologias de implementação. (Furlan, 1998) A UML disponibiliza uma forma padrão de modelagem de projetos de Sistemas, incluindo seus aspectos conceituais tais como processos de negócios e funções do sistema, além de itens concretos como as classes escritas em determinada linguagem de programação, processos de banco de dados e componentes de software reutilizáveis. 3.2 HISTÓRICO COMPLETO As linguagens de modelagem orientadas a objetos surgiram entre a metade da década de 1970 e o final da década de 1980, à medida que o pessoal envolvido com metodologia, diante de um novo gênero de linguagens de programação orientadas a objeto e de aplicações cada vez mais complexas, começou a experimentar métodos alternativos de análise e projeto. A quantidade de métodos orientados a objetos aumentou de pouco mais de 10 para mais de 50 durante o período de 1989 a Muitos usuários desses métodos tiveram dificuldades para encontrar uma linguagem de modelagem capaz de atender inteiramente às suas necessidades. Destacaram-se algumas linguagens como o Booch, o OOSE (Object-Oriented Software Engineering) de Jacobson, e o OMT (Object Modeling Technique) de Rumbaugh. Podemos citar outros métodos importantes como Fusion, Shlaer-Mellor e Coad-Yourdon. Todos eram métodos completos, alguns se destacavam em algum ponto, porém tinham suas limitações. O método Booch destacava-se durante as fases de projeto e construção de sistemas, o OOSE fornecia excelente suporte para captura

20 20 de requisitos, a análise e o projeto em alto nível; o OMT-2 era mais útil com a análise e sistemas de informações com uso de dados[booch, 2000]. Na metade da década de 1990, Grady Booch (Rational Software Corporation), Ivar Jacobson (Objectory) e James Rumbaugh (General Electrics) criadores de métodos orientados a objetos, começaram a pegar as melhores idéias e partiram para a criação de uma linguagem unificada de modelagem. Com isso esperavam fornecer ao mercado uma linguagem mais concreta e madura com os quais os desenvolvedores de ferramentas pudessem criar uma ferramenta mais utilizável. Usando técnicas orientadas a objeto criariam uma linguagem que iria desde o conceito até o sistema executável, não somente a sistemas complexos mas também a sistemas menores e também a outros problemas que não fossem sistemas de informação, podendo ser utilizado por seres humanos e máquinas[furlan, 1998]. A criação da UML iniciou oficialmente em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational. O foco inicial do projeto era a unificação dos métodos Booch e OMT[Furlan, 1998]. O esboço da versão 0.8 do Método Unificado foi lançado em outubro de Mais ou menos na mesma época Jacobson se associou à Rational com a finalidade de incorporar o OOSE no escopo inicial da versão 0.8, resultando o lançamento da versão 0.9 da UML em junho de 1996[Booch, 2000]. Foi então aprovada pela comunidade de engenharia de software em geral. Muitas empresas ficaram interessadas, foi então criada um consórcio com várias empresas interessadas em dedicar recursos com o propósito de trabalhar uma definição mais forte e completa da UML. Empresas que contribuíram para a definição da UML 1.0, Digital Equipment Corporationm Hewlett-Packard, I-Logix, Intel-licorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational, Texas Instruments e Unisys. Resultando uma linguagem de modelagem bem definida, expressiva, poderosa, e que poderia ser aplicada a uma grande variedade de tipos de problemas [Booch, 2000]. A UML foi oferecida para a OMG (Object Management Group) em janeiro de 1997, em resposta à solicitação do próprio OMG de propostas para uma linguagem padrão de modelagem[furlan, 1998]. Entre janeiro a julho de 1997, o grupo original se expandiu, passando a incluir virtualmente todos os participantes e colaboradores da resposta inicial ao OMG, entre os quais se encontravam Andersen Consulting, Ericson, Object Time

21 21 Limited, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling Software e Taskon. Um grupo foi formado, liberado por Cris Kobryn da MCI Systemhouse e administrado por Ed Eykholt da Rational, com o propósito de formalizar a especificação da UML e de integrar a linguagem a outros esforços de padronização. A versão 1.1 foi entregue a OMG em julho de Em setembro do mesmo ano, essa versão foi aceita pela ADTF (Analysis and Design Task Force) e pelo Architecture Board do OMG e, posteriormente submetida a votação de todos os membros da OMG. A versão 1.1 foi adotada pela OMG em 14 de novembro de 1997[Booch, 2000]. A manutenção da UML foi então assumida pela RTF (Revision Task Force) do OMG, sob a responsabilidade de Cris Kobryn. A RTF lançou uma revisão editorial, a UML 1.2., em junho de No final do mesmo ano, a RTF lançou a UML 1.3[Furlan, 1998]. 3.3 ACEITAÇÃO Para se estabelecer a UML, os desenvolvedores perceberam que a linguagem teria que estar acessível para todos, então, preocuparam-se em deixá-la aberta aos desenvolvedores, onde os mesmos pudessem criar seu próprio método de trabalho. Empresas desenvolvedoras de ferramentas estão livres para criarem uma ferramenta aqueda ao uso da UML. Devido a necessidade de criação da UML empresas e profissionais liberais da área estão desenvolvendo estudos para melhor aplicá-la. 3.4 PADRONIZAÇÃO OMG Quando se iniciaram os trabalhos para criação da UML, os criadores tinham como intenção fazer sua aceitação com a distribuição da linguagem a vários desenvolvedores. A OMG (Object Management Group) fez um requerimento por uma linguagem de modelagem padrão. Então houve interesse dos criadores da UML em padronizá-la, para isso foi preciso que os mesmos aprimorassem a qualidade da

22 22 linguagem para tal. Pois para serem realmente utilizadas por empresas era necessário sua padronização. 3.5 APLICAÇÃO DA UML A UML pode ser utilizada para modelar as várias fases de um sistema, desde o levantamento de requisitos até a geração do código, pode ser aplicada em qualquer tipo de sistema em termos de diagramas orientado a objeto. Normalmente. É mais usada na modelagem de Softwares sob o conceito de orientação a objetos, mas também, pode ser aplicada em sistemas mecânicos, de engenharia geral, totalmente desligados do ramo da informática, também pode ajudar na organização de processos de uma empresa. Numa classificação geral, podemos dizer que ela pode ser aplicada em várias áreas diferentes para documentar e transmitir qualquer coisa da empresa aos processos de negócios para o software.

23 23 4 ETAPAS DE DESENVOLVIMENTO DE UM SISTEMA UTILIZANDO UML 4.1 ANÁLISE DE REQUISITOS Um requisito é uma funcionalidade ou condição que o sistema deverá ter, para não errar no levantamento dos requisitos e os identificar adequadamente, aplica-se um conjunto de técnicas de modo a perceber detalhadamente o que o sistema, necessariamente, deverá efetuar. Fazem parte deste conjunto de técnicas: Reuniões com os interessados; Elaboração de questionários sobre o sistema; Observação das atividades e do funcionamento diário das rotinas da empresa; O recolhimento e análise de documentações diversas; A elaboração de pequenos protótipos do sistema que permitam validar mais facilmente a percepção obtida (tendo em vista que uma imagem é fundamental para o entendimento do que vai ser feito); Preocupação para encontrar a melhor solução; Analisar, não somente, as funcionalidades atuais, mais também uma situação futura a ser atingida; Esta fase captura as intenções e necessidades dos usuários do sistema a ser desenvolvido através do uso de funções chamadas use-cases. (Barros, 2001) Deve-se sempre ter em vista a melhor solução, pois as vezes aquilo que o utilizador pede não é sempre o que ele necessita. Através do desenvolvimento de casos de uso (em UML chamamos de Use-Cases ), as entidades externas do sistema (em UML chamamos de atores externos ) que interagem e possuem interessa no sistema, são modelados entre as funções que o mesmo vai desenvolver, funções, estas chamadas de use-cases. Os atores externos e os use-case são modelados através de relacionamentos que possuem comunicação por associação entre eles ou são desmembrados em hierarquia. Descrevemos um use case através de um texto, especificando os

24 24 requisitos do ator externo que utilizará esse use case. Um use case tanto pode depender de um ou mais use-case, como também, pode ter seus dependentes. Através do diagrama de use-case ou diagrama de casos de uso mostraremos aos atores externos, ou seja, futuros usuários, o que estes podem esperar do sistema. Vamos exemplificar utilizando um sistema acadêmico, considera-se que os clientes usuários, professores e secretaria da escola desejam que o sistema ofereça os seguintes serviços: Possibilidade de Cadastramento de todos os alunos matriculados no curso. Isto nos mostra que o sistema deverá ter um serviço de inclusão de novos alunos e manutenção da base de dados dos alunos. Esta funcionalidade do sistema poderia ser representada pelo caso de uso Cadastrar Aluno. Possibilidade de Cadastramento de todos os professores que trabalham nesta unidade escolar e ministram disciplina no curso. Isto nos mostra que o sistema deverá ter um serviço de inclusão de novos professores e manutenção da base de dados dos professores. Esta funcionalidade do sistema poderia ser representada pelo caso de uso Cadastrar Professor. Possibilidade de registro das disciplinas oferecidas no curso, com a capacidade de registrar novas disciplinas e a manutenção da base de dados das disciplinas. Este uso do sistema será representado pelo caso de uso Cadastrar Disciplina. Possibilidade de registro da matrícula dos alunos em cada semestre. Este serviço será representado pelo caso de uso Registrar Matrícula. Possibilidade da emissão da confirmação de matrícula para cada aluno, contendo a lista de disciplinas nas quais um aluno se matriculou para aquele semestre. Este serviço será representado pelo caso de uso Emitir Confirmação de Matrícula. O conjunto de casos de uso definidos representa os serviços ou uso esperado pelos clientes que utilizaram o sistema. Assim como para os atores, nem

25 25 sempre é possível efetuar um levantamento completo e definitivo dos casos de uso em uma primeira tentativa. Ao longo do processo de refinamento, novos casos de uso poderão aparecer e outros sofrerem alterações. 4.2 ANÁLISE Nesta fase dominamos somente as classes que pertencem ao domínio principal do problema, ou seja, classes técnicas mais complexas não estarão nesse diagrama. A fase de análise preocupa-se com as primeiras abstrações(classes e objetos) e mecanismos presentes no contexto do problema. (Larman, 2000) Descrevemos as classes nos Diagramas de Classes e também para ajudar na descrição dos casos de uso, podendo estar ligado umas nas outras por meio de relacionamentos. 4.3 PROJETO Projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. Neste momento partiremos para as soluções técnicas, através dos resultados obtidos nas fases de análise. Serão adicionadas novas classes para oferecer uma infra-estrutura técnica, tais como: interface do usuário e periféricos, banco de dados, interação com outros sistemas, e outras mias. Este é o momento da junção da fase de análise com as classes técnicas da nova infra-estrutura, podendo assim, alterar tanto o domínio principal do problema quanto a infraestrutura. É justamente, com a elaboração do projeto que obtemos detalhadamente as especificações para dar início a fase da programação. 4.4 PROGRAMAÇÃO Esta fase só terá um bom desempenho se o projeto for muito bem elaborado, neste momento converteremos as classes da fase do projeto para o código da linguagem orientada a objetos escolhida.

26 26 Em UML durante a elaboração dos modelos de análise e projeto, não devemos traduzi-los em códigos, cabendo esta tarefa a fase de programação. 4.5 TESTES Na fase de teste, testamos o programa ao máximo na intenção de descobrir erros. Cada rotina e método são testados minuciosamente, bem como a integração de todos os processos e a aceitação. As rotinas devem ser testadas de duas formas, uma pelo programador, que sabe tudo sobre técnica, pontos críticos das classes e subclasses, e outra pelas rotinas do usuário, pois ele irá fazer o teste do seu modo, tendo em vista uma visão da rotina como um todo. Os testes de integração são feitos usando as classes e seus componentes de integração para verificar se estas classes estão realmente colaborando uma com as outras conforme especificado nos modelos. Nos testes de aceitação é verificado se o sistema está de acordo com o especificado no diagramas de use-cases. Por fim, o sistema é testado pelo usuário final e este verá se o mesmo está de acordo com suas necessidades expressas no começo do projeto.

27 27 5 MODELOS DE ELEMENTOS 5.1 DEFINIÇÃO Os conceitos utilizados nos diagramas são chamados de modelos de elementos (Barros, 2001). Um modelo de elemento é definido com a semântica, a definição formal do elemento com o exato significado do que ele representa sem definições duvidosas ou ambíguas e também define sua representação gráfica que é mostrada nos diagramas da UML. Um elemento pode aparecer em diversos tipos de diagrama, mas existem regras que definem quais elementos podem aparecer em tais diagramas. Podemos citar como exemplos de modelos de elementos: classes, objetos, estados, pacotes etc. Os relacionamentos também são modelos de elementos e são usados para conectar outros modelos de elementos entre si. Para entrarmos definitivamente nesta parte de elementos e diagramas, precisamos estar desprovidos de dúvidas quanto classes, objetos, estado, etc. Vamos relembrar! 5.2 RELEMBRANDO CLASSES Vimos mais acima, que classe é a descrição de um conjunto de objetos que compartilham os mesmos atributos, relacionamentos, operações e semânticas e podem ser implantadas em uma ou mais interfaces. Como exemplo demos a classe cachorro, no capítulo 2, no item Nomes Todas as classes devem ter um nome que as diferencie das demais. Como no exemplo do capítulo 2, o nome da nossa classe é cachorro.

28 Relembrando atributos Vimos que um atributo é uma prioridade de uma classe, que descreve um intervalo de valores que as instâncias da prioridade podem apresentar. No exemplo do capítulo 2, usamos como atributos para a nossa classe cachorro os atributos: Nome, Peso e Cor do Pelo. 5.3 OPERAÇÕES São processos que as classes podem realizar. Operações correspondem claramente a métodos em uma classe. No nível de especificação, as operações correspondem a métodos públicos. Normalmente você não mostra as operações que simplesmente manipulam atributos, porque elas podem ser freqüentemente inferidas. Portanto você terá que identificar se um atributo é somente leitura, isto é, seu valor nunca muda. No modelo de implementação, você também pode querer mostrar operações privativas (private) e protegidas (protected). Uma classe pode ter várias operações ou simplesmente nenhuma, elas são respresentadas logo após os atributos. No nosso exemplo da classe cachorro, do capítulo 2, as operações eram latir e abanar Relembrando objetos Vimos que objetos são elementos que podemos manipular, acompanhar seu comportamento, criar, interagir com ele, ou até, destruí-lo. Ele pode existir no mundo real ou pode ser uma derivação de estudos da estrutura ou comportamento de outros objetos do mundo real. Corresponde a qualquer coisa que tenha algum significado para uma dada aplicação.

29 ESTADOS Todos objetos possuem um estado que significa o resultado de atividades executadas pelo objeto, normalmente este estado é determinado pelos valores dos atributos e ligações com outros objetos. Um objeto muda de estado quando algo acontece no sistema, este fato de mudança de estado de um objeto, chamamos de evento. Analisando essas mudanças de estado que um objeto pode sofrer, podemos prever todos os possíveis comportamento de um objeto e os eventos que o mesmo possa sofrer. Um estado pode ter três compartimentos: Nome do evento Mostra o nome do evento, na maioria das vezes este nome descreve o que este estado realiza. Atributos Mostra todas as possíveis variáveis do estado, onde os atributos do objeto em questão podem ser listados, consultados e atualizados. Atividades Aqui, podemos listar os eventos e ações. Esta dividido em três eventos: Entrar (define as atividades no momento em que o objeto entra naquele estado), Sair (define as atividades que o objeto executa antes de passar para o próximo estado) e Fazer (define as atividade que o objeto executa enquanto se encontra naquele estado). 5.5 PACOTES É um mecanismo de propósito geral para organizar elementos de modelos em grupo, podendo, inclusive, estar aninhando dentro de outros pacotes (pacotes subordinados). (Furlan,1998) O pacote tem uma grande similaridade com a agregação. O fato de um pacote ser composto de modelos de elementos cria uma agregação de composição. Se este for destruído, todo o seu conteúdo também será.

30 COMPONENTES Pode ser tanto um código em linguagem de programação, quanto um código executável já compilado. Exemplo, se um sistema é desenvolvido em Java, cada arquivo.java ou.class é um componente do sistema, e será mostrado no diagrama de componentes que o utiliza. 5.7 RELACIONAMENTOS Ligam classes e objetos entre si, criando relações lógicas entre essas entidades. Podemos classificá-los em 3 tipos: Associação É uma conexão entre as classes, e significa também, uma conexão entre os objetos daquelas classes. Em UML, uma associação é definida com um relacionamento que descreve uma série de ligações, onde a ligação é definida como a semântica, entre as duplas de objetos ligados. Generalização - É um relacionamento de um elemento mais geral e outro mais específico. O elemento mais específico pode conter apenas informações adicionais. Uma instância (um objeto é uma instância de uma classe) do elemento mais específico pode ser usada onde o elemento mais geral seja permitido. Dependência ou refinamentos - Dependência é um relacionamento entre elementos, um independente e outro dependente. Uma modificação é um elemento independente afetará diretamente elementos dependentes do anterior. Refinamento é um relacionamento entre duas descrições de uma mesma entidade, mas em níveis diferentes de abstração. 5.8 ASSOCIAÇÕES É uma conexão entre classes, e também significa que é uma conexão entre objetos daquelas classes. Em UML, uma associação é definida com um relacionamento que descreve uma série de ligações, onde a ligação é definida como a semântica entre as duplas de objetos ligados.

31 Agregação A agregação é um caso particular da associação. A agregação indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe. As palavras chaves usadas para identificar uma agregação são: "consiste em", "contém", "é parte de" Generalizações A generalização é um relacionamento entre um elemento geral e um outro mais específico. O elemento mais específico possui todas as características do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do elemento mais geral. A generalização, também chamada de herança, permite a criação de elementos especializados em outros. A generalização pode ser de dois tipos, normal ou restrita Generalização normal Na generalização normal a classe mais específica, chamada de subclasse, herda tudo da classe mais geral, chamada de superclasse. Os atributos, operações e todas as associações são herdados. Uma classe pode ser tanto uma subclasse quanto uma superclasse, se ela estiver numa hierarquia de classes que é um gráfico onde as classes estão ligadas através de generalizações. A generalização normal é representada por uma linha entre as duas classes que fazem o relacionamento, sendo que se coloca uma seta no lado da linha onde se encontra a superclasse indicando a generalização Generalização restrita Uma restrição aplicada a uma generalização especifica informações mais precisas sobre como a generalização deve ser usada e estendida no futuro. As restrições a seguir definem as generalizações restritas com mais de uma subclasse:

32 32 Generalizações de Sobreposição e Disjuntiva: Generalização de sobreposição significa que quando subclasses herdam de uma superclasse por sobreposição, novas subclasses destas podem herdar de mais de uma subclasse. A generalização disjuntiva é exatamente o contrário da sobreposição e a generalização é utilizada como padrão. Generalizações Completa e Incompleta: Uma restrição simbolizando que uma generalização é completa significa que todas as subclasses já foram especificadas, e não existe mais possibilidade de outra generalização a partir daquele ponto. A generalização incompleta é exatamente o contrário da completa e é assumida como padrão da linguagem. 5.9 DEPENDÊNCIA E REFINAMENTOS Dependência é um relacionamento entre elementos, um independente e outro dependente. Uma modificação a um elemento independente, afetará diretamente elementos dependentes do anterior. Uma relação de dependência é simbolizada por uma linha tracejada com uma seta no final em um dos lados do relacionamento. E sobre essa linha, o tipo de dependência que existe entre essas duas classes. Refinamento é um relacionamento entre duas descrições de uma mesma entidade, mas em níveis diferentes de abstração. Estes, são simbolizados por uma linha tracejada com um triângulo no final de um dos lados do relacionamento e são usados em modelos de coordenação. Em projetos maiores, todos os modelos que são feitos devem ser coordenados. Coordenação de modelos pode ser usada para mostrar modelos em diferentes níveis de abstração que se relacionam e mostram também como modelos em diferentes fases de desenvolvimento se relacionam MECANISMOS GERAIS Para tratar informações adicionais, a UML utiliza alguns mecanismos em seus diagramas: Ornamentos: Ornamentos gráficos são anexados aos modelos de elementos em diagramas e adicionam semântica ao elemento. Como exemplo de ornamento, podemos citar, a técnica de separar um tipo de uma instância.

33 33 Quando um elemento representa um tipo, seu nome é mostrado em negrito, quando o mesmo elemento representa a instância de um tipo, seu nome é escrito em sublinhado e pode significar tanto o nome da instância, quanto o tipo. Notas: Para permitir adicionar informações, a UML provê a capacidade de adicionar Notas. Uma nota pode ser colocada em qualquer lugar em um diagrama, e pode conter qualquer tipo de informação.

34 34 6 DIAGRAMAS 6.1 CONCEITOS O objetivo de se fazer modelagem, é você simplificar a realidade para um melhor entendimento do sistema que está sendo desenvolvido. Em UML, utilizamos blocos distintos, tais como: classes, interfaces, colaborações, componentes, dependências, associações, etc. Os diagramas são para visualizarmos os blocos em construção. Os diagramas utilizados em UML são separados em nove tipos: Diagrama de Casos de Uso, Classes, Objetos, Estados, Seqüência, Colaboração, Atividades, Componentes e Execução. Na seqüência trataremos cada um desses tipos de Diagrama e citaremos dois, detalhadamente, mostrando graficamente gráficos apresentando rotinas diretas do nosso sistema de carimbos. 6.2 Diagrama de Casos de Uso Um diagrama de caso de uso, ilustra um conjunto de casos de uso, para um sistema, os atores e a relação entre os atores e os casos de uso. (Larman,2000). Esse tipo de diagrama é utilizado pra mostrar como a empresa ou o sistema funciona, ou como os usuários desejam que ele funcione. Os caso de uso, geralmente são ponto de partida na análise orientada a objetos na UML. Esse modelo consiste de atores e casos de uso. Os atores representam usuário e outros sistemas que interagem com o modelado. Geralmente, representamos o ator, dentro de um diagrama por um homem palito. Os casos de uso mostram como o sistema se comporta, cenários que ele percorre em resposta ao estímulo do ator. Representamos os casos de uso por elipses. No modelo de caso de uso, o relacionamento entre um ator e um caso de uso representa a participação deste ator no caso de uso. Além deste relacionamento, existem dois outros tipos de relacionamento entre casos de uso:

35 35 Estender : É representado graficamente por uma seta com o esteriótipo <<extends>>, que nos permite entender que o caso de uso destino pode incluir o comportamento especificado pelo caso de uso origem; Usar: Representado por uma seta com o esteriótipo <<uses>>, nos permite entender que o caso de uso origem inclui o comportamento do caso de uso destino. Incluir: Representado por uma seta com o esteriótipo <<include>> é utilizado para incluir um comportamento comum de um caso de uso incluído para um caso de uso base, a fim de suportar a reutilização do comportamento comum. Exemplo de Diagrama de Caso de Uso: FIGURA 4 DIAGRAMA DE CASO DE USO 6.3 DIAGRAMA DE CLASSES Representamos uma classe em UML, com uma caixa retangular com três divisões: Nome da Classe, Lista de Atributos, e o último com Operações, como vimos no capítulo 2, a classe Cachorro. As associações representam relacionamentos estruturados entre os objetos de diferentes classes, e são representados graficamente através de uma linha conectando as classes. Uma associação pode ter um nome. E nas

36 36 extremidades da linha, que representa uma associação pode ter nome de papéis mostrando como a classe é vista pelas outras classes na associação. A multiplicidade especifica quantas instâncias de uma classe relaciona-se a uma única instância de uma classe associada. A multiplicidade é representada por um intervalo de valores possíveis, no seguinte formato: limite_inferior...limite_superior, onde esses limites são valores inteiros (o caracter * pode ser usado como limite_superior para indicar falta de limite). A agregação é uma forma especial de associação que representa o relacionamento todo-parte entre objetos. Ela é representada incluindo-se um losango na extremidade do objeto todo do relacionamento todo-parte. A generalização é uma ferramenta poderosa para a abstração. É um relacionamento existente entre uma classe mais geral (superclasse) e uma classe mais específica (subclasse), onde a classe mais específica é consistente com a mais geral e adiciona informações a ela. A generalização é representada por uma linha com um triângulo, que liga a classe mais específica a mais genérica. Exemplo de Diagrama de Classes: FIGURA 5 DIAGRAMA DE CLASSE 6.4 DIAGRAMA DE OBJETOS Fazem a modelagem de instância de itens contidos em diagrama de classes. Mostra um conjunto de objetos e seus relacionamentos em determinado

37 37 ponto no tempo. Estes diagramas não são importantes apenas para a visualização, especificação e documentação de modelos estruturais, mas também para a construção de aspectos estático de sistemas por meio de engenharia de produção e engenharia reversa [Booch, 2000]. Este tipo de diagrama cobrem um conjunto de instâncias dos itens encontrados nos diagramas de classes. Portanto, esse diagrama expressa a parte estática de uma interação, composta pelos objetos que colaboram entre si, mas sem qualquer uma das mensagens passadas entre eles. Nos dois casos, o Diagrama de Objetos congela um momento no tempo. São usados para fazer a modelagem da visão de projeto estática ou da visão de processo estática de um sistema, da mesma forma como faz os diagramas de classes, mas a partir da perspectiva de instâncias reais ou prototípicas. Este tipo de diagrama permite que você faça a modelagem de dados estáticos. Vejamos um exemplo de Diagrama de Objetos: FIGURA 6 DIAGRAMA DE OBJETOS 6.5 DIAGRAMA DE ESTADOS São usados para modelar o comportamento dinâmico de um sistema. Mostram o ciclo de vida de um objeto em níveis de detalhe arbitrariamente simples ou complexos [Larman, 2000].

38 38 Visualizam a seqüência de estados que um objeto ou uma interação percorre durante sua vida em resposta a estímulos recebidos, junto com suas próprias ações e respostas. Os estados representam as condições dos objetos em um determinado momento. Neste diagrama os eventos são incidentes que fazem o objeto mudar de um estado para outro. As linhas de transição descrevem o movimento de um estado para outro. Cada linha de transição é rotulada com o evento que causou a transição. Estudamos o Diagrama de Estados para que pudéssemos visualizar melhor todos os estados que passavam os objetos do diagrama da empresa de carimbos durante ações rotineiras do sistema, portanto, vamos mostrar mais de um exemplo neste diagrama, que se trata do nosso sistema.

39 39 Exemplo 1 Construímos estes diagramas de acordo com nosso sistema. Utilizamos para isso duas ações de rotina que são Cadastrar Venda e cadastrar Preços. Cadastrar Venda Cadastrar Preços Inicio das operações Digitando os dados da Venda Inicio das operações Digitando os dados dos preços ValidandoDados() ValidandoDados() Concluindo a venda Concluindo o cadastro ValidandoDados() ValidandoDados() Efetuando a Venda Efetuando o cadastro Fim das operações Fim das operações FIGURA 7 CADASTRAR VENDAS E PREÇOS

40 40 Exemplo 2 Diagrama de Estado Cadastrar Cliente e Cadastrar Fornecedor Cadastrar Cliente Cadastrar Fornecedor Inicio das operações Digitando os dados do cliente Inicio das operações Digitando os dados do fornecedor ValidandoDados() ValidandoDados() Concluindo o cadastro Concluindo o cadastro ValidandoDados() ValidandoDados() Efetuando o cadastro Efetuando o cadastro Fim das operações Fim das operações FIGURA 8 CADASTRAR CLIENTE E FORNECEDOR

41 41 Exemplo 3. Diagrama de Estado Cadastrar Débito e Cadastrar Credito. Cadastrar Debito Cadastrar Credito Inicio das operações Preparando os dados para o debito Inicio das operações Preparando os dados para o credito Efetuando debito Efetuando credito Concluindo o debito Concluindo o credito FIGURA 9 CADASTRAR DÉBITO E CRÉDITO

42 42 Exemplo 4 Diagrama de Estado Cadastrar Produto e Cadastrar Usuário Cadastrar Produto Cadastrar Usuário Inicio das operações Digitando os dados do produto Inicio das operações Digitando os dados do usuário ValidandoDados() ValidandoDados() Concluindo o cadastro Concluindo o cadastro ValidandoDados() ValidandoDados() Efetuando o cadastro Efetuando o cadastro Fim das operações Fim das operações FIGURA 10 CADASTRAR PRODUTO E USUÁRIO

43 43 Exemplo 5 Diagrama de Estado Cadastrar Movimentação e Cadastrar Pedido Cadastrar Movimentação Cadastrar Pedido Inicio das operações Preparando os dados para movimentação Inicio das operações Preparando os dados para o pedido Efetuando a movimentação Efetuando o pedido Concluindo a movimentação Concluindo o pedido Fim das operações Fim das operações FIGURA 11 CADASTRAR MOVIMENTAÇÃO E PEDIDO 6.6 DIAGRAMA DE SEQUÊNCIA São usados para modelar a interação entre objetos dentro de um sistema, tipicamente, este tipo de diagrama captura o comportamento de um único caso de uso. O Diagrama apresenta os objetos e as mensagens que são passadas entre estes objetos dentro caso de uso. Os objetos são representados por linhas tracejadas verticais e a passagem de mensagens entre dois objetos são representados por vetores horizontais. As mensagens são desenhadas cronologicamente do topo a base do diagrama.

44 44 Exemplo de Diagrama de Seqüência FIGURA 12 DIAGRAMA DE SEQUÊNCIA 6.7 DIAGRAMA DE COLABORAÇÃO É uma outra alternativa para a modelagem de interações entre objetos de um sistema. Esse tipo de diagrama focaliza no relacionamento entre os objetos e na compreensão dos efeitos sobre um objeto durante um cenário. Os objetos são conectados através de associações e cada associação representa uma instância de associação entre as respectivas classes envolvidas. As associações mostram as mensagens enviadas entre os objetos, e a seqüência destas mensagens é determinada usando-se números seqüenciais. O Diagrama de Colaboração dá ênfase à ordenação estrutural em que as mensagens são trocadas entre os objetos de um sistema. Exemplo de Diagrama de Colaboração: FIGURA 13 DIAGRAMA DE COLABORAÇÃO

45 DIAGRAMA DE ATIVIDADES Este tipo de diagrama representa os fluxos conduzidos por processamento, é essencialmente um gráfico de fluxo de controle de uma atividade para outra, comumente isso envolve a modelagem das etapas seqüenciais de um processo computacional. Este tipo de Diagrama é extremamente importante para a construção de sistemas executáveis por meio de engenharia de produção reversa. O principal objetivo deste diagrama é focar nos fluxos dirigidos pelo processamento interno e descrever o comportamento de processamentos paralelos. São usados para detalhar classes, implementação de operações e casos de uso, enquanto os diagramas de estado são usados para especificar o comportamento global de um tipo. Esse tipo de diagrama representa o que acontece, mas não quem faz o que, isso nos leva a crer que esse tipo de diagrama não diz qual classe é responsável por qual atividade. Testamos nosso sistema de Carimbos utilizando também, o diagrama de atividades. Segue abaixo os resultados.

46 46 Exemplo de Diagrama de Atividades de Venda e Preço da empresa de carimbos: CADASTRAR VENDA - CADASTRAR PREÇOS FIGURA 14 CADASTRAR VENDAS E PREÇOS

47 47 Exemplo 2 Diagrama de Atividades de Cliente e Fornecedor CADASTRAR CLIENTE - CADASTRAR FORNECEDOR FIGURA 15 CADASTRAR CLIENTE E FORNECEDOR

48 48 Exemplo 3 Diagrama de Atividades de Débito e Crédito CADASTRAR DÉBITO - CADASTRAR CRÉDITO FIGURA 16 CADASTRAR DÉBITO E CRÉDITO

49 49 Exemplo 4 Diagrama de Atividades de Produto e Usuário CADASTRAR PRODUTO - CADASTRAR USUÁRIO FIGURA 17 CADASTRAR PRODUTO E USUÁRIO

50 50 Exemplo 5 Exemplo de Diagrama de Atividades de Movimentação e Pedido CADASTRAR MOVIMENTAÇÃO - CADASTRAR PEDIDO FIGURA 18 CADASTRAR MOVIMENTAÇÃO E PEDIDOS

51 DIAGRAMA DE COMPONENTES Mostram dependências entre componentes de software. (Furlan,1998). Os diagramas de componentes representam, de forma estática, aspectos físicos do sistema sendo modelado. São importantes tanto para visualizar, especificar e documentar sistemas baseados em componentes quanto para construir sistemas através de engenharia reversa (reverse) e direta (forward). São tipicamente usados para: Modelar a organização do código fonte; Modelar lançamentos de executáveis; Modelar fisicamente um banco de dados; Modelar sistemas adaptativos; Engenharia de produção e engenharia reversa; Exemplo de Diagrama de Componentes: FIGURA 19 DIAGRAMA DE COMPONENTES 6.10 DIAGRAMA DE IMPLANTAÇÃO Os diagramas de implantação são diagramas que mostram a configuração de nós de processamento em tempo de execução e os componentes que neles existem. Os diagramas de implantação não são importantes somente para visualizar, especificar e documentar sistemas embutidos, cliente/servidor e distribuídos, mas também para o gerenciamento de sistemas por engenharia de produção e engenharia reversa.

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Sumário. Uma visão mais clara da UML

Sumário. Uma visão mais clara da UML Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

UML (Unified Modeling Language) Linguagem de Modelagem Unificada UML (Unified Modeling Language) Linguagem de Modelagem Unificada Introdução É a padronização das metodologias de desenvolvimento de sistemas baseados na orientação a objetos. Foi criada por três grandes

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Notas de Aula 04: Casos de uso de um sistema

Notas de Aula 04: Casos de uso de um sistema Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5.

1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5. 1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5. Fases do Desenvolvimento de um Sistema em UML 1. Análise

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 08 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir como definir

Leia mais

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

UML: Diagrama de Casos de Uso, Diagrama de Classes

UML: Diagrama de Casos de Uso, Diagrama de Classes UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

REQUISITOS DE SISTEMAS

REQUISITOS DE SISTEMAS REQUISITOS DE SISTEMAS MÓDULO 2 PROCESSOS DE NEGÓCIOS CONTEÚDO 1. PROCESSOS DE NEGÓCIO IDENTIFICAÇÃO CONCEITOS MODELAGEM (BPM e UML) PROCESSOS X REQUISITOS 1. PROCESSOS DE NEGÓCIO IDENTIFICAÇÃO CONCEITOS

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas Sistemas de Informação e Tecnologia em 3º Semestre Análise Orientada aos Objetos Modelagem de Casos de Uso Objetivo: Apresentar

Leia mais

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências UML Visão Geral 1 Índice Introdução O que é a UML? Valor da UML Origens da UML Parceiros da UML Modelos e diagramas Elementos de modelação Diagramas Diagrama de casos de utilização Diagrama de classes

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Visão Geral do Sistema Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. A fase de concepção do UP consiste

Leia mais

Metodologia de Gerenciamento de Projetos da Justiça Federal

Metodologia de Gerenciamento de Projetos da Justiça Federal Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

O Processo Unificado: Captura de requisitos

O Processo Unificado: Captura de requisitos O Processo Unificado: Captura de requisitos Itana Gimenes Graduação em Informática 2008 Captura de Requisitos Modelagem do negócio: Visão de negócios Modelo de objetos de negócio de negócio Especificação

Leia mais

Diagramas de Casos de Uso

Diagramas de Casos de Uso UML Unified Modeling Language Diagramas de Casos de Uso José Correia, Março 2006 (http://paginas.ispgaya.pt/~jcorreia/) Objectivos O objectivo de um diagrama de casos de uso de um sistema é mostrar para

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Princípios de Análise e Projeto de Sistemas com UML

Princípios de Análise e Projeto de Sistemas com UML Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 9 Modelagem de estados Todos os adultos um dia foram crianças, mas poucos se lembram disso.

Leia mais

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2 Modelo de domínio Introdução! 1 Modelos de Domínio! 1 Identificação de classes conceituais! 2 Estratégia para identificar classes conceituais! 2 Passos para a elaboração do modelo de domínio! 2 Passo 1

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Uma visão mais clara da UML Sumário

Uma visão mais clara da UML Sumário Uma visão mais clara da UML Sumário 1 Método...2 2 Análise de requisitos...2 2.1 Diagramas de Casos de Uso...3 2.1.1 Ator...3 2.1.2 Casos de Uso (Use Case)...4 2.1.3 Cenário...4 2.1.4 Relacionamentos...6

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 .:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Modelagem da arquitetura de negócios Arquitetura Definições Aurélio: Informática: Estrutura e organização lógica de funcionamento de um sistema computacional.

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Modelagem de Casos de Uso (Parte 1)

Modelagem de Casos de Uso (Parte 1) Modelagem de Casos de Uso (Parte 1) Roteiro Introdução Descrição: Sistema de Ponto de Vendas Casos de Usos Atores Fluxo de Eventos Cenários Formato de Documentação de Casos de Uso Diagramas de Casos de

Leia mais

Unified Software Development Process

Unified Software Development Process 59/170 Unified Software Development Process Sumário Breve história do Unified Process O Unified Process O ciclo de vida do Unified Process O RUP (Rational Unified Process) 60/170 Breve História do Unified

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D. UML Diagramas Um diagrama é a apresentação gráfica de um conjunto de elementos, onde os vértices são ITENS e os arcos RELACIONAMENTOS UML 2.0 possui os seguintes diagramas: Diagrama de Classes (Class Diagram)

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Notas de Aula 05: Aplicação de um caso de uso

Notas de Aula 05: Aplicação de um caso de uso Notas de Aula 05: Aplicação de um caso de uso Objetivos da aula: Aprender a aplicar a técnica de casos de uso em um pequeno problema real Identificar as variáveis relevantes a serem consideradas Modelar

Leia mais

Mapa Mental de Engenharia de Software - Diagramas UML

Mapa Mental de Engenharia de Software - Diagramas UML Mapa Mental Engenharia Software - Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental UML - Diagramas, Fases e Detalhes Resolvi juntar

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Casos de Uso de Alto Nível Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Contexto Na fase de concepção

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Micro Mídia Informática Fevereiro/2009

Micro Mídia Informática Fevereiro/2009 Micro Mídia Informática Fevereiro/2009 1 UML Introdução Fases de Desenvolvimento Notação Visões Análise de Requisitos Casos de Uso StarUML Criando Casos de Uso Orientação a Objetos Diagrama de Classes

Leia mais

DESENVOLVENDO O SISTEMA

DESENVOLVENDO O SISTEMA DESENVOLVENDO O SISTEMA Declaração da Necessidade O primeiro passo do processo de análise de sistema envolve a identificação da necessidade [Pressman-95]. Normalmente o analista reúne-se com o usuário

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

CASO DE USO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CASO DE USO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CASO DE USO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Caso de Uso Descreve o modelo funcional (comportamento) do sistema Técnica de especificaçao de requisitos Especifica um serviço que o sistema

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso Casos de Uso O que é Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início

Leia mais