XX SEMINCO - SEMINÁRIO DE COMPUTAÇÃO { { SEMINCO SEMINÁRIO DE COMPUTAÇÃO ANAIS FURB - BLUMENAU - SC

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

Download "XX SEMINCO - SEMINÁRIO DE COMPUTAÇÃO { { SEMINCO SEMINÁRIO DE COMPUTAÇÃO ANAIS FURB - BLUMENAU - SC"

Transcrição

1 XX SEMINCO - SEMINÁRIO DE COMPUTAÇÃO XX SEMINCO XBr yrj = mi yrj >n0 { { XBi yji SEMINÁRIO DE COMPUTAÇÃO ANAIS 22 a 23 de AGOSTO de 2011 FURB - BLUMENAU - SC

2 Anais do XX SEMINCO Seminário de Computação 22 e 23 de agosto de 2011 FURB - Campus I - Blumenau/SC Promoção Universidade Regional de Blumenau - FURB Centro de Ciências Exatas e Naturais - CCEN Departamento de Sistemas e Computação - DSC Centro Acadêmico Livre de Computação - CALCOMP Comissão Organizadora Prof. Everaldo Artur Grahl (Coordenador) Prof. Antonio Carlos Tavares Prof. Aurélio Faustino Hoppe Prof. Dalton Solano dos Reis Felipe Demarchi Luciana Pereira de Araújo Matheus Luan Krueger Vilmar Orsi

3 Ficha Catalográfica Elaborada pela Biblioteca da FURB Seminário de Computação (20.: 2011 : Blumenau, SC) Anais do XX SEMINCO / promoção Universidade Regional de Blumenau, Departamento de Sistemas e Computação; Everaldo Artur Grahl, Dalton Solano dos Reis (coordenadores). - Blumenau, O Departamento, p. : il. 1. Computação - Congressos. I. Grahl, Everaldo Artur; Reis, Dalton Solano dos. II. Universidade Regional de Blumenau. Departamento de Sistemas e Computação. III. Título. CDD 004 Universidade Regional de Blumenau Reitor Prof. Dr. João Natel Pollonio Machado Vice-Reitor Prof a. Griseldes Fredel Boos Diretor do Centro de Ciências Exatas e Naturais Prof. Dr. Geraldo Moretto Chefe do Departamento de Sistemas e Computação Prof. Antonio Carlos Tavares Coordenador do Colegiado do Curso de Ciências da Computação Prof. José Roque Voltolini da Silva Coordenador do Colegiado do Curso de Sistemas de Informação Prof. Wilson Pedro Carli

4 Apresentação A Universidade Regional de Blumenau - FURB, através do Departamento de Sistemas e Computação, realiza o XX SEMINCO - Seminário de Computação nos dias 22 e 23 de agosto de Este ano completando duas décadas de realizações. Este evento foi criado em 1992 através de um grupo de professores e alunos da FURB interessados em divulgar e disseminar a produção interna de trabalhos e pesquisas de computação. O evento foi crescendo e hoje já é uma referência nacional na área, auxiliando na divulgação e produção científica de várias instituições brasileiras. Este ano tivemos a submissão de 24 artigos, sendo que destes foram aprovados 8 artigos provenientes das seguintes instituições: CPqD, FURB, IPEV, UNIFEI, UNIRITTER, UNI- SUL, UNIVALI e UTFPR. Estes artigos contemplam as áreas de Engenharia de Software, Integração Hardware / Software, Inteligência Artificial e Sistemas de informação. Agradecemos a todos os envolvidos na organização do evento, bem como a Comissão de Avaliação Interinstitucional que avaliou os artigos submetidos à chamada de trabalhos. Comissão Organizadora Agradecimentos Centro de Ciências Exatas e Naturais - CCEN Centro de Comunicação e Marketing Contribuintes do Projeto Acredito Sociedade Brasileira de Computação - SBC

5 Comissão de Avaliação Interinstitucional Adilson Vahldick (UDESC) Adriana G. Alves (UNIVALI) Alexandre Cidral (UNIVILLE) Angelo Frozza (IFC ) Anita Fernandes (UNIVALI) Aurélio Hoppe (FURB) Dalton Solano dos Reis (FURB) Denio Duarte(UFFS) Everaldo A. Grahl (FURB) Fabiane Barreto Vavassori Benitti (UNIVALI) Fernando dos Santos (UDESC) Frank Siqueira (UFSC) Jomi Hübner (UFSC) Marcel Hugo (FURB) Marcello Thiry (UNIVALI) Marcos Eduardo Casa (UCS) Patricia Vilain (UFSC)

6 Engenharia de Software Artigos Selecionados Uma Proposta de Modelo Conceitual para Repositório de Artefatos de Software Visando Promover o Reuso Beatriz T. Borsoi, Eliane M. de B. Fávero, Rúbia E. O. Schultz Ascari, Adriana Ariati, Renato Silva Belazi 6 Análise Comparativa entre Groovy e Java, Aplicado no Desenvolvimento Web 18 Vandir Fernando Rezende, Marcel Hugo Integração Hardware / Software Desenvolvimento de um Protótipo para Ensaios de Calibração do Sistema de Dados Aéreos usando Técnicas de Processamento de Imagens Luiz Eduardo Guarino Vasconcelos, Nelson Paiva Oliveira Leite, Carlos Alberto Murari Pinheiro, Otávio Augusto Salgado Carpinteiro 31 Inteligência Artifical Extensão Swarm Intelligence para o Simulador Robocup Rescue 44 Alessandro A. Ostetto, Fernando dos Santos Utilização de Processamento Digital de Imagens e Redes Neurais Artificiais para Diagnosticar Doenças Fúngicas na Cultura do Tomate Felipe S.Vieira, Rafael Paz, Clavison M. Zapelini, Adriana S. Zanini, Eros Comunello, Anita M.R.Fernandes 56 Sistema Especialista para Indicação de Medicamentos Fitoterápicos 70 Leonardo Veronese Soletti, Sidnei Renato Silveira Sistemas de Informação Sistema Gerenciador de Regras de Negócio Aplicado à Gestão de Recursos de Telecom: Estudo de Caso Celly de Siqueira Martins, Mauricio Amorim da Silva, Sindo Vasquez Dias, André Lara Temple de Antonio Gestão da Informação em Biblioteca Universitária: uma Proposta Utilizando Regras de Associação na Disseminação das Informações de Novas Aquisições Bibliográficas Maciel F. da Silva, Cláudio Ratke 82 95

7 6 Uma Proposta de Modelo Conceitual para Repositório de Artefatos de Software Visando Promover o Reuso Beatriz T. Borsoi 1, Eliane M. de B. Fávero 1, Rúbia E. O. Schultz Ascari 1, Adriana Ariati 1, Renato Silva Belazi 1 1 GETIC Grupo de Estudos e Pesquisas em Tecnologias de Informação e Comunicação Universidade Tecnológica Federal do Paraná (UTFPR) - Campus Pato Branco Via do Conhecimento Pato Branco PR Brasil Resumo. O reuso de artefatos de software ainda é um desafio. Isso porque é necessário que os artefatos sejam desenvolvidos visando reuso e mudanças na cultura organizacional podem ser necessárias para essa prática. Esse trabalho propõe um modelo conceitual de repositório de artefatos (documentos, componentes e procedimentos) com o objetivo de facilitar sua recuperação e reuso. Esse modelo tem como base técnicas de classificação como vocabulário controlado, com classificação por palavras-chave, descrição textual e enumeração ou hierárquica. O modelo proposto é simples em relação à forma de uso dos métodos, mesmo visando recuperação otimizada em relação aos critérios de busca. 1. Introdução O conceito de reuso pode ser aplicado a todo o ciclo de vida de um software, pois como argumentou Justo (1996), não há razões teóricas que impossibilitem sua aplicação nas fases iniciais do desenvolvimento. Para esse autor, a especificação de requisitos é uma fase crucial no ciclo de vida de um sistema e aplicar reuso efetivo nessa fase tornaria possível construir sistemas que atendessem melhor os requisitos requeridos pelo usuário. A orientação a objetos está estreitamente vinculada ao reuso de código, inclusive pelo seu mecanismo de herança. O desenvolvimento baseado em componentes também está centrado no reuso de elementos de código. Porém há outros escopos para reuso, como padrões de projeto e experiências e conhecimento adquiridos com a realização de atividades do ciclo de vida de software. Os padrões de projeto, tendo como referência os vinte e três padrões propostos por Gamma et al. (1997), podem ser definidos como componentes conceituais reutilizáveis. Eles se aplicam à produção de código, mas o que é reutilizado são os conceitos envolvidos, ou mais especificamente a estrutura conceitual de um padrão que resolve um problema bem estabelecido. Basili, Caldiera e Rombach (1994), consideram que o reuso de produtos, processos e experiências representam uma maneira de solução possível para o problema de

8 7 desenvolver sistemas com qualidade alta e custo baixo. Esses autores definem uma fábrica de experiências na qual há o reuso de conhecimento produzido nas atividades relacionadas ao desenvolvimento de software. O reuso pode estar vinculado, também, aos resultados das atividades de análise e de projeto, como, por exemplo, especificações de requisitos, diagramas de casos de uso, de classes e de banco de dados. Esses documentos são reaproveitados no desenvolvimento de projetos que possuam requisitos iguais ou semelhantes. Este trabalho se refere a reuso em um escopo mais amplo, abrangendo todos os produtos resultantes no ciclo de vida de software. Esses produtos são denominados artefatos, e representam componentes de código (software), documentos gerados (como diagramas de classes, planos de testes, modelos para elaboração de documentos) e procedimentos (métodos, técnicas, orientações para realizar as atividades) que podem ser resultantes da experiência da realização das atividades. O desenvolvimento baseado em reuso requer tempo e esforço consideráveis para que bons resultados sejam obtidos, o que tem sido uma barreira para pequenas organizações [Shiva e Shala 2007]. Em função disso, este trabalho propõe a definição conceitual de um repositório para o armazenamento de artefatos como descritos neste texto, de maneira a otimizar a busca. Também é proposta uma maneira de recuperação dos artefatos, visando a localização dos artefatos que atendem plenamente os requisitos de busca e dos que atendem parcialmente a esses requisitos. Otimização se refere a localizar o artefato mais adequado, dentre os armazenados no repositório, para o interesse de busca e de acordo com os critérios informados. Este texto está organizado em seções. Esta é a primeira e apresenta a introdução com uma visão geral do assunto, o problema e a proposta de solução. Na Seção 2 estão conceitos de reuso, repositório e métodos de classificação e busca. A Seção 3 apresenta trabalhos relacionados. Na Seção 4 está a solução proposta. E na Seção 5 está a conclusão. 2. Reuso e Repositório de Artefatos Reuso está relacionado ao uso de conceitos ou produtos previamente adquiridos ou construídos em situações novas [Biggerstaff e Perlis 1989]. Sendo que estes devem ser definidos e/ou produzidos visando o seu reuso, estarem armazenados de forma a facilitar sua recuperação e prover a identificação de similaridades entre situações novas e antigas permitindo sua adaptação [Prieto-Diaz 1989]. Kotonya, Lock e Mariani (2011) fazem um apanhado histórico sobre reuso, destacando as primeiras associações com o tema, iniciando com o trabalho de McIlroy (1968) que sugeriu que a indústria de software deveria ser baseada em componentes reusáveis. Na sequência, Parnas (1976) propôs a noção de família de programas e Neighbours (1984) definiu os conceitos de domínio e análise de domínio. Essas ideias iniciaram a sistematização de engenharia de linha de produtos de software, que é tratada por Greenfield e Short (2004) como fábrica de software. Mais recentemente destacam-se os trabalhos de Frakes e Kang (2005) e Shiva e Shala (2007) que identificaram mudanças na forma de localizar artefatos em repositórios. A popularidade do reuso aumentou

9 8 recentemente devido à possibilidade de desenvolvimento distribuído de software [Shiva e Shala 2007] ocasionada, principalmente, pela globalização e pelo desenvolvimento compartilhado por empresas distintas. Embora o conceito de reuso seja usualmente aplicado na fase de implementação de um software com o objetivo de reutilizar trechos de código, qualquer item gerado no processo de desenvolvimento de software pode ser reusado. Dentre esses itens estão os documentos de modelagem do sistema e os resultados de experiências e do aprendizado na realização das atividades, incluindo procedimentos e maneiras de resolver problemas. A aplicação de reuso nas fases iniciais de desenvolvimento de software foram investigadas desde o início da década de 1990, como atestam as publicações de Grosz (1992), Maiden e Sutcliffe (1992) e Sutcliffe e Maiden (1994). Melo (2007) também afirma que a reutilização, ou reuso, não é só aplicável a fragmentos de código fonte, mas a todo o trabalho gerado durante o processo de desenvolvimento de software, como dados, arquitetura e projeto, resultando nos benefícios: aumento da produtividade; aumento da qualidade; redução dos custos; redução no tempo de entrega; padronização; interoperabilidade; previsibilidade, confiabilidade e redução de riscos. A esses benefícios Sommerville (2007) acrescenta: uso de padrões e obtenção de resultados positivos em termos de produtividade e qualidade do software, pelo reuso de experiências. Para que artefatos sejam armazenados visando facilitar a sua localização, a documentação dos mesmos deve definir as suas características de identificação, tais como nome, descrição, data de criação e observações. Essas informações podem ser tratadas como metadados por mecanismos de busca. O aspecto relevante está em como organizar esses dados e definir os atributos do artefato de maneira que seja possível localizar o artefato que melhor atende aos interesses do usuário representados pelos critérios de busca. A estrutura do repositório é um fator essencial para os resultados de busca. Mesmo que algoritmos de busca possam prover resultados com um esforço mínimo de estrutura e indexação, repositórios fracamente estruturados com indexação inadequada não terão um bom desempenho independentemente dos algoritmos de busca [Henninger 1997]. 2.1 Métodos de Classificação e Recuperação de Artefatos A recuperação efetiva de artefatos de software em repositórios é afetada fortemente pela combinação dos métodos de classificação adotados. Neste trabalho, o termo método se refere aos diversos esquemas e procedimentos de classificação apresentados na literatura e utilizados na classificação e recuperação de artefatos. Um esquema de classificação é um meio de produzir uma organização sistemática com base em um vocabulário, seja controlado ou não [Prieto-Diaz 1991]. Desta forma, um vocabulário controlado constitui-se dos termos utilizados para especificar artefatos, extraídos de um conjunto predefinido de atributos. Já em um vocabulário não-controlado, os termos são automaticamente extraídos a partir dos textos que descrevem um componente por linguagem natural [Salton 1983; Vanderlei 2006]. Sendo assim, um esquema de classificação pode se basear em um ou em ambos os tipos de vocabulários, podendo ser das

10 9 seguintes formas: classificação por palavras-chave, por enumeração e classificação em facetas, conforme apresentadas a seguir. De acordo com Vanderlei (2006), a classificação por enumeração é um esquema de classificação que se baseia na submissão de informações a uma estrutura hierárquica prédefinida e mutuamente exclusiva. Esse esquema apresenta inflexibilidade inerente e problemas em entender grandes hierarquias, já que a estrutura pré-definida das categorias apenas permite a introdução de novos elementos de forma sequencial. No método de classificação por palavras-chave, os artefatos de software podem ser classificados, tanto por palavras extraídas automaticamente de textos contidos nos próprios artefatos (vocabulário não-controlado) ou fornecidas pelo usuário que o está classificando (vocabulário controlado). Métodos de texto livre são simples para construir e recuperar, mas precisam de grande quantidade de texto disponível para uma boa precisão nas buscas, sendo melhor aplicáveis para domínios com extensa documentação, apesar da busca ser menos cara, pois não requer intervenção humana [Maarek e Smadja 1989; Frakes e Pole, 1994]. Contudo, Hall (1992) destaca a dificuldade inerente ao uso de vocabulário nãocontrolado no método por palavras-chave na pesquisa, pois nem sempre a pessoa que classificou o componente é a mesma que irá recuperá-lo, podendo tornar difícil a recuperação de componentes por pessoas que não possuam conhecimento específico. A classificação por facetas consiste em categorizar os artefatos pela síntese dos valores das facetas. Uma faceta pode ser vista como uma propriedade do componente que deve aceitar valores pré-definidos. Também pode ser vista como um par atributo-valor, onde há um atributo fixado pela faceta e vários valores associados. Em um repositório, os possíveis valores de cada faceta são relacionados por meio de um grafo conceitual que permite relacionar valores sinônimos ou conceitualmente semelhantes [Prieto-Diaz 1991; Vanderlei 2006]. Para Vanderlei (2006), essa associação permite localizar componentes que se aproximam conceitualmente do componente pretendido. Facetas são mais flexíveis, precisas e se enquadram melhor para repositórios em constante expansão, se comparadas com esquemas enumerativos em repositórios que armazenam componentes homogêneos. 3. Trabalhos Relacionados Os primeiros trabalhos voltados para busca e recuperação de artefatos de software reutilizáveis tiveram seu foco voltado para os métodos de classificação desses artefatos [Prieto-Diaz 1991; Podgurski e Pierce 1993; Frakes e Pole 1994]. Estudos mostraram que os métodos de classificação disponíveis até então, não apresentavam diferenças significativas entre si. Sendo assim, outros aspectos começaram a ser observados e requisitados, especialmente em relação à recuperação de artefatos. Destaca-se a proposta de Henninger (1994) para a combinação de métodos de classificação, que visam permitir ao usuário o refinamento de suas expressões de busca, a fim de obter melhores resultados, como a recuperação de artefatos próximos aos requisitados e não apenas os que se apresentassem exatamente iguais à consulta. Anos mais tarde, o mesmo autor propôs um repositório com índices automaticamente atualizados à medida que novas consultas eram realizadas, de forma a facilitar futuras consultas do mesmo artefato.

11 10 Desta forma, a partir dos estudos realizados sobre classificação e recuperação de artefatos de software, visando a sua reutilização, muitos trabalhos têm sido realizados propondo a mescla de vários métodos já consolidados, como a busca por palavras-chave (pré-definidas ou em texto livre); por enumeração ou hierárquica (entre categorias prédefinidas de classificação) ou baseada em facetas. Esta seção apresenta alguns trabalhos que utilizam esses métodos. a) Maarek, Berry e Kaiser (1991) utilizam o conceito de busca em texto livre, identificando palavras-chave que melhor representem o componente em questão. b) Henninger (1994) propôs o sistema CodeFinger, cuja recuperação é sustentada pela reformulação interativa de perguntas e por uma aproximação da recuperação usando uma rede neural, com um algoritmo capaz de recuperar os componentes de software relacionados a uma dada pergunta, feita por palavras-chave, frases ou afinidades lexicais. c) Redolfi et al. (2005) identificam um conjunto de funcionalidades para um repositório de componentes de software oferecer suporte às atividades de desenvolvimento baseado em componentes. E propõem um repositório que atende a essas funciolidades, incluindo busca e recuperação, controle de versão e gerenciamento de controle de versão. d) Garcia et al. (2006) propuseram um mecanismo denominado Maracatu que permite o reuso de componentes de software, por meio de buscas em repositórios de código-fonte de projetos, realizadas pela combinação de métodos de recuperação por palavras-chave e facetas. Os autores mostraram, por meio de experimentos, que a combinação dos esquemas de busca por palavras-chave com facetas apresenta taxa de recuperação e precisão melhores em relação aos esquemas utilizados separadamente. e) Vanderlei et al. (2007) combinam técnicas originais de busca por palavras-chave e facetas com folksonomia. O suporte à folksonomia permite aos desenvolvedores popular com tags os componentes do repositório para futuras consultas e compartilhamento com os demais usuários do sistema. O estudo indica que o uso de folksonomia permite maior aproximação da realidade do usuário, seja no cadastro de artefatos ou na sua recuperação. f) Petrov e Buchmann (2008) adotaram o uso de palavras-chave, permitindo uma melhor representação dos requisitos do componente. Para auxiliar o usuário na classificação e recuperação dos componentes, são apresentadas questões, cujas respostas serão as palavras-chave pré-definidas para ambas as situações. As palavras-chave poderiam também ser diretamente informadas pelo usuário, indicando atributos desejáveis e não desejáveis para o componente de software. g) Batista Junior e Domingues (2010) definiram um método que gera automaticamente uma Forma Gráfica de Representação (FGR) para descrições de componentes de software em linguagem natural ou por questões de usuários. A busca de componentes na biblioteca é suportada pela avaliação automática do casamento (matching) entre a FGR de uma questão do usuário e as FGRs das descrições dos componentes da biblioteca. A análise da questão é realizada com a extração das palavras-chave da questão. A partir dos trabalhos apresentados, é possível perceber que o foco das pesquisas está bastante voltado para a eficácia na recuperação de artefatos de software a partir de um repositório, de forma a tornar essa tarefa mais prática, flexível e efetiva quanto possível, retornando o artefato desejado de maneira rápida e precisa. Todos os trabalhos apresentados

