Você está na página 1de 8

16/03/2015

Ciclo de Vida do Software


Programa de Ps-Graduao em
Gesto de Negcios
Sistemas de Informaes Gerenciais

Softwares

Prof. Dr. Egon Walter Wildauer


UFPR - 2015
Prof. Egon Walter Wildauer
egon@ufpr.br

Agenda

Introduo
Sistemas Computacionais
Ciclo de Vida (Estruturado)
Ciclo de Vida (OO)
Concluso

Ciclo de Vida

Ciclo de Vida?

Pr

Desenvolvimento

Ps
Distribuio

Produo

Monitorar
Mercado
Atender
Cliente

Acompanhar
Produto/
Processo

Gerenciamento
Melhoria do processo
de mudanas
de desenvolvimento de
de engenharia
produtos
Processos
Processos
de
deapoio
apoio

Descontinuar
a produo
Incio:
1a idia

Liberao
da produo

Ciclo de vida do produto

Final da
produo

Assistncia
Tcnica

Planejamento
Estratgico

Finalizar
suporte ao
produto
Fim da
vida

16/03/2015

Modelo Construir e Consertar

MODELOS PARA
ESPECIFICAO E
CONSTRUO DE
SISTEMAS

Modelo Cascata:
Cascata Pura

Modelo Cascata:
Abordagem Evolucionria

Modelo Cascata:
Abordagem Incremental

Modelo Espiral

Boehm (1988)

16/03/2015

Modelo da Maturidade da Capacidade


(CMM) para produzir software
(Este no um modelo do ciclo de de vida )

uma estratgia para melhorar o processo de produo


de software, sendo independente do ciclo de vida.
SEI (Software Engineering Institute)
Universidade Carnegie-Mellon, USA (1986).

Trata o processo software no aspecto:


- tcnico e
- gerencial.

Modelo da Maturidade da Capacidade


(CMM) para produzir software
Nvel de Maturidade

Caracterizao

1 - Inicial

Processo Catico

2 - Repetvel

Gerencia Basica do Projeto

3 - Definido

Definio do Processo

4 - Gerenciado

Medio do Processo

5 - Evolutivo

Controle do Processo

Modelo ISO 9000 para produzir software

CMM e ISO 9000 enfatizam medies!


ISO 9000-3
No basta medir para melhorar:
necessrio treinamento contnuo!

Sistemas Computacionais...
Software
Atender as especificaes e
aos requisitos do usurio!
1. Anlise
2. Projeto
3. Implementao
4. Testes/Implantao
5. Manuteno

Anlise de Sistemas a atividade que tem


como finalidade realizar estudos de
processos a fim de encontrar o melhor e
mais racional caminho para que a
informao possa ser processada!
Projeto de Sistemas a apresentao dos
documentos da arqutitetura do sistema
lgico analisado.

16/03/2015

Abordagem Estruturada
Abordagem Estruturada
Nveis: Conceitual Lgico Fsico
1) Estudo do Contexto

foco nos processos/funes


foco nos dados

Abordagem Orientada a Objetos

Anlise para entender o problema


Especificaes dos requisitos

Diagrama de Contexto

foco em objetos

2) Mapeamento dos Processos/Funes


Diagrama de Fluxo de Dados

Exemplo de um Diagrama de
Contexto

CNPJ, Endereo,
Contato, ...

CNPJ_Forn, Nome_Forn,
End_Forn, ...

Titulo, Autor, Editora,


Ano, ...

Nome, RG, CPF,


Endereo, Sexo, ...

Exemplo de
um DFD

Abordagem Estruturada
3) Dicionrio de Dados
USUARIO = { Nome + RG + CPF + Endereco + ...}
LIVRO = { ISBN + Titulo + Autor + Ano + ...}

Abordagem Estruturada
5) Diagrama de Entidade Relacionamento
nome_liv
cod_esc

nome_esc

cod_liv

cod_ed

ESCOLA
1

1FN
2FN
3FN
4FN

LIVRO

adota

publica

estuda

4) Normalizao dos Dados

nome_ed

resumo

end_esc

end_ed

EDITORA
n

localiza

escreve

