Spelling suggestions: "subject:"objectoriented design"" "subject:"object_oriented design""
21 |
St. Jude Medical: An Object-Oriented Software Architecture for Embedded and Real-Time Medical DevicesAmiri, Atila 01 August 2010 (has links) (PDF)
Medical devices used for surgical or therapeutic purposes require a high degree of safety and effectiveness. Software is critical component of many such medical devices. The software architecture of a system defines organizational structure and the runtime characteristic of the application used to control the operation of the system and provides a set of frameworks that are used to develop that. As such, the design of software architecture is a critical element in achieving the intended functionality, performance, and safety requirements of a medical device. This architecture uses object-oriented design techniques, which model the underlying system as a set of objects that interact to achieve their goals. The architecture includes a number of frameworks comprised of a set of classes that can be extended to achieve different functionality required for a medical device. The Input/ Output (IO) framework includes a number of core classes that implement periodic and a periodic input output with varying priority requirements, provides a hardware neutral interface to the application logic, and a set of classes that can be extended to both meet the hardware IO specifics of a target platform and create new sensor and actuator types for client applications. The Devices framework provides a blueprint to develop the controller logic of the medical device in terms of abstractions that parallel the hardware components of the medical device. The Configuration framework allows creation and configuration of a medical device from an XML (Extensible Markup Specification) specification that specifies the configuration of the device based on abstract factories that can be extended to meet requirements of a specific medical device. The Controller is the component of the architecture that defines classes that implement reception of commands from and transmission of status and data to a local or remote client and dictate the structure of threads, thread priorities and policies for this purpose. The Diagnostics package of the architecture defines a framework for developing components that monitor the health of the system and detect emergency conditions. The architecture is implemented in C++ and runs on a real-time LINUX operating system. At this time, the architecture is used in development of two of the St. Jude Medical Atrial Fibrillation Division’s medical devices; one of these has FDA class III and the other class II classification.
|
22 |
Integrating a software engineering approach and instructional factors in instructional software development--illustrated by a prototype in theoretical computer scienceDe Villiers, Mary Ruth 09 1900 (has links)
This dissertation is a multi-disciplinary study, which integrates a software engineering
approach with instructional factors in the decision-making, analysis, design and development
processes of instructional software. Software engineering models, tools and representations
are used in the process of software construction. With reference to the fundamental
characteristics of the software product, several disciplines and factors, from both instructional
and computing perspectives are considered, and the most appropriate approach/es selected.
Software engineering, instructional design and instructional theory are considered as pillars
of courseware engineering.
The object-oriented design paradigm and a prototyping life-cycle model are found to be most
suitable for development of computer-aided instruction. The conceptual study is illustrated
by prototype development of a component-based multi-activity practice environment in
theoretical Computer Science. It offers perusal or practice, in various instructional modes,
according to the user's preferred learning style or need. / Computing / M. Sc. (Information Systems)
|
23 |
Integrating a software engineering approach and instructional factors in instructional software development--illustrated by a prototype in theoretical computer scienceDe Villiers, M.R. (Ruth) 09 1900 (has links)
This dissertation is a multi-disciplinary study, which integrates a software engineering
approach with instructional factors in the decision-making, analysis, design and development
processes of instructional software. Software engineering models, tools and representations
are used in the process of software construction. With reference to the fundamental
characteristics of the software product, several disciplines and factors, from both instructional
and computing perspectives are considered, and the most appropriate approach/es selected.
Software engineering, instructional design and instructional theory are considered as pillars
of courseware engineering.
The object-oriented design paradigm and a prototyping life-cycle model are found to be most
suitable for development of computer-aided instruction. The conceptual study is illustrated
by prototype development of a component-based multi-activity practice environment in
theoretical Computer Science. It offers perusal or practice, in various instructional modes,
according to the user's preferred learning style or need. / Computing / M. Sc. (Information Systems)
|
24 |
Identificação e visualização de dependências em sistemas de software orientados a objetos / Identification and Visualization of Dependencies in Object-Oriented Software SystemsOliva, Gustavo Ansaldi 22 September 2011 (has links)
Degradação do design é um problema central investigado na área de evolução de software. A densa rede de interdependências que emerge entre classes e módulos ao longo do tempo resulta em código difícil de mudar, não reutilizável e que não comunica por si só sua intenção. Dentre outros motivos, designs degradam porque requisitos mudam de maneiras não antecipadas pelo design inicial, ou seja, as modificações no código introduzem dependências novas e não planejadas entre classes e módulos do sistema. A gerência de dependências visa reduzir a degradação do design por meio de uma série de mecanismos que auxiliam na administração da complexidade estrutural inerente de sistemas orientados a objetos. Neste trabalho, investigamos as técnicas de identificação de dependências estruturais e lógicas. Em particular, por meio de um estudo de larga escala, comparamos os conjuntos desses dois tipos de dependências. Em seguida, conduzimos um estudo de caso a fim de identificar as origens de dependências lógicas. Por fim, fazemos um levantamento das técnicas de visualização de dependências e mostramos a ferramenta XFlow. / Design degradation is a central problem investigated in the area of software evolution. The dense web of interdependencies that emerges among classes and modules over time results in code that is hard to change, not reusable and that does not communicate its intention. Among other reasons, designs degrade because requirements changes in ways that were not anticipated by the initial design, i.e. the changes in code introduce new and unplanned dependencies among classes and modules of the system. Dependency management aims to reduce design degradation by means of a series of mechanisms that helps in the management of the inherent structural complexity of object oriented systems. In this work, we investigate structural and logical dependencies identification techniques. In particular, by means of a large scale study, we compare the sets of these two kinds of dependencies. Afterwards, we conduct a case study in order to uncover the origins of logical dependencies. Finally, we survey dependency visualization techniques and present the XFlow tool.
|
25 |
An Investigation of Modular Dependencies in Aspects, Features and ClassesYang, Shoushen 29 May 2007 (has links)
"The essence of software design is to construct well-defined, encapsulated modules that are composed together to build the desired software application. There are several design paradigms in use today, including traditional Object-Oriented Programming (OOP), Feature-Oriented Programming (FOP), Aspect-Oriented Programming (AOP) and Instance-Oriented Programming (IOP). FOP studies the modularity of features in product lines, where a feature is an increment in program functionality. AOP aims to separate and modularize aspects when an aspect is a crosscutting concern. IOP, as an extension to FOP, makes the layers work like object factories. While each is good at solving different types of problems, they are closely related. The composition of modules is complicated because modules have (often hidden) dependencies on other modules. This thesis aims to better understand the way dependencies are managed by each approach. Based on this, we focus on the precedence issue in AOP and FOP, that is, how designers are able to specify the order by which modules are composed together. Different precedence means different semantics, but the current tools can not guarantee the correct precedence is adopted. We first solve the precedence issue separately for AOP and FOP, then based on this, we come up with a unified model to solve the precedence issue by using source code annotations to specify the precedence. We evaluate our technique with use cases. "
|
26 |
Uma proposta de modelagem conceitual de sistemas dirigida por comportamento / A proposal of behavior-driven systems conceptual modelingBustos Reinoso, Guillermo January 1996 (has links)
A Modelagem Orientada a Objetos (MOO) é o processo de construção de modelos de sistemas através da identificação e definição de um conjunto de objetos relacionados, que comportam-se e colaboram entre si conforme os requisitos estabelecidos para o sistema. Esta definição inclui os três aspectos ortogonais, ou dimensões, deste tipo de modelagem: a dimensão estrutural dos objetos, a dimensão dinâmica do comportamento e a dimensão funcional dos requisitos. Conforme a importância relativa dada a cada uma destas dimensões, podem ser definidas três estratégias possíveis para conduzir a MOO. Estas estratégias são as dirigidas por dados, por comportamento e por processos. A estratégia dirigida por processos já esta superada. Atualmente, a estratégia dirigida por dados domina na maioria das técnicas de MOO. A estratégia dirigida por comportamento propõe que a estrutura dos objetos em um sistema pode ser determinada a partir do comportamento externo e interno que o sistema deve apresentar. Esta idéia é interessante, porque permite introduzir tardiamente o encapsulamento na MOO. Conforme é argumentado neste trabalho, as vantagens atribuídas a orientação a objetos são de implementação, isto é, a decisão de orientar ou não a objetos é, na realidade, uma decisão de design. Ao introduzir o encapsulamento na modelagem inicial do sistema, ganha-se o benefício da continuidade estrutural ao custo de colocar a MOO mais perto do design. Neste contexto, este trabalho apresenta um processo de modelagem conceitual de sistemas do ponto de vista comportamental que introduz tardiamente o encapsulamento da orientação a objetos como primeiro passo de design. Em outras palavras, é proposta uma técnica de modelagem sob uma estratégia dirigida por comportamento (privilegiando, assim, o aspecto dinâmico dos sistemas) com o suficiente poder de expressão para, ao mesmo tempo, permitir a modelagem de sistemas de informação no nível conceitual e derivar dos modelos dinâmicos obtidos uma representação estrutural orientada a objetos. 0 sistema, na concepção desta proposta, é composto por um conjunto de processos concorrentes, cada um dos quais recebe um estimulo do ambiente, realiza um tratamento especifico sobre ele e gera para o ambiente uma resposta. Os estímulos externos são decompostos em conjuntos de eventos concorrentes tratados no interior do processo. As ações realizadas no interior do mesmo são compostas nas respostas geradas para o exterior. Os processos são modelados comportamentalmente, utilizando o formalismo proposto High-Level Statecharts (HLS). HLS é uma extensão dos statecharts de Harel. As principais extensões propostas são a introdução de estados "parametrizados" usando variáveis e a representação genérica de conjuntos de estados concorrentes e exclusivos. 0 modelo de processos e desintegrado em unidades de comportamento que tratam das mesmas variáveis. Estas unidades são integradas em um modelo de ciclos de vida para estas variáveis. Finalmente, apos a aplicação da técnica de modelagem conceitual, e obtido um modelo estrutural orientado a objetos. Este modelo e derivado utilizando unicamente informações contidas nos modelos dinâmicos gerados no processo da técnica proposta. No modelo estrutural são identificadas classes, objetos, atributos, associações estáticas, hierarquias de herança e operações. Todo o processo e exemplificado utilizando o problema padrão de preparação de congressos da IFIP. / Object-Oriented Modeling (OOM) is the process of construction of systems models, through an identification and definition of a set of relating objects. These objects have a collaborative behavior according to the system requirements previously defined. This definition includes three modeling aspects or dimensions: object structural dimension, behavior dynamic dimension and requirements functional dimension. Depending on a relative importance of each dimension, three possible strategies to drive OOM are defined. The strategies are: data-driven, behavior-driven and process-driven. Process-driven strategy is obsolete. Nowadays, data-driven is the dominant strategy in the world of OOM techniques. Behavior-driven strategy suggests both internal and external system behaviors define its object structure. This idea is attractive because it allows a late encapsulation in the OOM. As explained in this work, the main advantage to use object-orientation is for implementation. So, to object-orient or not to object-orient is a design decision. If encapsulation is introduced in the very beginning of systems modeling, the structural continuity is achieved at the cost of pulling OOM closer to design. In this context, the work presents a process of systems conceptual modeling using a behavioral point of view. This process introduces object-oriented encapsulation lately as a first step in the design phase. In other words, this work is a proposal of a modeling technique under a behavior-driven strategy (focusing the dynamic aspect of the systems) with enough expression power to model information systems at conceptual level and, at the same time, to derive of an object-oriented structural representation from the dynamic models. As conceived in the proposal, a system is composed by a set of concurrent processes. Each process receives a stimuli from the environment, makes a specific treatment on it and generates a response to the environment. The external stimuli is decomposed into a set of concurrent events which are internally handled by the process. Actions internally performed by the process are composed into a response which is sent outside the process. Processes are behaviorally modeled using a proposed formalism called High-Level Statecharts (HLS). HLS is a extension of Harel's statecharts. The main extensions proposed are parameterized states using variables and generic representation of concurrent and exclusive sets of states. Process model is disintegrated into behavior units handling the same variables. The units are integrated into a life cycle model for these variables. Finally, after the modeling technique has been applied, an object-oriented structural model is obtained. This model is derived exclusively using information from the dynamic models constructed during the modeling process. Classes, objects, attributes, static associations, inheritance hierarchies and operations in the structural model are identified. Examples used in all the modeling process are taken from the standard problem of IFIP conference.
|
27 |
Uma proposta de modelagem conceitual de sistemas dirigida por comportamento / A proposal of behavior-driven systems conceptual modelingBustos Reinoso, Guillermo January 1996 (has links)
A Modelagem Orientada a Objetos (MOO) é o processo de construção de modelos de sistemas através da identificação e definição de um conjunto de objetos relacionados, que comportam-se e colaboram entre si conforme os requisitos estabelecidos para o sistema. Esta definição inclui os três aspectos ortogonais, ou dimensões, deste tipo de modelagem: a dimensão estrutural dos objetos, a dimensão dinâmica do comportamento e a dimensão funcional dos requisitos. Conforme a importância relativa dada a cada uma destas dimensões, podem ser definidas três estratégias possíveis para conduzir a MOO. Estas estratégias são as dirigidas por dados, por comportamento e por processos. A estratégia dirigida por processos já esta superada. Atualmente, a estratégia dirigida por dados domina na maioria das técnicas de MOO. A estratégia dirigida por comportamento propõe que a estrutura dos objetos em um sistema pode ser determinada a partir do comportamento externo e interno que o sistema deve apresentar. Esta idéia é interessante, porque permite introduzir tardiamente o encapsulamento na MOO. Conforme é argumentado neste trabalho, as vantagens atribuídas a orientação a objetos são de implementação, isto é, a decisão de orientar ou não a objetos é, na realidade, uma decisão de design. Ao introduzir o encapsulamento na modelagem inicial do sistema, ganha-se o benefício da continuidade estrutural ao custo de colocar a MOO mais perto do design. Neste contexto, este trabalho apresenta um processo de modelagem conceitual de sistemas do ponto de vista comportamental que introduz tardiamente o encapsulamento da orientação a objetos como primeiro passo de design. Em outras palavras, é proposta uma técnica de modelagem sob uma estratégia dirigida por comportamento (privilegiando, assim, o aspecto dinâmico dos sistemas) com o suficiente poder de expressão para, ao mesmo tempo, permitir a modelagem de sistemas de informação no nível conceitual e derivar dos modelos dinâmicos obtidos uma representação estrutural orientada a objetos. 0 sistema, na concepção desta proposta, é composto por um conjunto de processos concorrentes, cada um dos quais recebe um estimulo do ambiente, realiza um tratamento especifico sobre ele e gera para o ambiente uma resposta. Os estímulos externos são decompostos em conjuntos de eventos concorrentes tratados no interior do processo. As ações realizadas no interior do mesmo são compostas nas respostas geradas para o exterior. Os processos são modelados comportamentalmente, utilizando o formalismo proposto High-Level Statecharts (HLS). HLS é uma extensão dos statecharts de Harel. As principais extensões propostas são a introdução de estados "parametrizados" usando variáveis e a representação genérica de conjuntos de estados concorrentes e exclusivos. 0 modelo de processos e desintegrado em unidades de comportamento que tratam das mesmas variáveis. Estas unidades são integradas em um modelo de ciclos de vida para estas variáveis. Finalmente, apos a aplicação da técnica de modelagem conceitual, e obtido um modelo estrutural orientado a objetos. Este modelo e derivado utilizando unicamente informações contidas nos modelos dinâmicos gerados no processo da técnica proposta. No modelo estrutural são identificadas classes, objetos, atributos, associações estáticas, hierarquias de herança e operações. Todo o processo e exemplificado utilizando o problema padrão de preparação de congressos da IFIP. / Object-Oriented Modeling (OOM) is the process of construction of systems models, through an identification and definition of a set of relating objects. These objects have a collaborative behavior according to the system requirements previously defined. This definition includes three modeling aspects or dimensions: object structural dimension, behavior dynamic dimension and requirements functional dimension. Depending on a relative importance of each dimension, three possible strategies to drive OOM are defined. The strategies are: data-driven, behavior-driven and process-driven. Process-driven strategy is obsolete. Nowadays, data-driven is the dominant strategy in the world of OOM techniques. Behavior-driven strategy suggests both internal and external system behaviors define its object structure. This idea is attractive because it allows a late encapsulation in the OOM. As explained in this work, the main advantage to use object-orientation is for implementation. So, to object-orient or not to object-orient is a design decision. If encapsulation is introduced in the very beginning of systems modeling, the structural continuity is achieved at the cost of pulling OOM closer to design. In this context, the work presents a process of systems conceptual modeling using a behavioral point of view. This process introduces object-oriented encapsulation lately as a first step in the design phase. In other words, this work is a proposal of a modeling technique under a behavior-driven strategy (focusing the dynamic aspect of the systems) with enough expression power to model information systems at conceptual level and, at the same time, to derive of an object-oriented structural representation from the dynamic models. As conceived in the proposal, a system is composed by a set of concurrent processes. Each process receives a stimuli from the environment, makes a specific treatment on it and generates a response to the environment. The external stimuli is decomposed into a set of concurrent events which are internally handled by the process. Actions internally performed by the process are composed into a response which is sent outside the process. Processes are behaviorally modeled using a proposed formalism called High-Level Statecharts (HLS). HLS is a extension of Harel's statecharts. The main extensions proposed are parameterized states using variables and generic representation of concurrent and exclusive sets of states. Process model is disintegrated into behavior units handling the same variables. The units are integrated into a life cycle model for these variables. Finally, after the modeling technique has been applied, an object-oriented structural model is obtained. This model is derived exclusively using information from the dynamic models constructed during the modeling process. Classes, objects, attributes, static associations, inheritance hierarchies and operations in the structural model are identified. Examples used in all the modeling process are taken from the standard problem of IFIP conference.
|
28 |
Uma proposta de modelagem conceitual de sistemas dirigida por comportamento / A proposal of behavior-driven systems conceptual modelingBustos Reinoso, Guillermo January 1996 (has links)
A Modelagem Orientada a Objetos (MOO) é o processo de construção de modelos de sistemas através da identificação e definição de um conjunto de objetos relacionados, que comportam-se e colaboram entre si conforme os requisitos estabelecidos para o sistema. Esta definição inclui os três aspectos ortogonais, ou dimensões, deste tipo de modelagem: a dimensão estrutural dos objetos, a dimensão dinâmica do comportamento e a dimensão funcional dos requisitos. Conforme a importância relativa dada a cada uma destas dimensões, podem ser definidas três estratégias possíveis para conduzir a MOO. Estas estratégias são as dirigidas por dados, por comportamento e por processos. A estratégia dirigida por processos já esta superada. Atualmente, a estratégia dirigida por dados domina na maioria das técnicas de MOO. A estratégia dirigida por comportamento propõe que a estrutura dos objetos em um sistema pode ser determinada a partir do comportamento externo e interno que o sistema deve apresentar. Esta idéia é interessante, porque permite introduzir tardiamente o encapsulamento na MOO. Conforme é argumentado neste trabalho, as vantagens atribuídas a orientação a objetos são de implementação, isto é, a decisão de orientar ou não a objetos é, na realidade, uma decisão de design. Ao introduzir o encapsulamento na modelagem inicial do sistema, ganha-se o benefício da continuidade estrutural ao custo de colocar a MOO mais perto do design. Neste contexto, este trabalho apresenta um processo de modelagem conceitual de sistemas do ponto de vista comportamental que introduz tardiamente o encapsulamento da orientação a objetos como primeiro passo de design. Em outras palavras, é proposta uma técnica de modelagem sob uma estratégia dirigida por comportamento (privilegiando, assim, o aspecto dinâmico dos sistemas) com o suficiente poder de expressão para, ao mesmo tempo, permitir a modelagem de sistemas de informação no nível conceitual e derivar dos modelos dinâmicos obtidos uma representação estrutural orientada a objetos. 0 sistema, na concepção desta proposta, é composto por um conjunto de processos concorrentes, cada um dos quais recebe um estimulo do ambiente, realiza um tratamento especifico sobre ele e gera para o ambiente uma resposta. Os estímulos externos são decompostos em conjuntos de eventos concorrentes tratados no interior do processo. As ações realizadas no interior do mesmo são compostas nas respostas geradas para o exterior. Os processos são modelados comportamentalmente, utilizando o formalismo proposto High-Level Statecharts (HLS). HLS é uma extensão dos statecharts de Harel. As principais extensões propostas são a introdução de estados "parametrizados" usando variáveis e a representação genérica de conjuntos de estados concorrentes e exclusivos. 0 modelo de processos e desintegrado em unidades de comportamento que tratam das mesmas variáveis. Estas unidades são integradas em um modelo de ciclos de vida para estas variáveis. Finalmente, apos a aplicação da técnica de modelagem conceitual, e obtido um modelo estrutural orientado a objetos. Este modelo e derivado utilizando unicamente informações contidas nos modelos dinâmicos gerados no processo da técnica proposta. No modelo estrutural são identificadas classes, objetos, atributos, associações estáticas, hierarquias de herança e operações. Todo o processo e exemplificado utilizando o problema padrão de preparação de congressos da IFIP. / Object-Oriented Modeling (OOM) is the process of construction of systems models, through an identification and definition of a set of relating objects. These objects have a collaborative behavior according to the system requirements previously defined. This definition includes three modeling aspects or dimensions: object structural dimension, behavior dynamic dimension and requirements functional dimension. Depending on a relative importance of each dimension, three possible strategies to drive OOM are defined. The strategies are: data-driven, behavior-driven and process-driven. Process-driven strategy is obsolete. Nowadays, data-driven is the dominant strategy in the world of OOM techniques. Behavior-driven strategy suggests both internal and external system behaviors define its object structure. This idea is attractive because it allows a late encapsulation in the OOM. As explained in this work, the main advantage to use object-orientation is for implementation. So, to object-orient or not to object-orient is a design decision. If encapsulation is introduced in the very beginning of systems modeling, the structural continuity is achieved at the cost of pulling OOM closer to design. In this context, the work presents a process of systems conceptual modeling using a behavioral point of view. This process introduces object-oriented encapsulation lately as a first step in the design phase. In other words, this work is a proposal of a modeling technique under a behavior-driven strategy (focusing the dynamic aspect of the systems) with enough expression power to model information systems at conceptual level and, at the same time, to derive of an object-oriented structural representation from the dynamic models. As conceived in the proposal, a system is composed by a set of concurrent processes. Each process receives a stimuli from the environment, makes a specific treatment on it and generates a response to the environment. The external stimuli is decomposed into a set of concurrent events which are internally handled by the process. Actions internally performed by the process are composed into a response which is sent outside the process. Processes are behaviorally modeled using a proposed formalism called High-Level Statecharts (HLS). HLS is a extension of Harel's statecharts. The main extensions proposed are parameterized states using variables and generic representation of concurrent and exclusive sets of states. Process model is disintegrated into behavior units handling the same variables. The units are integrated into a life cycle model for these variables. Finally, after the modeling technique has been applied, an object-oriented structural model is obtained. This model is derived exclusively using information from the dynamic models constructed during the modeling process. Classes, objects, attributes, static associations, inheritance hierarchies and operations in the structural model are identified. Examples used in all the modeling process are taken from the standard problem of IFIP conference.
|
29 |
Intelligent Data Layer: : An approach to generating data layer from normalized database model.Buzo, Amir January 2012 (has links)
Model View Controller (MVC) software architecture is widely spread and commonly used in application’s development. Therefore generation of data layer for the database model is able to reduce cost and time. After research on current Object Relational Mapping (ORM) tools, it was discovered that there are generating tools like Data Access Object (DAO) and Hibernate, however their usage causes problems like inefficiency and slow performance due to many connections with database and set up time. Most of these tools are trying to solve specific problems rather than generating a data layer which is an important component and the bottom layer of database centred applications. The proposed solution to the problem is an engineering approach where we have designed a tool named Generated Intelligent Data Layer (GIDL). GIDL tool generates small models which create the main data layer of the system according to the Database Model. The goal of this tool is to enable and allow software developers to work only with object without deep knowledge in SQL. The problem of transaction and commit is solved by the tool. Also filter objects are constructed for filtering the database. GIDL tool reduced the number of connections and also have a cache where to store object lists and modify them. The tool is compared under the same environment with Hibernate and showed a better performance in terms of time evaluations for the same functions. GIDL tool is beneficial for software developers, because it generates the entire data layer.
|
30 |
Identificação e visualização de dependências em sistemas de software orientados a objetos / Identification and Visualization of Dependencies in Object-Oriented Software SystemsGustavo Ansaldi Oliva 22 September 2011 (has links)
Degradação do design é um problema central investigado na área de evolução de software. A densa rede de interdependências que emerge entre classes e módulos ao longo do tempo resulta em código difícil de mudar, não reutilizável e que não comunica por si só sua intenção. Dentre outros motivos, designs degradam porque requisitos mudam de maneiras não antecipadas pelo design inicial, ou seja, as modificações no código introduzem dependências novas e não planejadas entre classes e módulos do sistema. A gerência de dependências visa reduzir a degradação do design por meio de uma série de mecanismos que auxiliam na administração da complexidade estrutural inerente de sistemas orientados a objetos. Neste trabalho, investigamos as técnicas de identificação de dependências estruturais e lógicas. Em particular, por meio de um estudo de larga escala, comparamos os conjuntos desses dois tipos de dependências. Em seguida, conduzimos um estudo de caso a fim de identificar as origens de dependências lógicas. Por fim, fazemos um levantamento das técnicas de visualização de dependências e mostramos a ferramenta XFlow. / Design degradation is a central problem investigated in the area of software evolution. The dense web of interdependencies that emerges among classes and modules over time results in code that is hard to change, not reusable and that does not communicate its intention. Among other reasons, designs degrade because requirements changes in ways that were not anticipated by the initial design, i.e. the changes in code introduce new and unplanned dependencies among classes and modules of the system. Dependency management aims to reduce design degradation by means of a series of mechanisms that helps in the management of the inherent structural complexity of object oriented systems. In this work, we investigate structural and logical dependencies identification techniques. In particular, by means of a large scale study, we compare the sets of these two kinds of dependencies. Afterwards, we conduct a case study in order to uncover the origins of logical dependencies. Finally, we survey dependency visualization techniques and present the XFlow tool.
|
Page generated in 0.0622 seconds