Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encourages users to overwhelm us with requests for features. The result: featuritis, which prom...
详细信息
ISBN:
(纸本)9781450302401
Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encourages users to overwhelm us with requests for features. The result: featuritis, which promotes hasty construction of poorly designed software to support those features. The design of an expressive domain model might get lost in the rush to write working code. Adaptive object-Models support changeable domain modules by casting business rules as interpreted data and representing objects, properties and relationships in external declarations. Now users can change the system domain models themselves as their business dictates without having to deal with programmers at all. It's the ultimate in agility!
In objectoriented systems, the design phase can be modeled using the three diagrams: Sequence diagram (which depicts responses of all objects that are involved in a single use case), Class Diagram (which is used to d...
详细信息
ISBN:
(纸本)9781450305327
In objectoriented systems, the design phase can be modeled using the three diagrams: Sequence diagram (which depicts responses of all objects that are involved in a single use case), Class Diagram (which is used to depict the structural aspect of design) and State chart diagram (which is used to depicts the states and state dependent behavior for objects). In this paper, we have proposed a framework for verification of these diagrams, which includes syntactic correctness and inter-diagram consistency. This is done by proposing Context Free Grammar for the three diagrams. The proposed grammar is validated by using Lex and Yacc and parse tree is generated which is an alternate form of the grammar. This framework, being built based on a formal approach, would enable us to automate the process of correctness and consistency verification among the diagrams used in design phase. This would also help us in ensuring requirement traceability on the long run. Copyright 2010 ACM.
Mainstream object-oriented languages such as Java and C#, through the use of object-oriented abstractions and managed runtimes (virtual machines), have significantly improved productivity and portability in multiple a...
详细信息
Meta-architectures, also known as reective architectures, are a specific type of software architectures that are able to inspect their own structure and behavior, and dynamically adapt at runtime, thus responding to n...
详细信息
ISBN:
(纸本)9781450301077
Meta-architectures, also known as reective architectures, are a specific type of software architectures that are able to inspect their own structure and behavior, and dynamically adapt at runtime, thus responding to new user requirements or changes in their environment. In object-orientedprogramming, these architectures rely on a small set of core concepts that provide them the means to describe themselves, thus becoming"closed". These three core patterns can be found in almost every object-oriented meta-architecture: Everything is a Thing, Closing the Roof, and Bootstrapping. By delving into the inherent problems they try to solve, and the forces that shape those problems, a developer will improve his ability to adequately make architectural and design choices to build and evolve systems with high-adaptability needs.
We present a framework that provides concurrency-enhanced versions of the GOF object-oriented design patterns. The main benefit of our work is that if programmers improve program modularity by applying standard GOF de...
详细信息
ISBN:
(纸本)9781450302401
We present a framework that provides concurrency-enhanced versions of the GOF object-oriented design patterns. The main benefit of our work is that if programmers improve program modularity by applying standard GOF design patterns while using the reusable pattern implementations from our framework, they receive implicit concurrency for free.
Generics (also known as templates) have become a standard feature of modern programming languages, offering parameterization by data types and possibly other entities. Generics support efficient type-safe container da...
详细信息
This article describes the design and implementation of named and default arguments in the Scala programming language. While these features are available in many other languages there are significant differences in th...
详细信息
In the field of J2EE, MVC framework exists crosscutting concerns across multiple modules (e.g. logging, validation, transaction etc.) causing the code scattering and code confusion and making the system difficult to m...
详细信息
In addition to traditional object-oriented (OO) concepts such as inheritance and polymorphism, several modularization and composition mechanisms like e.g. traits, mixins and virtual classes have emerged. The Package T...
详细信息
Environmental modeling frameworks support scientific model development by providing an Application programming Interface (API) which model developers use to implement models. This paper presents results of an investig...
详细信息
ISBN:
(纸本)9788890357411
Environmental modeling frameworks support scientific model development by providing an Application programming Interface (API) which model developers use to implement models. This paper presents results of an investigation on the framework invasiveness of environmental modeling frameworks. Invasiveness is defined as the quantity of dependencies between model code and the modeling framework. This research investigates relationships between invasiveness and the quality of modeling code. Additionally, we investigate the relationship between invasiveness and two common framework designs (lightweight vs. heavyweight). Five metrics to measure framework invasiveness were proposed and applied to measure invasiveness between model and framework code of several implementations of Thornthwaite and the Precipitation-Runoff Modeling System (PRMS), two hydrological models. Framework invasiveness measurements were compared with existing software metrics including size (lines of code), cyclomatic complexity, and object-oriented coupling with generally positive correlations being found. We found that models with lower framework invasiveness tended to be smaller, less complex, and have lower coupling. In addition, the lightweight framework implementations of the Thornthwaite and PRMS models were less invasive than the heavyweight framework model implementations. Our initial results suggest that framework invasiveness is undesirable for model code quality and that lightweight frameworks may help reduce invasiveness.
暂无评论