Spelling suggestions: "subject:"objectoriented paradigm"" "subject:"object_oriented paradigm""
1 |
Técnicas diagramáticas para desenvolvimento de software orientado a objetos / Diagramming techniques for object-oriented software developmentYamaguti, Marcelo Hideki January 1993 (has links)
Este trabalho aborda a efetiva utilização de técnicas diagramáticas para o desenvolvimento de software orientado a objetos durante as fases de análise e projeto de sistemas. Durante o desenvolvimento de software normalmente as especificações resultantes das fases de análise e projeto possuem uma forma gráfica. A utilização de diagramas no desenvolvimento de software busca facilitar a criação de especificações de um sistema e ao mesmo tempo torná-las mais compreensíveis. A grande maioria das técnicas diagramáticas que existem atualmente são utilizadas para o apoio ao desenvolvimento de software segundo metodologias fundamentadas no paradigma tradicional de decomposição funcional. Diversas técnicas diagramáticas foram criadas ou adaptadas a fim de suportar os conceitos deste paradigma, acompanhando a própria evolução do mesmo. Neste contexto, são apresentadas as características básicas de técnicas diagramáticas tradicionais que apoiam a este paradigma. A partir da introdução dos conceitos de orientação a objetos no desenvolvimento de software, surge a necessidade de criação de novas técnicas diagramáticas ou adaptação de técnicas diagramáticas tradicionais para o suporte adequado ao desenvolvimento de sistemas sob este paradigma. Neste contexto, são abordados os conceitos envolvidos na orientação a objetos e apresentados os aspectos diferenciais no desenvolvimento de software decorrentes da utilização deste paradigma em contraposição aos paradigmas tradicionais. São também apresentadas as tarefas específicas realizadas durante o desenvolvimento de software, nas fases de análise e projeto, que estão inseridas no ciclo de vida de um software orientado a objetos. É proposto um conjunto de notações diagramáticas inter-relacionadas adequado ao apoio de um esquema de etapas básicas para o desenvolvimento de software orientado a objetos, bem como as metodologias já existentes. Durante a descrição destas notações diagramáticas, são apresentadas as suas características individuais, adaptações realizadas para o suporte a orientação a objetos, suas aplicações específicas no desenvolvimento de sistemas e o inter-relacionamento existente. Finalmente, são definidas as características de recursos e facilidades específicas para o apoio às notações propostas. Dentro dos recursos sugeridos inclui-se a definição da implementação de um editor diagramático que é descrito através das notações sugeridas neste trabalho. / This work tackles the effective use of diagramming techniques for object-oriented software development during analysis and design phases. During software development the specifications produced by analysis and design usually take a graphical form. The use of diagrams in software development occurs because designers and analysts like to express themselves that way to turn the specifications more understandable. Most of diagramming techniques in use nowadays support software development following methodologies based on the conventional functional decomposition paradigm. Various diagramming techniques were created or adapted in order to support the concepts of this paradigm, following its own evolution. With the introduction of object-oriented concepts new diagramming techniques were created or adapted from conventional methodologies. This work introduces the concepts of object orientation, as well as, the changes originated from the use of this paradigm in software development. Specific steps related to the analysis and design stages in the object-oriented software life cycle are also presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. The description of these diagramming techniques includes new features, discussion of adaptations for object-oriented techniques, specific applications and uses, and their integration. Finally, the features of specific resources and facilities for supporting the proposed notations are defined. The description of the implementation of a diagrammatic editor, using the notations presented in this work, is included.
|
2 |
Padrões de projeto no desenvolvimento de sistemas de processamento de imagensWelfer, Daniel 01 February 2005 (has links)
This dissertation presents software components for processing and analysis of digital images and a system capable to control them in an organized way. The Components
must be functional, context-free, readable and maintainable. So far, achieving these basic requirements is a need in the software development process. Software components
are designed to be reusable in a variety of different environments. The architecture of programming language used, in the case Java, allows programs to be assembled from
software building blocks. In that way the designer can incorporate easily these components into an application, needing just to know your entrance and exit interface. However, to find the right abstractions to build extensible and reusable software is not an easy task. Even experienced object-oriented designers often need to review a design several times before getting to one appropriate solution. Therefore, the idea of design patterns has gained ground quickly since it provides a solution to a certain design problem. These patterns specify a way to build, structure, and manipulate software entities in a reasonably fashion, aiming mainly, to management your complexity in the domain of digital imaging processing to assure your quality. In this paper were built components for image segmentation based on convolution filters, for improvement of the quality of the image through the process of automatic equalization, for image storage in graphic files of different formats, in the creation of a component to visualize the histogram, in the visualization of the image in the screen through graphic interface, in the conversion of the colored images for
grayscale formats and in the thresholding process. / Essa dissertação apresenta componentes de software para processamento e análise de imagens digitais e um sistema capaz de controlá-los de forma organizada. Os componentes
precisam ser funcionais, flexíveis, legíveis e de fácil manutenção. Assim, alcançar esses requerimentos básicos é uma necessidade no processo de desenvolvimento de software. Componentes de software são projetados para serem usados em uma variedade de ambientes. A arquitetura da linguagem de programação utilizada, no caso Java, permite que os programas sejam montados a partir de blocos de software. Dessa forma o projetista pode incorporar facilmente esse componente em uma aplicação, necessitando conhecer
apenas sua interface de entrada e saída. No entanto, encontrar a abstração certa para construir software reutilizável não é uma tarefa fácil. Mesmo os projetistas mais experientes em orientação por objetos freqüentemente precisam revisar um projeto várias vezes antes de conseguir uma solução apropriada. Por essa razão, a idéia de padrões de projeto tem ganhado terreno rapidamente, desde que estabelece uma solução para um certo problema de projeto. Estes padrões especificam uma maneira para construir, estruturar e manipular entidades de software em um estilo racional visando, principalmente, gerenciar a sua complexidade no domínio de processamento digital de imagens para assegurar a sua qualidade. Nesse trabalho foram construídos componentes para segmentação de imagens
baseado em filtros de convolução, para melhoria da qualidade da imagem através do processo de equalização automática, para armazenamento da imagem em arquivos gráficos de diferentes formatos, na criação de um componente para visualizar o histograma, na visualização da imagem na tela através de interface gráfica, na conversão da imagens
coloridas para tons de cinza e no processo de limiarização.
|
3 |
A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusionsZirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
|
4 |
Técnicas diagramáticas para desenvolvimento de software orientado a objetos / Diagramming techniques for object-oriented software developmentYamaguti, Marcelo Hideki January 1993 (has links)
Este trabalho aborda a efetiva utilização de técnicas diagramáticas para o desenvolvimento de software orientado a objetos durante as fases de análise e projeto de sistemas. Durante o desenvolvimento de software normalmente as especificações resultantes das fases de análise e projeto possuem uma forma gráfica. A utilização de diagramas no desenvolvimento de software busca facilitar a criação de especificações de um sistema e ao mesmo tempo torná-las mais compreensíveis. A grande maioria das técnicas diagramáticas que existem atualmente são utilizadas para o apoio ao desenvolvimento de software segundo metodologias fundamentadas no paradigma tradicional de decomposição funcional. Diversas técnicas diagramáticas foram criadas ou adaptadas a fim de suportar os conceitos deste paradigma, acompanhando a própria evolução do mesmo. Neste contexto, são apresentadas as características básicas de técnicas diagramáticas tradicionais que apoiam a este paradigma. A partir da introdução dos conceitos de orientação a objetos no desenvolvimento de software, surge a necessidade de criação de novas técnicas diagramáticas ou adaptação de técnicas diagramáticas tradicionais para o suporte adequado ao desenvolvimento de sistemas sob este paradigma. Neste contexto, são abordados os conceitos envolvidos na orientação a objetos e apresentados os aspectos diferenciais no desenvolvimento de software decorrentes da utilização deste paradigma em contraposição aos paradigmas tradicionais. São também apresentadas as tarefas específicas realizadas durante o desenvolvimento de software, nas fases de análise e projeto, que estão inseridas no ciclo de vida de um software orientado a objetos. É proposto um conjunto de notações diagramáticas inter-relacionadas adequado ao apoio de um esquema de etapas básicas para o desenvolvimento de software orientado a objetos, bem como as metodologias já existentes. Durante a descrição destas notações diagramáticas, são apresentadas as suas características individuais, adaptações realizadas para o suporte a orientação a objetos, suas aplicações específicas no desenvolvimento de sistemas e o inter-relacionamento existente. Finalmente, são definidas as características de recursos e facilidades específicas para o apoio às notações propostas. Dentro dos recursos sugeridos inclui-se a definição da implementação de um editor diagramático que é descrito através das notações sugeridas neste trabalho. / This work tackles the effective use of diagramming techniques for object-oriented software development during analysis and design phases. During software development the specifications produced by analysis and design usually take a graphical form. The use of diagrams in software development occurs because designers and analysts like to express themselves that way to turn the specifications more understandable. Most of diagramming techniques in use nowadays support software development following methodologies based on the conventional functional decomposition paradigm. Various diagramming techniques were created or adapted in order to support the concepts of this paradigm, following its own evolution. With the introduction of object-oriented concepts new diagramming techniques were created or adapted from conventional methodologies. This work introduces the concepts of object orientation, as well as, the changes originated from the use of this paradigm in software development. Specific steps related to the analysis and design stages in the object-oriented software life cycle are also presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. The description of these diagramming techniques includes new features, discussion of adaptations for object-oriented techniques, specific applications and uses, and their integration. Finally, the features of specific resources and facilities for supporting the proposed notations are defined. The description of the implementation of a diagrammatic editor, using the notations presented in this work, is included.
|
5 |
A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusionsZirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
|
6 |
Técnicas diagramáticas para desenvolvimento de software orientado a objetos / Diagramming techniques for object-oriented software developmentYamaguti, Marcelo Hideki January 1993 (has links)
Este trabalho aborda a efetiva utilização de técnicas diagramáticas para o desenvolvimento de software orientado a objetos durante as fases de análise e projeto de sistemas. Durante o desenvolvimento de software normalmente as especificações resultantes das fases de análise e projeto possuem uma forma gráfica. A utilização de diagramas no desenvolvimento de software busca facilitar a criação de especificações de um sistema e ao mesmo tempo torná-las mais compreensíveis. A grande maioria das técnicas diagramáticas que existem atualmente são utilizadas para o apoio ao desenvolvimento de software segundo metodologias fundamentadas no paradigma tradicional de decomposição funcional. Diversas técnicas diagramáticas foram criadas ou adaptadas a fim de suportar os conceitos deste paradigma, acompanhando a própria evolução do mesmo. Neste contexto, são apresentadas as características básicas de técnicas diagramáticas tradicionais que apoiam a este paradigma. A partir da introdução dos conceitos de orientação a objetos no desenvolvimento de software, surge a necessidade de criação de novas técnicas diagramáticas ou adaptação de técnicas diagramáticas tradicionais para o suporte adequado ao desenvolvimento de sistemas sob este paradigma. Neste contexto, são abordados os conceitos envolvidos na orientação a objetos e apresentados os aspectos diferenciais no desenvolvimento de software decorrentes da utilização deste paradigma em contraposição aos paradigmas tradicionais. São também apresentadas as tarefas específicas realizadas durante o desenvolvimento de software, nas fases de análise e projeto, que estão inseridas no ciclo de vida de um software orientado a objetos. É proposto um conjunto de notações diagramáticas inter-relacionadas adequado ao apoio de um esquema de etapas básicas para o desenvolvimento de software orientado a objetos, bem como as metodologias já existentes. Durante a descrição destas notações diagramáticas, são apresentadas as suas características individuais, adaptações realizadas para o suporte a orientação a objetos, suas aplicações específicas no desenvolvimento de sistemas e o inter-relacionamento existente. Finalmente, são definidas as características de recursos e facilidades específicas para o apoio às notações propostas. Dentro dos recursos sugeridos inclui-se a definição da implementação de um editor diagramático que é descrito através das notações sugeridas neste trabalho. / This work tackles the effective use of diagramming techniques for object-oriented software development during analysis and design phases. During software development the specifications produced by analysis and design usually take a graphical form. The use of diagrams in software development occurs because designers and analysts like to express themselves that way to turn the specifications more understandable. Most of diagramming techniques in use nowadays support software development following methodologies based on the conventional functional decomposition paradigm. Various diagramming techniques were created or adapted in order to support the concepts of this paradigm, following its own evolution. With the introduction of object-oriented concepts new diagramming techniques were created or adapted from conventional methodologies. This work introduces the concepts of object orientation, as well as, the changes originated from the use of this paradigm in software development. Specific steps related to the analysis and design stages in the object-oriented software life cycle are also presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. The description of these diagramming techniques includes new features, discussion of adaptations for object-oriented techniques, specific applications and uses, and their integration. Finally, the features of specific resources and facilities for supporting the proposed notations are defined. The description of the implementation of a diagrammatic editor, using the notations presented in this work, is included.
|
7 |
A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusionsZirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
|
8 |
Pokročilé programové konstrukce a programovací techniky jazyka Swift / Advanced programming constructs and techniques in the Swift languageČislinský, Jan January 2017 (has links)
The thesis focuses on advanced programming constructs and techniques of the Swift programming language. At the beginning programming paradigms that are supported by the Swift design (object-oriented and functional) are introduced. Concepts of each paradigm are described and Swift is then evaluated by the level of support for these paradigms. Following programming constructs are described in-depth: working with variables, optional types, enumerated types, functions and closures. Creating of custom operators and subscripts. Operations with protocols, generic types and parallel program execution. Error handling with throwing functions. Detailed explanation of value types and their differences from reference type is given too. Thesis also explains nested types and all higher-order functions in Swift. At the end are described extensions; specifically extension of computed property, initialization function, function, subscript, nested type and protocol and generic types extensions. In the last section of the thesis these advanced programming techniques are described; function chaining and composition, structure saving, performance optimization of value types, reflection in the Swift programming language and how modules and namespaces work. At the end protocol-oriented programming is introduced.
|
Page generated in 0.1045 seconds