Escolar Documentos
Profissional Documentos
Cultura Documentos
a
de
Software
SUMRIO
Introduo................................................................................................................. 3
Software.................................................................................................................... 3
Caractersticas de Software.......................................................................................3
Tipos de Software...................................................................................................... 3
Mtodos..................................................................................................................... 4
Paradigmas de Engenharia de Software.....................................................................5
Processos................................................................................................................... 5
Tcnicas de entrevistas e de coleta de dados............................................................5
Tipos de entrevistas................................................................................................... 6
Problemas.................................................................................................................. 6
Diretrizes Para a Realizao de Entrevistas...............................................................6
Introduo a UML....................................................................................................... 7
Por que modelar os softwares?..................................................................................7
Desenvolvimento Orientado a objetos.......................................................................7
Levantamento de Requisitos......................................................................................7
Definio de modelagem........................................................................................... 8
Modelagem................................................................................................................ 8
Abstrao................................................................................................................... 9
Diagramas na UML................................................................................................... 10
Classes.................................................................................................................... 10
Diagrama de classes................................................................................................ 10
Atributos.................................................................................................................. 11
Operaes e mtodos.............................................................................................. 11
Associaes............................................................................................................. 12
Mecanismos da UML................................................................................................ 14
Perfis........................................................................................................................ 15
INTRODUO
A engenharia de software uma derivao da engenharia de sistemas e de
hardware. Ela abrange um conjunto de trs elementos fundamentais - mtodos,
ferramentas e procedimentos - que possibilita o controle do processo de
desenvolvimento do software e oferece ao profissional uma base para a
construo de software de alta qualidade produtivamente. E tais elementos
ajudam a estabelecer um modo de pensar para a prtica segura da construo
do Software.
SOFTWARE
H 30 anos menos de 1% da populao poderiam descrever o que um
software, hoje dificilmente algum no sabe descreve o que seja.
Entre as dcadas de 50 e 70 quando a maioria das linguagens de programao
apareceram, ningum poderia prever que nos tempos atuais elas seriam
indispensveis a negcios e a at mesmo a nossa vida cotidiana com uso de
computadores, telefones e qualquer tipo de servio, uma vez que todos os
setores dependem de softwares.
A grande dificuldade relacionado ao desenvolvimento de programas que o
nosso produto no nada fsico e sim completamente lgico. E desempenha um
duplo papel: produto e canal de distribuio. Na atualidade ele que trabalha
com bem mais precioso para qualquer corporao A Informao.
CARACTERSTICAS DE SOFTWARE
A definio de Software necessita de uma compreenso mais formal para o
pleno entendimento do seu real significado. Por isso algumas caractersticas
ajudam a base de compreenso.
1. O Software desenvolvido ou passa por processo de Engenharia de
Software e no fabricado no sentido clssico;
2. Software no se desgasta se deteriora;
3. O software tem sua construo contnua;
TIPOS DE SOFTWARE
Software de Sistema conjunto de sistemas para atender a outros programas.
Ex.: Compiladores, editores, utilitrios para gerenciamento de arquivos.
Software de aplicao programas sob medida para solues de negocio
Software Cientifico ou de Engenharia caracterizado por algoritmos number
cruching
Software embutido reside em um outro sistema e utilizado para implementar
funes para o usurio final
Software para linha de produtos projetado para prover capacidade especifica
de utilizao por muitos clientes diferentes.
3
Fer
ra
me
nt
as
Mtodos
Processos
Foco na qualidade
MTODOS
Os Mtodos de Desenvolvimento de Sistema se diferenciam pela maneira
como o problema deve ser visualizado e como a soluo do problema deve
ser modelada. So eles:
1.
Tcnica de Warnier .
Cenrios
PROCESSOS
Processo um conjunto de atividades, aes e tarefas realizadas na criao
de algum produto de trabalho. Uma atividade esfora-se para atingir um
objetivo amplo e utilizada independentemente do campo de aplicao, do
tamanho do projeto, da complexidade ou do grau de rigor que a Engenharia
de Software ser aplicada. Uma ao um conjunto de tarefas que resultam
num componente do projeto. Uma tarefa se concentra num pequeno
objetivo, porem bem definido e produz um resultado tangvel.
TIPOS DE ENTREVISTAS
Reunio
Resposta de questionrios
JAD
PROBLEMAS
Em muitos projetos de alta tecnologia, tem-se observado que a maioria dos
problemas difceis no envolvem hardware nem software, mas sim o
pleopleware. Os problemas de peopleware na anlise de sistemas so muitas
vezes encontrados nas entrevistas. Os problemas mais comuns a que voc
deve estar atento so:
e intenses de determinados
INTRODUO A UML
UML (Linguagem de modelagem unificada) e uma linguagem visual utilizada para
modelar software no paradigma orientado a objetos. Tornou-se nos ltimos anos,
um padro adotado internacionalmente, nos ltimos anos ela engenharia de
software. A UML oferece um grande nmero de diagramas que enfocam nas
caractersticas estruturais e comportamentais de um software. Cada diagrama
possui funo especifica.
LEVANTAMENTO DE REQUISITOS
DEFINIO DE MODELAGEM
um modo de pensar a respeito dos problemas aplicando-se modelos organizados
em torno de conceitos do mundo real.
Superficialmente, o termo OO significa organizarmos o software como uma coleo
de objetos distintas ou incorporam estruturas de dados e comportamentos.
Geralmente, incluem 4 aspectos: identidade, classificao, herana e polimorfismo.
Identidade significa que os dados so organizados em entidades distintas e
intangveis, os objetos.
Num mundo real, um objeto simplesmente existe, mas em uma Linguagem de
Programao, cada projeto possui referencia nica pela qual ele pode ser acessado.
Classificao significa que os dados com a mesma estrutura (atributos) e
comportamentos (mtodos ou operaes) so agrupados em uma classe.
Uma classe uma abstrao que descreve propriedades importantes para uma
aplicao e ignora as demais.
Cada objeto considerado uma instancia de sua classe, tendo seu prprio valor,
mas que compartilha atributos e mtodos.
Herana o compartilhamento de atributos e operaes entre classes com base
em um relacionamento hierrquico.
uma superclasse que possui informaes gerais que as subclasses refinam. Uma
subclasse herda todos os recursos e componentes da classe me.
Polimorfismo significa que a mesma operao pode se comportar de forma
diferente para classes diferente. Uma operao [e um procedimento ou
transformao que um objeto realiza ou a que est sujeito e essa operao
realizada atravs da classe se chama mtodos.
MODELAGEM
Modelo uma abstrao de algo com a finalidade de entende-lo antes de construlo. A abstrao a capacidade humana fundamental, que nos permite com uma
complexidade. Para montar um sistema, engenheiros e desenvolvedores precisam
abstrair diferentes vises do sistema, montar modelos e notaes exatas.
Recomenda-se trs tipos de modelos:
o exame
abstrao
os aspectos
incompletas
3. Itens Agrupamentos
4. Itens anotacionais
1) so os substantivos utilizado em modelos da IML. So as partes mais estticas do
modelo, representando elementos conceituais ou fsicos. So chamados de
classificadores. Ex.: classe, colaborao, interfaces e componentes.
2) so as partes dinmicas dos modelos de UML. So os verbos de um modelo,
representando comportamentos no tempo e no espao.
Ex.: Caso de uso e interaes
DIAGRAMAS NA UML
a apresentao grfica de um conjunto de elementos, geralmente representados
com itens e relacionamentos. Um diagrama constitui uma projeo de um
determinado sistema representando uma viso parcial dos elementos que compe o
sistema. Temos um conjunto com 13 modelos diferentes.
CLASSES
So blocos de construo mais importantes de qualquer sistema Orientado a
Objetos. Uma classe no um objeto individual, mas uma descrio de um conjunto
de objetos que compartilham os mesmos atributos, operaes, relacionamentos e
semntica.
A escolha das classes depende da natureza e do escopo de uma aplicao, uma
questo de critrio. Pode implementar uma ou mais interfaces. representada
graficamente com um retngulo.
Simples
Sensor de temperatura
Cliente
ou
Parede
Qualificado
java::awt:: Retangulo
Regras
ou
DIAGRAMA DE CLASSES
Oferecem uma notao grfica para modelar classes e seus relacionamentos,
descrevendo assim possveis objetos. So usados por erem concisos, fceis de
entender e funcionam bem na pratica e correspondem a um conjunto infinito de
objetos.
Um diagrama de classes formado por:
ATRIBUTOS
uma propriedade nomeada de uma classe que descreve um intervalo de valores
que as instancias da propriedade podem apresentar. Representa alguma
propriedade do item que est sendo modelado, compartilhado por todos os objetos
dessa classe.
OPERAES E MTODOS
Uma operao a implementao de um servio que pode ser solicitado por algum
objeto de classe para modificar um comportamento. Em programao a
conhecemos como funes e procedimentos.
Regra
12
ASSOCIAES
J anela
+abrir()
+fechar()
+mover()
+exibir()
+tratarEvento()
Evento
+Chefia
Funcionario
Socio
-nome
-endereo
-telefone
-data_socio
+possui
Dependente
14
J anela
+abrir()
+fechar()
+mover()
+exibir()
+tratarEvento()
CaixaDeDialogo
J anelaConsole
Pessoa
TrabalhaPara
Empresa
Pessoa
Empresa
+Funcionario
+Empregador
Uma mesma classe pode executar papeis diferentes iguais e/ou diferentes em
outras associaes.
Multiplicidade em algumas situaes importante determinar a quantidade de
objetos que podem ser conectadas por uma associao.
15
Pessoa
1..*
+Funcionario
*
+Empregador
Multiplicidade
0..1
Empresa
Significado
Indica que os objetos das classes
associadas
no
precisam
obrigatoriamente estar relacionados,
mas se houver relacionamento indica
que pelo menos uma instancia da
classe relaciona-se com as instancias
da outra classe
Indica que apenas um objeto da classe
relaciona-se com objetos da outra
classe
Indica que pode haver ou no
instancias da classe participando do
relacionamento
Indica que muitos objetos da classe
esto envolvidos na associao
Indica que h pelo menos um objeto
envolvido no relacionamento, podendo
haver muitos objetos envolvidos
Estabelece que existem pelo menos
trs
instancias
envolvidas
no
relacionamento e no mximo 4 ou 5 as
instancias envolvida e no mais do que
isso.
1..1
0..*
*
1..*
3..5
Empresa
Departamento
Quando temos uma generalizao de uma classe, entramos noutro conceito O.O. de
herana.
16
Mltipla
17
Mecanismos da UML
18
PERFIS
Frequente vale a pena definir um padro de programao e banco de dado, com
comportamentos diferenciados dependendo das linguagens utilizadas no projeto.
um conjunto de esteretipos, valores atribudos e restries que selecionam um
19
DIAGRAMA DE CLASSES
Seu principal enfoque permitir a visualizao das classes que comporo o
sistema com seus respectivos atributos e mtodos, bem como em demostrar
como as classes se relacionam, alm de ser a base para a criao de vrios
outros diagramas.
Lembre-se que ao criar um diagrama de classes em UML, que so apenas
uma apresentao grfica da viso esttica do projeto de um sistema e no
precisa captar tudo dobre a viso de projeto do sistema.
Um diagrama bem estruturado:
Enfatiza a comunicao de um nico aspecto da viso esttica do
projeto
Contem somente apenas elementos essncias para compreenso
Fornece detalhes consistente com seu respectivo nvel de abstrao
No muito minimalista
Ao criar o diagrama de classes:
Atribua um nome que identifique-se com seu proposito
Distribua seus elementos e evite o cruzamento de linhas
Organize para que elementos de semanticamente relacionados
fiquem fisicamente prximos
Use notas e cores como indicaes visuais com finalidade de chamar
ateno para caractersticas importantes
Procure no exibir uma quantidade excessiva de tipos de
relacionamentos.
Ao criarmos as classes comum, mas no obrigatrio, que as mesmas
possuam atributos e mtodos. Alm dessas propriedades, encontramos os
classificadores, que caracterizam a visibilidades tanto para tributos como
20
Tipo
Descrio
Pblico
Privado
Protegido
Pacote
Visvel
Visvel
Visvel
Visvel
EXERCCIOS
Sistema de controle de cinema
21
22