UMC Universidade de Mogi das Cruzes. Notas de Aula. Profa. MSc. Viviane Guimarães Ribeiro

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

Download "UMC Universidade de Mogi das Cruzes. Notas de Aula. Profa. MSc. Viviane Guimarães Ribeiro"

Transcrição

1 UMC Universidade de Mogi das Cruzes Notas de Aula Profa. MSc. Viviane Guimarães Ribeiro 2014

2 Índice APRESENTAÇÃO DA DISCIPLINA... 4 PLANO DE ENSINO... 4 EMENTA... 4 OBJETIVO DA DISCIPLINA... 4 TÓPICOS DO SEMESTRE... 4 METODOLOGIA... 4 FERRAMENTA CASE... 4 AVALIAÇÃO... 4 DATAS IMPORTANTES... 5 BIBLIOGRAFIA BÁSICA... 5 BIBLIOGRAFIA COMPLEMENTAR MODELAGEM DE SISTEMAS DE SOFTWARE A EVOLUÇÃO HISTÓRICA DA MODELAGEM DE SISTEMAS O PARADIGMA DA ORIENTAÇÃO A OBJETOS CLASSES E OBJETOS MENSAGENS O PAPEL DA ABSTRAÇÃO UML DIAGRAMA DE CASO DE USO DIAGRAMA DE CLASSE DIAGRAMA DE OBJETOS DIAGRAMA DE SEQUENCIA DIAGRAMA DE COMUNICAÇÃO/COLABORAÇÃO DIAGRAMA DE MÁQUINA DE ESTADO/TRANSIÇÃO DE ESTADOS DIAGRAMA DE PACOTES DIAGRAMA DE COMPONENTES DIAGRAMA DE IMPLEMENTAÇÃO/IMPLANTAÇÃO DIAGRAMA DE ATIVIDADES DIAGRAMA DE TEMPO/TEMPORIZAÇÃO DIAGRAMA DE ESTRUTURA COMPOSTA DIAGRAMA DE VISÃO GERAL/GERAL DE INTERAÇÃO O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ATIVIDADES TÍPICAS DE UM PROCESSO DE DESENVOLVIMENTO PARTICIPANTES DO PROCESSO MODELOS DE CICLO DE VIDA INTRODUÇÃO À FASE DE ANÁLISE LEVANTAMENTO DE REQUISITOS TÉCNICAS UTILIZADAS APLICAÇÃO PRÁTICA SISTEMA ACADÊMICO Profa. MSc. Viviane Guimarães Ribeiro 2

3 6. MODELAGEM DE CASO DE USO DIAGRAMA DE CASO DE USO - DCU IDENTIFICAÇÃO DOS ELEMENTOS DO DCU CONSTRUÇÃO DO DCU COMPLEXIDADE DOS CASOS DE USO TIPO DE CASOS DE USO DIAGRAMA DE ATIVIDADES ELEMENTOS DE UM DIAGRAMA DE ATIVIDADES RAIAS (SWIMLANES) INTRODUÇÃO AO DIAGRAMA DE CLASSE ESTÁGIOS DO MODELO DE CLASSES DIAGRAMA DE CLASSES Profa. MSc. Viviane Guimarães Ribeiro 3

4 Apresentação da Disciplina Nome da Disciplina: Análise Orientada a Objetos Professora MSc. Viviane Guimarães Ribeiro viviane_umc@yahoo.com.br Ementa Plano de Ensino Processo de desenvolvimento de sistemas com Orientação a Objetos. Especificação de requisitos. Modelagem de sistemas Orientados a Objetos utilizando UML. Objetivo da Disciplina Conhecer as técnicas e saber realizar o levantamento de requisitos de sistemas, identificar os envolvidos e os problemas a resolver, definir o escopo do projeto. Saber modelar os sistemas com diagramas de "use case" e de atividades. Tópicos do Semestre 1) Modelagem de Sistemas de Software 2) Paradigma Orientado a Objetos a. Classes b. Objetos c. Encapsulamento d. Polimorfismo e. Herança 3) Linguagem de Modelagem Unificada (UML) 4) O Processo de Desenvolvimento de Software a. Atividades Típicas de um Processo de Desenvolvimento b. Participantes do Processo c. Modelos de Ciclo de Vida 5) Levantamento e Documentação de Requisitos 6) Modelagem de Casos de Uso 7) Modelagem de Atividades Metodologia Aulas expositivas exercícios de fixação. Ferramenta Case Astah disponível em Avaliação M1 = P1 (70%) + AP (30%) ND = P2 (70%) + AP (30%) M2 = ND (70%) + PI (30%) Média Semestral = (M1 + M2 * 2) / 3 Onde: P1 e P2 são provas individuais, escritas e sem consulta, previamente agendadas. Profa. MSc. Viviane Guimarães Ribeiro 4

5 AP são as atividades práticas realizadas em sala (sem a necessidade de agendamento prévio) ou em casa. PI prova interdisciplinar agendada pela gestão do curso. Datas Importantes P1 P2 Recuperação OBS1: Não será aplicada prova substitutiva. OBS2: A disciplina tem caráter acumulativo, portanto em todas as provas será cobrado todo o conteúdo estudado até o momento no semestre. Bibliografia Básica PAULA FILHO, Wilson de Pádua; Engenharia de Software: Fundamentos, Métodos e Padrões, LTC, Rio de Janeiro, BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar; UML Guia do Usuário, Editora Campus, Rio de Janeiro, BEZERRA, Eduardo; Princípios de Análise e Projeto de Sistemas com UML, Editora Campus, Rio de Janeiro, Bibliografia Complementar MARTINS, José C. C.; Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML, Brasport, Rio de Janeiro, JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James; The Unified Software Development Process, Addison-Wesley, Massachusetts, PRESSMAN, Roger S.; Software Engineering: a practitioner s approach, Pearson Makron Books, São Paulo, LIMA, Adilson da Silva; UML 2.3: do requisito à solução, Érica, São Paulo, KRUCHTEN, Philippe; The rational unified process An introduction, Massachusetts, AddisonWesley, FURGERI, Sérgio; Modelagem de Sistemas Orientados a Objetos: Ensino Didático, Érica, São Paulo, Profa. MSc. Viviane Guimarães Ribeiro 5

6 1. Modelagem de Sistemas de Software Em consequência do crescimento da importância da informação, surgiu a necessidade de gerenciar informações de uma forma adequada e eficiente e, dessa necessidade, surgiram os denominados Sistemas de Informação. Um sistema de informação é uma combinação de pessoas, dados, processos, interfaces, redes de comunicação e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negócio de uma organização empresarial com relação às informações que nela fluem. Considerando o caráter estratégico da informação nos dias de hoje, pode-se dizer também que os sistemas de informação têm o objetivo de prover vantagens para uma organização do pronto de vista competitivo. O objetivo principal e final da construção de um sistema de informação é a adição de valor à empresa ou organização na qual esse sistema será utilizado. O termo adição de valor implica que a produtividade nos processos da empresa na qual o sistema de informação será utilizado deve aumentar de modo significativo, de tal forma a compensar os recursos utilizados na construção do sistema. Um sistema de software (componente de um sistema de informação) corresponde aos módulos funcionais computadorizados que interagem entre si para proporcionar ao(s) usuário(s) do sistema a automação de diversas tarefas. Uma característica intrínseca de sistemas de software é a complexidade de seu desenvolvimento, que aumenta a medida que cresce o tamanho do sistema. Na construção de sistemas de software, assim como na construção civil, também há uma gradação de complexidade. Para a construção de sistemas de software mais complexos, também é necessário um planejamento inicial. O equivalente ao projeto das plantas da engenharia civil também deve ser realizado. Essa necessidade leva ao conceito de modelo, tão importante no desenvolvimento de sistemas. De uma perspectiva mais ampla, um modelo pode ser visto como uma representação idealizada de um sistema de ser construído. São vários os motivos para se utilizar modelos na construção de sistemas. Segue-se uma lista destas razões. 1. Gerenciamento da complexidade o ser humano possui limitações em lidar com a complexidade. Para um mesmo sistema podem ser feitos diversos modelos, cada qual descrevendo uma perspectiva do sistema a ser construído; Profa. MSc. Viviane Guimarães Ribeiro 6

