AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO

Tamanho: px
Começar a partir da página:

Download "AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO"

Transcrição

1 AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO Massruhá, Silvia M.F.S. Ferraretto, Mário D. ( ) Miximo, Fernando A. Meira, Carlos A. A. Pusos, Sérgio L. Z. Visoli, Marcos C. Centro Nacional de Pesquisa Tecnológica em Wormática ~ara Agricultura - CNPTIAIEMBRAP A ( ) Uruversidade de Slo Paulo - USP RESUMO: Este trobdiiio de~ IUIIQ jii'tgimnla, denomiiuidtl A.Esp, qu visa aux/1/iji' a çaplllra das ts~cljlcaçllls das apll~s do domlnio tá admin/slraç40 f"'lroi t transform4-las. incrtmtntalmentt, 1m IUIIQ rtpnsentaçllo (/III J'(Hk ser trodujdo para um progrtjjnj operocional. Esta flrra~mnid I parti do antbi1nt1 FMS ('F Manogtment Systtm") qut tsl4 sendo dtstnvolvido para a EMBRAPA. O FMS; um ambitntt para a gtroç4o automatllddo de aplicativos do domlnio tá admlnistraç4o t"'lfal. Palavrtu.CIIav1s: asslsttnt1 de csptcif/cof40, an41íst dt dom ln/o, gerador dt apllcaç4o, rtuso. AIJSTRACT: T1rls pa~r dtsaib1s a too/, calltd A.Esp, for cap111ring Informal sptcif/cations of farm managtmtnt domain appllcations and incrtmentally transforms tlttm into a rtpnstntatlon lhaj can b1 translattd into an operationa/ program. T1ris too/is part of tltt FMS (Farm Managtmtnl Systtm), a prototypt softw/ji't 1nginttring 1nvironment for EMBRAPA, almtd at automatlc gtntraj/on of 1111all farm managtmtnt appllcatlons. Ktywords: sptcijicatlon asslstant, domaln analysis. applicatíon gtntrator, rtust. 1) INTRODUÇÃO O FMS é um ambiente de software para a geraçio automatizada de aplicativos do domínio de administraçio rural. A abordagem utilizada pelo FMS prevê que durante a fase de especificaçlo as informações de uma aplicaçlo sejam capturadas, decompostas e armazenadas para posterior reutilizaçio. As informações devem ser decomposw até um nlvel de representação para o qual estará disponlvel um gerador de c:ódigo fonte, simplificando a fase de implementaçio [6,7]. Esta abordagem foi definida durante uma atividade denominada pré-análise do domínio. Segundo Nei~boors [18], cada problema tem sua própria linguagem que é denominada Linguagem do Donuruo (LD), e a identificação desta linguagem é resultado de um processo denominado Análise de Domínio. PDF compression, OCR, web optimization using a watermarked 311 evaluation copy of CVISION PDFCompressor

2 A anilise de domínio, para Neighboors, produz os operandos e operadores de uma classe de aplicações, e, com base nesta análise, uma linguagem é construlda e usada para especificar outros problemas do domínio em questlo. A anilise de domínio, no escopo do Projeto FMS, foi realizada em duas etapas. A primeira etapa identificou o elenco de funções básicas e o modelo de fluxo de controle e dados típacos das aplicações do domínio de administraçlo rural. A segunda etapa agregou esse conjunto de funções na forma de uma Linguagem de Composiçlo do FMS (LC-FMS) e modelou as aplicações na forma de programas da classe reativa [7). Sob o modelo do FMS, os reqwsitos do usuário slo incrementalmente transformados em uma especificação descrita em LC-FMS, e a aplicaçlo, ~erada automaticamente a partir da especific:açlo em LC-FMS, compona-se como uma máquana de estados estendida (22]. Para suponar esta abordagem, a metodologia subjacente ao FMS é baseada em um modelo de rúveis. 2) MODELO DE NÍVEIS DO FMS O modelo de rúveis do FMS propõe uma lúerarquizaçio entre os rúveis do l?rocesso de transformaçlo dos requisitos do usuário, basicamente devido aos métodos disporúveas para essa tarefa. O modelo utilizado é o modelo PW de Lebman [ 11 ]. no qual o rúvel nlo fonnaliz.ado é descrito como rúvel conceituai e o rúvel onde hi uma descrição formal da aplicaçlo, ainda que incompleta, é denominado, neste trabalho, rúvel operacional. Para este rúvel hi um mecanismo de reificaçlo (concretizaçlo) bem determinado (Figura 1). Abetraoao ~-rmal ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' CNt.,.. ellle t--) ' ' ' Figura I. Modelo do FMS sob o modelo PW 2.1) Nivel Coaceitual O processo de captura dos requisitos do usuário (informal) e sua traduçlo para uma representação formal é um problema em engenharia de software [19]. Os trabalhos de Balzer (3] sobre este tópico mostram que o processamento de especificações em linguagem natural é um problema em aberto. Os problemas que ocorrem na etapa de especificaçlo de requisitos a tornam uma du etapas mais criticas do processo de desenvolvimento de software (16). Segundo Aslett [2], a comunicação entre o usuário e o desenvolvedor de sistemas é um fator limitante nesta etapa e que compromete a confiabilidade do software produzido. O usuário é 312