12 11 referem-se ao armazenamento e recuperação de componentes de código, a fim de oferecer suporte ao desenvolvimento de softwares baseado em componentes, o que reforça a relevância desta proposta, que visa trabalhar com artefatos de software diversos. 4. Modelo Conceitual de Repositório de Artefatos Visando Reuso Esta seção apresenta a proposta de modelo conceitual para um repositório de artefatos e para a recuperação desses artefatos. Os artefatos armazenados são caracterizados por atributos e outras informações consideradas necessárias para descrevê-los com o objetivo de facilitar a sua recuperação e reuso. O modelo proposto utiliza métodos de classificação baseados em vocabulário controlado, como a classificação por palavras-chave, por descrição textual e por enumeração ou hierárquica. A busca dos artefatos é realizada por palavras-chave informadas ou pré-definidas nos atributos de identificação do artefato e na sua descrição (neste caso a busca é feita por palavras-chave em texto livre). O uso combinado de técnicas distintas visa prover uma forma de localizar, além dos artefatos que melhor atendem aos critérios de busca, os artefatos com características próximas a esses critérios. Henninger (1994) propôs uma forma de busca aproximada, mas especificamente para componentes de software. O uso de busca em texto livre não onera o custo de processamento para a recuperação de artefatos. Isso porque essa busca ocorre no atributo de descrição do artefato e será realizada a partir de palavras-chave ao invés de indexadas como resultado de busca em texto livre. Essas palavras podem ser escolhidas a partir de um cadastro prévio ou informadas pelo usuário no momento da busca. O uso de palavras-chave facilita a implementação de mecanismos de busca, mas pode dificultar o cadastramento de artefatos no repositório. Se o conjunto dessas palavras é restrito, o artefato pode não ficar bem caracterizado. E um conjunto muito amplo pode conter palavras distintas para um mesmo conceito (sinônimos) e dificultar a recuperação do artefato desejado ou que melhor atenda aos critérios de busca. Brito et al. (2009) citam que alguns sistemas de repositório de componentes adotam técnicas de indexação que geram automaticamente informações de representação dos componentes, mas, mesmo assim, os componentes são localizados por busca exaustiva na coleção de informações [Girardi e Ibrahim 1994]. Por exemplo, em abordagens baseadas em ontologias [Sivashanmugam et al. 2003] a inferência sobre a coleção de conceitos é bastante custosa [Ding et al. 2004]. Brito et al. (2009) ressaltam que sistemas que adotam métodos de recuperação clássicos, baseados na indexação de termos, se sobressaem em eficiência quando comparados aos sistemas que empregam mecanismos de inferência. Para minimizar os problemas decorrentes de uso de palavras-chave diferentes para cadastrar e buscar um mesmo artefato, na proposta deste trabalho são definidos critérios para a inserção e orientações para busca. Os critérios se referem às padronizações recomendadas e a existência de um dicionário de sinônimos para ser consultado quando da inserção do artefato. As orientações explicam o contexto e exemplificam o conteúdo de cada campo de cadastro do artefato. Além disso, sugere-se que a inserção seja cooperativa, ou seja, os dados de cadastro de um novo artefato são verificados por usuários distintos.

