Análise e Projeto de Software

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

Download "Análise e Projeto de Software"

Transcrição

1 Análise e Projeto de Software Material preparado pelo Prof. Marcelo Maia 363 Análise e Projeto 364 1

2 Projeto e Modelos Elicitação de Requisitos CIM Análise de Requisitos PIM Projeto do Sistema PSM Implementação Código Artefatos de Projeto Razões das Decisões (Design Rationale) Modelos de Projeto Modelos Arquiteturais Modelos de Dados Modelos da Interface com Usuário Modelos de Componentes Modelos de Implantação Padrões Arquiteturais Padrões de Projeto 2

3 Influências no Projeto Requisitos funcionais Requisitos não-funcionais Architecture The overall structure of the software and the ways in which that structure provides conceptual integrity for a system. [SHA95a] Structural properties. This aspect of the architectural design representation defines the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another. For example, objects are packaged to encapsulate both data and the processing that manipulates the data and interact via the invocation of methods Extra-functional properties. The architectural design description should address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics. Families of related systems. The architectural design should draw upon repeatable patterns that are commonly encountered in the design of families of similar systems. In essence, the design should have the ability to reuse architectural building blocks. Fonte: Pressman 3

4 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural design. The output of this design process is a description of the software architecture. Fonte: Sommerville Architectural design An early stage of the system design process. Represents the link between specification and design processes. Often carried out in parallel with some specification activities. It involves identifying major system components and their communications (structural properties) Fonte: Sommerville 4

5 Advantages of explicit architecture Stakeholder communication Architecture may be used as a focus of discussion by system stakeholders. System analysis Means that analysis of whether the system can meet its non-functional requirements is possible. Large-scale reuse The architecture may be reusable across a range of systems. Fonte: Sommerville Architecture and system characteristics Performance Localise critical operations and minimise communications. Use large rather than fine-grain components. Security Use a layered architecture with critical assets in the inner layers. Safety Localise safety-critical features in a small number of subsystems. Availability Include redundant components and mechanisms for fault tolerance. Maintainability Use fine-grain, replaceable components. Fonte: Sommerville 5

6 Architectural conflicts Trade-offs Using large-grain components improves performance but reduces maintainability. Introducing redundant data improves availability but makes security more difficult. Localising safety-related features usually means more communication so degraded performance. Fonte: Sommerville System structuring Concerned with decomposing the system into interacting sub-systems. The architectural design is normally expressed as a block diagram presenting an overview of the system structure. More specific models showing how sub-systems share data, are distributed and interface with each other may also be developed. Fonte: Sommerville 6

7 Box and line diagrams Very abstract - they do not show the nature of component relationships nor the externally visible properties of the sub-systems. However, useful for communication with stakeholders and for project planning. Difficult for profound evaluation Fonte: Sommerville Packing robot control system Fonte: Sommerville 7

8 Diagrama de componentes Abstract, but they do show the nature of component relationships and the externally visible properties of the sub-systems. Yet, useful for communication with stakeholders and for project planning. Better for more profound evaluation Next step: refine Diagrama de Componentes Sistema Web 8

9 Architectural design decisions Architectural design is a creative process so the process differs depending on the type of system being developed. However, a number of common decisions span all design processes. Fonte: Sommerville Architectural design decisions Is there a generic application architecture that can be used? How will the system be distributed? What architectural styles are appropriate? What approach will be used to structure the system? How will the system be decomposed into modules? What control strategy should be used? How will the architectural design be evaluated? How should the architecture be documented? Fonte: Sommerville 9

10 Architecture reuse Systems in the same domain often have similar architectures that reflect domain concepts. Application product lines are built around a core architecture with variants that satisfy particular customer requirements. Fonte: Sommerville Architectural styles Architecture patterns The architectural model of a system may conform to a generic architectural model or style. An awareness of these styles can simplify the problem of defining system architectures. However, most large systems are heterogeneous and do not follow a single architectural style. Fonte: Sommerville 10

11 Architectural models Used to document an architectural design. Static structural model that shows the major system components. Dynamic process model that shows the process structure of the system. Interface model that defines sub-system interfaces. Relationships model such as a data-flow model that shows subsystem relationships. Distribution model that shows how sub-systems are distributed across computers. Fonte: Sommerville Reference architectures Reference models are derived from a study of the application domain rather than from existing systems. May be used as a basis for system implementation or to compare different systems. It acts as a standard against which systems can be evaluated. OSI model is a layered model for communication systems. Fonte: Sommerville 11