fica
matric
m
nome_alu

ALUNO

AUTOR

end_alu

nasceu

cod_cid

CIDADE
m

cod_aut

nome_aut

nome_cid
pop_cid

dt_nasc

1Grau

2Grau

nome_pai
espec_curso
nome_mae

16/03/2015

Abordagem Estruturada
6) Especificao dos Processos:

Abordagem Estruturada
7) Diagrama de Estrutura Modular

Delinear cada processo do DFD em Algoritmos passveis


de implementao, principalmente quanto aos dados:
- Incluso
- Alterao
- Consulta
- Excluso

Abordagem Estruturada
8) Implementao dos Processos LP

Abordagem Estruturada
9) Implementao das Tabelas (SQL)

(Pascal)
program tela_inicio;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
num : integer;
begin
WRITELN('');
WRITELN('********************');
WRITELN('Digite um numero inteiro:');
READLN(num);
WRITELN('');
if ((num mod 2) = 0) then
WRITELN(Sistema de Controle de Biblioteca
')
else
WRITELN(Seu login: ', num, ' ,
num_login);
WRITELN('');
end.

Abordagem Estruturada
10) Testes/Implantao

11) Manuteno

create table livro (

isbn
number not null,
titulo
varchar2(30),
editora varchar2(50)

create table usuario(

insert
insert
insert
insert

into
into
into
into

usuario
usuario
usuario
usuario

empno number not null,


depto varchar2(50),
cidade varchar2(30),
mgr
number,
dt_nasc datetime )

values
values
values
values

(10,
(20,
(30,
(40,

'Accounting', 'New Yok')


'Research', 'Dallas')
'Sales', 'Chicago')
'Operations', 'Boston')

Abordagem OO
Foco o OBJETO, que surge,
psicologicamente, com a
percepo de:
Permanncia
Identidade
Operaes, que
caracterizam o objeto.

16/03/2015

Abordagem OO

Um objeto tem:
estado,
comportamento e
identidade.

A estrutura e o comportamento de
objetos similares so definidos por sua
classe comum.

Apresentao

Apresentao
Lgica de Aplicao

Domnio

R
Servios
Base de Dados

Armazenamento

Abordagem OO

Visual Paradigm for UML Community Edition [not for commercial use]

Sistema para Projeo de Cenrios de Temperatura

1) Diagrama de Caso de Uso (USE CASE)

<<Extend>>

Protutividade

Selecionar Opo

Extension Points
ExtensionPoint

<<Extend>>

Usurio

<<Extend>>

<<Extend>>

Estimativas

Triangulao

Segmentao

Extension Points
ExtensionPoint

Extension Points
ExtensionPoint

Extension Points
ExtensionPoint

<<Extend>>
<<Extend>>
Escolher Datas Incio/Fim
Extension Points
ExtensionPoint

Cores Shape
Extension Points
ExtensionPoint

<<Extend>>
Escolher Tipo
Projeo Temperatura
Extension Points
ExtensionPoint

Abordagem OO

ShapeSHP
-boundingBox:BBox
-recordSHP:Vector

2) Diagrama de Classes
Classes
+ShapeFiles
+PointXY
+ShapeType
+NullShape
+PointType
+PointMType
+PointZType
+PointZShape
+PointMShape
+PointShape
+MultiType
+MultiPointShape
+MultiMType
+MultiPointMShape
+MultiZType
+MultiPointZShape
+PolyType

Arquivo
+ShapeSHP
+BBox
+Record
+Header

+ShapeSHP
+newRecordSHP:void
+setBoundingBox:void
+getBoundingBox:double
+setPathToPaint:Object
+setFields:void
+setFields:void
+getRecordSHP:Object
unused5:int
unused4:int
unused3:int
unused2:int
unused1:int
version:int
objName:String
fileLength:int
fileCode:int
shapeType:int
recordSHP:Object
sizeRecordSHP:int
shapeTypeName:String
shapeTypeCode:int

Alterar

Restaurar

BBox

+BBox
mmax:double
mmin:double
xmin:double
xmax:double
ymin:double
ymax:double
zmin:double
zmax:double