7 2. Comunicação entre pessoas envolvidas o desenvolvimento de um sistema envolve a execução de uma quantidade significativa de atividades. Essas atividades se traduzem em informações sobre o sistema em desenvolvimento. Grande parte dessas informações corresponde aos modelos criados para representar o sistema. Neste sentido, os modelos servem também para promover a difusão de informações relativas ao sistema entre os indivíduos envolvidos em sua construção; 3. Redução nos custos do desenvolvimento no desenvolvimento de sistemas, seres humanos estão invariavelmente sujeitos a cometerem erros, que podem ser tanto individuais quanto de comunicação entre os membros da equipe. Certamente, a correção destes erros é menos custosa quando detectada e realizada ainda no(s) modelo(s) do sistema; 4. Previsão do comportamento futuro do sistema os modelos servem como laboratório, em que diferentes soluções para um problema relacionado à construção do sistema podem ser experimentadas; Outra questão importante é sobre como são os modelos de sistemas de software. Modelos de sistemas de software não são muito diferentes dos modelos de sistema da construção civil. No contexto do desenvolvimento de software, esses modelos correspondem a desenhos gráficos que seguem algum padrão lógico. Tais desenhos são chamados de diagramas. Graças aos desenhos gráficos que modelam o sistema, os desenvolvedores têm uma representação concisa do sistema. No entanto, modelos de sistema de software também são compostos por informações textuais. Embora um diagrama consiga expressar diversas informações de forma gráfica, em diversos momentos há a necessidade de adicionar informações na forma de texto, com o objetivo de explicar ou definir certas partes desse diagrama. Dá se o nome de documentação do sistema ao conjunto de modelo de uma das perspectivas de um sistema, juntamente com a informação textual associada A Evolução Histórica da Modelagem de Sistemas Década de 1950/60 Os sistemas eram significativamente mais simples e, consequentemente, as técnicas de modelagem também eram mais simples: era a época dos fluxogramas e diagramas de módulos; Década de 1970 Houve uma grande expansão do mercado computacional. Sistemas mais complexos começaram a surgir. Por conseguinte, modelos mais robustos foram propostos. Neste período, surge a programação estruturada, baseada nos trabalhos de David Parnas. No final dessa década, surge também a análise e o projeto estruturado, consolidados pelos trabalhos de Tom DeMarco, Larry Constantine e Edward Yourdon; Década de 1980 Surge a necessidade por interfaces homem-máquina mais sofisticadas, o que originou a produção de sistemas de software mais complexos. Em 1989, Edward Yourdon lança o clássico Análise Estruturada Moderna, livro que se tornou uma referência no assunto; Década de 1990 Esse é o período que surge um novo paradigma de modelagem, a Análise Orientada a Objetos, como resposta a dificuldades encontradas na aplicação da Análise Estruturada a certos domínios de aplicação. Grandes colaboradores no desenvolvimento do paradigma OO são: Sally Shlaer, Stephen Mellor, Rebecca Wirfs-Brock, James Rumbaugh, Grady Booch e Ivar Jacobson. Fim da década de 1990 o paradigma OO atinge sua maturidade. Os conceitos de padrões de projeto, frameworks, componentes e qualidade começam a ganhar espaço. Surge a Linguagem de Modelagem Unificada (UML). Em 1997, a UML foi aprovada como padrão pelo OMG (Object Management Group), um consórcio internacional de empresas que define e gerencia padrões na área de Orientação a Objetos. Profa. MSc. Viviane Guimarães Ribeiro 7

8 2. O Paradigma da Orientação a Objetos Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual este sistema é entendido e construído. A primeira abordagem utilizada para a modelagem de sistemas de software foi o paradigma estruturado. O paradigma OO surgiu no fim dos anos 60. Alan Kay, um dos pais desse paradigma, formulou a chamada analogia biológica. Nessa analogia ele imaginou como seria um sistema de software que funcionasse como um ser vivo. Neste sistema cada célula interagia com outras células através do envio de mensagens para realizar um objetivo comum. Além disso, cada célula se comportaria como uma unidade autônoma. De uma forma geral, Kay pensou em como construir um sistema de software a partir de agentes autônomos que interagem entre si. Ele, então, estabeleceu os seguintes princípios da orientação a objetos: 1. Qualquer coisa é um objeto; 2. Objetos realizam tarefas por meio da requisição de serviços a outros objetos; 3. Cada objeto pertence a uma determinada classe. Uma classe agrupa objetos similares; 4. A classe é um repositório para comportamento associado ao objeto; 5. Classes são organizadas em hierarquias. Exemplo: Nome, end, sabor sabor João José Maria pizza, end pizza pizza Zuca Objetivo atingido através da colaboração de diversos agentes denominados Objetos. Objetos: João, José, Maria e Zuca. Cada um faz uma atividade especifica e juntos realizam o objetivo. Zuca se comporta exatamente como qualquer outro entregador. Dizemos que Zuca é um objeto da classe entregador. Pode-se concluir que a Orientação a objetos como técnica para modelagem de sistemas, diminui a diferença semântica entre a realidade sendo modelada e os modelos construídos Classes e Objetos O mundo real é formado por coisas. Como exemplos dessas coisas, pode-se citar um cliente, uma loja, uma venda, um pedido de compra, um fornecedor, etc. Na terminologia da orientação a objetos, essas coisas do mundo real são denominadas objetos. Profa. MSc. Viviane Guimarães Ribeiro 8

9 Seres humanos costumam agrupar objetos, provavelmente para tentar gerenciar a complexidade de entender as coisas do mundo real. Uma classe é uma descrição abstrata dos atributos e serviços comuns a um grupo de objetos. Sendo assim, pode-se entender uma classe como sendo um molde a partir do qual objetos são construídos. Ainda sobre terminologia, diz-se que um objeto é uma instância de uma classe. Instância pode ser vista como a criação de um exemplo para uma classe qualquer. Exemplos: Cavalo (classe) diferenças que possam haver entre os exemplares (objetos) da ideia cavalo. Receita de bolo (classe) bolo (objeto) - podemos fazer vários bolos de chocolate a partir da mesma receita Profa. MSc. Viviane Guimarães Ribeiro 9

10 Nome da classe Operações (funções) +nome -nascimento -documento Pessoa +definirnome () +obternome () +definirnascimento () +obternascimento () +definirdocumento () +obterdocumento () Atributos (dados) 2.2. Mensagens Dá-se o nome de operação a alguma ação que um objeto sabe realizar quando solicitado. De uma forma geral, um objeto possui diversas operações. Objetos não executam suas operações aleatoriamente. Para que uma operação em um objeto seja executada, deve haver um estímulo enviado a esse objeto. Seja qual for a origem do estímulo, quando ele ocorre, diz-se que o objeto em questão está recebendo uma mensagem requisitando que ele realize alguma operação O Papel da Abstração Uma abstração é qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes. Note que uma abstração de algo é dependente da perspectiva (contexto) sobre a qual uma coisa é analisada e de quem as observa. Exemplo: Carro para uma transportadora de cargas; Carro para uma fábrica de automóveis; Carro para um colecionador; Carro para uma empresa de kart; Carro para um mecânico. Profa. MSc. Viviane Guimarães Ribeiro 10

11 A orientação a objetos faz uso intenso de abstrações. Os princípios da orientação a objetos podem ser vistos como aplicações da abstração. Encapsulamento Objetos possuem comportamento. O termo comportamento diz respeito a que operações são realizadas por um objeto e também de que modo estas operações são executas. De acordo com o encapsulamento, objetos devem esconder a sua complexidade. Esse princípio aumenta a qualidade do sistema de software orientado a objetos em termos de: legibilidade, clareza e reuso. O encapsulamento é uma forma de restringir o acesso ao comportamento interno de um objeto. Um objeto que precise da colaboração de outro para realizar alguma tarefa simplesmente envia uma mensagem a este último. O método (maneira de fazer) que o objeto requisitado usa para realiza a tarefa não é conhecido dos objetos requisitantes. Profa. MSc. Viviane Guimarães Ribeiro 11

