programacion orientada a objetos, manual y guia básica de como programar paso a paso y y con ejercicios resueltos. no soy el autor.Descripción completa
Descripción completa
Descripción completa
Conceptos generales de la POOFull description
material estácio de sá EAD, engenharia de softwareFull description
Programación Orientada a ObjetosDescripción completa
Descrição: material estácio de sá EAD, engenharia de software
Descripción completa
Descripción completa
teoria importante de la programacion orientada a objetosDescripción completa
Descripción: poo
Fundamentos de La Programación Orientada a Objetos Semana 2
POooDescripción completa
Descripción: Manual de Programación Orientada a Objetos I
Programación Orientada a Objetos ULSDescripción completa
Metodología de programación abstracta (objetos)Descripción completa
Faculdade Anhanguera
Curso Superior De Tecnologia Em Análise Análise E Desenvolvimento De Sistemas- TADS TADS
Fundamentos de Análise Orientada a Objetos
2!"
1
Faculdade Anhanguera
Curso Superior De Tecnologia Em Análise Análise E Desenvolvimento De Sistemas - TADS TADS
Fundamentos de Análise Orientada a Objetos
2!"
2
Atividade pratica Supervisionada - ATPS
Trabalho de atividade #rática Supervisionada entregue á universidade Anhanguera como $oco no aumento de aprendi%agem na disciplina $undamentos da análise orientada a objeto& #ro$essor 'odrigo (ent%
Resumo
3
Esta Atividade #rática Supervisionada )AT#S* tem como objetivo resolver o problema organi%acional da biblioteca da escola +om Saber,./ para manter a integridade dos dados e o $lu0o do mesmo para uma melhor ger1ncia/ a escola designou a esuipe deste trabalho para reali%ar a análise de reuisitos/ a documenta34o do sistema e seus devidos diagramas& 5a análise de reuisitos percebeu-se ue em uma biblioteca o arma%enamento dos livros e o controle dos empr6stimos s4o as $un37es vitais& #ara uma melhor abstra34o do sistema será utili%ada a linguagem 89:/ linguagem de modelagem ue utili%a diagramas para uma melhor documenta34o e organi%a34o de um sistema& Com este documento de especi$ica34o/ o cliente e os desenvolvedores estar4o a par de tudo ue se comp7e o projeto/ de suas entidades at6 seus atores&
Palavras chave; 89:/
documento/ especi$ica34o/ biblioteca&
Abstract
4
This #ractice Activit< Supervised )AT#S* aims to solve the school librar< organi%ational problem +om Saber,./ to maintain the integrit< o$ the data and the $lo= o$ it $or a better management/ the school designated the esuipe this =or> to per$orm reuirements anals and the control o$ the loans are vital $unctions& For a better abstraction o$ the ses up the project/ its entities to its actors&
Keywords: 89:/
document speci$ication librar<&
5
Sumário
Introdução........................................................................................................ .............04 Etapa 1 - Relatório 1 – Análise dos Requisitos........................................................................05 Resuo 1.1 - Análise e !ro"etos #rientados a #$"etos.......................................................0% Resuo 1.2 – &on'eitos (erais de En)en*aria de +o,tare.................................................0 Resuo 1.3 – &on'epção/ Eli'itação e ipos de Requisitos................................................0 Resuo 1.4 – En)en*aria de Requisitos............................................................................15 ista)e In,oral dos Requisitos o$tidos e pro$leas dessa lista)e.................................1 ista)e de Requisitos un'ionais e ão un'ionais 6alidados..........................................20 7i$lio)ra8a
%
Etapa 1 - ntrodu!"o ao #evantamento e Análise de Re$uisitos %rientados a %b&etos' Apresenta!"o da ()#* Aborda+em resumida dos dia+ramas ()#* Apresenta!"o de ,erramenta para modela+em de dados Passo 1 Análise e Pro&etos de Sistemas de in.orma!"o %rientados a %b&etos*
A 89: ):inguagem de modelagem uni$icada* 6 uma nota34o padr4o de diagrama34o/ 6 uma linguagem ue documenta/ especi$ica e constri os arte$atos de um sistema& #ode ser usada como; 'ascunho/ #lanta de so$t=are e :inguagem de programa34o e ue pode ser usada em B perspectivas; Conceitual/ Especi$ica34o e ?mplementa34o/ cada perspectiva com seu signi$icado de classe& Análise e projeto orientados a objetos Análise; uma investiga34o/ levantamento/ análise dos reuisitos necessários de um projeto& #rojeto; Ele $oca na solu34o conceitual/ ue pode ser em hard=are e em so$t=are/ para os reuisitos levantados na análise& Da 1n$ase em cada objeto do so$t=are& Com muita $reu1ncia e0cluem dados ou detalhes de bai0o nvel considerados bvios para os consumidores ou simplesmente desnecessários& Como citado no livro a análise e o projeto $oram resumidos na $rase; Fa3a a coisa certa )Análise* e $a3a certa a coisa )#rojeto*& Os diagramas s4o usados para desenvolverem esses projetos como padr7es ou princpios para serem mais e$icientes em um desenvolvimento de um projeto dividido em etapas& De$inir; Casos de uso/ 9odelo de domnio/ Diagramas de intera34o e de classe& De$inir casos de uso; S4o narrativas escritas ou cenários e0empli$icando como usar a aplica34o& De$inir 9odelo de domnio; 9ostra o conceito de interesse do projeto& De$inir Diagramas de intera34o; #ode/ por e0emplo/ mostrar o $lu0o de mensagens entre os objetos& De$inir Diagramas de classe; ?lustra os atributos e m6todos de classe/ mostra a classe de so$t=are ue geralmente melhora a compreens4o&
- Engenharia de so$t=are 6 a engenharia ue estuda os custos e as especi$ica37es de um projeto/ visando um melhor aproveitamento dos recursos e um so$t=are de alta ualidade& Os engenheiros de so$t=are utili%am-se de $erramentas para estudar a viabilidade de um projeto/ dentre estas $erramentas está o documento de especi$ica34o/ aruivo ue consta todos os relatrios e diagramas/ assim como uma estimativa de custos e usuários chaves& A diagrama34o 6 uma parte importante da análise de reuisitos para a viabilidade do projeto/ dentre os diagramas mais importantes est4o o de caso de uso e o diagrama de classe/ ambos voltados para o melhor entendimento do cliente/ já ue s4o mais simples e com pouco valor para o desenvolvimento do so$t=are ou aplicativo& Este estudo minucioso com apoio da diagrama34o serve para evitar eventuais preju%os ou abstra34o total do projeto& Sem a engenharia de so$t=are os programas seriam muito mais caros/ por ue se n4o tem organi%a34o burocrática de um sistema os desenvolvedores e o cliente se perdem nas especi$ica37es do programa/ al6m de atrasos pela $alta de diagramas de Gannt por e0emplo& A linguagem da diagrama34o da engenharia de so$t=are 6 a linguagem 89:/ padr4o no desenvolvimento de so$t=are e de simples compreens4o& 8m bom engenheiro gera um bom estudo de viabilidade ue culmina em um bom so$t=are ue deve ter $acilidade de manuten34o/ con$ian3a/ e$ici1ncia e usabilidade/ gerando assim uma gratid4o do cliente e custos bai0os&
Engenharia de 'euisitos 6 um aspecto importante no Gerenciamento de #rojetos/ 6 a responsável por coletar dados indispensáveis/ necessários/ e0ig1ncias de ue o usuário necessite para solucionar um problema e alcan3ar seus objetivos& Assim como determinar as suas e0pectativas de um usuário para determinado produto& A análise de reuisitos 6 um processo ue envolve o estudo das necessidades do usuário para se encontrar uma de$ini34o correta ou completa do sistema ou reuisito de so$t=are& Essa análise de reuisitos 6 vital para o desenvolvimento do sistema/ ela vai determinar o sucesso ou o $racasso do projeto& Os reuisitos colhidos devem ser uantitativos/ detalhados e relevantes para o projeto& #ois eles $ornecer4o a re$er1ncia para validar o produto $inal/ estabelecer4o o acordo entre cliente e $ornecedor sobre o ue e o so$t=are $ará e conseuentemente redu%ir4o os custos de desenvolvimento/ pois reuisitos mal de$inidos implicam num retrabalho&
10
-
Desenvolver so$t=ares 6 uma atividade comple0a por nature%a& 8ma das ra%7es para
esta a$irma34o 6 ue n4o e0iste uma Hnica solu34o para cada cenário de desenvolvimento& Engenharia de so$t=are/ 6 uma área de computa34o voltada I especi$ica34o/ desenvolvimento e manuten34o de sistemas de so$t=are/ com aplica34o de tecnologias e práticas de ger1ncia de processos e outras disciplinas/ visando a organi%a34o/ produtividade e ualidade& So$t=are 6; programa a parte lgica do computador/
onde
$ica
arma%enados
a
base
de
dados&
#rocesso de so$t=are; pode ser de$inido como um conjunto coerente de atividades/ polticas/ estruturas organi%acionais/ tecnologias/ procedimentos e arte$atos necessários para conceber/ desenvolver/ dispor e manter um produto de so$t=are& 96todos de Engenharia de So$t=are; 6 um elemento ue representa a uma chamada de um procedimento para um Objeto/ utili%ado na programa34o orientada a objetos& Atributos de um bom So$t=are; manuten34o/ e$ici1ncia/ con$ian3a e usabilidade& Desa$ios da engenharia de so$t=are; lidar com sistemas legados/ lidar com diversidade/ inclui uma mistura entre hard=are e so$t=are/ sistemas legados/ $ornecimento e heterogeneidade& Engenharia de Sistemas; e o ue $oca no desenvolvimento e organi%a34o de sistemas arti$iciais e comple0os/ a engenharia de sistemas integra outros grupos de disciplinas& #rocessos de so$t=are; uando se $ornece um servi3o ou cria-se um produto/ seja desenvolvendo um so$t=are/ umas seu1ncias de etapas para completar um conjunto de tare$as& 5os aspectos lgicos internos do so$t=are/ garantindo ue todas as instru37es tenham sido testadas nos aspectos $uncionais e0ternos/ para descobrir erros e garantir ue a entrada de$inida produ%a resultados ue concordem com os esperados& Engenharia de So$t=are baseada em componentes 6 um ramo de engenharia de so$t=are/ com 1n$ase na decomposi34o de sistemas/ em componentes lgicos com inter$aces bem de$inidas/ usadas para comunica34o entre os prprios componentes/ num nvel de abstra34o mais altos do ue objetos& Entrega incremental 6 uma estrat6gia de planejamento estagiado em várias partes do sistema s4o desenvolvidas em paralelo e integrada uando completas& Desenvolvimento em espiral 6 um processo de desenvolvimento de so$t=are ue combina elementos de projeto prototipa34o em etapas um es$or3o para combinar& O so$t=are especi$icado nesse documento 6 uma $erramenta de modelagem grá$ica tridimensional mais simples ue as encontradas atualmente no mercado de so$t=are/ os reuisitos de so$t=are ser4o classi$icados
em
reuisitos
$uncionais
e
reuisitos
n4o
$uncionais&
11
1*1 /onceitos 0erais da En+enharia de So.tware
So$t=are 6 algo abstrato e intangvel& S4o todos os dados de documenta34o e con$igura34o necessários para ue o programa opere& Engenharia de so$t=are 6 uma disciplina de engenharia ue se relaciona com a produ34o de um so$t=are desde sua $ase inicial de especi$ica34o at6 sua manuten34o& +aseia-se na e0ist1ncia de um nHmero signi$icativo de componentes reusáveis para ue n4o tenham ue sempre come3ar do %ero& 8m processo de so$t=are s4o as atividades e resultados de um so$t=are e sendo uatro $undamentais comuns a todos os processos/ s4o elas; Especi.ica!"o:
De$ine o ue vai ser produ%ido e suas restri37es& esenvolvimento:
#rojetar e programar o so$t=are& 2alida!"o: Jeri$ica34o para con$erir se realmente está dentro do ue $oi especi$icado& Evolu!"o: modi$icado para se adaptar Is mudan3as de reuisitos& Os atributos de um bom so$t=are s4o; A $acilidade de manuten34o/ con$ian3a/ e$ici1ncia e usabilidade& Os principais desa$ios na produ34o de um so$t=are s4o o da diversidade )para ue os sistemas operem com sistemas distribudos*/ o de tempo de entrega e o de con$ian3a dos usuários& 9uitos so$t=ares seguem o chamado Desenvolvimento Evolucionário )Desenvolvimento e0ploratrio e prototipa34o thro=a=a<* para ue com comentários do usuário possam ir re$inando o programa at6 uma vers4o ue satis$a3a totalmente e tamb6m para se adaptar a novas tecnologias disponveis& Engenharia de 'euisitos; Se divide em uatro $ases; Estudo de viabilidade; Jeri$ica se as necessidades do usuário podem ser realmente satis$eitas& :icita34o e Análise de 'euisitos; Deriva34o de reuisitos atrav6s da observa34o de sistemas e0istentes& Especi$ica34o; De$inir um conjunto de reuisitos com as in$orma37es coletadas& Jalida34o; Jeri$ica os reuisitos em rela34o ao realismo/ consist1ncia e abrang1ncia&
A Engenharia de 'euisitos/ pode ser de$inida como o processo sistemático de desenvolvimento de reuisitos atrav6s de um processo interativo e cooperativo de análise de problema de documenta34o de observa37es resultantes em uma variedade de $ormatos de representa34o e de checagem da precis4o do entendimento obtido& O processo de engenharia de reuisitos 6 um conjunto estruturado de atividades para e0trair reuisitos/ validá-los e mant1-los& As t6cnicas de engenharia de reuisitos re$erem-se ao conjunto de $erramentas aplicáveis ao desenvolvimento dos processos& 'euisitos simplesmente/ podem ser de$inidos como Kalgo ue um cliente necessitaK& Entretanto/ do ponto de vista de um desenvolvedor/ reuisito pode tamb6m ser de$inido como Kalgo ue necessita ser projetadoK& A engenharia de reuisitos procura sistemati%ar o processo de de$ini34o de reuisitos& Essa sistemati%a34o 6 necessária porue a comple0idade dos sistemas e0ige ue se preste mais aten34o ao correto entendimento do problema antes do comprometimento de uma solu34o& As auisi37es de reuisitos s4o valorosas por duas ra%7es; primeiramente/ da perspectiva da engenharia de so$t=are/ a cria34o de sistema solicitado pelo cliente 6 talve% a mais crucial parte do processo de desenvolvimento de so$t=are& Os reuisitos do sistema descrevem como o sistema 6 visto pelo usuário e servirá de veculo de comunica34o entre usuário e o desenvolvedor e tamb6m tornam ser reuisitos de so$t=are/ pois apresentam as $uncionalidades/ restri37es e e0ig1ncias uanto I per$ormance/ seguran3a de acesso/ inter$ace com o usuário/ portabilidade/ modularidade/ manuten34o/ con$iabilidade etc&
13
Elicita!"o dos Re$uisitos
Das seis etapas do clico de vida de um sistema )Engenharia de Sistemas/ Análise/ #rojeto/ ?mplementa34o/ Teste e 9anuten34o* a engenharia de reuisitos ocorre de $orma intensa nas tr1s primeiras etapas/ por6m pode se estender para as demais dependendo
do
paradigma
e
engenharia
de
so$t=are
adotado&
As $ases s4o; Elicita34o/ Análise/ Especi$ica34o e Jalida34o sendo ue entre a valida34o e a análise 6 preciso haver um gerenciamento& 5a Elicita34o deve abordar uatro dimens7es; Entendimento do domnio da aplica34o/ Entendimento do problema/ Entendimento do negcio e Entendimento das necessidades e restri37es dos envolvidos& E/ na Elicita34o o Entendimento do domnio da aplica34o L O conhecimento do domnio da aplica34o 6 o conhecimento geral onde o sistema será aplicado& Entendimento do problema& Os detalhes problema do cliente onde o sistema será aplicado devem ser entendidos& Entendimento do negcio L Deve-se entender como os sistemas interagem e contribuem de $orma geral com os objetivos de negcio . Os problemas en$rentados na Elicita34o s4o analisados a partir de dois grandes grupos; #roblemas Acidentais e Essenciais
sendo
os
essenciais
mais
di$ceis
de
serem
superados
As t6cnicas de Elicita34o s4o; ?ntrospec34o/ Observa34o/ Muestionário/ Entrevista/ NAD )Noint Application Design*/ compreens4o/ entendimento e trabalho em grupo/ Análise de #rotocolo/ Análise de Discurso/ #rototipa34o/ Casos de 8so e Cenários& A análise tem por objetivo encontrar os possveis problemas obtidos na Elicita34o )declara34o in$ormal* tornando-os muito vinculados& Tr1s elementos $undamentais devem ser veri$icados; Jeri$ica34o de 5ecessidade/ Consist1ncia e #ossibilidade& A Especi$ica34o de 'euisitos nada mais 6 do ue o resultado da Elicita34o e Análise sendo trans$ormados em documentos ue organi%am os reuisitos do sistema utili%ando metodologia de desenvolvimento de sistema e $acilitam a comunica34o entre desenvolvedores
e
usuários
principalmente
na
valida34o
dos
reuisitos&
As t6cnicas de especi$ica34o se classi$icam em dois grandes grupos; Semi-$ormais; 89: e etc& Formal; DS' )Documento de 'euisitos do Sistema* Tais documentos tamb6m s4o chamados de arte$atos de so$t=are assumindo um papel $undamental no desenvolvimento de sistemas& Os principais bene$cios obtidos pelos documentos gerados s4o; #onte de comunica34o entre usuários e desenvolvedores 'egistro dos resultados obtidos durante a Elicita34o e Análise De$ine as necessidade e restri37es Serve de base para estimativa de custos e cronograma base para desenvolvimento de 14
plano de teste De$ini34o de padr4o de comportamento esperado pelos pro$issionais envolvidos na manuten34o e utili%ado para registro de mudan3as de engenharia& A Jalida34o 6 a $ase $inal da engenharia de reuisitos e tem por objetivo veri$icar e validar os reuisitos especi$icados envolvendo tanto usuários uanto desenvolvedores buscando identi$icar possveis problemas/ omiss7es e ambiguidades& Os principais problemas s4o; n4o atendimento a padr7es de ualidade/ reuisitos descritos de $orma pobre levando I ambiguidade/ erros na modelagem do problema ou sistema e reuisitos con$litantes n4o identi$icados durante a análise& Tais problemas devem ser sanados ue o documento de especi$ica34o seja aprovado e utili%ado para desenvolver o sistema gerando a :ista de #roblemas e A37es Acordadas Gerenciamento 6 uma etapa ue se desenvolve em paralelo em toda a atividade citadas anteriormente/ onde no decorrer do tempo/ os reuisitos se alteram devido Is mudan3as de ambiente e um melhor entendimento do usuário sobre suas reais necessidades& As principais uest7es relacionadas ao gerenciamento de reuisitos s4o; Gerenciamento de mudan3as em reuisitos já acordados/ relacionamento entre os reuisitos e gerenciamento das depend1ncias entre os documentos de reuisitos e outros documentos produ%idos durante o processo de engenharia de so$t=are& As mudan3as/ ue ocorrem o tempo todo/ resultam de uma combina34o de $atores; ?nconsist1ncias/ con$litos e $alhas nos reuisitos especi$icados Evolu34o do conhecimento do usuário #roblemas de custos/ cronograma ou t6cnicos Altera34o de prioridade do cliente Altera37es de ambiente e Altera37es organi%acional& Segundo :arman; L S4o capacidades e condi37es Is uais o sistema L e em termos mais amplos/ o projeto L deve atender& 54o s4o apenas $uncionalidades Comumente classi$icados em $uncionais e n4o $uncionais& 1*4 Re$uisitos ,uncionais e 5"o ,uncionais Re$uisitos .uncionais: eles v4o estabelecer como o sistema vai agir/ e o
ue deve $a%er/
as $uncionalidades e servi3os do sistema/ devendo ser descritos detalhadamente& 5esta $ace/ pode-se usar o 9E'/ modelos de casos de uso/ $lu0ogramas/ para $acilitar o entendimento das $un37es do sistema& E reuisitos Funcionais ue s4o as $uncionalidades do sistema/ o ue o so$t=are deve $a%er do ponto de vista do usuário& Re$uisitos n"o .uncionais: de$inem as propriedades do sistema e suas restri37es& E0&; a
con$iabilidade do sistema/ o tempo de resposta do programa/ o espa3o em disco& E 15
reuisitos 54o-Funcionais ue determinam as caractersticas desejáveis do so$t=are como desempenho/ con$iabilidade/ seguran3a entre outros& Cada reuisito $uncional e n4o $uncional
$ormam o estudo de casos
Engenharia de reuisitos no conte0to do desenvolvimento de so$t=are&
Tabela de Re$uisitos ,uncionais
'F! 'F2 'FB 'FP 'F" 'FQ 'FR 'F
O sistema deve $a%er um cadastramento de usuários O sistema de $a%er um cadastramento dos livros O sistema deve Controlar lista de livros alugados diariamente e data da devolu34o O sistema deve reali%ar a reserva de livros on-line O sistema deve permitir importa34o de dados cadastrais O sistema deve reali%ar bac>ups/ para possvel perda de in$orma37es O sistema deve controlar a uantidade de livros no estoue com o ue tem Gerar 'elatrios com uantidades alugados e parados&
Tabela de Re$uisitos 5"o ,uncionais
'5F! '5F2 '5FB '5FP '5F" '5FQ
O sistema deve e0igir login de usuário O sistema deve apresentar mensagens de sucesso na conclus4o de cadastros O sistema deve apresentar mensagens de campos obrigatrios n4o preenchidos O sistema deve disponibili%ar ajuda para novos usuários com dicas de preenchimento O sistema deve disponibili%ar acesso ao manual de ajuda O sistema deve conter op34o de busca rápida/ utili%ando palavra chave&
#ista+em in.ormal dos re$uisitos obtidos*
Como $orma de apro0imar e melhorar a comunica34o com o cliente a listagem in$ormal de reuisitos $oi produ%ida com base nos reuisitos básico citados no tpico anterior& A listagem $oi produ%ida já com os reuisitos $inais necessários para o sistema ser produ%ido com ualidade e ue agrade o cliente em seus aspectos&
1%
16 36 46 76 86 96 6 ;6
O sistema deve $a%er um cadastramento de usuários O sistema de $a%er um cadastramento dos livros O sistema deve Controlar lista de livros alugados diariamente e data da devolu34o O sistema deve reali%ar a reserva de livros on-line O sistema deve permitir importa34o de dados cadastrais O sistema deve reali%ar bac>ups/ para possvel perda de in$orma37es O sistema deve controlar a uantidade de livros no estoue com o ue tem Gerar 'elatrios com uantidades alugados e parados&
Problemas encontrados
54o $oi mencionado nada sobre rotinas de bac>up e tal reuisito 6 necessário devido I grande uantidade de dados cadastrais e0igidos& 54o $oi mencionado sobre a possibilidade de importar dados de sistemas de terceiros visando aproveitar dados e dar agilidade nos dados cadastrais&
#ista+em dos Re$uisitos ,uncionais e 5"o ,uncionais validados Re$uisitos ,uncionais
O so$t=are deve permitir o cadastro do usuário )aluno/ $uncionário* da escola O so$t=are deve permitir o cadastro de livros/ jornais e revistas& )?nclus4o/ e0clus4o/ altera34o* O so$t=are deve garantir ue todos os usuários tenham acesso ao sistema dentro das suas especi$ica37es; alunos )para reali%ar empr6stimo* e $uncionário )para gerenciar os empr6stimos*& O so$t=are deve garantir ue apenas usuários autenticados tenham acesso ao sistema O so$t=are deve permitir ue usuários possam recuperar sua senha& O so$t=are deve permitir ue usuários tenham acesso os livros/ jornais e revistas disponveis& O so$t=are deve permitir ue o usuário possa reali%ar reserva de livros e data de disponibilidade para o empr6stimo& O so$t=are deve in$ormar indisponibilidade dos livros& O so$t=are deve permitir ue os $uncionários possam ter acesso aos empr6stimos dos alunos& O so$t=are deve in$ormar a data de devolu34o dos empr6stimos&
Re$uisitos 5"o .uncionais
1
O sistema deve e0igir login e senha para acesso& O sistema deve ser atuali%ado online/ assim ue con$irmar a reserva dos livros& O sistema deve disponibili%ar $erramenta de busca& O sistema deve rodar em ualuer plata$orma O sistema deve in$ormar aos usuários uando o livro procurado estiver disponvel& O sistema deve blouear o cadastro uando e0pirar o pra%o para devolu34o& O sistema deve gerar alerta para o aluno e os $uncionários ue o empr6stimo teve o pra%o e0pirado&
Etapa 3* ia+ramas de /asos de (so< ocumenta!"o dos /asos de (so* Atores< Associa!=es >nclus"o< E?tens"o6' ia+ramas de /lasses e %b&etos da ()#* Resumo 3*1 /asos de (so
Casos de uso s4o narrativas em te0to/ descrevendo a unidade $uncional/ e s4o amplamente utili%ados para descobrir e registrar reuisitos de sistemas& Os diagramas de Casos de 8so s4o representa37es dos Casos de 8so e podem ser representados por uma 1
elipse contendo/ internamente/ o nome do caso de uso& 8m caso de uso representa uma unidade discreta da integra34o entre um usuário )humano ou máuina* e o sistema& 8m caso de uso 6 uma unidade de um trabalho signi$icante& #or e0emplo; o Klogin para o sistemaK/ Kregistrar no sistemaK e Kcriar pedidosK s4o todos casos de uso& Cada caso de uso tem uma descri34o o ual descreve a $uncionalidade ue irá ser construda no sistema proposto& 8m caso de uso pode KincluirK outra $uncionalidade de caso de uso ou KestenderK outro caso de uso com seu prprio comportamento& Casos de uso s4o tipicamente relacionados a KatoresK& 8m ator 6 um humano ou entidade máuina ue interage com o sistema para e0ecutar um signi$icante trabalho& importante notar ue n4o descreve como o so$t=are deverá ser construdo/ mas sim como ele deverá se comportar uando estiver pronto& 8m so$t=are $reuentemente 6 um produto comple0o/ e sua descri34o envolve a identi$ica34o e documenta34o de vários casos de uso/ cada um deles descrevendo uma K$atiaK do ue o so$t=are ou uma de suas partes deverá o$erecer& 5ormalmente evitam o uso de termos t6cnicos/ pre$erindo a linguagem do utili%ador $inal/ s4o empregados tanto por uem desenvolve o so$t=are uanto pelos utili%adores do so$t=are& Ator;
E
algu6m
ou
alguma
coisa
ue
interage
com
o
sistema&
8m ator e representado gra$icamente por um cone de um homen%inho )Stc>man&*& Atores podem ter relacionamentos de generali%a34o entre eles )uma ve% ue representam classes*& 'elacionamentos; Generali%a34o; signi$ica ue um caso de uso de um $ilho herda o comportamento e o signi$icado do pai/ generali%a34o e a representa34o gra$icamente por uma linha solidam com um triangulo numa das e0tremidades&
'elacionamentos; Associa34o e uma liga34o ue pode ocorrer entre ator e caso de uso e entre casos de uso& Esteretipos comuns para associa34o entre casos de uso s4o; A associa34o com o esteretipo indica ue o caso de uso base incorpora opcionalmente o comportamento do caso de uso estendido& A associa34o com o esteretipo indica ue o caso de uso base incorpora e0plicitamente o comportamento do outro caso de uso& 1
Resumo 3*3 ia+rama de /asos de (so
O Diagrama de Casos de 8so tem o objetivo de au0iliar a comunica34o entre os analistas e o cliente& 8m diagrama de Caso de 8so descreve um cenário ue mostra as $uncionalidades do sistema do ponto de vista do usuário& O cliente deve ver no diagrama de Casos de 8so as principais $uncionalidades de seu sistema& 8m caso de uso 6 representado por uma elipse e um rtulo com o nome do caso de uso& 8m caso de uso de$ine uma grande $un34o do sistema& A implica34o 6 ue uma $un34o pode ser estruturada em outras $un37es e/ portanto/ um caso de uso pode ser estruturado& De$ine uma $uncionalidade do sistema do ponto de vista do usuário& O diagrama de Caso de 8so 6 representado por; atores casos de uso relacionamentos entre estes elementos/ estes relacionamentos podem ser; Associa37es entre atores e casos de uso Generali%a37es entre os atores Generali%a37es/ e0tends e includes entre os casos de uso& Casos de uso podem opcionalmente estar envolvidos por um retUngulo ue representa os limites do sistema&
Resumo 3*4 ia+ramas de /lasse ()#
Classe L Objetivo Descrever os vários tipos de objetos no sistema e o relacionamento entre eles& 8m diagrama de classes pode o$erecer tr1s perspectivas/ cada uma para um tipo de observador di$erente& S4o elas conceituais&
20
'epresenta os conceitos do domnio em estudo& #erspectiva destinada ao cliente& Especi$ica34o& Tem $oco nas principais inter$aces da aruitetura/ nos principais m6todos/ e n4o como eles ir4o ser implementados& #erspectiva destinada as pessoas ue n4o precisam saber detalhes de desenvolvimento/ tais como gerentes de projeto& ?mplementa34o - a mais utili%ada de todas )veja e0emplo na $igura abai0o*/ aborda vários detalhes de implementa34o/ tais como navegabilidade/ tipo dos atributos/ etc& #erspectiva destinada ao time de desenvolvimento&
ia+rama de /aso de (so
ia+rama de /lasses
21
/onclus"o
A análise de reuisitos engloba todas as tare$as ue lidam com investiga34o/ de$ini34o e escopo de novos sistemas ou altera37es& Análise de reuisitos 6 uma parte importante do 22
processo de projeto de sistemas/ na ual o engenheiro de reuisitos e o analista de negcio/ juntamente com engenheiro de sistema ou desenvolvedor de so$t=are/ identi$icam as necessidades ou reuisitos de um cliente& 8ma ve% ue os reuisitos do sistema tenham sido identi$icados/ os projetistas de sistemas estar4o preparados para projetar a solu34o& A análise de reuisitos 6 a primeira $ase de desenvolvimento de so$t=are dividido em 'euisito $uncional e 'euisito n4o-$uncional& nesta $ase ue o analista $a% as primeiras reuni7es com os clientes eVou usuários do so$t=are para conhecer as $uncionalidades do sistema ue será desenvolvido& nesta $ase tamb6m ue ocorre a maior parte dos erros/ pois a $alta de e0peri1ncia dos clientes ou usuários $a% com ue eles nem sempre tenham claro em sua mente uais $uncionalidades o so$t=are terá& 8m caso de uso 6 um tipo de classi$icador representando uma unidade $uncional coerente provida pelo sistema/ subsistema/ ou classe mani$estada por seu1ncias de mensagens intercambiáveis entre os sistemas e um ou mais atores& Casos de uso s4o narrativas em te0to/ descrevendo a unidade $uncional/ e s4o amplamente utili%ados para descobrir e registrar reuisitos de sistemas& Os diagramas de Casos de 8so s4o representa37es dos Casos de 8so e podem ser representados por uma elipse contendo/ internamente/ o nome do caso de uso& 8m caso de uso representa uma unidade discreta da intera34o entre um usuário )humano ou máuina* e o sistema& 8m caso de uso 6 uma unidade de um trabalho signi$icante& #or e0emplo; o Klogin para o sistemaK/ Kregistrar no sistemaK e Kcriar pedidosK s4o todos casos de uso& Cada caso de uso tem uma descri34o o ual descreve a $uncionalidade ue irá ser construda no sistema proposto& 8m caso de uso pode KincluirK outra $uncionalidade de caso de uso ou KestenderK outro caso de uso com seu prprio comportamento& Casos de uso s4o tipicamente relacionados a KatoresK& 8m ator 6 um humano ou entidade máuina ue interage com o sistema para e0ecutar um signi$icante trabalho& importante notar ue n4o descreve como o so$t=are deverá ser construdo/ mas sim como ele deverá se comportar uando estiver pronto& 8m so$t=are $reuentemente 6 um produto comple0o/ e sua descri34o envolve a identi$ica34o e documenta34o de vários casos de uso/ cada um deles descrevendo uma K$atiaK do ue o so$t=are ou uma de suas partes deverá o$erecer& 5ormalmente evitam o uso de termos t6cnicos/ pre$erindo a linguagem do utili%ador $inal/ s4o empregados tanto por uem desenvolve o so$t=are uanto pelos utili%adores do so$t=are&
@iblio+ra.ia
LARMAN, Craig. Utilizando UML e padrões: Uma introdução a análise e ao projeto orientados a ojetos e ao desen!ol!imento iterati!o. "# ed. $orto Alegre: %oo&man, '((). 23
Con*eitos +erais de ngen-aria de o/t0are 1 2ispon3!el em: -ttps:44do*s.google.*om4/ile4d4(%'&56)057'8/9;MdU8s(N<=>&4edit? usp@s-aring A 2 C9NC$B9 D A99 D 2ispon3!el em -ttp:44ameri*oneto.0ordpress.*om 4'((54>'4(54/ase1de1*on*ep*ao1aoA*esso em LECEFAB9 2 R4tipos1de1reIuisitos.-tmlJ A*esso em N+NAREA 2 R
D?AG'A9A DE CASOSDE 8SO - Disponvel em W https;VVdocs&google&comV$ileVdV +2>X0=X.2N$O(F$5!+"'2g:8>V Diagrama de Classes L Disponvel em W http;VV===&dsc&u$cg&edu&brVYjacuesV cursosVmapVhtmlVumlVdiagramasVclassesVclasses!&htm