12 OSI reference model Fonte: Sommerville Key points The software architecture is the fundamental framework for structuring the system. Architectural design decisions include decisions on the application architecture, the distribution and the architectural styles to be used. Different architectural visions such as a structural model, a control model may be developed. System organisational models (patterns) include repository models, client-server models and abstract machine models. Fonte: Sommerville 12

13 Key points Modular decomposition models include object models and pipelining models. Control models include centralised control and event-driven models. Reference architectures may be used to communicate domain-specific architectures and to assess and compare architectural designs. Fonte: Sommerville Padrões de Arquitetura 13

14 Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que definem o projeto, seus relacionamentos, responsabilidades e colaborações. É como um template que pode ser usado em várias situações. Conseqüências são resultados e trade-offs (compromissos) de se aplicar os padrões. Relacionadas aos trade-offs de espaço e tempo. Como o reúso é um fator importante as conseqüências incluem o impacto na flexibilidade, estensibilidade e portabilidade do sistema. Fonte: GoF Classificação de Padrões Padrões Os padrões de projeto podem ser classificados de acordo com a fase de desenvolvimento em que são mais adequados: Padrões de Análise (Analysis patterns) Seu foco é na fase de análise ou modelamento de negócio Padrões ligados ao domínio do problema Padrões de Arquitetura (Architectural patterns) Seu foco é na arquitetura do software Padrões de Projeto (Design patterns) Foco no projeto de componentes do software Muitas das vezes os padrões podem estar muito ligados tanto ao domínio da solução, quanto do problema

15 Classificação de Padrões Padrões Padrões de Análise (Analysis patterns) Martin Fowler, 1996 Padrões de Arquitetura (Architectural patterns) Apresentado inicialmente por Frank Buschmann et al., 1996 Computação Distribuída - Frank Buschmann et al., 2007 Padrões de Projeto (Design patterns) GOF (Gang of Four) E. Gamma, R. Helm, R. Johnson, J. Vlissides 1995 Aplicações Concorrentes e em Rede - Frank Buschmann et al Enterprise Integration Patterns Gregor Hohpe, 2003 Real-time Design Patterns Bruce Douglass, 2003.Net Design Patterns - Christian Thilmany, 2003 J2EE Design Patterns - Deepak Alur, 2003 Web Services Patterns Paul Monday, 2003 Ajax Design Patterns - Michael Mahemoff, 2006 SOA Design Patterns Thomas Erl, Padrões de Análise (Analysis Patterns) Proposto por Martin Fowler, em livro publicado em 1996 Notação do Livro não é baseada em UML Baseada em áreas (domínios) específicas como: manufatura; financeira e saúde Mesmo assim, padrões podem apresentados podem ser úteis em outros domínios Alguns princípios apresentados Um modelo não está certo ou errado, eles podem ser mais ou menos úteis Modelos conceituais estão ligados a tipos (interfaces) e não implementações (classes) Padrões são o ponto de partida, não o destino Sempre que possível, quando existir um tipo e um supertipo, considere colocar os recursos no supertipo, desde que isto faça sentido Quando múltipos atributos possuam um comportamento relacionado e presente em muitos tipos, combine estes atributos em um novo tipo fundamental

16 Padrões de Análise (Analysis Patterns) Exemplos de alguns padrões de projeto Quantity (3.1) Conversion Ratio (3.2) Compound Units (3.3) Measurement (3.4) Observation (3.5) Range (4.3) Name (5.1) Account (6.1) Transaction (6.2) Summary Account (6.3) Plan (8.4) Contract (9.1) Product (10.3) Associative Type (15.1) 393 Padrões de Arquitetura (Architectural patterns) Expressam uma organização fundamental de estrutura de um software O ponto de partida da análise orientada a objetos é a criação do chamado Domain Model O Domain Model expressa as classes ligadas ao domínio do problema Os padrões de arquitetura auxiliam na concepção do software e na transição para o domínio da solução Alguns padrões de arquitetura Layers Model-View-Controler (MVC) Pipes and Filters Microkernel Shared Repository