12 Na terminologia da orientação a objetos, diz-se que um objeto possui uma interface. A interface de um objeto é o que ele conhece e o que ele sabe fazer, sem descrever como o objeto conhece ou faz. A interface de um objeto define os serviços que ele pode realizar e consequentemente as mensagens que ele recebe. Uma interface pode ter várias formas de implementação. Mas, pelo princípio do encapsulamento, a implementação utilizada por um objeto receptor de uma mensagem não importa para o objeto remetente da mesma. Polimorfismo O polimorfismo indica a capacidade de abstrair várias implementações diferentes em uma única interface. Exemplo: um mesmo controle remoto sendo utilizado para controlar mais de um aparelho (aplicação do princípio do polimorfismo na vida real). No contexto da orientação a objetos, o polimorfismo diz respeito à capacidade de duas ou mais classes de objetos responderem à mesma mensagem, cada qual de seu próprio modo. O polimorfismo é um mecanismo por meio do qual selecionamos as funcionalidades utilizadas de forma dinâmica por um programa no decorrer de sua execução. Por exemplo: podemos assumir que uma bola de futebol e uma camisa da seleção brasileira são artigos esportivos, mais que o cálculo deles em uma venda é calculado de formas diferentes. Profa. MSc. Viviane Guimarães Ribeiro 12

13 Profa. MSc. Viviane Guimarães Ribeiro 13

14 Generalização/Herança Na generalização, classes semelhantes são agrupadas em uma hierarquia. Cada nível dessa hierarquia pode ser visto como um nível de abstração. Cada classe em um nível da hierarquia herda as características e o comportamento das classes às quais está associada nos níveis acima dela. Além disso, essa classe pode definir características e comportamento particulares. Dessa forma, uma classe pode ser criada a partir do reuso da definição de classes preexistentes. Vamos analisar a relação entre animais, mamíferos e cachorros. Os animais, sob uma descrição abstrata, apresentam atributos, tais como tamanho, inteligência e estrutura óssea. Apresentam também aspectos comportamentais como mover-se, dormir, comer, respirar, etc. Esses atributos e aspectos comportamentais definem a classe dos animais. Analisando os mamíferos, que são filhos da classe animais, veremos atributos detalhados e específicos a ele, como por exemplo, tipo de dente, pelos e glândulas mamárias. Assim, podemos afirmar que os mamíferos são classificados como uma classe derivada dos animais, que por sua vez, são uma classe base dos mamíferos. Pela chamada hierárquica de classes, a classe derivada mamíferos recebe todos os atributos de animais, partindo do princípio que uma classe derivada recebe por herança todos os atributos de seus ancestrais. Profa. MSc. Viviane Guimarães Ribeiro 14

15 Composição É natural para os seres humanos pensarem em coisas do mundo real como objetos compostos de outros objetos. Por exemplo, um livro é composto de páginas; páginas possuem parágrafos; parágrafos possuem frases, e assim por diante. De uma forma geral, objetos podem ser compostos de outros objetos; esse é o princípio da composição. A composição nos permite criar objetos a partir da reunião de outros objetos. Profa. MSc. Viviane Guimarães Ribeiro 15

16 3. UML A UML é uma linguagem visual para modelar sistemas orientados a objetos, constituída de elementos gráficos (visuais) utilizados na modelagem que permitem representar os conceitos do paradigma Orientado a Objetos e assim construir diagramas que representem diferentes perspectivas de um sistema. Os três principais autores da UML são: Grady Booch, James Rumbaugh e Ivar Jacobson. Cada elemento gráfico possui uma sintaxe e uma semântica que define como deve ser desenhado e seu respectivo significado. Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criação de diversos documentos. Estes documentos, denominados artefatos de software, podem ser textuais ou gráficos. Os artefatos gráficos produzidos de um sistema OO são definidos através dos diagramas da UML. Profa. MSc. Viviane Guimarães Ribeiro 16

17 3.1. Diagrama de Caso de Uso É um dos mais importantes diagramas da UML e apresenta o sistema sob o ponto de vista dos usuários, ou seja, apenas uma visão externa das funcionalidades existentes no sistema. De maneira bastante simplificada, pense em um caso de uso como uma opção de um menu dentro de um sistema de software. Em outras palavras, esse diagrama mostra o que cada tipo de usuário faz dentro do sistema. Cada funcionalidade é representada por uma elipse contendo um texto. Profa. MSc. Viviane Guimarães Ribeiro 17

18 3.2. Diagrama de Classe O Diagrama de Classes apresenta a estrutura das classes usadas para fabricar o sistema. Trata-se das estruturas internas utilizadas para compor o software. Pense em uma classe como a estrutura básica fundamental a partir da qual um sistema é criado Diagrama de Objetos Ele é basicamente similar ao diagrama de classes e demonstra as ligações existentes entre objetos, em vez de mostrar ligações entre classes. Enquanto o diagrama de classes apresenta apenas a estrutura estática dos atributos, o diagrama de objetos traz o estado atual do objeto, isto é, adiciona conteúdo aos atributos. Assim como um objeto é gerado (instanciado) a partir de uma classe, um diagrama de objetos também é gerado a partir de um diagrama de classes. Profa. MSc. Viviane Guimarães Ribeiro 18

19 3.4. Diagrama de Sequencia Como o nome sugere, este diagrama representa a sequencia com que os objetos se comunicam para realizar uma determinada tarefa. Ele é importante para que o desenvolvedor entenda a responsabilidade de cada elemento (classe ou objeto) presente na execução de algum processo Diagrama de Comunicação/Colaboração O diagrama de comunicação, chamado nas primeiras versões da UML de diagrama de colaboração, é bastante similar ao diagrama de sequencia, isto é, tem o objetivo de demonstrar a comunicação existente entre os elementos, no entanto a ordem na execução das mensagens não é importante. O importante é demonstrar que os objetos colaboram entre si na execução de uma tarefa. Profa. MSc. Viviane Guimarães Ribeiro 19

20 3.6. Diagrama de Máquina de Estado/Transição de Estados O diagrama da máquina de estados descreve o comportamento de um objeto de uma única casse e permite acompanhar os diferentes estados, os quais esse objeto assume durante sua execução, isto é, em seu ciclo de vida. Um pedido de compra, por exemplo, pode assumir diferentes estados, como: aberto, pendente, cancelado, encerrado, etc. Ao reconhecer os diferentes estados, torna-se possível prever quais operações serão necessárias para uma determinada classe. Profa. MSc. Viviane Guimarães Ribeiro 20

21 3.7. Diagrama de Pacotes O diagrama de pacotes tem o objetivo de demonstrar como os arquivos de um sistema (classes, imagens, sons, etc.) estão organizados em pastas (pacotes). Os pacotes permitem armazenar e separar elementos em grupos para melhor organização dos arquivos, dando apoio para a divisão do sistema em subsistemas (divisões de um sistema). O diagrama de pacotes permite também demonstrar as dependências existentes entre as diferentes partes de um sistema. Profa. MSc. Viviane Guimarães Ribeiro 21

22 3.8. Diagrama de Componentes O diagrama de componentes tem o objetivo de representar as diferentes partes (módulos) que compõem um sistema. Um componente pode ser elementar (como uma classe) ou algo mais complexo (como uma parte de um sistema, um módulo). O diagrama de componentes traz uma visão mais macro do sistema, como se fosse uma visão aérea de todas as partes principais Diagrama de Implementação/Implantação O diagrama de implantação tem o objetivo de fornecer uma visão dos componentes físicos necessários para a implantação do sistema, isto é, ele demonstra quais são os computadores, redes, protocolos e outros componentes de hardware necessários para que o sistema desenvolvido funcione. O uso do diagrama de implantação se justifica quando existem diversos elementos físicos necessários à implantação do sistema, pois se o sistema roda em apenas uma máquina, não será necessário desenhar esse diagrama. Profa. MSc. Viviane Guimarães Ribeiro 22