13 12 Ainda assim, para que o reuso seja efetivo o desenvolvimento de software deve estar inserido em um contexto de desenvolvimento de software para e com reuso. Para reuso, se refere a que artefatos são produzidos visando reuso e com reuso está relacionado ao desenvolvimento de software com base em artefatos existentes. Desta forma, deve haver integração entre as atividades de produção de software e de componentes e o armazenamento e a disponibilização dos artefatos para reuso. A Figura 1 expressa essa integração por meio de processos que se comunicam. Esses processos são representados em notação BPMN (Business Process Modeling Notation). Nessa notação, retângulo com cantos arredondados representa atividade ou subprocesso, círculo com borda delgada indica o início do processo e círculo com borda espessa o seu final. A interligação entre processos é representada por seta pontilhada direcionada e entre as atividades de um processo por seta com traço contínuo. Produção Software requisitos Produção Componente s componentes Armazenamento Componentes componentes Disponibilização (Repositório Artefatos) especificações experiências modelos experiências componentes modelos procedimentos experiências modelos procedimentos Figura 1. Processos para produção de software com e para reuso A Figura 1 representa que a fábrica de software possui um processo de implementação que é suportado por um processo de produção de componentes. O processo de implementação envia requisitos e especificações para o processo de produção de componentes e este os desenvolve com o auxílio de modelos e procedimentos provenientes do repositório. Os componentes produzidos são disponibilizados no repositório por meio de um processo de armazenamento. O processo de produção de software implementa software reusando componentes, modelos e procedimentos. O conhecimento gerado na realização das atividades (denominado por experiência) é documentado e armazenado no repositório e disponibilizado para reuso com o nome de procedimento. No processo de implementação, tanto os modelos quanto os componentes de software podem ser adaptados ao contexto do projeto em desenvolvimento. Para serem devidamente recuperados, os componentes precisar ser cadastrados. Redolfi et al. (2005) classificaram, com base em diversos autores, as informações sobre