3 um especialista do domínio e nio conhece a tecnologia e a terminologia utilizada pelo desenvolvedor de sistemas e vice-versa. Além disso, as etapas do ciclo de vida do software (converslo de requisitos em especificaçlo, especificaçlo em implementaçio) slo mal documentadas, fazendo com que as informações que estio por trás de cada passo nio estejam disponlveis nas etapas sef1intes. Estes problemas de comunicaçio e documeotaçio tomam a especificaçio de requisitos errõnea. mcompleta e amblgua. Assistentes de Especificaçlo slo ferramentas para auxiliar nesta etapa de captura das especificações. Para apoiar o processo de abstraçio, essencial na captura de requisitos do usuário e posterior transformaçlo para o nlvel de representaçio, o FMS prevê a existência do AEsp Assistente de Especificaçio, de forma semelhante a outros sistemas (1,2,4,8,9,20,23). O AEsp suporta o processo de entrevista e documeotaçio dos requisitos dos usuários, sua dccomposiçio sistematizada sob urna metodologia formal e a coleta do jarglo especifico através da instanciaçio de componentes pré-existentes. O resultado de uma sesslo sob o AEsp, quando bem sucedida, é a aplicaçio do usuário e sua Linguagem da Aplicaçio(LA) subjacente (12). l.l) Nível Operacioaal O IÚvel operacional incorpora o processo de transformaçlo dos requisitos do usuário para um programa executável. Este nlvel foi reduzido ao processo de traduçio entre os nlveis da aplicaçio, represeotaçio e implementaçio. A Figura 2 mostra essa hierarquizaçio. Nlvel da Aplicaçio (Linguagens da Aplicação) LAz LA3... LA, Nlvel de Representaçio Nível de Implemeotaçio lin em C biicecas comuns Figura 2. Hierarquizaçio do nlvel operacional :U.l) Nivd da Aplicaçlo Usando a terminologia de Leite (12], uma aplicação, neste nlvel, é descrita em urna LA. Segundo Leite, as linguagens da aplicaçio (LAs) slo linguagens que têm todas as caracteristicas das linguagens do domínio, só que tratam de uma ou duas instincias daquele domínio. As LAs, no modelo do FMS, sio expressas em LC.FMS. Esta metáfora suporta tanto: a) versões diferentes da mesma aplicação, o que representa o seu desenvolvimento incremental; 313

4 b) aplicações diferentes para problemas semelhantes, que é amparado pelo modelo de Linguagetu de Donúruo [ 17) ) Nivel de Represeataçlo O nível de representaçlo é descrito pela sintaxe e semintica da LC-FMS, que é composta por várias sublinguagetu: linguagem de especificaçlo de formulários (telas), linguagem de especificaçlo de transições entre formulários, linguagem de especificaçlo de base de dados, linguagem de especificaçlo de ações (operações relacionais. transformações e relatórios), linguagem de especificaçlo de consistências e helps. Através dessas linguagetu, a aplicaçlo incorpora os vários componentes do domínio: a) componentes de alta especificidade que aparecem como operandos e operadores dessas linguagens; b) componentes de alto índice de reutilizaçlo, que slo "templates" ou "clichés" (23] cuja expando sintática materializa funções especificas da aplicaçlo em desenvolvimento ) Nivd de Implemeataçlo Do nível de representaçlo, a aplicaçlo descrita em LC-FMS é traduzida automaticamente para uma implementaçlo em linguagem C através de um gerador de código fonte (GFMS - Gerador do FMS), que usa as técnicas convencionais de compilaçlo e ferramentas de geraçlo de código [ 1 S). O processo de traduçlo entre os niveis de aplicaçlo, representaçlo e implementaçlo é conhecido na literatura e pode ser modelado, na abord~em de anilise de dominio, como um processo de traduçlo suponado por uma rede de domínios [ 17]. O processo de traduçlo dos requisitos informais do usuário para uma representaçlo formal (LA descnta em LC-FMS), que é suponado pelo AEsp, está descrito nu próximas seções. A Figura 3 mostra o escopo do AEsp através do mapeamento do FMS aob o modelo PW que permite separar as etapas de abstraçlo (coleta de especificaçlo, incluindo reuso e prototipaçlo) da etapa de concrctizaçlo (geraçlo automatizada do código).... ~.r... at ~ -... A lte.. a. Figura 3. O escopo do AEsp sob o modelo PW

5 3) CARACTERÍSTICAS DO AEsp O enfoquc utilizado, pelo AEsp, para síntese da aplicaçio descrita cm LC-FMS é: a) considerv o usuário como o especialista que fomcc:c a informaçio sobre a aplicaçio; b) clicitar incrementalmente, através de uma entrevista, os conceitos da apücaçio sob uma metodologia de dccomposiçio; c) nio tentar automatizar a etapa de cspccificaçio, isto é, evitar o processamento automático da linguagem natural, mas utilizar um Engenheiro de Espccificaçio para conduzir a entrevista c reduzir o vocabulário envolvido; d) ofcrcc:cr ao usuário uma infraestrutura para entrevista similar a aplicaçio final; c) catalogar u abstraçôcs de dados c açôcs de forma a possibilitar seu rcuso cm outras aplic:i9õcs c, portanto, potencializar a transformaçlo de uma LA cm W. Para suportar este processo, o AEsp foi construído com as seguintes caractcristicas: a) estrutura de controle de entrevista com o usuário, pcmútindo capturar as especificações das aplicações; b) estrutura de prototipaçlo para apoiar na entrevista c validar a cspccificaçio a qualquer momento; c) esquema de catalogaçio de componentes (o~randos c operadores) de modo a incrementar permanentemente o acervo do donunio. A transformaçio de componentes específicos cm componentes instanciivcis é feita "off-linc"; d) esquema de rcuso das informações do domínio, através de "rcusc dacmons" (scçio 4.3); c) aprcscntaçlo da dccomposiçio da aplicaçio, sob várias formas, para facilitar o "backtracking". O protótipo do AEsp suporta essas funcionalidades através de um conjunto de ferramentas integradas. cuja conccituaçlo está apresentada na Figura 4. Estas ferramentas slo: Entrevistador, Prototipador, Catalogador de Componentes, Montador c Reutilizador. A dcscriçlo dessas fcrramcntu cstá na scçio 4. Figura 4. Ferramentas do AEsp 3.1) O Engenheiro de Espetificaçlo O Engenheiro de Especificaçlo é um técnico treinado a operar o AEsp com o objctivo de ~~uzir a entrevista para extrair a informaçlo do Especialista do Dorninio (usuário). Suas auvldadcs sio: PDF compression, OCR, web optimization using a watermarked 315 evaluation copy of CVISION PDFCompressor