Record
-recordContents:Object
-recordHeader:Header
+Record
+ByteConvert:int
+ByteConvert:Long
+ByteConvertToDouble:double
+ByteConvertToInteger:int
+setRecordHeader:void
recordNumber:int
contentLength:int
typeContent:int
recordContent:Object
recordContents:Byte[]

Header

+Header
typeContent:int
contentLength:int
recordNumber:int

16/03/2015

PointXY

ShapeFiles

-X:double
-Y:double
+PointXY
+PointXY

PointShape

PointMShape

PointZShape

+PointShape

+PointMShape

+PointZShape

x:double
y:double
0..*
ShapeType

PointType
PointMType

NullShape

+NullShape

-X:double
-Y:double

+ShapeType

PointZType

-M:double

+PointType

shapeTypeCode:Integer
shapeTypeName:String
shapeType:Integer

-Z:Double

+getM:Double
+setM:void

+PointZType

x:double
y:double

z:double

MultiPointMShape

+MultiPointMShape
MultiType

MultiPointShape

+MultiPointShape

-NumPoints:int
-Points:PointXY[]
-Box:double[]
+MultiType
+setPoints:void
+setBox:void
+getPointsY:double
+getPointsX:double
+getBox:double
numPoints:int

MultiMType

MultiZType

-mmin:double
-mmax:double
-Marray:double[]

MultiPointZShape

-Zarray:double[]
+MultiZType
+Zarray:double
+setZarray:void

+MultiMType
+setMmin:void
+setMmax:void
+getMmin:double
+getMmax:double
+getMarray:double

+MultiPointZShape

ZMin:double
ZMax:double

PolyType
PolyLineShape

PolygonShape

+PolygonShape

+setParts:void
+getParts:Double
+PolyType

+PolyLineShape

numParts:Integer

Abordagem OO
3) Diagrama de Interao (Seqncia)

Abordagem OO

Abordagem OO
4) Diagrama de Interao (Colaborao)

Visual Paradigm for UML Community Edition [not for commercial use]

5) Diagrama de Estados

Apresentar Mapa
Obter
Perodo
/Definindo Datas

Modelo Escolhido

Aguardar Escolha Mtodo


/Aguardando Modelo
Modelo Selecionado

Obter Coeficientes
/Buscando dados
Coeficientes

Processar Estimativas
/Calculando Projees
Apresentar Mapa
/Definindo Visualizao
de Regies

Aplicar Cores
/Processando Projees por Cor...
Mostrar Regies

16/03/2015

Abordagem OO

Abordagem OO

6) Diagrama de Atividades
Visual Paradigm for UML Community Edition [not for commercial use]

:Acesso Sistema

:Opo Menu

:Sair

Estimativas

Abrir Tela Projeo

Segmentao

Obter Datas
Incio/Fim

Calcular
Parmetros
Sistema

7) Diagrama de Componentes
8) Diagrama de Implantao

Apresentar
Opes
Sistema
Triangulao
Modelos
Projeo ...

Produtividade

Escolha
Modelos...

Finalizar

package App;
import java.io.Serializable;
public class Coeficiente implements Serializable{
private double beta0;
private double alfa;
private double sigma;
Cdificao - Cdigo Fonte
private double beta1;
private double beta2;
private double erro;
public double getTemperatura(long dj){
double valor = ((2 * Math.PI / 365) * dj);
double fator1 = (this.alfa * Math.cos(valor));
double fator2 = (this.sigma * Math.sin(valor));
double temperat = (this.beta0 + fator1 + fator2 + (this.beta1 * dj) + (this.beta2 * (dj *
dj)) + this.erro);
return temperat;
}
public void setBeta0(double beta) {
this.beta0 = beta;
}
public double getBeta0() {
return beta0;
}

Concluso

O usurio importante!
O Ciclo de Vida deve ser respeitado
A modelagem leva arquitetura!
UML no metodologia!
UML uma linguagem de modelagem.

Recomendaes...
Explore os sites ACM
(http://www.aem.org) e/ou
IEEE (http://www.computer.org)
ou ainda outros sites para o assunto ciclo
de vida do software.

Obrigado!
egon@ufpr.br

Você também pode gostar