14 13 componentes de software em sete grupos: identificação, uso, maturidade, documentação, tecnologia, alteração e controle de qualidade. Considerando esses grupos é apresentado o Quadro 1 com os grupos propostos neste trabalho para o armazenamento de artefatos. Grupo Identificação Descrição Acesso Qualidade Relacionamentos Item Identidade; Nome; Versão; Local de disponibilização. Descrição; Tipo (componente, documento, procedimento); Classificação (base em palavraschave); Requisitos para uso; Restrições; Histórico de alterações. Disponibilidade (público ou privado); Leitura/Escrita; Descrição da interface (se componente); Tecnologia (linguagem, ferramenta de desenvolvimento). Testes de qualidade realizados e respectivos resultados. Pode ser usado com; Composto por; Depende de; Projetos que o utilizam. Quadro 1. Agrupamentos de informações sobre artefatos Na Figura 2 está o modelo conceitual proposto para o repositório de artefatos tendo como base o Quadro 1. Essa figura contém um conjunto de conceitos relacionados que explicitam a estrutura e a organização do repositório. Figura 2. Visão geral do repositório de artefatos O repositório provê o armazenamento de componentes de código, documentos produzidos durante o ciclo de vida (ex. plano de testes, diagrama de casos de uso), modelos de documentos (padrões e orientações) e procedimentos (o conhecimento gerado com a realização de atividades). As palavras-chave são utilizadas para definir requisitos do artefato e restrições (requisitos que o artefato não atende), podendo ser principais e secundárias. A descrição é utilizada para complementar a classificação baseada em palavras-chave. As palavras-chave secundárias permitem localizar artefatos que não atendem os requisitos ou critérios de busca completamente, mas que se aproximam deles. Os relacionamentos definem as conexões entre os artefatos e eles são estabelecidos quando da sua inserção no repositório. Na inclusão de um artefato, o sistema faz uma busca

