View
103
Download
0
Category
Preview:
Citation preview
ViewPoint(Trabalho Nº 2)
Engenharia de SoftwareDocente: Eng. Isabel Brito
Realizado Por: Marisa Campos, nº 3794
Pedro Silva, nº 3583
Ricardo santos, nº 3767
Ano Lectivo 2004 / 2005
Engenharia Informática
2
:: Introdução ::
Este trabalho tem como objectivo a caracterização geral de viewpoints.
O viewpoint é utilizado para fazer uma melhor caracterização dos problemas, ou seja, aborda um problema ou sistema de perspectivas diferentes para posteriormente serem analisadas por meio de um “viewpoint template” que consiste em descrever os atributos, eventos, serviços e sub-viewpoints.
Neste trabalho iremos dar exemplos da utilização dos viewpoints.
3
:: O que é o ViewPoint ::
Viewpoints são uma forma natural para estruturar a elicitação de requisitos.
Os viewpoints são uma parte da engenharia de requisitos.
Os viewpoints estão divididos em duas classes:
ViewPoints directos - correspondem directamente aos clientes, que recebem e enviam informações para o sistema
ViewPoints indirectos - são aqueles que estão ligados ao sistema mas não interagem com ele
4
:: Exemplo das Classes dos ViewPoints ::
Viewpoint
Direct
Indirect
System
Operator
Regulatory
Organisation
Engineering
Environment
Maintenance
Standards
5
:: Tipos de ViewPoints ::
Fontes ou destinos de dados
Viewpoints são responsáveis pela produção ou consumo de dadosExemplo: usado no SADT
Frameworks de representação
Viewpoints representam tipos particulares de modelos do sistema. Estes podem ser comparados afim de descobrir requisitos que seriam omitidos se fosse usada apenas um representação
Exemplo: DEA, DTE
Recebedores de serviços
Viewpoints são externos ao sistema e recebem serviços dele. Adequado para sistemas interactivos
Exemplo: VORD
6
:: Método VORD(1) :: Identificação dos viewpoints
Descobrir viewpoints que utilizam serviços do sistema e identificar os serviços acedidos por cada viewpoint.
Estruturar os viewpoints
Agrupar viewpoints relacionados numa hierarquia. Serviços comuns estão localizados nos níveis mais altos da hierarquia.
Documentação dos viewpoints
Refinar a descrição dos viewpoints e serviços identificados
Mapeamento viewpoint - Sistema
Transformar a anáise num desenho Object Oriented
7
Identificação deviewpoints
Estruturar viewpoints
Documentar viewpoints
Mapearviewpoints
:: Método VORD(2) ::
8
:: ViewPoint Template(1) ::
VORD usa templates padrão padrão para guardar informações dos viewpoints. O template engloba:
Um numero identificador do viewpoint
Nome do viewpoint
Descrição do problema em questão
Tipos de viewpoint
OS atributos do problema que descrevem a evolução do viewpoint
Especificação das subclasses dos viewpoints
Cenários que descrevem a interacção entre o viewpoint e o sistema
9
:: ViewPoint Template(2) ::
Identifier:Label:Description:Type:Attributes:Requirements:Event scenariosSpecializations:History
Identifier:Label:Description:Structuraldefinition:
Identifier:Statement:Rationale:Type:Source:Priority:Specification:Version:
Identifier:Service identifier:Description:Graphical scenario:
*
Viewpoint template
10
:: Notação dos ViewPoints(1) ::
VORD usa uma notação gráfica muito simples para representar os viewpoints:
Uma caixa rectangular que representa o viewpoint
O identificador do viewpoint é colocado no canto superior esquerdo da caixa e o nome do viewpoint é colocado na parte debaixo do rectângulo
O atributo é indicado através de uma linha vertical do lado esquerdo da caixa do rectângulo
O tipo de viewpoint aparece no topo do lado direito
As subclasses do ViewPoint aparecem da esquerda para a direita
11
Label
n Type
n.1
n.2
[m | attribute]
Viewpoint identifier
attribute list
Generalisation
:: Notação dos ViewPoints(2) ::
12
:: Identificação dos ViewPoints ATM(1) ::
O processo de compreensão do sistema em analise, deve ser extremamente seguro uma vez que vai tratar de dinheiro:
Existem pessoas ou documentos relacionados com a aplicação.
Incluem sistemas de utilizadores finais, procedimentos de sistemas, engenheiros de sistemas e documentação dos sistemas existentes.
VORD é uma maneira e generalizar o sistema em classes do tipo abstracto que podem ser utilizadas de forma a determinar os viewpoints do problema em questão
13
:: Identificação dos ViewPoints ATM(2) ::
Bank customer
Home customer Security officer
Bank
Bank staff
Bank manager
Bank teller
ATM operator
Customer database
Card database
2 Operator
2.1
Foreign customer
Bank customer2.2
Bank customer
1 Operator
Bank staff1.1
Bank staff1.2
Bank staff1.3
3 Organisation
4 Organisation
System5
System6
14
:: Exemplo de um ViewPoint(1) :: Identificação de ViewPoints
Querybalance
Gettransactions
Cashwithdrawal
Transactionlog
Machinesupplies
Cardreturning
Remotesoftwareupgrade
Ordercheques
Userinterface
Accountinformation
Messagelog
Softwaresize Invalid
userSystem cost Printe
r Security
Cardretention
Stolencard
Orderstatement
Remotediagnostics
ReliabilityUpdateaccount
Fundstransfer
Messagepassing
Cardvalidation
Customerdatabase
Manager
Accountholder
Foreigncustomer
Hardwaremaintenance
Bankteller
15
:: Exemplo de um ViewPoint(2) :: Serviços dos ViewPoints
FOREIGNCUSTOMER
Withdraw cashQuery balance
Service list
Withdraw cashQuery balanceOrder chequesSend messageTransaction listOrder statementTransfer funds
Service list
Run diagnosticsAdd cashAdd paperSend message
Service list
ACCOUNTHOLDER
BANKTELLER
16
Dados e Controle do ViewPoint
:: Exemplo de um ViewPoint(3) ::
Start transactionCancel transactionEnd transactionSelect service
Card detailsPINAmount requiredMessage
Control input Data inputACCOUNTHOLDER
17
:: Exemplo de um ViewPoint(4) :: Dados e Controle do ViewPoint
EngineerManagerTellerForeign
customerAccountholder
Services
Order chequesSend messageTransaction listOrder statementTransfer funds
Customer Bank staff
All VPs
Services
Query balanceWithdraw cash
18
:: Exemplo de um ViewPoint(5) :: Templates para Clientes / Levantamento
Customer
Account numberPINStart transactionSelect serviceCanceltransactionEnd transaction
Cash withdrawalBalance enquiry
Account holderForeigncustomer
Reference:
Attributes:
Events:
Services:
Sub-VPs:
Cash withdrawal
To improve customer serviceand reduce paperwork
Users choose this service bypressing the cash withdrawalbutton. They then enter theamount required. This isconfirmed and, if funds allow,the balance is delivered.
Customer
Deliver cash within 1 minuteof amount being confirmed
Filled in later
Reference:
Rationale:
Specification:
VPs:
Non-funct.requirements:
Provider:
19
:: Relação com a Engenharia de Software ::
Ambos utilizam o mesmo tipo de templates para uma melhor abordagem ao problema em análise
O Diagrama de classes da Engenharia de Software é muito semelhante aos serviços dos ViewPoints.
20
:: Conclusão ::
Neste trabalho tentámos fazer uma aproximação ao desenvolvimento de software através do uso de ViewPoints.
Acreditamos que os ViewPoints facilitam a tomada de decisão para determinados problemas porque apresentam diversas formas de os visualizar.
21
:: Referencias :: Internet
www.woorisol.kyungpook.ac.kr www.cs.toronto.edu www.cs.pitt.edu www.di.inf.puc-rio.br
Livros Sommerville, Ian, “Software Engineering”, Fifth edition, Addison- Wesley Software Development”. In: Workshop on Aspect-Oriented Modeling with
UML, 2003, Boston. Araújo, J., et al. “Identifying aspectual use cases using a viewpoint-oriented
requirements method” In: Aspect-Oriented Requirements Engineering and Architecture Design, Boston, 2003.
Bertagnolli, S. C., and Lisbôa, M. L. B. “Improving the Quality of the Software through Aspects”. In: Argentine Symposium on Software Enginnering, 2003, Buenos Aires.
Bertagnolli, S. C., and Lisbôa, M. L. B. “The FRIDA Model.” In: Analysis Aspect- Oriented Software, Germany, 2003. (Held in conjunction with ECOOP 2003).
Acetatos Cedidos pela Professora
Recommended