17 Padrões de Projeto (Design Patterns) Trabalho proposto inicialmente por Erich Gamma, Richard Helm, Ralph Jonhson, John Vlissides (Gang of Four) em 1995 Famílias de Padrões De Criação Responsáveis pela criação de objetos Permitem que o sistema fique independente da forma como os objetos são criados Factory, Abstract Factory, Singleton, Builder, Prototype Estruturais Relacionados com a forma com que classes e objetos são compostos a fim de formar estruturas maiores Adapter, Bridge, Composite, Decorator, Facade, Proxy Comportamentais Relacionados com a atribuição de responsabilidades entre objetos Descrevem a comunicação entre objetos Chain of Responsibility, Command, Flyweigth, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template, Visitor 395 Layer Permite o desenvolvimento de forma independente de diferentes partes do sistema de software

18 Layer Usos com outros padrões 397 Estilos (padrões) de Arquitetura Camadas Fonte: Buschmann 18

19 Camadas (Windows NT) Pipes and Filters Arquitetura especializada em tratar fluxos de dados (data streams)

20 Pipes and Filters Uso com outros padrões 401 Estilos (padrões) de Arquitetura Dutos e Filtros Fonte: Buschmann 20

21 Estilos (padrões) de Arquitetura Dutos e Filtros Fonte: Buschmann Dutos e Filtros Atividade começando com o data source Fonte: Buschmann 21

22 Dutos e Filtros Atividade começando com o data sink Fonte: Buschmann Dutos e Filtros Mix pull-push (Source/Sink passivos) Fonte: Buschmann 22

23 Dutos e Filtros Filtros ativos Fonte: Buschmann Broker - estrutura Fonte: Buschmann 23

24 Broker dinâmica requisição de serviço pelo cliente Fonte: Buschmann Broker dinâmica uso de pontes Fonte: Buschmann 24

25 Model-View-Controller Uso Em situações onde a interface do usuário de uma aplicação pode mudar de forma mais frequente que o seu domínio 411 Model-View-Controller Uso do MVC com outros padrões

26 MVC - Estrutura Fonte: Buschmann MVC Dinâmica Inicialização Fonte: Buschmann 26

27 MVC Dinâmica Tratamento de eventos Fonte: Buschmann Microkernel Uso Arquitetura com suporte para escalabilidade funcional e adaptável para diferentes cenários de implantação

28 Microkernel Uso com outros padrões 417 Microkernel 28

29 Microkernel Cliente chamando serviço Microkernel Servidor externo requisitando serviço 29

30 Monolítico x Microkernel JBoss - JMX 30

31 JBoss JMX Camadas - Microkernel Shared Repository Uso Aplicações em que partes operam e são coordenadas através de um conjunto de dados compartilhados Caso de aplicações orientadas a dados e onde a interação entre os componentes não seguem regras específicas que possibilitem sua conexão A conexão entre os componentes e aplicações é feita através dos dados

32 Shared Repository Uso com outros padrões 425 Integração de Aplicações Orientada a processos Enterprise Application Integration Enterprise Service Bus Orientada a Dados ETL (Expose, Transform, Load) EII (Enterprise Information Integration) 32

33 Integração de Aplicações Comparação das abordagens 33

34 Enterprise Application Integration (EAI) EAI refers to message-based, transaction-oriented, application-to-application integration using either an integration pattern point- to-point or; a point-to-hub (brokering or bus) Padrões para integração orientada a processos Hub (broker) x Ponto a ponto 34

35 Evolução de integração de aplicações 1960 Hardware incompatível implicava em reescrever tudo (ex: 1991) Aplicações em batch (lotes) escrita em silos e compartilhamento através de arquivos Evolução de integração de aplicações Cliente-servidor Escolhas da infra-estrutura de rede. No início não havia arquitetura de rede amplamente aceita. Funções de comunicação tinham que ser adicionadas na aplicação requerendo maior habilidade dos programadores As APIs eram bastante complexas, sendo necessário muito tratamento de exceção e lógica de recuperação para se ter sucesso. 35

36 Evolução de arquiteturas clienteservidor RPC requer o servidor sempre disponível... Middleware de Filas de Mensagens 36

37 Adaptadores de formato Message brokers 37

