Princípios de Análise e Projeto de Sistemas com UML (3a edição)

Apresentação

Há vários anos, a orientação a objetos se estabeleceu como paradigma vigente no contexto da análise e do projeto de sistemas de software, particularmente em sistemas de informação. Atualmente, as linguagens de programação mais utilizadas ou são orientadas a objetos, ou possuem descendentes orientadas a objetos. Além da programação, a análise e o projeto orientados a objetos são comumente utilizados no desenvolvimento de software. Apesar disso, muitos conceitos da orientação a objetos ainda não são corretamente entendidos e aplicados na prática. O livro tem o propósito de apresentar, por meio de um estilo objetivo e prático, os principais conceitos relacionados à análise e ao projeto de sistemas.

O livro apresenta um guia prático para o desenvolvimento de sistemas de software orientados a objetos. O autor apresenta em uma linguagem objetiva os fundamentos e boas práticas da orientação a objetos. Essa obra fornece também uma descrição da utilização dos principais diagramas da UML em um processo de desenvolvimento incremental e iterativo.

O livro aborda diversos tópicos relevantes ao desenvolvimento de sistemas de software orientados a objetos. Dentre esses tópicos, encontramos:

  • Desenvolvimento dirigido a casos de uso;
  • Descrição da notação e semântica utilizadas nos principais diagramas da UML;
  • Modelagem e utilização de regras do negócio durante o desenvolvimento;
  • Identificação de classes dirigida a responsabilidades, com uma breve introdução às abordagens “Responsibility Driven Design” (RDD) e aos padrões táticos do “Domain Driven Design” (DDD);
  • Aspectos relativos à persistência de objetos em um SGBD relacional;
  • Aspectos de implementação de um modelo de objetos;
  • Introdução aos padrões de análise e de projeto (design patterns);
  • Aspectos relativos à definição da arquitetura de um sistema de informações.
Um estudo de caso sobre a modelagem de um sistema fictício é apresentado, o Sistema de Controle Acadêmico (SCA). Artefatos resultantes da modelagem do SCA são descritos no fim da maioria dos capítulos, com o propósito de fornecer ao leitor uma visão prática da aplicação dos conceitos apresentados.

Público alvo

Este livro é destinado a estudantes de graduação e pós-graduação em computação ou em engenharia de software que estejam cursando uma disciplina introdutória de análise e projeto de sistemas orientados a objetos. Ele pode ser também utilizado como guia por estudantes no desenvolvimento de seus projetos finais de curso.

Profissionais de Tecnologia de Informação também podem encontrar neste livro uma boa iniciação aos conceitos da orientação a objetos e da sua aplicação à modelagem de sistemas de software. Em todos os casos, o livro pode servir como uma fonte de referência e de dicas práticas sobre a aplicação da UML e de técnicas e boas práticas no desenvolvimento de um sistema de software orientado a objetos.

O conhecimento de alguma linguagem de programação orientada a objetos (e.g., Java, C#, C++ etc.) é desejável (mas não obrigatório) para acompanhar os assuntos tratados neste livro. Mais especificamente, este livro fornece diversos exemplos de trechos de código fonte em linguagem Java. Entretanto, esses exemplos devem ser facilmente entendidos por leitores familiarizados com outras linguagens orientadas a objetos. Além disso, os principais artefatos de modelagem de um sistema de informações fictício são apresentados, para facilitar o entendimento dos assuntos apresentados.

Material complementar

O material complementar ao livro disponibilizado nessa página serve como fonte de estudo adicional e de referência para aprofundamento nos assuntos abordados.

  • Caderno Zero. Contém prefácio e sumário do livro.
  • Material (em formato MS PowerPoint) para aulas. Esse material é destinado a professores e instrutores que usam o livro em suas aulas expositivas. Para obter a senha de acesso a esse material, envie um email para o autor (veja endereço no fim desta página) informando nome completo, instituição de ensino e nome da disciplina em que o livro é usado. Essas informações serão usadas apenas para manter um registro de quais instituições de ensino adotam o livro.
  • Figuras. Pasta que disponibiliza algumas figuras do livro.
  • Soluções para alguns dos exercícios propostos. O livro propõe vários exercícios no fim de cada capítulo, que são importantes para fixar o conhecimento adquirido por meio da sua leitura. Aqui são disponibilizadas as soluções de alguns desses exercícios.
  • Errata
  • Recursos na Internet. Nesta página são fornecidos alguns links relacionados aos assuntos tratados no livro.
  • Sistema de Controle Acadêmico (SCA). O SCA é um estudo de caso em modelagem de sistemas de software orientados a objetos. Seu objetivo é consolidar os principais conceitos teóricos descritos no livro e oferecer uma visão prática sobre como os modelos apresentados neste livro podem ser implementados em uma linguagem de programação orientada a objetos. Denominamos o sistema de nosso estudo de caso utilizado no livro de Sistema de Controle Acadêmico (SCA). O estudo de caso é sobre uma instituição de ensino que precisa controlar alguns processos acadêmicos, como inscrições em disciplinas, lançamento de notas, alocação de recursos para turmas etc. Esse endereço disponibiliza o código fonte desse protótipo de implementação (com o uso da linguagem Java), na forma de um projeto do Eclipse.

Como citar o livro

BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. Rio de Janeiro: Elsevier. ISBN-13: 978-85-352-2626-3. 2015.

@book{papsuml-3ed-2015,
title={Princ{\’\i}pios de An{\’a}lise e Projeto de Sistemas com UML},
isbn={978-85-352-2626-3},
url={http://eic.cefet-rj.br/papsuml3ed/index.html},
publisher={Elsevier},
author={Eduardo Bezerra},
edition={3},
year={2015}
}

Veja também as páginas do livro no Google Books e na Amazon.

Sobre o autor

Eduardo Bezerra Após concluir sua graduação em 1995, Eduardo Bezerra trabalhou vários anos como desenvolvedor e consultor independente na área de desenvolvimento de sistemas orientados a objetos. Também realizou treinamento de equipes na área de desenvolvimento de software orientado a objetos. Eduardo é doutor em Engenharia de Sistemas e Computação pela COPPE/UFRJ. Desde 2005, Eduardo é professor da Escola de Informática e Computação (EIC) do CEFET/RJ. Seus interesses de pesquisa incluem Engenharia de Software, Linguagens de Programação e Mineração de Dados. Eduardo mora no Rio de Janeiro com esposa e filho.
Contato: ebezerra at cefet-rj.br.