6 a) auxiliar no mapeamento da linguagem natural para o vocabulário controlado do ambiente AEsp; b) oferecer o protótipo da aplicaçlo durante a entrevista; c) apoiar a modelagem dos dados e decomposiçlo du ações; d) apoiar o "backtrack" quando necessário. 4) ARQUITETURA DO AEsp Nesta seç!o, está descrito detalhadamente cada ferramenta que compõe a arquitetura do AEsp (Figura 5).... o c u- t M ll- 4a,..._.. Figura 5. Arquitetura Geral do AEsp 4.1) Entrevistador O Entrevistador é uma ferramenta para auxiliar na coleta de infonnações do usuário através de um modelo de entrevista. Este modelo de entrevista, no qual o AEsp se baseia, tem as seguintes propriedades: a) roteiro de entrevista para refinamento do problema; b) decomposiçlo do problema segundo uma metodologia; c) aplicação de regras da metodologia para garantir sua corretude; d) invocaçlo dos "reuse daemons"; e) mudanças de estratégia na decomposição quando necessário; f) supone a visio global do processo de decomposiçlo. O entrevistador executa várias funções para suponar este modelo de entrevista, como descrito na Figura

7 ... u..., llt o ,...,..., , u...., Figura 6. Funções do Entrevistador ,._ -- G O entrevistador funciona como um Gereaeiador da Eotrnista, que especifica as ne<:essidades do es~sta do domínio seguindo um roteiro de entrevista. O roteiro de entrevista foi definido a partu' de uma análise local das aplicações do donúnio. Este roteiro é baseado em perguntas dirccionadu ao usuário c permite especificar o problema segundo uma metodologia de dccomposiçio. A esuutura do entrevistador depende da metodologia de dccomposiçio c, oeste trabalho, está sendo utilizada a metodologia HOS ("Hish-Order Softwarc")[l4). Esta metodologia permite decompor os dados e u ações de uma aplicaçio cm uma espec:ificaçio na forma de uma estrutura de árvore óndc os nós da úvorc representam rúveis hierárquicos da dccomposiçlo, c sio denominados "Control Maps". A espccificaçlo cm HOS é representada, como é mostrado na Figura 7, por uma esuutura arbórea onde cada nó representa uma Funçio (F) c cada funçio tem um ou nws objetos (dados) de entrada (x) c saída (y).... -,., _,...,, ,! I, ~Cx).1 I ~- I - iw--1 ~~~' =t::j- I I I : I ' I I I I ~.:.. ~.. \ ".l Figura 7. HOS - Hish Order Software PDF compression, OCR, web optimization using a watermarked 317 evaluation copy of CVISION PDFCompressor

8 A decomposi~ finaliza quando se chega a um nó primitivo, para o qual h! uma correspondência no ruvel de representaçlo, ou a um objeto instanciável no acervo do sistema que faça o processo recorrer. A entrevista é conduzida de modo que se possa otimizar o caminho até os nós primitivos. Conapondênciu no ruvel de representaçlo slo expressas por Regru de Produçlo, que slo aplicadas para obter a espec:ific:açlo da aplic:açlo descrita em LC-FMS. O entrevistador também funciona como um "VIewer, isto é, a qualquer momento o engenheiro de espec:ific:açlo pode exibir graficamente a árvore de decomposiçlo, sendo que o processo de decomposiçlo pode ser reiniciado a partir de qualquer nó da árvore. O modelo de entrevista prevê que c:aso a decomposiçlo chegue a um "dead end", ou a uma inconsistência, existe um Acoaselbador de Estratigla que pode sugerir uma reorientaçlo da decomposiçlo, e, consequentemente, da entrevista. Na verslo corrente, o entrevistador foi desenvolvido usando uma base de conhecimento implementada em Nexpert [24]. A Figura 8 é um exemplo da representaçio em Nexpert da espec:ific:açlo de uma funçlo F (Figura 7) até chegar a um nó primitivo, onde foram aplicadas algumas regras de produçlo para se obter u correspondênciu no ruvel de representaçio (Formulários e Cam~s). Todu essu informações c:apturadu pelo entrevistador ficam armazenadu em uma base de conhecimento de modo que possam ser reusadas na especific:açlo de uma nova aplic:açlo do domínio. EDIIIPIO:,.. _.,.,.,., '--:....,,... ::; :::::: :::~:~~:-~..... ~ Óo~... /. /,;,...,....,,...,...,...,... I Figura 8. Representaçlo em Nexpert da especific:açlo da funçlo F 318