38 Integração via Business Process Management Um requisição de serviço de um cliente pode chegar por inúmeros canais, tais como, telefone, mensagem de voz, fax, e até mesmo via carta convencional. Tal evento precisa ser capturado, categorizado e enviado pela organização através de um caminho predefinido, sendo monitorado por um sistema de gerenciamento que garante que a solução (e satisfação do cliente) serão atingidas dentro de certo prazo, e que qualquer intercorrência seja detectada, escalonada e remediada de acordo com parâmetros específicos de níveis de serviço. Impacto da Internet Tecnologia para Web Services Extensible Markup Language (XML) SOAP (originally an acronym for Simple Object Access Protocol) is na application-to-application protocol that isolates network, transport, programming language, and platform differences to allow a client to call a remote service without knowledge of how the service is coded or where the service is hosted. The message format is XML. Web Services Description Language (WSDL) is an XML-based interface and interface description language. The service provider uses a WSDL document in order to specify the operations a Web service provides, the parameters and data types of these operations and the location and transport bindings to be used to access the service. Web Services Inspection Language (WSIL) is an XML-based specification about how to locate Web services without the necessity of using UDDI. However, WSIL can be also used together with UDDI, that is, it is orthogonal to UDDI and does not replace it. Universal Description, Discovery, and Integration (UDDI) is both a client-side API and a SOAP-based server implementation that can be used to store and retrieve information on service providers and Web services. 38

39 Evolução de EAI Service-oriented Architecture SOA is an integration architecture approach based on the concept of a service. The business and infrastructure functions are provided as services that collectively, or individually, deliver application functionality to either end-user applications or other services. Applications collaborate by invoking each other s services. Services are composed into larger sequences to implement business processes. SOA requires a consistent mechanism for services to communicate: loosely coupled use of explicit interfaces. 39

40 O que é serviço? A service is a discrete function that is offered to an external consumer. Consumer: Web page, another business function, or a collection of functions that together form a process. Additional aspects: Services encapsulate reusable business function. Services are defined by explicit, implementationindependent interfaces. Services are defined in a way that stress location and transport transparency. SOA x Web Services Web Services A means to create welldocumented interfaces for services using standards such as Web services Definition Language (WSDL) and document-style SOAP A means to compose Web services using Business Process Execution Language for Web Services (WS-BPEL) Simple communication mechanisms that are location-transparent and interoperable SOA Architectural patterns for realizing a business design through the implementation and composition of software services A reference architecture model to decompose the functional components of an integration solution A model for the life cycle and governance of services to help make reusability of services a reality 40

41 Evolução de EAI SOA Service Oriented Architecture Registro Procura Contrato Publica Consumidor Interage Provedor

42 Abstrações de SOA Elementos do serviço 42

43 Elementos de SOA Tipos de serviços 43

44 Arquitetura tradicional x SOA Exemplo companhia aérea 44

45 Evolução de EAI Providing a consumer view of a service decoupled from the deployed implementation of the underlying application or service Decoupling technical aspects of service interactions Unifying access to applications using a common service model Providing dynamic access to services described in a service repository SOA sem ESB 45

46 SOA com ESB Funções de Middleware do ESB Map service requests from one protocol and address to another. Transform data formats. Support a variety of security and transactional models between service consumers and service providers and recognize that consumers and providers may support or require different models. Aggregate or disaggregate service requests and responses. Support communication protocols between multiple platforms with appropriate qualities of service. Provide messaging capabilities such as message correlation and publish/subscribe to support different messaging models such as events and asynchronous request/response. E idealmente: Support high volumes of individual interactions. Support more established integration styles, such as message-oriented and eventdriven integration, to extend the reach of the SOA. 46

47 Visão de alto nível do ESB Arquitetura de referência SOA 47

48 Service component architecture 48

49 Análise e Projeto Orientado a Objetos Utilizando UML Orientação a Objetos Alguns Conceitos OBJETO MÉTODO MENSAGEM CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO

50 Análise Orientada a Objetos (OOA) Projeto Orientado a Objetos (OOD) A utilização do orientação à Objetos solicita uma nova forma de abstrair e entender o problema. A linguagem UML é um padrão de diagramação para visualizar os resultados da análise e projeto orientados à objetos 461 Análise Orientada a Objetos (OOA) Projeto Orientado a Objetos (OOD) Exemplo O conceito Livro em um sistema de biblioteca

51 Análise Orientada a Objetos(OOA) Objetivo básico Identificar classes a partir das quais objetos serão representados como instâncias Envolve as seguintes tarefas Identificação de Objetos Especificação de Atributos Definição de métodos Comunicações entre objetos 463 Análise Orientada a Objetos(OOA) IDENTIFICAÇÃO DE OBJETOS Entidades externas (Outros sistemas; dispositivos;pessoas) Coisas ligadas ao domínio do problema (Relatórios;Displays; ) Ocorrências ou Eventos (Conclusão de um movimento;alarme disparado; Clique do mouse; etc.) Papéis ou funções (Engenheiro; Gerente; Vendedor) desempenhados por pessoas Unidades organizacionais (Grupo; Equipe; ) Lugares (Piso de fábrica; área de descarga) Estruturas (Sensores; veículos de quatro rodas; )

