Você está na página 1de 41

Contedo Programtico. Anlise e projeto de sistemas: Anlise e projeto estruturado / Anlise estruturada. Anlise e projeto OO. Conceitos fundamentais.

Anlise. Padres de projeto. Modelagem. UML.


1

Contedo Programtico.
Bloco IV. Projeto de Software: Planejamento e projeto de software. Conceitos e princpios de anlise. Qualidade de software. Mtricas de software. Teste de software:
Verificao. Validao. Tipos de teste.

Anlise e gesto de risco. Cronograma e Acompanhamento.


2

Contedo Programtico.
Bloco V. Tpicos avanados de Engenharia de Software: Engenharia de Software Sala Limpa. Engenharia de Software Baseada em Componentes. Arquitetura cliente/servidor. Arquitetura Internet e web. Reengenharia. Engenharia de Software apoiada por computador (CASE).

Indroduo UML
UML no um processo de desenvolvimento de software e tambm no est ligada a um de forma exclusiva. Independente, pode ser utilizada por diversos processos de desenvolvimento diferentes ou mesmo da forma que o engenheiro de software considerar adequada.

Indroduo UML
Surgiu da unio de trs mtodos de modelagem: Mtodo de Booch. Mtodo OMT (Object Modeling Technique) de Jacobson. Mtodo OOSE (Object-Oriented Software Engineering) de Rumbaugh. Eram os mais populares at meados de 90. O trabalho dos Trs amigos resultou no lanamento, em 1996, da primeira verso do UML propriamente dita.

Indroduo UML
Por que modelar software? (Para que projetar uma casa?). J Comumente os sistemas de informao esto em constante evoluo, pois: Clientes demandam modificaes ou melhorias. O mercado est sempre mudando,. O governo promulga novas leis e cria novos impostos e alquotas. Um sistema de informao precisa ter uma documentao extremamente detalhada, precisa e atualizada para que assim possa ser mantido.

Indroduo UML
Modelo de Software: a modelagem implica diretamente em criar modelos de software. Um modelo de software captura uma viso de um sistema fsico, uma abstrao do sistema com propsito de descrever aspectos estruturais ou comportamentais do software (o citado propsito ir delimitar as fronteiras do modelo).

Indroduo UML
Levantamento e Anlise de Requisitos: uma das primeiras fases de um processo de desenvolvimento de software (anlise de Requisitos, projeto, codificao, testes e implantao). Suas etapas trabalham com o domnio do problema e tentam determinar o que o software deve fazer e se realmente possvel desenvolver o software solicitado. Compreenso das necessidades do usurio e seus desejos. Utilizao de entrevistas quantas forem necessrias. Nesta fase uma dos principais problemas a comunicao.
10

Indroduo UML
Levantamento e Anlise de Requisitos: (cont.) Um dos grandes problemas encontrados nas entrevistas que o usurio no tm certeza do que querem e no conseguem enxergar as reais potencialidades do sistema. De forma muito clara os engenheiros precisam sugerir caractersticas e reestruturar o modo como as informaes so geridas e utilizadas de forma que possa combin-las para melhor aproveitamento do usurio. Em certos momentos o engenheiro enfrenta uma forte resistncia a mudanas na forma como a empresa manipula suas informaes.
11

Indroduo UML
Levantamento e Anlise de Requisitos: (cont.) Requisitos funcionais: o que o cliente quer que o sistema faa, as funcionalidades do software. Requisitos no-funcionais: restries, condies, consistncias, validaes que devem ser levadas a afeito sobre os requisitos funcionais. (usabilidade, desempenho, confiabilidade, segurana ou interface). Alguns requisito no-funcionais identificam regras de negcio. Agora comea a fase de anlise de requisitos onde teremos a anlise dos requisitos levantados buscando por inconsistncias de forma que possa ser verificado se as necessidades do usurio realmente foram entendidas.

12

Indroduo UML
Levantamento e Anlise de Requisitos: (cont.) Na fase de anlise determina-se se algum requisito foi escrito errado, especificado incorretamente ou se algum conceito precisa ser melhor explicado. Nesta fase utiliza-se de uma linguagem de modelagem para auxiliar a levantar questes que no foram observadas nas entrevistas iniciais.