9 4.2) Catalopdor O Catalopdor é uma ferramenta para auxiliar na captura dos componentes do domínio durante a especificaçlo e annazeni-los na base de conhecimento. Esta ferramenta implementa duas funções básicas: a) salvar parte de uma sesslo da entrevista que o Engenheiro de Especificaçlo perceba ser potencialmente reutilizável- normalmente slo "Control Maps"; b) incluir componentes instanciáveis, que slo a forma básica de reutilizaçio de informações do domínio. Componentes instanciáveis slo descritos em urna linguagem denominada CMO - "Control Maps Operators"(7]. A entrevista é, em última análise, o conjunto de perguntas e respostas que pennite IDStaDciar esses componentes para o "Control Map" especifico da aplicaçlo do usuário. As técnicas de reanálise do domínio que permitem examinar um conjunto de componentes especificas e transformá-los em um componente instanciável ainda nlo estio formalizadas. Componentes instanciáveis podem ser identificados tanto no rúvel da aplicaçlo quanto no rúvel de representaçio. 4.3) Reutilizador O AEsp é um assistente de especificaçlo voltado para um domínio específico, permitindo a especificaçio de família de sistenw sob uma infraestrutura comum. Sob esta vislo, uma infraestrutura de reuso pode ser construída, de modo que a especificaçio de uma nova aplicaçio do dornirúo possa usar as informações já armazenadas no desenvolvimento de aplicações anteriores (S). A base de conhecimento mantida pelo catalogador é continuamente varrida durante o transcorrer da entrevista pelo que se convencionou chamar de "reuse daemons". Estes processos slo disparados sempre que: a) o usuário fornece uma a.çio expressa por um verbo que, colocado na forma de infinitivo pelo enjenheiro de especificaçlo, fornece a chave de busca na base de componentes; b) o usuáno fornece um o~= da açio que conste cm urna das classes existentes. Nestas ocasiões, o Reu dor, mostrado na Figura 9, dispara a instanciaçlo dos componentes envolvidos (a maior pane das vezes pela troca dos identificadores formais) e oferece u possíveis sugestões de especificações previamente armazenadas o ~ UTILIZADOR I l D m ~.. r Figura 9. Reutilizador 319

10 ~... Conjectura-se que esta abordagem de reuso é aderente ao domirúo agropecuário baseado nas seguintes premissas: a) propriedades com a mesma atividade de produçlo têm necessidade de informações mwto semelhantes, mas nlo iguais; b) processos gerenciais slo paniculares do proprietário e devem ser incorporados na aplicaçlo. 4.4) Prototipador O Prototipador é uma ferramenta para auxiliar na especificaçlo da aplicaçlo permitindo a validaçlo incremental da aplicaçlo durante a entrevista. Um sistema de apoio à captura das especificações, enquanto diminui o trabalho de anotações das informações do usuúio n1o elirrúna a ambiguidade que existe na produçlo de software e o entendimento errado pelo engenheiro de especificaçlo das necessidades do usuúio. Prototipaçlo [I 0,13,21) é uma técnica que está sendo adotada para que, em qualquer momento da entrevista, o usuário tenha urna vislo do que já foi capturado. Desta forma, o especialista do donúnio e o engenheiro de especificaçlo juntos podem rever e validar a especificaçlo do sistema. O prototipador do FMS, mostrado na Figura I O, tem como funções básicas: a) suportar a metodologia de prototipaçlo incremental; b) "tunning" da interface com o usuário; c) interface com o montador _..... ~ , _.. Figura 10. Prototipador Esta ferramenta possui um Editor de Formulários onde pode ser desenhado as telas da aplicaçlo. O Editor recupera as informações da base de conhecimento e gera as telas correspondentes. A partir daí, com apoio de urna interface arnigáve~ o usuário pode alterar as telas da aplicaçlo da maneira desejada. Na implementaçlo corrente da ferramenta está sendo utilizado o SILK (gerador de interfaces gráficas para padrlo OpenLook) [25]. O prototipador, a partir da base de conhecimento associada à aplicaçlo, permite também urna simulaçlo do comportamento da aplicaçlo. O usuário pode alterar substancialmeote a interface, n1o apenas no que concerne ao valor dos atributos e posicionamento dos campos das telas, mas também no encadeamento das telas e ações. Todas as mudanças no protótipo slo incorporadas na base de conhecimento original. Após a validaçlo da interface pelo usuário pode ser requisitado urna montagem da aplicaçio ao Montador para completar o protótipo e transmiti-lo a um microcomputador mm PC compative~ que pode mostrar o componamento completo da aplicaçio. 320

11 4.5) Moatador O Moatador, a panir da varredura da árvore gerada pelo entrevistador e base de conhecimento correlata, gera o pro"arna descrito em LC-FMS que será a entrada para o GFMS gerar a aplicaçlo do usuário, como e mostrado na Figura ONTADO... ' =-- Figura 11. Montador ~ A forma LC-FMS, textual na atual implementação, pennite tradução automática para outru especificações tu'bridu ("resources" do Windows ou "widgets" do XView). Como um exemplo da LC-FMS, abaixo é dada a especificação de uma tela de um Sistema de Controle de Rebanho Leiteiro (SJSCOREB) que está sendo desenvolvido para validar os conceitos do FMS. %%EXT FORM ATI'RIBüTE Edit CONTROL BUTTON %%FORM! =---==~ REBANHO.CUF 1--~ =---= ~======---=- 1 Definicao do formularia para a edicao da base de dados do I rebanho!===-==--=--===========--====--=======-==~====== COLOUR White /Biue INPUT Yellow/Cyan TCOLOUR Y ellow/blue EDITCOLOUR White/Cyan TYPE DOUBLE SIZE.. 80,25 TITLE... "Cadastro do Rebanho" TEXT... FIELD.. TEXT TEXT TEXT = TEXT = TEXT,2; "NRO BRINCO (ID):" 0,2; NAME BRINCO; STRJNG(S),3; "TIPO...:,4; "NOME...:,S; "DATA NASC...:",6; "PAI...:",7; "MAE...:" 321