52 Análise Orientada a Objetos(OOA) IDENTIFICAÇÃO DE OBJETOS CRITÉRIOS 1. RETENÇÃO DE INFORMAÇÃO Objeto deve guardar informação que será utilizada pelo sistema 2. SERVIÇOS NECESSÁRIOS Conjunto de operações identificáveis que podem mudar o valor de seus atributos 3. MÚLTIPLOS ATRIBUTOS Objeto deve conter mais de um atributo 4. ATRIBUTOS COMUNS Conjunto de atributos deve ser aplicado a todos os objetos 5. OPERAÇÕES COMUNS Conjunto de operações devem ser aplicáveis a todos os objetos. 6. REQUISITOS ESSENCIAIS Entidades externas que aparecem no espaço problema que consomem e/ou produzem informação 465 Análise Orientada a Objetos(OOA) Em uma especificação: NOMES são potenciais objetos (e classes) VERBOS são potenciais métodos A regra acima deve ser utilizada apenas como referência. O entendimento do contexto, das necessidades do usuário são fundamentais para classificar possíveis objetos e métodos

53 Análise Orientada a Objetos(OOA) Exemplo Especificação O software SafeHome possibilita que o dono da casa configure o sistema de segurança quando ele for instalado, monitora todos os sensores ligados ao sistema de segurança e interage com o dono da casa através de um teclado (key pad) e teclas de função contidas no painel de controle do SafeHome. Durante a instalação o painel de controle é usado para programar e configurar o sistema. A cada sensor é atribuído um número e um tipo, uma senha mestra é programada para armar e desarmar o sistema e números telefônicos são introduzidos para serem discados quando ocorrer um evento sensor. Quando um evento sensor é sentido pelo software, ele dispara um alarme sonoro ligado ao sistema. Após um tempo de espera, que é especificado pelo dono da casa durante as atividades de configuração do sistema, o software disca um número telefônico do serviço de monitoração, oferece informações sobre o local, registrando a natureza do evento que foi detectado. O número será novamente discado a 20 segundos até que a ligação telefônica seja completada. Todas as interações com o SafeHome são gerenciadas por um subsistema de interação com o usuário, que lê a entrada fornecida através do teclado e das chaves de função, exibe mensagens de prompting e informações sobre o status do sistema no mostrador de cristal líquido (LCD). A interação com o teclado assume a seguinte forma Análise Orientada a Objetos(OOA) Exemplo Especificação O software SafeHome possibilita que o dono da casa configure o sistema de segurança quando ele for instalado, monitora todos os sensores ligados ao sistema de segurança e interage com o dono da casa através de um teclado (key pad) e teclas de função contidas no painel de controle do SafeHome. Durante a instalação o painel de controle é usado para programar e configurar o sistema. A cada sensor é atribuído um número e um tipo, uma senha mestra é programada para armar e desarmar o sistema e números telefônicos são introduzidos para serem discados quando ocorrer um evento sensor. Quando um evento sensor é sentido pelo software, ele dispara um alarme sonoro ligado ao sistema. Após um tempo de espera, que é especificado pelo dono da casa durante as atividades de configuração do sistema, o software disca um número telefônico do serviço de monitoração, oferece informações sobre o local, registrando a natureza do evento que foi detectado. O número será novamente discado a 20 segundos até que a ligação telefônica seja completada. Todas as interações com o SafeHome são gerenciadas por um subsistema de interação com o usuário, que lê a entrada fornecida através do teclado e das chaves de função, exibe mensagens de prompting e informações sobre o status do sistema no mostrador de cristal líquido (LCD). A interação com o teclado assume a seguinte forma