23 3.10. Diagrama de Atividades O diagrama de atividades fornece uma visão interna de alguma funcionalidade do sistema. Apresenta o conjunto de etapas computacionais necessárias para que uma determinada tarefa seja realizada. Profa. MSc. Viviane Guimarães Ribeiro 23

24 3.11. Diagrama de Tempo/Temporização O diagrama de tempo representa o comportamento dos objetos e sua interação em uma escala de tempo, focalizando as condições que mudam no decorrer desse período. Por descrever a mudança de estado de um objeto, esse diagrama se assemelha ao diagrama de máquina de estado e suas relações com o tempo, o diagrama de tempo também possui relação com o diagrama de sequencia. Portanto, esse diagrama é uma mistura de diagrama de sequencia e de estado. Por sua natureza, o diagrama de tempo é mais indicado para aplicações em tempo real Diagrama de Estrutura Composta O diagrama de estrutura composta tem o objetivo de detalhar a estrutura interna de diversos elementos, tais como classes, componentes e classificadores (uma classe que implementa uma interface). Esse diagrama pode ser encarado como sendo uma lupa ou um microscópio, pois com ele você pode visualizar detalhes de construção, relacionamentos internos e os diversos itens envolvidos na estrutura de um elemento. É usado também para modelar colaborações, isto é, busca representar elementos que colaboram entre si para desempenhar uma tarefa. O diagrama de estrutura composta pode ser usado para representar três tipos de visão diferentes: a visão da estrutura interna, a visão das portas de comunicação e a visão das colaborações entre os elementos. Profa. MSc. Viviane Guimarães Ribeiro 24

25 3.13. Diagrama de Visão Geral/Geral de Interação Como o nome sugere, esse diagrama fornece uma visão geral da interação de algum processo. Graficamente é semelhante ao diagrama de atividades, porém utiliza-se de quadros em vez de nós de ação. Cada quadro representa uma interação e pode conter qualquer diagrama de interação dentro dele (sequência, comunicação e tempo). Um quadro pode também conter apenas uma referência para um diagrama de interação sem apresentar seu detalhamento. Profa. MSc. Viviane Guimarães Ribeiro 25

26 4. O processo de Desenvolvimento de Software O desenvolvimento de software é uma atividade complexa. Para dar uma ideia desta complexidade, são listados a seguir alguns dados levantados no Chaos Report, um estudo clássico feito pela Standish Group sobre projetos de desenvolvimento (1994): Porcentagem de projetos que termina dentro do prazo estipulado: 10%; Porcentagem de projetos que são descontinuados antes de chegarem ao fim: 25%; Porcentagem de projetos acima do custo esperado: 60%; Atraso médio nos projetos: um ano. Tentativas de lidar com a complexidade e de minimizar os problemas envolvidos no desenvolvimento de software envolvem a definição de processos de desenvolvimento de software (PDS). Um PDS compreende todas as atividades necessárias para definir, desenvolver, testar e manter um produto de software. Alguns objetivos de um processo de desenvolvimento são: Definir quais as atividades a serem executadas ao longo do projeto; Definir quando, como e por quem tais atividades serão executadas; Prover pontos de controle para verificar o andamento do desenvolvimento; Padronizar a forma de desenvolver software em uma organização. Linguagem de modelagem + processo de desenvolvimento = método (ou metodologia) de desenvolvimento Exemplos de bons processos e metodologias para desenvolvimento de software. RUP - Rational Unified Process. Metodologias Ágeis: o XP - extreme Programming; o Scrum Atividades Típicas de um Processo de Desenvolvimento Um processo de desenvolvimento classifica em atividades as tarefas realizadas durante a construção de um sistema de software. Há vários processos de desenvolvimento propostos. Por outro lado, é um consenso na comunidade de desenvolvimento de software o fato de que não existe o melhor processo de desenvolvimento, aquele que melhor se aplica a todas as situações de desenvolvimento. Cada processo tem suas particularidades em relação ao modo de arranjar e encadear as atividades de desenvolvimento. Entretanto, podem-se distinguir atividades que, com uma ou outra modificação, são comuns à maioria dos processos existentes. São elas: Levantamento de requisitos corresponde a etapa de compreensão do problema aplicada ao desenvolvimento de software (trabalho conjunto entre desenvolvedores/analistas e cliente foco: aspectos lógicos e independentes de implementação); Análise é esta a etapa em que o analista realiza um estudo detalhado dos requisitos levantados na atividade anterior. A partir deste estudo, são construídos os modelos para representar o sistema a ser construído (foco: aspectos lógicos e independentes de implementação); Projeto (Desenho) determina-se como o sistema funcionará para atender aos requisitos, de acordo com os recursos tecnológicos existentes foco: aspectos físicos e dependentes de implementação; Implementação - fase de codificação do sistema utilizando linguagens de programação; Profa. MSc. Viviane Guimarães Ribeiro 26

27 Testes diversas atividades de testes são realizadas para verificação do sistema construído, levando-se em conta a especificação feita anteriormente; Implantação o sistema é empacotado, distribuído e instalado no ambiente do usuário Participantes do Processo Gerentes de Projeto profissional responsável pela coordenação das atividades necessárias à construção do sistema; Analistas profissional que deve entender os problemas do domínio do negócio para que possa definir os requisitos do sistema a ser desenvolvido; Projetistas profissional cujas funções são: avaliar as alternativas de solução do problema resultante da análise e gerar a especificação de uma solução computacional detalhada (Projetista de interface, de redes, de banco de dados); Arquitetos de Software profissional encontrado em grandes equipes, é ele quem toma decisões sobre quais são os subsistemas que compõem o sistema como um todo e quais são as interfaces entre esses subsistemas; Programadores profissional responsável pela implementação dos sistemas; Especialistas de Domínio indivíduo que possui conhecimento acerca da área ou do negócio em que o sistema em desenvolvimento será inserido Cliente; Avaliadores de Qualidade profissional que assegura a adequação do processo de desenvolvimento e do produto de software sendo desenvolvido aos padrões de qualidade estabelecidos pela organização Modelos de Ciclo de Vida Um ciclo de vida corresponde a um encadeamento específico das fases para construção de um sistema. Dois modelos mais importantes: Modelo em cascata; Modelo iterativo e incremental. Profa. MSc. Viviane Guimarães Ribeiro 27

28 Modelo em Cascata Esse modelo apresenta uma tendência para a progressão sequencial entre uma fase e a seguinte. Problemas: Projetos reais raramente seguem um fluxo sequencial; Assume que é possível declara detalhadamente todos os requisitos antes do início das demais fases do desenvolvimento; Existe a propagação de erros pelas fases do processo; Uma versão de produção do sistema não estará ponta até que o ciclo de projeto de desenvolvimento chegue ao final. Modelo em Iterativo e Incremental Iterativo o sistema de software é desenvolvido em vários passos similares. Incremental em cada passo, o sistema é estendido com mais funcionalidades. Divide o desenvolvimento de um produto de software em ciclos. Em cada ciclo de desenvolvimento, podem ser identificadas as fases de análise, projeto, implementação e testes. Cada ciclo considera um subconjunto de requisitos. Esta característica contrasta com a abordagem clássica, na qual as fases são realizadas uma única vez. Profa. MSc. Viviane Guimarães Ribeiro 28

29 Vantagens: Incentiva a participação do usuário; Os riscos do desenvolvimento podem ser mais bem gerenciados; Desvantagem: Mais difícil de gerenciar. Profa. MSc. Viviane Guimarães Ribeiro 29