12 TEXT - ~,8; "RACA...:" TEXT,9; "LOCAL...:" TEXT,10; "ESTADO...:" TEXT,11; "LACTACAO...: FIE.I.D = 0,3; NAME TIPO; CHOICE(7) "Novilha!VacajTouro"; & VALUE""l FIE.I.D "' ~0,4 ; NAME NOME; STR.ING(20) FIE.I.D = O,S; NAME-=DTA NASC; DATE FIELD 0,6; NAME PAI; "STR.ING(20) FIELD "' 0,7; NAME MAE; STR.ING(20) FIELD... 0,8; NAME RACA; & CHOICE(l ) "HolandesajNelorejSta-GertrudesiGir" FIE.I.D NAME LOCAL; STR.ING(2) to NAME ESTADO &. CHOICE(lO)= :V.;.gemjEsteóii~IVa.ziaiPrenha!Seca!Parida " FIE.I.D NAME=LACTACAO; NUMERIC(4) %%SCHEMA #FILE REBANHO #KEYBRINCO 5) PROTÓTIPO DO AEsp A implementaçlo do AEsp exigiu a integraçlo de geradores de interfaces, bases de conhecimento, gerenciadores de bases de objetos, técnicas de análise de domínio e reuso. A plataforma de software escolhida para implementar o AEsp foi: a) Nexpert: gerenciador de bases de objetos e máquina de infermcia para implementar u regru da metodologia e disparo dos "reuse daemons"; b) Silk: $erador de interfaces gráficas para padrlo OpenLook com recursos de "link dinimico". A plataforma de hardware para desenvolvimento do AEsp, na verslo corrente, é uma est.açlo de trabalho SUN. Entretanto, a aplicaçlo final é gerada para o ambiente PC que é a plataforma padrlo para os usuários do domínio em questlo. 6) ESTÁGIO DE DESENVOLVIMENTO O Entrevistador do AEsp está com a sua arquitetura razoalvemente estabilizada. A implementaçlo em Nexpert já inclui um avaliador genérico de "Control Maps" e sua instadciaçio. O Prototipador e Montador estio implementados e geram, respectivamente, o protótipo da interface da aplicaçlo e parte substancial das especificações em LC-FMS. O reutilizador nlo está implementado e o catalogador dispõe apenas parte de sua funcionalidade. Os compiladores du sublinguagens da LC-FMS estio operacionais, exceto a sublinguagem de eventos e relacional. O ambiente FMS (AEsp, GFMS e ferramentu auxiliares) também está sendo usado para a definição e geraçlo de um sistema de Controle de Rebanho Leiteiro (SISCOREB). O componente "Controlar", essencial para essa aplicaçlo, está bem definido e estudado, e já há uma descriçlo desse objeto com a correspondente linguagem de operadores para sua catalogação. O SISCOREB já incorpora o conceitos de eventos e decomposiçlo de estados suportados pela metodologia de entrevista usada no AEsp. A liberaçlo da verslo alfa do sistema está prevista para o ano de

13 7) CONCLUSÃO As caractcristicas do AEsp, como implementado, sio compatíveis com os outros projctos desse tipo [16]. O escopo é mais limitado que ASPIS [2], KBRA [4], KBRET [8] e "Requirements Apprentice" [23] e cobre uma classe de aplicações mais simples, porém, supõe-se que essa focaliuçio aumente a viabilidade do AEsp. O AEsp tem dificuldades operacionais por exigir uma {llataforma de hardware heterogénea. Há estudos de viabilidade que mostram que a sua nugraçio completa para a plataforma alvo (PC) é possível pela substituiçio do SILK por um gerador de interfaces para Wandows e a cxec:uçio do Ncx~n neste hardware. A utilidade e exequibilidade do modelo preconizado pelo AEsp depende de um mimero expressivo de sessoes quando o acervo realmente puder corresponder às demandas do usuário. A identificaçio c incorporaçlo de componentes instanc:iáveis também depende dessa utiliz.açlo em larga escala. 8) BIBLIOGRAFIA [I) ARIAS, C. Um uais&eate especialista para especificaçio de requisitos, Campinas: UNICAMPIIMECC, (Tese de Mestrado) [2) ASLETT, M. J. A kdowledae bued approac:b to software developmeat: ESPRIT Project ASPIS. Amltcrdam: Nonh HoUand, [3) BALZER, R.; GOLDMAN, N.; WILE, D. lnforrnality in Program Specifications. ln: RICH, C.; WATERS R. C. ReadiDp lo artificial ioteuiaeoce aod software eapaeeriaa. Los Altos, CA: Morgan Kautinannk, p [4) CZUCHRY, A. J.; HARRIS D. R. KBRA: A new paradigm for requiremcnts enginecring, IEEE ~pert, v. 3, n. 4, p , winter, [5) DIAZ, P.R.; ARANGO, O. Domaia aaalysis aod software syatems modeliaa. Los Alamitos, CA: IEEE Computcr S09icty, [6] FE.RRARETTO, M.D.; MASSRUHA, S.M.F.S. Projeto: ambieate de dcseavolvimeato de software para domidio de admioistraçio rural - FMS. Campina.s/SP: EMBRAPA-CNPTIA, (Documento interno apresentado ao Sistema EMBRAPA de Planejamcnto - SEP) [7] FE.RRARETTO, M.D. Metodotoaia para dcseavotvimeato rápido de aplicaç6cs - MEDRA. CampinasiSP: EMBRAPA.CNPTIA, (Documento interno) [8) GOMAA, H.; KERSCHBERO L.; SUOURUMAN V. A knowledge-based approach to generating targct system specifications from domain model. ln: IFIP Coagress, Madrid, Spain, I 992. [9) OREEN, C.; LUCKMAN,D.; BALZER, R.; CHEATHAM, T.; RICH, C. Repon on a Knowlcdge-Bascd Software Assistant. ln: RICH, C.;WATERS R. C. Readiop ia artifldal iateuiaeace aod software eaaioeeriog. Los Altos, CA: Morgan Kaufinaonk, p [10) JORDAN, P.W.; KELLER, K.; TUCKER; VOOEL, D. Software storming - combining rapid prototyping and knowledge engineering. IEEE Computer, v.22, n.5, p , rnay [11] LEHMAN, M.M. A futber modcl of coherent programming processes. Software Process Worksbop, p , [12] LEITE, J.C.S.P. O uso de hipcncxto na clicitaçio de linguagens de aplicaçio. Simpósio Brasileiro de Engenharia de Software, 4, Águas de Slo Pedro, de outubro de Aoais. Sio Paulo: USP/CCS, p [13] LUQI. Software evolution through rapid prototyping. IEEE Computer, v.22, n.5, p , may