54 Análise Orientada a Objetos(OOA) NOME dono da casa sistema de segurança sensores teclado teclas de função painel de controle número Tipo senha mestra números telefônicos evento sensor alarme sonoro tempo de espera Serviço de monitoração informações sobre o local natureza do evento subsistema entrada chaves de função mensagens mostrador de cristal líquido CRITÉRIO Papel ou entidade externa Coisa Entidade externa Entidade externa Entidade externa Entidade externa Atributo do sensor Atributo do sensor Coisa Coisa Ocorrência Entidade externa Atributo do sistema Unidade Organizacional ou Ent. Externa Atributo do sistema Atributo do sistema Entidade externa Entidade externa Entidade externa Entidade externa Entidade externa 469 Análise Orientada a Objetos(OOA) NOME CRITÉRIO dono da casa Rejeitado: 1 e 2 falham embora 6 se aplique sistema de segurança Aceito: Todas se aplicam sensores Aceito: Todas se aplicam teclado Aceito: Todas se aplicam teclas de função Aceito: Todas se aplicam painel de controle Aceito: Todas se aplicam número Rejeitado: 3 falha Tipo Rejeitado: 3 falha senha mestra Rejeitado: 3 falha números telefônicos Rejeitado: 3 falha evento sensor Aceito: Todas se aplicam alarme sonoro Aceito: 2, 3, 4, 5 e 6 tempo de espera Rejeitado: 3 falha Serviço de monitoração Rejeitado: 1 e 2 falham embora 6 se aplique informações sobre o local Rejeitado: 3 falha natureza do evento Rejeitado: 3 falha subsistema Aceito: Todas se aplicam entrada Rejeitado: 3 falha chaves de função Aceito: Todas se aplicam mensagens Aceito: Todas se aplicam mostrador de cristal líquido Aceito: Todas se aplicam

55 Identificação de Objetos Os objetos do painel de controle serão considerados separadamente. Os objetos abaixo são o ponto de partida para o desenvolvimento do sistema Objetos ainda não possuem atributos e métodos class Classes Sistema - atributos + metodos() : void PainelControle - atributos + metodos() : void Sensor - atributos + metodos() : void EventoSensor - atributos + metodos() : void AlarmeSonoro - atributos + metodos() : void 471 Especificação de Atributos Necessário estudar e analisar a descrição do sistema Pergunta Importante Quais informações definem este objeto? class Classes Sistema - senhamestra - tempoespera - numerostelefonicos - informacoeslocal - naturezaevento PainelControle - atributos + metodos() : void Sensor - tipo - numero + metodos() : void + metodos() : void EventoSensor - atributos + metodos() : void AlarmeSonoro - atributos + metodos() : void

56 Definição dos Métodos Necessário estudar e analisar a descrição do sistema Verbos são potenciais operações Configure Instalado Monitora Ligados Interage Instalação programar configurar programada armar desarmar introduzidos serem discados ocorrer sentido dispara especificado configuração disca registrando detectado Discado ligação interações gerenciadas interação lê fornecida exibe class Classes Sistema - senhamestra - tempoespera - numerostelefonicos - informacoeslocal - naturezaevento + programar() : void + armar() : void + desarmar() : void + monitorar() : void + dispararalarme() : void + discar() : void 473 Análise Orientada a Objetos(OOA) O departamento de obras públicas da cidade de Uberlândia decidiu desenvolver um sistema de computador para rastreamento e conserto de buracos de rua (SIRCOB). À medida que são registrados buracos de rua, eles recebem um número de identificação e são armazenados de acordo com o endereço da rua, tamanho (numa escala de 0 a 10), localização (no meio dar rua; na calçada; etc.), bairro (determinado a partir do endereço da rua) e prioridade de reparo (determinada a partir do tamanho do buraco). Dados de ordem de trabalho são associados a cada buraco, e eles incluem localização e tamanho do buraco, número de identificação da equipe de reparos, número de pessoas na equipe, equipamentos designados, horas aplicadas ao reparo, status do trabalho (em andamento, concluído, não concluído), quantidade de material de enchimento usado e custo do reparo (computado a partir das horas trabalhadas, número pessoas, material e equipamentos usados). Finalmente, um arquivo de danos ocorridos é criado para guardar informações sobre danos registrados devido ao buraco, o qual inclui o nome do cidadão, endereço, número telefônico, tipo de dano e a quantia em reais a ser paga. O SIRCOB é um sistema on-line; as consultas devem ser feitas interativamente