30 5. Introdução à fase de análise Para formar um bom entendimento do sistema que se deseja desenvolver, algumas perguntas e informações são importantes: Qual é o problema (e o negócio)? Para quem é o sistema? Como o sistema será útil para os interessados? 5.1. Levantamento de requisitos Objetivo: Compreender o que são requisitos de software, saber identificar requisitos em um domínio de negócio e classificá-los como funcionais e não funcionais. A atividade de levantamento de requisitos corresponde à etapa de compreensão do problema aplicada ao desenvolvimento de software. O objetivo principal é que usuários e desenvolvedores tenham a mesma visão do problema a ser resolvido. Os desenvolvedores, juntamente com os clientes, tentam levantar e definir as necessidades dos futuros usuários do sistema. Essas necessidades são denominadas de requisitos. Um requisito é uma condição ou capacidade que deve ser alcançada ou possuída por um sistema. Normalmente estes requisitos são identificados a partir do domínio do negócio, que é a área específica na qual um determinado sistema de software será desenvolvido. O domínio do negócio (também chamado de domínio do problema) corresponde à parte do mundo real que é relevante ao desenvolvimento de um sistema, no sentido de que algumas informações e processos desse negócio precisam ser incluídos no sistema. O produto do levantamento de requisitos é o documento de requisitos, que declara os diversos tipos de requisitos do sistema. Os requisitos podem ser classificados como funcionais ou não funcionais. Profa. MSc. Viviane Guimarães Ribeiro 30

31 Requisitos Funcionais São requisitos diretamente ligados a funcionalidade do software, descrevem as funções que o software deve executar Exemplo: 1. Requisitos em um sistema bancário Solicitar saldo Solicitar depósito Realizar transferência 2. Requisitos em um sistema de hotel fazenda Cadastrar cliente Controlar empréstimos Calcular despesas Sintaxe: Verbo + Objeto Requisitos Não-Funcionais São requisitos que expressam condições que o software deve atender ou qualidades específicas que o software deve ter. Em vez de informar o que o sistema fará, os requisitos não-funcionais colocam restrições no sistema. Exemplo: Confiabilidade: medidas quantitativas sobre tempo médio de falhas ou recuperação de falhas. Desempenho: definem tempo de respostas esperados para as funcionalidades. Portabilidade: restrições sobre as plataformas de hardware e software. Segurança: limitações sobre segurança em relação a acessos não autorizados; Usabilidade: facilidade de uso e a necessidade ou não de treinamento dos usuários; Manutenibilidade: define o quanto o software é fácil de ser alterado e deve ser perseguido no processo de codificação de um sistema; Precisão: é um atributo que determina o quanto um software é preciso; Escalabilidade: se refere a possibilidade de aumentar a carga de uso do sistema sem que isso prejudique o seu desempenho; Garantia de suporte: é um atributo que estabelece o nível de comprometimento da empresa desenvolvedora após a venda do sistema; Interoperabilidade: é um atributo que determina se o software pode operar facilmente com outros sistemas na execução de alguma tarefa em conjunto; Internacionalização: o sistema deve ser construído de maneira a facilitar a rápida mudança de língua Técnicas utilizadas Usuários chave Entrevistas o Aplicada a um número reduzido de pessoas; o Permite o diálogo interativo; o Permite visualizar as reações do entrevistado; o Possibilita grande flexibilidade na estrutura original da entrevista. Questionários o Aplicado a um número reduzido de pessoas; o Necessita ser bem estruturado e dirigido para o problema que se quer analisar; o Permite pouca flexibilidade na sua estrutura; o Permite manusear grande número de informações. Workshop o Aplicado a um número reduzido de pessoas; Profa. MSc. Viviane Guimarães Ribeiro 31

32 o Permite interação e discussão aberta; o Produz resultados imediatos e evolução na forma de interpretar e tratar os processos. Observação o É a verificação no local de trabalho, com pequenas interferências do analista; o É aplicado para complementar o levantamento de informações sobre o processo, para garantir o entendimento da situação analisada, ou quando o assunto for muito complexo ou específico. Reuniões Profissionais experientes na área do negócio Analistas e desenvolvedores com experiência técnica Sistemas similares Aplicação Prática Sistema Acadêmico Requisitos Funcionais ID Nome Descrição RF01 Consultar notas O sistema deve permitir que alunos visualizem as notas obtidas por semestre letivo. RF02 Lançar notas O sistema deve permitir o lançamento das notas das disciplinas lecionadas em um semestre letivo e controlar os prazos e atrasos neste lançamento. RF03 Cadastrar disciplina O sistema deve manter informações cadastrais sobre disciplinas no currículo escolar. RF04 Abrir turmas O sistema deve permitir a abertura de turmas para uma disciplina, assim como a definição de sala e laboratórios a serem utilizadas e dos horários e dias da semana em que haverá aulas de tal turma. RF05 Inscrever em disciplina O sistema deve permitir que os alunos realizem a inscrição em disciplinas de um semestre letivo. RF06 Controlar inscrições O sistema deve permitir o controle do andamento das inscrições em disciplinas feitas pelo aluno. RF07 Obter dos dados dos professores O sistema deve se comunicar com o Sistema de Recursos Humanos para obter dados cadastrais sobre os professores. RF08 Informar inscrições O sistema deve se comunicar com o Sistema de Faturamento para informar as inscrições realizadas pelos alunos. RF09 Manter cadastro de alunos O sistema deve permitir o cadastro, a consulta, a alteração e a exclusão de informações referentes a cada aluno. RF10 Manter histórico escolar O sistema deve permitir o cadastro, a consulta, a alteração e a exclusão de informações referentes ao histórico escolar de cada aluno. Profa. MSc. Viviane Guimarães Ribeiro 32

33 Requisito Não funcionais ID Nome Descrição RNF01 Interface web O sistema deve operar via interface Web. RNF02 Sistema operacional O uso da plataforma Windows será priorizada pelo sistema. RNF03 Acesso usuário Controle de acesso dos professores e alunos ao sistema através de usuário, senha e permissão de uso para cada funcionalidade deverá ser oferecido pelo sistema. RNF04 Backup dos dados O sistema deverá executar backup dos dados a cada semana. RNF05 Calendário Haverá um calendário disponível para que o aluno possa saber dos eventos internos da instituição, férias, feriados. RNF06 Tempo de resposta O tempo de resposta de entrada de dados, consulta e quaisquer outros tipos será de 2s. RNF07 Ajuda Todos os controles de interface devem ter um campo de ajuda associado Profa. MSc. Viviane Guimarães Ribeiro 33

34 6. Modelagem de Caso de Uso O Modelo de casos de uso (MCU) é uma representação das funcionalidades externamente observáveis do sistema e dos elementos externos (ator) ao sistema que interagem com ele. O MCU é um modelo de análise que representa um refinamento dos requisitos funcionais do sistema em desenvolvimento. O MCU representa os possíveis usos de um sistema, conforme percebidos por um observador externo a este sistema. Cada um destes casos de usos está associado a um ou mais requisitos funcionais identificados para o sistema. A construção desse modelo envolve a definição de diversos componentes: casos de uso, atores e relacionamentos entre eles. Casos de Uso Por definição, um caso de uso (use case) é a especificação de uma sequencia completa de interações entre um sistema e um ou mais agentes externos (atores) a esse sistema. Um caso de uso representa um relato de uso de certa funcionalidade do sistema em questão, sem revelar a estrutura e o comportamento interno desse sistema. Um modelo de casos de uso típico contém vários casos de uso. A quantidade exata de casos de uso obviamente depende da complexidade do sistema em desenvolvimento: quanto mais complexo o sistema, maior a quantidade de casos de uso. Cada caso de uso de um sistema se define pela descrição narrativa (textual) das interações que ocorrem entre o(s) elemento(s) externo(s) e o sistema. Podemos dizer que há três dimensões em que o estilo de descrição de um caso de uso pode variar. Essas dimensões são o formato, o grau de detalhamento e o grau de abstração. Formato: diz respeito à estrutura utilizada para organizar a sua narrativa textual. Os formatos comumente utilizados são o contínuo, o numerado e o tabular; Grau de Detalhamento: pode variar desde o mais sucinto até a descrição com vários detalhes (expandido); Grau de Abstração: diz respeito a existência ou não de menção a aspectos relativos à tecnologia durante a descrição desse caso de uso. Em relação ao grau de abstração um caso de uso pode ser real ou essencial. Exemplo de Descrição Contínua Realizar Saque Este caso de uso inicia quando o Cliente chega ao caixa eletrônico e insere seu cartão, em seguida o sistema requisita a senha do Cliente. Após o Cliente fornecer sua senha e esta ser validada, o sistema exibe as seguintes opções de operações possíveis: Saque, Depósito, Empréstimos e Pagamento de Contas. O Cliente opta por realizar um saque, assim o sistema requisita o total a ser sacado, após o cliente informar valor a ser sacado, o sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo, e o caso de uso termina. Exemplo de Descrição Numerada Realizar Saque 1. Cliente insere seu cartão no caixa eletrônico. 2. Sistema apresenta solicitação de senha. 3. Cliente digita senha. 4. Sistema valida a senha e exibe menu de operações disponíveis. 5. Cliente indica que deseja realizar um saque. 6. Sistema requisita quantia a ser sacada. 7. Cliente fornece o valor que deseja sacar. 8. Sistema fornece a quantia desejada e imprime o recibo do cliente. 9. Cliente retira a quantia e o recibo, e o caso de uso termina. Profa. MSc. Viviane Guimarães Ribeiro 34