15 14 no repositório visando identificar artefatos que possam estar relacionados e os sugere ao usuário. Essas sugestões são realizadas após nome, descrição e palavras-chave do artefato terem sido informados. A busca é realizada nesses campos e na descrição dos artefatos já armazenados. O usuário valida essas sugestões efetivando os relacionamentos considerados adequados e pode inserir outros relacionamentos além dos sugeridos pelo sistema. Em uma busca, os relacionamentos vinculados a um artefato são indicados. O histórico de mudanças contém as alterações realizadas em um artefato e o seu tipo, que podem ser correção de defeitos ou melhoria. Correção de defeitos indica que todos os projetos que utilizam o referido artefato deveriam atualizá-lo. E melhorias podem agregar ou não funcionalidades e gerar ou não inconsistências em projetos que utilizam o referido artefato. O registro dos artefatos utilizados nos respectivos projetos é mantido para, por exemplo, informar os projetos cujos artefatos passaram por alterações de melhoria e de correção de erros. Na Figura 4 está representada a definição conceitual para a busca de artefatos no repositório. O usuário escolhe entre palavras-chave existentes ou informa as palavras desejadas utilizadas para buscas no texto da descrição do artefato e nos atributos que o categorizam. Figura 3. Visão geral da busca no repositório de artefatos Dependendo do tipo de artefato procurado é definida uma busca hierárquica a partir das palavras informadas. Os artefatos resultantes de uma busca são apresentados em classificação descendente ao atendimento dos critérios de busca. E juntamente com cada artefato são informados os artefatos relacionados. Os artefatos de acesso público podem ser localizados em buscas por qualquer usuário. Os artefatos de acesso privado são disponibilizados para o autor e para outros usuários ou grupos de usuários. Esse controle de acesso possibilita o uso do repositório por conjuntos de fábricas de software, como, por exemplo, uma incubadora de empresas ou as que pertençam a um arranjo produtivo local. E, também, para o desenvolvimento cooperativo ou distribuído de software. O modelo proposto não determina como obrigatório o preenchimento de todos os campos para cadastramento de artefatos. Isso torna o sistema flexível e facilita o seu uso,

16 15 inclusive por fábricas de software de pequeno porte, porque uma solução computacional mais simples pode ser implementada. Contudo, ressalta-se que para maior efetividade na busca é necessário que os artefatos estejam bem caracterizados, com informações consistentes e completas. 5. Conclusão Considerando o levantamento bibliográfico realizado, percebe-se que existe uma carência de repositórios voltados para o reuso de artefatos de software como definido neste trabalho, pois os repositórios existentes estão, normalmente, voltados para componentes de software. A proposta deste trabalho fundamenta-se na necessidade verificada em fábricas de software, principalmente as de pequeno porte, em reaproveitar conhecimento, experiências, documentos e componentes de forma a agilizar os processos executados durante o ciclo de vida do software. Um repositório e formas de busca como apresentados neste trabalho podem ser vistos como um diferencial competitivo para fábricas de software de pequeno porte, mas não deixando de ser uma solução eficaz para o reuso de artefatos de software. Elas podem estar organizadas de maneira a trabalhar cooperativamente e assim compartilhar artefatos. O modelo proposto é bastante flexível, não tornando obrigatório o preenchimento de todos os campos na inserção do artefato. Contudo, ressalta-se que quanto melhor e mais completas estiverem as informações, mais eficiente e precisa será a busca. Desta forma, são definidas orientações de como inserir os artefatos, sendo que a inserção deve ocorrer com a verificação e validação por pessoas distintas. A forma de classificação e recuperação apresentadas pode representar uma solução para otimizar o reuso efetivo em repositórios de artefatos. Contudo, para afirmar os possíveis benefícios obtidos está sendo implementado um protótipo de software com a estrutura proposta neste trabalho, para então avaliar, na prática, junto a fábricas de software diversas, sua efetividade. Referências Basili, V., Caldiera, G. and Rombach, D. (1994) Experience Factory. In: J. Marciniak, Editor, Encyclopedia of Software Engineering, Wiley, p Batista Junior, J. and Domingues, P. E. (2010) Method for searching software components. In: Natural Language. IEEE Latin America Transactions, vol. 8, no. 3, June 2010, p Biggerstaff, T and Perlis, A. (1989) Classification of Reusable Modules, in Software Reusability. Addison-Wesley, New York. Brito, T., Ribeiro, T., Nóbrega H. and Elias, G. (2009) Uma Técnica de Indexação de Artefatos de Software Baseada em Dados Semi-Estruturados. In:III Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS 2009), p Ding, L. et al. (2004) Swoogle: A Semantic Web Search and Metadata Engine. In: 13 th ACM Conference on Information and Knowledge Management, p

17 16 Frakes, W. B. and Pole, T. P. (1994). An empirical study of representation methods for reusable software component, In: IEEE Transactions on Software Engineering, vol. 20, no. 8, p Frakes, W. B. and Kang, K. (2005). Software reuse research: status and future, In: IEEE Transaction Software Engineering, vol. 31, no. 7, p Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1997), Design patterns. Elements of reusable object-oriented software, Addison-Wesley. Garcia, V. C., Lucrédio, D., Durão, F. A., Santos, E. C. R., Almeida, E. S., Fortes, R. P. M. and Meira, S. R. L. (2006) From Specification to the Experimentation: a Software Component Search Engine Architecture, In: 9th International Symposium on Component-Based Software Engineering (CBSE 2006), p Girardi, M. and Ibrahim, B. (1994) Automatic Indexing of Software Artifacts, In: 3rd International Conference on Software Reuse, IEEE Computer Society Press, p Greenfield, J. and Short, K. (2004), Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools, Indianapolis Indiana: Wiley Publications Inc. Grosz, G. (1992) Building Information System Requirements Using Generic Structures, In: 16th Computer Software & Applications Conference (COMPSAC 92), p Hall, P. A. V. (1992), Software Reuse and Reverse Engineering in Practice, London: Chapman & Hall. Henninger, S. (1994) Using iterative refinement to find reusable software, In: IEEE Software, vol. 11, no. 5, p Henninger, S. (1997). An evolutionary approach to constructing effective software reuse repositories, In: ACM Transaction on Software Engineering and Methodology, vol. 6, no. 2, p Justo, J. L. B. (1996) A Repository to Support Requirement Specifications Reuse, In: Information Systems Congress of New Zealand (ISCNZ'96), p Kotonya, G., Lock, S. and Mariani, J. (2011), Scrapheap software sdevelopment: lessons from an experiment on opportunistic reuse, In: IEEE Software, vol. 28, no. 2, p Maarek, Y. S. and Smadja, F. A. (1989) Full Text Indexing Based on Lexical Relations, an Application: Software Libraries, In: Conference on Research and development in information retrieval (ACMSIGIR 89), p Maiden, N. and Sutcliffe, A. (1992). Exploiting reusable specifications through analogy. In: Communications of the ACM, vo1.35, no. 4, p Mcilroy, M. D. (1968). Mass produced software components. In: NATO Software Engineering Conference, Springer, p Melo, Cláudia de Oliveira. (2007), Classificação Semi-Automática de Componentes Java, Dissertação de Mestrado, Instituto de Matemática e Estatística da Universidade de São Paulo: São Paulo.

18 17 Neighbours, J. M. (1984), The draco approach to constructing software from reusable components, In: IEEE Transactions on Software Engineering, vol. 10, no. 5, p Parnas, D. L. (1976). On the design and development of program families. In: IEEE Transaction On Software Engineering, vol. 2, no. 1, p Petrov. I; and Buchmann, A. (2008) Architecture of OMG MOF-based Repository Systems, In: International Organization for Information Integration and Web-based Application and Services (iiwas2008), p Podgurski, A. and Pierce, L. (1993). Retrieving reusable software by sampling behavior. In: ACM Transaction on Software Engineering and Methodology, vol. 2, no. 3, p Prieto-Diaz, R. (1989) Classification of Reusable Modules in Software Reusability: Concepts and Models, In: Biggerstaff, T. J. and Perlis, A. J. (Editors). Addison-Wesley Pub. Co.: New York, NY, p Prieto-Diaz, R. (1991). Implementing faceted classification for software reuse. In: Communications of the ACM, vol. 34, no. 5, p Redolfi, G., Spagnoli, L., Hemesath, P., Bastos, R. M., Ribeiro, M. B., Cristal, M. and Espindola, A. (2005) A Reference Model for Reusable Components Description, In 38th Hawaii International Conference on System Sciences, p Salton, G. and Mcgill, M.J. (1983) Introduction to Modern Information Retrieval. McGraw- Hill, N.Y. Shiva, S. G., and Shala, L. A. (2007) Software Reuse: Research and Practice, In: 4th IEEE Conference Information Technology (ITNG 07), IEEE CS Press, p Sivashanmugam, K., Verma, K., Sheth, A. and Miller, J. (2003) Adding Semantics to Web Services Standards, In: International Conference on Web Services, p Sommerville, I. (2007) Engenharia de Software. 8ª ed. São Paulo: Pearson Addison Wesley. Sutcliffe, A. and Maiden, N. (1994) Domain Modeling for Reuse, In: 3rd International. Conference on Software Reuse, p Vanderlei, T. A., Garcia, V. C., Almeida, E. S. and Meira, S. R. L. (2006) Folksonomy in a Software Component Search Engine Cooperative Classification through Shared Metadata, In: XX Simpósio Brasileiro de Engenharia de Software (SBES), p Vanderlei, T. A., Durão, F. A., Garcia, V. C., Almeida, E. S. and Meira, S. R. L. (2007) A Cooperative Classification Mechanism for Search and Retrieval Software Components, In: 22th Annual ACM Symposium on Applied Computing (ACM SAC), p

19 18 Análise comparativa entre Groovy e Java, aplicado no desenvolvimento web Vandir Fernando Rezende, Marcel Hugo Departamento de Sistemas e Computação Universidade Regional de Blumenau (FURB) Blumenau, SC Brasil Resumo. Este artigo apresenta uma análise comparativa, no desenvolvimento de softwares web, entre as linguagens de programação Groovy e Java. Baseando-se na norma NBR ISO/IEC foram determinados os critérios de avaliação. Para permitir a comparação foi implementado um aplicativo estudo de caso em ambas as linguagens, com o intuito de medir a diferença de produtividade no desenvolvimento dos casos de usos. Para comparar o desenvolvimento, foi calculado a UCP dos casos de usos e posteriormente verificado o tempo e o desempenho em cada linguagem. 1. Introdução Com a necessidade de criar ferramentas que facilitassem o seu trabalho diário, o homem passou a aprimorar cada vez mais os computadores e seus sistemas (SAMPAIO, 1999). Diante da informatização dos processos, a linguagem de programação Java tem se mostrado importante, principalmente pelo fato de ser muito abrangente, pois contempla desde dispositivos móveis até mainframes. Para isso, a mesma utiliza-se de uma das suas principais características, a portabilidade (JAVA, 2010). Segundo Oliveira (2009), Java conta com inúmeros frameworks, cada um especializado em um ramo distinto do desenvolvimento de software, incluindo desde a modelagem do banco de dados até a criação das interfaces visuais. Para ter esta flexibilidade, Java precisa ser especificamente configurado a cada funcionalidade, pois não conta com configurações predefinidas, ocasionando assim uma perda de produtividade no processo, em casos que o tempo levado para configurar a solução é maior que o tempo gasto com o desenvolvimento da regra de negócio. Pensando neste fato, foram propostas diversas soluções para a evolução da linguagem Java, principalmente focando no desenvolvimento ágil. Assim surge o JRuby e o Grails (Groovy on Rails), tentativas de aproximar a programação Java com a filosofia ágil (PETERSON, 2010). Com o lançamento do framework Grails, para desenvolvimento de aplicações web, Groovy ganhou credibilidade e o interesse da comunidade Java, provando assim, que o desenvolvimento de aplicações web escaláveis são produtivas e fáceis. Grails utilizou desde recursos básicos do Groovy, até recursos complexos de aplicações web, como persistência em banco de dados, Ajax, webservices, relatórios, processamento em lote, e plugins que permitem aos desenvolvedores melhorar e criar novas ferramentas que auxiliam o desenvolvimento (JUDD; NUSAIRAT; SHINGLER, 2008).

20 19 Neste cenário, foi desenvolvido um aplicativo de gestão de projetos, sendo ele implementado em Java e em Groovy, com o intuito de comparar as linguagens. Tomouse como base para a análise comparativa a norma NBR ISO/IEC (ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS, 2003). 2. NBR ISO/IEC A NBR ISO/IEC fornece um modelo de propósito geral, o qual define as seis amplas categorias de características de qualidade de software, que tem por objetivo servir de referência básica na avaliação de produto de software: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Comparar linguagens de programação (LPS) não é exatamente o objetivo dessa norma, contudo é o documento técnico que mais se aproxima com o objetivo proposto. Desta forma, tornou-se necessário adaptar o modelo para a análise comparativa de linguagens de programação, elencando as características e subcaracterísticas que são relevantes a este tipo de comparação. Assim foram definidas as seguintes características como critérios de avaliação, a serem aplicados na análise comparativa: a) produtividade/custo: modificando o modelo proposto, a fim de atender a análise comparativa, foi incluso o item produtividade na categoria funcionalidade, onde Sebesta (2003) alega que de todos os fatores que contribuem para os custos da linguagem, três são os mais importantes: desenvolvimento do programa, manutenção e confiabilidade uma vez que essas são funções da capacidade de escrita e da legibilidade; b) usabilidade: nas linguagens de programação pode-se avaliar a dificuldade de entendimento (inteligibilidade) dos padrões utilizados nela, assim como o custo de aprendizado (apreensibilidade) dos programadores que estão ingressando na mesma; c) eficiência: através de programas gerados pela linguagem de programação, é possível medir o tempo de execução de determinado rotina ou caso de uso e quanto recurso de hardware foi utilizado para essa execução; d) manutenibilidade: o quanto a estrutura da linguagem auxilia na detecção de falhas (analisabilidade), assim como na alteração de códigos existentes (modificabilidade); e) confiabilidade: capacidade do programa em executar de acordo com as suas especificações sob todas as condições. A definição por estas características da qualidade e o entendimento de cada uma delas guiou a seleção das características das LPS a serem empregadas na comparação. 3. Características das Linguagens de Programação Para se tratar cientificamente a programação, deve ser possível especificar precisamente as propriedades necessárias dos programas. O formalismo não é necessariamente um fim por si só. A importância das especificações formais deve, no final, se justificar pela sua utilidade sejam elas usadas ou não para melhorar a qualidade do software ou reduzir os custos de produção e manutenção de software (J. HORNING apud TUCKER; NOONAN, 2008).

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

Análise comparativa de produtividade entre Groovy e Java, aplicado no desenvolvimento web

Análise comparativa de produtividade entre Groovy e Java, aplicado no desenvolvimento web Análise comparativa de produtividade entre Groovy e Java, aplicado no desenvolvimento web Vandir Fernando Rezende Orientado por Marcel Hugo Roteiro Introdução Objetivos Fundamentação Teórica Desenvolvimento

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

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

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes MARACATU A component search tool Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes Vinicius Cardoso Garcia July 29, 2005 Agenda Introdução Especificação

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

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

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

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

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

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

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

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

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

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

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

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Autor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1.

Autor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1. 19 Congresso de Iniciação Científica ESPECIFICAÇÃO E IMPLEMENTAÇÃO DE UMA FERRAMENTA AUTOMATIZADA DE APOIO AO GERSE: GUIA DE ELICITAÇÃO DE REQUISITOS PARA SISTEMAS EMBARCADOS Autor(es) BARBARA STEFANI

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Nathalie Portugal Vargas

Nathalie Portugal Vargas Nathalie Portugal Vargas 1 Introdução Trabalhos Relacionados Recuperação da Informação com redes ART1 Mineração de Dados com Redes SOM RNA na extração da Informação Filtragem de Informação com Redes Hopfield

Leia mais

Notas de Aula 02: Processos de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois 1, 2, Karin Becker 2, Cláudia Werner 1 1 COPPE/UFRJ, Universidade Federal do Rio de Janeiro,

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

Tópicos. Engenharia de Software: Uma Visão Geral

Tópicos. Engenharia de Software: Uma Visão Geral Tópicos 2 3 Engenharia de Software: Uma Visão Geral SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 A importância do Software Software Aplicações

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

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

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

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT Jaqueline Rissá Franco email: jaquerifr@gmail.com Karla Marturelli Mattos Luciano Mathias Doll João Almeida Resumo: Este artigo mostra novas abordagens na

Leia mais

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE Prof. Dr. Ivanir Costa Unidade III QUALIDADE DE SOFTWARE Normas de qualidade de software - introdução Encontra-se no site da ABNT (Associação Brasileira de Normas Técnicas) as seguintes definições: Normalização

Leia mais

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009) CMMI Governo do ES (CESPE 2009) Na versão 1.2 do CMMI, 111 os níveis de capacidade são definidos na abordagem de estágios. 112 os níveis de maturidade são definidos na abordagem contínua. 113 existem seis

Leia mais

RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS

RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS Marcello Erick Bonfim 1

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

Paradigmas de Linguagens de Programação

Paradigmas de Linguagens de Programação Paradigmas de Linguagens de Programação Faculdade Nova Roma Cursos de Ciências da Computação (6 Período) Prof. Adriano Avelar - Site: www.adrianoavelar.com Email: edson.avelar@yahoo.com.br Ementa Introdução

Leia mais

Capítulo 1 - Introdução 14

Capítulo 1 - Introdução 14 1 Introdução Em seu livro Pressman [22] define processo de software como um arcabouço para as tarefas que são necessárias para construir software de alta qualidade. Assim, é-se levado a inferir que o sucesso

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Tipos de SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução 2 n As organizações modernas competem entre si para satisfazer as necessidades dos seus clientes de um modo

Leia mais

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,

Leia mais

Processo de Software

Processo de Software Processo de Software Uma importante contribuição da área de pesquisa de processo de software tem sido a conscientização de que o desenvolvimento de software é um processo complexo. Pesquisadores e profissionais

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

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

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

Qualidade de Processo de Software Normas ISO 12207 e 15504

Qualidade de Processo de Software Normas ISO 12207 e 15504 Especialização em Gerência de Projetos de Software Qualidade de Processo de Software Normas ISO 12207 e 15504 Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto

Leia mais

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Gustavo Zanini Kantorski, Marcelo Lopes Kroth Universidade Federal de Santa Maria (UFSM) 97100-000 Santa Maria

Leia mais

UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB

UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB Alan Francisco de Souza¹, Claudete Werner¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil alanfsouza.afs@gmail.com,

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás Prof.: Ivon Rodrigues Canedo PUC Goiás Qualidade Subjetiva Não sei o que é mas reconheço quando a vejo Qualidade Baseada no Produto O produto possui algo que produtos similares não têm Qualidade Baseada

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

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

JOSÉ AUGUSTO FABRI. Uma Proposta de Modelo para a Criação e a Organização de Processos de Produção em um Contexto de Fábrica de Software

JOSÉ AUGUSTO FABRI. Uma Proposta de Modelo para a Criação e a Organização de Processos de Produção em um Contexto de Fábrica de Software JOSÉ AUGUSTO FABRI Uma Proposta de Modelo para a Criação e a Organização de Processos de Produção em um Contexto de Fábrica de Software São Paulo 2007 JOSÉ AUGUSTO FABRI Uma Proposta de Modelo para a Criação

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO CST ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo desde a

Leia mais

Documento de Projeto de Software

Documento de Projeto de Software Documento de Projeto de Software Projeto: Vídeo Locadora Passatempo Versão: 1.0 Responsável: Ricardo de Almeida Falbo 1. Introdução Este documento apresenta o documento de projeto (design) do sistema de

Leia mais

Um processo para construção de software mais transparente

Um processo para construção de software mais transparente Um processo para construção de software mais transparente Eduardo Almentero 1, and Julio Cesar Sampaio do Prado Leite 1 1 Pontifícia Universidade Católica do Rio de Janeiro, PUC - Rio, Brasil {ealmentero,

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2015.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS... 4 04 TEORIA

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

AVALIAÇÃO DA QUALIDADE DE SOFTWARE DE GESTÃO INTEGRADA UTILIZANDO AS NORMAS ISO/IEC 9126 e ISO/IEC 14598-1 Acadêmico: Adriano Kasburg Orientador : Everaldo Artur Grahl Roteiro Introdução Motivação Objetivos

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS DOCUMENTO DE REQUISITOS ID documento: Data: / / Versão : Responsável pelo documento: ID Projeto: HISTÓRICO DE REVISÕES Data de criação/ atualização Descrição da(s) Mudança(s) Ocorrida(s) Autor Versão do

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais

ANÁLISE COMPARATIVA ENTRE GROOVY E JAVA, APLICADO NO DESENVOLVIMENTO WEB

ANÁLISE COMPARATIVA ENTRE GROOVY E JAVA, APLICADO NO DESENVOLVIMENTO WEB UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO ANÁLISE COMPARATIVA ENTRE GROOVY E JAVA, APLICADO NO DESENVOLVIMENTO WEB VANDIR FERNANDO

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Prototipação de Software

Prototipação de Software UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005

Leia mais

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO Jader dos Santos Teles Cordeiro Orientador Prof. Paulo Guilhermeti PERSISTÊNCIA EM OBJETOS JAVA: UMA ANÁLISE

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

RBC no Auxílio de Avaliações Imobiliárias

RBC no Auxílio de Avaliações Imobiliárias RBC no Auxílio de Avaliações Imobiliárias Adauto Trigueiro, Alcione da Costa Pinheiro, Clerton Filho, Kátia Silva Unidade Acadêmica de Sistemas e Computação Universidade Federal de Campina Grande (UFCG)

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

SISTEMA WEB PARA ARMAZENAMENTO E RECUPERAÇÃO DE ARTEFATOS DE SOFTWARE

SISTEMA WEB PARA ARMAZENAMENTO E RECUPERAÇÃO DE ARTEFATOS DE SOFTWARE UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ADRIANA ARIATI SISTEMA WEB PARA ARMAZENAMENTO E RECUPERAÇÃO DE ARTEFATOS DE SOFTWARE TRABALHO

Leia mais

Fatores de Qualidade de Software

Fatores de Qualidade de Software Programação Orientada por Objetos Programação Orientada por Objetos Kecia Aline Marques Ferreira Princípios, objetivos e filosofia 2007 Kecia A. M. Ferreira POO 1 Kecia A. M. Ferreira POO 2 Princípios,

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

Leia mais

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto Prof. Elias Batista Ferreira Material cedido por: Prof. Edison A M Morais Objetivo Descrever os processos da norma

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás

Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás Alessandra Brito F. Oliveira 1; Vera Maria Benjamim Werneck 1 ; Regina Serrão Lanzillotti 1 ; Haydée Serrão

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

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C#

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# Robson Bartelli¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil robson_lpbartelli@yahoo.com.br,wyllian@unipar.br

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

Requisitos de Ferramentas de Apoio aos Processos de Medição de Software. Marco Aurélio Vilaça de Melo

Requisitos de Ferramentas de Apoio aos Processos de Medição de Software. Marco Aurélio Vilaça de Melo Requisitos de Ferramentas de Apoio aos Processos de Medição de Software Marco Aurélio Vilaça de Melo Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG

Leia mais

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

Leia mais

Qualidade de software

Qualidade de software Faculdade de Ciências Sociais e Aplicadas de Petrolina - FACAPE Curso: Ciência da Computação Disciplina:Projeto de Sistemas Qualidade de software cynaracarvalho@yahoo.com.br Qualidade de software Qualidade

Leia mais

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5 Para entender bancos de dados, é útil ter em mente que os elementos de dados que os compõem são divididos em níveis hierárquicos. Esses elementos de dados lógicos constituem os conceitos de dados básicos

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2011.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS PARA COMPUTAÇÃO...

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

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) SISTEMA INTERNO INTEGRADO PARA CONTROLE DE TAREFAS INTERNAS DE UMA EMPRESA DE DESENVOLVIMENTO

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

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES Rigoleta Dutra Mediano Dias 1, Lívia Aparecida de Oliveira Souza 2 1, 2 CASNAV, MARINHA DO BRASIL, MINISTÉRIO DA DEFESA, BRASIL Resumo: Este

Leia mais

ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES

ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES Vilson Raphael Vello de Andrade 1 ;

Leia mais

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications) A boa organização lógica do documento

Leia mais

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

APRESENTAÇÃO DO PRODUTO. Mais que um software, o método mais eficaz para conciliar.

APRESENTAÇÃO DO PRODUTO. Mais que um software, o método mais eficaz para conciliar. APRESENTAÇÃO DO PRODUTO Mais que um software, o método mais eficaz para conciliar. Com Conciliac é possível conciliar automaticamente qualquer tipo de transação; Bancos, Cartões de Crédito e Débito, Contas

Leia mais