14 [14) MARTIN, J. Syatc:m deslga from provably corrc:ct coastrucu. Englewood Cllffs: Prentice-Hall, [JS) MASIERO, P.C.; MEIRA, C.A.A Development and instantiation ofa generic application generator.. Tbe Jou111al ofs)'atema aad Software, v. 23, n.1, p , oct [16] MASSRUHA, S.M.F.S. Um estudo sobre asaiateates de especifica~o. Campinas/SP: EMBRAPA-CNPTIA, (Relatório Técnico, submetido a publicaçio) [17] NEIGHBORS, J.M. The Draco approach to constructing software from reusable components. ln: RICH, C.; WATERS R. C. Rudinp ia artificial iatdlipace aad software c:asioeerin&. Los Altos, CA: Morgan Kaufinannk., p.s2s-s3s. [18] NEIGHBORS, J.M. Draco: a metbod for enpaeerin1 reusable software l)'ltems, software reaaability, coacepu aad modeb (ACM Presa Frontier Series, 1) [19) PRESSMAN, R. Software eapaeerin1: a practitloaer'a approacb. 3.ed. New York: McGraw-Hill, [20] PUNCELLO, P.; TORRIGIANI, P.; PIETRI, F.; BURLON, R.; CARDD..E, 8.; CONTI, M. ASPIS: A knowledge-based CASE environment. IEEE Software, v.s, n.2, p , mar [21) TANIK, M.M.; YEH, R.T. Guest editor's introduction: Rapid prototyping in software development. IEEE Computer, v. 22, n.s, p.9-12, may [22] W ASSERMAN, A. I. Extending state transition diagrams for the specification of humancomputer interaction. IEEE Traauctioaa o Software Ea&iaeeria& v. 11, n. 8, ago [23) W A TERS, R. The requirements apprentice: automated assistance for requirements acquisition. IEEE Traauctioaa oa Software Ea&ineeri &. v. 17 n. 3, p , mar [24] NEXPERT OBJECT; venioa 2.0; iatroductioa manual. Palo AJto/CA: Neuron Data, [25) SD...K- Eacap: uaer'a maaual, release 1.0. AustinffX: ISSI,

A Construção de um Gerador de Programas Aplicativos segundo Conceitos de Análise de Domínios

A Construção de um Gerador de Programas Aplicativos segundo Conceitos de Análise de Domínios A Construção de um Gerador de Programas Aplicativos segundo Conceitos de Análise de Domínios RENATO F'ILETO ftleto@cnptiaembrapabr CARLOS ALBERTO ALVES MEIRA CLEv AN RJCARDO COSTA Sn.. VIA MARIA FONSECA

Leia mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering.

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering. Parte I Requirement Engineering Gestão de Projectos Informáticos Gestão do Âmbito (Scope Management) Requirement Engineering Introduzir as noções requisitos de sistema e processo de engª de requisitos

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Palavras-chave: Desenvolvimento Baseado em Componentes (DBC), Transformação de Software, framework e ObjectPascal.

Palavras-chave: Desenvolvimento Baseado em Componentes (DBC), Transformação de Software, framework e ObjectPascal. Construção e Reutilização de de Software do Domínio de Cardiologia João L C Moraes, Daniel Lucrédio, Adriano A Bossonaro, Dr Rubens Tofano, Prof Dr Antonio F Prado DC/UFSCar - Departamento de Computação

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

ERACE-TOOL - UMA FERRAMENTA BASEADA EM CENÁRIOS PARA À ENGENHARIA DE REQUISITOS

ERACE-TOOL - UMA FERRAMENTA BASEADA EM CENÁRIOS PARA À ENGENHARIA DE REQUISITOS ERACE-TOOL - UMA FERRAMENTA BASEADA EM CENÁRIOS PARA À ENGENHARIA DE REQUISITOS João Caldas Júnior FIL- Fundação Paulista de Educação e Tecnologia Paulo C. Masiero ICMC - Universidade de São Paulo masiero@icmsc.sc.usp.br

Leia mais

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos Engenharia de Software Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos Thiago P. da Silva thiagosilva.inf@gmail.com Agenda Engenharia de Requisitos Níveis de Descrição dos Requisitos Tipos

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Introdução. Aulas. ltodi.est.ips.pt/es. Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas

Introdução. Aulas. ltodi.est.ips.pt/es. Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas Sumário Introdução Joaquim Filipe João Ascenso Engenharia de Software 2005/06 EST, Setúbal Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas 2

Leia mais

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

Leia mais

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java Leonardo Gresta Paulino Murta Gustavo Olanda Veronese Cláudia Maria Lima Werner {murta, veronese, werner}@cos.ufrj.br COPPE/UFRJ Programa

Leia mais