57 Análise Orientada a Objetos(OOA) O departamento de obras públicas da cidade de Uberlândia decidiu desenvolver um sistema de computador para rastreamento e conserto de buracos de rua (SIRCOB). À medida que são registrados buracos de rua, eles recebem um número de identificação e são armazenados de acordo com o endereço da rua, tamanho (numa escala de 0 a 10), localização (no meio dar rua; na calçada; etc.), bairro (determinado a partir do endereço da rua) e prioridade de reparo (determinada a partir do tamanho do buraco). Dados de ordem de trabalho são associados a cada buraco, e eles incluem localização e tamanho do buraco, número de identificação da equipe de reparos, número de pessoas na equipe, equipamentos designados, horas aplicadas ao reparo, status do trabalho (em andamento, concluído, não concluído), quantidade de material de enchimento usado e custo do reparo (computado a partir das horas trabalhadas, número pessoas, material e equipamentos usados). Finalmente, um arquivo de danos ocorridos é criado para guardar informações sobre danos registrados devido ao buraco, o qual inclui o nome do cidadão, endereço, número telefônico, tipo de dano e a quantia em reais a ser paga. O SIRCOB é um sistema online; as consultas devem ser feitas interativamente. 475 Identificação dos Objetos NOMES CLASSIFICAÇÃO ANÁLISE departamento Unidade Organizacional Rejeitado: 1 e 2 Falham sistema coisa Aceito: Todas se aplicam buracos coisa Aceito: Todas se aplicam número de identificação coisa Rejeitado: 3 falha endereço da rua coisa Rejeitado: 3 falha tamanho coisa Rejeitado: 3 falha localização coisa Rejeitado: 3 falha bairro bairro Rejeitado: 3 falha prioridade coisa Rejeitado: 3 falha ordem de trabalho coisa Aceito: Todas se Aplicam número de identificação da equipe coisa Rejeitado: 3 falha número de pessoas coisa Rejeitado: 3 falha equipamentos coisa Rejeitado: 3 falha horas coisa Rejeitado: 3 falha quantidade coisa Rejeitado: 3 falha custo coisa Rejeitado: 3 falha arquivo de danos estrutura Aceito: Todas se aplicam nome do cidadão coisa Rejeitado: 3 falha Endereço coisa Rejeitado: 3 falha número telefônico coisa Rejeitado: 3 falha tipo de dano coisa Rejeitado: 3 falha

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

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

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

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

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

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

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

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

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

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

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

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos DISTRIBUTED SYSTEMS ARCHITECTURES Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Explicar as vantagens e desvantagens das arquiteturas de sistemas distribuídos

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

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

UML: Casos de Uso. Projeto de Sistemas de Software

UML: Casos de Uso. Projeto de Sistemas de Software UML: Casos de Uso Projeto de Sistemas de Software UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia

Leia mais

Engenharia de Software na Prática Hélio Engholm Jr.

Engenharia de Software na Prática Hélio Engholm Jr. Engenharia de Software na Prática Hélio Engholm Jr. Novatec Sumário Agradecimentos... 17 Sobre o autor... 18 Prefácio... 19 Capítulo 1 Desenvolvimento de software para o valor de negócios... 20 1.1 Qualidade

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

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

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1 LEIA ISTO PRIMEIRO IBM Tivoli, Versão 4.2.1 O IBM Tivoli, Versão 4.2.1, é uma solução para controlar a distribuição de software e o inventário de gerenciamento de recursos em um ambiente multiplataformas.

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

5 Estudo de caso: utilizando o sistema para requisição de material

5 Estudo de caso: utilizando o sistema para requisição de material 61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de

Leia mais

CMDB no ITIL v3. Miguel Mira da Silva. mms@ist.utl.pt 919.671.425

CMDB no ITIL v3. Miguel Mira da Silva. mms@ist.utl.pt 919.671.425 CMDB no ITIL v3 Miguel Mira da Silva mms@ist.utl.pt 919.671.425 1 CMDB v2 Configuration Management IT components and the services provided with them are known as CI (Configuration Items) Hardware, software,

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

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

IBM Software Demos The Front-End to SOA

IBM Software Demos The Front-End to SOA Hoje em dia, as pequenas e grandes empresas utilizam software baseado em uma arquitetura voltada para serviços, ou SOA, para promover a inovação, otimizar processos comerciais e aumentar a eficiência.

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

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

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Padrões de Aplicações Empresariais

Padrões de Aplicações Empresariais Padrões de Aplicações Empresariais Paulo Sousa Engenharia da Informação Instituto Superior de Engenharia do Porto Introdução aos Padrões Parte 1 O que é um Pattern? Each pattern describes a problem that

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Documento de Requisitos

Documento de Requisitos Documento de Requisitos Projeto: Data 26/05/2005 Responsável Autor (s) Doc ID Localização Versão do Template Márcia Jacyntha Nunes Rodrigues Lucena Silvia Cássia Pereira Márcia Jacyntha Nunes Rodrigues

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Gerenciamento de Incidentes