13

Indroduo UML
Prototipao. Desenvolvimento rpido de um rascunho do que seria o sistema de informao quando ele estivesse finalizado. Evita que aps meses ou at anos de desenvolvimento, descubra-se que o software no atende completamente s necessidades do cliente devido a falhas de comunicao. Utiliza ferramentas RAD (Rapid Application Development) para facilitar a seu desenvolvimento.

14

Indroduo UML
Prototipao. (cont) A etapa de anlise de requisitos deve, obrigatoriamente, produzir um prottipo para demonstrar como se apresentar e comportar o sistema em sua essncia. A maioria das dvidas e erros de especificao podem ser sanadas com a utilizao de prottipos. Problemas. Solues.

15

Indroduo UML
Definio de prazos e custos. Uma boa modelagem auxilia a estimar a complexidade de desenvolvimento de um sistema. Mas mesmo com o auxlio de uma boa documentao, o mximo que se pode apresentar uma que ser aproximada, com base na experincia documentada de desenvolvimento de outros softwares. Para melhor auxilio nas estimativas de prazos e custos de um software, a documentao da desenvolvedora dever ter registros das datas de incio e trmino de cada projeto j concludo, do custo real, incluindo custos com manuteno e nmero de profissionais envolvidos em cada projeto.
16

Indroduo UML
Projeto. Fase de anlise => Domnio do problema. Identificao das funcionalidades necessrias ao software e suas restries. Fase de projeto => Domnio da soluo. Como o sistema far o que foi determinado na fase de anlise. Qual ser a soluo. Como as funcionalidades devero realizar o solicitado

17

Indroduo UML
Projeto. (cont) Aqui onde feita a maior parte da modelagem do software. Utiliza a modelagem feita na fase de anlise e acrescenta profundos acrscimos e detalhamentos. Seleo da linguagem de programao a ser utilizada, SGBD, interface final e distribuio fsica do software na empresa.

18

Indroduo UML
Manuteno. (cont) 40 a 60% do custo total do projeto. Na maioria das vezes se torna inevitvel, visto que as necessidades das empresas so dinmicas. Softwares legados so cdigos que no seguem regras atuais de desenvolvimento da empresa, no foram modelados e, por conseguinte, possuem poucos ou nenhuma documentao, quase ningum da equipe trabalhou em seu projeto, o cdigo j sofreu manutenes anteriores. A modelagem correta aliada a documentao completa e atualizada de um sistema torna mais rpida a manuteno.
19

Indroduo UML
Documentao Histrica. Perspectiva histrica. Permite empresa: Sabe se est evoluindo. Saber se o processo de desenvolvimento tornouse mais rpido. Saber se as metodologias adotadas atualmente so superiores s prticas aplicadas anteriormente. Se a qualidade do software est melhorando.

20

Indroduo UML
Documentao Histrica. (cont) A documentao detalhada do software se torna necessria que se tenha: Mdia de manutenes. Mdia de custo de modelagem. Mdia de custo de desenvolvimento. Mdia de tempo despendido at a finalizao do projeto. Quantidade de profissionais necessrios. Torna-se muito til na Reusabilidade.

21

Indroduo UML - Diagramas

22

Indroduo UML - Diagramas


Cada diagrama da UML analisa o sistema, ou parte, sob uma determinada ptica, como se ele fosse feito em camadas. Diagrama de Caso de Uso: Mais geral e informal da UML. Comumente utilizado nas fases de levantamento e anlise de requisitos do sistema. Consultado durante todo o processo de modelagem e serve de base para outros diagramas. Apresenta como o sistema ir se comportar identificando atores e servios (funcionalidades, casos de uso).
23

Indroduo UML - Diagramas

24

Indroduo UML - Diagramas


Diagrama de Classes: Provavelmente o mais utilizado. o mais importante dos diagramas, pois serve de apoio para a maioria dos demais diagramas. Define a estrutura das classes utilizadas pelo sistema, determinando os atributos e mtodos que cada classe tem, alm de estabelecer como as classes se relacionam e trocam informaes entre si.