Verificação e Validação de Requisitos

Verificação e Validação de Requisitos Verificação e Validação de Requisitos Verificação e Validação dos Requisitos Casos de Uso e Esp. Suplementar Plano e Casos de Teste Requisitos p/ Inspeção Verificar conflitos de requisitos Verificar consistência

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

ENGENHARIA DE REQUISITOS

ENGENHARIA DE REQUISITOS Universidade Federal de Santa Maria Mestrado em Computação ELC 923 Processos de Negócio e Engenharia de Requisitos Especialização em Modelagem e Desenvolvimento de Aplicações Web com JAVA ENGENHARIA DE

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

RESUMO. Palavras-chave: AlphaWEB. Gerador de Artefatos. Aplicações. Software. ABSTRACT

RESUMO. Palavras-chave: AlphaWEB. Gerador de Artefatos. Aplicações. Software. ABSTRACT GERADOR DE ARTEFATOS PARA APLICAÇÕES WEB GENERATOR ARTIFACTS FOR WEB APPLICATIONS Juliane Rosário juh_rosario@yahoo.com.br Murillo da Silva Casa Grande murilloscg@yahoo.com.br Prof. M. Sc. Anderson Pazin

Leia mais

Estudo de Caso Sistema de Caixa Automático

Estudo de Caso Sistema de Caixa Automático Estudo de Caso Sistema de Caixa Automático Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Notas de Aula Ulrich Schiel Notas de Aula Ariadne

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Carla Gomes de Faria1, Ismênia Ribeiro de Oliveira1, Rosario Girardi1 1Universidade Federal do Maranhão (UFMA)

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Usando Modelos Para Apoiar a Especificação e Verificação de Requisitos de Ubiquidade

Usando Modelos Para Apoiar a Especificação e Verificação de Requisitos de Ubiquidade Usando Modelos Para Apoiar a Especificação e Verificação de Requisitos de Ubiquidade Leonardo Mota, Jobson Massollar, Guilherme Horta Travassos Federal University of Rio de Janeiro/COPPE/PESC Caixa Postal

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Requisitos Cap. 06 e 07 Sommerville 8 ed. REQUISITOS DE SOFTWARE» Requisitos são descrições de serviços fornecidos pelo sistema e suas restrições operacionais. REQUISITOS DE USUÁRIOS: São

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

Leia mais

Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville

Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV Adaptado a partir de Gerald Kotonya and Ian Sommerville 1 Objectivos Introduzir as noções requisitos de sistema e processo

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 02 In a calm sea every man is a pilot. Tópicos Aula 2 Engenharia de Requisitos Definições

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processo de Software Thiago P. da Silva thiagosilva.inf@gmail.com Agenda Revisando Engenharia de Software Engenharia de Sistemas Processo de software Fases Genéricas de Modelos de

Leia mais

Uma proposta de um processo prático para apoiar o reuso de software

Uma proposta de um processo prático para apoiar o reuso de software Uma proposta de um processo prático para apoiar o reuso de software Rosangela Kronig (UNIP) rkronig.mes.engprod@unip.br Ivanir Costa (UNIP) icosta@unip.br Mauro Spínola (UNIP) mspinola@unip.br Resumo A

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Essencial ao Desenvolvimento de Software

Essencial ao Desenvolvimento de Software Documento de Requisitos Essencial ao Desenvolvimento de Software De que se trata o artigo? Apresenta o documento de requisitos de software, destacando-o como um dos principais documentos pertinentes ao

Leia mais

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

Leia mais

Linha de Produto de Software

Linha de Produto de Software Linha de Produto de Software Jair C Leite DIMAp/UFRN O que é linha de produto de software? Técnica de produção baseada em outras engenharias fábricas que desenvolvem uma mesma família de produtos com partes

Leia mais

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Requisitos de Software. Teresa Maciel DEINFO/UFRPE Requisitos de Software Teresa Maciel DEINFO/UFRPE 1 Requisito de Software Características que o produto de software deverá apresentar para atender às necessidades e expectativas do cliente. 2 Requisito

Leia mais

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL DEPARTAMENTO DE COMPUTAÇÃO E ESTATÍSTICA DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS LÍCIO SÉRGIO FERRAZ DE BRITO MARCELO AUGUSTO SANTOS TURINE

Leia mais

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I Metodologia de Desenvolvimento de Sistemas II/CPD025 Conceitos orientação a objetos. Evolução das técnicas de modelagem orientadas a objetos. Estrutura da linguagem UML. Conceito de processo interativo

Leia mais

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Modelagem de Dados Usando o Modelo Entidade-Relacionamento Usando o Modelo Entidade-Relacionamento MER 1 MER Levantamento e Análise de requisitos Entrevista Entender e documentar seus requisitos de dados Requisitos funcionais da aplicação empregadas ao banco de

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

3 OOHDM e SHDM 3.1. OOHDM

3 OOHDM e SHDM 3.1. OOHDM 32 3 OOHDM e SHDM Com a disseminação em massa, desde a década de 80, de ambientes hipertexto e hipermídia, principalmente a Web, foi identificada a necessidade de elaborar métodos que estruturassem de

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

Projeto com Reuso. Projeto com Reuso. Tópicos. Objetivos. Construir o software a partir de componentes reutilizáveis. Traduzidos por Jacinta Pereira

Projeto com Reuso. Projeto com Reuso. Tópicos. Objetivos. Construir o software a partir de componentes reutilizáveis. Traduzidos por Jacinta Pereira Projeto com Reuso Projeto com Reuso Construir o software a partir de componentes reutilizáveis. Traduzidos por Jacinta Pereira Apresentados/Alterados por Rossana Andrade Ian Sommerville 2000 Software Engineering,

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Renan Sales Barros 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais (ICEN)