Gerenciamento de Incidentes Gerenciamento de Incidentes Os usuários do negócio ou os usuários finais solicitam os serviços de Tecnologia da Informação para melhorar a eficiência dos seus próprios processos de negócio, de forma que

Leia mais

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

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

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

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

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos Históricos e Modelagem Orientada a Objetos Histórico Diversas metodologias e métodos surgiram para apoiar OO. Evolução a partir de linguagens C++ e SmallTalk. Anos 80 Anos 80-90: diversidade de autores.

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 20.10.2006. Faculdade de Ciências da Universidade de Lisboa

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 20.10.2006. Faculdade de Ciências da Universidade de Lisboa Alexandre Zua Caldeira Tecnologias de Middleware 2006/2007 Faculdade de Ciências da Universidade de Lisboa 20.10.2006 1 Introdução Definições Limitações do Middleware Estudado Integração com Web Services

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Introdução à Arquitetura de Software (continuação)

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena Trabalho Experimental Sistema de Gestão Hoteleira 1. Objetivo Este trabalho tem o objetivo de consolidar o conhecimento sobre UML e

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

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 Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama DCC / ICEx / UFMG Diagrama de Diagrama de Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Adota uma linguagem simples Acessível ao cliente Objetivo é a compreensão do comportamento externo do sistema

Leia mais

Diagrama de Caso de Uso e Diagrama de Sequência

Diagrama de Caso de Uso e Diagrama de Sequência Diagrama de Caso de Uso e Diagrama de Sequência Milena Alexandre dos Santos Baesso (Mestranda em Engenharia Elétrica) Agenda Ciclo de Vida de um Sistema A Fase de Análise Análise Orientada à Objetos Diagramas

Leia mais

Análise Orientada a Objetos (OOA) Projeto Orientado a Objetos (OOD) As técnicas tradicionais (Análise e Projeto Estruturado) não são adequadas para o

Análise Orientada a Objetos (OOA) Projeto Orientado a Objetos (OOD) As técnicas tradicionais (Análise e Projeto Estruturado) não são adequadas para o Análise Orientada a Objetos (OOA) Projeto Orientado a Objetos (OOD) As técnicas tradicionais (Análise e Projeto Estruturado) não são adequadas para o desenvolvimento de software utilizando a orientação

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

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

Serviços Web: Arquitetura

Serviços Web: Arquitetura Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Modelos de Sistemas Leitura: Sommerville; Pressman

Modelos de Sistemas Leitura: Sommerville; Pressman Modelos de Sistemas Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Objetivos Explicar por que é importante modelar o contexto de

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Programa EndNote. Download para teste no site: http://www.endnote.com/endemo.asp. (Atualmente o EndNote está na versão 5x)

Programa EndNote. Download para teste no site: http://www.endnote.com/endemo.asp. (Atualmente o EndNote está na versão 5x) Programa EndNote 1. Informações O EndNote é um gerenciador de referências bibliográficas desenvolvido pela Thomson Reuters. O software permite armazenar e organizar as referências encontradas nas buscas

Leia mais

OCOMON PRIMEIROS PASSOS

OCOMON PRIMEIROS PASSOS OCOMON PRIMEIROS PASSOS O OCOMON ainda não possui um arquivo de Help para atender a todas questões relacionadas ao sistema. Esse arquivo serve apenas para dar as principais instruções para que você tenha

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Manual Geral do OASIS

Manual Geral do OASIS Manual Geral do OASIS SISTEMA DE GESTÃO DE DEMANDA, PROJETO E SERVIÇO DE TECNOLOGIA DA INFORMAÇÃO OASIS Introdução Esse manual tem como objetivo auxiliar aos usuários nos procedimentos de execução do sistema

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Análise e Projeto Orientado a Objetos. Modelagem de Domínio + Análise e Projeto Orientado a Objetos Modelagem de Domínio Introdução 2 n A modelagem do domínio está relacionada à descoberta das informações que são gerenciadas pelo sistema. O resultado dessa investigação

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Arquitetura Orientada a Serviço

Arquitetura Orientada a Serviço Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Diagrama de Casos de Uso

Diagrama de Casos de Uso Diagrama de Casos de Uso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros,

Leia mais

Prof.ª Esp. Talita Pagani

Prof.ª Esp. Talita Pagani Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design

Leia mais