35 Exemplo de Descrição Tabular Realizar Saque Cliente Sistema Insere seu cartão no caixa eletrônico. Apresenta solicitação de senha. Digita senha. Solicita realização de saque. Fornece o valor da quantia que deseja sacar. Retira a quantia e o recibo. Valida a senha e exibe menu de operações disponíveis. Requisita quantia a ser sacada. Fornece a quantia desejada e imprime o recibo para o Cliente. Exemplo de Descrição Essencial e Numerada Realizar Saque 1. Cliente fornece sua identificação. 2. Sistema identifica o usuário. 3. Sistema fornece opções disponíveis para movimentação da conta. 4. Cliente indica que deseja realizar um saque. 5. Sistema requisita quantia a ser sacada. 6. Cliente fornece o valor que deseja sacar. 7. Sistema fornece a quantia desejada e imprime o recibo do cliente. 8. Cliente retira a quantia e o recibo, e o caso de uso termina. Cenários Geralmente a funcionalidade de um sistema descrita por um caso de uso tem diversas maneiras de ser utilizada. Um cenário é a descrição de uma das maneiras pelas quais um caso de uso pode ser utilizado. Outra maneira de ver um cenário é como a descrição de um episódio de utilização de alguma funcionalidade do sistema. Exemplo de cenário para um caso de uso de compra pela Internet O cliente seleciona um conjunto de produtos do catálogo da loja. Após selecionar os produtos que seja comprar, o cliente indica o desejo de realizar o pagamento por cartão de crédito. O sistema informa que o último produto escolhido está fora do estoque. O cliente pede para que o sistema feche o pedido sem o item que está fora de estoque. O sistema solicita os dados do cliente para realização do pagamento. O cliente fornece o número do cartão, a data de expiração, além de informar o endereço de entrega do pedido. O sistema apresenta o valor total, a data de entrega e uma identificação do peido para futuro rastreamento. O sistema também envia um correio eletrônico como confirmação do pedido de compra. O sistema envia os dados do pedido para o sistema de logística da empresa. Uma coleção de cenários para um caso de uso pode ser utilizada posteriormente na fase de testes quando o caso de uso estiver sendo testado para verifica a existência de erros na implementação do sistema. Atores É qualquer elemento externo ao sistema que interage com o mesmo. Atores de um sistema podem ser agrupados em diversas categorias: Cargos; Organizações ou divisões de uma organização; Outros sistemas de software; Equipamentos com os quais o sistema deve se comunicar. Profa. MSc. Viviane Guimarães Ribeiro 35

36 Normalmente um ator inicia a sequência de interações correspondente a um caso de uso. Uma situação menos frequente, mas também possível, é um evento interno acontecer para que a sequência de interações do caso de uso em questão seja acionada. Levando em conta que um ator é um papel representado por algo (ou alguém) em relação ao sistema, é uma boa prática de modelagem fazer com que o nome dado a esse ator lembre o seu papel, em vez de lembrar que o representa. Um ator pode participar de muitos casos de uso. Do mesmo modo, um caso de uso pode envolver a participação de vários atores, o que resulta na classificação dos atores primários e secundários. Um ator primário é aquele que inicia uma sequência de interações de um caso de uso. São eles os agentes externos para os quais o caso de uso traz benefício direto. Já um ator secundário supervisiona, opera, mantém ou auxilia na utilização do sistema pelo ator primário Diagrama de Caso de Uso - DCU O diagrama de caso de uso corresponde a uma visão externa de alto nível do sistema. Esse diagrama representa graficamente os atores, casos de uso e relacionamentos entre esses elementos. Tem o objetivo de ilustrar em um nível alto de abstração quais elementos externos interagem com que funcionalidade do sistema. Nesse sentido, a finalidade de um DCU é apresentar uma espécie de Diagrama de Contexto, pois apresenta os elementos externos de um sistema e as maneira segundo as quais eles a utilizam. Ator Caso de Uso Relacionamento de comunicação Profa. MSc. Viviane Guimarães Ribeiro 36

37 Sistema de Biblioteca A UML define quatro tipos de relacionamentos no modelo de caso de uso: Comunicação; Inclusão; Extensão; Generalização/Herança; Um relacionamento de comunicação informa a que caso de uso o ator está sendo associado, o que significa que esse ator interage (troca informações) com o sistema por meio daquele caso de uso. O relacionamento de inclusão existe somente entre casos de uso. Quando dois ou mais casos de uso incluem uma sequência comum de interação, essa sequência comum pode ser descrita em um outro caso de uso. A partir daí, os casos de uso do sistema podem usar esse caso de uso comum. Profa. MSc. Viviane Guimarães Ribeiro 37

38 Sistema de Controle de Transações Bancárias O relacionamento de exclusão é utilizado para modelar situações em que diferentes sequências de interações podem ser inseridas em um caso de uso, chamado caso de uso estendido. Cada uma dessas diferentes sequências representa um comportamento opcional, ou seja, um comportamento que só ocorre sob certas condições, ou cuja realização depende da escolha de um ator. Sistema de Vendas O relacionamento de generalização/herança pode existir entre dois casos de uso ou entre dois atores. Quando a generalização acontece entre casos de uso, a sequência de comportamento feitas no caso de uso original são reutilizadas pelos casos de uso herdeiro. Somente os comportamentos necessários ao caso de uso herdeiro precisam ser redefinidos. Profa. MSc. Viviane Guimarães Ribeiro 38

39 Sistema de Gerenciamento de Pagamentos Na generalização entre atores, o ator herdeiro possui o mesmo comportamento em relação ao sistema que o ator do qual ele herda. Sendo que, o ator herdeiro pode participar em casos de uso em que o ator do qual ele herda não participa. Sistema de Gestão Bibliotecária Identificação dos elementos do DCU Atores e casos de uso são identificados a partir de informações coletadas no levantamento de requisitos. Durante essa fase, os analistas de sistemas devem identificar as atividades do processo de negócio que devem ser automatizadas pelo sistema a ser construído. Os analistas também devem identificar quais os elementos que interagem naqueles processos. Não há uma regra geral que indique quantos casos de uso e atores são necessários para descrever um sistema. Note também que as identificações de atores e de casos de uso são atividade que se intercalam. Profa. MSc. Viviane Guimarães Ribeiro 39