Leia mais

Capítulo 25. Gerenciamento de Configuração. Engenharia de Software Prof. Flávio de Oliveira Silva, Ph.D.

Capítulo 25. Gerenciamento de Configuração. Engenharia de Software Prof. Flávio de Oliveira Silva, Ph.D. Capítulo 25 Gerenciamento de Configuração slide 624 2011 Pearson Prentice Hall. Todos os direitos reservados. Tópicos abordados Gerenciamento de mudanças Gerenciamento de versões Construção de sistemas

Leia mais

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante 1 - Q193183 ( Prova: FCC - 2011 - TRT - 19ª Região (AL) - Analista Judiciário - Tecnologia da Informação / Engenharia de Software / Análise de Requisitos; Engenharia de Requisitos; ) De acordo com Sommerville,

Leia mais

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Edson Alves de Oliveira Junior 1, Itana Maria de Souza Gimenes 1 1 Departamento de

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Orientações para o Planejamento e Realização do Projeto Final

Orientações para o Planejamento e Realização do Projeto Final Orientações para o Planejamento e Realização do Projeto Final Simone Diniz Junqueira Barbosa Versão: 1.0.4 Orientações para o Planejamento e Realização do Projeto Final Sumário 1 Introdução... 3 2 Projeto

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 2 - ANÁLISE DE REQUISITOS DE SOFTWARE APLICATIVO 1. INTRODUÇÃO Entender os requisitos de um problema está entre as tarefas mais difíceis na construção de um software. Na maioria das vezes o cliente

Leia mais

Prototipação. Clarindo Pádua 2. Referências. Prototipação. Introdução. Tipos de protótipos. Vantagens. Riscos. Ferramentas de prototipação

Prototipação. Clarindo Pádua 2. Referências. Prototipação. Introdução. Tipos de protótipos. Vantagens. Riscos. Ferramentas de prototipação Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG Clarindo Pádua 2 Referências Hix, D.; Hartson, H. R. Developing

Leia mais

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti

Leia mais

Introdução Engenharia de Software

Introdução Engenharia de Software Introdução Engenharia de Software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 EMENTA Parte 1 Conceitos de Engenharia de Software. Processo de desenvolvimento

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I UNIVERSIDADE FEDERAL DO MATO GROSSO ENGENHARIA DE SOFTWARE I Introdução à Engenharia de Software: Motivação, Histórico, Conceitos, Elementos de ES e Mitos do Software AULA 1 Profª MSc. MICHELLE DE OLIVEIRA

Leia mais

DESENVOLVIMENTO BASEADO EM COMPONENTES: UM REPOSITÓRIO PARA O SETOR AGROPECUÁRIO

DESENVOLVIMENTO BASEADO EM COMPONENTES: UM REPOSITÓRIO PARA O SETOR AGROPECUÁRIO DESENVOLVIMENTO BASEADO EM COMPONENTES: UM REPOSITÓRIO PARA O SETOR AGROPECUÁRIO Fernanda Campos 1 Regina Braga 2 Viviane Kawamura 3 Leonardo Gravina 4 Rodrigo Rezende 5 RESUMO Este trabalho descreve o

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Modelagem de Conhecimento integrando Regras de Produção e Ontologias

Modelagem de Conhecimento integrando Regras de Produção e Ontologias Modelagem de Conhecimento integrando Regras de Produção e Ontologias 1. Introdução Tiago Cordeiro, Vládia Pinheiro e Vasco Furtado UNIFOR Universidade de Fortaleza O conhecimento das organizações precisa

Leia mais

O Processo de Desenvolvimento de Software

O Processo de Desenvolvimento de Software O Processo de Desenvolvimento de Software Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software) Um processo de

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

UNIP Ciência da Computação AES Análise Essencial de Sistemas

UNIP Ciência da Computação AES Análise Essencial de Sistemas 1 Análise Essencial UNIP Ciência da Computação A análise essencial pode ser considerada um refinamento da análise estruturada. O problema existente (ou situação que requer a informatização) é estudado,

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso Planejamento de Testes a partir de Casos de Uso Arilo Cláudio Dias Neto ariloclaudio@gmail.com É Bacharel em Ciência da Computação formado na Universidade Federal do Amazonas, Mestre em Engenharia de Sistemas

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Software SOFTWARE Programa de computador acompanhado dos dados de documentação e configuração

Leia mais

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Clayton Maciel Costa

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Capítulo 3 Processos de Software Slides do Livro do Sommerville, 2000 Disponíveis em inglês em www.software-engin.com Traduzidos por Jacinta Pereira Graduando do Curso de Letras

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Mestrado em Ciência da Computação Disciplina: Engenharia de Software Profa. Dra. Elisa H. M. Huzita Requisitos Requisitos: (IEEE) 1)Uma condição ou uma capacidade de que o usuário

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm. Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado

Leia mais

3 Requisitos não-funcionais de ferramentas de autoria hipermídia

3 Requisitos não-funcionais de ferramentas de autoria hipermídia Requisitos não-funcionais de ferramentas de autoria hipermidia 34 3 Requisitos não-funcionais de ferramentas de autoria hipermídia Na literatura são vários os trabalhos que discutem os requisitos funcionais

Leia mais

Engenharia de Software-2003

Engenharia de Software-2003 Engenharia de Software-2003 Mestrado em Ciência da Computação Departamento de Informática - UEM Profa. Dra. Elisa H. M. Huzita eng. de software-2003 Elisa Huzita Produto de Software Conceitos Software

Leia mais

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF 1. Identificação de um problema a ser implementado 2. Análise

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais