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 {beatriz,elianedb,rubia}@utfpr.edu.br; adrianaariati@hotmail.com;rbelazi@hotmail.com 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 rezende.vandir@gmail.com,marcel@furb.br 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).

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

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

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

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

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

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

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

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

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

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

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

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

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

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

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

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

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

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

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

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Resumo. Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Autor: Danilo Humberto Dias Santos Orientador: Walteno Martins Parreira Júnior Bacharelado em Engenharia da Computação

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Modelos de Qualidade de Produto de Software

Modelos de Qualidade de Produto de Software CBCC Bacharelado em Ciência da Computação CBSI Bacharelado em Sistemas de Informação Modelos de Qualidade de Produto de Software Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

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

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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 Prof. Dr. Juliano Lopes de Oliveira (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications)

Leia mais

2.1 Os projetos que demonstrarem resultados (quádrupla meta) serão compartilhados na Convenção Nacional.

2.1 Os projetos que demonstrarem resultados (quádrupla meta) serão compartilhados na Convenção Nacional. O Prêmio Inova+Saúde é uma iniciativa da SEGUROS UNIMED que visa reconhecer as estratégias de melhoria e da qualidade e segurança dos cuidados com a saúde dos pacientes e ao mesmo tempo contribua com a

Leia mais

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA Elaboração em planos de Calibração Interna na Indústria Automotiva Joel Alves da Silva, Diretor Técnico JAS-METRO Soluções e Treinamentos

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

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

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. 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 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

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

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

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 Renan J. Borges 1, Késsia R. C. Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí, PR Brasil renanjborges@gmail.com, kessia@unipar.br

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

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

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

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

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

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

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO EPE0147 UTILIZAÇÃO DA MINERAÇÃO DE DADOS EM UMA AVALIAÇÃO INSTITUCIONAL

Leia mais

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO Resumo: Dolores Follador Secretaria de Estado da Educação do Paraná e Faculdades Integradas do Brasil - Unibrasil doloresfollador@gmail.com

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 Conteúdo 1. INTRODUÇÃO...3 1.1 CONVENÇÕES, TERMOS E ABREVIAÇÕES... 3 1.1.1 Identificação dos Requisitos... 3 1.1.2 Prioridades

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 QUALIDADE DE SOFTWARE Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 Objetivos Apresentar o processo de gerenciamento de qualidade e as atividades centrais da garantia de

Leia mais

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos ISO/IEC 12119 ISO/IEC 12119 Et Esta norma é aplicável liá là avaliação de pacotes de software na forma em que são oferecidos e liberados para uso no mercado É importante salientar que não é objetivo desta

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

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