40 Identificação de Atores Para identificar os atores, o analista de sistemas deve tentar identificar quais as fontes de informações a serem processadas e quais são os destinos das informações geradas pelo sistema. Para identificar os atores podemos fazer as seguintes perguntas básicas: Quem são os clientes? Quem utilizará as funcionalidades principais do sistema? Quem necessita administrar e manter o sistema funcionando? Quem precisará de suporte do sistema para fazer suas tarefas diárias? Quem fornece suporte ou manutenção para o sistema? Com quais dispositivos de hardware o sistema precisará interagir? O sistema interage com outros sistemas? Entre outras... Identificação de Casos de Uso A partir das listas (inicial) de atores, deve-se passar à identificação dos casos de uso. Nesta identificação, pode-se distinguir entre dois tipos de casos de uso: Primário: representa os objetivos dos atores; Secundários: aquele que não traz benefício direto para os atores, mas que é necessário para que o sistema funcione adequadamente. Casos de Uso Primários Esses casos de uso representam os processos da empresa que estão sendo automatizados pelo sistema de software. A seguir são enumeradas algumas perguntas para as quais o analista de sistemas deve procurar respostas com o intuito de identificar os casos de uso: Quais são as necessidades e objetivos de cada ator em relação ao sistema? Que informações o sistema deve produzir? O sistema deve realizar alguma ação que ocorre regularmente no tempo? Para cada requisito funcional, existe um (ou mais) caso(s) de uso para atendêlo? O modelador também pode utilizar outras técnicas de identificação: Caso de uso Oposto ; Caso de uso que precede/sucede a outro caso de uso; Caso de uso temporal; Caso de uso relacionado a uma condição interna. Casos de Uso Secundários Estes se encaixam nas seguintes categorias: Manutenção de cadastros; Manutenção de usuários; Gerenciamento de acesso; Manutenção de informações provenientes de outros sistemas Construção do DCU Os diagramas de casos de uso devem servir para dar suporte à parte textual do modelo, fornecendo uma visão de alto nível. Se o sistema sendo modelado não for tão complexo, pode ser criado um único DCU. Em sistemas complexos, representar todos os casos de uso do sistema em um único DCU talvez o torne um tanto ilegível. A alternativa para esse problema é criar vários diagramas (de acordo com as necessidades de visualização) e agrupá-lo em pacotes: Profa. MSc. Viviane Guimarães Ribeiro 40

41 Todos os casos de uso para um ator; Todos os casos de uso a serem implementados em um ciclo de desenvolvimento; Todos os casos de uso de uma área (departamento, seção) específica da empresa. O uso de pacotes permite formar grupos de casos de uso e atores de tal sorte que o MCU possa ser compreendido por partes. Profa. MSc. Viviane Guimarães Ribeiro 41

42 Profa. MSc. Viviane Guimarães Ribeiro 42

43 Documentação de Atores A documentação de atores é relativamente simples. Uma breve descrição (uma ou duas frases) para cada ator deve ser adicionada ao modelo de casos de uso. O nome escolhido para um ator deve lembrar o papel desempenhado pelo mesmo no sistema. Documentação de Atores: Sistema Acadêmico Aluno: indivíduo que está matriculado na faculdade, que tem interesse em se inscrever em disciplinas do curso. Professor: indivíduo que leciona disciplinas na faculdade. Coordenador: pessoa interessada em agendar as alocações de turmas e professores, e visualizar o andamento de inscrições de alunos. Departamento de Registro Escolar (DRE): departamento da faculdade interessado em manter informações sobre os alunos matriculados e sobre seu histórico escolar. Sistema de Recursos Humanos: este sistema legado é responsável por fornecer informações cadastrais sobre os professores. Sistema de Faturamento: este sistema legado tem interesse em obter informações sobre inscrições dos alunos para realizar o controle de pagamento de mensalidades. Documentação de Casos de Uso Nome O primeiro item que deve constar da descrição de um caso de uso é o seu nome. Este deve ser o mesmo utilizado no DCU. Cada caso de uso deve ter um nome único. Identificador O identificador é um código único para cada caso de uso que permite fazer referência cruzada entre diversos documentos relacionados com o MCU. Uma convenção de nomenclatura é usar o prefixo CSU seguido de um número sequencial. Ex: CSU01. Importância A definição da categoria de importância é atribuída ao caso de uso. Risco Alto e Prioridade Alta: casos de uso nesta categoria são os mais críticos. Devem ser considerados o quanto antes. Rico Alto e Prioridade Baixa: embora os casos de uso nesta categoria tenham risco alto, é necessário, antes de começar a considerá-lo, negociar com o cliente em relação a sua verdadeira necessidade. Risco Baixo e Prioridade Alta: embora os casos de uso tenham prioridade alta, é necessário ter em mente que os casos de uso de mais alto risco devem ser considerados primeiro. Risco Baixo e Prioridade Baixa: em situações em que o desenvolvimento do sistema está atrasado, estes casos de uso são os primeiros a serem cortados. Sumário Uma pequena declaração do objetivo do ator ao utilizar o caso de uso (no máximo duas frases). Ator Principal O nome do ator que inicia o caso de uso. Um caso de uso possui apenas um ator primário. Atores Secundários Os nomes dos demais elementos externos participantes do caso de uso. Um caso de uso possui zero ou mais atores secundários. Precondições Uma precondição de um caso de uso define que hipóteses são assumidas como verdadeiras para que o caso de uso tenha início. Este item da descrição pode conter zero ou mais precondições. Fluxo Principal O fluxo principal descreve o que normalmente acontece quando o caso de uso é executado sem a ocorrência de erros. Profa. MSc. Viviane Guimarães Ribeiro 43

44 Fluxos Alternativos Representa um comportamento alternativo geralmente devido a uma escolha do usuário ou processamento provocado por um estado diferente do esperado no Fluxo Principal. Fluxos de Exceção Descreve o que acontece quando algo inesperado ocorre durante a realização do caso de uso em um determinado ponto do Fluxo Principal ou Alternativo. Pós Condição Indica o estado que o sistema alcança após o caso de uso ter sido realizado. Regras de Negócio Serve para fazer uma referência cruzada a uma ou mais regras de negócio. Histórico Este item pode declarar informações como: o autor do caso de uso; a data em que ele foi criado; além de eventuais modificações no seu conteúdo. Notas de Implementação Serve somente para capturar ideias de implementação relevantes que passam pela cabeça do modelador (não é a especificação da solução). Realizar Inscrição (CSU01) Sumário: Aluno usa o sistema para realizar inscrição em disciplina. Ator Primário: Aluno Atores Secundários: Sistema de Faturamento Precondições: O Aluno está identificado pelo sistema. Fluxo Principal 1. O Aluno solicita a realização de inscrição. 2. O sistema apresenta as disciplinas para as quais o aluno tem pré-requisitos (conforme a RN03), excetuando-se as que já tenha cursado. 3. O Aluno define a lista de disciplina que deseja cursar no próximo semestre letivo e as relaciona para inscrição. 4. Para cada disciplina selecionada, o sistema designa o aluno para uma turma que apresente uma oferta para tal disciplina. 5. O sistema informa as turmas para as quais o Aluno foi designado. Para cada turma, o sistema informa o professor, os horários e os respectivos locais das aulas de cada oferta de disciplina. 6. O Aluno confere as informações fornecidas. Aqui, é possível que o caso de uso retorne ao passo 3, conforme o Aluno queria revisar (inserir ou remover itens) da lista de disciplinas a cursar. 7. O sistema registra a inscrição de Aluno, envia os dados sobre a mesma para o Sistema de Faturamento e o caso de uso termina. Fluxo Alternativo (4): Inclusão em lista de espera a) Se não há oferta disponível para alguma disciplina selecionada pelo aluno (conforme a RN02), o sistema reporta o fato e fornece a possibilidade de inserir o Aluno em uma lista de espera. b) Se o Aluno aceitar, o sistema o insere na lista de espera e apresenta a posição na qual o aluno foi inscrito na lista. O caso de uso retorna ao passo 4. c) Se o Aluno não aceitar, o caso de uso prossegue a partir do passo 4. Fluxo de Exceção (4): Violação de RN01 a) Se o aluno atingiu a quantidade máxima de inscrições possíveis em um semestre letivo (conforme RN01), o sistema informa ao aluno a quantidade de disciplinas que ele pode selecionar, e o caso de uso retorna ao passo 2. Pós-condições: O Aluno foi inscrito em uma das turmas de cada uma das disciplinas desejadas, ou foi adicionado a uma ou mais listas de espera. Regras de Negócio: O RN01, RN02, RN03. Profa. MSc. Viviane Guimarães Ribeiro 44

45 Manter Disciplina (CSU05) Sumário: DRE realiza o cadastro (inclusão, remoção, alteração e consulta) dos dados sobre disciplinas. Ator Primário: DRE Fluxo Principal 1. DRE requisita a manutenção de disciplinas. 2. O sistema apresenta as operações que podem ser realizadas: a inclusão de uma nova disciplina, a alteração dos dados de uma disciplina, a exclusão de uma disciplina e a consulta de disciplinas. 3. O DRE indica a opção a realizar ou opta por finalizar o caso de uso. 4. O DRE seleciona a operação desejada: Inclusão, Exclusão, Alteração ou Consulta. 5. Se o DRE deseja continuar com a manutenção, o caso de uso retorna ao passo 2; caso contrário, o caso de uso termina. Fluxo Alternativo (4): Inclusão a) O DRE requisita a inclusão de uma disciplina. b) O sistema apresenta um formulário em branco para que os detalhes da disciplina (código, nome e quantidade de créditos) sejam incluídos. c) O DRE fornece os detalhes da nova disciplina. d) O sistema apresenta uma lista de disciplinas para que o DRE selecione as que são pré-requisitos para a disciplina a ser criada. e) O DRE define zero ou mais disciplinas como pré-requisitos. f) O sistema verifica a validade dos dados. Se os dados forem válidos, inclui a nova disciplina; caso contrário, o sistema reporta o fato, solicita novos dados e repete a verificação. Fluxo Alternativo (4): Remoção a) O DRE seleciona uma disciplina e requisita ao sistema que a remova. b) Se a disciplina pode ser removida, o sistema realiza a remoção; caso contrário, o sistema reporta o fato. Fluxo Alternativo (4): Alteração a) O DRE altera um ou mais dos detalhes sobre uma disciplina e requisita a sua atualização. b) O sistema verifica a validade dos dados e, se eles forem válidos, altera os dados na lista de disciplinas da faculdade. Fluxo Alternativo (4): Consulta a) O DRE solicita a realização de uma consulta sobre a lista de disciplinas. b) O sistema apresenta uma lista com os códigos de todas as disciplinas, permitindo que o usuário selecione a disciplina desejada. c) O DRE seleciona uma disciplina. d) O sistema apresenta os detalhes da disciplina e seus pré-requisitos (se existirem) no formulário de disciplinas. Pós-condições: Uma disciplina foi inserida ou removida, ou seus detalhes foram alterados Complexidade dos Casos de Uso Os casos de uso podem ser classificados de acordo com sua complexidade da seguinte forma: Processos de Negócio (Condução): Modelam os principais processos de negócio da empresa; CRUD (Configuração): As quatro operações básicas sobre uma unidade de informação criar, consultar, atualizar e deletar; Relatório (Análise): Apresentar informações que já estão disponíveis. Profa. MSc. Viviane Guimarães Ribeiro 45

46 Tipo de Casos de Uso Concreto: Iniciado diretamente por um Ator. Abstrato: Não iniciado diretamente por um Ator. Geralmente relacionado a outro Caso de Uso. Concreto Abstrato Abstrato Abstrato Profa. MSc. Viviane Guimarães Ribeiro 46

47 7. Diagrama de Atividades Os diagramas de atividades são empregados para fazer a modelagem de aspectos dinâmicos do sistema. São utilizados para: Modelagem dos processos de negócio neste caso, o objetivo é entender melhor um determinado problema, ou seja, entender o comportamento do sistema no decorrer de diversos casos de uso. Modelagem da lógica de um caso de uso usado como um complemento da descrição do caso de uso. Os fluxos principal, alternativo e de exceção podem ser representados em um único diagrama de atividades. Note, entretanto, que casos de uso são descritos na perspectiva dos atores, enquanto diagramas de atividade descrevem atividades internas do sistema. Modelagem da lógica de uma operação complexa em alguns casos, notadamente quando uma operação de uma classe de controle implementa uma regra de negócio, pode haver a necessidade de descrever a lógica dessa operação ou da própria regra de negócio. 7.1 Elementos de um diagrama de atividades Símbolo Significado Início Fim Direção de Fluxo Atividade em realização Tomada de decisão Profa. MSc. Viviane Guimarães Ribeiro 47

48 Barras de sincronização (bifurcação ou união) Exemplo: Tomada de Decisão Profa. MSc. Viviane Guimarães Ribeiro 48

49 Exemplo: Paralelismo de Atividade Bifurcação União Bifurcação União Profa. MSc. Viviane Guimarães Ribeiro 49

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

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

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

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

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

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

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas

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

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

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

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

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

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

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

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

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

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

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva UML & Padrões Aula 3 UML e Padrões - Profª Kelly Christine C. Silva 1 UML & Padrões Aula 3 Diagrama de Casos de Uso Profª Kelly Christine C. Silva O que vamos tratar: Modelos de Caso de Uso Diagrama de

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

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

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

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

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

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

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

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

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

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

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

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

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

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

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

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

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier 1 Capítulo 2 Processo de Desenvolvimento de Software Quanto mais livros você leu (ou escreveu), mais

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

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

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

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

Modelagem de Sistemas Prof. Marcos Roberto e Silva

Modelagem de Sistemas Prof. Marcos Roberto e Silva Modelagem de Sistemas Prof. Marcos Roberto e Silva Diagrama de Casos de Uso Demonstra o comportamento externo do sistema, através de uma linguagem simples. Apresentando o sistema sobre a perspectiva do

Leia mais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Curso de Licenciatura em Informática

Curso de Licenciatura em Informática Curso de Licenciatura em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita EXERCÍCIOS SOBRE MODELAGEM DE CASOS DE USO Exercício 1: construa um Diagrama de Casos de

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Conteúdo Definição Questionamentos Típicos Visão Geral Ciclo de Vida dos Requisitos Síntese dos Objetivos Gerência de Mudança Identificação de Requisitos Classificação de Requisitos

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

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

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

PLANO DE ENSINO. CURSO: Sistemas de Informação PERÍODO LETIVO: 2009-1 SEMESTRE: 4º. C/H SEMANAL Análise, Projeto e Implementação de Sistemas I

PLANO DE ENSINO. CURSO: Sistemas de Informação PERÍODO LETIVO: 2009-1 SEMESTRE: 4º. C/H SEMANAL Análise, Projeto e Implementação de Sistemas I 1 PLANO DE ENSINO CURSO: Sistemas de Informação PERÍODO LETIVO: 2009-1 SEMESTRE: 4º CÓDIGO DISCIPLINA HORÁRIO C/H SEMESTRAL C/H SEMANAL Análise, Projeto e Implementação de Sistemas I 3CD-4AB 80h 04h PROFESSOR(A):

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA Introduçãoa Engenhariade Software Prof. Anderson Cavalcanti UFRN-CT-DCA O que é Software? O que é software? São programas de computadores, em suas diversas formas, e a documentação associada. Um programa

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

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

Casos de Uso. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Casos de Uso. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Casos de Uso Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 O que é? Uma técnica para capturar requisitos funcionais Descreve o sistema sob a perspectiva

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

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

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

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

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

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

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

Tópicos Especiais em Sistemas de Telecomunicações IV

Tópicos Especiais em Sistemas de Telecomunicações IV Sumário Tópicos Especiais em Sistemas de Telecomunicações IV Modelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Setembro

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

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

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

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

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

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Manual do usuário. v1.0

Manual do usuário. v1.0 Manual do usuário v1.0 1 Iniciando com o Vivo Gestão 1. como fazer login a. 1º acesso b. como recuperar a senha c. escolher uma conta ou grupo (hierarquia de contas) 2. como consultar... de uma linha a.

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

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

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

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

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

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

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

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti

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

Histórico da Revisão. Data Versão Descrição Autor

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

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

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

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

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Requisitos de Software. Teresa Maciel DEINFO/UFRPE Requisitos de Software Teresa Maciel DEINFO/UFRPE 1 Requisito de Software Características que o produto de software deverá apresentar para atender às necessidades e expectativas do cliente. 2 Requisito

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

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

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

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

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

Modelos de Sistemas Casos de Uso

Modelos de Sistemas Casos de Uso Modelos de Sistemas Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2000 Slide 1 Modelagem de Sistema UML Unified Modeling Language (Linguagem de Modelagem Unificada)

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais