UNIP INTERATIVA Projeto Integrado Multidisciplinar VI Cursos Superiores de Tecnologia
Modelagem de Sistemas Orientado a Objetos
Unip Interati!a Piracicaba "#
%$ UNIP INTERATIVA Projeto Integrado Multidisciplinar VI Cursos Superiores de Tecnologia
Modelagem de Sistemas Orientado a Objetos
&o'o Paulo Castro Tinelli ( )ernando )onseca $*#*"+$ , $*##-." An/lise e 0esen!ol!imento de Sistemas $1 Semestre
Unip Interati!a Piracicaba "#
%$ UNIP INTERATIVA Projeto Integrado Multidisciplinar VI Cursos Superiores de Tecnologia
Modelagem de Sistemas Orientado a Objetos
&o'o Paulo Castro Tinelli ( )ernando )onseca $*#*"+$ , $*##-." An/lise e 0esen!ol!imento de Sistemas $1 Semestre
Unip Interati!a Piracicaba "#
%$ RESUMO Este documento demonstra um projeto 2ue possui aspectos de An/lise de Sistemas Orientado a Objetos3 com o objeti!o de iniciar o desen!ol!imento de um sistema para a empresa Modelo Autope4as3 Autope4as3 2ue contratou os ser!i4os da empresa Paci5ic Solutions3 para sanar suas de5ici6ncias em seus processos7 controle de esto2ue e c/lculos incorretos na comiss'o de !endedores A demonstra4'o demonstra4'o ocorre atra!8s atra!8s do le!antamento e especi5ica49es especi5ica49es de casos casos de uso3 diagramas de casos de uso3 re2uisitos3 diagramas de classes3 regras de neg:cio e prot:tipos de inter5ace ;laternamente obser!/!eis3 obser!/!eis3 o sistema se baseia em !endas e controle de esto2ue de seus produtos3 ent'o 5oram identi5icados como casos de uso7 cadastro de produto e cadastro de !endedor ;cada um desses possui a op4'o de altera4'o3 e>clus'o e consulta=3 cadastro para lan4ar um pedido3 podendo selecionar um ou mais produtos e atribuir um !endedor3 c/lculo c/lculo de comiss'o de !endedores encima do pedido ;sendo esse 5eito automaticamente no momento da 5inali?a4'o do pedido= Tamb8m amb8m 5oi desen!ol!ido um caso de uso de cadastro de usu/rio3 onde @/ tr6s tipos7 usu/rio restrito3 usu/rio padr'o e administrador do sistema Usu/rios restritos tem acesso apenas a 5uncionalidades de consulta3 bem como o usu/rio padr'o e administrador do sistema Usu/rio padr'o 8 respons/!el por lan4ar um pedido e o administrador do sistema por cadastrar produtos3 !endedores e no!os usu/rios O diagrama de casos de uso demonstra as ati!idades do sistema para os tipos de usu/rios em um 5lu>o3 e nas especi5ica49es s'o detal@ados os processos internos ;!alida49es3 impress9es3 op49es escol@idas= Os tipos de re2uisitos para esse sistema s'o os re2uisitos n'o 5uncionais ;usabilidade=3 onde 5oi especi5icado o padr'o dos cadastros3 acesso aos dados3 manual de instala4'o e de usu/rio3 autentica4'o3 seguran4a ;criptogra5ia=3 @ardares e 5erramentas para o desen!ol!imento3 sempre !oltando para a 2ualidade de ser!i4o Para o diagrama de classes 5oram especi5icadas as classes7 produto3 !endedor3 pedido3 pedido item3 usu/rio ;sendo classe pai de usu/rio restrito3 usu/rio padr'o e administrador do sistema3 gerando uma @eran4a= Cada classe 5oi atribuBda a uma representa4'o de multiplicidade Por 5im3 os prot:tipos de tela 5oram desen!ol!idos com base nos atributos das classes do diagrama e aos re2uisitos n'o 5uncionais As metodologias utili?adas utili?adas para a elabora4'o 5oram 5oram as aulas de An/lise An/lise de Sistemas Orientado a Objetos3 Inter5ace omem,M/2uina e con@ecimentos pro5issionais3 sendo um trabal@o 2ue otimi?a o tempo de desen!ol!imento e garante 2ualidade
ABSTRACT T@is document s@os a project t@at @as Sternall< obser!able 5eatures3 t@e s
SUMÁRIO 1
INTRODUÇÃO
2
CASOS DE USO (DIAGRAMA)
3
ESPECIFICAÇÃO DE CASOS DE USO
3.1
Ações p! " C#s$!" #e P!"#%$"
3.2
C"&s%'$ #e P!"#%$"s
3.3
Ações p! " C#s$!" #e ee#"!
3.
C"&s%'$ #e ee#"!es
3.*
Ações p! " +#s$!" #e Us%,!-"
3.
Pe#-#"s e C"/-ss0" #e ee#"!es$+
3.
Ge!ç0" #e Re'$!-" p! B'&ç"
REUISITOS NÃO FUNCIONAIS
.1
P#!"&-4ç0" #"s C#s$!"s
.2
A+ess" "s D#"s
.3
M&%' #e I&s$'ç0"
.
M&%' #e Us%,!-"
.*
A+ess" A%$e&$-+#"
.
C!-p$"5!6- #e Se&7s
.
A/8-e&$e
.9
Fe!!/e&$s p! " Dese&:"':-/e&$"""
.;
<!#=!es"+
5
DIAGRAMA DE CLASSES.............................................................................24
6
PROTÓTIPO DE TELAS DO SISTEMA.........................................................25
.1
C#s$!" #e P!"#%$"
.2
C"&s%'$ #e P!"#%$"
.3
C#s$!" #e ee#"!
.
C"&s%'$ #e ee#"!
.*
C#s$!" #e Pe#-#"
.
C"&s%'$ #e Pe#-#"
7 CONCLUSÃO.................................................................................................31 8 REFERÊNCIAS.............................................................................................32
6
1
INTRODUÇÃO
Um !"# $%m& M"&'!" A()"*'+,- !"$!/& 0" R" &' 0'"- *",,( *"$',,", !%", ' &'$'0)', 'm ,'( )!%"- $"m m() +" %(m0 0" ',)" &' 0"m+',- &',$"0)"!' &" ',)"9('- '+" &' $:!$(!", 0$"')", 0" ;!" &' $"m,," &' ;'0&'&"', ' ),", 0, $"m*, &' *"&()", * '*",+" &' ',)"9('. S'( *"*'):"- ;,0&" $" ',,', *"$',,",$"0))"( 'm*', P$$ S"!()"0, * $ (m ,")<' 9(' *",, ,0 ',,, &'$=0$, 'm ,'(, *"$',,",. O "#');" * '!/+" &',,' )!%" > &'0)$ ", $,", &' (,",- ,,m $"m" '!" ", m"&'!", &' $,", &' (,"- ", '!$"0m'0)", '0)' , '0)&&', ?$!,,',@ 0'$',,:, * " &','0;"!;m'0)" &" ,,)'m- &',$';' ", '9(,)", 0" (0$"0, ' &' (,!&&'- &'0)$ ' &',$';' " $"0)')" &' (," ' ', &' 0'B$"- '!" ", &m, &' $!,,', &' 0:!,' ' ", *")B)*", &, )'!, *0$*,.
Com isso ser/ possB!el desen!ol!er um sistema s:lido3 com o mBnimo de erros e 2ue se ade2ue e resol!a problemas nos processos da loja3 al8m de garantir a usabilidade do usu/rio3 regras de neg:cios bem elaborados3 pra?os bem de5inidos e a satis5a4'o do cliente As metodologias utili?adas para a elabora4'o ser'o os conceitos !isto em an/lise de sistemas orientado a objetos ;constru4'o de digramas3 classes3 e especi5ica4'o de re2uisitos= e inter5ace @omem,m/2uina ;la
2
CASOS DE USO ?DIAGRAMA@
7 F" '!"&" (m &m &", $,", &' (," *0$*, &" ,,)'mm",)0&" ", ,')"', & 'm*',- (,(:", $"m(0, ?*&"@- (,(:", ',))", ' &m0,)&"', &" ,,)'m- $& (m &'!', ,,"$&", ,( (0+" $"m" m",) m'm ,'(
3
ESPECIFICAÇÃO DE CASOS DE USO
8 +$
Ações p! " C#s$!" #e P!"#%$"
O8>e$-:"7 O operador usa o sistema para controlar os produtos do esto2ue3 e os bens permanentes na entrada3 saBda A$"!es e&:"':-#"s? Administrador do Sistema P!@+"-ções? O produto ser cadastrado3 de!e ser oriundo de uma Nota )iscal !/lida F'%" P!-&+-p'? 1 O operador 5a? logon no Sistema e entra no cadastro de Produto 2 O operador escol@e os Bcones de a49es 2ue ser'o e>ecutadas Alterar , Incluir , E>cluir 3 , Caso a op4'o escol@ida seja FIncluirG7 , O sistema solicita os dados do no!o produto ;c:digo3 descri4'o3 unidade de medida3 esto2ue mBnimo3 esto2ue m/>imo e pre4o unit/rio= , O sistema !eri5ica se o c:digo do produto j/ est/ e>iste ou est/ cadastrado , Se o c:digo j/ esti!er cadastrado uma mensagem de alerta ser/ mostrado e o produto n'o ser/ inserido , Se o c:digo do produto n'o e>istir3 esse produto ser/ incluBdo no esto2ue
Caso a op4'o escol@ida seja FAlterarG7 , H solicitado c:digo do produto para 2ue seja e5etuada a sua de!ida altera4'o , Ser/ mostrado os dados j/ cadastrados desse produto3 podendo o operador atuali?ar a 2uantidade no esto2ue3 para mais ou para menos , Ap:s 5eita a altera4'o3 os no!os dados s'o sal!os
* Caso a op4'o escol@ida seja FE>cluirG7 , H solicitado o c:digo do produto para 2ue seja e5etuada a sua de!ida e>clus'o , Ap:s a e>clus'o3 o cadastro desse produto 8 apagado do sistema
P:s,Condi49es7 o sistema de!e mostrar a 2uantidade do produto no esto2ue
+"
C"&s%'$ #e P!"#%$"s O#');" O "*'&" (, " ,,)'m * $"0,(!) ", *"&()", &" ',)"9('' ", '0, *'m0'0)', 0 '0)&- ,&. A)"', '0;"!;&", U,(:" R',))"- U,(:" P&" ' A&m0,)&" &" S,)'m.
P!@+"-ções: O usu/rio de!e ser identi5icado pelo sistema F'%" p!-&+-p'? 1 O operador 5a? logon no Sistema 2 O sistema solicita in5orma49es do produto ser consultado ;c:digo3 descri4'o= 3 O usu/rio 5a? a digita4'o dos dados do produto A consulta 8 reali?ada e as in5orma49es do produto s'o e>ibidas na tela * O sistema o5erece ao usu/rio a op4'o de impress'o O operador 5ec@a a tela de e>ibi4'o P:s,Condi49es7 A consulta de dados do produto 5oi reali?ada
1 ++
Ações p! " C#s$!" #e ee#"!
O8>e$-:"? O operador usa o sistema para 5a?er a inclus'o3 e>clus'o e altera4'o no cadastro de Vendedores A$"!es E&:"':-#"s? Administrador do Sistema P!@+"-ções? O usu/rio de!e ser identi5icado pelo sistema F'%" p!-&+-p'? 1 O operador 5a? logon no Sistema e entra no cadastro de Vendedor 2 O operador escol@e os Bcones de a49es 2ue ser'o e>ecutadas Alterar , Incluir , E>cluir 3 Caso a op4'o escol@ida seja FIncluirG7 , O sistema solicita os dados do Vendedor ;c:digo3 nome3 se ele 8 comissionado e a porcentagem de comiss'o= , O sistema !eri5ica se o c:digo do !endedor j/ est/ e>iste ou est/ cadastrado , Se o c:digo j/ esti!er cadastrado uma mensagem de alerta ser/ mostrado e o !endedor n'o ser/ inserido , Se o c:digo do !endedor n'o e>istir3 esse !endedor ser/ incluBdo no sistema
Caso a op4'o escol@ida seja FAlterarG7 , H solicitado c:digo do !endedor para 2ue seja e5etuada a sua de!ida altera4'o , Ap:s 5eita a altera4'o3 os no!os dados s'o sal!os
* Caso a op4'o escol@ida seja FE>cluirG7 , H solicitado o c:digo do !endedor para 2ue seja e5etuada a sua de!ida e>clus'o , Ap:s a e>clus'o3 o cadastro desse !endedor 8 apagado do sistema
, P:s condi49es7 O Vendedor 5oi cadastrado3 alterado ou e>cluBdo no sistema
11 +-
C"&s%'$ #e ee#"!es
O8>e$-:"? O operador usa o sistema para consultar os !endedores da empresa A$"!es e&:"':-#"s? Usu/rio Restrito3 Usu/rio Padr'o e Administrador do Sistema P!@+"-ções? O usu/rio de!e ser identi5icado pelo sistema F'%" p!-&+-p'? 1 O operador 5a? logon no Sistema 2 O sistema solicita in5orma49es do !endedor ser consultado ;c:digo3 nome= 3 O usu/rio 5a? a digita4'o dos dados do !endedor A consulta 8 reali?ada e as in5orma49es do !endedor s'o e>ibidas na tela * O sistema o5erece ao usu/rio a op4'o de impress'o O operador 5ec@a a tela de e>ibi4'o P:s,Condi49es7 A consulta de dados do !endedor 5oi reali?ada
12 +*
Ações p! " +#s$!" #e Us%,!-"
O8>e$-:"? O Administrador usa o sistema para 5a?er a inclus'o3 e>clus'o e altera4'o dos usu/rios do sistema e suas de!idas prioridades de acesso A$"!es e&:"':-#"s? Administrador do Sistema P!@+"-ções? O usu/rio de!e ser identi5icado pelo sistema F'%" p!-&+-p'? 1 O operador 5a? logon no Sistema e entra no cadastro de Usu/rio 2 O operador escol@e os Bcones de a49es 2ue ser'o e>ecutadas Alterar , Incluir , E>cluir 3 Caso a op4'o escol@ida seja FIncluirG7 , O sistema solicita os dados do no!o usu/rio , O sistema !eri5ica se o login j/ est/ e>iste ou est/ cadastrado , Se o login j/ esti!er cadastrado uma mensagem de alerta ser/ mostrado e o usu/rio n'o ser/ inserido , Se o login do usu/rio n'o e>istir3 esse usu/rio ser/ incluBdo no sistema , H escol@ida a prioridade de acesso ao sistema7 A Usu/rio Padr'o , Usu/rio Restrito , C Administrador , H de5inida sen@a de acesso
Caso a op4'o escol@ida seja FAlterarG7 , H solicitado o login para 2ue seja e5etuada a sua de!ida altera4'o , Ap:s 5eita a altera4'o3 os no!os dados s'o sal!os
* Caso a op4'o escol@ida seja FE>cluirG7 , H solicitado o login para 2ue seja e5etuada a sua de!ida e>clus'o , Ap:s a e>clus'o3 o cadastro desse usu/rio 8 apagado do sistema3 assim como sua prioridade de acesso
P:s condi49es7 O Usu/rio 5oi cadastrado3 alterado ou e>cluBdo no sistema
13 +%
Pe#-#"s e C"/-ss0" #e ee#"!es
O8>e$-:"? Operador usa o sistema para lan4ar um pedido A$"!es e&:"':-#"s? Usu/rio Padr'o P!@+"-ções? O usu/rio de!e ser identi5icado pelo sistema F'%" p!-&+-p'? 1 O operador 5a? logon no Sistema e entra no cadastro de Pedidos 2 O operador seleciona um ou mais produtos para entrar no pedido3 in5orma a 2uantidade de cada um 3 O operador atribui um !endedor para a2uele pedido e automaticamente 8 5eito o c/lculo do !alor da comiss'o encima desse pedido ;padr'o "J= 2ue o !endedor ir/ receber O operador 5inali?a o pedido * H gerado uma listagem com as in5orma49es do pedido3 as descri49es dos produtos3 as 2uantidades3 o pre4o unit/rio3 o total a ser pago3 o !endedor associado bem com o !alor de comiss'o O esto2ue 8 atuali?ado automaticamente de acordo com a 2uantidade de produtos 2ue entraram no pedido ;saBda de esto2ue= O sistema o5erece ao operador a op4'o de impress'o 9 P:s condi49es7 O pedido 5oi cadastrado e o esto2ue atuali?ado
14 +K
Ge!ç0" #e Re'$!-" p! B'&ç"
O8>e$-:"? O operador usa o sistema para gerar um relat:rio para balan4o3 de todos os produtos do esto2ue A$"!es e&:"':-#"s? Usu/rio Restrito3 Usu/rio Padr'o e Administrador do Sistema P!@+"-ções? O usu/rio de!e ser identi5icado pelo sistema F'%" p!-&+-p'? 1 O operador 5a? logon no Sistema 2 O sistema solicita a data ou perBodo 3 O operador 5a? a digita4'o do perBodo O relat:rio 8 e>ibido na tela * O sistema o5erece ao operador a op4'o de impress'o O operador 5ec@a a tela de e>ibi4'o 9 P:s,Condi49es? O relat:rio para balan4o por perBodo3 5oi gerado
4
REHUISITOS NÃO FUNCIONAIS
15 P &','0;"!;m'0)"- m*!0)+" ' ()!/+" &" ,,)'m- &';' ,' $"',*"0&&" ", ,'(0)', '9(,)", 0" (0$"0, -$
P#!"&-4ç0" #"s C#s$!"s
Todos os cadastros do sistema de!er'o obedecer um mesmo padr'o de usabilidade3 os 2uais permitam7 , Acesso direto ao registro pelo seu C:digo ;Produto > Vendedor > Pedido= , Acesso ao registro atra!8s de uma Pes2uisa a!an4ada , Opera4'o de Inserir3 permitindo a inser4'o de um no!o registro , Opera4'o de Alterar3 permitindo a altera4'o do registro selecionado , Opera4'o de E>cluir3 permitindo a e>clus'o do registro selecionado , Opera4'o de Sal!ar3 permitindo a conclus'o do processo de inser4'o ou de altera4'o3 persistindo os dados , Opera4'o de Cancelar3 permitindo a desist6ncia do processo de inser4'o ou de altera4'o3 descartando os dados , Opera4'o de )ec@ar3 permitindo a saBda da tela de cadastro , A tela de Pes2uisa A!an4ada de!er/ ser padr'o para todos os cadastros3 permitindo 5iltragem por 2ual2uer campo do registro3 de + 5ormas7 , I&+-"? registros retornados con5orme o inBcio do !alor in5ormado , Me-"? registros retornados con5orme o !alor inteiro in5ormado , F-/? registros retornados con5orme o 5inal do !alor in5ormado , Se algum dos campos do registro 5or uma data3 a pes2uisa a!an4ada ainda permitir/ a 5iltragem de registros atra!8s do 5ornecimento de um inter!alo de datas3 5iltrando registros cujo campo de data esteja no dado inter!alo
16 -"
A+ess" "s D#"s
Todo acesso a dados de!er/ ser reali?ado !ia O0C de 5orma a redu?ir o acoplamento entre c:digo e banco de dados
-+
M&%' #e I&s$'ç0"
O sistema de!e !ir acompan@ado com um manual de instala4'o em 5ormato P0)
17
18 --
M&%' #e Us%,!-"
O sistema de!e !ir acompan@ado com um manual de opera4'o para o usu/rio 5inal3 em 5ormato P0)3 e>empli5icando as ati!idades e 5uncionalidades assim como as restri49es
1 -*
A+ess" A%$e&$-+#"
Todo acesso ao sistema de!er/ ser autenticado atra!8s do 5ornecimento de login e sen@a !/lidos Tais dados de acesso de!er'o estar arma?enados no banco de dados da aplica4'o
2 -%
C!-p$"5!6- #e Se&7s
As sen@as dos usu/rios da aplica4'o de!em ser arma?enadas de 5orma criptogra5ada no banco de dados da aplica4'o
21 -K
A/8-e&$e
O sistema3 composto de " partes3 tem os seguintes re2uisitos de ambiente7 , Aplica4'o Cliente7 0e!er/ ter como al!o principal o Lindos $#3 com a linguagem p@p instalado e o ser!idor Leb Apac@e , anco de 0ados7 0e!er/ ser empregado 2ual2uer sistema operacional 2ue suporte o Microso5t S Ser!er "#$" , O sistema 5uncionar/ em 2ual2uer rede TCPIP 2ue permita comunica4'o remota atra!8s de O0C ou Client do S Ser!er da aplica4'o Cliente ao ser!idor de anco de dados uais2uer 5irealls de!em ser con5igurados para permitir essa comunica4'o
22 -
Fe!!/e&$s p! " Dese&:"':-/e&$"
O sistema de!er/ ser desen!ol!ido utili?ando o Visual Studio "#$+3 apro!eitando suas 5uncionalidades de testes de unit/rios e cobertura de c:digo Para banco de dados3 ser'o utili?ados o S Ser!er e o S Ser!er Management Studio
23 -.
<!#=!es
O sistema3 composto de " partes3 tem os seguintes re2uisitos de @ardare7 , Ap'-+ç0" C'-e&$e7 MBnimo de $"mb de mem:ria li!res para a opera4'o do sistema , B&+" #e D#"s? Os mesmos re2uisitos de @ardare do S Ser!er "#$"
5
DIAGRAMA DE CLASSES
24
6 %$
PROTÓTIPO DE TELAS DO SISTEMA
C#s$!" #e P!"#%$"
25
%"
C"&s%'$ #e P!"#%$"
26
%+
C#s$!" #e ee#"!
27
%-
C"&s%'$ #e ee#"!
28
%*
C#s$!" #e Pe#-#"
2
%%
C"&s%'$ #e Pe#-#"
3
7
CONCLUSÃO
31 C"m ()!/+" &' )>$0$, &' !';0)m'0)", &' '9(,)",- &"$(m'0)+" &", m',m",- &m,- $,", &' (," ' *")B)*", &' )'!,- (m *"#')" *"&' ,' ")m/&" 0" 9(' &/ ',*')" ''0$m'0)"- m(&0+, &' ', &' 0'B$"- *!0'#m'0)"- $"m*0%m'0)" &", (,(:", '0;"!;&",*"m";'0&" (m m" 0)'+" &" *B*" (,(:" 0" $$!" &' ;& &' &','0;"!;m'0)" &" ,")<'. N',)' *"#')" $"0,'(m", 0!, )"&, ',,, /', * ,0 (m &$(!&&' 'm (m &", *"$',,', &" 0",," $!'0)'- !"# M"&'!" A()"*'+,!"$!/& 0" R" &' 0'". C"0$!((,' 9(' * *"&' &','0;"!;' (m ,")<' &' 9(!&&' ' 9(' )'0& " *"$',,"- '9(,)", ' '*'$));, &" $!'0)' > 0'$',,:" *!$ )>$0$, &' 0:!,' &' ,,)'m, "'0)&", "#')",- ")m/ 0)'$' $"m " (,(:" );>, &' *")B)*",- *!$ )>$0$, &' ''0$m'0)" &' *"#')" ' '0'0% &' ,")<' ' " *B*" &','0;"!;m'0)" &" ,,)'m "'0)&" "#')". C"m ,," *"&'m", ")m/ " )'m*" &' &','0;"!;m'0)"- m'0,( &' "m m, *'$, " $"0"m- */", ' $(,)",- 0!, &' "m *'$, ", '9(,)", &" ,,)'m ' ' (m *"&()" !)m'0)' ',):;'! ' (0$"0!.
8
REFERÊNCIAS