25

Indroduo UML - Diagramas

26

Indroduo UML - Diagramas


Diagrama de Objetos: Associado ao diagrama de classes. Complemento do diagrama de classes e bastante dependente deste. Fornece uma viso dos valores armazenados pelos objetos de um diagrama de classes em um determinado momento da execuo de um processo do software.

27

Indroduo UML - Diagramas


Diagrama de Pacotes: Tem por objetivo representar os subsistemas ou submdulos englobados por um sistema de forma a determinar as partes que o compem. Pode trabalhar de maneira independente ou associado com outros diagramas. Auxilia na demonstrao da arquitetura de uma linguagem ou para definir camadas de um software ou de um processo de desenvolvimento.

28

Indroduo UML - Diagramas

29

Indroduo UML - Diagramas


Diagrama de Seqncia: Diagrama comportamental que preocupa-se com a ordem temporal em que as mensagens so trocadas entre os objetos envolvidos em um determinado processo. Baseia-se em um caso de uso definido pelo diagrama de mesmo nome e apia-se no diagram de classes para determinar os objetos das classes envolvidas em um processo. Costuma identificar o evento gerador do processo modelado, bem como o ator responsvel por esse evento, e determina como o processo dever se desenrolar e ser concludo via chamada de mtodo.
30

Indroduo UML - Diagramas

31

Indroduo UML - Diagramas


Diagrama de comunicao: Era conhecido como de colaborao. Amplamente associado ao diagram de seqncia por um complementar o outro. Concentra-se em como os elementos do diagrama esto vinculados e quais mensagens trocam entre si durante o processo.

32

Indroduo UML - Diagramas


Diagrama de mquinas de estado: Demonstra o comportamento de um elemento por meio de um conjunto finito de transies de estado, ou seja, uma mquina de estados. Pode basear-se em um caso de uso, mas tambm pode ser utilizado para acompanhar os estados de outros elementos, como uma instncia de uma classe.

33

Indroduo UML - Diagramas

34

Indroduo UML - Diagramas


Diagrama de atividade: Era considerado um caso de especial do antigo diagrama de grfico de estados, hoje conhecido como diagrama de mquina de estados. Preocupa-se em descrever os passos a serem percorridos para a concluso de uma atividade especfica, podendo esta ser representada por um mtodo com certo grau de complexidade, um algoritmo, ou mesmo por um processo completo. Concentra-se na representao do fluxo de controle de uma atividade.

35

Indroduo UML - Diagramas

36

Indroduo UML - Diagramas


Diagrama de viso geral de interao: Variao do diagrama de atividade. Fornece uma viso geral dentro de um sistema ou processo de negcio. Passou a existir apenas a partir da UML 2.0.

37

Indroduo UML - Diagramas


Diagrama de componentes: Associado linguagem de programao que ser utilizada para desenvolver o sistema modelado. Representa os componentes do sistema quando o mesmo for ser implementado em termos de mdulos de cdigo-fonte, bibliotecas, formulrios, arquivos de ajuda, mdulos executveis, etc. Determina como os componentes estaro estruturados e sua interao.

38

Indroduo UML - Diagramas


Diagrama de implantao: Determina as necessidades de hardware do sistema, as caractersticas fsicas com servidores, estaes, topologias e protocolos de comunicao. Permite demonstrar como se dar a distribuio dos mdulos do sistema quando estes forem executados em mais de um servidor.

39

Indroduo UML - Diagramas


Diagrama de estrutura composta: Descreve a estrutura interna de um classificador, como uma classe ou componente, detalhando as partes internas que o compem, como estas se comunicam e colaboram entre si. utilizado para descrever uma colaborao em que um conjunto de instncias cooperam entre si para realizar uma tarefa.

40

Indroduo UML - Diagramas


Diagrama de tempo ou de temporizao: Descreve a mudana no estado ou condio de uma instncia de uma classe ou seu papel durante um perodo. Utilizado para demonstrar a mudana no estado de um objeto no tempo em resposta a eventos externos.

41

Você também pode gostar